about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog188
-rw-r--r--FAQ43
-rw-r--r--Makefile4
-rw-r--r--bits/confname.h8
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure164
-rw-r--r--configure.in14
-rw-r--r--db2/Makefile4
-rw-r--r--db2/btree/bt_cursor.c62
-rw-r--r--db2/btree/bt_delete.c15
-rw-r--r--db2/btree/bt_put.c131
-rw-r--r--db2/btree/bt_search.c14
-rw-r--r--db2/btree/bt_split.c9
-rw-r--r--db2/btree/btree_auto.c8
-rw-r--r--db2/common/db_appinit.c21
-rw-r--r--db2/common/db_apprec.c29
-rw-r--r--db2/common/db_err.c12
-rw-r--r--db2/common/db_region.c23
-rw-r--r--db2/config.h3
-rw-r--r--db2/db.h54
-rw-r--r--db2/db/db_auto.c8
-rw-r--r--db2/db/db_dispatch.c31
-rw-r--r--db2/db/db_ret.c33
-rw-r--r--db2/db_int.h3
-rw-r--r--db2/dbm/dbm.c27
-rw-r--r--db2/hash/hash_auto.c8
-rw-r--r--db2/include/btree_ext.h2
-rw-r--r--db2/include/common_ext.h2
-rw-r--r--db2/include/db.h.src54
-rw-r--r--db2/include/db_cxx.h4
-rw-r--r--db2/include/db_ext.h1
-rw-r--r--db2/include/db_int.h.src3
-rw-r--r--db2/include/lock.h8
-rw-r--r--db2/include/log.h23
-rw-r--r--db2/include/mp.h23
-rw-r--r--db2/include/mp_ext.h6
-rw-r--r--db2/include/os_ext.h4
-rw-r--r--db2/include/os_func.h6
-rw-r--r--db2/lock/lock.c90
-rw-r--r--db2/lock/lock_deadlock.c5
-rw-r--r--db2/log/log.c4
-rw-r--r--db2/log/log_archive.c10
-rw-r--r--db2/log/log_auto.c2
-rw-r--r--db2/log/log_get.c33
-rw-r--r--db2/log/log_put.c106
-rw-r--r--db2/mp/mp_bh.c92
-rw-r--r--db2/mp/mp_fget.c114
-rw-r--r--db2/mp/mp_fopen.c224
-rw-r--r--db2/mp/mp_fput.c6
-rw-r--r--db2/mp/mp_fset.c29
-rw-r--r--db2/mp/mp_open.c13
-rw-r--r--db2/mp/mp_pr.c39
-rw-r--r--db2/mp/mp_region.c27
-rw-r--r--db2/mp/mp_sync.c32
-rw-r--r--db2/mutex/README8
-rw-r--r--db2/mutex/mutex.c16
-rw-r--r--db2/os/os_config.c (renamed from db2/os/os_func.c)131
-rw-r--r--db2/os/os_open.c7
-rw-r--r--db2/os/os_spin.c56
-rw-r--r--db2/txn/txn.c51
-rw-r--r--db2/txn/txn_auto.c2
-rw-r--r--iconv/gconv.h3
-rw-r--r--iconv/gconv_conf.c7
-rw-r--r--iconvdata/.cvsignore14
-rw-r--r--iconvdata/8bit-gap.c250
-rw-r--r--iconvdata/8bit-generic.c (renamed from iconvdata/iso8859-generic.c)24
-rw-r--r--iconvdata/Makefile109
-rwxr-xr-xiconvdata/configure5
-rw-r--r--iconvdata/ebcdic-at-de-a.c24
-rw-r--r--iconvdata/ebcdic-at-de.c24
-rw-r--r--iconvdata/ebcdic-ca-fr.c24
-rw-r--r--iconvdata/gap.pl16
-rw-r--r--iconvdata/gaptab.pl25
-rw-r--r--iconvdata/gconv-modules41
-rw-r--r--iconvdata/hp-roman8.c24
-rw-r--r--iconvdata/iso6937.c4
-rw-r--r--iconvdata/iso8859-1.c3
-rw-r--r--iconvdata/iso8859-10.c2
-rw-r--r--iconvdata/iso8859-10.h516
-rw-r--r--iconvdata/iso8859-2.c2
-rw-r--r--iconvdata/iso8859-2.h516
-rw-r--r--iconvdata/iso8859-3.c2
-rw-r--r--iconvdata/iso8859-3.h502
-rw-r--r--iconvdata/iso8859-4.c2
-rw-r--r--iconvdata/iso8859-4.h516
-rw-r--r--iconvdata/iso8859-5.c2
-rw-r--r--iconvdata/iso8859-5.h516
-rw-r--r--iconvdata/iso8859-6.c2
-rw-r--r--iconvdata/iso8859-6.h426
-rw-r--r--iconvdata/iso8859-7.c2
-rw-r--r--iconvdata/iso8859-7.h504
-rw-r--r--iconvdata/iso8859-8.c2
-rw-r--r--iconvdata/iso8859-8.h440
-rw-r--r--iconvdata/iso8859-9.c2
-rw-r--r--iconvdata/iso8859-9.h516
-rw-r--r--iconvdata/jis0201.c58
-rw-r--r--iconvdata/jis0201.h60
-rw-r--r--iconvdata/jis0208.c5011
-rw-r--r--iconvdata/jis0208.h104
-rw-r--r--iconvdata/jis0212.c3941
-rw-r--r--iconvdata/jis0212.h107
-rw-r--r--iconvdata/koi-8.c24
-rw-r--r--iconvdata/koi8-r.c24
-rw-r--r--iconvdata/koi8-r.h320
-rw-r--r--iconvdata/latin-greek-1.c24
-rw-r--r--iconvdata/latin-greek-1.h158
-rw-r--r--iconvdata/latin-greek.c24
-rw-r--r--iconvdata/latin-greek.h156
-rw-r--r--iconvdata/sjis.c4276
-rw-r--r--iconvdata/t61.c4
-rw-r--r--libio/stdio.h2
-rw-r--r--locale/programs/charmap.c54
-rw-r--r--manual/Makefile6
-rw-r--r--math/libm-test.c286
-rw-r--r--misc/sys/syslog.h25
-rw-r--r--posix/sys/wait.h2
-rw-r--r--sysdeps/alpha/__longjmp.S2
-rw-r--r--sysdeps/alpha/setjmp.S2
-rw-r--r--sysdeps/generic/bits/confname.h8
-rw-r--r--sysdeps/libm-ieee754/s_ctan.c6
-rw-r--r--sysdeps/libm-ieee754/s_ctanf.c6
-rw-r--r--sysdeps/libm-ieee754/s_ctanl.c6
-rw-r--r--sysdeps/posix/getcwd.c7
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_termios.h2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h6
-rw-r--r--sysdeps/unix/sysv/linux/getcwd.c2
-rw-r--r--sysdeps/unix/sysv/linux/net/if_arp.h8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios.h17
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/sys/module.h61
-rw-r--r--wcsmbs/wcrtomb.c1
135 files changed, 16672 insertions, 5356 deletions
diff --git a/ChangeLog b/ChangeLog
index e512253cb5..bd36132a93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,189 @@
+1997-12-01 17:27  Ulrich Drepper  <drepper@cygnus.com>
+
+	* Makefile (subdirs): Add iconvdata and localedata.
+
+	* iconv/gconv.h: Define UNKNOWN_10646_CHAR as error value.
+
+	* iconv/gconv_conf.c (read_conf_file): Little optimization.
+
+	* iconvdata/8bit-gap.c: New file.
+	* iconvdata/8bit-generic.c: Renamed from ...
+	* iconvdata/iso8859-generic.c: ...this.
+	* iconvdata/configure: Removed.
+	* iconvdata/Makefile: Add new modules and better rules.
+	* iconvdata/iso6937.c: Minor bug fixes.
+	* iconvdata/iso8859-1.c: Likewise.
+	* iconvdata/t61.c: Likewise.
+	* iconvdata/iso8859-2.c: Change to use 8bit-generic.c.
+	Minor bug fixes.
+	* iconvdata/iso8859-3.c: Likewise.
+	* iconvdata/iso8859-4.c: Likewise.
+	* iconvdata/iso8859-5.c: Likewise.
+	* iconvdata/iso8859-6.c: Likewise.
+	* iconvdata/iso8859-7.c: Likewise.
+	* iconvdata/iso8859-8.c: Likewise.
+	* iconvdata/iso8859-9.c: Likewise.
+	* iconvdata/iso8859-10.c: Likewise.
+	* iconvdata/ebcdic-at-de-a.c: New file.
+	* iconvdata/ebcdic-at-de.c: New file.
+	* iconvdata/ebcdic-ca-fr.c: New file.
+	* iconvdata/hp-roman8.c: New file.
+	* iconvdata/koi-8.c: New file.
+	* iconvdata/koi8-r.c: New file.
+	* iconvdata/koi8-h.c: New file.
+	* iconvdata/latin-greek-1.c: New file.
+	* iconvdata/latin-greek-1.h: New file.
+	* iconvdata/latin-greek.c: New file.
+	* iconvdata/latin-greek.h: New file.
+	* iconvdata/jis0201.c: New file.
+	* iconvdata/jis0201.h: New file.
+	* iconvdata/jis0208.c: New file.
+	* iconvdata/jis0208.h: New file.
+	* iconvdata/jis0212.c: New file.
+	* iconvdata/jis0212.h: New file.
+	* iconvdata/sjis.c: New file.
+	* iconvdata/gap.pl: New file.  Script to generate table header.
+	* iconvdata/gaptab.pl: New file.
+	* iconvdata/gconv-modules: Add info about new modules.
+
+	* locale/programs/charmap.c: Also examine alias names given in charmap
+	files.
+
+	* localedata/*: Add to here from add-on.  We need the information
+	to generate tables for iconv.
+
+	Update from db-2.3.14.
+	* db2/Makefile: Updated.
+	* db2/config.h: Likewise.
+	* db2/db.h: Likewise.
+	* db2/db_int.h: Likewise.
+	* db2/btree/bt_cursor.c: Likewise.
+	* db2/btree/bt_delete.c: Likewise.
+	* db2/btree/bt_put.c: Likewise.
+	* db2/btree/bt_search.c: Likewise.
+	* db2/btree/bt_split.c: Likewise.
+	* db2/btree/btree_auto.c: Likewise.
+	* db2/common/db_appinit.c: Likewise.
+	* db2/common/db_apprec.c: Likewise.
+	* db2/common/db_err.c: Likewise.
+	* db2/common/db_region.c: Likewise.
+	* db2/db/db_auto.c: Likewise.
+	* db2/db/db_dispatch.c: Likewise.
+	* db2/db/db_ret.c: Likewise.
+	* db2/dbm/dbm.c: Likewise.
+	* db2/hash/hash_auto.c: Likewise.
+	* db2/include/btree_ext.h: Likewise.
+	* db2/include/common_ext.h: Likewise.
+	* db2/include/db.h.src: Likewise.
+	* db2/include/db_cxx.h: Likewise.
+	* db2/include/db_ext.h: Likewise.
+	* db2/include/db_int.h.src: Likewise.
+	* db2/include/lock.h: Likewise.
+	* db2/include/log.h: Likewise.
+	* db2/include/mp.h: Likewise.
+	* db2/include/mp_ext.h: Likewise.
+	* db2/include/os_ext.h: Likewise.
+	* db2/include/os_func.h: Likewise.
+	* db2/lock/lock.c: Likewise.
+	* db2/lock/lock_deadlock.c: Likewise.
+	* db2/log/log.c: Likewise.
+	* db2/log/log_archive.c: Likewise.
+	* db2/log/log_auto.c: Likewise.
+	* db2/log/log_get.c: Likewise.
+	* db2/log/log_put.c: Likewise.
+	* db2/mp/mp_bh.c: Likewise.
+	* db2/mp/mp_fget.c: Likewise.
+	* db2/mp/mp_fopen.c: Likewise.
+	* db2/mp/mp_fput.c: Likewise.
+	* db2/mp/mp_fset.c: Likewise.
+	* db2/mp/mp_open.c: Likewise.
+	* db2/mp/mp_pr.c: Likewise.
+	* db2/mp/mp_region.c: Likewise.
+	* db2/mp/mp_sync.c: Likewise.
+	* db2/mutex/README: Likewise.
+	* db2/mutex/mutex.c: Likewise.
+	* db2/os/os_open.c: Likewise.
+	* db2/os/os_func.c: Removed.
+	* db2/os/os_config.c: New file.
+	* db2/os/os_spin.c: New file.
+	* db2/txn/txn.c: Likewise.
+	* db2/txn/txn_auto.c: Likewise.
+
+1997-11-30 06:01  Ulrich Drepper  <drepper@cygnus.com>
+
+	* posix/sys/wait.h (__WAIT_INT): Don't use complex version with
+	__typeof for C++ since this fails for class members.
+	Reported by Neal Becker <neal@ctd.comsat.com>.
+
+1997-11-28 11:21  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+	* configure.in: Check for a working makeinfo (3.11 or better).
+	* config.make.in: Add MAKEINFO to be substituted.
+	* manual/Makefile: Don't update info if makeinfo is too old.
+
+1997-11-30 05:21  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/alpha/setjmp.S: Define _ASM and _SETJMP_H to get definitions.
+	* sysdeps/alpha/__longjmp.S: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/kernel_termios.h: Include <termios.h>
+	not <bits/termios.h>.
+
+	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Define syscall as
+	__llseek and make llseek and lseek64 weak aliases.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
+	Patches by a sun <asun@zoology.washington.edu>.
+
+1997-11-29 19:19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+	* misc/sys/syslog.h: Delete KERNEL preprocessor conditional.
+	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise.
+	* misc/sys/syslog.h: Clean up BSD header.
+
+1997-11-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/unix/sysv/linux/bits/in.h: Add changes from Linux 2.1.67.
+
+	* sysdeps/libm-ieee754/s_ctan.c (__ctan): Raise invalid exception
+	for ctan(+-inf,x).
+	* sysdeps/libm-ieee754/s_ctanl.c (__ctanl): Likewise.
+	* sysdeps/libm-ieee754/s_ctanf.c (__ctanf): Likewise.
+
+	* math/libm-test.c (csqrt_test): Add tests for cabs, carg, ctan,
+	csqrt (-1), ctanh(i*pi/4).
+
+1997-11-26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* sysdeps/generic/bits/confname.h: Fix comma in enumerator.
+
+1997-11-28 13:28  Philip Blundell  <Philip.Blundell@pobox.com>
+
+	* sysdeps/unix/sysv/linux/net/if_arp.h: Add more ARPHRD_ constants.
+
+1997-11-26  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* wcsmbs/wcrtomb.c (__wcrtomb): Remove unused variable fake.
+
+1997-11-26 21:28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* sysdeps/posix/getcwd.c (GETCWD_STORYGE_CLASS): Remove definition
+	and use.  Define GETCWD_RETURN_TYPE instead and use it.
+	* sysdeps/unix/sysv/linux/getcwd.c: Define GETCWD_RETURN_TYPE instead
+	of GETCWD_STORYGE_CLASS and put the return type and the
+	`internal_function' in the right order for gcc 2.7.2.
+
+1997-11-26  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/unix/sysv/linux/sys/module.h: Remove file.  It's
+	incompatible with Linux 2.1.x.  Packages using modules
+	(e.g. modutils) should/do provide their own version.  Suggested by
+	Richard Henderson.
+
+	* sysdeps/unix/sysv/linux/Dist: Remove sys/module.h.
+
+	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers)
+	[$(subdir)=socket]: Remove sys/module.h.
+
 1997-11-26 04:28  Ulrich Drepper  <drepper@cygnus.com>
 
 	* eld/dl-profile.c (_dl_start_profile): Avoid FP calculation when
@@ -225,7 +411,7 @@
 
 1997-11-25  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
-	* libio/stdio.h: Correct comment of sys_nerr/sys_errlist
+	* libio/stdio.h: Correct comment of sys_nerr/sys_errlist.
 
 1997-11-25  Paul Eggert  <eggert@shade.twinsun.com>
 
diff --git a/FAQ b/FAQ
index c2e23ad9e3..c555488f4f 100644
--- a/FAQ
+++ b/FAQ
@@ -113,6 +113,9 @@ please let me know.
 [Q31]	``What's the problem with configure --enable-omitfp?''
 
 [Q32]	``Why don't signals interrupt system calls anymore?''
+
+[Q33]	``I've got errors compiling code that uses certain string
+	  functions.  Why?''
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
 [Q1]	``What systems does the GNU C Library run on?''
@@ -812,7 +815,7 @@ happen.  So in case of doubt report such a warning message as a problem.
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
 [Q31]	``What's the problem with configure --enable-omitfp?''
 
-{AJ} When configuring with --enable-omitfp the libraries are build
+[A31] {AJ} When configuring with --enable-omitfp the libraries are build
 without frame pointers. Some compilers produce in this situation buggy
 code and therefore we don't advise using it at the moment.
 
@@ -870,6 +873,44 @@ siginterrupt().
 
 
 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+[Q33]	``I've got errors compiling code that uses certain string
+	  functions.  Why?''
+
+[A33] {AJ} glibc 2.1 has the much asked for optimized string
+functions that are faster than the normal library functions. Some of
+the functions are implemented as inline functions and others as
+macros.
+The optimized string functions are only used when compiling with
+optimizations (-O1 or higher). The behaviour can be changed with two
+feature macros:
+* __NO_STRING_INLINES: Don't use string optimizations.
+* __USE_STRING_INLINES: Use also assembler inline functions (might
+  increase code use dramatically).
+
+Since some of these string functions are now additionally defined as
+macros, code like "char *strncpy();" doesn't work anymore (and is even
+unneccessary since <string.h> has the necessary declarations). Either
+change your code or define __NO_STRING_INLINES.
+
+{UD} Another problem in this area is that the gcc still has problems on
+machines with very few registers (e.g., ix86).  The inline assembler
+code sometimes requires many/all registers and the register allocator
+cannot handle these situation in all cases.
+
+If a function is also defined as a macro in the libc headers one can prevent
+the use of the macro easily.  E.g., instead of
+
+	cp = strcpy (foo, "lkj");
+
+one can write
+
+	cp = (strcpy) (foo, "lkj");
+
+Using this method one can avoid using the optimizations for selected
+function calls.
+
+
+~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
 
 Answers were given by:
 {UD} Ulrich Drepper, <drepper@cygnus.com>
diff --git a/Makefile b/Makefile
index 50e29d1d66..559c968858 100644
--- a/Makefile
+++ b/Makefile
@@ -54,8 +54,8 @@ endif
 subdirs = csu assert ctype db2 locale intl catgets math setjmp signal stdlib \
 	  stdio-common $(stdio) malloc string wcsmbs time dirent grp pwd \
 	  posix io termios resource misc socket sysvipc gmon gnulib iconv \
-	  wctype manual shadow md5-crypt po argp $(add-ons) nss \
-	  $(sysdep-subdirs) $(binfmt-subdir)
+	  iconvdata wctype manual shadow md5-crypt po argp $(add-ons) nss \
+	  localedata $(sysdep-subdirs) $(binfmt-subdir)
 export subdirs := $(subdirs)	# Benign, useless in GNU make before 3.63.
 
 # The mach and hurd subdirectories have many generated header files which
diff --git a/bits/confname.h b/bits/confname.h
index 4653887468..3991fb1df4 100644
--- a/bits/confname.h
+++ b/bits/confname.h
@@ -326,11 +326,12 @@ enum
 /* Values for the NAME argument to `confstr'.  */
 enum
   {
-    _CS_PATH,			/* The default search path.  */
+    _CS_PATH			/* The default search path.  */
 #define _CS_PATH		_CS_PATH
 
 #if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
      || defined __USE_LARGEFILE)
+    ,
     _CS_LFS_CFLAGS = 1000,
 # define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS
     _CS_LFS_LDFLAGS,
@@ -345,11 +346,12 @@ enum
 # define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS
     _CS_LFS64_LIBS,
 # define _CS_LFS64_LIBS		_CS_LFS64_LIBS
-    _CS_LFS64_LINTFLAGS,
+    _CS_LFS64_LINTFLAGS
 # define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS
 #endif
 
 #ifdef __USE_UNIX98
+    ,
     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
 # define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
     _CS_XBS5_ILP32_OFF32_LDFLAGS,
@@ -380,7 +382,7 @@ enum
 # define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
     _CS_XBS5_LPBIG_OFFBIG_LIBS,
 # define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
-    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
+    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 # define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 #endif
   };
diff --git a/config.make.in b/config.make.in
index 6fefeaade3..659ff409ce 100644
--- a/config.make.in
+++ b/config.make.in
@@ -56,6 +56,7 @@ BUILD_CC = @BUILD_CC@
 CFLAGS = @CFLAGS@
 AR = @AR@
 RANLIB = @RANLIB@
+MAKEINFO = @MAKEINFO@
 AS = $(CC) -c
 
 # Installation tools.
diff --git a/configure b/configure
index 194bee3755..b4e7aec313 100755
--- a/configure
+++ b/configure
@@ -1180,11 +1180,50 @@ test -n "$MSGFMT" && break
 done
 test -n "$MSGFMT" || MSGFMT=":"
 
+# Extract the first word of "makeinfo", so it can be a program name with args.
+set dummy makeinfo; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1187: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MAKEINFO"; then
+  ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_MAKEINFO="makeinfo"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+MAKEINFO="$ac_cv_prog_MAKEINFO"
+if test -n "$MAKEINFO"; then
+  echo "$ac_t""$MAKEINFO" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test "$MAKEINFO"; then
+  if $MAKEINFO --version | grep 'texinfo 3\.[1-9][1-9]' >/dev/null 2>&1
+  then : # Makeinfo 3.11 or greater, works.
+  else
+    echo "configure: warning: 
+*** makeinfo is too old (need version 3.11 or better).
+*** You should install the needed version and re-configure since otherwise
+*** you won't get the info pages installed." 1>&2
+    MAKEINFO=
+  fi
+fi
 
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1188: checking for $ac_word" >&5
+echo "configure:1227: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1213,7 +1252,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1217: checking for $ac_word" >&5
+echo "configure:1256: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1261,7 +1300,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1265: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1304: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1271,11 +1310,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1275 "configure"
+#line 1314 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1298,13 +1337,13 @@ else
  cross_linkable=yes
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1302: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1341: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1308: checking whether we are using GNU C" >&5
+echo "configure:1347: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1313,7 +1352,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1330,7 +1369,7 @@ if test $ac_cv_prog_gcc = yes; then
   yes;
 #endif
 EOF
-  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     if test -z "$CFLAGS"; then
       CFLAGS="-g -O2"
     fi
@@ -1342,7 +1381,7 @@ else
 fi
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1346: checking build system type" >&5
+echo "configure:1385: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1365,7 +1404,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1369: checking for $ac_word" >&5
+echo "configure:1408: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1396,7 +1435,7 @@ done
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1400: checking how to run the C preprocessor" >&5
+echo "configure:1439: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1411,13 +1450,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1415 "configure"
+#line 1454 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1428,13 +1467,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1432 "configure"
+#line 1471 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1467,7 +1506,7 @@ LD=`$CC -print-file-name=ld`
 
 # Determine whether we are using GNU binutils.
 echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
-echo "configure:1471: checking whether $AS is GNU as" >&5
+echo "configure:1510: checking whether $AS is GNU as" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1485,7 +1524,7 @@ rm -f a.out
 gnu_as=$libc_cv_prog_as_gnu
 
 echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
-echo "configure:1489: checking whether $LD is GNU ld" >&5
+echo "configure:1528: checking whether $LD is GNU ld" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1509,7 +1548,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1513: checking for $ac_word" >&5
+echo "configure:1552: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1540,7 +1579,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1544: checking for $ac_word" >&5
+echo "configure:1583: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1571,7 +1610,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1575: checking for $ac_word" >&5
+echo "configure:1614: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1606,7 +1645,7 @@ fi
 # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1610: checking for $ac_word" >&5
+echo "configure:1649: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1648,7 +1687,7 @@ if test "$BASH" = no; then
   # Extract the first word of "ksh", so it can be a program name with args.
 set dummy ksh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1652: checking for $ac_word" >&5
+echo "configure:1691: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1694,7 +1733,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1698: checking for $ac_word" >&5
+echo "configure:1737: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1729,7 +1768,7 @@ test -n "$PERL" || PERL="no"
 
 
 echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
-echo "configure:1733: checking for signed size_t type" >&5
+echo "configure:1772: checking for signed size_t type" >&5
 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1753,12 +1792,12 @@ EOF
 fi
 
 echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
-echo "configure:1757: checking for libc-friendly stddef.h" >&5
+echo "configure:1796: checking for libc-friendly stddef.h" >&5
 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1762 "configure"
+#line 1801 "configure"
 #include "confdefs.h"
 #define __need_size_t
 #define __need_wchar_t
@@ -1773,7 +1812,7 @@ size_t size; wchar_t wchar;
 if (&size == NULL || &wchar == NULL) abort ();
 ; return 0; }
 EOF
-if { (eval echo configure:1777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_friendly_stddef=yes
 else
@@ -1792,7 +1831,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
 fi
 
 echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
-echo "configure:1796: checking whether we need to use -P to assemble .S files" >&5
+echo "configure:1835: checking whether we need to use -P to assemble .S files" >&5
 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1823,7 +1862,7 @@ if test $ac_cv_prog_gcc = yes; then
   # We must check this even if -pipe is not given here, because the user
   # might do `make CFLAGS=-pipe'.
   echo $ac_n "checking for gcc 2.7.x -pipe bug""... $ac_c" 1>&6
-echo "configure:1827: checking for gcc 2.7.x -pipe bug" >&5
+echo "configure:1866: checking for gcc 2.7.x -pipe bug" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_pipe_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1852,7 +1891,7 @@ else
 fi
 
 echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
-echo "configure:1856: checking for assembler global-symbol directive" >&5
+echo "configure:1895: checking for assembler global-symbol directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1882,7 +1921,7 @@ EOF
 fi
 
 echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
-echo "configure:1886: checking for .set assembler directive" >&5
+echo "configure:1925: checking for .set assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1916,7 +1955,7 @@ EOF
 fi
 
 echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
-echo "configure:1920: checking for .symver assembler directive" >&5
+echo "configure:1959: checking for .symver assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1935,7 +1974,7 @@ fi
 
 echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
 echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
-echo "configure:1939: checking for ld --version-script" >&5
+echo "configure:1978: checking for ld --version-script" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1958,7 +1997,7 @@ EOF
     if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
 					-nostartfiles -nostdlib
 					-Wl,--version-script,conftest.map
-		       1>&5'; { (eval echo configure:1962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+		       1>&5'; { (eval echo configure:2001: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
     then
       libc_cv_ld_version_script_option=yes
     else
@@ -1996,7 +2035,7 @@ if test $VERSIONING = no; then
 fi
 if test $elf = yes; then
   echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
-echo "configure:2000: checking for .previous assembler directive" >&5
+echo "configure:2039: checking for .previous assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2004,7 +2043,7 @@ else
 .section foo_section
 .previous
 EOF
-  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2047: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_asm_previous_directive=yes
   else
     libc_cv_asm_previous_directive=no
@@ -2020,7 +2059,7 @@ EOF
 
   else
     echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
-echo "configure:2024: checking for .popsection assembler directive" >&5
+echo "configure:2063: checking for .popsection assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2028,7 +2067,7 @@ else
 .pushsection foo_section
 .popsection
 EOF
-    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
       libc_cv_asm_popsection_directive=yes
     else
       libc_cv_asm_popsection_directive=no
@@ -2048,12 +2087,12 @@ fi
 
 if test $elf != yes; then
   echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:2052: checking for .init and .fini sections" >&5
+echo "configure:2091: checking for .init and .fini sections" >&5
 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2057 "configure"
+#line 2096 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2062,7 +2101,7 @@ asm (".section .init");
 				    asm (".text");
 ; return 0; }
 EOF
-if { (eval echo configure:2066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_have_initfini=yes
 else
@@ -2090,19 +2129,19 @@ if test $elf = yes; then
 else
   if test $ac_cv_prog_cc_works = yes; then
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2094: checking for _ prefix on C symbol names" >&5
+echo "configure:2133: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2099 "configure"
+#line 2138 "configure"
 #include "confdefs.h"
 asm ("_glibc_foobar:");
 int main() {
 glibc_foobar ();
 ; return 0; }
 EOF
-if { (eval echo configure:2106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   libc_cv_asm_underscores=yes
 else
@@ -2117,17 +2156,17 @@ fi
 echo "$ac_t""$libc_cv_asm_underscores" 1>&6
   else
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2121: checking for _ prefix on C symbol names" >&5
+echo "configure:2160: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2126 "configure"
+#line 2165 "configure"
 #include "confdefs.h"
 void underscore_test(void) {
 return; }
 EOF
-if { (eval echo configure:2131: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   if grep _underscore_test conftest* >/dev/null; then
     rm -f conftest*
     libc_cv_asm_underscores=yes
@@ -2160,7 +2199,7 @@ if test $elf = yes; then
   libc_cv_asm_weakext_directive=no
 else
   echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:2164: checking for assembler .weak directive" >&5
+echo "configure:2203: checking for assembler .weak directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2183,7 +2222,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
 
 if test $libc_cv_asm_weak_directive = no; then
   echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
-echo "configure:2187: checking for assembler .weakext directive" >&5
+echo "configure:2226: checking for assembler .weakext directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2220,7 +2259,7 @@ EOF
 fi
 
 echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
-echo "configure:2224: checking for ld --no-whole-archive" >&5
+echo "configure:2263: checking for ld --no-whole-archive" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2231,7 +2270,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
 			    -nostdlib -nostartfiles -Wl,--no-whole-archive
-			    -o conftest conftest.c 1>&5'; { (eval echo configure:2235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c 1>&5'; { (eval echo configure:2274: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_ld_no_whole_archive=yes
 else
   libc_cv_ld_no_whole_archive=no
@@ -2242,7 +2281,7 @@ fi
 echo "$ac_t""$libc_cv_ld_no_whole_archive" 1>&6
 
 echo $ac_n "checking for gcc -fno-exceptions""... $ac_c" 1>&6
-echo "configure:2246: checking for gcc -fno-exceptions" >&5
+echo "configure:2285: checking for gcc -fno-exceptions" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_no_exceptions'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2253,7 +2292,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
 			    -nostdlib -nostartfiles -fno-exceptions
-			    -o conftest conftest.c 1>&5'; { (eval echo configure:2257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c 1>&5'; { (eval echo configure:2296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_no_exceptions=yes
 else
   libc_cv_gcc_no_exceptions=no
@@ -2264,12 +2303,12 @@ fi
 echo "$ac_t""$libc_cv_gcc_no_exceptions" 1>&6
 
 echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2268: checking for DWARF2 unwind info support" >&5
+echo "configure:2307: checking for DWARF2 unwind info support" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<EOF
-#line 2273 "configure"
+#line 2312 "configure"
 static char __EH_FRAME_BEGIN__;
 _start ()
 {
@@ -2290,7 +2329,7 @@ __bzero () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
 			    -nostdlib -nostartfiles
-			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_dwarf2_unwind_info=yes
 else
   libc_cv_gcc_dwarf2_unwind_info=no
@@ -2348,7 +2387,7 @@ if test "$uname" = "sysdeps/generic"; then
   fi
 
   echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2352: checking OS release for uname" >&5
+echo "configure:2391: checking OS release for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2370,7 +2409,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
   uname_release="$libc_cv_uname_release"
 
   echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2374: checking OS version for uname" >&5
+echo "configure:2413: checking OS version for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2392,7 +2431,7 @@ else
 fi
 
 echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2396: checking stdio selection" >&5
+echo "configure:2435: checking stdio selection" >&5
 
 case $stdio in
 libio) cat >> confdefs.h <<\EOF
@@ -2404,7 +2443,7 @@ esac
 echo "$ac_t""$stdio" 1>&6
 
 echo $ac_n "checking ldap selection""... $ac_c" 1>&6
-echo "configure:2408: checking ldap selection" >&5
+echo "configure:2447: checking ldap selection" >&5
 
 case $add_ons in
 *ldap*)
@@ -2454,7 +2493,7 @@ if test $shared = default; then
 fi
 
 echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2458: checking whether -fPIC is default" >&5
+echo "configure:2497: checking whether -fPIC is default" >&5
 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2648,6 +2687,7 @@ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
 s%@LN_S@%$LN_S%g
 s%@MSGFMT@%$MSGFMT%g
+s%@MAKEINFO@%$MAKEINFO%g
 s%@CC@%$CC%g
 s%@cross_linkable@%$cross_linkable%g
 s%@build@%$build%g
diff --git a/configure.in b/configure.in
index b0db91f911..2ff1af5c00 100644
--- a/configure.in
+++ b/configure.in
@@ -408,6 +408,20 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
 fi
 AC_PROG_LN_S
 AC_CHECK_PROGS(MSGFMT, msgfmt gmsgfmt, :)
+AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo)
+if test "$MAKEINFO"; then
+changequote(,)dnl Need [] for regexps.
+  if $MAKEINFO --version | grep 'texinfo 3\.[1-9][1-9]' >/dev/null 2>&1
+changequote([,])dnl
+  then : # Makeinfo 3.11 or greater, works.
+  else
+    AC_MSG_WARN([
+*** makeinfo is too old (need version 3.11 or better).
+*** You should install the needed version and re-configure since otherwise
+*** you won't get the info pages installed.])
+    MAKEINFO=
+  fi
+fi
 
 AC_PROG_CC_LOCAL
 AC_CANONICAL_BUILD
diff --git a/db2/Makefile b/db2/Makefile
index 8083ee3117..0ae06a3089 100644
--- a/db2/Makefile
+++ b/db2/Makefile
@@ -59,9 +59,9 @@ libdb-routines := bt_close bt_compare bt_conv bt_cursor bt_delete \
 	bt_split bt_stat btree_auto db db_appinit db_apprec \
 	db_auto \
 	db_byteorder db_conv db_dispatch db_dup db_err db_log2 \
-	os_abs os_dir os_fid os_fsync os_func os_map os_oflags \
+	os_abs os_config os_dir os_fid os_fsync os_map os_oflags \
 	os_open os_rpath os_rw os_seek os_sleep os_stat os_unlink \
-	db_overflow db_pr db_rec db_region db_ret db_salloc \
+	os_spin db_overflow db_pr db_rec db_region db_ret db_salloc \
 	db_shash db_thread hash hash_auto hash_conv hash_debug \
 	hash_dup hash_func hash_page hash_rec hash_stat lock \
 	lock_conflict lock_deadlock lock_util log log_archive \
diff --git a/db2/btree/bt_cursor.c b/db2/btree/bt_cursor.c
index e5f3faeb70..47ecd7c66d 100644
--- a/db2/btree/bt_cursor.c
+++ b/db2/btree/bt_cursor.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)bt_cursor.c	10.35 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)bt_cursor.c	10.37 (Sleepycat) 11/22/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -33,7 +33,7 @@ static int __bam_c_next __P((DB *, CURSOR *, int));
 static int __bam_c_physdel __P((DB *, CURSOR *, PAGE *));
 static int __bam_c_prev __P((DB *, CURSOR *));
 static int __bam_c_put __P((DBC *, DBT *, DBT *, int));
-static int __bam_c_rget __P((DB *, CURSOR *, DBT *, DBT *, int));
+static int __bam_c_rget __P((DB *, CURSOR *, DBT *, int));
 static int __bam_c_search __P((DB *, CURSOR *, const DBT *, u_int, int, int *));
 
 /* Discard the current page/lock held by a cursor. */
@@ -229,7 +229,7 @@ __bam_c_del(dbc, flags)
 		B_DSET(GET_BKEYDATA(h, indx + O_INDX)->type);
 	else
 		B_DSET(GET_BKEYDATA(h, indx)->type);
-	(void)__bam_ca_delete(dbp, pgno, indx, NULL);
+	(void)__bam_ca_delete(dbp, pgno, indx, NULL, 0);
 
 	ret = memp_fput(dbp->mpf, h, DB_MPOOL_DIRTY);
 
@@ -313,7 +313,7 @@ __bam_c_get(dbc, key, data, flags)
 	 * been rammed into the interface.
 	 */
 	if (LF_ISSET(DB_GET_RECNO)) {
-		ret = __bam_c_rget(dbp, cp, key, data, flags);
+		ret = __bam_c_rget(dbp, cp, data, flags);
 		PUTHANDLE(dbp);
 		return (ret);
 	}
@@ -441,10 +441,10 @@ err:		if (cp->page != NULL)
  *	Return the record number for a cursor.
  */
 static int
-__bam_c_rget(dbp, cp, key, data, flags)
+__bam_c_rget(dbp, cp, data, flags)
 	DB *dbp;
 	CURSOR *cp;
-	DBT *key, *data;
+	DBT *data;
 	int flags;
 {
 	BTREE *t;
@@ -1113,18 +1113,18 @@ __bam_cprint(dbp)
 
 /*
  * __bam_ca_delete --
- * 	Check if any of the cursors refer to the item we are about to delete.
- *	We'll return the number of cursors that refer to the item in question.
- *	If a cursor does refer to the item, then we set its deleted bit.
+ * 	Check if any of the cursors refer to the item we are about to delete,
+ *	returning the number of cursors that refer to the item in question.
  *
- * PUBLIC: int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *));
+ * PUBLIC: int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *, int));
  */
 int
-__bam_ca_delete(dbp, pgno, indx, curs)
+__bam_ca_delete(dbp, pgno, indx, curs, key_delete)
 	DB *dbp;
 	db_pgno_t pgno;
 	u_int32_t indx;
 	CURSOR *curs;
+	int key_delete;
 {
 	DBC *dbc;
 	CURSOR *cp;
@@ -1140,22 +1140,40 @@ __bam_ca_delete(dbp, pgno, indx, curs)
 	 * It's possible for multiple cursors within the thread to have write
 	 * locks on the same page, but, cursors within a thread must be single
 	 * threaded, so all we're locking here is the cursor linked list.
-	 *
-	 * indx refers to the first of what might be a duplicate set.  The
-	 * cursor passed in is the one initiating the delete, so we don't
-	 * want to count it.
 	 */
 	DB_THREAD_LOCK(dbp);
+
 	for (count = 0, dbc = TAILQ_FIRST(&dbp->curs_queue);
 	    dbc != NULL; dbc = TAILQ_NEXT(dbc, links)) {
 		cp = (CURSOR *)dbc->internal;
-		if ((curs != cp &&
-		    cp->pgno == pgno && cp->indx == indx) ||
-		    (cp->dpgno == pgno && cp->dindx == indx)) {
-			++count;
-			F_SET(cp, C_DELETED);
-		}
+
+		/*
+		 * Optionally, a cursor passed in is the one initiating the
+		 * delete, so we don't want to count it or set its deleted
+		 * flag.  Otherwise, if a cursor refers to the item, then we
+		 * set its deleted flag.
+		 */
+		if (curs == cp)
+			continue;
+
+		/*
+		 * If we're deleting the key itself and not just one of its
+		 * duplicates, repoint the cursor to the main-page key/data
+		 * pair, everything else is about to be discarded.
+		 */
+		if (key_delete || cp->dpgno == PGNO_INVALID) {
+			if (cp->pgno == pgno && cp->indx == indx) {
+				cp->dpgno = PGNO_INVALID;
+				++count;
+				F_SET(cp, C_DELETED);
+			}
+		} else
+			if (cp->dpgno == pgno && cp->dindx == indx) {
+				++count;
+				F_SET(cp, C_DELETED);
+			}
 	}
+
 	DB_THREAD_UNLOCK(dbp);
 	return (count);
 }
@@ -1440,7 +1458,7 @@ __bam_c_physdel(dbp, cp, h)
 	 * If the item is referenced by another cursor, leave it up to that
 	 * cursor to do the delete.
 	 */
-	if (__bam_ca_delete(dbp, pgno, indx, cp) != 0)
+	if (__bam_ca_delete(dbp, pgno, indx, cp, 0) != 0)
 		return (0);
 
 	/*
diff --git a/db2/btree/bt_delete.c b/db2/btree/bt_delete.c
index 9593d0109c..dbd1995f89 100644
--- a/db2/btree/bt_delete.c
+++ b/db2/btree/bt_delete.c
@@ -47,7 +47,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)bt_delete.c	10.22 (Sleepycat) 11/2/97";
+static const char sccsid[] = "@(#)bt_delete.c	10.23 (Sleepycat) 11/22/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -101,17 +101,20 @@ __bam_delete(argdbp, txn, key, flags)
 	h = t->bt_csp->page;
 	indx = t->bt_csp->indx;
 
-	/* Delete the key/data pair, including any duplicates. */
+	/* Delete the key/data pair, including any on-or-off page duplicates. */
 	for (cnt = 1, i = indx;; ++cnt)
 		if ((i += P_INDX) >= NUM_ENT(h) || h->inp[i] != h->inp[indx])
 			break;
 	for (; cnt > 0; --cnt, ++t->lstat.bt_deleted)
-		if (__bam_ca_delete(dbp, h->pgno, indx, NULL) != 0) {
+		if (__bam_ca_delete(dbp, h->pgno, indx, NULL, 1) == 0) {
+			if ((ret = __bam_ditem(dbp, h, indx)) != 0)
+				goto err;
+			if ((ret = __bam_ditem(dbp, h, indx)) != 0)
+				goto err;
+		} else {
 			B_DSET(GET_BKEYDATA(h, indx + O_INDX)->type);
 			indx += P_INDX;
-		} else if ((ret = __bam_ditem(dbp, h, indx)) != 0 ||
-		    (ret = __bam_ditem(dbp, h, indx)) != 0)
-			goto err;
+		}
 
 	/* If we're using record numbers, update internal page record counts. */
 	if (F_ISSET(dbp, DB_BT_RECNUM) && (ret = __bam_adjust(dbp, t, -1)) != 0)
diff --git a/db2/btree/bt_put.c b/db2/btree/bt_put.c
index b3d775bb0f..3161b02b55 100644
--- a/db2/btree/bt_put.c
+++ b/db2/btree/bt_put.c
@@ -47,7 +47,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)bt_put.c	10.31 (Sleepycat) 10/26/97";
+static const char sccsid[] = "@(#)bt_put.c	10.35 (Sleepycat) 11/22/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -64,6 +64,7 @@ static const char sccsid[] = "@(#)bt_put.c	10.31 (Sleepycat) 10/26/97";
 #include "btree.h"
 
 static int __bam_fixed __P((BTREE *, DBT *));
+static int __bam_isdeleted __P((DB *, PAGE *, u_int32_t, int *));
 static int __bam_lookup __P((DB *, DBT *, int *));
 static int __bam_ndup __P((DB *, PAGE *, u_int32_t));
 static int __bam_ovput __P((DB *, PAGE *, u_int32_t, DBT *));
@@ -89,7 +90,7 @@ __bam_put(argdbp, txn, key, data, flags)
 	DB *dbp;
 	PAGE *h;
 	db_indx_t indx;
-	int exact, iflags, newkey, replace, ret, stack;
+	int exact, iflags, isdeleted, newkey, replace, ret, stack;
 
 	DEBUG_LWRITE(argdbp, txn, "bam_put", key, data, flags);
 
@@ -114,21 +115,25 @@ retry:	/*
 	stack = 1;
 
 	/*
-	 * If an identical key is already in the tree, and DB_NOOVERWRITE is
-	 * set, an error is returned.  If an identical key is already in the
-	 * tree and DB_NOOVERWRITE is not set, the key is either added (when
-	 * duplicates are permitted) or an error is returned.  The exception
-	 * is when the item located is referenced by a cursor and marked for
-	 * deletion, in which case we permit the overwrite and flag the cursor.
+	 * If DB_NOOVERWRITE is set and there's an identical key in the tree,
+	 * return an error unless the data item has already been marked for
+	 * deletion, or, all the remaining data items have already been marked
+	 * for deletion in the case of duplicates.  If all the data items have
+	 * been marked for deletion, we do a replace, otherwise, it has to be
+	 * a set of duplicates, and we simply append a new one to the set.
 	 */
-	replace = 0;
-	if (exact && flags == DB_NOOVERWRITE) {
-		if (!B_DISSET(GET_BKEYDATA(h, indx + O_INDX)->type)) {
-			ret = DB_KEYEXIST;
+	isdeleted = replace = 0;
+	if (exact) {
+		if ((ret = __bam_isdeleted(dbp, h, indx, &isdeleted)) != 0)
 			goto err;
-		}
-		replace = 1;
-		__bam_ca_replace(dbp, h->pgno, indx, REPLACE_SETUP);
+		if (isdeleted) {
+			replace = 1;
+			__bam_ca_replace(dbp, h->pgno, indx, REPLACE_SETUP);
+		} else
+			if (flags == DB_NOOVERWRITE) {
+				ret = DB_KEYEXIST;
+				goto err;
+			}
 	}
 
 	/*
@@ -151,7 +156,7 @@ retry:	/*
 	 */
 	newkey = dbp->type == DB_BTREE && !exact;
 	if (exact) {
-		if (F_ISSET(dbp, DB_AM_DUP)) {
+		if (!isdeleted && F_ISSET(dbp, DB_AM_DUP)) {
 			/*
 			 * Make sure that we're not looking at a page of
 			 * duplicates -- if so, move to the last entry on
@@ -234,6 +239,88 @@ err:	if (stack)
 }
 
 /*
+ * __bam_isdeleted --
+ *	Return if the only remaining data item for the element has been
+ *	deleted.
+ */
+static int
+__bam_isdeleted(dbp, h, indx, isdeletedp)
+	DB *dbp;
+	PAGE *h;
+	u_int32_t indx;
+	int *isdeletedp;
+{
+	BKEYDATA *bk;
+	db_pgno_t pgno;
+	int ret;
+
+	*isdeletedp = 1;
+	for (;;) {
+		bk = GET_BKEYDATA(h, indx + O_INDX);
+		switch (B_TYPE(bk->type)) {
+		case B_KEYDATA:
+		case B_OVERFLOW:
+			if (!B_DISSET(bk->type)) {
+				*isdeletedp = 0;
+				return (0);
+			}
+			break;
+		case B_DUPLICATE:
+			/*
+			 * If the data item referencing the off-page duplicates
+			 * is flagged as deleted, we're done.  Else, we have to
+			 * walk the chain of duplicate pages.
+			 */
+			if (B_DISSET(bk->type))
+				return (0);
+			goto dupchk;
+		default:
+			return (__db_pgfmt(dbp, h->pgno));
+		}
+
+		/*
+		 * If there are no more on-page duplicate items, then every
+		 * data item for this key must have been deleted.
+		 */
+		if (indx + P_INDX >= (u_int32_t)NUM_ENT(h))
+			return (0);
+		if (h->inp[indx] != h->inp[indx + P_INDX])
+			return (0);
+
+		/* Check the next item. */
+		indx += P_INDX;
+	}
+	/* NOTREACHED */
+
+dupchk:	/* Check a chain of duplicate pages. */
+	pgno = ((BOVERFLOW *)bk)->pgno;
+	for (;;) {
+		/* Acquire the next page in the duplicate chain. */
+		if ((ret = memp_fget(dbp->mpf, &pgno, 0, &h)) != 0)
+			return (ret);
+
+		/* Check each item for a delete flag. */
+		for (indx = 0; indx < NUM_ENT(h); ++indx)
+			if (!B_DISSET(GET_BKEYDATA(h, indx)->type)) {
+				*isdeletedp = 0;
+				goto done;
+			}
+		/*
+		 * If we reach the end of the duplicate pages, then every
+		 * item we reviewed must have been deleted.
+		 */
+		if ((pgno = NEXT_PGNO(h)) == PGNO_INVALID)
+			goto done;
+
+		(void)memp_fput(dbp->mpf, h, 0);
+	}
+	/* NOTREACHED */
+
+done:	(void)memp_fput(dbp->mpf, h, 0);
+	return (0);
+}
+
+/*
  * __bam_lookup --
  *	Find the right location in the tree for the key.
  */
@@ -425,10 +512,10 @@ __bam_iitem(dbp, hp, indxp, key, data, op, flags)
 		if (op == DB_CURRENT) {
 			bk = GET_BKEYDATA(h,
 			    indx + (TYPE(h) == P_LBTREE ? O_INDX : 0));
-			if (B_TYPE(bk->type) == B_OVERFLOW)
-				have_bytes = BOVERFLOW_PSIZE;
-			else
+			if (B_TYPE(bk->type) == B_KEYDATA)
 				have_bytes = BKEYDATA_PSIZE(bk->len);
+			else
+				have_bytes = BOVERFLOW_PSIZE;
 			need_bytes = 0;
 		} else {
 			have_bytes = 0;
@@ -542,7 +629,7 @@ __bam_iitem(dbp, hp, indxp, key, data, op, flags)
 			 * If we're dealing with offpage items, we have to 
 			 * delete and then re-add the item.
 			 */
-			if (bigdata || B_TYPE(bk->type) == B_OVERFLOW) {
+			if (bigdata || B_TYPE(bk->type) != B_KEYDATA) {
 				if ((ret = __bam_ditem(dbp, h, indx)) != 0)
 					return (ret);
 				break;
@@ -704,9 +791,9 @@ __bam_ritem(dbp, h, indx, data)
 {
 	BKEYDATA *bk;
 	DBT orig, repl;
-	db_indx_t lo, ln, min, off, prefix, suffix;
+	db_indx_t cnt, lo, ln, min, off, prefix, suffix;
 	int32_t nbytes;
-	int cnt, ret;
+	int ret;
 	u_int8_t *p, *t;
 
 	/*
diff --git a/db2/btree/bt_search.c b/db2/btree/bt_search.c
index a21a8208bc..c39c9af322 100644
--- a/db2/btree/bt_search.c
+++ b/db2/btree/bt_search.c
@@ -47,7 +47,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)bt_search.c	10.8 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)bt_search.c	10.9 (Sleepycat) 11/18/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -119,12 +119,20 @@ __bam_search(dbp, key, flags, stop, recnop, exactp)
 		return (ret);
 	}
 
-	/* Decide if we need to save this page; if we do, write lock it. */
+	/*
+	 * Decide if we need to save this page; if we do, write lock it.
+	 * We deliberately don't lock-couple on this call.  If the tree
+	 * is tiny, i.e., one page, and two threads are busily updating
+	 * the root page, we're almost guaranteed deadlocks galore, as
+	 * each one gets a read lock and then blocks the other's attempt
+	 * for a write lock.
+	 */
 	if (!stack &&
 	    ((LF_ISSET(S_PARENT) && (u_int8_t)(stop + 1) >= h->level) ||
 	    (LF_ISSET(S_WRITE) && h->level == LEAFLEVEL))) {
 		(void)memp_fput(dbp->mpf, h, 0);
-		if ((ret = __bam_lget(dbp, 1, pg, DB_LOCK_WRITE, &lock)) != 0)
+		(void)__BT_LPUT(dbp, lock);
+		if ((ret = __bam_lget(dbp, 0, pg, DB_LOCK_WRITE, &lock)) != 0)
 			return (ret);
 		if ((ret = __bam_pget(dbp, &h, &pg, 0)) != 0) {
 			(void)__BT_LPUT(dbp, lock);
diff --git a/db2/btree/bt_split.c b/db2/btree/bt_split.c
index bc09131b00..219d486dc5 100644
--- a/db2/btree/bt_split.c
+++ b/db2/btree/bt_split.c
@@ -44,7 +44,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)bt_split.c	10.17 (Sleepycat) 11/2/97";
+static const char sccsid[] = "@(#)bt_split.c	10.18 (Sleepycat) 11/23/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -396,14 +396,14 @@ __bam_broot(dbp, rootp, lp, rp)
 	 * The btree comparison code guarantees that the left-most key on any
 	 * level of the tree is never used, so it doesn't need to be filled in.
 	 */
+	memset(&bi, 0, sizeof(bi));
 	bi.len = 0;
 	B_TSET(bi.type, B_KEYDATA, 0);
 	bi.pgno = lp->pgno;
 	if (F_ISSET(dbp, DB_BT_RECNUM)) {
 		bi.nrecs = __bam_total(lp);
 		RE_NREC_SET(rootp, bi.nrecs);
-	} else
-		bi.nrecs = 0;
+	}
 	hdr.data = &bi;
 	hdr.size = SSZA(BINTERNAL, data);
 	if ((ret =
@@ -591,6 +591,7 @@ __bam_pinsert(dbp, parent, lchild, rchild)
 			return (DB_NEEDSPLIT);
 
 		/* Add a new record for the right page. */
+		memset(&bi, 0, sizeof(bi));
 		bi.len = child_bi->len;
 		B_TSET(bi.type, child_bi->type, 0);
 		bi.pgno = rchild->pgno;
@@ -640,6 +641,7 @@ noprefix:			nksize = child_bk->len;
 			if (P_FREESPACE(ppage) < nbytes)
 				return (DB_NEEDSPLIT);
 
+			memset(&bi, 0, sizeof(bi));
 			bi.len = nksize;
 			B_TSET(bi.type, child_bk->type, 0);
 			bi.pgno = rchild->pgno;
@@ -661,6 +663,7 @@ noprefix:			nksize = child_bk->len;
 			if (P_FREESPACE(ppage) < nbytes)
 				return (DB_NEEDSPLIT);
 
+			memset(&bi, 0, sizeof(bi));
 			bi.len = BOVERFLOW_SIZE;
 			B_TSET(bi.type, child_bk->type, 0);
 			bi.pgno = rchild->pgno;
diff --git a/db2/btree/btree_auto.c b/db2/btree/btree_auto.c
index 45232bbc41..18b9b34975 100644
--- a/db2/btree/btree_auto.c
+++ b/db2/btree/btree_auto.c
@@ -100,7 +100,6 @@ int __bam_pg_alloc_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_pg_alloc_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_pg_alloc_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -265,7 +264,6 @@ int __bam_pg_free_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_pg_free_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_pg_free_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -460,7 +458,6 @@ int __bam_split_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_split_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_split_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -657,7 +654,6 @@ int __bam_rsplit_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_rsplit_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_rsplit_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -836,7 +832,6 @@ int __bam_adj_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_adj_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_adj_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -995,7 +990,6 @@ int __bam_cadjust_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_cadjust_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_cadjust_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1145,7 +1139,6 @@ int __bam_cdel_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_cdel_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_cdel_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1329,7 +1322,6 @@ int __bam_repl_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __bam_repl_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __bam_repl_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
diff --git a/db2/common/db_appinit.c b/db2/common/db_appinit.c
index 74ba9ff426..05fc7cc084 100644
--- a/db2/common/db_appinit.c
+++ b/db2/common/db_appinit.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)db_appinit.c	10.36 (Sleepycat) 10/28/97";
+static const char sccsid[] = "@(#)db_appinit.c	10.37 (Sleepycat) 11/25/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -108,10 +108,23 @@ db_appinit(db_home, db_config, dbenv, flags)
 		if ((ret = __db_parse(dbenv, *p)) != 0)
 			goto err;
 
-	/* Parse the config file. */
+	/*
+	 * Parse the config file.
+	 *
+	 * XXX
+	 * Don't use sprintf(3)/snprintf(3) -- the former is dangerous, and
+	 * the latter isn't standard, and we're manipulating strings handed
+	 * us by the application.
+	 */
 	if (dbenv->db_home != NULL) {
-		(void)snprintf(buf,
-		    sizeof(buf), "%s/DB_CONFIG", dbenv->db_home);
+#define	CONFIG_NAME	"/DB_CONFIG"
+		if (strlen(dbenv->db_home) +
+		    strlen(CONFIG_NAME) + 1 > sizeof(buf)) {
+			ret = ENAMETOOLONG;
+			goto err;
+		}
+		(void)strcpy(buf, dbenv->db_home);
+		(void)strcat(buf, CONFIG_NAME);
 		if ((fp = fopen(buf, "r")) != NULL) {
 			while (fgets(buf, sizeof(buf), fp) != NULL) {
 				if ((lp = strchr(buf, '\n')) != NULL)
diff --git a/db2/common/db_apprec.c b/db2/common/db_apprec.c
index ac0176d70f..188c6b9f95 100644
--- a/db2/common/db_apprec.c
+++ b/db2/common/db_apprec.c
@@ -11,7 +11,7 @@
 static const char copyright[] =
 "@(#) Copyright (c) 1997\n\
 	Sleepycat Software Inc.  All rights reserved.\n";
-static const char sccsid[] = "@(#)db_apprec.c	10.18 (Sleepycat) 9/30/97";
+static const char sccsid[] = "@(#)db_apprec.c	10.19 (Sleepycat) 11/23/97";
 #endif
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -72,10 +72,8 @@ __db_apprec(dbenv, flags)
 	if (LF_ISSET(DB_RECOVER_FATAL))
 		first_flag = DB_FIRST;
 	else {
-		if ((ret = __log_findckp(lp, &lsn)) == DB_NOTFOUND) {
-			F_SET(lp, is_thread);
-			return (0);
-		}
+		if ((ret = __log_findckp(lp, &lsn)) == DB_NOTFOUND)
+			goto out;
 		first_flag = DB_SET;
 	}
 
@@ -88,7 +86,7 @@ __db_apprec(dbenv, flags)
 			    (u_long)lsn.file, (u_long)lsn.offset);
 		else
 			__db_err(dbenv, "Retrieving first LSN");
-		goto err;
+		goto out;
 	}
 
 	first_lsn = lsn;
@@ -99,7 +97,7 @@ __db_apprec(dbenv, flags)
 		if ((ret =
 		    log_get(dbenv->lg_info, &lsn, &data, DB_NEXT)) != 0) {
 			if (ret != DB_NOTFOUND)
-				goto err;
+				goto out;
 			break;
 		}
 	}
@@ -123,7 +121,7 @@ __db_apprec(dbenv, flags)
 			goto msgerr;
 	}
 	if (ret != 0 && ret != DB_NOTFOUND)
-		goto err;
+		goto out;
 
 	for (ret = log_get(lp, &lsn, &data, DB_NEXT);
 	    ret == 0; ret = log_get(lp, &lsn, &data, DB_NEXT)) {
@@ -134,7 +132,7 @@ __db_apprec(dbenv, flags)
 			goto msgerr;
 	}
 	if (ret != DB_NOTFOUND)
-		goto err;
+		goto out;
 
 	/* Now close all the db files that are open. */
 	__log_close_files(lp);
@@ -148,7 +146,7 @@ __db_apprec(dbenv, flags)
 	dbenv->tx_info->region->last_ckp = ckp_lsn;
 	dbenv->tx_info->region->time_ckp = (u_int32_t)now;
 	if ((ret = txn_checkpoint(dbenv->tx_info, 0, 0)) != 0)
-		goto err;
+		goto out;
 
 	if (dbenv->db_verbose) {
 		__db_err(lp->dbenv, "Recovery complete at %s", ctime(&now));
@@ -160,12 +158,13 @@ __db_apprec(dbenv, flags)
 		    (u_long)dbenv->tx_info->region->last_ckp.offset);
 	}
 
-	F_SET(lp, is_thread);
-	return (0);
+	if (0) {
+msgerr:		__db_err(dbenv, "Recovery function for LSN %lu %lu failed",
+		    (u_long)lsn.file, (u_long)lsn.offset);
+	}
 
-msgerr:	__db_err(dbenv, "Recovery function for LSN %lu %lu failed",
-	    (u_long)lsn.file, (u_long)lsn.offset);
+out:	F_SET(lp, is_thread);
+	__db_txnlist_end(txninfo);
 
-err:	F_SET(lp, is_thread);
 	return (ret);
 }
diff --git a/db2/common/db_err.c b/db2/common/db_err.c
index f3e7b40448..13f2cb5dc3 100644
--- a/db2/common/db_err.c
+++ b/db2/common/db_err.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)db_err.c	10.18 (Sleepycat) 8/27/97";
+static const char sccsid[] = "@(#)db_err.c	10.19 (Sleepycat) 11/9/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -302,10 +302,13 @@ __db_cgetchk(dbp, key, data, flags, isvalid)
 		break;
 	case DB_SET:
 		break;
-	case DB_SET_RECNO:
 	case DB_GET_RECNO:
 		if (!F_ISSET(dbp, DB_BT_RECNUM))
 			goto err;
+		break;
+	case DB_SET_RECNO:
+		if (!F_ISSET(dbp, DB_BT_RECNUM))
+			goto err;
 		check_key = 1;
 		break;
 	default:
@@ -313,8 +316,9 @@ err:		return (__db_ferr(dbp->dbenv, "c_get", 0));
 	}
 
 	/* Check for invalid key/data flags. */
-	DB_CHECK_FLAGS(dbp->dbenv, "key", key->flags,
-	    DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL);
+	if (check_key)
+		DB_CHECK_FLAGS(dbp->dbenv, "key", key->flags,
+		    DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL);
 	DB_CHECK_FLAGS(dbp->dbenv, "data", data->flags,
 	    DB_DBT_MALLOC | DB_DBT_USERMEM | DB_DBT_PARTIAL);
 
diff --git a/db2/common/db_region.c b/db2/common/db_region.c
index 3e8cd2dc66..4fc603a2b0 100644
--- a/db2/common/db_region.c
+++ b/db2/common/db_region.c
@@ -43,7 +43,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)db_region.c	10.15 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)db_region.c	10.18 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -80,14 +80,14 @@ static int __db_rmap __P((DB_ENV *, int, size_t, void *));
  * into memory, NULL on error.
  *
  * PUBLIC: int __db_rcreate __P((DB_ENV *, APPNAME,
- * PUBLIC:    const char *, const char *, int, size_t, int *, void *));
+ * PUBLIC:    const char *, const char *, int, size_t, int, int *, void *));
  */
 int
-__db_rcreate(dbenv, appname, path, file, mode, size, fdp, retp)
+__db_rcreate(dbenv, appname, path, file, mode, size, oflags, fdp, retp)
 	DB_ENV *dbenv;
 	APPNAME appname;
 	const char *path, *file;
-	int mode, *fdp;
+	int mode, oflags, *fdp;
 	size_t size;
 	void *retp;
 {
@@ -110,12 +110,13 @@ __db_rcreate(dbenv, appname, path, file, mode, size, fdp, retp)
 	/*
 	 * Now open the file. We need to make sure that multiple processes
 	 * that attempt to create the region at the same time are properly
-	 * ordered, so we open it O_EXCL and O_CREAT so two simultaneous
+	 * ordered, so we open it DB_EXCL and DB_CREATE so two simultaneous
 	 * attempts to create the region will return failure in one of the
 	 * attempts.
 	 */
-	if (fd == -1 && (ret = __db_open(name,
-	    DB_CREATE | DB_EXCL, DB_CREATE | DB_EXCL, mode, &fd)) != 0) {
+	oflags |= DB_CREATE | DB_EXCL;
+	if (fd == -1 &&
+	    (ret = __db_open(name, oflags, oflags, mode, &fd)) != 0) {
 		if (ret != EEXIST)
 			__db_err(dbenv,
 			    "region create: %s: %s", name, strerror(ret));
@@ -398,7 +399,7 @@ __db_runlink(dbenv, appname, path, file, force)
 
 	/* If the file doesn't exist, we're done. */
 	if (__db_exists(name, NULL))
-		return (0);		/* XXX: ENOENT? */
+		goto done;
 
 	/*
 	 * If we're called with a force flag, try and unlink the file.  This
@@ -412,8 +413,7 @@ __db_runlink(dbenv, appname, path, file, force)
 	if (force) {
 		if ((ret = __db_unlink(name)) != 0 && ret != ENOENT)
 			goto err1;
-		FREES(name);
-		return (0);
+		goto done;
 	}
 
 	/* Open and lock the region. */
@@ -453,7 +453,7 @@ __db_runlink(dbenv, appname, path, file, force)
 		(void)__db_sleep(0, 250000);
 	}
 	if (ret == 0) {
-		FREES(name);
+done:		FREES(name);
 		return (0);
 	}
 
@@ -467,6 +467,7 @@ __db_runlink(dbenv, appname, path, file, force)
 err2:	(void)__db_mutex_unlock(&rp->lock, fd);
 	(void)__db_rclose(dbenv, fd, rp);
 err1:	__db_err(dbenv, "region unlink: %s: %s", name, strerror(ret));
+
 	FREES(name);
 	return (ret);
 }
diff --git a/db2/config.h b/db2/config.h
index 27dbdaa439..7f784a0d9b 100644
--- a/db2/config.h
+++ b/db2/config.h
@@ -114,6 +114,9 @@
 /* Define if you have the strsep function.  */
 #define HAVE_STRSEP 1
 
+/* Define if you have the sysconf function.  */
+#define HAVE_SYSCONF 1
+
 /* Define if you have the vsnprintf function.  */
 #define HAVE_VSNPRINTF 1
 
diff --git a/db2/db.h b/db2/db.h
index fb2d6bb3da..f976acafb7 100644
--- a/db2/db.h
+++ b/db2/db.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)db.h.src	10.91 (Sleepycat) 11/3/97
+ *	@(#)db.h.src	10.97 (Sleepycat) 11/28/97
  */
 
 #ifndef _DB_H_
@@ -73,8 +73,8 @@
 
 #define	DB_VERSION_MAJOR	2
 #define	DB_VERSION_MINOR	3
-#define	DB_VERSION_PATCH	12
-#define	DB_VERSION_STRING	"Sleepycat Software: DB 2.3.12: (11/3/97)"
+#define	DB_VERSION_PATCH	14
+#define	DB_VERSION_STRING	"Sleepycat Software: DB 2.3.14: (11/28/97)"
 
 typedef	u_int32_t	db_pgno_t;	/* Page number type. */
 typedef	u_int16_t	db_indx_t;	/* Page offset type. */
@@ -129,8 +129,10 @@ struct __db_dbt {
 };
 
 /*
- * DB configuration.  There are a set of functions which the application
- * can replace with its own versions.
+ * DB internal configuration.
+ *
+ * There are a set of functions that the application can replace with its
+ * own versions, and some other knobs which can be turned at run-time.
  */
 #define	DB_FUNC_CALLOC	 1		/* ANSI C calloc. */
 #define	DB_FUNC_CLOSE	 2		/* POSIX 1003.1 close. */
@@ -147,11 +149,12 @@ struct __db_dbt {
 #define	DB_FUNC_REALLOC	13		/* ANSI C realloc. */
 #define	DB_FUNC_SEEK	14		/* POSIX 1003.1 lseek. */
 #define	DB_FUNC_SLEEP	15		/* DB: sleep secs/usecs. */
-#define	DB_FUNC_STRDUP	16		/* ANSI C strdup. */
+#define	DB_FUNC_STRDUP	16		/* DB: strdup(3). */
 #define	DB_FUNC_UNLINK	17		/* POSIX 1003.1 unlink. */
 #define	DB_FUNC_UNMAP	18		/* DB: unmap shared memory file. */
 #define	DB_FUNC_WRITE	19		/* POSIX 1003.1 write. */
 #define	DB_FUNC_YIELD	20		/* DB: yield thread to scheduler. */
+#define	DB_TSL_SPINS	21		/* DB: initialize spin count. */
 
 /*
  * Database configuration and initialization.
@@ -211,10 +214,10 @@ struct __db_dbt {
  * locking subsystem.
  */
 #define	DB_LOCK_NORUN		0x0
-#define	DB_LOCK_DEFAULT		0x1
-#define	DB_LOCK_OLDEST		0x2
-#define	DB_LOCK_RANDOM		0x3
-#define	DB_LOCK_YOUNGEST	0x4
+#define	DB_LOCK_DEFAULT		0x1	/* Default policy. */
+#define	DB_LOCK_OLDEST		0x2	/* Abort oldest transaction. */
+#define	DB_LOCK_RANDOM		0x3	/* Abort random transaction. */
+#define	DB_LOCK_YOUNGEST	0x4	/* Abort youngest transaction. */
 
 struct __db_env {
 	int		 db_lorder;	/* Byte order. */
@@ -265,6 +268,10 @@ struct __db_env {
 /*******************************************************
  * Access methods.
  *******************************************************/
+/*
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
 	DB_BTREE=1,			/* B+tree. */
 	DB_HASH,			/* Extended Linear Hashing. */
@@ -347,7 +354,13 @@ struct __db_info {
 #define	DB_SET_RANGE	0x020000	/* c_get() */
 #define	DB_SET_RECNO	0x040000	/* c_get() */
 
-/* DB (user visible) error return codes. */
+/*
+ * DB (user visible) error return codes.
+ *
+ * XXX
+ * Changes to any of the user visible error return codes must be reflected
+ * in java/src/com/sleepycat/db/Db.java.
+ */
 #define	DB_INCOMPLETE		( -1)	/* Sync didn't finish. */
 #define	DB_KEYEMPTY		( -2)	/* The key/data pair was deleted or
 					   was never created by the user. */
@@ -516,6 +529,7 @@ int   db_appinit __P((const char *, char * const *, DB_ENV *, int));
 int   db_appexit __P((DB_ENV *));
 int   db_jump_set __P((void *, int));
 int   db_open __P((const char *, DBTYPE, int, int, DB_ENV *, DB_INFO *, DB **));
+int   db_value_set __P((int, int));
 char *db_version __P((int *, int *, int *));
 #if defined(__cplusplus)
 };
@@ -533,16 +547,26 @@ char *db_version __P((int *, int *, int *));
 /* Flag values for lock_detect(). */
 #define	DB_LOCK_CONFLICT	0x01	/* Run on any conflict. */
 
-/* Request types. */
+/*
+ * Request types.
+ *
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
-	DB_LOCK_DUMP,			/* Display held locks. */
+	DB_LOCK_DUMP=0,			/* Display held locks. */
 	DB_LOCK_GET,			/* Get the lock. */
 	DB_LOCK_PUT,			/* Release the lock. */
 	DB_LOCK_PUT_ALL,		/* Release locker's locks. */
 	DB_LOCK_PUT_OBJ			/* Release locker's locks on obj. */
 } db_lockop_t;
 
-/* Simple R/W lock modes and for multi-granularity intention locking. */
+/*
+ * Simple R/W lock modes and for multi-granularity intention locking.
+ *
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
 	DB_LOCK_NG=0,			/* Not granted. */
 	DB_LOCK_READ,			/* Shared/read. */
@@ -577,7 +601,7 @@ extern const u_int8_t db_riw_conflicts[];
 extern "C" {
 #endif
 int	  lock_close __P((DB_LOCKTAB *));
-int	  lock_detect __P((DB_LOCKTAB *, int, u_int32_t));
+int	  lock_detect __P((DB_LOCKTAB *, int, int));
 int	  lock_get __P((DB_LOCKTAB *,
 	    u_int32_t, int, const DBT *, db_lockmode_t, DB_LOCK *));
 int	  lock_id __P((DB_LOCKTAB *, u_int32_t *));
diff --git a/db2/db/db_auto.c b/db2/db/db_auto.c
index d40d964542..88bca7b583 100644
--- a/db2/db/db_auto.c
+++ b/db2/db/db_auto.c
@@ -122,7 +122,6 @@ int __db_addrem_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_addrem_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_addrem_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -312,7 +311,6 @@ int __db_split_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_split_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_split_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -507,7 +505,6 @@ int __db_big_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_big_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_big_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -678,7 +675,6 @@ int __db_ovref_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_ovref_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_ovref_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -842,7 +838,6 @@ int __db_relink_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_relink_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_relink_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1005,7 +1000,6 @@ int __db_addpage_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_addpage_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_addpage_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1180,7 +1174,6 @@ int __db_debug_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __db_debug_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_debug_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1335,7 +1328,6 @@ int __db_noop_log(logp, txnid, ret_lsnp, flags)
  * PUBLIC: int __db_noop_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __db_noop_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
diff --git a/db2/db/db_dispatch.c b/db2/db/db_dispatch.c
index a4bcdb7628..4f89d2b917 100644
--- a/db2/db/db_dispatch.c
+++ b/db2/db/db_dispatch.c
@@ -43,7 +43,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)db_dispatch.c	10.6 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)db_dispatch.c	10.7 (Sleepycat) 11/23/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -236,8 +236,8 @@ __db_txnlist_find(listp, txnid)
 	void *listp;
 	u_int32_t txnid;
 {
-	__db_txnlist *p;
 	__db_txnhead *hp;
+	__db_txnlist *p;
 
 	if ((hp = (struct __db_txnhead *)listp) == NULL)
 		return (DB_NOTFOUND);
@@ -255,12 +255,16 @@ __db_txnlist_find(listp, txnid)
 }
 
 #ifdef DEBUG
+/*
+ * __db_txnlist_print --
+ *	Print out the transaction list.
+ */
 void
 __db_txnlist_print(listp)
 	void *listp;
 {
-	__db_txnlist *p;
 	__db_txnhead *hp;
+	__db_txnlist *p;
 
 	hp = (struct __db_txnhead *)listp;
 	printf("Maxid: %lu\n", (u_long)hp->maxid);
@@ -268,3 +272,24 @@ __db_txnlist_print(listp)
 		printf("TXNID: %lu\n", (u_long)p->txnid);
 }
 #endif
+
+/*
+ * __db_txnlist_end --
+ *	Discard transaction linked list.
+ *
+ * PUBLIC: void __db_txnlist_end __P((void *));
+ */
+void
+__db_txnlist_end(listp)
+	void *listp;
+{
+	__db_txnhead *hp;
+	__db_txnlist *p;
+
+	hp = (struct __db_txnhead *)listp;
+	while ((p = LIST_FIRST(&hp->head)) != LIST_END(&hp->head)) {
+		LIST_REMOVE(p, links);
+		__db_free(p);
+	}
+	__db_free(listp);
+}
diff --git a/db2/db/db_ret.c b/db2/db/db_ret.c
index bcec308b95..65441aa45a 100644
--- a/db2/db/db_ret.c
+++ b/db2/db/db_ret.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)db_ret.c	10.8 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)db_ret.c	10.10 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -116,35 +116,48 @@ __db_retcopy(dbt, data, len, memp, memsize, db_malloc)
 	dbt->size = len;
 
 	/*
-	 * Allocate any necessary memory.
+	 * Allocate memory to be owned by the application: DB_DBT_MALLOC.
 	 *
-	 * XXX: Never allocate 0 bytes.
+	 * !!!
+	 * We always allocate memory, even if we're copying out 0 bytes. This
+	 * guarantees consistency, i.e., the application can always free memory
+	 * without concern as to how many bytes of the record were requested.
+	 *
+	 * XXX
+	 * Never allocate 0 bytes, it's known to make malloc/realloc unhappy.
+	 *
+	 * Use the memory specified by the application: DB_DBT_USERMEM.
+	 *
+	 * !!!
+	 * If the length we're going to copy is 0, the application-supplied
+	 * memory pointer is allowed to be NULL.
 	 */
 	if (F_ISSET(dbt, DB_DBT_MALLOC)) {
 		dbt->data = db_malloc == NULL ?
-		    (void *)__db_malloc(len + 1) :
+		    (void *)__db_malloc(len) :
 		    (void *)db_malloc(len + 1);
 		if (dbt->data == NULL)
 			return (ENOMEM);
 	} else if (F_ISSET(dbt, DB_DBT_USERMEM)) {
-		if (dbt->ulen < len)
+		if (len != 0 && (dbt->data == NULL || dbt->ulen < len))
 			return (ENOMEM);
 	} else if (memp == NULL || memsize == NULL) {
 		return (EINVAL);
 	} else {
-		if (*memsize == 0 || *memsize < len) {
+		if (len != 0 && (*memsize == 0 || *memsize < len)) {
 			*memp = *memp == NULL ?
-			    (void *)__db_malloc(len + 1) :
-			    (void *)__db_realloc(*memp, len + 1);
+			    (void *)__db_malloc(len) :
+			    (void *)__db_realloc(*memp, len);
 			if (*memp == NULL) {
 				*memsize = 0;
 				return (ENOMEM);
 			}
-			*memsize = len + 1;
+			*memsize = len;
 		}
 		dbt->data = *memp;
 	}
 
-	memcpy(dbt->data, data, len);
+	if (len != 0)
+		memcpy(dbt->data, data, len);
 	return (0);
 }
diff --git a/db2/db_int.h b/db2/db_int.h
index 1f6c790345..21460722a3 100644
--- a/db2/db_int.h
+++ b/db2/db_int.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)db_int.h.src	10.36 (Sleepycat) 10/31/97
+ *	@(#)db_int.h.src	10.37 (Sleepycat) 11/25/97
  */
 
 #ifndef _DB_INTERNAL_H_
@@ -168,6 +168,7 @@ typedef struct _db_mutex_t {
 	off_t	off;			/* Backing file offset. */
 	u_long	pid;			/* Lock holder: 0 or process pid. */
 #endif
+	u_int32_t spins;		/* Spins before block. */
 	u_int32_t mutex_set_wait;	/* Granted after wait. */
 	u_int32_t mutex_set_nowait;	/* Granted without waiting. */
 } db_mutex_t;
diff --git a/db2/dbm/dbm.c b/db2/dbm/dbm.c
index 1fa92ce1fa..bd7c7a6636 100644
--- a/db2/dbm/dbm.c
+++ b/db2/dbm/dbm.c
@@ -47,7 +47,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)dbm.c	10.6 (Sleepycat) 8/27/97";
+static const char sccsid[] = "@(#)dbm.c	10.7 (Sleepycat) 11/25/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -198,9 +198,20 @@ dbm_open(file, oflags, mode)
 	dbinfo.h_ffactor = 40;
 	dbinfo.h_nelem = 1;
 
-	(void)snprintf(path, sizeof(path), "%s%s", file, DBM_SUFFIX);
-	if ((__set_errno(db_open(path,
-	    DB_HASH, __db_oflags(oflags), mode, NULL, &dbinfo, &dbp))) != 0)
+	/*
+	 * XXX
+	 * Don't use sprintf(3)/snprintf(3) -- the former is dangerous, and
+	 * the latter isn't standard, and we're manipulating strings handed
+	 * us by the application.
+	 */
+	if (strlen(file) + strlen(DBM_SUFFIX) + 1 > sizeof(path)) {
+		errno = ENAMETOOLONG;
+		return (NULL);
+	}
+	(void)strcpy(path, file);
+	(void)strcat(path, DBM_SUFFIX);
+	if ((errno = db_open(path,
+	    DB_HASH, __db_oflags(oflags), mode, NULL, &dbinfo, &dbp)) != 0)
 		return (NULL);
 	return ((DBM *)dbp);
 }
@@ -261,7 +272,7 @@ dbm_firstkey(db)
 	DBC *cp;
 
 	if ((cp = TAILQ_FIRST(&db->curs_queue)) == NULL)
-		if ((__set_errno(db->cursor(db, NULL, &cp))) != 0) {
+		if ((errno = db->cursor(db, NULL, &cp)) != 0) {
 			memset(&key, 0, sizeof(key));
 			return (key);
 		}
@@ -294,7 +305,7 @@ dbm_nextkey(db)
 	int status;
 
 	if ((cp = TAILQ_FIRST(&db->curs_queue)) == NULL)
-		if ((__set_errno(db->cursor(db, NULL, &cp))) != 0) {
+		if ((errno = db->cursor(db, NULL, &cp)) != 0) {
 			memset(&key, 0, sizeof(key));
 			return (key);
 		}
@@ -330,9 +341,9 @@ dbm_delete(db, key)
 	_key.size = key.dsize;
 	ret = (((DB *)db)->del)((DB *)db, NULL, &_key, 0);
 	if (ret < 0)
-		__set_errno(ENOENT);
+		errno = ENOENT;
 	else if (ret > 0) {
-		__set_errno(ret);
+		errno = ret;
 		ret = -1;
 	}
 	return (ret);
diff --git a/db2/hash/hash_auto.c b/db2/hash/hash_auto.c
index 4820eb8611..787ee04ddb 100644
--- a/db2/hash/hash_auto.c
+++ b/db2/hash/hash_auto.c
@@ -119,7 +119,6 @@ int __ham_insdel_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_insdel_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_insdel_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -316,7 +315,6 @@ int __ham_newpage_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_newpage_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_newpage_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -479,7 +477,6 @@ int __ham_splitmeta_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_splitmeta_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_splitmeta_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -640,7 +637,6 @@ int __ham_splitdata_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_splitdata_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_splitdata_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -832,7 +828,6 @@ int __ham_replace_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_replace_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_replace_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1034,7 +1029,6 @@ int __ham_newpgno_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_newpgno_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_newpgno_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1203,7 +1197,6 @@ int __ham_ovfl_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_ovfl_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_ovfl_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -1386,7 +1379,6 @@ int __ham_copypage_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __ham_copypage_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __ham_copypage_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
diff --git a/db2/include/btree_ext.h b/db2/include/btree_ext.h
index bbe0d971b2..46f2227bdd 100644
--- a/db2/include/btree_ext.h
+++ b/db2/include/btree_ext.h
@@ -11,7 +11,7 @@ int __bam_cursor __P((DB *, DB_TXN *, DBC **));
 int __bam_c_iclose __P((DB *, DBC *));
 int __bam_get __P((DB *, DB_TXN *, DBT *, DBT *, int));
 int __bam_ovfl_chk __P((DB *, CURSOR *, u_int32_t, int));
-int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *));
+int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, CURSOR *, int));
 void __bam_ca_di __P((DB *, db_pgno_t, u_int32_t, int));
 void __bam_ca_dup __P((DB *,
    db_pgno_t, u_int32_t, u_int32_t, db_pgno_t, u_int32_t));
diff --git a/db2/include/common_ext.h b/db2/include/common_ext.h
index b814582abd..29bc9aa4e2 100644
--- a/db2/include/common_ext.h
+++ b/db2/include/common_ext.h
@@ -23,7 +23,7 @@ int __db_syncchk __P((const DB *, int));
 int __db_ferr __P((const DB_ENV *, const char *, int));
 u_int32_t __db_log2 __P((u_int32_t));
 int __db_rcreate __P((DB_ENV *, APPNAME,
-   const char *, const char *, int, size_t, int *, void *));
+   const char *, const char *, int, size_t, int, int *, void *));
 int __db_rinit __P((DB_ENV *, RLAYOUT *, int, size_t, int));
 int __db_ropen __P((DB_ENV *,
    APPNAME, const char *, const char *, int, int *, void *));
diff --git a/db2/include/db.h.src b/db2/include/db.h.src
index 3cc2bfd4fc..654eb16425 100644
--- a/db2/include/db.h.src
+++ b/db2/include/db.h.src
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)db.h.src	10.91 (Sleepycat) 11/3/97
+ *	@(#)db.h.src	10.97 (Sleepycat) 11/28/97
  */
 
 #ifndef _DB_H_
@@ -73,8 +73,8 @@
 
 #define	DB_VERSION_MAJOR	2
 #define	DB_VERSION_MINOR	3
-#define	DB_VERSION_PATCH	12
-#define	DB_VERSION_STRING	"Sleepycat Software: DB 2.3.12: (11/3/97)"
+#define	DB_VERSION_PATCH	14
+#define	DB_VERSION_STRING	"Sleepycat Software: DB 2.3.14: (11/28/97)"
 
 typedef	u_int32_t	db_pgno_t;	/* Page number type. */
 typedef	u_int16_t	db_indx_t;	/* Page offset type. */
@@ -129,8 +129,10 @@ struct __db_dbt {
 };
 
 /*
- * DB configuration.  There are a set of functions which the application
- * can replace with its own versions.
+ * DB internal configuration.
+ *
+ * There are a set of functions that the application can replace with its
+ * own versions, and some other knobs which can be turned at run-time.
  */
 #define	DB_FUNC_CALLOC	 1		/* ANSI C calloc. */
 #define	DB_FUNC_CLOSE	 2		/* POSIX 1003.1 close. */
@@ -147,11 +149,12 @@ struct __db_dbt {
 #define	DB_FUNC_REALLOC	13		/* ANSI C realloc. */
 #define	DB_FUNC_SEEK	14		/* POSIX 1003.1 lseek. */
 #define	DB_FUNC_SLEEP	15		/* DB: sleep secs/usecs. */
-#define	DB_FUNC_STRDUP	16		/* ANSI C strdup. */
+#define	DB_FUNC_STRDUP	16		/* DB: strdup(3). */
 #define	DB_FUNC_UNLINK	17		/* POSIX 1003.1 unlink. */
 #define	DB_FUNC_UNMAP	18		/* DB: unmap shared memory file. */
 #define	DB_FUNC_WRITE	19		/* POSIX 1003.1 write. */
 #define	DB_FUNC_YIELD	20		/* DB: yield thread to scheduler. */
+#define	DB_TSL_SPINS	21		/* DB: initialize spin count. */
 
 /*
  * Database configuration and initialization.
@@ -211,10 +214,10 @@ struct __db_dbt {
  * locking subsystem.
  */
 #define	DB_LOCK_NORUN		0x0
-#define	DB_LOCK_DEFAULT		0x1
-#define	DB_LOCK_OLDEST		0x2
-#define	DB_LOCK_RANDOM		0x3
-#define	DB_LOCK_YOUNGEST	0x4
+#define	DB_LOCK_DEFAULT		0x1	/* Default policy. */
+#define	DB_LOCK_OLDEST		0x2	/* Abort oldest transaction. */
+#define	DB_LOCK_RANDOM		0x3	/* Abort random transaction. */
+#define	DB_LOCK_YOUNGEST	0x4	/* Abort youngest transaction. */
 
 struct __db_env {
 	int		 db_lorder;	/* Byte order. */
@@ -265,6 +268,10 @@ struct __db_env {
 /*******************************************************
  * Access methods.
  *******************************************************/
+/*
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
 	DB_BTREE=1,			/* B+tree. */
 	DB_HASH,			/* Extended Linear Hashing. */
@@ -347,7 +354,13 @@ struct __db_info {
 #define	DB_SET_RANGE	0x020000	/* c_get() */
 #define	DB_SET_RECNO	0x040000	/* c_get() */
 
-/* DB (user visible) error return codes. */
+/*
+ * DB (user visible) error return codes.
+ *
+ * XXX
+ * Changes to any of the user visible error return codes must be reflected
+ * in java/src/com/sleepycat/db/Db.java.
+ */
 #define	DB_INCOMPLETE		( -1)	/* Sync didn't finish. */
 #define	DB_KEYEMPTY		( -2)	/* The key/data pair was deleted or
 					   was never created by the user. */
@@ -516,6 +529,7 @@ int   db_appinit __P((const char *, char * const *, DB_ENV *, int));
 int   db_appexit __P((DB_ENV *));
 int   db_jump_set __P((void *, int));
 int   db_open __P((const char *, DBTYPE, int, int, DB_ENV *, DB_INFO *, DB **));
+int   db_value_set __P((int, int));
 char *db_version __P((int *, int *, int *));
 #if defined(__cplusplus)
 };
@@ -533,16 +547,26 @@ char *db_version __P((int *, int *, int *));
 /* Flag values for lock_detect(). */
 #define	DB_LOCK_CONFLICT	0x01	/* Run on any conflict. */
 
-/* Request types. */
+/*
+ * Request types.
+ *
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
-	DB_LOCK_DUMP,			/* Display held locks. */
+	DB_LOCK_DUMP=0,			/* Display held locks. */
 	DB_LOCK_GET,			/* Get the lock. */
 	DB_LOCK_PUT,			/* Release the lock. */
 	DB_LOCK_PUT_ALL,		/* Release locker's locks. */
 	DB_LOCK_PUT_OBJ			/* Release locker's locks on obj. */
 } db_lockop_t;
 
-/* Simple R/W lock modes and for multi-granularity intention locking. */
+/*
+ * Simple R/W lock modes and for multi-granularity intention locking.
+ *
+ * XXX
+ * Changes here must be reflected in java/src/com/sleepycat/db/Db.java.
+ */
 typedef enum {
 	DB_LOCK_NG=0,			/* Not granted. */
 	DB_LOCK_READ,			/* Shared/read. */
@@ -577,7 +601,7 @@ extern const u_int8_t db_riw_conflicts[];
 extern "C" {
 #endif
 int	  lock_close __P((DB_LOCKTAB *));
-int	  lock_detect __P((DB_LOCKTAB *, int, u_int32_t));
+int	  lock_detect __P((DB_LOCKTAB *, int, int));
 int	  lock_get __P((DB_LOCKTAB *,
 	    u_int32_t, int, const DBT *, db_lockmode_t, DB_LOCK *));
 int	  lock_id __P((DB_LOCKTAB *, u_int32_t *));
diff --git a/db2/include/db_cxx.h b/db2/include/db_cxx.h
index 01d1231092..83523c5559 100644
--- a/db2/include/db_cxx.h
+++ b/db2/include/db_cxx.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)db_cxx.h	10.12 (Sleepycat) 10/25/97
+ *	@(#)db_cxx.h	10.13 (Sleepycat) 11/25/97
  */
 
 #ifndef _DB_CXX_H_
@@ -202,7 +202,7 @@ class _exported DbLockTab
 friend DbEnv;
 public:
     int close();
-    int detect(int atype, u_int32_t flags);
+    int detect(int flags, int atype);
     int get(u_int32_t locker, int flags, const Dbt *obj,
             db_lockmode_t lock_mode, DbLock *lock);
     int id(u_int32_t *idp);
diff --git a/db2/include/db_ext.h b/db2/include/db_ext.h
index f9b3b3a214..15eeaf50a3 100644
--- a/db2/include/db_ext.h
+++ b/db2/include/db_ext.h
@@ -65,6 +65,7 @@ int __db_add_recovery __P((DB_ENV *,
 int __db_txnlist_init __P((void *));
 int __db_txnlist_add __P((void *, u_int32_t));
 int __db_txnlist_find __P((void *, u_int32_t));
+void __db_txnlist_end __P((void *));
 int __db_dput __P((DB *,
    DBT *, PAGE **, db_indx_t *, int (*)(DB *, u_int32_t, PAGE **)));
 int __db_drem __P((DB *,
diff --git a/db2/include/db_int.h.src b/db2/include/db_int.h.src
index abd93a6e8e..03a882fded 100644
--- a/db2/include/db_int.h.src
+++ b/db2/include/db_int.h.src
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)db_int.h.src	10.36 (Sleepycat) 10/31/97
+ *	@(#)db_int.h.src	10.37 (Sleepycat) 11/25/97
  */
 
 #ifndef _DB_INTERNAL_H_
@@ -168,6 +168,7 @@ typedef struct _db_mutex_t {
 	off_t	off;			/* Backing file offset. */
 	u_long	pid;			/* Lock holder: 0 or process pid. */
 #endif
+	u_int32_t spins;		/* Spins before block. */
 	u_int32_t mutex_set_wait;	/* Granted after wait. */
 	u_int32_t mutex_set_nowait;	/* Granted without waiting. */
 } db_mutex_t;
diff --git a/db2/include/lock.h b/db2/include/lock.h
index 8a927f076e..5031b65d06 100644
--- a/db2/include/lock.h
+++ b/db2/include/lock.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)lock.h	10.9 (Sleepycat) 10/25/97
+ *	@(#)lock.h	10.10 (Sleepycat) 11/13/97
  */
 
 typedef struct __db_lockobj	DB_LOCKOBJ;
@@ -85,10 +85,14 @@ struct __db_lockobj {
 	} dlinks;
 #define	DB_LOCK_OBJTYPE		1
 #define	DB_LOCK_LOCKER		2
+					/* Allocate room in the object to
+					 * hold typical DB lock structures
+					 * so that we do not have to
+					 * allocate them from shalloc. */
+	u_int8_t objdata[sizeof(struct __db_ilock)];
 	u_int8_t type;			/* Real object or locker id. */
 };
 
-
 #define dd_id	wlinks._dd_id
 #define	waiters	wlinks._waiters
 #define	holders	dlinks._holders
diff --git a/db2/include/log.h b/db2/include/log.h
index a192a38136..405daf4148 100644
--- a/db2/include/log.h
+++ b/db2/include/log.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)log.h	10.15 (Sleepycat) 11/2/97
+ *	@(#)log.h	10.16 (Sleepycat) 11/9/97
  */
 
 #ifndef _LOG_H_
@@ -117,20 +117,35 @@ struct __log {
 
 	SH_TAILQ_HEAD(__fq) fq;		/* List of file names. */
 
+	/*
+	 * The lsn LSN is the file offset that we're about to write and which
+	 * we will return to the user.
+	 */
 	DB_LSN	  lsn;			/* LSN at current file offset. */
-	DB_LSN	  c_lsn;		/* LSN of the last checkpoint. */
+
+	/*
+	 * The s_lsn LSN is the last LSN that we know is on disk, not just
+	 * written, by synced.
+	 */
 	DB_LSN	  s_lsn;		/* LSN of the last sync. */
-	DB_LSN	  uw_lsn;		/* LSN of 1st rec not fully on disk. */
 
 	u_int32_t len;			/* Length of the last record. */
 
-	size_t	  b_off;		/* Current offset in the buffer. */
 	u_int32_t w_off;		/* Current write offset in the file. */
 
+	DB_LSN	  c_lsn;		/* LSN of the last checkpoint. */
 	time_t	  chkpt;		/* Time of the last checkpoint. */
 
 	DB_LOG_STAT stat;		/* Log statistics. */
 
+	/*
+	 * The f_lsn LSN is the LSN (returned to the user) that "owns" the
+	 * first byte of the buffer.  If the record associated with the LSN
+	 * spans buffers, it may not reflect the physical file location of
+	 * the first byte of the buffer.
+	 */
+	DB_LSN	  f_lsn;		/* LSN of first byte in the buffer. */
+	size_t	  b_off;		/* Current offset in the buffer. */
 	u_int8_t buf[4 * 1024];		/* Log buffer. */
 };
 
diff --git a/db2/include/mp.h b/db2/include/mp.h
index f68f42b144..f108246f2c 100644
--- a/db2/include/mp.h
+++ b/db2/include/mp.h
@@ -4,7 +4,7 @@
  * Copyright (c) 1996, 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)mp.h	10.19 (Sleepycat) 10/25/97
+ *	@(#)mp.h	10.22 (Sleepycat) 11/28/97
  */
 
 struct __bh;		typedef struct __bh BH;
@@ -23,7 +23,6 @@ struct __mpoolfile;	typedef struct __mpoolfile MPOOLFILE;
 #define	DB_CACHESIZE_MIN	( 20 * 1024)
 
 #define	INVALID		0		/* Invalid shared memory offset. */
-#define	TEMPORARY	"<tmp>"		/* Temporary file name. */
 
 /*
  * There are three ways we do locking in the mpool code:
@@ -122,10 +121,10 @@ struct __db_mpool {
 
 	int	    fd;			/* Underlying mmap'd fd. */
 
-
 #define	MP_ISPRIVATE	0x01		/* Private, so local memory. */
 #define	MP_LOCKHANDLE	0x02		/* Threaded, lock handles and region. */
 #define	MP_LOCKREGION	0x04		/* Concurrent access, lock region. */
+#define	MP_MALLOC	0x08		/* If region in allocated memory. */
 	u_int32_t  flags;
 };
 
@@ -157,7 +156,6 @@ struct __db_mpoolfile {
 /* These fields are not protected. */
 	TAILQ_ENTRY(__db_mpoolfile) q;	/* Linked list of DB_MPOOLFILE's. */
 
-	char	  *path;		/* Initial file path. */
 	DB_MPOOL  *dbmp;		/* Overlying DB_MPOOL. */
 	MPOOLFILE *mfp;			/* Underlying MPOOLFILE. */
 
@@ -165,11 +163,9 @@ struct __db_mpoolfile {
 	size_t	   len;			/* Length of mmap'd region. */
 
 /* These fields need to be protected for multi-threaded support. */
-#define	MP_PATH_ALLOC	0x001		/* Path is allocated memory. */
-#define	MP_PATH_TEMP	0x002		/* Backing file is a temporary. */
-#define	MP_READONLY	0x004		/* File is readonly. */
-#define	MP_UPGRADE	0x008		/* File descriptor is readwrite. */
-#define	MP_UPGRADE_FAIL	0x010		/* Upgrade wasn't possible. */
+#define	MP_READONLY	0x01		/* File is readonly. */
+#define	MP_UPGRADE	0x02		/* File descriptor is readwrite. */
+#define	MP_UPGRADE_FAIL	0x04		/* Upgrade wasn't possible. */
 	u_int32_t  flags;
 };
 
@@ -220,12 +216,9 @@ struct __mpoolfile {
 	u_int32_t ref;			/* Reference count. */
 
 	int	  ftype;		/* File type. */
-	int	  can_mmap;		/* If the file can be mmap'd. */
-
 	int	  lsn_off;		/* Page's LSN offset. */
 
 	size_t	  path_off;		/* File name location. */
-
 	size_t	  fileid_off;		/* File identification location. */
 
 	size_t	  pgcookie_len;		/* Pgin/pgout cookie length. */
@@ -233,6 +226,12 @@ struct __mpoolfile {
 
 	int	  lsn_cnt;		/* Checkpoint buffers left to write. */
 
+	db_pgno_t last_pgno;		/* Last page in the file. */
+
+#define	MP_CAN_MMAP	0x01		/* If the file can be mmap'd. */
+#define	MP_TEMP		0x02		/* Backing file is a temporary. */
+	u_int32_t  flags;
+
 	DB_MPOOL_FSTAT stat;		/* Per-file mpool statistics. */
 };
 
diff --git a/db2/include/mp_ext.h b/db2/include/mp_ext.h
index 49d86ba2e5..b78b3423cd 100644
--- a/db2/include/mp_ext.h
+++ b/db2/include/mp_ext.h
@@ -5,8 +5,10 @@ int __memp_pgread __P((DB_MPOOLFILE *, BH *, int));
 int __memp_pgwrite __P((DB_MPOOLFILE *, BH *, int *, int *));
 int __memp_pg __P((DB_MPOOLFILE *, BH *, int));
 void __memp_bhfree __P((DB_MPOOL *, MPOOLFILE *, BH *, int));
-int __memp_fopen __P((DB_MPOOL *, const char *, int, int,
-   int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **));
+int __memp_fopen __P((DB_MPOOL *, MPOOLFILE *, const char *, int,
+   int, int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **));
+char * __memp_fn __P((DB_MPOOLFILE *));
+char * __memp_fns __P((DB_MPOOL *, MPOOLFILE *));
 void __memp_debug __P((DB_MPOOL *, FILE *, int));
 int __memp_ralloc __P((DB_MPOOL *, size_t, size_t *, void *));
 int __memp_ropen
diff --git a/db2/include/os_ext.h b/db2/include/os_ext.h
index e48a1e9407..2edf2e257d 100644
--- a/db2/include/os_ext.h
+++ b/db2/include/os_ext.h
@@ -1,5 +1,8 @@
 /* DO NOT EDIT: automatically built by dist/distrib. */
 int __db_abspath __P((const char *));
+void *__db_calloc __P((size_t, size_t));
+void *__db_malloc __P((size_t));
+void *__db_realloc __P((void *, size_t));
 int __os_dirlist __P((const char *, char ***, int *));
 void __os_dirfree __P((char **, int));
 int __db_fileid __P((DB_ENV *, const char *, int, u_int8_t *));
@@ -14,6 +17,7 @@ int __db_read __P((int, void *, size_t, ssize_t *));
 int __db_write __P((int, void *, size_t, ssize_t *));
 int __os_seek __P((int, size_t, db_pgno_t, u_long, int));
 int __os_sleep __P((u_long, u_long));
+int __os_spin __P((void));
 int __os_exists __P((const char *, int *));
 int __os_ioinfo __P((const char *, int, off_t *, off_t *));
 int __db_unlink __P((const char *));
diff --git a/db2/include/os_func.h b/db2/include/os_func.h
index 0a72942903..54b64ffaa2 100644
--- a/db2/include/os_func.h
+++ b/db2/include/os_func.h
@@ -4,12 +4,11 @@
  * Copyright (c) 1997
  *	Sleepycat Software.  All rights reserved.
  *
- *	@(#)os_func.h	10.2 (Sleepycat) 10/28/97
+ *	@(#)os_func.h	10.4 (Sleepycat) 11/28/97
  */
 
 /* Calls which can be replaced by the application. */
 struct __db_jumptab {
-	void   *(*db_calloc) __P((size_t, size_t));	/* DB_FUNC_CALLOC */
 	int	(*db_close) __P((int));			/* DB_FUNC_CLOSE */
 	void	(*db_dirfree) __P((char **, int));	/* DB_FUNC_DIRFREE */
 	int	(*db_dirlist)				/* DB_FUNC_DIRLIST */
@@ -54,7 +53,6 @@ extern struct __db_jumptab __db_jump;
  * part of DB is the only code that should use the __os_XXX names, all other
  * parts of DB should be calling __db_XXX functions.
  */
-#define	__db_calloc	__db_jump.db_calloc
 #define	__os_close	__db_jump.db_close	/* __db_close is a wrapper. */
 #define	__db_dirfree	__db_jump.db_dirfree
 #define	__db_dirlist	__db_jump.db_dirlist
@@ -62,11 +60,9 @@ extern struct __db_jumptab __db_jump;
 #define	__db_free	__db_jump.db_free
 #define	__os_fsync	__db_jump.db_fsync	/* __db_fsync is a wrapper. */
 #define	__db_ioinfo	__db_jump.db_ioinfo
-#define	__db_malloc	__db_jump.db_malloc
 #define	__db_map	__db_jump.db_map
 #define	__os_open	__db_jump.db_open	/* __db_open is a wrapper. */
 #define	__os_read	__db_jump.db_read	/* __db_read is a wrapper. */
-#define	__db_realloc	__db_jump.db_realloc
 #define	__db_seek	__db_jump.db_seek
 #define	__db_sleep	__db_jump.db_sleep
 #define	__db_strdup	__db_jump.db_strdup
diff --git a/db2/lock/lock.c b/db2/lock/lock.c
index f1223a9fa6..9b1cbc8a08 100644
--- a/db2/lock/lock.c
+++ b/db2/lock/lock.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)lock.c	10.38 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)lock.c	10.41 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -91,7 +91,7 @@ __lock_create(path, mode, dbenv)
 	if ((ret =
 	    __db_rcreate(dbenv, DB_APP_NONE, path, DB_DEFAULT_LOCK_FILE, mode,
 	    LOCK_REGION_SIZE(lock_modes, maxlocks, __db_tablesize(maxlocks)),
-	    &fd, &lrp)) != 0)
+	    0, &fd, &lrp)) != 0)
 		return (ret);
 
 	/* Region exists; now initialize it. */
@@ -600,7 +600,9 @@ __lock_put_internal(lt, lockp, do_all)
 	if (SH_TAILQ_FIRST(&sh_obj->holders, __db_lock) == NULL) {
 		HASHREMOVE_EL(lt->hashtab, __db_lockobj,
 		    links, sh_obj, lt->region->table_size, __lock_lhash);
-		__db_shalloc_free(lt->mem, SH_DBT_PTR(&sh_obj->lockobj));
+		if (sh_obj->lockobj.size > sizeof(sh_obj->objdata))
+			__db_shalloc_free(lt->mem,
+			    SH_DBT_PTR(&sh_obj->lockobj));
 		SH_TAILQ_INSERT_HEAD(&lt->region->free_objs, sh_obj, links,
 		    __db_lockobj);
 		state_changed = 1;
@@ -633,7 +635,7 @@ __lock_get_internal(lt, locker, flags, obj, lock_mode, lockp)
 	DB_LOCKOBJ *sh_obj, *sh_locker;
 	DB_LOCKREGION *lrp;
 	size_t newl_off;
-	int ret;
+	int ihold, ret;
 
 	ret = 0;
 	/*
@@ -680,29 +682,40 @@ __lock_get_internal(lt, locker, flags, obj, lock_mode, lockp)
 	 * new lock if it does not conflict with anyone on the holders list
 	 * OR anyone on the waiters list.  The reason that we don't grant if
 	 * there's a conflict is that this can lead to starvation (a writer
-	 * waiting on a popularly read item will never ben granted).  The
+	 * waiting on a popularly read item will never be granted).  The
 	 * downside of this is that a waiting reader can prevent an upgrade
-	 * from reader to writer, which is not uncommon.  In case of conflict,
-	 * we put the new lock on the end of the waiters list.
+	 * from reader to writer, which is not uncommon.
+	 *
+	 * There is one exception to the no-conflict rule.  If a lock is held
+	 * by the requesting locker AND the new lock does not conflict with
+	 * any other holders, then we grant the lock.  The most common place
+	 * this happens is when the holder has a WRITE lock and a READ lock
+	 * request comes in for the same locker.  If we do not grant the read
+	 * lock, then we guarantee deadlock.
+	 *
+	 * In case of conflict, we put the new lock on the end of the waiters
+	 * list.
 	 */
+	ihold = 0;
 	for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
 	    lp != NULL;
 	    lp = SH_TAILQ_NEXT(lp, links, __db_lock)) {
-		if (CONFLICTS(lt, lp->mode, lock_mode) &&
-		    locker != lp->holder)
+		if (locker == lp->holder) {
+			if (lp->mode == lock_mode &&
+			    lp->status == DB_LSTAT_HELD) {
+				/* Lock is held, just inc the ref count. */
+				lp->refcount++;
+				SH_TAILQ_INSERT_HEAD(&lrp->free_locks,
+				    newl, links, __db_lock);
+				*lockp = lp;
+				return (0);
+			} else
+				ihold = 1;
+		} else if (CONFLICTS(lt, lp->mode, lock_mode))
 			break;
-		else if (lp->holder == locker && lp->mode == lock_mode &&
-		    lp->status == DB_LSTAT_HELD) {
-			/* Lock is already held, just inc the ref count. */
-			lp->refcount++;
-			SH_TAILQ_INSERT_HEAD(&lrp->free_locks, newl, links,
-			    __db_lock);
-			*lockp = lp;
-			return (0);
-		}
     	}
 
-	if (lp == NULL)
+	if (lp == NULL && !ihold)
 		for (lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock);
 		    lp != NULL;
 		    lp = SH_TAILQ_NEXT(lp, links, __db_lock)) {
@@ -1261,25 +1274,37 @@ __lock_getobj(lt, locker, dbt, type, objp)
 	 */
 	if (sh_obj == NULL) {
 		/* Create new object and then insert it into hash table. */
-		if ((sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj))
-		    == NULL) {
+		if ((sh_obj =
+		    SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj)) == NULL) {
 			if ((ret = __lock_grow_region(lt, DB_LOCK_OBJ, 0)) != 0)
 				return (ret);
 			lrp = lt->region;
 			sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj);
 		}
-		if ((ret = __db_shalloc(lt->mem, obj_size, 0, &p)) != 0) {
-			if ((ret = __lock_grow_region(lt,
-			    DB_LOCK_MEM, obj_size)) != 0)
-				return (ret);
-			lrp = lt->region;
-			/* Reacquire the head of the list. */
-			sh_obj = SH_TAILQ_FIRST(&lrp->free_objs, __db_lockobj);
-			(void)__db_shalloc(lt->mem, obj_size, 0, &p);
-		}
-		sh_obj->type = type;
+
+		/*
+		 * If we can fit this object in the structure, do so instead
+		 * of shalloc-ing space for it.
+		 */
+		if (obj_size <= sizeof(sh_obj->objdata))
+			p = sh_obj->objdata;
+		else
+			if ((ret =
+			    __db_shalloc(lt->mem, obj_size, 0, &p)) != 0) {
+				if ((ret = __lock_grow_region(lt,
+				    DB_LOCK_MEM, obj_size)) != 0)
+					return (ret);
+				lrp = lt->region;
+				/* Reacquire the head of the list. */
+				sh_obj = SH_TAILQ_FIRST(&lrp->free_objs,
+				    __db_lockobj);
+				(void)__db_shalloc(lt->mem, obj_size, 0, &p);
+			}
+
 		src = type == DB_LOCK_OBJTYPE ? dbt->data : (void *)&locker;
 		memcpy(p, src, obj_size);
+
+		sh_obj->type = type;
 		SH_TAILQ_REMOVE(&lrp->free_objs, sh_obj, links, __db_lockobj);
 
 		SH_TAILQ_INIT(&sh_obj->waiters);
@@ -1329,7 +1354,8 @@ __lock_freeobj(lt, obj)
 {
 	HASHREMOVE_EL(lt->hashtab,
 	    __db_lockobj, links, obj, lt->region->table_size, __lock_lhash);
-	__db_shalloc_free(lt->mem, SH_DBT_PTR(&obj->lockobj));
+	if (obj->lockobj.size > sizeof(obj->objdata))
+		__db_shalloc_free(lt->mem, SH_DBT_PTR(&obj->lockobj));
 	SH_TAILQ_INSERT_HEAD(&lt->region->free_objs, obj, links, __db_lockobj);
 }
 
diff --git a/db2/lock/lock_deadlock.c b/db2/lock/lock_deadlock.c
index 566021fe89..93c438ca36 100644
--- a/db2/lock/lock_deadlock.c
+++ b/db2/lock/lock_deadlock.c
@@ -11,7 +11,7 @@
 static const char copyright[] =
 "@(#) Copyright (c) 1997\n\
 	Sleepycat Software Inc.  All rights reserved.\n";
-static const char sccsid[] = "@(#)lock_deadlock.c	10.25 (Sleepycat) 11/1/97";
+static const char sccsid[] = "@(#)lock_deadlock.c	10.26 (Sleepycat) 11/25/97";
 #endif
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -66,8 +66,7 @@ static void __dd_debug __P((DB_ENV *, locker_info *, u_int32_t *, u_int32_t));
 int
 lock_detect(lt, flags, atype)
 	DB_LOCKTAB *lt;
-	int flags;
-	u_int32_t atype;
+	int flags, atype;
 {
 	DB_ENV *dbenv;
 	locker_info *idmap;
diff --git a/db2/log/log.c b/db2/log/log.c
index 17681f8e0f..a9bf7a95ab 100644
--- a/db2/log/log.c
+++ b/db2/log/log.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)log.c	10.33 (Sleepycat) 11/2/97";
+static const char sccsid[] = "@(#)log.c	10.34 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -91,7 +91,7 @@ log_open(path, flags, mode, dbenv, lpp)
 	retry_cnt = newregion = 0;
 retry:	if (LF_ISSET(DB_CREATE)) {
 		ret = __db_rcreate(dbenv, DB_APP_LOG, path,
-		    DB_DEFAULT_LOG_FILE, mode, len, &fd, &dblp->maddr);
+		    DB_DEFAULT_LOG_FILE, mode, len, 0, &fd, &dblp->maddr);
 		if (ret == 0) {
 			/* Put the LOG structure first in the region. */
 			lp = dblp->maddr;
diff --git a/db2/log/log_archive.c b/db2/log/log_archive.c
index 140ea31fd1..0248e2815c 100644
--- a/db2/log/log_archive.c
+++ b/db2/log/log_archive.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)log_archive.c	10.28 (Sleepycat) 10/28/97";
+static const char sccsid[] = "@(#)log_archive.c	10.29 (Sleepycat) 11/12/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -360,9 +360,9 @@ __absname(pref, name, newnamep)
  *	If the user has their own malloc routine, use it.
  */
 static int
-__usermem(listp, func)
+__usermem(listp, cmpfunc)
 	char ***listp;
-	void *(*func) __P((size_t));
+	void *(*cmpfunc) __P((size_t));
 {
 	size_t len;
 	char **array, **arrayp, **orig, *strp;
@@ -378,10 +378,10 @@ __usermem(listp, func)
 	 * XXX
 	 * Don't simplify this expression, SunOS compilers don't like it.
 	 */
-	if (func == NULL)
+	if (cmpfunc == NULL)
 		array = (char **)__db_malloc(len);
 	else
-		array = (char **)func(len);
+		array = (char **)cmpfunc(len);
 	if (array == NULL)
 		return (ENOMEM);
 	strp = (char *)(array + (orig - *listp) + 1);
diff --git a/db2/log/log_auto.c b/db2/log/log_auto.c
index d5dbfe1f5f..61626b090e 100644
--- a/db2/log/log_auto.c
+++ b/db2/log/log_auto.c
@@ -102,7 +102,6 @@ int __log_register_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __log_register_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __log_register_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -250,7 +249,6 @@ int __log_unregister_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __log_unregister_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __log_unregister_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
diff --git a/db2/log/log_get.c b/db2/log/log_get.c
index ed35d57f82..2d1512c6b9 100644
--- a/db2/log/log_get.c
+++ b/db2/log/log_get.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)log_get.c	10.21 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)log_get.c	10.22 (Sleepycat) 11/22/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -44,24 +44,21 @@ log_get(dblp, alsn, dbt, flags)
 	/* Validate arguments. */
 #define	OKFLAGS	(DB_CHECKPOINT | \
     DB_CURRENT | DB_FIRST | DB_LAST | DB_NEXT | DB_PREV | DB_SET)
-	if (flags != 0) {
-		if ((ret =
-		    __db_fchk(dblp->dbenv, "log_get", flags, OKFLAGS)) != 0)
-			return (ret);
-		switch (flags) {
-		case DB_CHECKPOINT:
-		case DB_CURRENT:
-		case DB_FIRST:
-		case DB_LAST:
-		case DB_NEXT:
-		case DB_PREV:
-		case DB_SET:
-		case 0:
-			break;
-		default:
-			return (__db_ferr(dblp->dbenv, "log_get", 1));
-		}
+	if ((ret = __db_fchk(dblp->dbenv, "log_get", flags, OKFLAGS)) != 0)
+		return (ret);
+	switch (flags) {
+	case DB_CHECKPOINT:
+	case DB_CURRENT:
+	case DB_FIRST:
+	case DB_LAST:
+	case DB_NEXT:
+	case DB_PREV:
+	case DB_SET:
+		break;
+	default:
+		return (__db_ferr(dblp->dbenv, "log_get", 1));
 	}
+
 	if (F_ISSET(dblp, DB_AM_THREAD)) {
 		if (LF_ISSET(DB_NEXT | DB_PREV | DB_CURRENT))
 			return (__db_ferr(dblp->dbenv, "log_get", 1));
diff --git a/db2/log/log_put.c b/db2/log/log_put.c
index 92d9563301..42fec88a7d 100644
--- a/db2/log/log_put.c
+++ b/db2/log/log_put.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)log_put.c	10.20 (Sleepycat) 11/2/97";
+static const char sccsid[] = "@(#)log_put.c	10.22 (Sleepycat) 11/12/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -28,10 +28,10 @@ static const char sccsid[] = "@(#)log_put.c	10.20 (Sleepycat) 11/2/97";
 #include "hash.h"
 #include "common_ext.h"
 
-static int __log_fill __P((DB_LOG *, void *, u_int32_t));
+static int __log_fill __P((DB_LOG *, DB_LSN *, void *, u_int32_t));
 static int __log_flush __P((DB_LOG *, const DB_LSN *));
 static int __log_newfd __P((DB_LOG *));
-static int __log_putr __P((DB_LOG *, const DBT *, u_int32_t));
+static int __log_putr __P((DB_LOG *, DB_LSN *, const DBT *, u_int32_t));
 static int __log_write __P((DB_LOG *, void *, u_int32_t));
 
 /*
@@ -117,12 +117,13 @@ __log_put(dblp, lsn, dbt, flags)
 
 		/* Reset the file write offset. */
 		lp->w_off = 0;
-
-		/* Reset the first-unwritten LSN for the buffer. */
-		lp->uw_lsn = lp->lsn;
 	} else
 		lastoff = 0;
 
+	/* Initialize the LSN information returned to the user. */
+	lsn->file = lp->lsn.file;
+	lsn->offset = lp->lsn.offset;
+
 	/*
 	 * Insert persistent information as the first record in every file.
 	 * Note that the previous length is wrong for the very first record
@@ -131,17 +132,17 @@ __log_put(dblp, lsn, dbt, flags)
 	if (lp->lsn.offset == 0) {
 		t.data = &lp->persist;
 		t.size = sizeof(LOGP);
-		if ((ret = __log_putr(dblp,
+		if ((ret = __log_putr(dblp, lsn,
 		    &t, lastoff == 0 ? 0 : lastoff - lp->len)) != 0)
 			return (ret);
-	}
 
-	/* Initialize the LSN information returned to the user. */
-	lsn->file = lp->lsn.file;
-	lsn->offset = lp->lsn.offset;
+		/* Update the LSN information returned to the user. */
+		lsn->file = lp->lsn.file;
+		lsn->offset = lp->lsn.offset;
+	}
 
-	/* Put out the user's record. */
-	if ((ret = __log_putr(dblp, dbt, lp->lsn.offset - lp->len)) != 0)
+	/* Write the application's log record. */
+	if ((ret = __log_putr(dblp, lsn, dbt, lp->lsn.offset - lp->len)) != 0)
 		return (ret);
 
 	/*
@@ -184,19 +185,6 @@ __log_put(dblp, lsn, dbt, flags)
 		(void)time(&lp->chkpt);
 		lp->stat.st_wc_bytes = lp->stat.st_wc_mbytes = 0;
 	}
-
-	/*
-	 * When an application calls the log_flush routine, we need to figure
-	 * out if the current buffer needs to be flushed.  The problem is that
-	 * if a record spans buffers, it's possible for the record continued
-	 * in the current buffer to have begun in a previous buffer.  Each time
-	 * we write a buffer, we update the first-unwritten LSN to point to the
-	 * first LSN after that written buffer.  If we have a spanning record,
-	 * correct that value to be the LSN that started it all, here.
-	 */
-	if (lsn->offset < lp->w_off && lsn->offset + lp->len > lp->w_off)
-		lp->uw_lsn = *lsn;
-
 	return (0);
 }
 
@@ -205,8 +193,9 @@ __log_put(dblp, lsn, dbt, flags)
  *	Actually put a record into the log.
  */
 static int
-__log_putr(dblp, dbt, prev)
+__log_putr(dblp, lsn, dbt, prev)
 	DB_LOG *dblp;
+	DB_LSN *lsn;
 	const DBT *dbt;
 	u_int32_t prev;
 {
@@ -225,15 +214,15 @@ __log_putr(dblp, dbt, prev)
 	hdr.len = sizeof(HDR) + dbt->size;
 	hdr.cksum = __ham_func4(dbt->data, dbt->size);
 
-	if ((ret = __log_fill(dblp, &hdr, sizeof(HDR))) != 0)
+	if ((ret = __log_fill(dblp, lsn, &hdr, sizeof(HDR))) != 0)
 		return (ret);
+	lp->len = sizeof(HDR);
 	lp->lsn.offset += sizeof(HDR);
 
-	if ((ret = __log_fill(dblp, dbt->data, dbt->size)) != 0)
+	if ((ret = __log_fill(dblp, lsn, dbt->data, dbt->size)) != 0)
 		return (ret);
+	lp->len += dbt->size;
 	lp->lsn.offset += dbt->size;
-
-	lp->len = sizeof(HDR) + dbt->size;
 	return (0);
 }
 
@@ -266,7 +255,7 @@ __log_flush(dblp, lsn)
 {
 	DB_LSN t_lsn;
 	LOG *lp;
-	int ret;
+	int current, ret;
 
 	ret = 0;
 	lp = dblp->lp;
@@ -292,23 +281,27 @@ __log_flush(dblp, lsn)
 	/*
 	 * If the LSN is less than the last-sync'd LSN, we're done.  Note,
 	 * the last-sync LSN saved in s_lsn is the LSN of the first byte 
-	 * that has not yet been written to disk, so the test is <, not <=.
+	 * we absolutely know has been written to disk, so the test is <=.
 	 */
 	if (lsn->file < lp->s_lsn.file ||
-	    (lsn->file == lp->s_lsn.file && lsn->offset < lp->s_lsn.offset))
+	    (lsn->file == lp->s_lsn.file && lsn->offset <= lp->s_lsn.offset))
 		return (0);
 
 	/*
 	 * We may need to write the current buffer.  We have to write the
 	 * current buffer if the flush LSN is greater than or equal to the
-	 * first-unwritten LSN (uw_lsn).  If we write the buffer, then we
-	 * update the first-unwritten LSN.
+	 * buffer's starting LSN.
 	 */
+	current = 0;
 	if (lp->b_off != 0 &&
-	    lsn->file >= lp->uw_lsn.file && lsn->offset >= lp->uw_lsn.offset)
+	    lsn->file >= lp->f_lsn.file && lsn->offset >= lp->f_lsn.offset) {
 		if ((ret = __log_write(dblp, lp->buf, lp->b_off)) != 0)
 			return (ret);
 
+		lp->b_off = 0;
+		current = 1;
+	}
+
 	/*
 	 * It's possible that this thread may never have written to this log
 	 * file.  Acquire a file descriptor if we don't already have one.
@@ -323,10 +316,14 @@ __log_flush(dblp, lsn)
 	++lp->stat.st_scount;
 
 	/*
-	 * Set the last-synced LSN, the first LSN after the last record
-	 * that we know is on disk.
+	 * Set the last-synced LSN, using the LSN of the current buffer.  If
+	 * the current buffer was flushed, we know the LSN of the first byte
+	 * of the buffer is on disk, otherwise, we only know that the LSN of
+	 * the record before the one beginning the current buffer is on disk.
 	 */
-	lp->s_lsn = lp->uw_lsn;
+	lp->s_lsn = lp->f_lsn;
+	if (!current)
+		--lp->s_lsn.offset;
 
 	return (0);
 }
@@ -336,8 +333,9 @@ __log_flush(dblp, lsn)
  *	Write information into the log.
  */
 static int
-__log_fill(dblp, addr, len)
+__log_fill(dblp, lsn, addr, len)
 	DB_LOG *dblp;
+	DB_LSN *lsn;
 	void *addr;
 	u_int32_t len;
 {
@@ -349,6 +347,15 @@ __log_fill(dblp, addr, len)
 	/* Copy out the data. */
 	for (lp = dblp->lp; len > 0;) {
 		/*
+		 * If we're beginning a new buffer, note the user LSN to which
+		 * the first byte of the buffer belongs.  We have to know this
+		 * when flushing the buffer so that we know if the in-memory
+		 * buffer needs to be flushed.
+		 */
+		if (lp->b_off == 0)
+			lp->f_lsn = *lsn;
+
+		/*
 		 * If we're on a buffer boundary and the data is big enough,
 		 * copy as many records as we can directly from the data.
 		 */
@@ -371,9 +378,12 @@ __log_fill(dblp, addr, len)
 		lp->b_off += nw;
 
 		/* If we fill the buffer, flush it. */
-		if (lp->b_off == sizeof(lp->buf) &&
-		    (ret = __log_write(dblp, lp->buf, sizeof(lp->buf))) != 0)
-			return (ret);
+		if (lp->b_off == sizeof(lp->buf)) {
+			if ((ret =
+			    __log_write(dblp, lp->buf, sizeof(lp->buf))) != 0)
+				return (ret);
+			lp->b_off = 0;
+		}
 	}
 	return (0);
 }
@@ -412,14 +422,8 @@ __log_write(dblp, addr, len)
 	if (nw != (int32_t)len)
 		return (EIO);
 
-	/*
-	 * Reset the buffer offset, update the seek offset, and update the
-	 * first-unwritten LSN.
-	 */
-	lp->b_off = 0;
+	/* Reset the buffer offset and update the seek offset. */
 	lp->w_off += len;
-	lp->uw_lsn.file = lp->lsn.file;
-	lp->uw_lsn.offset = lp->w_off;
 
 	/* Update written statistics. */
 	if ((lp->stat.st_w_bytes += len) >= MEGABYTE) {
diff --git a/db2/mp/mp_bh.c b/db2/mp/mp_bh.c
index a707603eec..578abedcb6 100644
--- a/db2/mp/mp_bh.c
+++ b/db2/mp/mp_bh.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_bh.c	10.21 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)mp_bh.c	10.23 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -40,7 +40,6 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep)
 	BH *bhp;
 	int *restartp, *wrotep;
 {
-	DBT dbt;
 	DB_MPOOLFILE *dbmfp;
 	DB_MPREG *mpreg;
 
@@ -53,7 +52,7 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep)
 	 * Walk the process' DB_MPOOLFILE list and find a file descriptor for
 	 * the file.  We also check that the descriptor is open for writing.
 	 * If we find a descriptor on the file that's not open for writing, we
-	 * try and upgrade it to make it writeable.
+	 * try and upgrade it to make it writeable.  If that fails, we're done.
 	 */
 	LOCKHANDLE(dbmp, dbmp->mutexp);
 	for (dbmfp = TAILQ_FIRST(&dbmp->dbmfq);
@@ -86,18 +85,34 @@ __memp_bhwrite(dbmp, mfp, bhp, restartp, wrotep)
 	}
 
 	/*
-	 * Try and open the file; ignore any error, assume it's a permissions
-	 * problem.
+	 * Try and open the file, attaching to the underlying shared area.
 	 *
 	 * XXX
-	 * There's no negative cache here, so we may repeatedly try and open
-	 * files that we have previously tried (and failed) to open.
+	 * Don't try to attach to temporary files.  There are two problems in
+	 * trying to do that.  First, if we have different privileges than the
+	 * process that "owns" the temporary file, we might create the backing
+	 * disk file such that the owning process couldn't read/write its own
+	 * buffers, e.g., memp_trickle() running as root creating a file owned
+	 * as root, mode 600.  Second, if the temporary file has already been
+	 * created, we don't have any way of finding out what its real name is,
+	 * and, even if we did, it was already unlinked (so that it won't be
+	 * left if the process dies horribly).  This decision causes a problem,
+	 * however: if the temporary file consumes the entire buffer cache,
+	 * and the owner doesn't flush the buffers to disk, we could end up
+	 * with resource starvation, and the memp_trickle() thread couldn't do
+	 * anything about it.  That's a pretty unlikely scenario, though.
+	 *
+	 * XXX
+	 * There's no negative cache, so we may repeatedly try and open files
+	 * that we have previously tried (and failed) to open.
+	 *
+	 * Ignore any error, assume it's a permissions problem.
 	 */
-	dbt.size = mfp->pgcookie_len;
-	dbt.data = R_ADDR(dbmp, mfp->pgcookie_off);
-	if (__memp_fopen(dbmp, R_ADDR(dbmp, mfp->path_off),
-	    mfp->ftype, 0, 0, mfp->stat.st_pagesize,
-	    mfp->lsn_off, &dbt, R_ADDR(dbmp, mfp->fileid_off), 0, &dbmfp) != 0)
+	if (F_ISSET(mfp, MP_TEMP))
+		return (0);
+
+	if (__memp_fopen(dbmp, mfp, R_ADDR(dbmp, mfp->path_off), mfp->ftype,
+	    0, 0, mfp->stat.st_pagesize, 0, NULL, NULL, 0, &dbmfp) != 0)
 		return (0);
 
 found:	return (__memp_pgwrite(dbmfp, bhp, restartp, wrotep));
@@ -144,7 +159,7 @@ __memp_pgread(dbmfp, bhp, can_create)
 			UNLOCKHANDLE(dbmp, dbmfp->mutexp);
 			__db_err(dbmp->dbenv,
 			    "%s: page %lu doesn't exist, create flag not set",
-			    dbmfp->path, (u_long)bhp->pgno);
+			    __memp_fn(dbmfp), (u_long)bhp->pgno);
 			goto err;
 		}
 		UNLOCKHANDLE(dbmp, dbmfp->mutexp);
@@ -270,12 +285,14 @@ __memp_pgwrite(dbmfp, bhp, restartp, wrotep)
 
 	/* Temporary files may not yet have been created. */
 	LOCKHANDLE(dbmp, dbmfp->mutexp);
-	if (dbmfp->fd == -1 && ((ret = __db_appname(dbenv, DB_APP_TMP,
-	    NULL, NULL, &dbmfp->fd, NULL)) != 0 || dbmfp->fd == -1)) {
-		UNLOCKHANDLE(dbmp, dbmfp->mutexp);
-		__db_err(dbenv, "unable to create temporary backing file");
-		goto err;
-	}
+	if (dbmfp->fd == -1)
+		if ((ret = __db_appname(dbenv, DB_APP_TMP,
+		    NULL, NULL, &dbmfp->fd, NULL)) != 0 || dbmfp->fd == -1) {
+			UNLOCKHANDLE(dbmp, dbmfp->mutexp);
+			__db_err(dbenv,
+			    "unable to create temporary backing file");
+			goto err;
+		}
 
 	/* Write the page out. */
 	if ((ret = __db_seek(dbmfp->fd, pagesize, bhp->pgno, 0, SEEK_SET)) != 0)
@@ -350,8 +367,8 @@ __memp_pgwrite(dbmfp, bhp, restartp, wrotep)
 
 	return (0);
 
-syserr:	__db_err(dbenv,
-	    "%s: %s failed for page %lu", dbmfp->path, fail, (u_long)bhp->pgno);
+syserr:	__db_err(dbenv, "%s: %s failed for page %lu",
+	    __memp_fn(dbmfp), fail, (u_long)bhp->pgno);
 
 err:	UNLOCKBUFFER(dbmp, bhp);
 	LOCKREGION(dbmp);
@@ -416,7 +433,7 @@ __memp_pg(dbmfp, bhp, is_pgin)
 
 err:	UNLOCKHANDLE(dbmp, dbmp->mutexp);
 	__db_err(dbmp->dbenv, "%s: %s failed for page %lu",
-	    dbmfp->path, is_pgin ? "pgin" : "pgout", (u_long)bhp->pgno);
+	    __memp_fn(dbmfp), is_pgin ? "pgin" : "pgout", (u_long)bhp->pgno);
 	return (ret);
 }
 
@@ -462,7 +479,8 @@ __memp_upgrade(dbmp, dbmfp, mfp)
 	DB_MPOOLFILE *dbmfp;
 	MPOOLFILE *mfp;
 {
-	int fd;
+	int fd, ret;
+	char *rpath;
 
 	/*
 	 * !!!
@@ -477,16 +495,24 @@ __memp_upgrade(dbmp, dbmfp, mfp)
 	if (F_ISSET(dbmfp, MP_UPGRADE_FAIL))
 		return (1);
 
-	/* Try the open. */
-	if (__db_open(R_ADDR(dbmp, mfp->path_off), 0, 0, 0, &fd) != 0) {
+	/*
+	 * Calculate the real name for this file and try to open it read/write.
+	 * We know we have a valid pathname for the file because it's the only
+	 * way we could have gotten a file descriptor of any kind.
+	 */
+	if ((ret = __db_appname(dbmp->dbenv, DB_APP_DATA,
+	    NULL, R_ADDR(dbmp, mfp->path_off), NULL, &rpath)) != 0)
+		return (ret);
+	if (__db_open(rpath, 0, 0, 0, &fd) != 0) {
 		F_SET(dbmfp, MP_UPGRADE_FAIL);
-		return (1);
+		ret = 1;
+	} else {
+		/* Swap the descriptors and set the upgrade flag. */
+		(void)__db_close(dbmfp->fd);
+		dbmfp->fd = fd;
+		F_SET(dbmfp, MP_UPGRADE);
+		ret = 0;
 	}
-
-	/* Swap the descriptors and set the upgrade flag. */
-	(void)__db_close(dbmfp->fd);
-	dbmfp->fd = fd;
-	F_SET(dbmfp, MP_UPGRADE);
-
-	return (0);
+	FREES(rpath);
+	return (ret);
 }
diff --git a/db2/mp/mp_fget.c b/db2/mp/mp_fget.c
index 3f99e60505..1010751c92 100644
--- a/db2/mp/mp_fget.c
+++ b/db2/mp/mp_fget.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_fget.c	10.30 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)mp_fget.c	10.32 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -38,13 +38,11 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp)
 	int flags;
 	void *addrp;
 {
-	BH *bhp, *tbhp;
+	BH *bhp;
 	DB_MPOOL *dbmp;
 	MPOOL *mp;
 	MPOOLFILE *mfp;
-	db_pgno_t lastpgno;
 	size_t bucket, mf_offset;
-	off_t size;
 	u_long cnt;
 	int b_incr, b_inserted, readonly_alloc, ret;
 	void *addr;
@@ -97,7 +95,7 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp)
 	mf_offset = R_OFFSET(dbmp, mfp);
 	addr = NULL;
 	bhp = NULL;
-	b_incr = b_inserted = readonly_alloc = ret = 0;
+	b_incr = b_inserted = ret = 0;
 
 	LOCKREGION(dbmp);
 
@@ -114,11 +112,10 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp)
 	 * It would be possible to do so by reference counting the open
 	 * pages from the mmap, but it's unclear to me that it's worth it.
 	 */
-	if (dbmfp->addr != NULL && dbmfp->mfp->can_mmap) {
-		lastpgno = dbmfp->len == 0 ?
-		    0 : (dbmfp->len - 1) / mfp->stat.st_pagesize;
+	if (dbmfp->addr != NULL && F_ISSET(dbmfp->mfp, MP_CAN_MMAP)) {
+		readonly_alloc = 0;
 		if (LF_ISSET(DB_MPOOL_LAST))
-			*pgnoaddr = lastpgno;
+			*pgnoaddr = mfp->last_pgno;
 		else {
 			/*
 			 * !!!
@@ -128,10 +125,10 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp)
 			 */
 			if (LF_ISSET(DB_MPOOL_CREATE | DB_MPOOL_NEW))
 				readonly_alloc = 1;
-			else if (*pgnoaddr > lastpgno) {
+			else if (*pgnoaddr > mfp->last_pgno) {
 				__db_err(dbmp->dbenv,
 				    "%s: page %lu doesn't exist",
-				    dbmfp->path, (u_long)*pgnoaddr);
+				    __memp_fn(dbmfp), (u_long)*pgnoaddr);
 				ret = EINVAL;
 				goto err;
 			}
@@ -146,79 +143,38 @@ memp_fget(dbmfp, pgnoaddr, flags, addrp)
 		}
 	}
 
-	/*
-	 * If requesting the last page or a new page, find the last page.  The
-	 * tricky thing is that the user may have created a page already that's
-	 * after any page that exists in the file.
-	 */
-	if (LF_ISSET(DB_MPOOL_LAST | DB_MPOOL_NEW)) {
-		/*
-		 * Temporary files may not yet have been created.
-		 *
-		 * Don't lock -- there are no atomicity issues for stat(2).
-		 */
-		if (dbmfp->fd == -1)
-			size = 0;
-		else if ((ret =
-		    __db_ioinfo(dbmfp->path, dbmfp->fd, &size, NULL)) != 0) {
-			__db_err(dbmp->dbenv,
-			    "%s: %s", dbmfp->path, strerror(ret));
-			goto err;
-		}
-
-		*pgnoaddr = size == 0 ? 0 : (size - 1) / mfp->stat.st_pagesize;
+	/* Check if requesting the last page or a new page. */
+	if (LF_ISSET(DB_MPOOL_LAST))
+		*pgnoaddr = mfp->last_pgno;
 
-		/*
-		 * Walk the list of BH's, looking for later pages.  Save the
-		 * pointer if a later page is found so that we don't have to
-		 * search the list twice.
-		 *
-		 * If requesting a new page, return the page one after the last
-		 * page -- which we'll have to create.
-		 */
-		for (tbhp = SH_TAILQ_FIRST(&mp->bhq, __bh);
-		    tbhp != NULL; tbhp = SH_TAILQ_NEXT(tbhp, q, __bh))
-			if (tbhp->pgno >= *pgnoaddr &&
-			    tbhp->mf_offset == mf_offset) {
-				bhp = tbhp;
-				*pgnoaddr = bhp->pgno;
-			}
-		if (LF_ISSET(DB_MPOOL_NEW))
-			++*pgnoaddr;
-	}
-
-	/* If we already found the right buffer, return it. */
-	if (LF_ISSET(DB_MPOOL_LAST) && bhp != NULL) {
-		addr = bhp->buf;
-		goto found;
+	if (LF_ISSET(DB_MPOOL_NEW)) {
+		*pgnoaddr = mfp->last_pgno + 1;
+		goto alloc;
 	}
 
-	/* If we haven't checked the BH hash bucket queue, do the search. */
-	if (!LF_ISSET(DB_MPOOL_LAST | DB_MPOOL_NEW)) {
-		bucket = BUCKET(mp, mf_offset, *pgnoaddr);
-		for (cnt = 0,
-		    bhp = SH_TAILQ_FIRST(&dbmp->htab[bucket], __bh);
-		    bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh)) {
-			++cnt;
-			if (bhp->pgno == *pgnoaddr &&
-			    bhp->mf_offset == mf_offset) {
-				addr = bhp->buf;
-				++mp->stat.st_hash_searches;
-				if (cnt > mp->stat.st_hash_longest)
-					mp->stat.st_hash_longest = cnt;
-				mp->stat.st_hash_examined += cnt;
-				goto found;
-			}
-		}
-		if (cnt != 0) {
+	/* Check the BH hash bucket queue. */
+	bucket = BUCKET(mp, mf_offset, *pgnoaddr);
+	for (cnt = 0,
+	    bhp = SH_TAILQ_FIRST(&dbmp->htab[bucket], __bh);
+	    bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh)) {
+		++cnt;
+		if (bhp->pgno == *pgnoaddr && bhp->mf_offset == mf_offset) {
+			addr = bhp->buf;
 			++mp->stat.st_hash_searches;
 			if (cnt > mp->stat.st_hash_longest)
 				mp->stat.st_hash_longest = cnt;
 			mp->stat.st_hash_examined += cnt;
+			goto found;
 		}
 	}
+	if (cnt != 0) {
+		++mp->stat.st_hash_searches;
+		if (cnt > mp->stat.st_hash_longest)
+			mp->stat.st_hash_longest = cnt;
+		mp->stat.st_hash_examined += cnt;
+	}
 
-	/*
+alloc:	/*
 	 * Allocate a new buffer header and data space, and mark the contents
 	 * as useless.
 	 */
@@ -300,7 +256,7 @@ found:		/* Increment the reference count. */
 		if (bhp->ref == UINT16_T_MAX) {
 			__db_err(dbmp->dbenv,
 			    "%s: too many references to page %lu",
-			    dbmfp->path, bhp->pgno);
+			    __memp_fn(dbmfp), bhp->pgno);
 			ret = EINVAL;
 			goto err;
 		}
@@ -346,6 +302,14 @@ found:		/* Increment the reference count. */
 		++mfp->stat.st_cache_hit;
 	}
 
+	/*
+	 * If we're returning a page after our current notion of the last-page,
+	 * update our information.  Note, there's no way to un-instantiate this
+	 * page, it's going to exist whether it's returned to us dirty or not.
+	 */
+	if (bhp->pgno > mfp->last_pgno)
+		mfp->last_pgno = bhp->pgno;
+
 mapret:	LOCKHANDLE(dbmp, dbmfp->mutexp);
 	++dbmfp->pinref;
 	UNLOCKHANDLE(dbmp, dbmfp->mutexp);
diff --git a/db2/mp/mp_fopen.c b/db2/mp/mp_fopen.c
index de59c9ea9b..bdc4713863 100644
--- a/db2/mp/mp_fopen.c
+++ b/db2/mp/mp_fopen.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_fopen.c	10.30 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)mp_fopen.c	10.32 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -28,8 +28,8 @@ static const char sccsid[] = "@(#)mp_fopen.c	10.30 (Sleepycat) 10/25/97";
 #include "common_ext.h"
 
 static int __memp_mf_close __P((DB_MPOOL *, DB_MPOOLFILE *));
-static int __memp_mf_open __P((DB_MPOOL *,
-    DB_MPOOLFILE *, int, size_t, int, DBT *, u_int8_t *, int, MPOOLFILE **));
+static int __memp_mf_open __P((DB_MPOOL *, DB_MPOOLFILE *,
+    const char *, int, size_t, off_t, int, DBT *, u_int8_t *, MPOOLFILE **));
 
 /*
  * memp_fopen --
@@ -53,7 +53,13 @@ memp_fopen(dbmp, path, ftype,
 	    "memp_fopen", flags, DB_CREATE | DB_NOMMAP | DB_RDONLY)) != 0)
 		return (ret);
 
-	return (__memp_fopen(dbmp, path, ftype,
+	/* Require a non-zero pagesize. */
+	if (pagesize == 0) {
+		__db_err(dbmp->dbenv, "memp_fopen: pagesize not specified");
+		return (EINVAL);
+	}
+
+	return (__memp_fopen(dbmp, NULL, path, ftype,
 	    flags, mode, pagesize, lsn_offset, pgcookie, fileid, 1, retp));
 }
 
@@ -61,13 +67,14 @@ memp_fopen(dbmp, path, ftype,
  * __memp_fopen --
  *	Open a backing file for the memory pool; internal version.
  *
- * PUBLIC: int __memp_fopen __P((DB_MPOOL *, const char *, int, int,
- * PUBLIC:    int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **));
+ * PUBLIC: int __memp_fopen __P((DB_MPOOL *, MPOOLFILE *, const char *, int,
+ * PUBLIC:    int, int, size_t, int, DBT *, u_int8_t *, int, DB_MPOOLFILE **));
  */
 int
-__memp_fopen(dbmp, path,
+__memp_fopen(dbmp, mfp, path,
     ftype, flags, mode, pagesize, lsn_offset, pgcookie, fileid, needlock, retp)
 	DB_MPOOL *dbmp;
+	MPOOLFILE *mfp;
 	const char *path;
 	int ftype, flags, mode, lsn_offset, needlock;
 	size_t pagesize;
@@ -77,24 +84,27 @@ __memp_fopen(dbmp, path,
 {
 	DB_ENV *dbenv;
 	DB_MPOOLFILE *dbmfp;
-	MPOOLFILE *mfp;
 	off_t size;
 	int ret;
+	u_int8_t idbuf[DB_FILE_ID_LEN];
+	char *rpath;
 
+	/*
+	 * XXX
+	 * If mfp is provided, the following arguments do NOT need to be
+	 * specified:
+	 *      lsn_offset
+	 *      pgcookie
+	 *      fileid
+	 */
 	dbenv = dbmp->dbenv;
 	ret = 0;
-
-	/* Require a non-zero pagesize. */
-	if (pagesize == 0) {
-		__db_err(dbenv, "memp_fopen: pagesize not specified");
-		return (EINVAL);
-	}
+	rpath = NULL;
 
 	/* Allocate and initialize the per-process structure. */
 	if ((dbmfp =
 	    (DB_MPOOLFILE *)__db_calloc(1, sizeof(DB_MPOOLFILE))) == NULL) {
-		__db_err(dbenv, "%s: %s",
-		    path == NULL ? TEMPORARY : path, strerror(ENOMEM));
+		__db_err(dbenv, "memp_fopen: %s", strerror(ENOMEM));
 		return (ENOMEM);
 	}
 	dbmfp->dbmp = dbmp;
@@ -109,54 +119,66 @@ __memp_fopen(dbmp, path,
 			ret = EINVAL;
 			goto err;
 		}
-		dbmfp->path = (char *)TEMPORARY;
-		F_SET(dbmfp, MP_PATH_TEMP);
+		size = 0;
 	} else {
-		/* Calculate the real name for this file. */
+		/* Get the real name for this file and open it. */
 		if ((ret = __db_appname(dbenv,
-		    DB_APP_DATA, NULL, path, NULL, &dbmfp->path)) != 0)
+		    DB_APP_DATA, NULL, path, NULL, &rpath)) != 0)
 			goto err;
-		F_SET(dbmfp, MP_PATH_ALLOC);
-
-
-		/* Open the file. */
-		if ((ret = __db_open(dbmfp->path,
+		if ((ret = __db_open(rpath,
 		    LF_ISSET(DB_CREATE | DB_RDONLY), DB_CREATE | DB_RDONLY,
 		    mode, &dbmfp->fd)) != 0) {
-			__db_err(dbenv, "%s: %s", dbmfp->path, strerror(ret));
+			__db_err(dbenv, "%s: %s", rpath, strerror(ret));
 			goto err;
 		}
 
 		/* Don't permit files that aren't a multiple of the pagesize. */
-		if ((ret =
-		    __db_ioinfo(dbmfp->path, dbmfp->fd, &size, NULL)) != 0) {
-			__db_err(dbenv, "%s: %s", dbmfp->path, strerror(ret));
+		if ((ret = __db_ioinfo(rpath, dbmfp->fd, &size, NULL)) != 0) {
+			__db_err(dbenv, "%s: %s", rpath, strerror(ret));
 			goto err;
 		}
 		if (size % pagesize) {
 			__db_err(dbenv,
 			    "%s: file size not a multiple of the pagesize",
-			    dbmfp->path);
+			    rpath);
 			ret = EINVAL;
 			goto err;
 		}
+
+		/*
+		 * Get the file id if we weren't given one.  Generated file id's
+		 * don't use timestamps, otherwise there'd be no chance of any
+		 * other process joining the party.
+		 */
+		if (mfp == NULL && fileid == NULL) {
+			if ((ret = __db_fileid(dbenv, rpath, 0, idbuf)) != 0)
+				goto err;
+			fileid = idbuf;
+		}
 	}
 
 	/*
-	 * Find/allocate the shared file objects.  This includes allocating
-	 * space for the per-process thread lock.
+	 * If we weren't provided an underlying shared object to join with,
+	 * find/allocate the shared file objects.  Also allocate space for
+	 * for the per-process thread lock.
 	 */
 	if (needlock)
 		LOCKREGION(dbmp);
-	ret = __memp_mf_open(dbmp, dbmfp, ftype, pagesize,
-	    lsn_offset, pgcookie, fileid, F_ISSET(dbmfp, MP_PATH_TEMP), &mfp);
+
+	if (mfp == NULL)
+		ret = __memp_mf_open(dbmp, dbmfp, path,
+		    ftype, pagesize, size, lsn_offset, pgcookie, fileid, &mfp);
+	else {
+		++mfp->ref;
+		ret = 0;
+	}
 	if (ret == 0 &&
 	    F_ISSET(dbmp, MP_LOCKHANDLE) && (ret =
 	    __memp_ralloc(dbmp, sizeof(db_mutex_t), NULL, &dbmfp->mutexp)) == 0)
 		LOCKINIT(dbmp, dbmfp->mutexp);
+
 	if (needlock)
 		UNLOCKREGION(dbmp);
-
 	if (ret != 0)
 		goto err;
 
@@ -184,25 +206,25 @@ __memp_fopen(dbmp, path,
 	 * flatly impossible.  Hope that mmap fails if the file is too large.
 	 */
 #define	DB_MAXMMAPSIZE	(10 * 1024 * 1024)	/* 10 Mb. */
-	if (mfp->can_mmap) {
+	if (F_ISSET(mfp, MP_CAN_MMAP)) {
 		if (!F_ISSET(dbmfp, MP_READONLY))
-			mfp->can_mmap = 0;
+			F_CLR(mfp, MP_CAN_MMAP);
 		if (path == NULL)
-			mfp->can_mmap = 0;
+			F_CLR(mfp, MP_CAN_MMAP);
 		if (ftype != 0)
-			mfp->can_mmap = 0;
+			F_CLR(mfp, MP_CAN_MMAP);
 		if (LF_ISSET(DB_NOMMAP))
-			mfp->can_mmap = 0;
+			F_CLR(mfp, MP_CAN_MMAP);
 		if (size > (dbenv == NULL || dbenv->mp_mmapsize == 0 ?
 		    DB_MAXMMAPSIZE : (off_t)dbenv->mp_mmapsize))
-			mfp->can_mmap = 0;
+			F_CLR(mfp, MP_CAN_MMAP);
 	}
 	dbmfp->addr = NULL;
-	if (mfp->can_mmap) {
+	if (F_ISSET(mfp, MP_CAN_MMAP)) {
 		dbmfp->len = size;
 		if (__db_map(dbmfp->fd, dbmfp->len, 1, 1, &dbmfp->addr) != 0) {
-			mfp->can_mmap = 0;
 			dbmfp->addr = NULL;
+			F_CLR(mfp, MP_CAN_MMAP);
 		}
 	}
 
@@ -217,8 +239,8 @@ err:	/*
 	 * Note that we do not have to free the thread mutex, because we
 	 * never get to here after we have successfully allocated it.
 	 */
-	if (F_ISSET(dbmfp, MP_PATH_ALLOC))
-		FREES(dbmfp->path);
+	if (rpath != NULL)
+		FREES(rpath);
 	if (dbmfp->fd != -1)
 		(void)__db_close(dbmfp->fd);
 	if (dbmfp != NULL)
@@ -231,78 +253,80 @@ err:	/*
  *	Open an MPOOLFILE.
  */
 static int
-__memp_mf_open(dbmp, dbmfp,
-    ftype, pagesize, lsn_offset, pgcookie, fileid, istemp, retp)
+__memp_mf_open(dbmp, dbmfp, path,
+    ftype, pagesize, size, lsn_offset, pgcookie, fileid, retp)
 	DB_MPOOL *dbmp;
 	DB_MPOOLFILE *dbmfp;
-	int ftype, lsn_offset, istemp;
+	const char *path;
+	int ftype, lsn_offset;
 	size_t pagesize;
+	off_t size;
 	DBT *pgcookie;
 	u_int8_t *fileid;
 	MPOOLFILE **retp;
 {
 	MPOOLFILE *mfp;
 	int ret;
-	u_int8_t idbuf[DB_FILE_ID_LEN];
 	void *p;
 
-	/* Temporary files can't match previous files. */
-	if (istemp)
-		goto alloc;
+#define	ISTEMPORARY	(path == NULL)
 
 	/*
-	 * Get the file id if we weren't give one.  Generated file id's don't
-	 * use timestamps, otherwise there'd be no chance of anyone joining
-	 * the party.
+	 * Walk the list of MPOOLFILE's, looking for a matching file.
+	 * Temporary files can't match previous files.
 	 */
-	if (fileid == NULL) {
-		if ((ret =
-		    __db_fileid(dbmp->dbenv, dbmfp->path, 0, idbuf)) != 0)
-			return (ret);
-		fileid = idbuf;
-	}
-
-	/* Walk the list of MPOOLFILE's, looking for a matching file. */
-	for (mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile);
-	    mfp != NULL; mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile))
-		if (!memcmp(fileid,
-		    R_ADDR(dbmp, mfp->fileid_off), DB_FILE_ID_LEN)) {
-			if (ftype != mfp->ftype ||
-			    pagesize != mfp->stat.st_pagesize) {
-				__db_err(dbmp->dbenv,
-				    "%s: ftype or pagesize changed",
-				    dbmfp->path);
-				ret = EINVAL;
-				mfp = NULL;
-				goto ret1;
+	if (!ISTEMPORARY)
+		for (mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile);
+		    mfp != NULL; mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile)) {
+			if (F_ISSET(mfp, MP_TEMP))
+				continue;
+			if (!memcmp(fileid,
+			    R_ADDR(dbmp, mfp->fileid_off), DB_FILE_ID_LEN)) {
+				if (ftype != mfp->ftype ||
+				    pagesize != mfp->stat.st_pagesize) {
+					__db_err(dbmp->dbenv,
+					    "%s: ftype or pagesize changed",
+					    path);
+					return (EINVAL);
+				}
+
+				/* Found it: increment the reference count. */
+				++mfp->ref;
+				*retp = mfp;
+				return (0);
 			}
-			/* Found it: increment the reference count. */
-			++mfp->ref;
-			goto ret1;
 		}
 
 	/* Allocate a new MPOOLFILE. */
-alloc:	if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0)
-		goto ret1;
+	if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0)
+		return (ret);
+	*retp = mfp;
 
 	/* Initialize the structure. */
 	memset(mfp, 0, sizeof(MPOOLFILE));
 	mfp->ref = 1;
 	mfp->ftype = ftype;
-	mfp->can_mmap = 1;
 	mfp->lsn_off = lsn_offset;
-	mfp->stat.st_pagesize = pagesize;
 
-	/* Copy the file path into shared memory. */
-	if ((ret = __memp_ralloc(dbmp,
-	    strlen(dbmfp->path) + 1, &mfp->path_off, &p)) != 0)
-		goto err;
-	memcpy(p, dbmfp->path, strlen(dbmfp->path) + 1);
+	/*
+	 * If the user specifies DB_MPOOL_LAST or DB_MPOOL_NEW on a memp_fget,
+	 * we have to know the last page in the file.  Figure it out and save
+	 * it away.
+	 */
+	mfp->stat.st_pagesize = pagesize;
+	mfp->last_pgno = size == 0 ? 0 : (size - 1) / mfp->stat.st_pagesize;
 
-	/* Copy the file identification string into shared memory. */
-	if (istemp)
-		mfp->fileid_off = 0;
+	F_SET(mfp, MP_CAN_MMAP);
+	if (ISTEMPORARY)
+		F_SET(mfp, MP_TEMP);
 	else {
+		/* Copy the file path into shared memory. */
+		if ((ret = __memp_ralloc(dbmp,
+		    strlen(path) + 1, &mfp->path_off, &p)) != 0)
+			goto err;
+		memcpy(p, path, strlen(path) + 1);
+
+		/* Copy the file identification string into shared memory. */
 		if ((ret = __memp_ralloc(dbmp,
 		    DB_FILE_ID_LEN, &mfp->fileid_off, &p)) != 0)
 			goto err;
@@ -328,15 +352,13 @@ alloc:	if ((ret = __memp_ralloc(dbmp, sizeof(MPOOLFILE), NULL, &mfp)) != 0)
 err:		if (mfp->path_off != 0)
 			__db_shalloc_free(dbmp->addr,
 			    R_ADDR(dbmp, mfp->path_off));
-		if (!istemp)
+		if (mfp->fileid_off != 0)
 			__db_shalloc_free(dbmp->addr,
 			    R_ADDR(dbmp, mfp->fileid_off));
 		if (mfp != NULL)
 			__db_shalloc_free(dbmp->addr, mfp);
 		mfp = NULL;
 	}
-
-ret1:	*retp = mfp;
 	return (0);
 }
 
@@ -357,7 +379,7 @@ memp_fclose(dbmfp)
 	/* Complain if pinned blocks never returned. */
 	if (dbmfp->pinref != 0)
 		__db_err(dbmp->dbenv, "%s: close: %lu blocks left pinned",
-		    dbmfp->path, (u_long)dbmfp->pinref);
+		    __memp_fn(dbmfp), (u_long)dbmfp->pinref);
 
 	/* Remove the DB_MPOOLFILE structure from the list. */
 	LOCKHANDLE(dbmp, dbmp->mutexp);
@@ -370,18 +392,18 @@ memp_fclose(dbmfp)
 	/* Discard any mmap information. */
 	if (dbmfp->addr != NULL &&
 	    (ret = __db_unmap(dbmfp->addr, dbmfp->len)) != 0)
-		__db_err(dbmp->dbenv, "%s: %s", dbmfp->path, strerror(ret));
+		__db_err(dbmp->dbenv,
+		    "%s: %s", __memp_fn(dbmfp), strerror(ret));
 
 	/* Close the file; temporary files may not yet have been created. */
 	if (dbmfp->fd != -1 && (t_ret = __db_close(dbmfp->fd)) != 0) {
-		__db_err(dbmp->dbenv, "%s: %s", dbmfp->path, strerror(t_ret));
+		__db_err(dbmp->dbenv,
+		    "%s: %s", __memp_fn(dbmfp), strerror(t_ret));
 		if (ret != 0)
 			t_ret = ret;
 	}
 
 	/* Free memory. */
-	if (F_ISSET(dbmfp, MP_PATH_ALLOC))
-		FREES(dbmfp->path);
 	if (dbmfp->mutexp != NULL) {
 		LOCKREGION(dbmp);
 		__db_shalloc_free(dbmp->addr, dbmfp->mutexp);
@@ -434,7 +456,8 @@ __memp_mf_close(dbmp, dbmfp)
 		if (F_ISSET(bhp, BH_DIRTY))
 			__db_err(dbmp->dbenv,
 			    "%s: close: pgno %lu left dirty; ref %lu",
-			    dbmfp->path, (u_long)bhp->pgno, (u_long)bhp->ref);
+			    __memp_fn(dbmfp),
+			    (u_long)bhp->pgno, (u_long)bhp->ref);
 #endif
 
 		if (bhp->mf_offset == mf_offset) {
@@ -452,7 +475,8 @@ __memp_mf_close(dbmp, dbmfp)
 
 	/* Free the space. */
 	__db_shalloc_free(dbmp->addr, mfp);
-	__db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->path_off));
+	if (mfp->path_off != 0)
+		__db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->path_off));
 	if (mfp->fileid_off != 0)
 		__db_shalloc_free(dbmp->addr, R_ADDR(dbmp, mfp->fileid_off));
 	if (mfp->pgcookie_off != 0)
diff --git a/db2/mp/mp_fput.c b/db2/mp/mp_fput.c
index 892f179d3a..38e86b8ac5 100644
--- a/db2/mp/mp_fput.c
+++ b/db2/mp/mp_fput.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_fput.c	10.14 (Sleepycat) 10/5/97";
+static const char sccsid[] = "@(#)mp_fput.c	10.16 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -54,7 +54,7 @@ memp_fput(dbmfp, pgaddr, flags)
 		if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) {
 			__db_err(dbmp->dbenv,
 			    "%s: dirty flag set for readonly file page",
-			    dbmfp->path);
+			    __memp_fn(dbmfp));
 			return (EACCES);
 		}
 	}
@@ -64,7 +64,7 @@ memp_fput(dbmfp, pgaddr, flags)
 	if (dbmfp->pinref == 0)
 		__db_err(dbmp->dbenv,
 		    "%s: put: more blocks returned than retrieved",
-		    dbmfp->path);
+		    __memp_fn(dbmfp));
 	else
 		--dbmfp->pinref;
 	UNLOCKHANDLE(dbmp, dbmfp->mutexp);
diff --git a/db2/mp/mp_fset.c b/db2/mp/mp_fset.c
index a7d2706008..2eff7dd74c 100644
--- a/db2/mp/mp_fset.c
+++ b/db2/mp/mp_fset.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_fset.c	10.10 (Sleepycat) 10/5/97";
+static const char sccsid[] = "@(#)mp_fset.c	10.12 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -43,20 +43,21 @@ memp_fset(dbmfp, pgaddr, flags)
 	mp = dbmp->mp;
 
 	/* Validate arguments. */
-	if (flags != 0) {
-		if ((ret = __db_fchk(dbmp->dbenv, "memp_fset", flags,
-		    DB_MPOOL_DIRTY | DB_MPOOL_CLEAN | DB_MPOOL_DISCARD)) != 0)
-			return (ret);
-		if ((ret = __db_fcchk(dbmp->dbenv, "memp_fset",
-		    flags, DB_MPOOL_CLEAN, DB_MPOOL_DIRTY)) != 0)
-			return (ret);
+	if (flags == 0)
+		return (__db_ferr(dbmp->dbenv, "memp_fset", 1));
 
-		if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) {
-			__db_err(dbmp->dbenv,
-			    "%s: dirty flag set for readonly file page",
-			    dbmfp->path);
-			return (EACCES);
-		}
+	if ((ret = __db_fchk(dbmp->dbenv, "memp_fset", flags,
+	    DB_MPOOL_DIRTY | DB_MPOOL_CLEAN | DB_MPOOL_DISCARD)) != 0)
+		return (ret);
+	if ((ret = __db_fcchk(dbmp->dbenv, "memp_fset",
+	    flags, DB_MPOOL_CLEAN, DB_MPOOL_DIRTY)) != 0)
+		return (ret);
+
+	if (LF_ISSET(DB_MPOOL_DIRTY) && F_ISSET(dbmfp, MP_READONLY)) {
+		__db_err(dbmp->dbenv,
+		    "%s: dirty flag set for readonly file page",
+		    __memp_fn(dbmfp));
+		return (EACCES);
 	}
 
 	/* Convert the page address to a buffer header. */
diff --git a/db2/mp/mp_open.c b/db2/mp/mp_open.c
index 4c19739ebd..ca81f8d6d6 100644
--- a/db2/mp/mp_open.c
+++ b/db2/mp/mp_open.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_open.c	10.15 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)mp_open.c	10.16 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -66,17 +66,6 @@ memp_open(path, flags, mode, dbenv, retp)
 		F_SET(dbmp, MP_ISPRIVATE);
 
 	/*
-	 * XXX
-	 * HP-UX won't permit mutexes to live in anything but shared memory.
-	 * So, we have to instantiate the shared mpool region file on that
-	 * architecture, regardless.  If this turns out to be a performance
-	 * problem, we could probably use anonymous memory instead.
-	 */
-#if defined(__hppa)
-	F_CLR(dbmp, MP_ISPRIVATE);
-#endif
-
-	/*
 	 * Map in the region.  We do locking regardless, as portions of it are
 	 * implemented in common code (if we put the region in a file, that is).
 	 */
diff --git a/db2/mp/mp_pr.c b/db2/mp/mp_pr.c
index 01f0920df4..6ff1131b6e 100644
--- a/db2/mp/mp_pr.c
+++ b/db2/mp/mp_pr.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_pr.c	10.18 (Sleepycat) 11/1/97";
+static const char sccsid[] = "@(#)mp_pr.c	10.20 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -100,7 +100,7 @@ memp_stat(dbmp, gspp, fspp, db_malloc)
 		    mfp = SH_TAILQ_FIRST(&dbmp->mp->mpfq, __mpoolfile);
 		    mfp != NULL;
 		    ++tfsp, mfp = SH_TAILQ_NEXT(mfp, q, __mpoolfile)) {
-			name = R_ADDR(dbmp, mfp->path_off);
+			name = __memp_fns(dbmp, mfp);
 			nlen = strlen(name);
 			len = sizeof(DB_MPOOL_FSTAT) + nlen + 1;
 			if ((*tfsp = db_malloc == NULL ?
@@ -120,6 +120,37 @@ memp_stat(dbmp, gspp, fspp, db_malloc)
 }
 
 /*
+ * __memp_fn --
+ *	On errors we print whatever is available as the file name.
+ *
+ * PUBLIC: char * __memp_fn __P((DB_MPOOLFILE *));
+ */
+char *
+__memp_fn(dbmfp)
+	DB_MPOOLFILE *dbmfp;
+{
+	return (__memp_fns(dbmfp->dbmp, dbmfp->mfp));
+}
+
+/*
+ * __memp_fns --
+ *	On errors we print whatever is available as the file name.
+ *
+ * PUBLIC: char * __memp_fns __P((DB_MPOOL *, MPOOLFILE *));
+ *
+ */
+char *
+__memp_fns(dbmp, mfp)
+	DB_MPOOL *dbmp;
+	MPOOLFILE *mfp;
+{
+	if (mfp->path_off == 0)
+		return ((char *)"temporary");
+
+	return ((char *)R_ADDR(dbmp, mfp->path_off));
+}
+
+/*
  * __memp_debug --
  *	Display MPOOL structures.
  *
@@ -152,7 +183,7 @@ __memp_debug(dbmp, fp, data)
 	(void)fprintf(fp, "%lu process-local files\n", cnt);
 	for (dbmfp = TAILQ_FIRST(&dbmp->dbmfq);
 	    dbmfp != NULL; dbmfp = TAILQ_NEXT(dbmfp, q)) {
-		(void)fprintf(fp, "%s\n", dbmfp->path);
+		(void)fprintf(fp, "%s\n", __memp_fn(dbmfp));
 		__memp_pdbmf(fp, dbmfp, data);
 	}
 
@@ -285,7 +316,7 @@ __memp_pmf(fp, mfp, data)
 		return;
 
 	(void)fprintf(fp, "    %d references; %s; pagesize: %lu\n", mfp->ref,
-	    mfp->can_mmap ? "mmap" : "read/write",
+	    F_ISSET(mfp, MP_CAN_MMAP) ? "mmap" : "read/write",
 	    (u_long)mfp->stat.st_pagesize);
 }
 
diff --git a/db2/mp/mp_region.c b/db2/mp/mp_region.c
index 6b2f93125c..c20e669749 100644
--- a/db2/mp/mp_region.c
+++ b/db2/mp/mp_region.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_region.c	10.16 (Sleepycat) 10/25/97";
+static const char sccsid[] = "@(#)mp_region.c	10.18 (Sleepycat) 11/29/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -224,17 +224,28 @@ retry:	if (LF_ISSET(DB_CREATE)) {
 		 * the file descriptor for locking.  However, it should not
 		 * be possible for DB_THREAD to be set if HAVE_SPINLOCKS aren't
 		 * defined.
+		 *
+		 * XXX
+		 * HP-UX won't permit mutexes to live in anything but shared
+		 * memory.  So, instantiate the shared mpool region file on
+		 * that architecture, regardless.  If this turns out to be a
+		 * performance problem, we could use anonymous memory instead.
 		 */
-		if (F_ISSET(dbmp, MP_ISPRIVATE)) {
+#if !defined(__hppa)
+		if (F_ISSET(dbmp, MP_ISPRIVATE))
 			if ((dbmp->maddr = __db_malloc(rlen)) == NULL)
 				ret = ENOMEM;
-			else
+			else {
+				F_SET(dbmp, MP_MALLOC);
 				ret = __db_rinit(dbmp->dbenv,
 				    dbmp->maddr, 0, rlen, 0);
-		} else
+			}
+		else
+#endif
 			ret = __db_rcreate(dbmp->dbenv, DB_APP_NONE, path,
-			    DB_DEFAULT_MPOOL_FILE, mode, rlen, &fd,
-			    &dbmp->maddr);
+			    DB_DEFAULT_MPOOL_FILE, mode, rlen,
+			    F_ISSET(dbmp, MP_ISPRIVATE) ? DB_TEMPORARY : 0,
+			    &fd, &dbmp->maddr);
 		if (ret == 0) {
 			/* Put the MPOOL structure first in the region. */
 			mp = dbmp->maddr;
@@ -315,7 +326,7 @@ retry:	if (LF_ISSET(DB_CREATE)) {
 	dbmp->fd = fd;
 
 	/* If we locked the region, release it now. */
-	if (!F_ISSET(dbmp, MP_ISPRIVATE))
+	if (!F_ISSET(dbmp, MP_MALLOC))
 		UNLOCKREGION(dbmp);
 	return (0);
 
@@ -339,7 +350,7 @@ int
 __memp_rclose(dbmp)
 	DB_MPOOL *dbmp;
 {
-	if (F_ISSET(dbmp, MP_ISPRIVATE)) {
+	if (F_ISSET(dbmp, MP_MALLOC)) {
 		__db_free(dbmp->maddr);
 		return (0);
 	}
diff --git a/db2/mp/mp_sync.c b/db2/mp/mp_sync.c
index 2f042df9e1..47a7f2ebca 100644
--- a/db2/mp/mp_sync.c
+++ b/db2/mp/mp_sync.c
@@ -7,7 +7,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mp_sync.c	10.15 (Sleepycat) 11/1/97";
+static const char sccsid[] = "@(#)mp_sync.c	10.17 (Sleepycat) 11/26/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -201,7 +201,7 @@ memp_sync(dbmp, lsnp)
 			 */
 			if (!wrote) {
 				__db_err(dbenv, "%s: unable to flush page: %lu",
-				    R_ADDR(dbmp, mfp->path_off),
+				    __memp_fns(dbmp, mfp),
 				    (u_long)bharray[next]->pgno);
 				ret = EPERM;
 				goto err;
@@ -244,16 +244,24 @@ memp_fsync(dbmfp)
 	size_t mf_offset;
 	int ar_cnt, cnt, nalloc, next, pincnt, notused, ret, wrote;
 
+	dbmp = dbmfp->dbmp;
+
 	/*
 	 * If this handle doesn't have a file descriptor that's open for
 	 * writing, or if the file is a temporary, there's no reason to
 	 * proceed further.
 	 */
-	if (F_ISSET(dbmfp, MP_READONLY | MP_PATH_TEMP))
+	if (F_ISSET(dbmfp, MP_READONLY))
 		return (0);
 
 	ret = 0;
-	dbmp = dbmfp->dbmp;
+	LOCKREGION(dbmp);
+	if (F_ISSET(dbmfp->mfp, MP_TEMP))
+		ret = 1;
+	UNLOCKREGION(dbmp);
+	if (ret)
+		return (0);
+
 	mf_offset = R_OFFSET(dbmp, dbmfp->mfp);
 
 	/*
@@ -407,18 +415,26 @@ loop:	total = mp->stat.st_page_clean + mp->stat.st_page_dirty;
 			continue;
 
 		mfp = R_ADDR(dbmp, bhp->mf_offset);
+
+		/*
+		 * We can't write to temporary files -- see the comment in
+		 * mp_bh.c:__memp_bhwrite().
+		 */
+		if (F_ISSET(mfp, MP_TEMP))
+			continue;
+
 		if ((ret =
 		    __memp_bhwrite(dbmp, mfp, bhp, &notused, &wrote)) != 0)
 			goto err;
 
 		/*
-		 * Any process syncing the shared memory buffer pool
-		 * had better be able to write to any underlying file.
-		 * Be understanding, but firm, on this point.
+		 * Any process syncing the shared memory buffer pool had better
+		 * be able to write to any underlying file.  Be understanding,
+		 * but firm, on this point.
 		 */
 		if (!wrote) {
 			__db_err(dbmp->dbenv, "%s: unable to flush page: %lu",
-			    R_ADDR(dbmp, mfp->path_off), (u_long)bhp->pgno);
+			    __memp_fns(dbmp, mfp), (u_long)bhp->pgno);
 			ret = EPERM;
 			goto err;
 		}
diff --git a/db2/mutex/README b/db2/mutex/README
index 30d6b6a7d1..fceeef7ed8 100644
--- a/db2/mutex/README
+++ b/db2/mutex/README
@@ -1,4 +1,4 @@
-# @(#)README	10.1 (Sleepycat) 4/12/97
+# @(#)README	10.2 (Sleepycat) 11/25/97
 
 Resource locking routines: lock based on a db_mutex_t.  All this gunk
 (including trying to make assembly code portable), is necessary because
@@ -11,9 +11,9 @@ information.
 
 If HAVE_SPINLOCKS is defined (i.e. we know how to do test-and-sets for
 this compiler/architecture combination), we try and lock the resource tsl
-TSL_DEFAULT_SPINS times.  If we can't acquire the lock that way, we use
-a system call to sleep for 10ms, 20ms, 40ms, etc.  (The time is bounded
-at 1 second, just in case.)  Using the timer backoff means that there are
+__db_tsl_spins times.  If we can't acquire the lock that way, we use a
+system call to sleep for 10ms, 20ms, 40ms, etc.  (The time is bounded at
+1 second, just in case.)  Using the timer backoff means that there are
 two assumptions: that locks are held for brief periods (never over system
 calls or I/O) and that locks are not hotly contested.
 
diff --git a/db2/mutex/mutex.c b/db2/mutex/mutex.c
index 7c8ea6ebd1..6e87c5f215 100644
--- a/db2/mutex/mutex.c
+++ b/db2/mutex/mutex.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)mutex.c	10.28 (Sleepycat) 10/31/97";
+static const char sccsid[] = "@(#)mutex.c	10.29 (Sleepycat) 11/25/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -101,12 +101,6 @@ static const char sccsid[] = "@(#)mutex.c	10.28 (Sleepycat) 10/31/97";
 
 #endif /* HAVE_SPINLOCKS */
 
-#ifdef	MORE_THAN_ONE_PROCESSOR
-#define	TSL_DEFAULT_SPINS	5	/* Default spins before block. */
-#else
-#define	TSL_DEFAULT_SPINS	1	/* Default spins before block. */
-#endif
-
 /*
  * __db_mutex_init --
  *	Initialize a DB mutex structure.
@@ -130,6 +124,7 @@ __db_mutex_init(mp, off)
 
 #ifdef HAVE_SPINLOCKS
 	TSL_INIT(&mp->tsl_resource);
+	mp->spins = __os_spin();
 #else
 	mp->off = off;
 #endif
@@ -155,11 +150,8 @@ __db_mutex_lock(mp, fd)
 	int nspins;
 
 	for (usecs = MS(10);;) {
-		/*
-		 * Try and acquire the uncontested resource lock for
-		 * TSL_DEFAULT_SPINS.
-		 */
-		for (nspins = TSL_DEFAULT_SPINS; nspins > 0; --nspins)
+		/* Try and acquire the uncontested resource lock for N spins. */
+		for (nspins = mp->spins; nspins > 0; --nspins)
 			if (TSL_SET(&mp->tsl_resource)) {
 #ifdef DEBUG
 				if (mp->pid != 0) {
diff --git a/db2/os/os_func.c b/db2/os/os_config.c
index afd40f4624..ecb4f1c2e7 100644
--- a/db2/os/os_func.c
+++ b/db2/os/os_config.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)os_func.c	10.4 (Sleepycat) 10/28/97";
+static const char sccsid[] = "@(#)os_config.c	10.9 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -31,7 +31,6 @@ static const char sccsid[] = "@(#)os_func.c	10.4 (Sleepycat) 10/28/97";
 #define imported
 #endif
 
-imported extern void    *calloc __P((size_t, size_t));
 imported extern int	 close __P((int));
 imported extern void	 free __P((void *));
 imported extern int	 fsync __P((int));
@@ -42,16 +41,16 @@ imported extern char	*strdup __P((const char *));
 imported extern void    *realloc __P((void *, size_t));
 imported extern int	 unlink __P((const char *));
 imported extern ssize_t	 write __P((int, const void *, size_t));
+imported extern void	*memset __P((void *, int, size_t));
 
 /*
  * __db_jump --
  *	This list of interfaces that applications can replace.  In some
  *	cases, the user is permitted to replace the standard ANSI C or
- *	POSIX 1003.1 call, e.g., calloc or read.  In others, we provide
+ *	POSIX 1003.1 call, e.g., malloc or read.  In others, we provide
  *	a local interface to the functionality, e.g., __os_map.
  */
 struct __db_jumptab __db_jump = {
-	calloc,				/* DB_FUNC_CALLOC */
 	close,				/* DB_FUNC_CLOSE */
 	__os_dirfree,			/* DB_FUNC_DIRFREE */
 	__os_dirlist,			/* DB_FUNC_DIRLIST */
@@ -73,9 +72,11 @@ struct __db_jumptab __db_jump = {
 	NULL				/* DB_FUNC_YIELD */
 };
 
+int __db_tsl_spins;			/* DB_TSL_SPINS */
+
 /*
  * db_jump_set --
- *	Replace an interface.
+ *	Replace functions for the DB package.
  */
 int
 db_jump_set(func, which)
@@ -84,70 +85,148 @@ db_jump_set(func, which)
 {
 	switch (which) {
 	case DB_FUNC_CALLOC:
-		__db_calloc = (void *(*) __P((size_t, size_t)))func;
-		break;
+		/*
+		 * XXX
+		 * Obsolete, calloc is no longer called by DB.
+		 */
+		 break;
 	case DB_FUNC_CLOSE:
-		__os_close = (int (*) __P((int)))func;
+		__db_jump.db_close = (int (*) __P((int)))func;
 		break;
 	case DB_FUNC_DIRFREE:
-		__db_dirfree = (void (*) __P((char **, int)))func;
+		__db_jump.db_dirfree = (void (*) __P((char **, int)))func;
 		break;
 	case DB_FUNC_DIRLIST:
-		__db_dirlist =
+		__db_jump.db_dirlist =
 		    (int (*) __P((const char *, char ***, int *)))func;
 		break;
 	case DB_FUNC_EXISTS:
-		__db_exists = (int (*) __P((const char *, int *)))func;
+		__db_jump.db_exists = (int (*) __P((const char *, int *)))func;
 		break;
 	case DB_FUNC_FREE:
-		__db_free = (void (*) __P((void *)))func;
+		__db_jump.db_free = (void (*) __P((void *)))func;
 		break;
 	case DB_FUNC_FSYNC:
-		__os_fsync = (int (*) __P((int)))func;
+		__db_jump.db_fsync = (int (*) __P((int)))func;
 		break;
 	case DB_FUNC_IOINFO:
-		__db_ioinfo =
+		__db_jump.db_ioinfo =
 		    (int (*) __P((const char *, int, off_t *, off_t *)))func;
 		break;
 	case DB_FUNC_MALLOC:
-		__db_malloc = (void *(*) __P((size_t)))func;
+		__db_jump.db_malloc = (void *(*) __P((size_t)))func;
 		break;
 	case DB_FUNC_MAP:
-		__db_map = (int (*) __P((int, size_t, int, int, void **)))func;
+		__db_jump.db_map =
+		    (int (*) __P((int, size_t, int, int, void **)))func;
 		break;
 	case DB_FUNC_OPEN:
-		__os_open = (int (*) __P((const char *, int, ...)))func;
+		__db_jump.db_open = (int (*) __P((const char *, int, ...)))func;
 		break;
 	case DB_FUNC_READ:
-		__os_read = (ssize_t (*) __P((int, void *, size_t)))func;
+		__db_jump.db_read =
+		    (ssize_t (*) __P((int, void *, size_t)))func;
 		break;
 	case DB_FUNC_REALLOC:
-		__db_realloc = (void *(*) __P((void *, size_t)))func;
+		__db_jump.db_realloc = (void *(*) __P((void *, size_t)))func;
 		break;
 	case DB_FUNC_SEEK:
-		__db_seek =
+		__db_jump.db_seek =
 		    (int (*) __P((int, size_t, db_pgno_t, u_long, int)))func;
 		break;
 	case DB_FUNC_SLEEP:
-		__db_sleep = (int (*) __P((u_long, u_long)))func;
+		__db_jump.db_sleep = (int (*) __P((u_long, u_long)))func;
 		break;
 	case DB_FUNC_STRDUP:
-		__db_strdup = (char *(*) __P((const char *)))func;
+		__db_jump.db_strdup = (char *(*) __P((const char *)))func;
 		break;
 	case DB_FUNC_UNLINK:
-		__os_unlink = (int (*) __P((const char *)))func;
+		__db_jump.db_unlink = (int (*) __P((const char *)))func;
 		break;
 	case DB_FUNC_UNMAP:
-		__db_unmap = (int (*) __P((void *, size_t)))func;
+		__db_jump.db_unmap = (int (*) __P((void *, size_t)))func;
 		break;
 	case DB_FUNC_WRITE:
-		__os_write = (ssize_t (*) __P((int, const void *, size_t)))func;
+		__db_jump.db_write =
+		    (ssize_t (*) __P((int, const void *, size_t)))func;
 		break;
 	case DB_FUNC_YIELD:
-		__db_yield = (int (*) __P((void)))func;
+		__db_jump.db_yield = (int (*) __P((void)))func;
+		break;
+	default:
+		return (EINVAL);
+	}
+	return (0);
+}
+
+/*
+ * db_value_set --
+ *	Replace values for the DB package.
+ */
+int
+db_value_set(value, which)
+	int value, which;
+{
+	switch (which) {
+	case DB_TSL_SPINS:
+		if (value <= 0)
+			return (EINVAL);
+		__db_tsl_spins = value;
 		break;
 	default:
 		return (EINVAL);
 	}
 	return (0);
 }
+
+/*
+ * XXX
+ * Correct for systems that return NULL when you allocate 0 bytes of memory.
+ * There are several places in DB where we allocate the number of bytes held
+ * by the key/data item, and it can be 0.  Correct here so that malloc never
+ * returns a NULL for that reason.
+ */
+/*
+ * __db_calloc --
+ *	The calloc(3) function for DB.
+ *
+ * PUBLIC: void *__db_calloc __P((size_t, size_t));
+ */
+void *
+__db_calloc(num, size)
+	size_t num, size;
+{
+	void *p;
+
+	size *= num;
+	if ((p = __db_jump.db_malloc(size == 0 ? 1 : size)) != NULL)
+		memset(p, 0, size);
+	return (p);
+}
+
+/*
+ * __db_malloc --
+ *	The malloc(3) function for DB.
+ *
+ * PUBLIC: void *__db_malloc __P((size_t));
+ */
+void *
+__db_malloc(size)
+	size_t size;
+{
+	return (__db_jump.db_malloc(size == 0 ? 1 : size));
+}
+
+/*
+ * __db_realloc --
+ *	The realloc(3) function for DB.
+ *
+ * PUBLIC: void *__db_realloc __P((void *, size_t));
+ */
+void *
+__db_realloc(ptr, size)
+	void *ptr;
+	size_t size;
+{
+	return (__db_jump.db_realloc(ptr, size == 0 ? 1 : size));
+}
diff --git a/db2/os/os_open.c b/db2/os/os_open.c
index 05784e4810..a628765556 100644
--- a/db2/os/os_open.c
+++ b/db2/os/os_open.c
@@ -8,7 +8,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)os_open.c	10.19 (Sleepycat) 10/28/97";
+static const char sccsid[] = "@(#)os_open.c	10.20 (Sleepycat) 11/27/97";
 #endif /* not lint */
 
 #ifndef NO_SYSTEM_INCLUDES
@@ -38,6 +38,11 @@ __db_open(name, arg_flags, ok_flags, mode, fdp)
 		return (EINVAL);
 
 	flags = 0;
+
+	/*
+	 * DB requires the semantic that two files opened at the same time
+	 * with O_CREAT and O_EXCL set will return failure in at least one.
+	 */
 	if (arg_flags & DB_CREATE)
 		flags |= O_CREAT;
 
diff --git a/db2/os/os_spin.c b/db2/os/os_spin.c
new file mode 100644
index 0000000000..fb693c2848
--- /dev/null
+++ b/db2/os/os_spin.c
@@ -0,0 +1,56 @@
+/*-
+ * See the file LICENSE for redistribution information.
+ *
+ * Copyright (c) 1997
+ *	Sleepycat Software.  All rights reserved.
+ */
+
+#include "config.h"
+
+#ifndef lint
+static const char sccsid[] = "@(#)os_spin.c	10.3 (Sleepycat) 11/25/97";
+#endif /* not lint */
+
+#ifndef NO_SYSTEM_INCLUDES
+#include <sys/types.h>
+
+#include <limits.h>
+#include <unistd.h>
+#endif
+
+#include "db_int.h"
+
+/*
+ * __os_spin --
+ *	Return the number of default spins before blocking.
+ *
+ * PUBLIC: int __os_spin __P((void));
+ */
+int
+__os_spin()
+{
+	extern int __db_tsl_spins;
+
+	/* If the application specified the spins, use its value. */
+	if (__db_tsl_spins != 0)
+		return (__db_tsl_spins);
+
+	/*
+	 * XXX
+	 * Sysconf: Solaris uses _SC_NPROCESSORS_ONLN to return the number
+	 * of online processors.  I don't know if this call is portable or
+	 * not.
+	 */
+#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
+	{
+		long sys_val;
+
+		sys_val = sysconf(_SC_NPROCESSORS_ONLN);
+		if (sys_val > 0)
+			return (sys_val * 50);
+	}
+#endif
+
+	/* Default to a single processor. */
+	return (1);
+}
diff --git a/db2/txn/txn.c b/db2/txn/txn.c
index 55423f0470..e7a1798350 100644
--- a/db2/txn/txn.c
+++ b/db2/txn/txn.c
@@ -43,7 +43,7 @@
 #include "config.h"
 
 #ifndef lint
-static const char sccsid[] = "@(#)txn.c	10.35 (Sleepycat) 11/2/97";
+static const char sccsid[] = "@(#)txn.c	10.37 (Sleepycat) 11/28/97";
 #endif /* not lint */
 
 
@@ -101,11 +101,9 @@ __txn_create(dbenv, path, mode)
 	maxtxns = dbenv->tx_max != 0 ? dbenv->tx_max : 1000;
 	(void)time(&now);
 
-	ret = __db_rcreate(dbenv, DB_APP_NONE, path,
-	    DEFAULT_TXN_FILE, mode, TXN_REGION_SIZE(maxtxns), &fd, &txn_region);
-
 	/* Region may have existed.  If it didn't, the open will fail. */
-	if (ret != 0)
+	if ((ret = __db_rcreate(dbenv, DB_APP_NONE, path, DEFAULT_TXN_FILE,
+	    mode, TXN_REGION_SIZE(maxtxns), 0, &fd, &txn_region)) != 0)
 		return (ret);
 
 	txn_region->magic = DB_TXNMAGIC;
@@ -315,7 +313,10 @@ err:
 	return (ret);
 }
 
-/* The db_txn(3) man page describes txn_commit. */
+/*
+ * txn_commit --
+ *	Commit a transaction.
+ */
 int
 txn_commit(txnp)
 	DB_TXN *txnp;
@@ -337,7 +338,10 @@ txn_commit(txnp)
 	return (__txn_end(txnp, 1));
 }
 
-/* The db_txn(3) man page describes txn_abort. */
+/*
+ * txn_abort --
+ *	Abort a transcation.
+ */
 int
 txn_abort(txnp)
 	DB_TXN *txnp;
@@ -395,8 +399,8 @@ txn_id(txnp)
 }
 
 /*
- * The db_txn(3) man page describes txn_close. Currently the caller should
- * arrange a checkpoint before calling txn_close.
+ * txn_close --
+ *	Close the transaction region, does not imply a checkpoint.
  */
 int
 txn_close(tmgrp)
@@ -439,8 +443,8 @@ txn_close(tmgrp)
 }
 
 /*
- * The db_txn(3) man page describes txn_unlink.  Right now it is up to
- * txn_close to write the final checkpoint record.
+ * txn_unlink --
+ *	Remove the transaction region.
  */
 int
 txn_unlink(path, force, dbenv)
@@ -666,12 +670,19 @@ do_ckp:
 	mgr->region->pending_ckp = ckp_lsn;
 	UNLOCK_TXNREGION(mgr);
 
-	ret = memp_sync(mgr->dbenv->mp_info, &ckp_lsn);
-	if (ret > 0) {
-		__db_err(mgr->dbenv,
-		    "txn_checkpoint: system failure in memp_sync %s\n",
-		    strerror(ret));
-	} else if (ret == 0 && mgr->dbenv->lg_info != NULL) {
+	if (mgr->dbenv->mp_info != NULL &&
+	    (ret = memp_sync(mgr->dbenv->mp_info, &ckp_lsn)) != 0) {
+		/*
+		 * ret < 0 means that there are still buffers to flush;
+		 * the checkpoint is not complete. Back off and try again.
+		 */
+		if (ret > 0)
+			__db_err(mgr->dbenv,
+			    "txn_checkpoint: system failure in memp_sync %s\n",
+			    strerror(ret));
+		return (ret);
+	}
+	if (mgr->dbenv->lg_info != NULL) {
 		LOCK_TXNREGION(mgr);
 		last_ckp = mgr->region->last_ckp;
 		ZERO_LSN(mgr->region->pending_ckp);
@@ -691,11 +702,7 @@ do_ckp:
 		(void)time(&mgr->region->time_ckp);
 		UNLOCK_TXNREGION(mgr);
 	}
-	/*
-	 * ret < 0 means that there are still buffers to flush; the
-	 * checkpoint is not complete. Back off and try again.
-	 */
-	return (ret);
+	return (0);
 }
 
 /*
diff --git a/db2/txn/txn_auto.c b/db2/txn/txn_auto.c
index 9edbc03eab..38627466a8 100644
--- a/db2/txn/txn_auto.c
+++ b/db2/txn/txn_auto.c
@@ -73,7 +73,6 @@ int __txn_regop_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __txn_regop_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __txn_regop_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
@@ -202,7 +201,6 @@ int __txn_ckp_log(logp, txnid, ret_lsnp, flags,
  * PUBLIC: int __txn_ckp_print
  * PUBLIC:    __P((DB_LOG *, DBT *, DB_LSN *, int, void *));
  */
-
 int
 __txn_ckp_print(notused1, dbtp, lsnp, notused3, notused4)
 	DB_LOG *notused1;
diff --git a/iconv/gconv.h b/iconv/gconv.h
index 879db49e1c..83f7a99541 100644
--- a/iconv/gconv.h
+++ b/iconv/gconv.h
@@ -26,6 +26,9 @@
 
 __BEGIN_DECLS
 
+/* ISO 10646 value used to signal invalid value.  */
+#define UNKNOWN_10646_CHAR	((wchar_t) 0xfffd)
+
 /* Error codes for gconv functions.  */
 enum
 {
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index 8a72c7aac9..fb03372def 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -322,11 +322,8 @@ read_conf_file (const char *filename, const char *directory, size_t dir_len,
       if (endp != NULL)
 	*endp = '\0';
       else
-	{
-	  endp = strchr (rp, '\n');
-	  if (endp != NULL)
-	    *endp = '\0';
-	}
+	if (rp[n - 1] == '\n')
+	  rp[n - 1] = '\0';
 
       while (isspace (*rp))
 	++rp;
diff --git a/iconvdata/.cvsignore b/iconvdata/.cvsignore
new file mode 100644
index 0000000000..8e5dcb0c65
--- /dev/null
+++ b/iconvdata/.cvsignore
@@ -0,0 +1,14 @@
+ebcdic-at-de-a.h
+ebcdic-at-de.h
+ebcdic-ca-fr.h
+hp-roman8.h
+iso8859-10.h
+iso8859-2.h
+iso8859-3.h
+iso8859-4.h
+iso8859-5.h
+iso8859-6.h
+iso8859-7.h
+iso8859-8.h
+iso8859-9.h
+koi-8.h
diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c
new file mode 100644
index 0000000000..0bcc91ba28
--- /dev/null
+++ b/iconvdata/8bit-gap.c
@@ -0,0 +1,250 @@
+/* Generic conversion to and from 8bit charsets,
+   converting from UCS using gaps.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <gconv.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+struct gap
+{
+  uint16_t start;
+  uint16_t end;
+  int16_t idx;
+};
+
+/* Now we can include the tables.  */
+#include TABLES
+
+/* Direction of the transformation.  */
+enum direction
+{
+  illegal,
+  to_8bit,
+  from_8bit
+};
+
+struct s_8bit_data
+{
+  enum direction dir;
+};
+
+
+int
+gconv_init (struct gconv_step *step, struct gconv_step_data *data)
+{
+  /* Determine which direction.  */
+  struct s_8bit_data *new_data;
+  enum direction dir;
+  int result;
+
+  if (__strcasestr (step->from_name, NAME) != NULL)
+    dir = from_8bit;
+  else if (__strcasestr (step->to_name, NAME) != NULL)
+    dir = to_8bit;
+  else
+    dir = illegal;
+
+  result = GCONV_NOCONV;
+  if (dir != illegal
+      && ((new_data
+	   = (struct s_8bit_data *) malloc (sizeof (struct s_8bit_data)))
+	  != NULL))
+    {
+      new_data->dir = dir;
+      data->data = new_data;
+      result = GCONV_OK;
+    }
+
+  return result;
+}
+
+
+void
+gconv_end (struct gconv_step_data *data)
+{
+  free (data->data);
+}
+
+
+int
+gconv (struct gconv_step *step, struct gconv_step_data *data,
+       const char *inbuf, size_t *inbufsize, size_t *written, int do_flush)
+{
+  struct gconv_step *next_step = step + 1;
+  struct gconv_step_data *next_data = data + 1;
+  gconv_fct fct = next_step->fct;
+  size_t do_write;
+  int result;
+
+  /* If the function is called with no input this means we have to reset
+     to the initial state.  The possibly partly converted input is
+     dropped.  */
+  if (do_flush)
+    {
+      do_write = 0;
+
+      /* Call the steps down the chain if there are any.  */
+      if (data->is_last)
+	result = GCONV_OK;
+      else
+	{
+	  struct gconv_step *next_step = step + 1;
+	  struct gconv_step_data *next_data = data + 1;
+
+	  result = (*fct) (next_step, next_data, NULL, 0, written, 1);
+
+	  /* Clear output buffer.  */
+	  data->outbufavail = 0;
+	}
+    }
+  else
+    {
+      enum direction dir = ((struct s_8bit_data *) data->data)->dir;
+
+      do_write = 0;
+
+      do
+	{
+	  result = GCONV_OK;
+
+	  if (dir == from_8bit)
+	    {
+	      size_t inchars = *inbufsize;
+	      size_t outwchars = data->outbufavail;
+	      char *outbuf = data->outbuf;
+	      size_t cnt = 0;
+
+	      while (cnt < inchars
+		     && (outwchars + sizeof (wchar_t) <= data->outbufsize))
+		{
+		  wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]];
+
+		  if (ch == L'\0' && inbuf[cnt] != '\0')
+		    {
+		      /* This is an illegal character.  */
+		      result = GCONV_ILLEGAL_INPUT;
+		      break;
+		    }
+
+		  *((wchar_t *) (outbuf + outwchars)) = ch;
+		  ++do_write;
+		  outwchars += sizeof (wchar_t);
+		  ++cnt;
+		}
+	      *inbufsize -= cnt;
+	      data->outbufavail = outwchars;
+	    }
+	  else
+	    {
+	      size_t inwchars = *inbufsize;
+	      size_t outchars = data->outbufavail;
+	      char *outbuf = data->outbuf;
+	      size_t cnt = 0;
+
+	      while (inwchars >= cnt + sizeof (wchar_t)
+		     && outchars < data->outbufsize)
+		{
+		  const struct gap *rp = from_idx;
+		  unsigned int ch = *((wchar_t *) (inbuf + cnt));
+		  char res;
+
+		  while (ch > rp->end)
+		    ++rp;
+		  if (ch < rp->start)
+		    /* No valid character.  */
+		    break;
+
+		  res = from_ucs4[ch + rp->idx];
+		  if (res == '\0' && ch != 0)
+		    /* No valid character.  */
+		    break;
+
+		  outbuf[outchars] = res;
+		  ++do_write;
+		  ++outchars;
+		  cnt += sizeof (wchar_t);
+		}
+	      *inbufsize -= cnt;
+	      data->outbufavail = outchars;
+
+	      if (outchars < data->outbufsize)
+		{
+		  /* If there is still room in the output buffer something
+		     is wrong with the input.  */
+		  if (inwchars >= cnt + sizeof (wchar_t))
+		    {
+		      /* An error occurred.  */
+		      result = GCONV_ILLEGAL_INPUT;
+		      break;
+		    }
+		  if (inwchars != cnt)
+		    {
+		      /* There are some unprocessed bytes at the end of the
+			 input buffer.  */
+		      result = GCONV_INCOMPLETE_INPUT;
+		      break;
+		    }
+		}
+	    }
+
+	  if (result != GCONV_OK)
+	    break;
+
+	  if (data->is_last)
+	    {
+	      /* This is the last step.  */
+	      result = (*inbufsize > (dir == from_8bit
+				      ? 0 : sizeof (wchar_t) - 1)
+			? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT);
+	      break;
+	    }
+
+	  /* Status so far.  */
+	  result = GCONV_EMPTY_INPUT;
+
+	  if (data->outbufavail > 0)
+	    {
+	      /* Call the functions below in the chain.  */
+	      size_t newavail = data->outbufavail;
+
+	      result = (*fct) (next_step, next_data, data->outbuf, &newavail,
+			       written, 0);
+
+	      /* Correct the output buffer.  */
+	      if (newavail != data->outbufavail && newavail > 0)
+		{
+		  memmove (data->outbuf,
+			   &data->outbuf[data->outbufavail - newavail],
+			   newavail);
+		  data->outbufavail = newavail;
+		}
+	    }
+	}
+      while (*inbufsize > 0 && result == GCONV_EMPTY_INPUT);
+    }
+
+  if (written != NULL && data->is_last)
+    *written = do_write;
+
+  return result;
+}
diff --git a/iconvdata/iso8859-generic.c b/iconvdata/8bit-generic.c
index e33e1d0a87..fe0a09bd3e 100644
--- a/iconvdata/iso8859-generic.c
+++ b/iconvdata/8bit-generic.c
@@ -1,4 +1,4 @@
-/* Generic conversion to and from ISO 8859-XXX.
+/* Generic conversion to and from 8bit charsets.
    Copyright (C) 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -26,11 +26,11 @@
 enum direction
 {
   illegal,
-  to_iso8859,
-  from_iso8859
+  to_8bit,
+  from_8bit
 };
 
-struct iso8859_data
+struct s_8bit_data
 {
   enum direction dir;
 };
@@ -40,21 +40,21 @@ int
 gconv_init (struct gconv_step *step, struct gconv_step_data *data)
 {
   /* Determine which direction.  */
-  struct iso8859_data *new_data;
+  struct s_8bit_data *new_data;
   enum direction dir;
   int result;
 
   if (__strcasestr (step->from_name, NAME) != NULL)
-    dir = from_iso8859;
+    dir = from_8bit;
   else if (__strcasestr (step->to_name, NAME) != NULL)
-    dir = to_iso8859;
+    dir = to_8bit;
   else
     dir = illegal;
 
   result = GCONV_NOCONV;
   if (dir != illegal
       && ((new_data
-	   = (struct iso8859_data *) malloc (sizeof (struct iso8859_data)))
+	   = (struct s_8bit_data *) malloc (sizeof (struct s_8bit_data)))
 	  != NULL))
     {
       new_data->dir = dir;
@@ -106,7 +106,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
     }
   else
     {
-      enum direction dir = ((struct iso8859_data *) data->data)->dir;
+      enum direction dir = ((struct s_8bit_data *) data->data)->dir;
 
       do_write = 0;
 
@@ -114,7 +114,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 	{
 	  result = GCONV_OK;
 
-	  if (dir == from_iso8859)
+	  if (dir == from_8bit)
 	    {
 	      size_t inchars = *inbufsize;
 	      size_t outwchars = data->outbufavail;
@@ -124,7 +124,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 	      while (cnt < inchars
 		     && (outwchars + sizeof (wchar_t) <= data->outbufsize))
 		{
-		  wchar_t ch = to_ucs4[(int) inbuf[cnt]];
+		  wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]];
 
 		  if (ch == L'\0' && inbuf[cnt] != '\0')
 		    {
@@ -191,7 +191,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 	  if (data->is_last)
 	    {
 	      /* This is the last step.  */
-	      result = (*inbufsize > (dir == from_iso8859
+	      result = (*inbufsize > (dir == from_8bit
 				      ? 0 : sizeof (wchar_t) - 1)
 			? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT);
 	      break;
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index a79e12a291..f08a090363 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -22,12 +22,15 @@
 subdir	:= iconvdata
 
 # Names of all the shared objects which implement the transformations.
-modules	:= ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5	\
-	   ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10	\
-	   T.61 ISO_6937
+modules	:= ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5		\
+	   ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10		\
+	   T.61 ISO_6937 SJIS KOI-8 KOI8-R LATIN-GREEK LATIN-GREEK-1	\
+	   HP-ROMAN8 EBCDIC-AT-DE EBCDIC-AT-DE-A EBCDIC-CA-FR
 modules.so := $(addsuffix .so, $(modules))
 
 
+include ../Makeconfig
+
 ISO8859-1-routines := iso8859-1
 ISO8859-2-routines := iso8859-2
 ISO8859-3-routines := iso8859-3
@@ -40,15 +43,29 @@ ISO8859-9-routines := iso8859-9
 ISO8859-10-routines := iso8859-10
 T.61-routines := t61
 ISO_6937-routines := iso6937
-
-distribute := iso8859-generic.c \
+SJIS-routines := sjis
+KOI-8-routines := koi-8
+KOI8-R-routines := koi8-r
+LATIN-GREEK-routines := latin-greek
+LATIN-GREEK-1-routines := latin-greek-1
+HP-ROMAN8-routines := hp-roman8
+EBCDIC-AT-DE-routines := ebcdic-at-de
+EBCDIC-AT-DE-A-routines := ebcdic-at-de-a
+EBCDIC-CA-FR-routines := ebcdic-ca-fr
+
+extra-libs = libJIS
+extra-libs-others = $(extra-libs)
+
+libJIS-routines := jis0201 jis0208 jis0212
+libJIS-inhibit-o := $(filter-out .os,$(object-suffixes))
+
+distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl \
 	      iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \
 	      iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c\
-	      iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h iso8859-6.h \
-	      iso8859-7.h iso8859-8.h iso8859-9.h iso8859-10.h t61.c	  \
-	      iso6937.c
-
-include ../Makeconfig
+	      t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h	  \
+	      koi-8.c koi8-r.c koi8-r.h hp-roman8.c latin-greek.c	  \
+	      latin-greek.h latin-greek-1.c latin-greek-1.h ebcdic-at-de.c\
+	      ebcdic-at-de-a.c ebcdic-ca-fr.c
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -76,39 +93,83 @@ install-others	= $(addprefix $(inst_gconvdir)/, $(modules.so))	\
 
 # If we have the localedata add-on available we can build the conversion
 # tables for numerous charsets.
-ifneq (,$(findstring localedata,$(add-ons)))
 define generate-8bit-table
 ( echo "static const wchar_t to_ucs4[256] = {"; \
-  sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
+  sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
+  echo "};"; \
+  echo "static const char from_ucs4[] = {"; \
+  sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\2] = 0x\1,/p' -e d $^ | sort -u; \
+  echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
+endef
+
+sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h \
+			 iso8859-6.h iso8859-7.h iso8859-8.h iso8859-9.h \
+			 iso8859-10.h koi-8.h hp-roman8.h ebcdic-at-de.h \
+			 ebcdic-at-de-a.h ebcdic-ca-fr.h
+
+define generate-8bit-gap-table
+( echo "static const wchar_t to_ucs4[256] = {"; \
+  sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
+  echo "};"; \
+  echo "static struct gap from_idx[] = {"; \
+  sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gap.pl; \
+  echo "  { start: 0xffff, end: 0xffff, idx:     0 }"; \
   echo "};"; \
   echo "static const char from_ucs4[] = {"; \
-  sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/  [0x\2] = 0x\1,/p' -e d $^ | sort -u; \
+  sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gaptab.pl; \
   echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
 endef
 
-iso8859-2.h: ../localedata/charmaps/ISO-8859-2
+perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h
+
+# The headers must be generated before the compilation.
+before-compile = $(sed-generated-headers) $(perl-generated-headers)
+
+
+# Rules to generate the headers.
+iso8859-2.h: ../localedata/charmaps/ISO-8859-2 Makefile
+	$(generate-8bit-table)
+iso8859-3.h: ../localedata/charmaps/ISO-8859-3 Makefile
+	$(generate-8bit-table)
+iso8859-4.h: ../localedata/charmaps/ISO-8859-4 Makefile
+	$(generate-8bit-table)
+iso8859-5.h: ../localedata/charmaps/ISO-8859-5 Makefile
 	$(generate-8bit-table)
-iso8859-3.h: ../localedata/charmaps/ISO-8859-3
+iso8859-6.h: ../localedata/charmaps/ISO-8859-6 Makefile
 	$(generate-8bit-table)
-iso8859-4.h: ../localedata/charmaps/ISO-8859-4
+iso8859-7.h: ../localedata/charmaps/ISO-8859-7 Makefile
 	$(generate-8bit-table)
-iso8859-5.h: ../localedata/charmaps/ISO-8859-5
+iso8859-8.h: ../localedata/charmaps/ISO-8859-8 Makefile
 	$(generate-8bit-table)
-iso8859-6.h: ../localedata/charmaps/ISO-8859-6
+iso8859-9.h: ../localedata/charmaps/ISO-8859-9 Makefile
 	$(generate-8bit-table)
-iso8859-7.h: ../localedata/charmaps/ISO-8859-7
+iso8859-10.h: ../localedata/charmaps/ISO-8859-10 Makefile
 	$(generate-8bit-table)
-iso8859-8.h: ../localedata/charmaps/ISO-8859-8
+
+koi-8.h: ../localedata/charmaps/KOI-8 Makefile
+	$(generate-8bit-table)
+
+hp-roman8.h: ../localedata/charmaps/HP-ROMAN8 Makefile
 	$(generate-8bit-table)
-iso8859-9.h: ../localedata/charmaps/ISO-8859-9
+
+ebcdic-at-de.h: ../localedata/charmaps/EBCDIC-AT-DE Makefile
+	$(generate-8bit-table)
+ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A Makefile
 	$(generate-8bit-table)
-iso8859-10.h: ../localedata/charmaps/ISO-8859-10
+ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR Makefile
 	$(generate-8bit-table)
 
-headers: iso8859-2.h iso8859-3.h iso8859-4.h iso8859-5.h iso8859-6.h	\
-	 iso8859-7.h iso8859-8.h iso8859-9.h iso8859-10.h
+ifneq ($(PERL),no)
+koi8-r.h: ../localedata/charmaps/KOI8-R Makefile
+	$(generate-8bit-gap-table)
+latin-greek.h: ../localedata/charmaps/LATIN-GREEK Makefile
+	$(generate-8bit-gap-table)
+latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 Makefile
+	$(generate-8bit-gap-table)
 endif
 
+headers: $(sed-generated-headers) $(perl-generated-headers)
+
 
 $(addprefix $(inst_gconvdir)/, $(modules.so)): $(inst_gconvdir)/%: $(objpfx)%
 	$(do-install-program)
diff --git a/iconvdata/configure b/iconvdata/configure
deleted file mode 100755
index 3eafc93f5b..0000000000
--- a/iconvdata/configure
+++ /dev/null
@@ -1,5 +0,0 @@
-# This is only to keep the GNU C library configure mechanism happy.
-#
-# Perhaps some day we need a real configuration script for different
-# kernel versions or so.
-exit 0
diff --git a/iconvdata/ebcdic-at-de-a.c b/iconvdata/ebcdic-at-de-a.c
new file mode 100644
index 0000000000..7251490ae7
--- /dev/null
+++ b/iconvdata/ebcdic-at-de-a.c
@@ -0,0 +1,24 @@
+/* Conversion from and to EBCDIC-AT-DE-A.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#include <ebcdic-at-de-a.h>
+#define NAME "EBCDIC-AT-DE-A"
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-at-de.c b/iconvdata/ebcdic-at-de.c
new file mode 100644
index 0000000000..d9168fcc1d
--- /dev/null
+++ b/iconvdata/ebcdic-at-de.c
@@ -0,0 +1,24 @@
+/* Conversion from and to EBCDIC-AT-DE.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#include <ebcdic-at-de.h>
+#define NAME "EBCDIC-AT-DE"
+#include <8bit-generic.c>
diff --git a/iconvdata/ebcdic-ca-fr.c b/iconvdata/ebcdic-ca-fr.c
new file mode 100644
index 0000000000..a42914e50e
--- /dev/null
+++ b/iconvdata/ebcdic-ca-fr.c
@@ -0,0 +1,24 @@
+/* Conversion from and to EBCDIC-CA-FR.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#include <ebcdic-ca-fr.h>
+#define NAME "EBCDIC-CA-FR"
+#include <8bit-generic.c>
diff --git a/iconvdata/gap.pl b/iconvdata/gap.pl
new file mode 100644
index 0000000000..01ee9b2829
--- /dev/null
+++ b/iconvdata/gap.pl
@@ -0,0 +1,16 @@
+$first=$last=$idx=0;
+while (<>) {
+  local($ucs,%rest) = split;
+  local($u)=hex($ucs);
+  if ($u - $last > 6) {
+    if ($last != 0) {
+      printf ("  { start: %#06x, end: %#06x, idx: %5d },\n",
+	      $first, $last, $idx - $first);
+      $idx += $last - $first + 1;
+    }
+    $first=$u;
+  }
+  $last=$u;
+}
+printf ("  { start: %#06x, end: %#06x, idx: %5d },\n",
+	$first, $last, $idx - $first);
diff --git a/iconvdata/gaptab.pl b/iconvdata/gaptab.pl
new file mode 100644
index 0000000000..34eb2f9408
--- /dev/null
+++ b/iconvdata/gaptab.pl
@@ -0,0 +1,25 @@
+$first=$last=$idx=0;
+sub fmt {
+  printf ("\n ") if (($n % 8) == 0);
+  ++$n;
+  my($val) = pop(@_);
+  printf (" '\\x%02x',", $val);
+}
+while (<>) {
+  local($ucs,$char,%rest) = split;
+  local($u)=hex($ucs);
+  local($c)=hex($char);
+  if ($u - $last > 6) {
+    if ($last != 0) {
+      $idx += $last - $first + 1;
+    }
+    $first=$u;
+  } else {
+    for ($m = $last + 1; $m < $u; ++$m) {
+      fmt (0);
+    }
+  }
+  fmt ($c);
+  $last=$u;
+}
+printf ("\n");
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index 270ac14f11..a3ff7947c0 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -143,3 +143,44 @@ alias	ISO_6937:1992//		ISO_6937//
 alias	ISO6937//		ISO_6937//
 module	ISO_6937//		ISO-10646/UCS4/		ISO_6937	1
 module	ISO-10646/UCS4/		ISO_6937//		ISO_6937	1
+
+#	from			  to			  module	cost
+alias	SHIFT-JIS//		SJIS
+module	SJIS//			ISO-10646/UCS4/		SJIS		1
+module	ISO-10646/UCS4/		SJIS			SJIS		1
+
+#	from			  to			  module	cost
+module	KOI-8//			ISO-10646/UCS4/		KOI-8		1
+module	ISO-10646/UCS4/		KOI-8//			KOI-8		1
+
+#	from			  to			  module	cost
+module	KOI8-R//		ISO-10646/UCS4/		KOI8-R		1
+module	ISO-10646/UCS4/		KOI8-R//		KOI8-R		1
+
+#	from			  to			  module	cost
+alias	ISO-IR-19//		LATIN-GREEK//
+module	LATIN-GREEK//		ISO-10646/UCS4/		LATIN-GREEK	1
+module	ISO-10646/UCS4/		LATIN-GREEK//		LATIN-GREEK	1
+
+#	from			  to			  module	cost
+alias	ISO-IR-27//		LATIN-GREEK//
+module	LATIN-GREEK-1//		ISO-10646/UCS4/		LATIN-GREEK-1	1
+module	ISO-10646/UCS4/		LATIN-GREEK-1//		LATIN-GREEK-1	1
+
+#	from			  to			  module	cost
+alias	ROMAN8//		HP-ROMAN8//
+alias	R8//			HP-ROMAN8//
+module	HP-ROMAN8//		ISO-10646/UCS4/		HP-ROMAN8	1
+module	ISO-10646/UCS4/		HP-ROMAN8//		HP-ROMAN8	1
+
+#	from			  to			  module	cost
+module	EBCDIC-AT-DE//		ISO-10646/UCS4/		EBCDIC-AT-DE	1
+module	ISO-10646/UCS4/		EBCDIC-AT-DE//		EBCDIC-AT-DE	1
+
+#	from			  to			  module	cost
+module	EBCDIC-AT-DE-A//	ISO-10646/UCS4/		EBCDIC-AT-DE-A	1
+module	ISO-10646/UCS4/		EBCDIC-AT-DE-A//	EBCDIC-AT-DE-A	1
+
+#	from			  to			  module	cost
+module	EBCDIC-CA-FR//		ISO-10646/UCS4/		EBCDIC-CA-FR	1
+module	ISO-10646/UCS4/		EBCDIC-CA-FR//		EBCDIC-CA-FR	1
diff --git a/iconvdata/hp-roman8.c b/iconvdata/hp-roman8.c
new file mode 100644
index 0000000000..db36ceab9d
--- /dev/null
+++ b/iconvdata/hp-roman8.c
@@ -0,0 +1,24 @@
+/* Conversion from and to HP-ROMAN8.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#include <hp-roman8.h>
+#define NAME "HP-ROMAN8"
+#include <8bit-generic.c>
diff --git a/iconvdata/iso6937.c b/iconvdata/iso6937.c
index dc6da3b347..b79a9aa4e1 100644
--- a/iconvdata/iso6937.c
+++ b/iconvdata/iso6937.c
@@ -498,6 +498,10 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 			ch = L'\0';
 		      else
 			ch = to_ucs4_comb[inchar - 0xc1][inchar2 - 0x20];
+
+		      if (ch == L'\0')
+			/* Undo the increment for illegal characters.  */
+			--cnt;
 		    }
 		  else
 		    ch = to_ucs4[inchar];
diff --git a/iconvdata/iso8859-1.c b/iconvdata/iso8859-1.c
index 94128fe72c..e7c120f138 100644
--- a/iconvdata/iso8859-1.c
+++ b/iconvdata/iso8859-1.c
@@ -142,7 +142,8 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 	      while (inwchars >= cnt + sizeof (wchar_t)
 		     && outchars < data->outbufsize)
 		{
-		  if (*((wchar_t *) (inbuf + cnt)) <= L'\377')
+		  if (*((wchar_t *) (inbuf + cnt)) >= L'\0'
+		      && *((wchar_t *) (inbuf + cnt)) <= L'\377')
 		    outbuf[outchars] = *((wchar_t *) (inbuf + cnt));
 		  else
 		    /* Here is where the transliteration would enter the
diff --git a/iconvdata/iso8859-10.c b/iconvdata/iso8859-10.c
index 5c81214597..eb54e49342 100644
--- a/iconvdata/iso8859-10.c
+++ b/iconvdata/iso8859-10.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-10.h>
 #define NAME "ISO-8859-10"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-10.h b/iconvdata/iso8859-10.h
deleted file mode 100644
index 04711c3274..0000000000
--- a/iconvdata/iso8859-10.h
+++ /dev/null
@@ -1,516 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x0104,
-  [0xA2] = 0x0112,
-  [0xA3] = 0x0122,
-  [0xA4] = 0x012A,
-  [0xA5] = 0x0128,
-  [0xA6] = 0x0136,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x013B,
-  [0xA9] = 0x0110,
-  [0xAA] = 0x0160,
-  [0xAB] = 0x0166,
-  [0xAC] = 0x017D,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x016A,
-  [0xAF] = 0x014A,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x0105,
-  [0xB2] = 0x0113,
-  [0xB3] = 0x0123,
-  [0xB4] = 0x012B,
-  [0xB5] = 0x0129,
-  [0xB6] = 0x0137,
-  [0xB7] = 0x00B7,
-  [0xB8] = 0x013C,
-  [0xB9] = 0x0111,
-  [0xBA] = 0x0161,
-  [0xBB] = 0x0167,
-  [0xBC] = 0x017E,
-  [0xBD] = 0x2014,
-  [0xBE] = 0x016B,
-  [0xBF] = 0x014B,
-  [0xC0] = 0x0100,
-  [0xC1] = 0x00C1,
-  [0xC2] = 0x00C2,
-  [0xC3] = 0x00C3,
-  [0xC4] = 0x00C4,
-  [0xC5] = 0x00C5,
-  [0xC6] = 0x00C6,
-  [0xC7] = 0x012E,
-  [0xC8] = 0x010C,
-  [0xC9] = 0x00C9,
-  [0xCA] = 0x0118,
-  [0xCB] = 0x00CB,
-  [0xCC] = 0x0116,
-  [0xCD] = 0x00CD,
-  [0xCE] = 0x00CE,
-  [0xCF] = 0x00CF,
-  [0xD0] = 0x00D0,
-  [0xD1] = 0x0145,
-  [0xD2] = 0x014C,
-  [0xD3] = 0x00D3,
-  [0xD4] = 0x00D4,
-  [0xD5] = 0x00D5,
-  [0xD6] = 0x00D6,
-  [0xD7] = 0x0168,
-  [0xD8] = 0x00D8,
-  [0xD9] = 0x0172,
-  [0xDA] = 0x00DA,
-  [0xDB] = 0x00DB,
-  [0xDC] = 0x00DC,
-  [0xDD] = 0x00DD,
-  [0xDE] = 0x00DE,
-  [0xDF] = 0x00DF,
-  [0xE0] = 0x0101,
-  [0xE1] = 0x00E1,
-  [0xE2] = 0x00E2,
-  [0xE3] = 0x00E3,
-  [0xE4] = 0x00E4,
-  [0xE5] = 0x00E5,
-  [0xE6] = 0x00E6,
-  [0xE7] = 0x012F,
-  [0xE8] = 0x010D,
-  [0xE9] = 0x00E9,
-  [0xEA] = 0x0119,
-  [0xEB] = 0x00EB,
-  [0xEC] = 0x0117,
-  [0xED] = 0x00ED,
-  [0xEE] = 0x00EE,
-  [0xEF] = 0x00EF,
-  [0xF0] = 0x00F0,
-  [0xF1] = 0x0146,
-  [0xF2] = 0x014D,
-  [0xF3] = 0x00F3,
-  [0xF4] = 0x00F4,
-  [0xF5] = 0x00F5,
-  [0xF6] = 0x00F6,
-  [0xF7] = 0x0169,
-  [0xF8] = 0x00F8,
-  [0xF9] = 0x0173,
-  [0xFA] = 0x00FA,
-  [0xFB] = 0x00FB,
-  [0xFC] = 0x00FC,
-  [0xFD] = 0x00FD,
-  [0xFE] = 0x00FE,
-  [0xFF] = 0x0138,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A7] = 0xA7,
-  [0x00AD] = 0xAD,
-  [0x00B0] = 0xB0,
-  [0x00B7] = 0xB7,
-  [0x00C1] = 0xC1,
-  [0x00C2] = 0xC2,
-  [0x00C3] = 0xC3,
-  [0x00C4] = 0xC4,
-  [0x00C5] = 0xC5,
-  [0x00C6] = 0xC6,
-  [0x00C9] = 0xC9,
-  [0x00CB] = 0xCB,
-  [0x00CD] = 0xCD,
-  [0x00CE] = 0xCE,
-  [0x00CF] = 0xCF,
-  [0x00D0] = 0xD0,
-  [0x00D3] = 0xD3,
-  [0x00D4] = 0xD4,
-  [0x00D5] = 0xD5,
-  [0x00D6] = 0xD6,
-  [0x00D8] = 0xD8,
-  [0x00DA] = 0xDA,
-  [0x00DB] = 0xDB,
-  [0x00DC] = 0xDC,
-  [0x00DD] = 0xDD,
-  [0x00DE] = 0xDE,
-  [0x00DF] = 0xDF,
-  [0x00E1] = 0xE1,
-  [0x00E2] = 0xE2,
-  [0x00E3] = 0xE3,
-  [0x00E4] = 0xE4,
-  [0x00E5] = 0xE5,
-  [0x00E6] = 0xE6,
-  [0x00E9] = 0xE9,
-  [0x00EB] = 0xEB,
-  [0x00ED] = 0xED,
-  [0x00EE] = 0xEE,
-  [0x00EF] = 0xEF,
-  [0x00F0] = 0xF0,
-  [0x00F3] = 0xF3,
-  [0x00F4] = 0xF4,
-  [0x00F5] = 0xF5,
-  [0x00F6] = 0xF6,
-  [0x00F8] = 0xF8,
-  [0x00FA] = 0xFA,
-  [0x00FB] = 0xFB,
-  [0x00FC] = 0xFC,
-  [0x00FD] = 0xFD,
-  [0x00FE] = 0xFE,
-  [0x0100] = 0xC0,
-  [0x0101] = 0xE0,
-  [0x0104] = 0xA1,
-  [0x0105] = 0xB1,
-  [0x010C] = 0xC8,
-  [0x010D] = 0xE8,
-  [0x0110] = 0xA9,
-  [0x0111] = 0xB9,
-  [0x0112] = 0xA2,
-  [0x0113] = 0xB2,
-  [0x0116] = 0xCC,
-  [0x0117] = 0xEC,
-  [0x0118] = 0xCA,
-  [0x0119] = 0xEA,
-  [0x0122] = 0xA3,
-  [0x0123] = 0xB3,
-  [0x0128] = 0xA5,
-  [0x0129] = 0xB5,
-  [0x012A] = 0xA4,
-  [0x012B] = 0xB4,
-  [0x012E] = 0xC7,
-  [0x012F] = 0xE7,
-  [0x0136] = 0xA6,
-  [0x0137] = 0xB6,
-  [0x0138] = 0xFF,
-  [0x013B] = 0xA8,
-  [0x013C] = 0xB8,
-  [0x0145] = 0xD1,
-  [0x0146] = 0xF1,
-  [0x014A] = 0xAF,
-  [0x014B] = 0xBF,
-  [0x014C] = 0xD2,
-  [0x014D] = 0xF2,
-  [0x0160] = 0xAA,
-  [0x0161] = 0xBA,
-  [0x0166] = 0xAB,
-  [0x0167] = 0xBB,
-  [0x0168] = 0xD7,
-  [0x0169] = 0xF7,
-  [0x016A] = 0xAE,
-  [0x016B] = 0xBE,
-  [0x0172] = 0xD9,
-  [0x0173] = 0xF9,
-  [0x017D] = 0xAC,
-  [0x017E] = 0xBC,
-  [0x2014] = 0xBD,
-};
diff --git a/iconvdata/iso8859-2.c b/iconvdata/iso8859-2.c
index 3bfc77b894..fa07b752c6 100644
--- a/iconvdata/iso8859-2.c
+++ b/iconvdata/iso8859-2.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-2.h>
 #define NAME "ISO-8859-2"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-2.h b/iconvdata/iso8859-2.h
deleted file mode 100644
index 515d8490d6..0000000000
--- a/iconvdata/iso8859-2.h
+++ /dev/null
@@ -1,516 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x0104,
-  [0xA2] = 0x02D8,
-  [0xA3] = 0x0141,
-  [0xA4] = 0x00A4,
-  [0xA5] = 0x013D,
-  [0xA6] = 0x015A,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x0160,
-  [0xAA] = 0x015E,
-  [0xAB] = 0x0164,
-  [0xAC] = 0x0179,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x017D,
-  [0xAF] = 0x017B,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x0105,
-  [0xB2] = 0x02DB,
-  [0xB3] = 0x0142,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x013E,
-  [0xB6] = 0x015B,
-  [0xB7] = 0x02C7,
-  [0xB8] = 0x00B8,
-  [0xB9] = 0x0161,
-  [0xBA] = 0x015F,
-  [0xBB] = 0x0165,
-  [0xBC] = 0x017A,
-  [0xBD] = 0x02DD,
-  [0xBE] = 0x017E,
-  [0xBF] = 0x017C,
-  [0xC0] = 0x0154,
-  [0xC1] = 0x00C1,
-  [0xC2] = 0x00C2,
-  [0xC3] = 0x0102,
-  [0xC4] = 0x00C4,
-  [0xC5] = 0x0139,
-  [0xC6] = 0x0106,
-  [0xC7] = 0x00C7,
-  [0xC8] = 0x010C,
-  [0xC9] = 0x00C9,
-  [0xCA] = 0x0118,
-  [0xCB] = 0x00CB,
-  [0xCC] = 0x011A,
-  [0xCD] = 0x00CD,
-  [0xCE] = 0x00CE,
-  [0xCF] = 0x010E,
-  [0xD0] = 0x0110,
-  [0xD1] = 0x0143,
-  [0xD2] = 0x0147,
-  [0xD3] = 0x00D3,
-  [0xD4] = 0x00D4,
-  [0xD5] = 0x0150,
-  [0xD6] = 0x00D6,
-  [0xD7] = 0x00D7,
-  [0xD8] = 0x0158,
-  [0xD9] = 0x016E,
-  [0xDA] = 0x00DA,
-  [0xDB] = 0x0170,
-  [0xDC] = 0x00DC,
-  [0xDD] = 0x00DD,
-  [0xDE] = 0x0162,
-  [0xDF] = 0x00DF,
-  [0xE0] = 0x0155,
-  [0xE1] = 0x00E1,
-  [0xE2] = 0x00E2,
-  [0xE3] = 0x0103,
-  [0xE4] = 0x00E4,
-  [0xE5] = 0x013A,
-  [0xE6] = 0x0107,
-  [0xE7] = 0x00E7,
-  [0xE8] = 0x010D,
-  [0xE9] = 0x00E9,
-  [0xEA] = 0x0119,
-  [0xEB] = 0x00EB,
-  [0xEC] = 0x011B,
-  [0xED] = 0x00ED,
-  [0xEE] = 0x00EE,
-  [0xEF] = 0x010F,
-  [0xF0] = 0x0111,
-  [0xF1] = 0x0144,
-  [0xF2] = 0x0148,
-  [0xF3] = 0x00F3,
-  [0xF4] = 0x00F4,
-  [0xF5] = 0x0151,
-  [0xF6] = 0x00F6,
-  [0xF7] = 0x00F7,
-  [0xF8] = 0x0159,
-  [0xF9] = 0x016F,
-  [0xFA] = 0x00FA,
-  [0xFB] = 0x0171,
-  [0xFC] = 0x00FC,
-  [0xFD] = 0x00FD,
-  [0xFE] = 0x0163,
-  [0xFF] = 0x02D9,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A4] = 0xA4,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00AD] = 0xAD,
-  [0x00B0] = 0xB0,
-  [0x00B4] = 0xB4,
-  [0x00B8] = 0xB8,
-  [0x00C1] = 0xC1,
-  [0x00C2] = 0xC2,
-  [0x00C4] = 0xC4,
-  [0x00C7] = 0xC7,
-  [0x00C9] = 0xC9,
-  [0x00CB] = 0xCB,
-  [0x00CD] = 0xCD,
-  [0x00CE] = 0xCE,
-  [0x00D3] = 0xD3,
-  [0x00D4] = 0xD4,
-  [0x00D6] = 0xD6,
-  [0x00D7] = 0xD7,
-  [0x00DA] = 0xDA,
-  [0x00DC] = 0xDC,
-  [0x00DD] = 0xDD,
-  [0x00DF] = 0xDF,
-  [0x00E1] = 0xE1,
-  [0x00E2] = 0xE2,
-  [0x00E4] = 0xE4,
-  [0x00E7] = 0xE7,
-  [0x00E9] = 0xE9,
-  [0x00EB] = 0xEB,
-  [0x00ED] = 0xED,
-  [0x00EE] = 0xEE,
-  [0x00F3] = 0xF3,
-  [0x00F4] = 0xF4,
-  [0x00F6] = 0xF6,
-  [0x00F7] = 0xF7,
-  [0x00FA] = 0xFA,
-  [0x00FC] = 0xFC,
-  [0x00FD] = 0xFD,
-  [0x0102] = 0xC3,
-  [0x0103] = 0xE3,
-  [0x0104] = 0xA1,
-  [0x0105] = 0xB1,
-  [0x0106] = 0xC6,
-  [0x0107] = 0xE6,
-  [0x010C] = 0xC8,
-  [0x010D] = 0xE8,
-  [0x010E] = 0xCF,
-  [0x010F] = 0xEF,
-  [0x0110] = 0xD0,
-  [0x0111] = 0xF0,
-  [0x0118] = 0xCA,
-  [0x0119] = 0xEA,
-  [0x011A] = 0xCC,
-  [0x011B] = 0xEC,
-  [0x0139] = 0xC5,
-  [0x013A] = 0xE5,
-  [0x013D] = 0xA5,
-  [0x013E] = 0xB5,
-  [0x0141] = 0xA3,
-  [0x0142] = 0xB3,
-  [0x0143] = 0xD1,
-  [0x0144] = 0xF1,
-  [0x0147] = 0xD2,
-  [0x0148] = 0xF2,
-  [0x0150] = 0xD5,
-  [0x0151] = 0xF5,
-  [0x0154] = 0xC0,
-  [0x0155] = 0xE0,
-  [0x0158] = 0xD8,
-  [0x0159] = 0xF8,
-  [0x015A] = 0xA6,
-  [0x015B] = 0xB6,
-  [0x015E] = 0xAA,
-  [0x015F] = 0xBA,
-  [0x0160] = 0xA9,
-  [0x0161] = 0xB9,
-  [0x0162] = 0xDE,
-  [0x0163] = 0xFE,
-  [0x0164] = 0xAB,
-  [0x0165] = 0xBB,
-  [0x016E] = 0xD9,
-  [0x016F] = 0xF9,
-  [0x0170] = 0xDB,
-  [0x0171] = 0xFB,
-  [0x0179] = 0xAC,
-  [0x017A] = 0xBC,
-  [0x017B] = 0xAF,
-  [0x017C] = 0xBF,
-  [0x017D] = 0xAE,
-  [0x017E] = 0xBE,
-  [0x02C7] = 0xB7,
-  [0x02D8] = 0xA2,
-  [0x02D9] = 0xFF,
-  [0x02DB] = 0xB2,
-  [0x02DD] = 0xBD,
-};
diff --git a/iconvdata/iso8859-3.c b/iconvdata/iso8859-3.c
index a6b208dc81..c31d388ca2 100644
--- a/iconvdata/iso8859-3.c
+++ b/iconvdata/iso8859-3.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-3.h>
 #define NAME "ISO-8859-3"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-3.h b/iconvdata/iso8859-3.h
deleted file mode 100644
index f9e632504b..0000000000
--- a/iconvdata/iso8859-3.h
+++ /dev/null
@@ -1,502 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x0126,
-  [0xA2] = 0x02D8,
-  [0xA3] = 0x00A3,
-  [0xA4] = 0x00A4,
-  [0xA6] = 0x0124,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x0130,
-  [0xAA] = 0x015E,
-  [0xAB] = 0x011E,
-  [0xAC] = 0x0134,
-  [0xAD] = 0x00AD,
-  [0xAF] = 0x017B,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x0127,
-  [0xB2] = 0x00B2,
-  [0xB3] = 0x00B3,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x00B5,
-  [0xB6] = 0x0125,
-  [0xB7] = 0x00B7,
-  [0xB8] = 0x00B8,
-  [0xB9] = 0x0131,
-  [0xBA] = 0x015F,
-  [0xBB] = 0x011F,
-  [0xBC] = 0x0135,
-  [0xBD] = 0x00BD,
-  [0xBF] = 0x017C,
-  [0xC0] = 0x00C0,
-  [0xC1] = 0x00C1,
-  [0xC2] = 0x00C2,
-  [0xC4] = 0x00C4,
-  [0xC5] = 0x010A,
-  [0xC6] = 0x0108,
-  [0xC7] = 0x00C7,
-  [0xC8] = 0x00C8,
-  [0xC9] = 0x00C9,
-  [0xCA] = 0x00CA,
-  [0xCB] = 0x00CB,
-  [0xCC] = 0x00CC,
-  [0xCD] = 0x00CD,
-  [0xCE] = 0x00CE,
-  [0xCF] = 0x00CF,
-  [0xD1] = 0x00D1,
-  [0xD2] = 0x00D2,
-  [0xD3] = 0x00D3,
-  [0xD4] = 0x00D4,
-  [0xD5] = 0x0120,
-  [0xD6] = 0x00D6,
-  [0xD7] = 0x00D7,
-  [0xD8] = 0x011C,
-  [0xD9] = 0x00D9,
-  [0xDA] = 0x00DA,
-  [0xDB] = 0x00DB,
-  [0xDC] = 0x00DC,
-  [0xDD] = 0x016C,
-  [0xDE] = 0x015C,
-  [0xDF] = 0x00DF,
-  [0xE0] = 0x00E0,
-  [0xE1] = 0x00E1,
-  [0xE2] = 0x00E2,
-  [0xE4] = 0x00E4,
-  [0xE5] = 0x010B,
-  [0xE6] = 0x0109,
-  [0xE7] = 0x00E7,
-  [0xE8] = 0x00E8,
-  [0xE9] = 0x00E9,
-  [0xEA] = 0x00EA,
-  [0xEB] = 0x00EB,
-  [0xEC] = 0x00EC,
-  [0xED] = 0x00ED,
-  [0xEE] = 0x00EE,
-  [0xEF] = 0x00EF,
-  [0xF1] = 0x00F1,
-  [0xF2] = 0x00F2,
-  [0xF3] = 0x00F3,
-  [0xF4] = 0x00F4,
-  [0xF5] = 0x0121,
-  [0xF6] = 0x00F6,
-  [0xF7] = 0x00F7,
-  [0xF8] = 0x011D,
-  [0xF9] = 0x00F9,
-  [0xFA] = 0x00FA,
-  [0xFB] = 0x00FB,
-  [0xFC] = 0x00FC,
-  [0xFD] = 0x016D,
-  [0xFE] = 0x015D,
-  [0xFF] = 0x02D9,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A3] = 0xA3,
-  [0x00A4] = 0xA4,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00AD] = 0xAD,
-  [0x00B0] = 0xB0,
-  [0x00B2] = 0xB2,
-  [0x00B3] = 0xB3,
-  [0x00B4] = 0xB4,
-  [0x00B5] = 0xB5,
-  [0x00B7] = 0xB7,
-  [0x00B8] = 0xB8,
-  [0x00BD] = 0xBD,
-  [0x00C0] = 0xC0,
-  [0x00C1] = 0xC1,
-  [0x00C2] = 0xC2,
-  [0x00C4] = 0xC4,
-  [0x00C7] = 0xC7,
-  [0x00C8] = 0xC8,
-  [0x00C9] = 0xC9,
-  [0x00CA] = 0xCA,
-  [0x00CB] = 0xCB,
-  [0x00CC] = 0xCC,
-  [0x00CD] = 0xCD,
-  [0x00CE] = 0xCE,
-  [0x00CF] = 0xCF,
-  [0x00D1] = 0xD1,
-  [0x00D2] = 0xD2,
-  [0x00D3] = 0xD3,
-  [0x00D4] = 0xD4,
-  [0x00D6] = 0xD6,
-  [0x00D7] = 0xD7,
-  [0x00D9] = 0xD9,
-  [0x00DA] = 0xDA,
-  [0x00DB] = 0xDB,
-  [0x00DC] = 0xDC,
-  [0x00DF] = 0xDF,
-  [0x00E0] = 0xE0,
-  [0x00E1] = 0xE1,
-  [0x00E2] = 0xE2,
-  [0x00E4] = 0xE4,
-  [0x00E7] = 0xE7,
-  [0x00E8] = 0xE8,
-  [0x00E9] = 0xE9,
-  [0x00EA] = 0xEA,
-  [0x00EB] = 0xEB,
-  [0x00EC] = 0xEC,
-  [0x00ED] = 0xED,
-  [0x00EE] = 0xEE,
-  [0x00EF] = 0xEF,
-  [0x00F1] = 0xF1,
-  [0x00F2] = 0xF2,
-  [0x00F3] = 0xF3,
-  [0x00F4] = 0xF4,
-  [0x00F6] = 0xF6,
-  [0x00F7] = 0xF7,
-  [0x00F9] = 0xF9,
-  [0x00FA] = 0xFA,
-  [0x00FB] = 0xFB,
-  [0x00FC] = 0xFC,
-  [0x0108] = 0xC6,
-  [0x0109] = 0xE6,
-  [0x010A] = 0xC5,
-  [0x010B] = 0xE5,
-  [0x011C] = 0xD8,
-  [0x011D] = 0xF8,
-  [0x011E] = 0xAB,
-  [0x011F] = 0xBB,
-  [0x0120] = 0xD5,
-  [0x0121] = 0xF5,
-  [0x0124] = 0xA6,
-  [0x0125] = 0xB6,
-  [0x0126] = 0xA1,
-  [0x0127] = 0xB1,
-  [0x0130] = 0xA9,
-  [0x0131] = 0xB9,
-  [0x0134] = 0xAC,
-  [0x0135] = 0xBC,
-  [0x015C] = 0xDE,
-  [0x015D] = 0xFE,
-  [0x015E] = 0xAA,
-  [0x015F] = 0xBA,
-  [0x016C] = 0xDD,
-  [0x016D] = 0xFD,
-  [0x017B] = 0xAF,
-  [0x017C] = 0xBF,
-  [0x02D8] = 0xA2,
-  [0x02D9] = 0xFF,
-};
diff --git a/iconvdata/iso8859-4.c b/iconvdata/iso8859-4.c
index b2b6ef0246..7ae98473ca 100644
--- a/iconvdata/iso8859-4.c
+++ b/iconvdata/iso8859-4.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-4.h>
 #define NAME "ISO-8859-4"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-4.h b/iconvdata/iso8859-4.h
deleted file mode 100644
index acf4aaad40..0000000000
--- a/iconvdata/iso8859-4.h
+++ /dev/null
@@ -1,516 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x0104,
-  [0xA2] = 0x0138,
-  [0xA3] = 0x0156,
-  [0xA4] = 0x00A4,
-  [0xA5] = 0x0128,
-  [0xA6] = 0x013B,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x0160,
-  [0xAA] = 0x0112,
-  [0xAB] = 0x0122,
-  [0xAC] = 0x0166,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x017D,
-  [0xAF] = 0x00AF,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x0105,
-  [0xB2] = 0x02DB,
-  [0xB3] = 0x0157,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x0129,
-  [0xB6] = 0x013C,
-  [0xB7] = 0x02C7,
-  [0xB8] = 0x00B8,
-  [0xB9] = 0x0161,
-  [0xBA] = 0x0113,
-  [0xBB] = 0x0123,
-  [0xBC] = 0x0167,
-  [0xBD] = 0x014A,
-  [0xBE] = 0x017E,
-  [0xBF] = 0x014B,
-  [0xC0] = 0x0100,
-  [0xC1] = 0x00C1,
-  [0xC2] = 0x00C2,
-  [0xC3] = 0x00C3,
-  [0xC4] = 0x00C4,
-  [0xC5] = 0x00C5,
-  [0xC6] = 0x00C6,
-  [0xC7] = 0x012E,
-  [0xC8] = 0x010C,
-  [0xC9] = 0x00C9,
-  [0xCA] = 0x0118,
-  [0xCB] = 0x00CB,
-  [0xCC] = 0x0116,
-  [0xCD] = 0x00CD,
-  [0xCE] = 0x00CE,
-  [0xCF] = 0x012A,
-  [0xD0] = 0x0110,
-  [0xD1] = 0x0145,
-  [0xD2] = 0x014C,
-  [0xD3] = 0x0136,
-  [0xD4] = 0x00D4,
-  [0xD5] = 0x00D5,
-  [0xD6] = 0x00D6,
-  [0xD7] = 0x00D7,
-  [0xD8] = 0x00D8,
-  [0xD9] = 0x0172,
-  [0xDA] = 0x00DA,
-  [0xDB] = 0x00DB,
-  [0xDC] = 0x00DC,
-  [0xDD] = 0x0168,
-  [0xDE] = 0x016A,
-  [0xDF] = 0x00DF,
-  [0xE0] = 0x0101,
-  [0xE1] = 0x00E1,
-  [0xE2] = 0x00E2,
-  [0xE3] = 0x00E3,
-  [0xE4] = 0x00E4,
-  [0xE5] = 0x00E5,
-  [0xE6] = 0x00E6,
-  [0xE7] = 0x012F,
-  [0xE8] = 0x010D,
-  [0xE9] = 0x00E9,
-  [0xEA] = 0x0119,
-  [0xEB] = 0x00EB,
-  [0xEC] = 0x0117,
-  [0xED] = 0x00ED,
-  [0xEE] = 0x00EE,
-  [0xEF] = 0x012B,
-  [0xF0] = 0x0111,
-  [0xF1] = 0x0146,
-  [0xF2] = 0x014D,
-  [0xF3] = 0x0137,
-  [0xF4] = 0x00F4,
-  [0xF5] = 0x00F5,
-  [0xF6] = 0x00F6,
-  [0xF7] = 0x00F7,
-  [0xF8] = 0x00F8,
-  [0xF9] = 0x0173,
-  [0xFA] = 0x00FA,
-  [0xFB] = 0x00FB,
-  [0xFC] = 0x00FC,
-  [0xFD] = 0x0169,
-  [0xFE] = 0x016B,
-  [0xFF] = 0x02D9,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A4] = 0xA4,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00AD] = 0xAD,
-  [0x00AF] = 0xAF,
-  [0x00B0] = 0xB0,
-  [0x00B4] = 0xB4,
-  [0x00B8] = 0xB8,
-  [0x00C1] = 0xC1,
-  [0x00C2] = 0xC2,
-  [0x00C3] = 0xC3,
-  [0x00C4] = 0xC4,
-  [0x00C5] = 0xC5,
-  [0x00C6] = 0xC6,
-  [0x00C9] = 0xC9,
-  [0x00CB] = 0xCB,
-  [0x00CD] = 0xCD,
-  [0x00CE] = 0xCE,
-  [0x00D4] = 0xD4,
-  [0x00D5] = 0xD5,
-  [0x00D6] = 0xD6,
-  [0x00D7] = 0xD7,
-  [0x00D8] = 0xD8,
-  [0x00DA] = 0xDA,
-  [0x00DB] = 0xDB,
-  [0x00DC] = 0xDC,
-  [0x00DF] = 0xDF,
-  [0x00E1] = 0xE1,
-  [0x00E2] = 0xE2,
-  [0x00E3] = 0xE3,
-  [0x00E4] = 0xE4,
-  [0x00E5] = 0xE5,
-  [0x00E6] = 0xE6,
-  [0x00E9] = 0xE9,
-  [0x00EB] = 0xEB,
-  [0x00ED] = 0xED,
-  [0x00EE] = 0xEE,
-  [0x00F4] = 0xF4,
-  [0x00F5] = 0xF5,
-  [0x00F6] = 0xF6,
-  [0x00F7] = 0xF7,
-  [0x00F8] = 0xF8,
-  [0x00FA] = 0xFA,
-  [0x00FB] = 0xFB,
-  [0x00FC] = 0xFC,
-  [0x0100] = 0xC0,
-  [0x0101] = 0xE0,
-  [0x0104] = 0xA1,
-  [0x0105] = 0xB1,
-  [0x010C] = 0xC8,
-  [0x010D] = 0xE8,
-  [0x0110] = 0xD0,
-  [0x0111] = 0xF0,
-  [0x0112] = 0xAA,
-  [0x0113] = 0xBA,
-  [0x0116] = 0xCC,
-  [0x0117] = 0xEC,
-  [0x0118] = 0xCA,
-  [0x0119] = 0xEA,
-  [0x0122] = 0xAB,
-  [0x0123] = 0xBB,
-  [0x0128] = 0xA5,
-  [0x0129] = 0xB5,
-  [0x012A] = 0xCF,
-  [0x012B] = 0xEF,
-  [0x012E] = 0xC7,
-  [0x012F] = 0xE7,
-  [0x0136] = 0xD3,
-  [0x0137] = 0xF3,
-  [0x0138] = 0xA2,
-  [0x013B] = 0xA6,
-  [0x013C] = 0xB6,
-  [0x0145] = 0xD1,
-  [0x0146] = 0xF1,
-  [0x014A] = 0xBD,
-  [0x014B] = 0xBF,
-  [0x014C] = 0xD2,
-  [0x014D] = 0xF2,
-  [0x0156] = 0xA3,
-  [0x0157] = 0xB3,
-  [0x0160] = 0xA9,
-  [0x0161] = 0xB9,
-  [0x0166] = 0xAC,
-  [0x0167] = 0xBC,
-  [0x0168] = 0xDD,
-  [0x0169] = 0xFD,
-  [0x016A] = 0xDE,
-  [0x016B] = 0xFE,
-  [0x0172] = 0xD9,
-  [0x0173] = 0xF9,
-  [0x017D] = 0xAE,
-  [0x017E] = 0xBE,
-  [0x02C7] = 0xB7,
-  [0x02D9] = 0xFF,
-  [0x02DB] = 0xB2,
-};
diff --git a/iconvdata/iso8859-5.c b/iconvdata/iso8859-5.c
index b0ebd6f93b..b4791f1bf5 100644
--- a/iconvdata/iso8859-5.c
+++ b/iconvdata/iso8859-5.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-5.h>
 #define NAME "ISO-8859-5"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-5.h b/iconvdata/iso8859-5.h
deleted file mode 100644
index f20ce11fe0..0000000000
--- a/iconvdata/iso8859-5.h
+++ /dev/null
@@ -1,516 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x0401,
-  [0xA2] = 0x0402,
-  [0xA3] = 0x0403,
-  [0xA4] = 0x0404,
-  [0xA5] = 0x0405,
-  [0xA6] = 0x0406,
-  [0xA7] = 0x0407,
-  [0xA8] = 0x0408,
-  [0xA9] = 0x0409,
-  [0xAA] = 0x040A,
-  [0xAB] = 0x040B,
-  [0xAC] = 0x040C,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x040E,
-  [0xAF] = 0x040F,
-  [0xB0] = 0x0410,
-  [0xB1] = 0x0411,
-  [0xB2] = 0x0412,
-  [0xB3] = 0x0413,
-  [0xB4] = 0x0414,
-  [0xB5] = 0x0415,
-  [0xB6] = 0x0416,
-  [0xB7] = 0x0417,
-  [0xB8] = 0x0418,
-  [0xB9] = 0x0419,
-  [0xBA] = 0x041A,
-  [0xBB] = 0x041B,
-  [0xBC] = 0x041C,
-  [0xBD] = 0x041D,
-  [0xBE] = 0x041E,
-  [0xBF] = 0x041F,
-  [0xC0] = 0x0420,
-  [0xC1] = 0x0421,
-  [0xC2] = 0x0422,
-  [0xC3] = 0x0423,
-  [0xC4] = 0x0424,
-  [0xC5] = 0x0425,
-  [0xC6] = 0x0426,
-  [0xC7] = 0x0427,
-  [0xC8] = 0x0428,
-  [0xC9] = 0x0429,
-  [0xCA] = 0x042A,
-  [0xCB] = 0x042B,
-  [0xCC] = 0x042C,
-  [0xCD] = 0x042D,
-  [0xCE] = 0x042E,
-  [0xCF] = 0x042F,
-  [0xD0] = 0x0430,
-  [0xD1] = 0x0431,
-  [0xD2] = 0x0432,
-  [0xD3] = 0x0433,
-  [0xD4] = 0x0434,
-  [0xD5] = 0x0435,
-  [0xD6] = 0x0436,
-  [0xD7] = 0x0437,
-  [0xD8] = 0x0438,
-  [0xD9] = 0x0439,
-  [0xDA] = 0x043A,
-  [0xDB] = 0x043B,
-  [0xDC] = 0x043C,
-  [0xDD] = 0x043D,
-  [0xDE] = 0x043E,
-  [0xDF] = 0x043F,
-  [0xE0] = 0x0440,
-  [0xE1] = 0x0441,
-  [0xE2] = 0x0442,
-  [0xE3] = 0x0443,
-  [0xE4] = 0x0444,
-  [0xE5] = 0x0445,
-  [0xE6] = 0x0446,
-  [0xE7] = 0x0447,
-  [0xE8] = 0x0448,
-  [0xE9] = 0x0449,
-  [0xEA] = 0x044A,
-  [0xEB] = 0x044B,
-  [0xEC] = 0x044C,
-  [0xED] = 0x044D,
-  [0xEE] = 0x044E,
-  [0xEF] = 0x044F,
-  [0xF0] = 0x2116,
-  [0xF1] = 0x0451,
-  [0xF2] = 0x0452,
-  [0xF3] = 0x0453,
-  [0xF4] = 0x0454,
-  [0xF5] = 0x0455,
-  [0xF6] = 0x0456,
-  [0xF7] = 0x0457,
-  [0xF8] = 0x0458,
-  [0xF9] = 0x0459,
-  [0xFA] = 0x045A,
-  [0xFB] = 0x045B,
-  [0xFC] = 0x045C,
-  [0xFD] = 0x00A7,
-  [0xFE] = 0x045E,
-  [0xFF] = 0x045F,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A7] = 0xFD,
-  [0x00AD] = 0xAD,
-  [0x0401] = 0xA1,
-  [0x0402] = 0xA2,
-  [0x0403] = 0xA3,
-  [0x0404] = 0xA4,
-  [0x0405] = 0xA5,
-  [0x0406] = 0xA6,
-  [0x0407] = 0xA7,
-  [0x0408] = 0xA8,
-  [0x0409] = 0xA9,
-  [0x040A] = 0xAA,
-  [0x040B] = 0xAB,
-  [0x040C] = 0xAC,
-  [0x040E] = 0xAE,
-  [0x040F] = 0xAF,
-  [0x0410] = 0xB0,
-  [0x0411] = 0xB1,
-  [0x0412] = 0xB2,
-  [0x0413] = 0xB3,
-  [0x0414] = 0xB4,
-  [0x0415] = 0xB5,
-  [0x0416] = 0xB6,
-  [0x0417] = 0xB7,
-  [0x0418] = 0xB8,
-  [0x0419] = 0xB9,
-  [0x041A] = 0xBA,
-  [0x041B] = 0xBB,
-  [0x041C] = 0xBC,
-  [0x041D] = 0xBD,
-  [0x041E] = 0xBE,
-  [0x041F] = 0xBF,
-  [0x0420] = 0xC0,
-  [0x0421] = 0xC1,
-  [0x0422] = 0xC2,
-  [0x0423] = 0xC3,
-  [0x0424] = 0xC4,
-  [0x0425] = 0xC5,
-  [0x0426] = 0xC6,
-  [0x0427] = 0xC7,
-  [0x0428] = 0xC8,
-  [0x0429] = 0xC9,
-  [0x042A] = 0xCA,
-  [0x042B] = 0xCB,
-  [0x042C] = 0xCC,
-  [0x042D] = 0xCD,
-  [0x042E] = 0xCE,
-  [0x042F] = 0xCF,
-  [0x0430] = 0xD0,
-  [0x0431] = 0xD1,
-  [0x0432] = 0xD2,
-  [0x0433] = 0xD3,
-  [0x0434] = 0xD4,
-  [0x0435] = 0xD5,
-  [0x0436] = 0xD6,
-  [0x0437] = 0xD7,
-  [0x0438] = 0xD8,
-  [0x0439] = 0xD9,
-  [0x043A] = 0xDA,
-  [0x043B] = 0xDB,
-  [0x043C] = 0xDC,
-  [0x043D] = 0xDD,
-  [0x043E] = 0xDE,
-  [0x043F] = 0xDF,
-  [0x0440] = 0xE0,
-  [0x0441] = 0xE1,
-  [0x0442] = 0xE2,
-  [0x0443] = 0xE3,
-  [0x0444] = 0xE4,
-  [0x0445] = 0xE5,
-  [0x0446] = 0xE6,
-  [0x0447] = 0xE7,
-  [0x0448] = 0xE8,
-  [0x0449] = 0xE9,
-  [0x044A] = 0xEA,
-  [0x044B] = 0xEB,
-  [0x044C] = 0xEC,
-  [0x044D] = 0xED,
-  [0x044E] = 0xEE,
-  [0x044F] = 0xEF,
-  [0x0451] = 0xF1,
-  [0x0452] = 0xF2,
-  [0x0453] = 0xF3,
-  [0x0454] = 0xF4,
-  [0x0455] = 0xF5,
-  [0x0456] = 0xF6,
-  [0x0457] = 0xF7,
-  [0x0458] = 0xF8,
-  [0x0459] = 0xF9,
-  [0x045A] = 0xFA,
-  [0x045B] = 0xFB,
-  [0x045C] = 0xFC,
-  [0x045E] = 0xFE,
-  [0x045F] = 0xFF,
-  [0x2116] = 0xF0,
-};
diff --git a/iconvdata/iso8859-6.c b/iconvdata/iso8859-6.c
index f0f0a91004..1e88ec9d22 100644
--- a/iconvdata/iso8859-6.c
+++ b/iconvdata/iso8859-6.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-6.h>
 #define NAME "ISO-8859-6"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-6.h b/iconvdata/iso8859-6.h
deleted file mode 100644
index f3b3480ff1..0000000000
--- a/iconvdata/iso8859-6.h
+++ /dev/null
@@ -1,426 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA4] = 0x00A4,
-  [0xAC] = 0x060C,
-  [0xAD] = 0x00AD,
-  [0xBB] = 0x061B,
-  [0xBF] = 0x061F,
-  [0xC1] = 0x0621,
-  [0xC2] = 0x0622,
-  [0xC3] = 0x0623,
-  [0xC4] = 0x0624,
-  [0xC5] = 0x0625,
-  [0xC6] = 0x0626,
-  [0xC7] = 0x0627,
-  [0xC8] = 0x0628,
-  [0xC9] = 0x0629,
-  [0xCA] = 0x062A,
-  [0xCB] = 0x062B,
-  [0xCC] = 0x062C,
-  [0xCD] = 0x062D,
-  [0xCE] = 0x062E,
-  [0xCF] = 0x062F,
-  [0xD0] = 0x0630,
-  [0xD1] = 0x0631,
-  [0xD2] = 0x0632,
-  [0xD3] = 0x0633,
-  [0xD4] = 0x0634,
-  [0xD5] = 0x0635,
-  [0xD6] = 0x0636,
-  [0xD7] = 0x0637,
-  [0xD8] = 0x0638,
-  [0xD9] = 0x0639,
-  [0xDA] = 0x063A,
-  [0xE0] = 0x0640,
-  [0xE1] = 0x0641,
-  [0xE2] = 0x0642,
-  [0xE3] = 0x0643,
-  [0xE4] = 0x0644,
-  [0xE5] = 0x0645,
-  [0xE6] = 0x0646,
-  [0xE7] = 0x0647,
-  [0xE8] = 0x0648,
-  [0xE9] = 0x0649,
-  [0xEA] = 0x064A,
-  [0xEB] = 0x064B,
-  [0xEC] = 0x064C,
-  [0xED] = 0x064D,
-  [0xEE] = 0x064E,
-  [0xEF] = 0x064F,
-  [0xF0] = 0x0650,
-  [0xF1] = 0x0651,
-  [0xF2] = 0x0652,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A4] = 0xA4,
-  [0x00AD] = 0xAD,
-  [0x060C] = 0xAC,
-  [0x061B] = 0xBB,
-  [0x061F] = 0xBF,
-  [0x0621] = 0xC1,
-  [0x0622] = 0xC2,
-  [0x0623] = 0xC3,
-  [0x0624] = 0xC4,
-  [0x0625] = 0xC5,
-  [0x0626] = 0xC6,
-  [0x0627] = 0xC7,
-  [0x0628] = 0xC8,
-  [0x0629] = 0xC9,
-  [0x062A] = 0xCA,
-  [0x062B] = 0xCB,
-  [0x062C] = 0xCC,
-  [0x062D] = 0xCD,
-  [0x062E] = 0xCE,
-  [0x062F] = 0xCF,
-  [0x0630] = 0xD0,
-  [0x0631] = 0xD1,
-  [0x0632] = 0xD2,
-  [0x0633] = 0xD3,
-  [0x0634] = 0xD4,
-  [0x0635] = 0xD5,
-  [0x0636] = 0xD6,
-  [0x0637] = 0xD7,
-  [0x0638] = 0xD8,
-  [0x0639] = 0xD9,
-  [0x063A] = 0xDA,
-  [0x0640] = 0xE0,
-  [0x0641] = 0xE1,
-  [0x0642] = 0xE2,
-  [0x0643] = 0xE3,
-  [0x0644] = 0xE4,
-  [0x0645] = 0xE5,
-  [0x0646] = 0xE6,
-  [0x0647] = 0xE7,
-  [0x0648] = 0xE8,
-  [0x0649] = 0xE9,
-  [0x064A] = 0xEA,
-  [0x064B] = 0xEB,
-  [0x064C] = 0xEC,
-  [0x064D] = 0xED,
-  [0x064E] = 0xEE,
-  [0x064F] = 0xEF,
-  [0x0650] = 0xF0,
-  [0x0651] = 0xF1,
-  [0x0652] = 0xF2,
-};
diff --git a/iconvdata/iso8859-7.c b/iconvdata/iso8859-7.c
index 87c2a2c06c..63220bb822 100644
--- a/iconvdata/iso8859-7.c
+++ b/iconvdata/iso8859-7.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-7.h>
 #define NAME "ISO-8859-7"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-7.h b/iconvdata/iso8859-7.h
deleted file mode 100644
index fe38788e20..0000000000
--- a/iconvdata/iso8859-7.h
+++ /dev/null
@@ -1,504 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x201B,
-  [0xA2] = 0x2019,
-  [0xA3] = 0x00A3,
-  [0xA6] = 0x00A6,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x00A9,
-  [0xAB] = 0x00AB,
-  [0xAC] = 0x00AC,
-  [0xAD] = 0x00AD,
-  [0xAF] = 0x2014,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x00B1,
-  [0xB2] = 0x00B2,
-  [0xB3] = 0x00B3,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x0385,
-  [0xB6] = 0x0386,
-  [0xB7] = 0x00B7,
-  [0xB8] = 0x0388,
-  [0xB9] = 0x0389,
-  [0xBA] = 0x038A,
-  [0xBB] = 0x00BB,
-  [0xBC] = 0x038C,
-  [0xBD] = 0x00BD,
-  [0xBE] = 0x038E,
-  [0xBF] = 0x038F,
-  [0xC0] = 0x0390,
-  [0xC1] = 0x0391,
-  [0xC2] = 0x0392,
-  [0xC3] = 0x0393,
-  [0xC4] = 0x0394,
-  [0xC5] = 0x0395,
-  [0xC6] = 0x0396,
-  [0xC7] = 0x0397,
-  [0xC8] = 0x0398,
-  [0xC9] = 0x0399,
-  [0xCA] = 0x039A,
-  [0xCB] = 0x039B,
-  [0xCC] = 0x039C,
-  [0xCD] = 0x039D,
-  [0xCE] = 0x039E,
-  [0xCF] = 0x039F,
-  [0xD0] = 0x03A0,
-  [0xD1] = 0x03A1,
-  [0xD3] = 0x03A3,
-  [0xD4] = 0x03A4,
-  [0xD5] = 0x03A5,
-  [0xD6] = 0x03A6,
-  [0xD7] = 0x03A7,
-  [0xD8] = 0x03A8,
-  [0xD9] = 0x03A9,
-  [0xDA] = 0x03AA,
-  [0xDB] = 0x03AB,
-  [0xDC] = 0x03AC,
-  [0xDD] = 0x03AD,
-  [0xDE] = 0x03AE,
-  [0xDF] = 0x03AF,
-  [0xE0] = 0x03B0,
-  [0xE1] = 0x03B1,
-  [0xE2] = 0x03B2,
-  [0xE3] = 0x03B3,
-  [0xE4] = 0x03B4,
-  [0xE5] = 0x03B5,
-  [0xE6] = 0x03B6,
-  [0xE7] = 0x03B7,
-  [0xE8] = 0x03B8,
-  [0xE9] = 0x03B9,
-  [0xEA] = 0x03BA,
-  [0xEB] = 0x03BB,
-  [0xEC] = 0x03BC,
-  [0xED] = 0x03BD,
-  [0xEE] = 0x03BE,
-  [0xEF] = 0x03BF,
-  [0xF0] = 0x03C0,
-  [0xF1] = 0x03C1,
-  [0xF2] = 0x03C2,
-  [0xF3] = 0x03C3,
-  [0xF4] = 0x03C4,
-  [0xF5] = 0x03C5,
-  [0xF6] = 0x03C6,
-  [0xF7] = 0x03C7,
-  [0xF8] = 0x03C8,
-  [0xF9] = 0x03C9,
-  [0xFA] = 0x03CA,
-  [0xFB] = 0x03CB,
-  [0xFC] = 0x03CC,
-  [0xFD] = 0x03CD,
-  [0xFE] = 0x03CE,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A3] = 0xA3,
-  [0x00A6] = 0xA6,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00A9] = 0xA9,
-  [0x00AB] = 0xAB,
-  [0x00AC] = 0xAC,
-  [0x00AD] = 0xAD,
-  [0x00B0] = 0xB0,
-  [0x00B1] = 0xB1,
-  [0x00B2] = 0xB2,
-  [0x00B3] = 0xB3,
-  [0x00B4] = 0xB4,
-  [0x00B7] = 0xB7,
-  [0x00BB] = 0xBB,
-  [0x00BD] = 0xBD,
-  [0x0385] = 0xB5,
-  [0x0386] = 0xB6,
-  [0x0388] = 0xB8,
-  [0x0389] = 0xB9,
-  [0x038A] = 0xBA,
-  [0x038C] = 0xBC,
-  [0x038E] = 0xBE,
-  [0x038F] = 0xBF,
-  [0x0390] = 0xC0,
-  [0x0391] = 0xC1,
-  [0x0392] = 0xC2,
-  [0x0393] = 0xC3,
-  [0x0394] = 0xC4,
-  [0x0395] = 0xC5,
-  [0x0396] = 0xC6,
-  [0x0397] = 0xC7,
-  [0x0398] = 0xC8,
-  [0x0399] = 0xC9,
-  [0x039A] = 0xCA,
-  [0x039B] = 0xCB,
-  [0x039C] = 0xCC,
-  [0x039D] = 0xCD,
-  [0x039E] = 0xCE,
-  [0x039F] = 0xCF,
-  [0x03A0] = 0xD0,
-  [0x03A1] = 0xD1,
-  [0x03A3] = 0xD3,
-  [0x03A4] = 0xD4,
-  [0x03A5] = 0xD5,
-  [0x03A6] = 0xD6,
-  [0x03A7] = 0xD7,
-  [0x03A8] = 0xD8,
-  [0x03A9] = 0xD9,
-  [0x03AA] = 0xDA,
-  [0x03AB] = 0xDB,
-  [0x03AC] = 0xDC,
-  [0x03AD] = 0xDD,
-  [0x03AE] = 0xDE,
-  [0x03AF] = 0xDF,
-  [0x03B0] = 0xE0,
-  [0x03B1] = 0xE1,
-  [0x03B2] = 0xE2,
-  [0x03B3] = 0xE3,
-  [0x03B4] = 0xE4,
-  [0x03B5] = 0xE5,
-  [0x03B6] = 0xE6,
-  [0x03B7] = 0xE7,
-  [0x03B8] = 0xE8,
-  [0x03B9] = 0xE9,
-  [0x03BA] = 0xEA,
-  [0x03BB] = 0xEB,
-  [0x03BC] = 0xEC,
-  [0x03BD] = 0xED,
-  [0x03BE] = 0xEE,
-  [0x03BF] = 0xEF,
-  [0x03C0] = 0xF0,
-  [0x03C1] = 0xF1,
-  [0x03C2] = 0xF2,
-  [0x03C3] = 0xF3,
-  [0x03C4] = 0xF4,
-  [0x03C5] = 0xF5,
-  [0x03C6] = 0xF6,
-  [0x03C7] = 0xF7,
-  [0x03C8] = 0xF8,
-  [0x03C9] = 0xF9,
-  [0x03CA] = 0xFA,
-  [0x03CB] = 0xFB,
-  [0x03CC] = 0xFC,
-  [0x03CD] = 0xFD,
-  [0x03CE] = 0xFE,
-  [0x2014] = 0xAF,
-  [0x2019] = 0xA2,
-  [0x201B] = 0xA1,
-};
diff --git a/iconvdata/iso8859-8.c b/iconvdata/iso8859-8.c
index ee69754cea..2246ae4e52 100644
--- a/iconvdata/iso8859-8.c
+++ b/iconvdata/iso8859-8.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-8.h>
 #define NAME "ISO-8859-8"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-8.h b/iconvdata/iso8859-8.h
deleted file mode 100644
index bdccec689c..0000000000
--- a/iconvdata/iso8859-8.h
+++ /dev/null
@@ -1,440 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA2] = 0x00A2,
-  [0xA3] = 0x00A3,
-  [0xA4] = 0x00A4,
-  [0xA5] = 0x00A5,
-  [0xA6] = 0x00A6,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x00A9,
-  [0xAA] = 0x00D7,
-  [0xAB] = 0x00AB,
-  [0xAC] = 0x00AC,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x00AE,
-  [0xAF] = 0x203E,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x00B1,
-  [0xB2] = 0x00B2,
-  [0xB3] = 0x00B3,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x00B5,
-  [0xB6] = 0x00B6,
-  [0xB7] = 0x00B7,
-  [0xB8] = 0x00B8,
-  [0xB9] = 0x00B9,
-  [0xBA] = 0x00F7,
-  [0xBB] = 0x00BB,
-  [0xBC] = 0x00BC,
-  [0xBD] = 0x00BD,
-  [0xBE] = 0x00BE,
-  [0xDF] = 0x2017,
-  [0xE0] = 0x05D0,
-  [0xE1] = 0x05D1,
-  [0xE2] = 0x05D2,
-  [0xE3] = 0x05D3,
-  [0xE4] = 0x05D4,
-  [0xE5] = 0x05D5,
-  [0xE6] = 0x05D6,
-  [0xE7] = 0x05D7,
-  [0xE8] = 0x05D8,
-  [0xE9] = 0x05D9,
-  [0xEA] = 0x05DA,
-  [0xEB] = 0x05DB,
-  [0xEC] = 0x05DC,
-  [0xED] = 0x05DD,
-  [0xEE] = 0x05DE,
-  [0xEF] = 0x05DF,
-  [0xF0] = 0x05E0,
-  [0xF1] = 0x05E1,
-  [0xF2] = 0x05E2,
-  [0xF3] = 0x05E3,
-  [0xF4] = 0x05E4,
-  [0xF5] = 0x05E5,
-  [0xF6] = 0x05E6,
-  [0xF7] = 0x05E7,
-  [0xF8] = 0x05E8,
-  [0xF9] = 0x05E9,
-  [0xFA] = 0x05EA,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A2] = 0xA2,
-  [0x00A3] = 0xA3,
-  [0x00A4] = 0xA4,
-  [0x00A5] = 0xA5,
-  [0x00A6] = 0xA6,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00A9] = 0xA9,
-  [0x00AB] = 0xAB,
-  [0x00AC] = 0xAC,
-  [0x00AD] = 0xAD,
-  [0x00AE] = 0xAE,
-  [0x00B0] = 0xB0,
-  [0x00B1] = 0xB1,
-  [0x00B2] = 0xB2,
-  [0x00B3] = 0xB3,
-  [0x00B4] = 0xB4,
-  [0x00B5] = 0xB5,
-  [0x00B6] = 0xB6,
-  [0x00B7] = 0xB7,
-  [0x00B8] = 0xB8,
-  [0x00B9] = 0xB9,
-  [0x00BB] = 0xBB,
-  [0x00BC] = 0xBC,
-  [0x00BD] = 0xBD,
-  [0x00BE] = 0xBE,
-  [0x00D7] = 0xAA,
-  [0x00F7] = 0xBA,
-  [0x05D0] = 0xE0,
-  [0x05D1] = 0xE1,
-  [0x05D2] = 0xE2,
-  [0x05D3] = 0xE3,
-  [0x05D4] = 0xE4,
-  [0x05D5] = 0xE5,
-  [0x05D6] = 0xE6,
-  [0x05D7] = 0xE7,
-  [0x05D8] = 0xE8,
-  [0x05D9] = 0xE9,
-  [0x05DA] = 0xEA,
-  [0x05DB] = 0xEB,
-  [0x05DC] = 0xEC,
-  [0x05DD] = 0xED,
-  [0x05DE] = 0xEE,
-  [0x05DF] = 0xEF,
-  [0x05E0] = 0xF0,
-  [0x05E1] = 0xF1,
-  [0x05E2] = 0xF2,
-  [0x05E3] = 0xF3,
-  [0x05E4] = 0xF4,
-  [0x05E5] = 0xF5,
-  [0x05E6] = 0xF6,
-  [0x05E7] = 0xF7,
-  [0x05E8] = 0xF8,
-  [0x05E9] = 0xF9,
-  [0x05EA] = 0xFA,
-  [0x2017] = 0xDF,
-  [0x203E] = 0xAF,
-};
diff --git a/iconvdata/iso8859-9.c b/iconvdata/iso8859-9.c
index 5485de26f1..5260362f0c 100644
--- a/iconvdata/iso8859-9.c
+++ b/iconvdata/iso8859-9.c
@@ -21,4 +21,4 @@
 #include <wchar.h>
 #include <iso8859-9.h>
 #define NAME "ISO-8859-9"
-#include <iso8859-generic.c>
+#include <8bit-generic.c>
diff --git a/iconvdata/iso8859-9.h b/iconvdata/iso8859-9.h
deleted file mode 100644
index f5794231c0..0000000000
--- a/iconvdata/iso8859-9.h
+++ /dev/null
@@ -1,516 +0,0 @@
-static const wchar_t to_ucs4[256] = {
-  [0x00] = 0x0000,
-  [0x01] = 0x0001,
-  [0x02] = 0x0002,
-  [0x03] = 0x0003,
-  [0x04] = 0x0004,
-  [0x05] = 0x0005,
-  [0x06] = 0x0006,
-  [0x07] = 0x0007,
-  [0x08] = 0x0008,
-  [0x09] = 0x0009,
-  [0x0A] = 0x000A,
-  [0x0B] = 0x000B,
-  [0x0C] = 0x000C,
-  [0x0D] = 0x000D,
-  [0x0E] = 0x000E,
-  [0x0F] = 0x000F,
-  [0x10] = 0x0010,
-  [0x11] = 0x0011,
-  [0x12] = 0x0012,
-  [0x13] = 0x0013,
-  [0x14] = 0x0014,
-  [0x15] = 0x0015,
-  [0x16] = 0x0016,
-  [0x17] = 0x0017,
-  [0x18] = 0x0018,
-  [0x19] = 0x0019,
-  [0x1A] = 0x001A,
-  [0x1B] = 0x001B,
-  [0x1C] = 0x001C,
-  [0x1D] = 0x001D,
-  [0x1E] = 0x001E,
-  [0x1F] = 0x001F,
-  [0x20] = 0x0020,
-  [0x21] = 0x0021,
-  [0x22] = 0x0022,
-  [0x23] = 0x0023,
-  [0x24] = 0x0024,
-  [0x25] = 0x0025,
-  [0x26] = 0x0026,
-  [0x27] = 0x0027,
-  [0x28] = 0x0028,
-  [0x29] = 0x0029,
-  [0x2A] = 0x002A,
-  [0x2B] = 0x002B,
-  [0x2C] = 0x002C,
-  [0x2D] = 0x002D,
-  [0x2E] = 0x002E,
-  [0x2F] = 0x002F,
-  [0x30] = 0x0030,
-  [0x31] = 0x0031,
-  [0x32] = 0x0032,
-  [0x33] = 0x0033,
-  [0x34] = 0x0034,
-  [0x35] = 0x0035,
-  [0x36] = 0x0036,
-  [0x37] = 0x0037,
-  [0x38] = 0x0038,
-  [0x39] = 0x0039,
-  [0x3A] = 0x003A,
-  [0x3B] = 0x003B,
-  [0x3C] = 0x003C,
-  [0x3D] = 0x003D,
-  [0x3E] = 0x003E,
-  [0x3F] = 0x003F,
-  [0x40] = 0x0040,
-  [0x41] = 0x0041,
-  [0x42] = 0x0042,
-  [0x43] = 0x0043,
-  [0x44] = 0x0044,
-  [0x45] = 0x0045,
-  [0x46] = 0x0046,
-  [0x47] = 0x0047,
-  [0x48] = 0x0048,
-  [0x49] = 0x0049,
-  [0x4A] = 0x004A,
-  [0x4B] = 0x004B,
-  [0x4C] = 0x004C,
-  [0x4D] = 0x004D,
-  [0x4E] = 0x004E,
-  [0x4F] = 0x004F,
-  [0x50] = 0x0050,
-  [0x51] = 0x0051,
-  [0x52] = 0x0052,
-  [0x53] = 0x0053,
-  [0x54] = 0x0054,
-  [0x55] = 0x0055,
-  [0x56] = 0x0056,
-  [0x57] = 0x0057,
-  [0x58] = 0x0058,
-  [0x59] = 0x0059,
-  [0x5A] = 0x005A,
-  [0x5B] = 0x005B,
-  [0x5C] = 0x005C,
-  [0x5D] = 0x005D,
-  [0x5E] = 0x005E,
-  [0x5F] = 0x005F,
-  [0x60] = 0x0060,
-  [0x61] = 0x0061,
-  [0x62] = 0x0062,
-  [0x63] = 0x0063,
-  [0x64] = 0x0064,
-  [0x65] = 0x0065,
-  [0x66] = 0x0066,
-  [0x67] = 0x0067,
-  [0x68] = 0x0068,
-  [0x69] = 0x0069,
-  [0x6A] = 0x006A,
-  [0x6B] = 0x006B,
-  [0x6C] = 0x006C,
-  [0x6D] = 0x006D,
-  [0x6E] = 0x006E,
-  [0x6F] = 0x006F,
-  [0x70] = 0x0070,
-  [0x71] = 0x0071,
-  [0x72] = 0x0072,
-  [0x73] = 0x0073,
-  [0x74] = 0x0074,
-  [0x75] = 0x0075,
-  [0x76] = 0x0076,
-  [0x77] = 0x0077,
-  [0x78] = 0x0078,
-  [0x79] = 0x0079,
-  [0x7A] = 0x007A,
-  [0x7B] = 0x007B,
-  [0x7C] = 0x007C,
-  [0x7D] = 0x007D,
-  [0x7E] = 0x007E,
-  [0x7F] = 0x007F,
-  [0x80] = 0x0080,
-  [0x81] = 0x0081,
-  [0x82] = 0x0082,
-  [0x83] = 0x0083,
-  [0x84] = 0x0084,
-  [0x85] = 0x0085,
-  [0x86] = 0x0086,
-  [0x87] = 0x0087,
-  [0x88] = 0x0088,
-  [0x89] = 0x0089,
-  [0x8A] = 0x008A,
-  [0x8B] = 0x008B,
-  [0x8C] = 0x008C,
-  [0x8D] = 0x008D,
-  [0x8E] = 0x008E,
-  [0x8F] = 0x008F,
-  [0x90] = 0x0090,
-  [0x91] = 0x0091,
-  [0x92] = 0x0092,
-  [0x93] = 0x0093,
-  [0x94] = 0x0094,
-  [0x95] = 0x0095,
-  [0x96] = 0x0096,
-  [0x97] = 0x0097,
-  [0x98] = 0x0098,
-  [0x99] = 0x0099,
-  [0x9A] = 0x009A,
-  [0x9B] = 0x009B,
-  [0x9C] = 0x009C,
-  [0x9D] = 0x009D,
-  [0x9E] = 0x009E,
-  [0x9F] = 0x009F,
-  [0xA0] = 0x00A0,
-  [0xA1] = 0x00A1,
-  [0xA2] = 0x00A2,
-  [0xA3] = 0x00A3,
-  [0xA4] = 0x00A4,
-  [0xA5] = 0x00A5,
-  [0xA6] = 0x00A6,
-  [0xA7] = 0x00A7,
-  [0xA8] = 0x00A8,
-  [0xA9] = 0x00A9,
-  [0xAA] = 0x00AA,
-  [0xAB] = 0x00AB,
-  [0xAC] = 0x00AC,
-  [0xAD] = 0x00AD,
-  [0xAE] = 0x00AE,
-  [0xAF] = 0x00AF,
-  [0xB0] = 0x00B0,
-  [0xB1] = 0x00B1,
-  [0xB2] = 0x00B2,
-  [0xB3] = 0x00B3,
-  [0xB4] = 0x00B4,
-  [0xB5] = 0x00B5,
-  [0xB6] = 0x00B6,
-  [0xB7] = 0x00B7,
-  [0xB8] = 0x00B8,
-  [0xB9] = 0x00B9,
-  [0xBA] = 0x00BA,
-  [0xBB] = 0x00BB,
-  [0xBC] = 0x00BC,
-  [0xBD] = 0x00BD,
-  [0xBE] = 0x00BE,
-  [0xBF] = 0x00BF,
-  [0xC0] = 0x00C0,
-  [0xC1] = 0x00C1,
-  [0xC2] = 0x00C2,
-  [0xC3] = 0x00C3,
-  [0xC4] = 0x00C4,
-  [0xC5] = 0x00C5,
-  [0xC6] = 0x00C6,
-  [0xC7] = 0x00C7,
-  [0xC8] = 0x00C8,
-  [0xC9] = 0x00C9,
-  [0xCA] = 0x00CA,
-  [0xCB] = 0x00CB,
-  [0xCC] = 0x00CC,
-  [0xCD] = 0x00CD,
-  [0xCE] = 0x00CE,
-  [0xCF] = 0x00CF,
-  [0xD0] = 0x011E,
-  [0xD1] = 0x00D1,
-  [0xD2] = 0x00D2,
-  [0xD3] = 0x00D3,
-  [0xD4] = 0x00D4,
-  [0xD5] = 0x00D5,
-  [0xD6] = 0x00D6,
-  [0xD7] = 0x00D7,
-  [0xD8] = 0x00D8,
-  [0xD9] = 0x00D9,
-  [0xDA] = 0x00DA,
-  [0xDB] = 0x00DB,
-  [0xDC] = 0x00DC,
-  [0xDD] = 0x0130,
-  [0xDE] = 0x015E,
-  [0xDF] = 0x00DF,
-  [0xE0] = 0x00E0,
-  [0xE1] = 0x00E1,
-  [0xE2] = 0x00E2,
-  [0xE3] = 0x00E3,
-  [0xE4] = 0x00E4,
-  [0xE5] = 0x00E5,
-  [0xE6] = 0x00E6,
-  [0xE7] = 0x00E7,
-  [0xE8] = 0x00E8,
-  [0xE9] = 0x00E9,
-  [0xEA] = 0x0119,
-  [0xEB] = 0x00EB,
-  [0xEC] = 0x0117,
-  [0xED] = 0x00ED,
-  [0xEE] = 0x00EE,
-  [0xEF] = 0x012B,
-  [0xF0] = 0x011F,
-  [0xF1] = 0x00F1,
-  [0xF2] = 0x00F2,
-  [0xF3] = 0x00F3,
-  [0xF4] = 0x00F4,
-  [0xF5] = 0x00F5,
-  [0xF6] = 0x00F6,
-  [0xF7] = 0x00F7,
-  [0xF8] = 0x00F8,
-  [0xF9] = 0x00F9,
-  [0xFA] = 0x00FA,
-  [0xFB] = 0x00FB,
-  [0xFC] = 0x00FC,
-  [0xFD] = 0x0131,
-  [0xFE] = 0x015F,
-  [0xFF] = 0x00FF,
-};
-static const char from_ucs4[] = {
-  [0x0000] = 0x00,
-  [0x0001] = 0x01,
-  [0x0002] = 0x02,
-  [0x0003] = 0x03,
-  [0x0004] = 0x04,
-  [0x0005] = 0x05,
-  [0x0006] = 0x06,
-  [0x0007] = 0x07,
-  [0x0008] = 0x08,
-  [0x0009] = 0x09,
-  [0x000A] = 0x0A,
-  [0x000B] = 0x0B,
-  [0x000C] = 0x0C,
-  [0x000D] = 0x0D,
-  [0x000E] = 0x0E,
-  [0x000F] = 0x0F,
-  [0x0010] = 0x10,
-  [0x0011] = 0x11,
-  [0x0012] = 0x12,
-  [0x0013] = 0x13,
-  [0x0014] = 0x14,
-  [0x0015] = 0x15,
-  [0x0016] = 0x16,
-  [0x0017] = 0x17,
-  [0x0018] = 0x18,
-  [0x0019] = 0x19,
-  [0x001A] = 0x1A,
-  [0x001B] = 0x1B,
-  [0x001C] = 0x1C,
-  [0x001D] = 0x1D,
-  [0x001E] = 0x1E,
-  [0x001F] = 0x1F,
-  [0x0020] = 0x20,
-  [0x0021] = 0x21,
-  [0x0022] = 0x22,
-  [0x0023] = 0x23,
-  [0x0024] = 0x24,
-  [0x0025] = 0x25,
-  [0x0026] = 0x26,
-  [0x0027] = 0x27,
-  [0x0028] = 0x28,
-  [0x0029] = 0x29,
-  [0x002A] = 0x2A,
-  [0x002B] = 0x2B,
-  [0x002C] = 0x2C,
-  [0x002D] = 0x2D,
-  [0x002E] = 0x2E,
-  [0x002F] = 0x2F,
-  [0x0030] = 0x30,
-  [0x0031] = 0x31,
-  [0x0032] = 0x32,
-  [0x0033] = 0x33,
-  [0x0034] = 0x34,
-  [0x0035] = 0x35,
-  [0x0036] = 0x36,
-  [0x0037] = 0x37,
-  [0x0038] = 0x38,
-  [0x0039] = 0x39,
-  [0x003A] = 0x3A,
-  [0x003B] = 0x3B,
-  [0x003C] = 0x3C,
-  [0x003D] = 0x3D,
-  [0x003E] = 0x3E,
-  [0x003F] = 0x3F,
-  [0x0040] = 0x40,
-  [0x0041] = 0x41,
-  [0x0042] = 0x42,
-  [0x0043] = 0x43,
-  [0x0044] = 0x44,
-  [0x0045] = 0x45,
-  [0x0046] = 0x46,
-  [0x0047] = 0x47,
-  [0x0048] = 0x48,
-  [0x0049] = 0x49,
-  [0x004A] = 0x4A,
-  [0x004B] = 0x4B,
-  [0x004C] = 0x4C,
-  [0x004D] = 0x4D,
-  [0x004E] = 0x4E,
-  [0x004F] = 0x4F,
-  [0x0050] = 0x50,
-  [0x0051] = 0x51,
-  [0x0052] = 0x52,
-  [0x0053] = 0x53,
-  [0x0054] = 0x54,
-  [0x0055] = 0x55,
-  [0x0056] = 0x56,
-  [0x0057] = 0x57,
-  [0x0058] = 0x58,
-  [0x0059] = 0x59,
-  [0x005A] = 0x5A,
-  [0x005B] = 0x5B,
-  [0x005C] = 0x5C,
-  [0x005D] = 0x5D,
-  [0x005E] = 0x5E,
-  [0x005F] = 0x5F,
-  [0x0060] = 0x60,
-  [0x0061] = 0x61,
-  [0x0062] = 0x62,
-  [0x0063] = 0x63,
-  [0x0064] = 0x64,
-  [0x0065] = 0x65,
-  [0x0066] = 0x66,
-  [0x0067] = 0x67,
-  [0x0068] = 0x68,
-  [0x0069] = 0x69,
-  [0x006A] = 0x6A,
-  [0x006B] = 0x6B,
-  [0x006C] = 0x6C,
-  [0x006D] = 0x6D,
-  [0x006E] = 0x6E,
-  [0x006F] = 0x6F,
-  [0x0070] = 0x70,
-  [0x0071] = 0x71,
-  [0x0072] = 0x72,
-  [0x0073] = 0x73,
-  [0x0074] = 0x74,
-  [0x0075] = 0x75,
-  [0x0076] = 0x76,
-  [0x0077] = 0x77,
-  [0x0078] = 0x78,
-  [0x0079] = 0x79,
-  [0x007A] = 0x7A,
-  [0x007B] = 0x7B,
-  [0x007C] = 0x7C,
-  [0x007D] = 0x7D,
-  [0x007E] = 0x7E,
-  [0x007F] = 0x7F,
-  [0x0080] = 0x80,
-  [0x0081] = 0x81,
-  [0x0082] = 0x82,
-  [0x0083] = 0x83,
-  [0x0084] = 0x84,
-  [0x0085] = 0x85,
-  [0x0086] = 0x86,
-  [0x0087] = 0x87,
-  [0x0088] = 0x88,
-  [0x0089] = 0x89,
-  [0x008A] = 0x8A,
-  [0x008B] = 0x8B,
-  [0x008C] = 0x8C,
-  [0x008D] = 0x8D,
-  [0x008E] = 0x8E,
-  [0x008F] = 0x8F,
-  [0x0090] = 0x90,
-  [0x0091] = 0x91,
-  [0x0092] = 0x92,
-  [0x0093] = 0x93,
-  [0x0094] = 0x94,
-  [0x0095] = 0x95,
-  [0x0096] = 0x96,
-  [0x0097] = 0x97,
-  [0x0098] = 0x98,
-  [0x0099] = 0x99,
-  [0x009A] = 0x9A,
-  [0x009B] = 0x9B,
-  [0x009C] = 0x9C,
-  [0x009D] = 0x9D,
-  [0x009E] = 0x9E,
-  [0x009F] = 0x9F,
-  [0x00A0] = 0xA0,
-  [0x00A1] = 0xA1,
-  [0x00A2] = 0xA2,
-  [0x00A3] = 0xA3,
-  [0x00A4] = 0xA4,
-  [0x00A5] = 0xA5,
-  [0x00A6] = 0xA6,
-  [0x00A7] = 0xA7,
-  [0x00A8] = 0xA8,
-  [0x00A9] = 0xA9,
-  [0x00AA] = 0xAA,
-  [0x00AB] = 0xAB,
-  [0x00AC] = 0xAC,
-  [0x00AD] = 0xAD,
-  [0x00AE] = 0xAE,
-  [0x00AF] = 0xAF,
-  [0x00B0] = 0xB0,
-  [0x00B1] = 0xB1,
-  [0x00B2] = 0xB2,
-  [0x00B3] = 0xB3,
-  [0x00B4] = 0xB4,
-  [0x00B5] = 0xB5,
-  [0x00B6] = 0xB6,
-  [0x00B7] = 0xB7,
-  [0x00B8] = 0xB8,
-  [0x00B9] = 0xB9,
-  [0x00BA] = 0xBA,
-  [0x00BB] = 0xBB,
-  [0x00BC] = 0xBC,
-  [0x00BD] = 0xBD,
-  [0x00BE] = 0xBE,
-  [0x00BF] = 0xBF,
-  [0x00C0] = 0xC0,
-  [0x00C1] = 0xC1,
-  [0x00C2] = 0xC2,
-  [0x00C3] = 0xC3,
-  [0x00C4] = 0xC4,
-  [0x00C5] = 0xC5,
-  [0x00C6] = 0xC6,
-  [0x00C7] = 0xC7,
-  [0x00C8] = 0xC8,
-  [0x00C9] = 0xC9,
-  [0x00CA] = 0xCA,
-  [0x00CB] = 0xCB,
-  [0x00CC] = 0xCC,
-  [0x00CD] = 0xCD,
-  [0x00CE] = 0xCE,
-  [0x00CF] = 0xCF,
-  [0x00D1] = 0xD1,
-  [0x00D2] = 0xD2,
-  [0x00D3] = 0xD3,
-  [0x00D4] = 0xD4,
-  [0x00D5] = 0xD5,
-  [0x00D6] = 0xD6,
-  [0x00D7] = 0xD7,
-  [0x00D8] = 0xD8,
-  [0x00D9] = 0xD9,
-  [0x00DA] = 0xDA,
-  [0x00DB] = 0xDB,
-  [0x00DC] = 0xDC,
-  [0x00DF] = 0xDF,
-  [0x00E0] = 0xE0,
-  [0x00E1] = 0xE1,
-  [0x00E2] = 0xE2,
-  [0x00E3] = 0xE3,
-  [0x00E4] = 0xE4,
-  [0x00E5] = 0xE5,
-  [0x00E6] = 0xE6,
-  [0x00E7] = 0xE7,
-  [0x00E8] = 0xE8,
-  [0x00E9] = 0xE9,
-  [0x00EB] = 0xEB,
-  [0x00ED] = 0xED,
-  [0x00EE] = 0xEE,
-  [0x00F1] = 0xF1,
-  [0x00F2] = 0xF2,
-  [0x00F3] = 0xF3,
-  [0x00F4] = 0xF4,
-  [0x00F5] = 0xF5,
-  [0x00F6] = 0xF6,
-  [0x00F7] = 0xF7,
-  [0x00F8] = 0xF8,
-  [0x00F9] = 0xF9,
-  [0x00FA] = 0xFA,
-  [0x00FB] = 0xFB,
-  [0x00FC] = 0xFC,
-  [0x00FF] = 0xFF,
-  [0x0117] = 0xEC,
-  [0x0119] = 0xEA,
-  [0x011E] = 0xD0,
-  [0x011F] = 0xF0,
-  [0x012B] = 0xEF,
-  [0x0130] = 0xDD,
-  [0x0131] = 0xFD,
-  [0x015E] = 0xDE,
-  [0x015F] = 0xFE,
-};
diff --git a/iconvdata/jis0201.c b/iconvdata/jis0201.c
new file mode 100644
index 0000000000..e8e04e171b
--- /dev/null
+++ b/iconvdata/jis0201.c
@@ -0,0 +1,58 @@
+/* Mapping tables for JIS0201 handling.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+
+
+const wchar_t jisx0201_to_ucs4[256] =
+{
+  0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
+  0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
+  0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
+  0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
+  0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
+  0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
+  0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
+  0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
+  0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
+  0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
+  0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
+  0x0058, 0x0059, 0x005a, 0x005b, 0x00a5, 0x005d, 0x005e, 0x005f,
+  0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
+  0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
+  0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
+  0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67,
+  0xff68, 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f,
+  0xff70, 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77,
+  0xff78, 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f,
+  0xff80, 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87,
+  0xff88, 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f,
+  0xff90, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97,
+  0xff98, 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
+};
diff --git a/iconvdata/jis0201.h b/iconvdata/jis0201.h
new file mode 100644
index 0000000000..e2e62f8554
--- /dev/null
+++ b/iconvdata/jis0201.h
@@ -0,0 +1,60 @@
+/* Access functions for JISX0201 conversion.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _JIS0201_H
+#define _JIS0201_H	1
+
+/* Conversion table.  */
+extern const wchar_t jis0201_to_ucs4[];
+
+
+static inline wchar_t
+jisx0201_to_ucs4 (char **s, size_t avail __attribute__ ((unused)))
+{
+  wchar_t val = jis0201_to_ucs4[*(unsigned char *) (*s)];
+
+  if (val == 0 && **s != '\0')
+    val = UNKNOWN_10646_CHAR;
+
+  return val;
+}
+
+
+static inline size_t
+ucs4_to_jisx0201 (wchar_t wch, char **s, size_t avail __attribute__ ((unused)))
+{
+  char ch;
+
+  if (wch == 0xa5)
+    ch = '\x5c';
+  else if (wch == 0x203e)
+    ch = '\x7e';
+  else if (wch < 0x7e)
+    ch = wch;
+  else if (wch >= 0xff61 && wch <= 0xff9f)
+    ch = wch - 0xfec0;
+  else
+    return 0;
+
+  *(*s)++ = ch;
+  return 1;
+}
+
+#endif /* jis0201.h */
diff --git a/iconvdata/jis0208.c b/iconvdata/jis0208.c
new file mode 100644
index 0000000000..8db4085a9c
--- /dev/null
+++ b/iconvdata/jis0208.c
@@ -0,0 +1,5011 @@
+/* Mapping tables for JIS0208 handling.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+
+#include "jis0208.h"
+
+
+/* We use one big table for the mapping.  We know that the first byte
+   is in range 0x21 to 0xea.  The second byte never is in the ranges
+   0x00 to 0x20 and 0x7f to 0xff.  Compacting the table by excluding
+   these ranges we get a table with only this gaps:
+
+   at	0x222e	0x2241	0x2250	0x226a	0x2279	0x2321	0x2339	0x235a
+   len	12	9	12	8	5	15	8	7
+
+   at	0x237a	0x2473	0x2576	0x2638	0x2658	0x2741	0x2771	0x2840
+   len	4	11	8	9	38	16	13	62
+
+   at	0x4f53
+   len	43
+
+   It's not worth trying to use these gaps.  The table can be generated
+   using
+
+   egrep '^0x' < .../eastasia/jis/jis0208.txt |
+   perl tab.pl
+
+   with tab.pl containing:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=0;
+   while (<>) {
+     local($sjis, $jis, $ucs4, %rest) = split;
+     local($u)=hex($ucs4);
+     local($s)=hex($jis);
+     printf ("\n ") if ($n % 4 eq 0);
+     ++$n;
+     printf (" [0x%04x] = 0x%04x,",
+	     int(($s - 0x2121) / 256) * 94 + (($s - 0x2121) & 0xff), $u);
+   }
+   printf ("\n");
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const uint16_t jis0208_to_ucs[0x1e80] =
+{
+  [0x0000] = 0x3000, [0x0001] = 0x3001, [0x0002] = 0x3002, [0x0003] = 0xff0c,
+  [0x0004] = 0xff0e, [0x0005] = 0x30fb, [0x0006] = 0xff1a, [0x0007] = 0xff1b,
+  [0x0008] = 0xff1f, [0x0009] = 0xff01, [0x000a] = 0x309b, [0x000b] = 0x309c,
+  [0x000c] = 0x00b4, [0x000d] = 0xff40, [0x000e] = 0x00a8, [0x000f] = 0xff3e,
+  [0x0010] = 0xffe3, [0x0011] = 0xff3f, [0x0012] = 0x30fd, [0x0013] = 0x30fe,
+  [0x0014] = 0x309d, [0x0015] = 0x309e, [0x0016] = 0x3003, [0x0017] = 0x4edd,
+  [0x0018] = 0x3005, [0x0019] = 0x3006, [0x001a] = 0x3007, [0x001b] = 0x30fc,
+  [0x001c] = 0x2015, [0x001d] = 0x2010, [0x001e] = 0xff0f, [0x001f] = 0x005c,
+  [0x0020] = 0x301c, [0x0021] = 0x2016, [0x0022] = 0xff5c, [0x0023] = 0x2026,
+  [0x0024] = 0x2025, [0x0025] = 0x2018, [0x0026] = 0x2019, [0x0027] = 0x201c,
+  [0x0028] = 0x201d, [0x0029] = 0xff08, [0x002a] = 0xff09, [0x002b] = 0x3014,
+  [0x002c] = 0x3015, [0x002d] = 0xff3b, [0x002e] = 0xff3d, [0x002f] = 0xff5b,
+  [0x0030] = 0xff5d, [0x0031] = 0x3008, [0x0032] = 0x3009, [0x0033] = 0x300a,
+  [0x0034] = 0x300b, [0x0035] = 0x300c, [0x0036] = 0x300d, [0x0037] = 0x300e,
+  [0x0038] = 0x300f, [0x0039] = 0x3010, [0x003a] = 0x3011, [0x003b] = 0xff0b,
+  [0x003c] = 0x2212, [0x003d] = 0x00b1, [0x003e] = 0x00d7, [0x003f] = 0x00f7,
+  [0x0040] = 0xff1d, [0x0041] = 0x2260, [0x0042] = 0xff1c, [0x0043] = 0xff1e,
+  [0x0044] = 0x2266, [0x0045] = 0x2267, [0x0046] = 0x221e, [0x0047] = 0x2234,
+  [0x0048] = 0x2642, [0x0049] = 0x2640, [0x004a] = 0x00b0, [0x004b] = 0x2032,
+  [0x004c] = 0x2033, [0x004d] = 0x2103, [0x004e] = 0xffe5, [0x004f] = 0xff04,
+  [0x0050] = 0x00a2, [0x0051] = 0x00a3, [0x0052] = 0xff05, [0x0053] = 0xff03,
+  [0x0054] = 0xff06, [0x0055] = 0xff0a, [0x0056] = 0xff20, [0x0057] = 0x00a7,
+  [0x0058] = 0x2606, [0x0059] = 0x2605, [0x005a] = 0x25cb, [0x005b] = 0x25cf,
+  [0x005c] = 0x25ce, [0x005d] = 0x25c7, [0x005e] = 0x25c6, [0x005f] = 0x25a1,
+  [0x0060] = 0x25a0, [0x0061] = 0x25b3, [0x0062] = 0x25b2, [0x0063] = 0x25bd,
+  [0x0064] = 0x25bc, [0x0065] = 0x203b, [0x0066] = 0x3012, [0x0067] = 0x2192,
+  [0x0068] = 0x2190, [0x0069] = 0x2191, [0x006a] = 0x2193, [0x006b] = 0x3013,
+  [0x0077] = 0x2208, [0x0078] = 0x220b, [0x0079] = 0x2286, [0x007a] = 0x2287,
+  [0x007b] = 0x2282, [0x007c] = 0x2283, [0x007d] = 0x222a, [0x007e] = 0x2229,
+  [0x0087] = 0x2227, [0x0088] = 0x2228, [0x0089] = 0x00ac, [0x008a] = 0x21d2,
+  [0x008b] = 0x21d4, [0x008c] = 0x2200, [0x008d] = 0x2203, [0x0099] = 0x2220,
+  [0x009a] = 0x22a5, [0x009b] = 0x2312, [0x009c] = 0x2202, [0x009d] = 0x2207,
+  [0x009e] = 0x2261, [0x009f] = 0x2252, [0x00a0] = 0x226a, [0x00a1] = 0x226b,
+  [0x00a2] = 0x221a, [0x00a3] = 0x223d, [0x00a4] = 0x221d, [0x00a5] = 0x2235,
+  [0x00a6] = 0x222b, [0x00a7] = 0x222c, [0x00af] = 0x212b, [0x00b0] = 0x2030,
+  [0x00b1] = 0x266f, [0x00b2] = 0x266d, [0x00b3] = 0x266a, [0x00b4] = 0x2020,
+  [0x00b5] = 0x2021, [0x00b6] = 0x00b6, [0x00bb] = 0x25ef, [0x00cb] = 0xff10,
+  [0x00cc] = 0xff11, [0x00cd] = 0xff12, [0x00ce] = 0xff13, [0x00cf] = 0xff14,
+  [0x00d0] = 0xff15, [0x00d1] = 0xff16, [0x00d2] = 0xff17, [0x00d3] = 0xff18,
+  [0x00d4] = 0xff19, [0x00dc] = 0xff21, [0x00dd] = 0xff22, [0x00de] = 0xff23,
+  [0x00df] = 0xff24, [0x00e0] = 0xff25, [0x00e1] = 0xff26, [0x00e2] = 0xff27,
+  [0x00e3] = 0xff28, [0x00e4] = 0xff29, [0x00e5] = 0xff2a, [0x00e6] = 0xff2b,
+  [0x00e7] = 0xff2c, [0x00e8] = 0xff2d, [0x00e9] = 0xff2e, [0x00ea] = 0xff2f,
+  [0x00eb] = 0xff30, [0x00ec] = 0xff31, [0x00ed] = 0xff32, [0x00ee] = 0xff33,
+  [0x00ef] = 0xff34, [0x00f0] = 0xff35, [0x00f1] = 0xff36, [0x00f2] = 0xff37,
+  [0x00f3] = 0xff38, [0x00f4] = 0xff39, [0x00f5] = 0xff3a, [0x00fc] = 0xff41,
+  [0x00fd] = 0xff42, [0x00fe] = 0xff43, [0x00ff] = 0xff44, [0x0100] = 0xff45,
+  [0x0101] = 0xff46, [0x0102] = 0xff47, [0x0103] = 0xff48, [0x0104] = 0xff49,
+  [0x0105] = 0xff4a, [0x0106] = 0xff4b, [0x0107] = 0xff4c, [0x0108] = 0xff4d,
+  [0x0109] = 0xff4e, [0x010a] = 0xff4f, [0x010b] = 0xff50, [0x010c] = 0xff51,
+  [0x010d] = 0xff52, [0x010e] = 0xff53, [0x010f] = 0xff54, [0x0110] = 0xff55,
+  [0x0111] = 0xff56, [0x0112] = 0xff57, [0x0113] = 0xff58, [0x0114] = 0xff59,
+  [0x0115] = 0xff5a, [0x011a] = 0x3041, [0x011b] = 0x3042, [0x011c] = 0x3043,
+  [0x011d] = 0x3044, [0x011e] = 0x3045, [0x011f] = 0x3046, [0x0120] = 0x3047,
+  [0x0121] = 0x3048, [0x0122] = 0x3049, [0x0123] = 0x304a, [0x0124] = 0x304b,
+  [0x0125] = 0x304c, [0x0126] = 0x304d, [0x0127] = 0x304e, [0x0128] = 0x304f,
+  [0x0129] = 0x3050, [0x012a] = 0x3051, [0x012b] = 0x3052, [0x012c] = 0x3053,
+  [0x012d] = 0x3054, [0x012e] = 0x3055, [0x012f] = 0x3056, [0x0130] = 0x3057,
+  [0x0131] = 0x3058, [0x0132] = 0x3059, [0x0133] = 0x305a, [0x0134] = 0x305b,
+  [0x0135] = 0x305c, [0x0136] = 0x305d, [0x0137] = 0x305e, [0x0138] = 0x305f,
+  [0x0139] = 0x3060, [0x013a] = 0x3061, [0x013b] = 0x3062, [0x013c] = 0x3063,
+  [0x013d] = 0x3064, [0x013e] = 0x3065, [0x013f] = 0x3066, [0x0140] = 0x3067,
+  [0x0141] = 0x3068, [0x0142] = 0x3069, [0x0143] = 0x306a, [0x0144] = 0x306b,
+  [0x0145] = 0x306c, [0x0146] = 0x306d, [0x0147] = 0x306e, [0x0148] = 0x306f,
+  [0x0149] = 0x3070, [0x014a] = 0x3071, [0x014b] = 0x3072, [0x014c] = 0x3073,
+  [0x014d] = 0x3074, [0x014e] = 0x3075, [0x014f] = 0x3076, [0x0150] = 0x3077,
+  [0x0151] = 0x3078, [0x0152] = 0x3079, [0x0153] = 0x307a, [0x0154] = 0x307b,
+  [0x0155] = 0x307c, [0x0156] = 0x307d, [0x0157] = 0x307e, [0x0158] = 0x307f,
+  [0x0159] = 0x3080, [0x015a] = 0x3081, [0x015b] = 0x3082, [0x015c] = 0x3083,
+  [0x015d] = 0x3084, [0x015e] = 0x3085, [0x015f] = 0x3086, [0x0160] = 0x3087,
+  [0x0161] = 0x3088, [0x0162] = 0x3089, [0x0163] = 0x308a, [0x0164] = 0x308b,
+  [0x0165] = 0x308c, [0x0166] = 0x308d, [0x0167] = 0x308e, [0x0168] = 0x308f,
+  [0x0169] = 0x3090, [0x016a] = 0x3091, [0x016b] = 0x3092, [0x016c] = 0x3093,
+  [0x0178] = 0x30a1, [0x0179] = 0x30a2, [0x017a] = 0x30a3, [0x017b] = 0x30a4,
+  [0x017c] = 0x30a5, [0x017d] = 0x30a6, [0x017e] = 0x30a7, [0x017f] = 0x30a8,
+  [0x0180] = 0x30a9, [0x0181] = 0x30aa, [0x0182] = 0x30ab, [0x0183] = 0x30ac,
+  [0x0184] = 0x30ad, [0x0185] = 0x30ae, [0x0186] = 0x30af, [0x0187] = 0x30b0,
+  [0x0188] = 0x30b1, [0x0189] = 0x30b2, [0x018a] = 0x30b3, [0x018b] = 0x30b4,
+  [0x018c] = 0x30b5, [0x018d] = 0x30b6, [0x018e] = 0x30b7, [0x018f] = 0x30b8,
+  [0x0190] = 0x30b9, [0x0191] = 0x30ba, [0x0192] = 0x30bb, [0x0193] = 0x30bc,
+  [0x0194] = 0x30bd, [0x0195] = 0x30be, [0x0196] = 0x30bf, [0x0197] = 0x30c0,
+  [0x0198] = 0x30c1, [0x0199] = 0x30c2, [0x019a] = 0x30c3, [0x019b] = 0x30c4,
+  [0x019c] = 0x30c5, [0x019d] = 0x30c6, [0x019e] = 0x30c7, [0x019f] = 0x30c8,
+  [0x01a0] = 0x30c9, [0x01a1] = 0x30ca, [0x01a2] = 0x30cb, [0x01a3] = 0x30cc,
+  [0x01a4] = 0x30cd, [0x01a5] = 0x30ce, [0x01a6] = 0x30cf, [0x01a7] = 0x30d0,
+  [0x01a8] = 0x30d1, [0x01a9] = 0x30d2, [0x01aa] = 0x30d3, [0x01ab] = 0x30d4,
+  [0x01ac] = 0x30d5, [0x01ad] = 0x30d6, [0x01ae] = 0x30d7, [0x01af] = 0x30d8,
+  [0x01b0] = 0x30d9, [0x01b1] = 0x30da, [0x01b2] = 0x30db, [0x01b3] = 0x30dc,
+  [0x01b4] = 0x30dd, [0x01b5] = 0x30de, [0x01b6] = 0x30df, [0x01b7] = 0x30e0,
+  [0x01b8] = 0x30e1, [0x01b9] = 0x30e2, [0x01ba] = 0x30e3, [0x01bb] = 0x30e4,
+  [0x01bc] = 0x30e5, [0x01bd] = 0x30e6, [0x01be] = 0x30e7, [0x01bf] = 0x30e8,
+  [0x01c0] = 0x30e9, [0x01c1] = 0x30ea, [0x01c2] = 0x30eb, [0x01c3] = 0x30ec,
+  [0x01c4] = 0x30ed, [0x01c5] = 0x30ee, [0x01c6] = 0x30ef, [0x01c7] = 0x30f0,
+  [0x01c8] = 0x30f1, [0x01c9] = 0x30f2, [0x01ca] = 0x30f3, [0x01cb] = 0x30f4,
+  [0x01cc] = 0x30f5, [0x01cd] = 0x30f6, [0x01d6] = 0x0391, [0x01d7] = 0x0392,
+  [0x01d8] = 0x0393, [0x01d9] = 0x0394, [0x01da] = 0x0395, [0x01db] = 0x0396,
+  [0x01dc] = 0x0397, [0x01dd] = 0x0398, [0x01de] = 0x0399, [0x01df] = 0x039a,
+  [0x01e0] = 0x039b, [0x01e1] = 0x039c, [0x01e2] = 0x039d, [0x01e3] = 0x039e,
+  [0x01e4] = 0x039f, [0x01e5] = 0x03a0, [0x01e6] = 0x03a1, [0x01e7] = 0x03a3,
+  [0x01e8] = 0x03a4, [0x01e9] = 0x03a5, [0x01ea] = 0x03a6, [0x01eb] = 0x03a7,
+  [0x01ec] = 0x03a8, [0x01ed] = 0x03a9, [0x01f6] = 0x03b1, [0x01f7] = 0x03b2,
+  [0x01f8] = 0x03b3, [0x01f9] = 0x03b4, [0x01fa] = 0x03b5, [0x01fb] = 0x03b6,
+  [0x01fc] = 0x03b7, [0x01fd] = 0x03b8, [0x01fe] = 0x03b9, [0x01ff] = 0x03ba,
+  [0x0200] = 0x03bb, [0x0201] = 0x03bc, [0x0202] = 0x03bd, [0x0203] = 0x03be,
+  [0x0204] = 0x03bf, [0x0205] = 0x03c0, [0x0206] = 0x03c1, [0x0207] = 0x03c3,
+  [0x0208] = 0x03c4, [0x0209] = 0x03c5, [0x020a] = 0x03c6, [0x020b] = 0x03c7,
+  [0x020c] = 0x03c8, [0x020d] = 0x03c9, [0x0234] = 0x0410, [0x0235] = 0x0411,
+  [0x0236] = 0x0412, [0x0237] = 0x0413, [0x0238] = 0x0414, [0x0239] = 0x0415,
+  [0x023a] = 0x0401, [0x023b] = 0x0416, [0x023c] = 0x0417, [0x023d] = 0x0418,
+  [0x023e] = 0x0419, [0x023f] = 0x041a, [0x0240] = 0x041b, [0x0241] = 0x041c,
+  [0x0242] = 0x041d, [0x0243] = 0x041e, [0x0244] = 0x041f, [0x0245] = 0x0420,
+  [0x0246] = 0x0421, [0x0247] = 0x0422, [0x0248] = 0x0423, [0x0249] = 0x0424,
+  [0x024a] = 0x0425, [0x024b] = 0x0426, [0x024c] = 0x0427, [0x024d] = 0x0428,
+  [0x024e] = 0x0429, [0x024f] = 0x042a, [0x0250] = 0x042b, [0x0251] = 0x042c,
+  [0x0252] = 0x042d, [0x0253] = 0x042e, [0x0254] = 0x042f, [0x0264] = 0x0430,
+  [0x0265] = 0x0431, [0x0266] = 0x0432, [0x0267] = 0x0433, [0x0268] = 0x0434,
+  [0x0269] = 0x0435, [0x026a] = 0x0451, [0x026b] = 0x0436, [0x026c] = 0x0437,
+  [0x026d] = 0x0438, [0x026e] = 0x0439, [0x026f] = 0x043a, [0x0270] = 0x043b,
+  [0x0271] = 0x043c, [0x0272] = 0x043d, [0x0273] = 0x043e, [0x0274] = 0x043f,
+  [0x0275] = 0x0440, [0x0276] = 0x0441, [0x0277] = 0x0442, [0x0278] = 0x0443,
+  [0x0279] = 0x0444, [0x027a] = 0x0445, [0x027b] = 0x0446, [0x027c] = 0x0447,
+  [0x027d] = 0x0448, [0x027e] = 0x0449, [0x027f] = 0x044a, [0x0280] = 0x044b,
+  [0x0281] = 0x044c, [0x0282] = 0x044d, [0x0283] = 0x044e, [0x0284] = 0x044f,
+  [0x0292] = 0x2500, [0x0293] = 0x2502, [0x0294] = 0x250c, [0x0295] = 0x2510,
+  [0x0296] = 0x2518, [0x0297] = 0x2514, [0x0298] = 0x251c, [0x0299] = 0x252c,
+  [0x029a] = 0x2524, [0x029b] = 0x2534, [0x029c] = 0x253c, [0x029d] = 0x2501,
+  [0x029e] = 0x2503, [0x029f] = 0x250f, [0x02a0] = 0x2513, [0x02a1] = 0x251b,
+  [0x02a2] = 0x2517, [0x02a3] = 0x2523, [0x02a4] = 0x2533, [0x02a5] = 0x252b,
+  [0x02a6] = 0x253b, [0x02a7] = 0x254b, [0x02a8] = 0x2520, [0x02a9] = 0x252f,
+  [0x02aa] = 0x2528, [0x02ab] = 0x2537, [0x02ac] = 0x253f, [0x02ad] = 0x251d,
+  [0x02ae] = 0x2530, [0x02af] = 0x2525, [0x02b0] = 0x2538, [0x02b1] = 0x2542,
+  [0x0582] = 0x4e9c, [0x0583] = 0x5516, [0x0584] = 0x5a03, [0x0585] = 0x963f,
+  [0x0586] = 0x54c0, [0x0587] = 0x611b, [0x0588] = 0x6328, [0x0589] = 0x59f6,
+  [0x058a] = 0x9022, [0x058b] = 0x8475, [0x058c] = 0x831c, [0x058d] = 0x7a50,
+  [0x058e] = 0x60aa, [0x058f] = 0x63e1, [0x0590] = 0x6e25, [0x0591] = 0x65ed,
+  [0x0592] = 0x8466, [0x0593] = 0x82a6, [0x0594] = 0x9bf5, [0x0595] = 0x6893,
+  [0x0596] = 0x5727, [0x0597] = 0x65a1, [0x0598] = 0x6271, [0x0599] = 0x5b9b,
+  [0x059a] = 0x59d0, [0x059b] = 0x867b, [0x059c] = 0x98f4, [0x059d] = 0x7d62,
+  [0x059e] = 0x7dbe, [0x059f] = 0x9b8e, [0x05a0] = 0x6216, [0x05a1] = 0x7c9f,
+  [0x05a2] = 0x88b7, [0x05a3] = 0x5b89, [0x05a4] = 0x5eb5, [0x05a5] = 0x6309,
+  [0x05a6] = 0x6697, [0x05a7] = 0x6848, [0x05a8] = 0x95c7, [0x05a9] = 0x978d,
+  [0x05aa] = 0x674f, [0x05ab] = 0x4ee5, [0x05ac] = 0x4f0a, [0x05ad] = 0x4f4d,
+  [0x05ae] = 0x4f9d, [0x05af] = 0x5049, [0x05b0] = 0x56f2, [0x05b1] = 0x5937,
+  [0x05b2] = 0x59d4, [0x05b3] = 0x5a01, [0x05b4] = 0x5c09, [0x05b5] = 0x60df,
+  [0x05b6] = 0x610f, [0x05b7] = 0x6170, [0x05b8] = 0x6613, [0x05b9] = 0x6905,
+  [0x05ba] = 0x70ba, [0x05bb] = 0x754f, [0x05bc] = 0x7570, [0x05bd] = 0x79fb,
+  [0x05be] = 0x7dad, [0x05bf] = 0x7def, [0x05c0] = 0x80c3, [0x05c1] = 0x840e,
+  [0x05c2] = 0x8863, [0x05c3] = 0x8b02, [0x05c4] = 0x9055, [0x05c5] = 0x907a,
+  [0x05c6] = 0x533b, [0x05c7] = 0x4e95, [0x05c8] = 0x4ea5, [0x05c9] = 0x57df,
+  [0x05ca] = 0x80b2, [0x05cb] = 0x90c1, [0x05cc] = 0x78ef, [0x05cd] = 0x4e00,
+  [0x05ce] = 0x58f1, [0x05cf] = 0x6ea2, [0x05d0] = 0x9038, [0x05d1] = 0x7a32,
+  [0x05d2] = 0x8328, [0x05d3] = 0x828b, [0x05d4] = 0x9c2f, [0x05d5] = 0x5141,
+  [0x05d6] = 0x5370, [0x05d7] = 0x54bd, [0x05d8] = 0x54e1, [0x05d9] = 0x56e0,
+  [0x05da] = 0x59fb, [0x05db] = 0x5f15, [0x05dc] = 0x98f2, [0x05dd] = 0x6deb,
+  [0x05de] = 0x80e4, [0x05df] = 0x852d, [0x05e0] = 0x9662, [0x05e1] = 0x9670,
+  [0x05e2] = 0x96a0, [0x05e3] = 0x97fb, [0x05e4] = 0x540b, [0x05e5] = 0x53f3,
+  [0x05e6] = 0x5b87, [0x05e7] = 0x70cf, [0x05e8] = 0x7fbd, [0x05e9] = 0x8fc2,
+  [0x05ea] = 0x96e8, [0x05eb] = 0x536f, [0x05ec] = 0x9d5c, [0x05ed] = 0x7aba,
+  [0x05ee] = 0x4e11, [0x05ef] = 0x7893, [0x05f0] = 0x81fc, [0x05f1] = 0x6e26,
+  [0x05f2] = 0x5618, [0x05f3] = 0x5504, [0x05f4] = 0x6b1d, [0x05f5] = 0x851a,
+  [0x05f6] = 0x9c3b, [0x05f7] = 0x59e5, [0x05f8] = 0x53a9, [0x05f9] = 0x6d66,
+  [0x05fa] = 0x74dc, [0x05fb] = 0x958f, [0x05fc] = 0x5642, [0x05fd] = 0x4e91,
+  [0x05fe] = 0x904b, [0x05ff] = 0x96f2, [0x0600] = 0x834f, [0x0601] = 0x990c,
+  [0x0602] = 0x53e1, [0x0603] = 0x55b6, [0x0604] = 0x5b30, [0x0605] = 0x5f71,
+  [0x0606] = 0x6620, [0x0607] = 0x66f3, [0x0608] = 0x6804, [0x0609] = 0x6c38,
+  [0x060a] = 0x6cf3, [0x060b] = 0x6d29, [0x060c] = 0x745b, [0x060d] = 0x76c8,
+  [0x060e] = 0x7a4e, [0x060f] = 0x9834, [0x0610] = 0x82f1, [0x0611] = 0x885b,
+  [0x0612] = 0x8a60, [0x0613] = 0x92ed, [0x0614] = 0x6db2, [0x0615] = 0x75ab,
+  [0x0616] = 0x76ca, [0x0617] = 0x99c5, [0x0618] = 0x60a6, [0x0619] = 0x8b01,
+  [0x061a] = 0x8d8a, [0x061b] = 0x95b2, [0x061c] = 0x698e, [0x061d] = 0x53ad,
+  [0x061e] = 0x5186, [0x061f] = 0x5712, [0x0620] = 0x5830, [0x0621] = 0x5944,
+  [0x0622] = 0x5bb4, [0x0623] = 0x5ef6, [0x0624] = 0x6028, [0x0625] = 0x63a9,
+  [0x0626] = 0x63f4, [0x0627] = 0x6cbf, [0x0628] = 0x6f14, [0x0629] = 0x708e,
+  [0x062a] = 0x7114, [0x062b] = 0x7159, [0x062c] = 0x71d5, [0x062d] = 0x733f,
+  [0x062e] = 0x7e01, [0x062f] = 0x8276, [0x0630] = 0x82d1, [0x0631] = 0x8597,
+  [0x0632] = 0x9060, [0x0633] = 0x925b, [0x0634] = 0x9d1b, [0x0635] = 0x5869,
+  [0x0636] = 0x65bc, [0x0637] = 0x6c5a, [0x0638] = 0x7525, [0x0639] = 0x51f9,
+  [0x063a] = 0x592e, [0x063b] = 0x5965, [0x063c] = 0x5f80, [0x063d] = 0x5fdc,
+  [0x063e] = 0x62bc, [0x063f] = 0x65fa, [0x0640] = 0x6a2a, [0x0641] = 0x6b27,
+  [0x0642] = 0x6bb4, [0x0643] = 0x738b, [0x0644] = 0x7fc1, [0x0645] = 0x8956,
+  [0x0646] = 0x9d2c, [0x0647] = 0x9d0e, [0x0648] = 0x9ec4, [0x0649] = 0x5ca1,
+  [0x064a] = 0x6c96, [0x064b] = 0x837b, [0x064c] = 0x5104, [0x064d] = 0x5c4b,
+  [0x064e] = 0x61b6, [0x064f] = 0x81c6, [0x0650] = 0x6876, [0x0651] = 0x7261,
+  [0x0652] = 0x4e59, [0x0653] = 0x4ffa, [0x0654] = 0x5378, [0x0655] = 0x6069,
+  [0x0656] = 0x6e29, [0x0657] = 0x7a4f, [0x0658] = 0x97f3, [0x0659] = 0x4e0b,
+  [0x065a] = 0x5316, [0x065b] = 0x4eee, [0x065c] = 0x4f55, [0x065d] = 0x4f3d,
+  [0x065e] = 0x4fa1, [0x065f] = 0x4f73, [0x0660] = 0x52a0, [0x0661] = 0x53ef,
+  [0x0662] = 0x5609, [0x0663] = 0x590f, [0x0664] = 0x5ac1, [0x0665] = 0x5bb6,
+  [0x0666] = 0x5be1, [0x0667] = 0x79d1, [0x0668] = 0x6687, [0x0669] = 0x679c,
+  [0x066a] = 0x67b6, [0x066b] = 0x6b4c, [0x066c] = 0x6cb3, [0x066d] = 0x706b,
+  [0x066e] = 0x73c2, [0x066f] = 0x798d, [0x0670] = 0x79be, [0x0671] = 0x7a3c,
+  [0x0672] = 0x7b87, [0x0673] = 0x82b1, [0x0674] = 0x82db, [0x0675] = 0x8304,
+  [0x0676] = 0x8377, [0x0677] = 0x83ef, [0x0678] = 0x83d3, [0x0679] = 0x8766,
+  [0x067a] = 0x8ab2, [0x067b] = 0x5629, [0x067c] = 0x8ca8, [0x067d] = 0x8fe6,
+  [0x067e] = 0x904e, [0x067f] = 0x971e, [0x0680] = 0x868a, [0x0681] = 0x4fc4,
+  [0x0682] = 0x5ce8, [0x0683] = 0x6211, [0x0684] = 0x7259, [0x0685] = 0x753b,
+  [0x0686] = 0x81e5, [0x0687] = 0x82bd, [0x0688] = 0x86fe, [0x0689] = 0x8cc0,
+  [0x068a] = 0x96c5, [0x068b] = 0x9913, [0x068c] = 0x99d5, [0x068d] = 0x4ecb,
+  [0x068e] = 0x4f1a, [0x068f] = 0x89e3, [0x0690] = 0x56de, [0x0691] = 0x584a,
+  [0x0692] = 0x58ca, [0x0693] = 0x5efb, [0x0694] = 0x5feb, [0x0695] = 0x602a,
+  [0x0696] = 0x6094, [0x0697] = 0x6062, [0x0698] = 0x61d0, [0x0699] = 0x6212,
+  [0x069a] = 0x62d0, [0x069b] = 0x6539, [0x069c] = 0x9b41, [0x069d] = 0x6666,
+  [0x069e] = 0x68b0, [0x069f] = 0x6d77, [0x06a0] = 0x7070, [0x06a1] = 0x754c,
+  [0x06a2] = 0x7686, [0x06a3] = 0x7d75, [0x06a4] = 0x82a5, [0x06a5] = 0x87f9,
+  [0x06a6] = 0x958b, [0x06a7] = 0x968e, [0x06a8] = 0x8c9d, [0x06a9] = 0x51f1,
+  [0x06aa] = 0x52be, [0x06ab] = 0x5916, [0x06ac] = 0x54b3, [0x06ad] = 0x5bb3,
+  [0x06ae] = 0x5d16, [0x06af] = 0x6168, [0x06b0] = 0x6982, [0x06b1] = 0x6daf,
+  [0x06b2] = 0x788d, [0x06b3] = 0x84cb, [0x06b4] = 0x8857, [0x06b5] = 0x8a72,
+  [0x06b6] = 0x93a7, [0x06b7] = 0x9ab8, [0x06b8] = 0x6d6c, [0x06b9] = 0x99a8,
+  [0x06ba] = 0x86d9, [0x06bb] = 0x57a3, [0x06bc] = 0x67ff, [0x06bd] = 0x86ce,
+  [0x06be] = 0x920e, [0x06bf] = 0x5283, [0x06c0] = 0x5687, [0x06c1] = 0x5404,
+  [0x06c2] = 0x5ed3, [0x06c3] = 0x62e1, [0x06c4] = 0x64b9, [0x06c5] = 0x683c,
+  [0x06c6] = 0x6838, [0x06c7] = 0x6bbb, [0x06c8] = 0x7372, [0x06c9] = 0x78ba,
+  [0x06ca] = 0x7a6b, [0x06cb] = 0x899a, [0x06cc] = 0x89d2, [0x06cd] = 0x8d6b,
+  [0x06ce] = 0x8f03, [0x06cf] = 0x90ed, [0x06d0] = 0x95a3, [0x06d1] = 0x9694,
+  [0x06d2] = 0x9769, [0x06d3] = 0x5b66, [0x06d4] = 0x5cb3, [0x06d5] = 0x697d,
+  [0x06d6] = 0x984d, [0x06d7] = 0x984e, [0x06d8] = 0x639b, [0x06d9] = 0x7b20,
+  [0x06da] = 0x6a2b, [0x06db] = 0x6a7f, [0x06dc] = 0x68b6, [0x06dd] = 0x9c0d,
+  [0x06de] = 0x6f5f, [0x06df] = 0x5272, [0x06e0] = 0x559d, [0x06e1] = 0x6070,
+  [0x06e2] = 0x62ec, [0x06e3] = 0x6d3b, [0x06e4] = 0x6e07, [0x06e5] = 0x6ed1,
+  [0x06e6] = 0x845b, [0x06e7] = 0x8910, [0x06e8] = 0x8f44, [0x06e9] = 0x4e14,
+  [0x06ea] = 0x9c39, [0x06eb] = 0x53f6, [0x06ec] = 0x691b, [0x06ed] = 0x6a3a,
+  [0x06ee] = 0x9784, [0x06ef] = 0x682a, [0x06f0] = 0x515c, [0x06f1] = 0x7ac3,
+  [0x06f2] = 0x84b2, [0x06f3] = 0x91dc, [0x06f4] = 0x938c, [0x06f5] = 0x565b,
+  [0x06f6] = 0x9d28, [0x06f7] = 0x6822, [0x06f8] = 0x8305, [0x06f9] = 0x8431,
+  [0x06fa] = 0x7ca5, [0x06fb] = 0x5208, [0x06fc] = 0x82c5, [0x06fd] = 0x74e6,
+  [0x06fe] = 0x4e7e, [0x06ff] = 0x4f83, [0x0700] = 0x51a0, [0x0701] = 0x5bd2,
+  [0x0702] = 0x520a, [0x0703] = 0x52d8, [0x0704] = 0x52e7, [0x0705] = 0x5dfb,
+  [0x0706] = 0x559a, [0x0707] = 0x582a, [0x0708] = 0x59e6, [0x0709] = 0x5b8c,
+  [0x070a] = 0x5b98, [0x070b] = 0x5bdb, [0x070c] = 0x5e72, [0x070d] = 0x5e79,
+  [0x070e] = 0x60a3, [0x070f] = 0x611f, [0x0710] = 0x6163, [0x0711] = 0x61be,
+  [0x0712] = 0x63db, [0x0713] = 0x6562, [0x0714] = 0x67d1, [0x0715] = 0x6853,
+  [0x0716] = 0x68fa, [0x0717] = 0x6b3e, [0x0718] = 0x6b53, [0x0719] = 0x6c57,
+  [0x071a] = 0x6f22, [0x071b] = 0x6f97, [0x071c] = 0x6f45, [0x071d] = 0x74b0,
+  [0x071e] = 0x7518, [0x071f] = 0x76e3, [0x0720] = 0x770b, [0x0721] = 0x7aff,
+  [0x0722] = 0x7ba1, [0x0723] = 0x7c21, [0x0724] = 0x7de9, [0x0725] = 0x7f36,
+  [0x0726] = 0x7ff0, [0x0727] = 0x809d, [0x0728] = 0x8266, [0x0729] = 0x839e,
+  [0x072a] = 0x89b3, [0x072b] = 0x8acc, [0x072c] = 0x8cab, [0x072d] = 0x9084,
+  [0x072e] = 0x9451, [0x072f] = 0x9593, [0x0730] = 0x9591, [0x0731] = 0x95a2,
+  [0x0732] = 0x9665, [0x0733] = 0x97d3, [0x0734] = 0x9928, [0x0735] = 0x8218,
+  [0x0736] = 0x4e38, [0x0737] = 0x542b, [0x0738] = 0x5cb8, [0x0739] = 0x5dcc,
+  [0x073a] = 0x73a9, [0x073b] = 0x764c, [0x073c] = 0x773c, [0x073d] = 0x5ca9,
+  [0x073e] = 0x7feb, [0x073f] = 0x8d0b, [0x0740] = 0x96c1, [0x0741] = 0x9811,
+  [0x0742] = 0x9854, [0x0743] = 0x9858, [0x0744] = 0x4f01, [0x0745] = 0x4f0e,
+  [0x0746] = 0x5371, [0x0747] = 0x559c, [0x0748] = 0x5668, [0x0749] = 0x57fa,
+  [0x074a] = 0x5947, [0x074b] = 0x5b09, [0x074c] = 0x5bc4, [0x074d] = 0x5c90,
+  [0x074e] = 0x5e0c, [0x074f] = 0x5e7e, [0x0750] = 0x5fcc, [0x0751] = 0x63ee,
+  [0x0752] = 0x673a, [0x0753] = 0x65d7, [0x0754] = 0x65e2, [0x0755] = 0x671f,
+  [0x0756] = 0x68cb, [0x0757] = 0x68c4, [0x0758] = 0x6a5f, [0x0759] = 0x5e30,
+  [0x075a] = 0x6bc5, [0x075b] = 0x6c17, [0x075c] = 0x6c7d, [0x075d] = 0x757f,
+  [0x075e] = 0x7948, [0x075f] = 0x5b63, [0x0760] = 0x7a00, [0x0761] = 0x7d00,
+  [0x0762] = 0x5fbd, [0x0763] = 0x898f, [0x0764] = 0x8a18, [0x0765] = 0x8cb4,
+  [0x0766] = 0x8d77, [0x0767] = 0x8ecc, [0x0768] = 0x8f1d, [0x0769] = 0x98e2,
+  [0x076a] = 0x9a0e, [0x076b] = 0x9b3c, [0x076c] = 0x4e80, [0x076d] = 0x507d,
+  [0x076e] = 0x5100, [0x076f] = 0x5993, [0x0770] = 0x5b9c, [0x0771] = 0x622f,
+  [0x0772] = 0x6280, [0x0773] = 0x64ec, [0x0774] = 0x6b3a, [0x0775] = 0x72a0,
+  [0x0776] = 0x7591, [0x0777] = 0x7947, [0x0778] = 0x7fa9, [0x0779] = 0x87fb,
+  [0x077a] = 0x8abc, [0x077b] = 0x8b70, [0x077c] = 0x63ac, [0x077d] = 0x83ca,
+  [0x077e] = 0x97a0, [0x077f] = 0x5409, [0x0780] = 0x5403, [0x0781] = 0x55ab,
+  [0x0782] = 0x6854, [0x0783] = 0x6a58, [0x0784] = 0x8a70, [0x0785] = 0x7827,
+  [0x0786] = 0x6775, [0x0787] = 0x9ecd, [0x0788] = 0x5374, [0x0789] = 0x5ba2,
+  [0x078a] = 0x811a, [0x078b] = 0x8650, [0x078c] = 0x9006, [0x078d] = 0x4e18,
+  [0x078e] = 0x4e45, [0x078f] = 0x4ec7, [0x0790] = 0x4f11, [0x0791] = 0x53ca,
+  [0x0792] = 0x5438, [0x0793] = 0x5bae, [0x0794] = 0x5f13, [0x0795] = 0x6025,
+  [0x0796] = 0x6551, [0x0797] = 0x673d, [0x0798] = 0x6c42, [0x0799] = 0x6c72,
+  [0x079a] = 0x6ce3, [0x079b] = 0x7078, [0x079c] = 0x7403, [0x079d] = 0x7a76,
+  [0x079e] = 0x7aae, [0x079f] = 0x7b08, [0x07a0] = 0x7d1a, [0x07a1] = 0x7cfe,
+  [0x07a2] = 0x7d66, [0x07a3] = 0x65e7, [0x07a4] = 0x725b, [0x07a5] = 0x53bb,
+  [0x07a6] = 0x5c45, [0x07a7] = 0x5de8, [0x07a8] = 0x62d2, [0x07a9] = 0x62e0,
+  [0x07aa] = 0x6319, [0x07ab] = 0x6e20, [0x07ac] = 0x865a, [0x07ad] = 0x8a31,
+  [0x07ae] = 0x8ddd, [0x07af] = 0x92f8, [0x07b0] = 0x6f01, [0x07b1] = 0x79a6,
+  [0x07b2] = 0x9b5a, [0x07b3] = 0x4ea8, [0x07b4] = 0x4eab, [0x07b5] = 0x4eac,
+  [0x07b6] = 0x4f9b, [0x07b7] = 0x4fa0, [0x07b8] = 0x50d1, [0x07b9] = 0x5147,
+  [0x07ba] = 0x7af6, [0x07bb] = 0x5171, [0x07bc] = 0x51f6, [0x07bd] = 0x5354,
+  [0x07be] = 0x5321, [0x07bf] = 0x537f, [0x07c0] = 0x53eb, [0x07c1] = 0x55ac,
+  [0x07c2] = 0x5883, [0x07c3] = 0x5ce1, [0x07c4] = 0x5f37, [0x07c5] = 0x5f4a,
+  [0x07c6] = 0x602f, [0x07c7] = 0x6050, [0x07c8] = 0x606d, [0x07c9] = 0x631f,
+  [0x07ca] = 0x6559, [0x07cb] = 0x6a4b, [0x07cc] = 0x6cc1, [0x07cd] = 0x72c2,
+  [0x07ce] = 0x72ed, [0x07cf] = 0x77ef, [0x07d0] = 0x80f8, [0x07d1] = 0x8105,
+  [0x07d2] = 0x8208, [0x07d3] = 0x854e, [0x07d4] = 0x90f7, [0x07d5] = 0x93e1,
+  [0x07d6] = 0x97ff, [0x07d7] = 0x9957, [0x07d8] = 0x9a5a, [0x07d9] = 0x4ef0,
+  [0x07da] = 0x51dd, [0x07db] = 0x5c2d, [0x07dc] = 0x6681, [0x07dd] = 0x696d,
+  [0x07de] = 0x5c40, [0x07df] = 0x66f2, [0x07e0] = 0x6975, [0x07e1] = 0x7389,
+  [0x07e2] = 0x6850, [0x07e3] = 0x7c81, [0x07e4] = 0x50c5, [0x07e5] = 0x52e4,
+  [0x07e6] = 0x5747, [0x07e7] = 0x5dfe, [0x07e8] = 0x9326, [0x07e9] = 0x65a4,
+  [0x07ea] = 0x6b23, [0x07eb] = 0x6b3d, [0x07ec] = 0x7434, [0x07ed] = 0x7981,
+  [0x07ee] = 0x79bd, [0x07ef] = 0x7b4b, [0x07f0] = 0x7dca, [0x07f1] = 0x82b9,
+  [0x07f2] = 0x83cc, [0x07f3] = 0x887f, [0x07f4] = 0x895f, [0x07f5] = 0x8b39,
+  [0x07f6] = 0x8fd1, [0x07f7] = 0x91d1, [0x07f8] = 0x541f, [0x07f9] = 0x9280,
+  [0x07fa] = 0x4e5d, [0x07fb] = 0x5036, [0x07fc] = 0x53e5, [0x07fd] = 0x533a,
+  [0x07fe] = 0x72d7, [0x07ff] = 0x7396, [0x0800] = 0x77e9, [0x0801] = 0x82e6,
+  [0x0802] = 0x8eaf, [0x0803] = 0x99c6, [0x0804] = 0x99c8, [0x0805] = 0x99d2,
+  [0x0806] = 0x5177, [0x0807] = 0x611a, [0x0808] = 0x865e, [0x0809] = 0x55b0,
+  [0x080a] = 0x7a7a, [0x080b] = 0x5076, [0x080c] = 0x5bd3, [0x080d] = 0x9047,
+  [0x080e] = 0x9685, [0x080f] = 0x4e32, [0x0810] = 0x6adb, [0x0811] = 0x91e7,
+  [0x0812] = 0x5c51, [0x0813] = 0x5c48, [0x0814] = 0x6398, [0x0815] = 0x7a9f,
+  [0x0816] = 0x6c93, [0x0817] = 0x9774, [0x0818] = 0x8f61, [0x0819] = 0x7aaa,
+  [0x081a] = 0x718a, [0x081b] = 0x9688, [0x081c] = 0x7c82, [0x081d] = 0x6817,
+  [0x081e] = 0x7e70, [0x081f] = 0x6851, [0x0820] = 0x936c, [0x0821] = 0x52f2,
+  [0x0822] = 0x541b, [0x0823] = 0x85ab, [0x0824] = 0x8a13, [0x0825] = 0x7fa4,
+  [0x0826] = 0x8ecd, [0x0827] = 0x90e1, [0x0828] = 0x5366, [0x0829] = 0x8888,
+  [0x082a] = 0x7941, [0x082b] = 0x4fc2, [0x082c] = 0x50be, [0x082d] = 0x5211,
+  [0x082e] = 0x5144, [0x082f] = 0x5553, [0x0830] = 0x572d, [0x0831] = 0x73ea,
+  [0x0832] = 0x578b, [0x0833] = 0x5951, [0x0834] = 0x5f62, [0x0835] = 0x5f84,
+  [0x0836] = 0x6075, [0x0837] = 0x6176, [0x0838] = 0x6167, [0x0839] = 0x61a9,
+  [0x083a] = 0x63b2, [0x083b] = 0x643a, [0x083c] = 0x656c, [0x083d] = 0x666f,
+  [0x083e] = 0x6842, [0x083f] = 0x6e13, [0x0840] = 0x7566, [0x0841] = 0x7a3d,
+  [0x0842] = 0x7cfb, [0x0843] = 0x7d4c, [0x0844] = 0x7d99, [0x0845] = 0x7e4b,
+  [0x0846] = 0x7f6b, [0x0847] = 0x830e, [0x0848] = 0x834a, [0x0849] = 0x86cd,
+  [0x084a] = 0x8a08, [0x084b] = 0x8a63, [0x084c] = 0x8b66, [0x084d] = 0x8efd,
+  [0x084e] = 0x981a, [0x084f] = 0x9d8f, [0x0850] = 0x82b8, [0x0851] = 0x8fce,
+  [0x0852] = 0x9be8, [0x0853] = 0x5287, [0x0854] = 0x621f, [0x0855] = 0x6483,
+  [0x0856] = 0x6fc0, [0x0857] = 0x9699, [0x0858] = 0x6841, [0x0859] = 0x5091,
+  [0x085a] = 0x6b20, [0x085b] = 0x6c7a, [0x085c] = 0x6f54, [0x085d] = 0x7a74,
+  [0x085e] = 0x7d50, [0x085f] = 0x8840, [0x0860] = 0x8a23, [0x0861] = 0x6708,
+  [0x0862] = 0x4ef6, [0x0863] = 0x5039, [0x0864] = 0x5026, [0x0865] = 0x5065,
+  [0x0866] = 0x517c, [0x0867] = 0x5238, [0x0868] = 0x5263, [0x0869] = 0x55a7,
+  [0x086a] = 0x570f, [0x086b] = 0x5805, [0x086c] = 0x5acc, [0x086d] = 0x5efa,
+  [0x086e] = 0x61b2, [0x086f] = 0x61f8, [0x0870] = 0x62f3, [0x0871] = 0x6372,
+  [0x0872] = 0x691c, [0x0873] = 0x6a29, [0x0874] = 0x727d, [0x0875] = 0x72ac,
+  [0x0876] = 0x732e, [0x0877] = 0x7814, [0x0878] = 0x786f, [0x0879] = 0x7d79,
+  [0x087a] = 0x770c, [0x087b] = 0x80a9, [0x087c] = 0x898b, [0x087d] = 0x8b19,
+  [0x087e] = 0x8ce2, [0x087f] = 0x8ed2, [0x0880] = 0x9063, [0x0881] = 0x9375,
+  [0x0882] = 0x967a, [0x0883] = 0x9855, [0x0884] = 0x9a13, [0x0885] = 0x9e78,
+  [0x0886] = 0x5143, [0x0887] = 0x539f, [0x0888] = 0x53b3, [0x0889] = 0x5e7b,
+  [0x088a] = 0x5f26, [0x088b] = 0x6e1b, [0x088c] = 0x6e90, [0x088d] = 0x7384,
+  [0x088e] = 0x73fe, [0x088f] = 0x7d43, [0x0890] = 0x8237, [0x0891] = 0x8a00,
+  [0x0892] = 0x8afa, [0x0893] = 0x9650, [0x0894] = 0x4e4e, [0x0895] = 0x500b,
+  [0x0896] = 0x53e4, [0x0897] = 0x547c, [0x0898] = 0x56fa, [0x0899] = 0x59d1,
+  [0x089a] = 0x5b64, [0x089b] = 0x5df1, [0x089c] = 0x5eab, [0x089d] = 0x5f27,
+  [0x089e] = 0x6238, [0x089f] = 0x6545, [0x08a0] = 0x67af, [0x08a1] = 0x6e56,
+  [0x08a2] = 0x72d0, [0x08a3] = 0x7cca, [0x08a4] = 0x88b4, [0x08a5] = 0x80a1,
+  [0x08a6] = 0x80e1, [0x08a7] = 0x83f0, [0x08a8] = 0x864e, [0x08a9] = 0x8a87,
+  [0x08aa] = 0x8de8, [0x08ab] = 0x9237, [0x08ac] = 0x96c7, [0x08ad] = 0x9867,
+  [0x08ae] = 0x9f13, [0x08af] = 0x4e94, [0x08b0] = 0x4e92, [0x08b1] = 0x4f0d,
+  [0x08b2] = 0x5348, [0x08b3] = 0x5449, [0x08b4] = 0x543e, [0x08b5] = 0x5a2f,
+  [0x08b6] = 0x5f8c, [0x08b7] = 0x5fa1, [0x08b8] = 0x609f, [0x08b9] = 0x68a7,
+  [0x08ba] = 0x6a8e, [0x08bb] = 0x745a, [0x08bc] = 0x7881, [0x08bd] = 0x8a9e,
+  [0x08be] = 0x8aa4, [0x08bf] = 0x8b77, [0x08c0] = 0x9190, [0x08c1] = 0x4e5e,
+  [0x08c2] = 0x9bc9, [0x08c3] = 0x4ea4, [0x08c4] = 0x4f7c, [0x08c5] = 0x4faf,
+  [0x08c6] = 0x5019, [0x08c7] = 0x5016, [0x08c8] = 0x5149, [0x08c9] = 0x516c,
+  [0x08ca] = 0x529f, [0x08cb] = 0x52b9, [0x08cc] = 0x52fe, [0x08cd] = 0x539a,
+  [0x08ce] = 0x53e3, [0x08cf] = 0x5411, [0x08d0] = 0x540e, [0x08d1] = 0x5589,
+  [0x08d2] = 0x5751, [0x08d3] = 0x57a2, [0x08d4] = 0x597d, [0x08d5] = 0x5b54,
+  [0x08d6] = 0x5b5d, [0x08d7] = 0x5b8f, [0x08d8] = 0x5de5, [0x08d9] = 0x5de7,
+  [0x08da] = 0x5df7, [0x08db] = 0x5e78, [0x08dc] = 0x5e83, [0x08dd] = 0x5e9a,
+  [0x08de] = 0x5eb7, [0x08df] = 0x5f18, [0x08e0] = 0x6052, [0x08e1] = 0x614c,
+  [0x08e2] = 0x6297, [0x08e3] = 0x62d8, [0x08e4] = 0x63a7, [0x08e5] = 0x653b,
+  [0x08e6] = 0x6602, [0x08e7] = 0x6643, [0x08e8] = 0x66f4, [0x08e9] = 0x676d,
+  [0x08ea] = 0x6821, [0x08eb] = 0x6897, [0x08ec] = 0x69cb, [0x08ed] = 0x6c5f,
+  [0x08ee] = 0x6d2a, [0x08ef] = 0x6d69, [0x08f0] = 0x6e2f, [0x08f1] = 0x6e9d,
+  [0x08f2] = 0x7532, [0x08f3] = 0x7687, [0x08f4] = 0x786c, [0x08f5] = 0x7a3f,
+  [0x08f6] = 0x7ce0, [0x08f7] = 0x7d05, [0x08f8] = 0x7d18, [0x08f9] = 0x7d5e,
+  [0x08fa] = 0x7db1, [0x08fb] = 0x8015, [0x08fc] = 0x8003, [0x08fd] = 0x80af,
+  [0x08fe] = 0x80b1, [0x08ff] = 0x8154, [0x0900] = 0x818f, [0x0901] = 0x822a,
+  [0x0902] = 0x8352, [0x0903] = 0x884c, [0x0904] = 0x8861, [0x0905] = 0x8b1b,
+  [0x0906] = 0x8ca2, [0x0907] = 0x8cfc, [0x0908] = 0x90ca, [0x0909] = 0x9175,
+  [0x090a] = 0x9271, [0x090b] = 0x783f, [0x090c] = 0x92fc, [0x090d] = 0x95a4,
+  [0x090e] = 0x964d, [0x090f] = 0x9805, [0x0910] = 0x9999, [0x0911] = 0x9ad8,
+  [0x0912] = 0x9d3b, [0x0913] = 0x525b, [0x0914] = 0x52ab, [0x0915] = 0x53f7,
+  [0x0916] = 0x5408, [0x0917] = 0x58d5, [0x0918] = 0x62f7, [0x0919] = 0x6fe0,
+  [0x091a] = 0x8c6a, [0x091b] = 0x8f5f, [0x091c] = 0x9eb9, [0x091d] = 0x514b,
+  [0x091e] = 0x523b, [0x091f] = 0x544a, [0x0920] = 0x56fd, [0x0921] = 0x7a40,
+  [0x0922] = 0x9177, [0x0923] = 0x9d60, [0x0924] = 0x9ed2, [0x0925] = 0x7344,
+  [0x0926] = 0x6f09, [0x0927] = 0x8170, [0x0928] = 0x7511, [0x0929] = 0x5ffd,
+  [0x092a] = 0x60da, [0x092b] = 0x9aa8, [0x092c] = 0x72db, [0x092d] = 0x8fbc,
+  [0x092e] = 0x6b64, [0x092f] = 0x9803, [0x0930] = 0x4eca, [0x0931] = 0x56f0,
+  [0x0932] = 0x5764, [0x0933] = 0x58be, [0x0934] = 0x5a5a, [0x0935] = 0x6068,
+  [0x0936] = 0x61c7, [0x0937] = 0x660f, [0x0938] = 0x6606, [0x0939] = 0x6839,
+  [0x093a] = 0x68b1, [0x093b] = 0x6df7, [0x093c] = 0x75d5, [0x093d] = 0x7d3a,
+  [0x093e] = 0x826e, [0x093f] = 0x9b42, [0x0940] = 0x4e9b, [0x0941] = 0x4f50,
+  [0x0942] = 0x53c9, [0x0943] = 0x5506, [0x0944] = 0x5d6f, [0x0945] = 0x5de6,
+  [0x0946] = 0x5dee, [0x0947] = 0x67fb, [0x0948] = 0x6c99, [0x0949] = 0x7473,
+  [0x094a] = 0x7802, [0x094b] = 0x8a50, [0x094c] = 0x9396, [0x094d] = 0x88df,
+  [0x094e] = 0x5750, [0x094f] = 0x5ea7, [0x0950] = 0x632b, [0x0951] = 0x50b5,
+  [0x0952] = 0x50ac, [0x0953] = 0x518d, [0x0954] = 0x6700, [0x0955] = 0x54c9,
+  [0x0956] = 0x585e, [0x0957] = 0x59bb, [0x0958] = 0x5bb0, [0x0959] = 0x5f69,
+  [0x095a] = 0x624d, [0x095b] = 0x63a1, [0x095c] = 0x683d, [0x095d] = 0x6b73,
+  [0x095e] = 0x6e08, [0x095f] = 0x707d, [0x0960] = 0x91c7, [0x0961] = 0x7280,
+  [0x0962] = 0x7815, [0x0963] = 0x7826, [0x0964] = 0x796d, [0x0965] = 0x658e,
+  [0x0966] = 0x7d30, [0x0967] = 0x83dc, [0x0968] = 0x88c1, [0x0969] = 0x8f09,
+  [0x096a] = 0x969b, [0x096b] = 0x5264, [0x096c] = 0x5728, [0x096d] = 0x6750,
+  [0x096e] = 0x7f6a, [0x096f] = 0x8ca1, [0x0970] = 0x51b4, [0x0971] = 0x5742,
+  [0x0972] = 0x962a, [0x0973] = 0x583a, [0x0974] = 0x698a, [0x0975] = 0x80b4,
+  [0x0976] = 0x54b2, [0x0977] = 0x5d0e, [0x0978] = 0x57fc, [0x0979] = 0x7895,
+  [0x097a] = 0x9dfa, [0x097b] = 0x4f5c, [0x097c] = 0x524a, [0x097d] = 0x548b,
+  [0x097e] = 0x643e, [0x097f] = 0x6628, [0x0980] = 0x6714, [0x0981] = 0x67f5,
+  [0x0982] = 0x7a84, [0x0983] = 0x7b56, [0x0984] = 0x7d22, [0x0985] = 0x932f,
+  [0x0986] = 0x685c, [0x0987] = 0x9bad, [0x0988] = 0x7b39, [0x0989] = 0x5319,
+  [0x098a] = 0x518a, [0x098b] = 0x5237, [0x098c] = 0x5bdf, [0x098d] = 0x62f6,
+  [0x098e] = 0x64ae, [0x098f] = 0x64e6, [0x0990] = 0x672d, [0x0991] = 0x6bba,
+  [0x0992] = 0x85a9, [0x0993] = 0x96d1, [0x0994] = 0x7690, [0x0995] = 0x9bd6,
+  [0x0996] = 0x634c, [0x0997] = 0x9306, [0x0998] = 0x9bab, [0x0999] = 0x76bf,
+  [0x099a] = 0x6652, [0x099b] = 0x4e09, [0x099c] = 0x5098, [0x099d] = 0x53c2,
+  [0x099e] = 0x5c71, [0x099f] = 0x60e8, [0x09a0] = 0x6492, [0x09a1] = 0x6563,
+  [0x09a2] = 0x685f, [0x09a3] = 0x71e6, [0x09a4] = 0x73ca, [0x09a5] = 0x7523,
+  [0x09a6] = 0x7b97, [0x09a7] = 0x7e82, [0x09a8] = 0x8695, [0x09a9] = 0x8b83,
+  [0x09aa] = 0x8cdb, [0x09ab] = 0x9178, [0x09ac] = 0x9910, [0x09ad] = 0x65ac,
+  [0x09ae] = 0x66ab, [0x09af] = 0x6b8b, [0x09b0] = 0x4ed5, [0x09b1] = 0x4ed4,
+  [0x09b2] = 0x4f3a, [0x09b3] = 0x4f7f, [0x09b4] = 0x523a, [0x09b5] = 0x53f8,
+  [0x09b6] = 0x53f2, [0x09b7] = 0x55e3, [0x09b8] = 0x56db, [0x09b9] = 0x58eb,
+  [0x09ba] = 0x59cb, [0x09bb] = 0x59c9, [0x09bc] = 0x59ff, [0x09bd] = 0x5b50,
+  [0x09be] = 0x5c4d, [0x09bf] = 0x5e02, [0x09c0] = 0x5e2b, [0x09c1] = 0x5fd7,
+  [0x09c2] = 0x601d, [0x09c3] = 0x6307, [0x09c4] = 0x652f, [0x09c5] = 0x5b5c,
+  [0x09c6] = 0x65af, [0x09c7] = 0x65bd, [0x09c8] = 0x65e8, [0x09c9] = 0x679d,
+  [0x09ca] = 0x6b62, [0x09cb] = 0x6b7b, [0x09cc] = 0x6c0f, [0x09cd] = 0x7345,
+  [0x09ce] = 0x7949, [0x09cf] = 0x79c1, [0x09d0] = 0x7cf8, [0x09d1] = 0x7d19,
+  [0x09d2] = 0x7d2b, [0x09d3] = 0x80a2, [0x09d4] = 0x8102, [0x09d5] = 0x81f3,
+  [0x09d6] = 0x8996, [0x09d7] = 0x8a5e, [0x09d8] = 0x8a69, [0x09d9] = 0x8a66,
+  [0x09da] = 0x8a8c, [0x09db] = 0x8aee, [0x09dc] = 0x8cc7, [0x09dd] = 0x8cdc,
+  [0x09de] = 0x96cc, [0x09df] = 0x98fc, [0x09e0] = 0x6b6f, [0x09e1] = 0x4e8b,
+  [0x09e2] = 0x4f3c, [0x09e3] = 0x4f8d, [0x09e4] = 0x5150, [0x09e5] = 0x5b57,
+  [0x09e6] = 0x5bfa, [0x09e7] = 0x6148, [0x09e8] = 0x6301, [0x09e9] = 0x6642,
+  [0x09ea] = 0x6b21, [0x09eb] = 0x6ecb, [0x09ec] = 0x6cbb, [0x09ed] = 0x723e,
+  [0x09ee] = 0x74bd, [0x09ef] = 0x75d4, [0x09f0] = 0x78c1, [0x09f1] = 0x793a,
+  [0x09f2] = 0x800c, [0x09f3] = 0x8033, [0x09f4] = 0x81ea, [0x09f5] = 0x8494,
+  [0x09f6] = 0x8f9e, [0x09f7] = 0x6c50, [0x09f8] = 0x9e7f, [0x09f9] = 0x5f0f,
+  [0x09fa] = 0x8b58, [0x09fb] = 0x9d2b, [0x09fc] = 0x7afa, [0x09fd] = 0x8ef8,
+  [0x09fe] = 0x5b8d, [0x09ff] = 0x96eb, [0x0a00] = 0x4e03, [0x0a01] = 0x53f1,
+  [0x0a02] = 0x57f7, [0x0a03] = 0x5931, [0x0a04] = 0x5ac9, [0x0a05] = 0x5ba4,
+  [0x0a06] = 0x6089, [0x0a07] = 0x6e7f, [0x0a08] = 0x6f06, [0x0a09] = 0x75be,
+  [0x0a0a] = 0x8cea, [0x0a0b] = 0x5b9f, [0x0a0c] = 0x8500, [0x0a0d] = 0x7be0,
+  [0x0a0e] = 0x5072, [0x0a0f] = 0x67f4, [0x0a10] = 0x829d, [0x0a11] = 0x5c61,
+  [0x0a12] = 0x854a, [0x0a13] = 0x7e1e, [0x0a14] = 0x820e, [0x0a15] = 0x5199,
+  [0x0a16] = 0x5c04, [0x0a17] = 0x6368, [0x0a18] = 0x8d66, [0x0a19] = 0x659c,
+  [0x0a1a] = 0x716e, [0x0a1b] = 0x793e, [0x0a1c] = 0x7d17, [0x0a1d] = 0x8005,
+  [0x0a1e] = 0x8b1d, [0x0a1f] = 0x8eca, [0x0a20] = 0x906e, [0x0a21] = 0x86c7,
+  [0x0a22] = 0x90aa, [0x0a23] = 0x501f, [0x0a24] = 0x52fa, [0x0a25] = 0x5c3a,
+  [0x0a26] = 0x6753, [0x0a27] = 0x707c, [0x0a28] = 0x7235, [0x0a29] = 0x914c,
+  [0x0a2a] = 0x91c8, [0x0a2b] = 0x932b, [0x0a2c] = 0x82e5, [0x0a2d] = 0x5bc2,
+  [0x0a2e] = 0x5f31, [0x0a2f] = 0x60f9, [0x0a30] = 0x4e3b, [0x0a31] = 0x53d6,
+  [0x0a32] = 0x5b88, [0x0a33] = 0x624b, [0x0a34] = 0x6731, [0x0a35] = 0x6b8a,
+  [0x0a36] = 0x72e9, [0x0a37] = 0x73e0, [0x0a38] = 0x7a2e, [0x0a39] = 0x816b,
+  [0x0a3a] = 0x8da3, [0x0a3b] = 0x9152, [0x0a3c] = 0x9996, [0x0a3d] = 0x5112,
+  [0x0a3e] = 0x53d7, [0x0a3f] = 0x546a, [0x0a40] = 0x5bff, [0x0a41] = 0x6388,
+  [0x0a42] = 0x6a39, [0x0a43] = 0x7dac, [0x0a44] = 0x9700, [0x0a45] = 0x56da,
+  [0x0a46] = 0x53ce, [0x0a47] = 0x5468, [0x0a48] = 0x5b97, [0x0a49] = 0x5c31,
+  [0x0a4a] = 0x5dde, [0x0a4b] = 0x4fee, [0x0a4c] = 0x6101, [0x0a4d] = 0x62fe,
+  [0x0a4e] = 0x6d32, [0x0a4f] = 0x79c0, [0x0a50] = 0x79cb, [0x0a51] = 0x7d42,
+  [0x0a52] = 0x7e4d, [0x0a53] = 0x7fd2, [0x0a54] = 0x81ed, [0x0a55] = 0x821f,
+  [0x0a56] = 0x8490, [0x0a57] = 0x8846, [0x0a58] = 0x8972, [0x0a59] = 0x8b90,
+  [0x0a5a] = 0x8e74, [0x0a5b] = 0x8f2f, [0x0a5c] = 0x9031, [0x0a5d] = 0x914b,
+  [0x0a5e] = 0x916c, [0x0a5f] = 0x96c6, [0x0a60] = 0x919c, [0x0a61] = 0x4ec0,
+  [0x0a62] = 0x4f4f, [0x0a63] = 0x5145, [0x0a64] = 0x5341, [0x0a65] = 0x5f93,
+  [0x0a66] = 0x620e, [0x0a67] = 0x67d4, [0x0a68] = 0x6c41, [0x0a69] = 0x6e0b,
+  [0x0a6a] = 0x7363, [0x0a6b] = 0x7e26, [0x0a6c] = 0x91cd, [0x0a6d] = 0x9283,
+  [0x0a6e] = 0x53d4, [0x0a6f] = 0x5919, [0x0a70] = 0x5bbf, [0x0a71] = 0x6dd1,
+  [0x0a72] = 0x795d, [0x0a73] = 0x7e2e, [0x0a74] = 0x7c9b, [0x0a75] = 0x587e,
+  [0x0a76] = 0x719f, [0x0a77] = 0x51fa, [0x0a78] = 0x8853, [0x0a79] = 0x8ff0,
+  [0x0a7a] = 0x4fca, [0x0a7b] = 0x5cfb, [0x0a7c] = 0x6625, [0x0a7d] = 0x77ac,
+  [0x0a7e] = 0x7ae3, [0x0a7f] = 0x821c, [0x0a80] = 0x99ff, [0x0a81] = 0x51c6,
+  [0x0a82] = 0x5faa, [0x0a83] = 0x65ec, [0x0a84] = 0x696f, [0x0a85] = 0x6b89,
+  [0x0a86] = 0x6df3, [0x0a87] = 0x6e96, [0x0a88] = 0x6f64, [0x0a89] = 0x76fe,
+  [0x0a8a] = 0x7d14, [0x0a8b] = 0x5de1, [0x0a8c] = 0x9075, [0x0a8d] = 0x9187,
+  [0x0a8e] = 0x9806, [0x0a8f] = 0x51e6, [0x0a90] = 0x521d, [0x0a91] = 0x6240,
+  [0x0a92] = 0x6691, [0x0a93] = 0x66d9, [0x0a94] = 0x6e1a, [0x0a95] = 0x5eb6,
+  [0x0a96] = 0x7dd2, [0x0a97] = 0x7f72, [0x0a98] = 0x66f8, [0x0a99] = 0x85af,
+  [0x0a9a] = 0x85f7, [0x0a9b] = 0x8af8, [0x0a9c] = 0x52a9, [0x0a9d] = 0x53d9,
+  [0x0a9e] = 0x5973, [0x0a9f] = 0x5e8f, [0x0aa0] = 0x5f90, [0x0aa1] = 0x6055,
+  [0x0aa2] = 0x92e4, [0x0aa3] = 0x9664, [0x0aa4] = 0x50b7, [0x0aa5] = 0x511f,
+  [0x0aa6] = 0x52dd, [0x0aa7] = 0x5320, [0x0aa8] = 0x5347, [0x0aa9] = 0x53ec,
+  [0x0aaa] = 0x54e8, [0x0aab] = 0x5546, [0x0aac] = 0x5531, [0x0aad] = 0x5617,
+  [0x0aae] = 0x5968, [0x0aaf] = 0x59be, [0x0ab0] = 0x5a3c, [0x0ab1] = 0x5bb5,
+  [0x0ab2] = 0x5c06, [0x0ab3] = 0x5c0f, [0x0ab4] = 0x5c11, [0x0ab5] = 0x5c1a,
+  [0x0ab6] = 0x5e84, [0x0ab7] = 0x5e8a, [0x0ab8] = 0x5ee0, [0x0ab9] = 0x5f70,
+  [0x0aba] = 0x627f, [0x0abb] = 0x6284, [0x0abc] = 0x62db, [0x0abd] = 0x638c,
+  [0x0abe] = 0x6377, [0x0abf] = 0x6607, [0x0ac0] = 0x660c, [0x0ac1] = 0x662d,
+  [0x0ac2] = 0x6676, [0x0ac3] = 0x677e, [0x0ac4] = 0x68a2, [0x0ac5] = 0x6a1f,
+  [0x0ac6] = 0x6a35, [0x0ac7] = 0x6cbc, [0x0ac8] = 0x6d88, [0x0ac9] = 0x6e09,
+  [0x0aca] = 0x6e58, [0x0acb] = 0x713c, [0x0acc] = 0x7126, [0x0acd] = 0x7167,
+  [0x0ace] = 0x75c7, [0x0acf] = 0x7701, [0x0ad0] = 0x785d, [0x0ad1] = 0x7901,
+  [0x0ad2] = 0x7965, [0x0ad3] = 0x79f0, [0x0ad4] = 0x7ae0, [0x0ad5] = 0x7b11,
+  [0x0ad6] = 0x7ca7, [0x0ad7] = 0x7d39, [0x0ad8] = 0x8096, [0x0ad9] = 0x83d6,
+  [0x0ada] = 0x848b, [0x0adb] = 0x8549, [0x0adc] = 0x885d, [0x0add] = 0x88f3,
+  [0x0ade] = 0x8a1f, [0x0adf] = 0x8a3c, [0x0ae0] = 0x8a54, [0x0ae1] = 0x8a73,
+  [0x0ae2] = 0x8c61, [0x0ae3] = 0x8cde, [0x0ae4] = 0x91a4, [0x0ae5] = 0x9266,
+  [0x0ae6] = 0x937e, [0x0ae7] = 0x9418, [0x0ae8] = 0x969c, [0x0ae9] = 0x9798,
+  [0x0aea] = 0x4e0a, [0x0aeb] = 0x4e08, [0x0aec] = 0x4e1e, [0x0aed] = 0x4e57,
+  [0x0aee] = 0x5197, [0x0aef] = 0x5270, [0x0af0] = 0x57ce, [0x0af1] = 0x5834,
+  [0x0af2] = 0x58cc, [0x0af3] = 0x5b22, [0x0af4] = 0x5e38, [0x0af5] = 0x60c5,
+  [0x0af6] = 0x64fe, [0x0af7] = 0x6761, [0x0af8] = 0x6756, [0x0af9] = 0x6d44,
+  [0x0afa] = 0x72b6, [0x0afb] = 0x7573, [0x0afc] = 0x7a63, [0x0afd] = 0x84b8,
+  [0x0afe] = 0x8b72, [0x0aff] = 0x91b8, [0x0b00] = 0x9320, [0x0b01] = 0x5631,
+  [0x0b02] = 0x57f4, [0x0b03] = 0x98fe, [0x0b04] = 0x62ed, [0x0b05] = 0x690d,
+  [0x0b06] = 0x6b96, [0x0b07] = 0x71ed, [0x0b08] = 0x7e54, [0x0b09] = 0x8077,
+  [0x0b0a] = 0x8272, [0x0b0b] = 0x89e6, [0x0b0c] = 0x98df, [0x0b0d] = 0x8755,
+  [0x0b0e] = 0x8fb1, [0x0b0f] = 0x5c3b, [0x0b10] = 0x4f38, [0x0b11] = 0x4fe1,
+  [0x0b12] = 0x4fb5, [0x0b13] = 0x5507, [0x0b14] = 0x5a20, [0x0b15] = 0x5bdd,
+  [0x0b16] = 0x5be9, [0x0b17] = 0x5fc3, [0x0b18] = 0x614e, [0x0b19] = 0x632f,
+  [0x0b1a] = 0x65b0, [0x0b1b] = 0x664b, [0x0b1c] = 0x68ee, [0x0b1d] = 0x699b,
+  [0x0b1e] = 0x6d78, [0x0b1f] = 0x6df1, [0x0b20] = 0x7533, [0x0b21] = 0x75b9,
+  [0x0b22] = 0x771f, [0x0b23] = 0x795e, [0x0b24] = 0x79e6, [0x0b25] = 0x7d33,
+  [0x0b26] = 0x81e3, [0x0b27] = 0x82af, [0x0b28] = 0x85aa, [0x0b29] = 0x89aa,
+  [0x0b2a] = 0x8a3a, [0x0b2b] = 0x8eab, [0x0b2c] = 0x8f9b, [0x0b2d] = 0x9032,
+  [0x0b2e] = 0x91dd, [0x0b2f] = 0x9707, [0x0b30] = 0x4eba, [0x0b31] = 0x4ec1,
+  [0x0b32] = 0x5203, [0x0b33] = 0x5875, [0x0b34] = 0x58ec, [0x0b35] = 0x5c0b,
+  [0x0b36] = 0x751a, [0x0b37] = 0x5c3d, [0x0b38] = 0x814e, [0x0b39] = 0x8a0a,
+  [0x0b3a] = 0x8fc5, [0x0b3b] = 0x9663, [0x0b3c] = 0x976d, [0x0b3d] = 0x7b25,
+  [0x0b3e] = 0x8acf, [0x0b3f] = 0x9808, [0x0b40] = 0x9162, [0x0b41] = 0x56f3,
+  [0x0b42] = 0x53a8, [0x0b43] = 0x9017, [0x0b44] = 0x5439, [0x0b45] = 0x5782,
+  [0x0b46] = 0x5e25, [0x0b47] = 0x63a8, [0x0b48] = 0x6c34, [0x0b49] = 0x708a,
+  [0x0b4a] = 0x7761, [0x0b4b] = 0x7c8b, [0x0b4c] = 0x7fe0, [0x0b4d] = 0x8870,
+  [0x0b4e] = 0x9042, [0x0b4f] = 0x9154, [0x0b50] = 0x9310, [0x0b51] = 0x9318,
+  [0x0b52] = 0x968f, [0x0b53] = 0x745e, [0x0b54] = 0x9ac4, [0x0b55] = 0x5d07,
+  [0x0b56] = 0x5d69, [0x0b57] = 0x6570, [0x0b58] = 0x67a2, [0x0b59] = 0x8da8,
+  [0x0b5a] = 0x96db, [0x0b5b] = 0x636e, [0x0b5c] = 0x6749, [0x0b5d] = 0x6919,
+  [0x0b5e] = 0x83c5, [0x0b5f] = 0x9817, [0x0b60] = 0x96c0, [0x0b61] = 0x88fe,
+  [0x0b62] = 0x6f84, [0x0b63] = 0x647a, [0x0b64] = 0x5bf8, [0x0b65] = 0x4e16,
+  [0x0b66] = 0x702c, [0x0b67] = 0x755d, [0x0b68] = 0x662f, [0x0b69] = 0x51c4,
+  [0x0b6a] = 0x5236, [0x0b6b] = 0x52e2, [0x0b6c] = 0x59d3, [0x0b6d] = 0x5f81,
+  [0x0b6e] = 0x6027, [0x0b6f] = 0x6210, [0x0b70] = 0x653f, [0x0b71] = 0x6574,
+  [0x0b72] = 0x661f, [0x0b73] = 0x6674, [0x0b74] = 0x68f2, [0x0b75] = 0x6816,
+  [0x0b76] = 0x6b63, [0x0b77] = 0x6e05, [0x0b78] = 0x7272, [0x0b79] = 0x751f,
+  [0x0b7a] = 0x76db, [0x0b7b] = 0x7cbe, [0x0b7c] = 0x8056, [0x0b7d] = 0x58f0,
+  [0x0b7e] = 0x88fd, [0x0b7f] = 0x897f, [0x0b80] = 0x8aa0, [0x0b81] = 0x8a93,
+  [0x0b82] = 0x8acb, [0x0b83] = 0x901d, [0x0b84] = 0x9192, [0x0b85] = 0x9752,
+  [0x0b86] = 0x9759, [0x0b87] = 0x6589, [0x0b88] = 0x7a0e, [0x0b89] = 0x8106,
+  [0x0b8a] = 0x96bb, [0x0b8b] = 0x5e2d, [0x0b8c] = 0x60dc, [0x0b8d] = 0x621a,
+  [0x0b8e] = 0x65a5, [0x0b8f] = 0x6614, [0x0b90] = 0x6790, [0x0b91] = 0x77f3,
+  [0x0b92] = 0x7a4d, [0x0b93] = 0x7c4d, [0x0b94] = 0x7e3e, [0x0b95] = 0x810a,
+  [0x0b96] = 0x8cac, [0x0b97] = 0x8d64, [0x0b98] = 0x8de1, [0x0b99] = 0x8e5f,
+  [0x0b9a] = 0x78a9, [0x0b9b] = 0x5207, [0x0b9c] = 0x62d9, [0x0b9d] = 0x63a5,
+  [0x0b9e] = 0x6442, [0x0b9f] = 0x6298, [0x0ba0] = 0x8a2d, [0x0ba1] = 0x7a83,
+  [0x0ba2] = 0x7bc0, [0x0ba3] = 0x8aac, [0x0ba4] = 0x96ea, [0x0ba5] = 0x7d76,
+  [0x0ba6] = 0x820c, [0x0ba7] = 0x8749, [0x0ba8] = 0x4ed9, [0x0ba9] = 0x5148,
+  [0x0baa] = 0x5343, [0x0bab] = 0x5360, [0x0bac] = 0x5ba3, [0x0bad] = 0x5c02,
+  [0x0bae] = 0x5c16, [0x0baf] = 0x5ddd, [0x0bb0] = 0x6226, [0x0bb1] = 0x6247,
+  [0x0bb2] = 0x64b0, [0x0bb3] = 0x6813, [0x0bb4] = 0x6834, [0x0bb5] = 0x6cc9,
+  [0x0bb6] = 0x6d45, [0x0bb7] = 0x6d17, [0x0bb8] = 0x67d3, [0x0bb9] = 0x6f5c,
+  [0x0bba] = 0x714e, [0x0bbb] = 0x717d, [0x0bbc] = 0x65cb, [0x0bbd] = 0x7a7f,
+  [0x0bbe] = 0x7bad, [0x0bbf] = 0x7dda, [0x0bc0] = 0x7e4a, [0x0bc1] = 0x7fa8,
+  [0x0bc2] = 0x817a, [0x0bc3] = 0x821b, [0x0bc4] = 0x8239, [0x0bc5] = 0x85a6,
+  [0x0bc6] = 0x8a6e, [0x0bc7] = 0x8cce, [0x0bc8] = 0x8df5, [0x0bc9] = 0x9078,
+  [0x0bca] = 0x9077, [0x0bcb] = 0x92ad, [0x0bcc] = 0x9291, [0x0bcd] = 0x9583,
+  [0x0bce] = 0x9bae, [0x0bcf] = 0x524d, [0x0bd0] = 0x5584, [0x0bd1] = 0x6f38,
+  [0x0bd2] = 0x7136, [0x0bd3] = 0x5168, [0x0bd4] = 0x7985, [0x0bd5] = 0x7e55,
+  [0x0bd6] = 0x81b3, [0x0bd7] = 0x7cce, [0x0bd8] = 0x564c, [0x0bd9] = 0x5851,
+  [0x0bda] = 0x5ca8, [0x0bdb] = 0x63aa, [0x0bdc] = 0x66fe, [0x0bdd] = 0x66fd,
+  [0x0bde] = 0x695a, [0x0bdf] = 0x72d9, [0x0be0] = 0x758f, [0x0be1] = 0x758e,
+  [0x0be2] = 0x790e, [0x0be3] = 0x7956, [0x0be4] = 0x79df, [0x0be5] = 0x7c97,
+  [0x0be6] = 0x7d20, [0x0be7] = 0x7d44, [0x0be8] = 0x8607, [0x0be9] = 0x8a34,
+  [0x0bea] = 0x963b, [0x0beb] = 0x9061, [0x0bec] = 0x9f20, [0x0bed] = 0x50e7,
+  [0x0bee] = 0x5275, [0x0bef] = 0x53cc, [0x0bf0] = 0x53e2, [0x0bf1] = 0x5009,
+  [0x0bf2] = 0x55aa, [0x0bf3] = 0x58ee, [0x0bf4] = 0x594f, [0x0bf5] = 0x723d,
+  [0x0bf6] = 0x5b8b, [0x0bf7] = 0x5c64, [0x0bf8] = 0x531d, [0x0bf9] = 0x60e3,
+  [0x0bfa] = 0x60f3, [0x0bfb] = 0x635c, [0x0bfc] = 0x6383, [0x0bfd] = 0x633f,
+  [0x0bfe] = 0x63bb, [0x0bff] = 0x64cd, [0x0c00] = 0x65e9, [0x0c01] = 0x66f9,
+  [0x0c02] = 0x5de3, [0x0c03] = 0x69cd, [0x0c04] = 0x69fd, [0x0c05] = 0x6f15,
+  [0x0c06] = 0x71e5, [0x0c07] = 0x4e89, [0x0c08] = 0x75e9, [0x0c09] = 0x76f8,
+  [0x0c0a] = 0x7a93, [0x0c0b] = 0x7cdf, [0x0c0c] = 0x7dcf, [0x0c0d] = 0x7d9c,
+  [0x0c0e] = 0x8061, [0x0c0f] = 0x8349, [0x0c10] = 0x8358, [0x0c11] = 0x846c,
+  [0x0c12] = 0x84bc, [0x0c13] = 0x85fb, [0x0c14] = 0x88c5, [0x0c15] = 0x8d70,
+  [0x0c16] = 0x9001, [0x0c17] = 0x906d, [0x0c18] = 0x9397, [0x0c19] = 0x971c,
+  [0x0c1a] = 0x9a12, [0x0c1b] = 0x50cf, [0x0c1c] = 0x5897, [0x0c1d] = 0x618e,
+  [0x0c1e] = 0x81d3, [0x0c1f] = 0x8535, [0x0c20] = 0x8d08, [0x0c21] = 0x9020,
+  [0x0c22] = 0x4fc3, [0x0c23] = 0x5074, [0x0c24] = 0x5247, [0x0c25] = 0x5373,
+  [0x0c26] = 0x606f, [0x0c27] = 0x6349, [0x0c28] = 0x675f, [0x0c29] = 0x6e2c,
+  [0x0c2a] = 0x8db3, [0x0c2b] = 0x901f, [0x0c2c] = 0x4fd7, [0x0c2d] = 0x5c5e,
+  [0x0c2e] = 0x8cca, [0x0c2f] = 0x65cf, [0x0c30] = 0x7d9a, [0x0c31] = 0x5352,
+  [0x0c32] = 0x8896, [0x0c33] = 0x5176, [0x0c34] = 0x63c3, [0x0c35] = 0x5b58,
+  [0x0c36] = 0x5b6b, [0x0c37] = 0x5c0a, [0x0c38] = 0x640d, [0x0c39] = 0x6751,
+  [0x0c3a] = 0x905c, [0x0c3b] = 0x4ed6, [0x0c3c] = 0x591a, [0x0c3d] = 0x592a,
+  [0x0c3e] = 0x6c70, [0x0c3f] = 0x8a51, [0x0c40] = 0x553e, [0x0c41] = 0x5815,
+  [0x0c42] = 0x59a5, [0x0c43] = 0x60f0, [0x0c44] = 0x6253, [0x0c45] = 0x67c1,
+  [0x0c46] = 0x8235, [0x0c47] = 0x6955, [0x0c48] = 0x9640, [0x0c49] = 0x99c4,
+  [0x0c4a] = 0x9a28, [0x0c4b] = 0x4f53, [0x0c4c] = 0x5806, [0x0c4d] = 0x5bfe,
+  [0x0c4e] = 0x8010, [0x0c4f] = 0x5cb1, [0x0c50] = 0x5e2f, [0x0c51] = 0x5f85,
+  [0x0c52] = 0x6020, [0x0c53] = 0x614b, [0x0c54] = 0x6234, [0x0c55] = 0x66ff,
+  [0x0c56] = 0x6cf0, [0x0c57] = 0x6ede, [0x0c58] = 0x80ce, [0x0c59] = 0x817f,
+  [0x0c5a] = 0x82d4, [0x0c5b] = 0x888b, [0x0c5c] = 0x8cb8, [0x0c5d] = 0x9000,
+  [0x0c5e] = 0x902e, [0x0c5f] = 0x968a, [0x0c60] = 0x9edb, [0x0c61] = 0x9bdb,
+  [0x0c62] = 0x4ee3, [0x0c63] = 0x53f0, [0x0c64] = 0x5927, [0x0c65] = 0x7b2c,
+  [0x0c66] = 0x918d, [0x0c67] = 0x984c, [0x0c68] = 0x9df9, [0x0c69] = 0x6edd,
+  [0x0c6a] = 0x7027, [0x0c6b] = 0x5353, [0x0c6c] = 0x5544, [0x0c6d] = 0x5b85,
+  [0x0c6e] = 0x6258, [0x0c6f] = 0x629e, [0x0c70] = 0x62d3, [0x0c71] = 0x6ca2,
+  [0x0c72] = 0x6fef, [0x0c73] = 0x7422, [0x0c74] = 0x8a17, [0x0c75] = 0x9438,
+  [0x0c76] = 0x6fc1, [0x0c77] = 0x8afe, [0x0c78] = 0x8338, [0x0c79] = 0x51e7,
+  [0x0c7a] = 0x86f8, [0x0c7b] = 0x53ea, [0x0c7c] = 0x53e9, [0x0c7d] = 0x4f46,
+  [0x0c7e] = 0x9054, [0x0c7f] = 0x8fb0, [0x0c80] = 0x596a, [0x0c81] = 0x8131,
+  [0x0c82] = 0x5dfd, [0x0c83] = 0x7aea, [0x0c84] = 0x8fbf, [0x0c85] = 0x68da,
+  [0x0c86] = 0x8c37, [0x0c87] = 0x72f8, [0x0c88] = 0x9c48, [0x0c89] = 0x6a3d,
+  [0x0c8a] = 0x8ab0, [0x0c8b] = 0x4e39, [0x0c8c] = 0x5358, [0x0c8d] = 0x5606,
+  [0x0c8e] = 0x5766, [0x0c8f] = 0x62c5, [0x0c90] = 0x63a2, [0x0c91] = 0x65e6,
+  [0x0c92] = 0x6b4e, [0x0c93] = 0x6de1, [0x0c94] = 0x6e5b, [0x0c95] = 0x70ad,
+  [0x0c96] = 0x77ed, [0x0c97] = 0x7aef, [0x0c98] = 0x7baa, [0x0c99] = 0x7dbb,
+  [0x0c9a] = 0x803d, [0x0c9b] = 0x80c6, [0x0c9c] = 0x86cb, [0x0c9d] = 0x8a95,
+  [0x0c9e] = 0x935b, [0x0c9f] = 0x56e3, [0x0ca0] = 0x58c7, [0x0ca1] = 0x5f3e,
+  [0x0ca2] = 0x65ad, [0x0ca3] = 0x6696, [0x0ca4] = 0x6a80, [0x0ca5] = 0x6bb5,
+  [0x0ca6] = 0x7537, [0x0ca7] = 0x8ac7, [0x0ca8] = 0x5024, [0x0ca9] = 0x77e5,
+  [0x0caa] = 0x5730, [0x0cab] = 0x5f1b, [0x0cac] = 0x6065, [0x0cad] = 0x667a,
+  [0x0cae] = 0x6c60, [0x0caf] = 0x75f4, [0x0cb0] = 0x7a1a, [0x0cb1] = 0x7f6e,
+  [0x0cb2] = 0x81f4, [0x0cb3] = 0x8718, [0x0cb4] = 0x9045, [0x0cb5] = 0x99b3,
+  [0x0cb6] = 0x7bc9, [0x0cb7] = 0x755c, [0x0cb8] = 0x7af9, [0x0cb9] = 0x7b51,
+  [0x0cba] = 0x84c4, [0x0cbb] = 0x9010, [0x0cbc] = 0x79e9, [0x0cbd] = 0x7a92,
+  [0x0cbe] = 0x8336, [0x0cbf] = 0x5ae1, [0x0cc0] = 0x7740, [0x0cc1] = 0x4e2d,
+  [0x0cc2] = 0x4ef2, [0x0cc3] = 0x5b99, [0x0cc4] = 0x5fe0, [0x0cc5] = 0x62bd,
+  [0x0cc6] = 0x663c, [0x0cc7] = 0x67f1, [0x0cc8] = 0x6ce8, [0x0cc9] = 0x866b,
+  [0x0cca] = 0x8877, [0x0ccb] = 0x8a3b, [0x0ccc] = 0x914e, [0x0ccd] = 0x92f3,
+  [0x0cce] = 0x99d0, [0x0ccf] = 0x6a17, [0x0cd0] = 0x7026, [0x0cd1] = 0x732a,
+  [0x0cd2] = 0x82e7, [0x0cd3] = 0x8457, [0x0cd4] = 0x8caf, [0x0cd5] = 0x4e01,
+  [0x0cd6] = 0x5146, [0x0cd7] = 0x51cb, [0x0cd8] = 0x558b, [0x0cd9] = 0x5bf5,
+  [0x0cda] = 0x5e16, [0x0cdb] = 0x5e33, [0x0cdc] = 0x5e81, [0x0cdd] = 0x5f14,
+  [0x0cde] = 0x5f35, [0x0cdf] = 0x5f6b, [0x0ce0] = 0x5fb4, [0x0ce1] = 0x61f2,
+  [0x0ce2] = 0x6311, [0x0ce3] = 0x66a2, [0x0ce4] = 0x671d, [0x0ce5] = 0x6f6e,
+  [0x0ce6] = 0x7252, [0x0ce7] = 0x753a, [0x0ce8] = 0x773a, [0x0ce9] = 0x8074,
+  [0x0cea] = 0x8139, [0x0ceb] = 0x8178, [0x0cec] = 0x8776, [0x0ced] = 0x8abf,
+  [0x0cee] = 0x8adc, [0x0cef] = 0x8d85, [0x0cf0] = 0x8df3, [0x0cf1] = 0x929a,
+  [0x0cf2] = 0x9577, [0x0cf3] = 0x9802, [0x0cf4] = 0x9ce5, [0x0cf5] = 0x52c5,
+  [0x0cf6] = 0x6357, [0x0cf7] = 0x76f4, [0x0cf8] = 0x6715, [0x0cf9] = 0x6c88,
+  [0x0cfa] = 0x73cd, [0x0cfb] = 0x8cc3, [0x0cfc] = 0x93ae, [0x0cfd] = 0x9673,
+  [0x0cfe] = 0x6d25, [0x0cff] = 0x589c, [0x0d00] = 0x690e, [0x0d01] = 0x69cc,
+  [0x0d02] = 0x8ffd, [0x0d03] = 0x939a, [0x0d04] = 0x75db, [0x0d05] = 0x901a,
+  [0x0d06] = 0x585a, [0x0d07] = 0x6802, [0x0d08] = 0x63b4, [0x0d09] = 0x69fb,
+  [0x0d0a] = 0x4f43, [0x0d0b] = 0x6f2c, [0x0d0c] = 0x67d8, [0x0d0d] = 0x8fbb,
+  [0x0d0e] = 0x8526, [0x0d0f] = 0x7db4, [0x0d10] = 0x9354, [0x0d11] = 0x693f,
+  [0x0d12] = 0x6f70, [0x0d13] = 0x576a, [0x0d14] = 0x58f7, [0x0d15] = 0x5b2c,
+  [0x0d16] = 0x7d2c, [0x0d17] = 0x722a, [0x0d18] = 0x540a, [0x0d19] = 0x91e3,
+  [0x0d1a] = 0x9db4, [0x0d1b] = 0x4ead, [0x0d1c] = 0x4f4e, [0x0d1d] = 0x505c,
+  [0x0d1e] = 0x5075, [0x0d1f] = 0x5243, [0x0d20] = 0x8c9e, [0x0d21] = 0x5448,
+  [0x0d22] = 0x5824, [0x0d23] = 0x5b9a, [0x0d24] = 0x5e1d, [0x0d25] = 0x5e95,
+  [0x0d26] = 0x5ead, [0x0d27] = 0x5ef7, [0x0d28] = 0x5f1f, [0x0d29] = 0x608c,
+  [0x0d2a] = 0x62b5, [0x0d2b] = 0x633a, [0x0d2c] = 0x63d0, [0x0d2d] = 0x68af,
+  [0x0d2e] = 0x6c40, [0x0d2f] = 0x7887, [0x0d30] = 0x798e, [0x0d31] = 0x7a0b,
+  [0x0d32] = 0x7de0, [0x0d33] = 0x8247, [0x0d34] = 0x8a02, [0x0d35] = 0x8ae6,
+  [0x0d36] = 0x8e44, [0x0d37] = 0x9013, [0x0d38] = 0x90b8, [0x0d39] = 0x912d,
+  [0x0d3a] = 0x91d8, [0x0d3b] = 0x9f0e, [0x0d3c] = 0x6ce5, [0x0d3d] = 0x6458,
+  [0x0d3e] = 0x64e2, [0x0d3f] = 0x6575, [0x0d40] = 0x6ef4, [0x0d41] = 0x7684,
+  [0x0d42] = 0x7b1b, [0x0d43] = 0x9069, [0x0d44] = 0x93d1, [0x0d45] = 0x6eba,
+  [0x0d46] = 0x54f2, [0x0d47] = 0x5fb9, [0x0d48] = 0x64a4, [0x0d49] = 0x8f4d,
+  [0x0d4a] = 0x8fed, [0x0d4b] = 0x9244, [0x0d4c] = 0x5178, [0x0d4d] = 0x586b,
+  [0x0d4e] = 0x5929, [0x0d4f] = 0x5c55, [0x0d50] = 0x5e97, [0x0d51] = 0x6dfb,
+  [0x0d52] = 0x7e8f, [0x0d53] = 0x751c, [0x0d54] = 0x8cbc, [0x0d55] = 0x8ee2,
+  [0x0d56] = 0x985b, [0x0d57] = 0x70b9, [0x0d58] = 0x4f1d, [0x0d59] = 0x6bbf,
+  [0x0d5a] = 0x6fb1, [0x0d5b] = 0x7530, [0x0d5c] = 0x96fb, [0x0d5d] = 0x514e,
+  [0x0d5e] = 0x5410, [0x0d5f] = 0x5835, [0x0d60] = 0x5857, [0x0d61] = 0x59ac,
+  [0x0d62] = 0x5c60, [0x0d63] = 0x5f92, [0x0d64] = 0x6597, [0x0d65] = 0x675c,
+  [0x0d66] = 0x6e21, [0x0d67] = 0x767b, [0x0d68] = 0x83df, [0x0d69] = 0x8ced,
+  [0x0d6a] = 0x9014, [0x0d6b] = 0x90fd, [0x0d6c] = 0x934d, [0x0d6d] = 0x7825,
+  [0x0d6e] = 0x783a, [0x0d6f] = 0x52aa, [0x0d70] = 0x5ea6, [0x0d71] = 0x571f,
+  [0x0d72] = 0x5974, [0x0d73] = 0x6012, [0x0d74] = 0x5012, [0x0d75] = 0x515a,
+  [0x0d76] = 0x51ac, [0x0d77] = 0x51cd, [0x0d78] = 0x5200, [0x0d79] = 0x5510,
+  [0x0d7a] = 0x5854, [0x0d7b] = 0x5858, [0x0d7c] = 0x5957, [0x0d7d] = 0x5b95,
+  [0x0d7e] = 0x5cf6, [0x0d7f] = 0x5d8b, [0x0d80] = 0x60bc, [0x0d81] = 0x6295,
+  [0x0d82] = 0x642d, [0x0d83] = 0x6771, [0x0d84] = 0x6843, [0x0d85] = 0x68bc,
+  [0x0d86] = 0x68df, [0x0d87] = 0x76d7, [0x0d88] = 0x6dd8, [0x0d89] = 0x6e6f,
+  [0x0d8a] = 0x6d9b, [0x0d8b] = 0x706f, [0x0d8c] = 0x71c8, [0x0d8d] = 0x5f53,
+  [0x0d8e] = 0x75d8, [0x0d8f] = 0x7977, [0x0d90] = 0x7b49, [0x0d91] = 0x7b54,
+  [0x0d92] = 0x7b52, [0x0d93] = 0x7cd6, [0x0d94] = 0x7d71, [0x0d95] = 0x5230,
+  [0x0d96] = 0x8463, [0x0d97] = 0x8569, [0x0d98] = 0x85e4, [0x0d99] = 0x8a0e,
+  [0x0d9a] = 0x8b04, [0x0d9b] = 0x8c46, [0x0d9c] = 0x8e0f, [0x0d9d] = 0x9003,
+  [0x0d9e] = 0x900f, [0x0d9f] = 0x9419, [0x0da0] = 0x9676, [0x0da1] = 0x982d,
+  [0x0da2] = 0x9a30, [0x0da3] = 0x95d8, [0x0da4] = 0x50cd, [0x0da5] = 0x52d5,
+  [0x0da6] = 0x540c, [0x0da7] = 0x5802, [0x0da8] = 0x5c0e, [0x0da9] = 0x61a7,
+  [0x0daa] = 0x649e, [0x0dab] = 0x6d1e, [0x0dac] = 0x77b3, [0x0dad] = 0x7ae5,
+  [0x0dae] = 0x80f4, [0x0daf] = 0x8404, [0x0db0] = 0x9053, [0x0db1] = 0x9285,
+  [0x0db2] = 0x5ce0, [0x0db3] = 0x9d07, [0x0db4] = 0x533f, [0x0db5] = 0x5f97,
+  [0x0db6] = 0x5fb3, [0x0db7] = 0x6d9c, [0x0db8] = 0x7279, [0x0db9] = 0x7763,
+  [0x0dba] = 0x79bf, [0x0dbb] = 0x7be4, [0x0dbc] = 0x6bd2, [0x0dbd] = 0x72ec,
+  [0x0dbe] = 0x8aad, [0x0dbf] = 0x6803, [0x0dc0] = 0x6a61, [0x0dc1] = 0x51f8,
+  [0x0dc2] = 0x7a81, [0x0dc3] = 0x6934, [0x0dc4] = 0x5c4a, [0x0dc5] = 0x9cf6,
+  [0x0dc6] = 0x82eb, [0x0dc7] = 0x5bc5, [0x0dc8] = 0x9149, [0x0dc9] = 0x701e,
+  [0x0dca] = 0x5678, [0x0dcb] = 0x5c6f, [0x0dcc] = 0x60c7, [0x0dcd] = 0x6566,
+  [0x0dce] = 0x6c8c, [0x0dcf] = 0x8c5a, [0x0dd0] = 0x9041, [0x0dd1] = 0x9813,
+  [0x0dd2] = 0x5451, [0x0dd3] = 0x66c7, [0x0dd4] = 0x920d, [0x0dd5] = 0x5948,
+  [0x0dd6] = 0x90a3, [0x0dd7] = 0x5185, [0x0dd8] = 0x4e4d, [0x0dd9] = 0x51ea,
+  [0x0dda] = 0x8599, [0x0ddb] = 0x8b0e, [0x0ddc] = 0x7058, [0x0ddd] = 0x637a,
+  [0x0dde] = 0x934b, [0x0ddf] = 0x6962, [0x0de0] = 0x99b4, [0x0de1] = 0x7e04,
+  [0x0de2] = 0x7577, [0x0de3] = 0x5357, [0x0de4] = 0x6960, [0x0de5] = 0x8edf,
+  [0x0de6] = 0x96e3, [0x0de7] = 0x6c5d, [0x0de8] = 0x4e8c, [0x0de9] = 0x5c3c,
+  [0x0dea] = 0x5f10, [0x0deb] = 0x8fe9, [0x0dec] = 0x5302, [0x0ded] = 0x8cd1,
+  [0x0dee] = 0x8089, [0x0def] = 0x8679, [0x0df0] = 0x5eff, [0x0df1] = 0x65e5,
+  [0x0df2] = 0x4e73, [0x0df3] = 0x5165, [0x0df4] = 0x5982, [0x0df5] = 0x5c3f,
+  [0x0df6] = 0x97ee, [0x0df7] = 0x4efb, [0x0df8] = 0x598a, [0x0df9] = 0x5fcd,
+  [0x0dfa] = 0x8a8d, [0x0dfb] = 0x6fe1, [0x0dfc] = 0x79b0, [0x0dfd] = 0x7962,
+  [0x0dfe] = 0x5be7, [0x0dff] = 0x8471, [0x0e00] = 0x732b, [0x0e01] = 0x71b1,
+  [0x0e02] = 0x5e74, [0x0e03] = 0x5ff5, [0x0e04] = 0x637b, [0x0e05] = 0x649a,
+  [0x0e06] = 0x71c3, [0x0e07] = 0x7c98, [0x0e08] = 0x4e43, [0x0e09] = 0x5efc,
+  [0x0e0a] = 0x4e4b, [0x0e0b] = 0x57dc, [0x0e0c] = 0x56a2, [0x0e0d] = 0x60a9,
+  [0x0e0e] = 0x6fc3, [0x0e0f] = 0x7d0d, [0x0e10] = 0x80fd, [0x0e11] = 0x8133,
+  [0x0e12] = 0x81bf, [0x0e13] = 0x8fb2, [0x0e14] = 0x8997, [0x0e15] = 0x86a4,
+  [0x0e16] = 0x5df4, [0x0e17] = 0x628a, [0x0e18] = 0x64ad, [0x0e19] = 0x8987,
+  [0x0e1a] = 0x6777, [0x0e1b] = 0x6ce2, [0x0e1c] = 0x6d3e, [0x0e1d] = 0x7436,
+  [0x0e1e] = 0x7834, [0x0e1f] = 0x5a46, [0x0e20] = 0x7f75, [0x0e21] = 0x82ad,
+  [0x0e22] = 0x99ac, [0x0e23] = 0x4ff3, [0x0e24] = 0x5ec3, [0x0e25] = 0x62dd,
+  [0x0e26] = 0x6392, [0x0e27] = 0x6557, [0x0e28] = 0x676f, [0x0e29] = 0x76c3,
+  [0x0e2a] = 0x724c, [0x0e2b] = 0x80cc, [0x0e2c] = 0x80ba, [0x0e2d] = 0x8f29,
+  [0x0e2e] = 0x914d, [0x0e2f] = 0x500d, [0x0e30] = 0x57f9, [0x0e31] = 0x5a92,
+  [0x0e32] = 0x6885, [0x0e33] = 0x6973, [0x0e34] = 0x7164, [0x0e35] = 0x72fd,
+  [0x0e36] = 0x8cb7, [0x0e37] = 0x58f2, [0x0e38] = 0x8ce0, [0x0e39] = 0x966a,
+  [0x0e3a] = 0x9019, [0x0e3b] = 0x877f, [0x0e3c] = 0x79e4, [0x0e3d] = 0x77e7,
+  [0x0e3e] = 0x8429, [0x0e3f] = 0x4f2f, [0x0e40] = 0x5265, [0x0e41] = 0x535a,
+  [0x0e42] = 0x62cd, [0x0e43] = 0x67cf, [0x0e44] = 0x6cca, [0x0e45] = 0x767d,
+  [0x0e46] = 0x7b94, [0x0e47] = 0x7c95, [0x0e48] = 0x8236, [0x0e49] = 0x8584,
+  [0x0e4a] = 0x8feb, [0x0e4b] = 0x66dd, [0x0e4c] = 0x6f20, [0x0e4d] = 0x7206,
+  [0x0e4e] = 0x7e1b, [0x0e4f] = 0x83ab, [0x0e50] = 0x99c1, [0x0e51] = 0x9ea6,
+  [0x0e52] = 0x51fd, [0x0e53] = 0x7bb1, [0x0e54] = 0x7872, [0x0e55] = 0x7bb8,
+  [0x0e56] = 0x8087, [0x0e57] = 0x7b48, [0x0e58] = 0x6ae8, [0x0e59] = 0x5e61,
+  [0x0e5a] = 0x808c, [0x0e5b] = 0x7551, [0x0e5c] = 0x7560, [0x0e5d] = 0x516b,
+  [0x0e5e] = 0x9262, [0x0e5f] = 0x6e8c, [0x0e60] = 0x767a, [0x0e61] = 0x9197,
+  [0x0e62] = 0x9aea, [0x0e63] = 0x4f10, [0x0e64] = 0x7f70, [0x0e65] = 0x629c,
+  [0x0e66] = 0x7b4f, [0x0e67] = 0x95a5, [0x0e68] = 0x9ce9, [0x0e69] = 0x567a,
+  [0x0e6a] = 0x5859, [0x0e6b] = 0x86e4, [0x0e6c] = 0x96bc, [0x0e6d] = 0x4f34,
+  [0x0e6e] = 0x5224, [0x0e6f] = 0x534a, [0x0e70] = 0x53cd, [0x0e71] = 0x53db,
+  [0x0e72] = 0x5e06, [0x0e73] = 0x642c, [0x0e74] = 0x6591, [0x0e75] = 0x677f,
+  [0x0e76] = 0x6c3e, [0x0e77] = 0x6c4e, [0x0e78] = 0x7248, [0x0e79] = 0x72af,
+  [0x0e7a] = 0x73ed, [0x0e7b] = 0x7554, [0x0e7c] = 0x7e41, [0x0e7d] = 0x822c,
+  [0x0e7e] = 0x85e9, [0x0e7f] = 0x8ca9, [0x0e80] = 0x7bc4, [0x0e81] = 0x91c6,
+  [0x0e82] = 0x7169, [0x0e83] = 0x9812, [0x0e84] = 0x98ef, [0x0e85] = 0x633d,
+  [0x0e86] = 0x6669, [0x0e87] = 0x756a, [0x0e88] = 0x76e4, [0x0e89] = 0x78d0,
+  [0x0e8a] = 0x8543, [0x0e8b] = 0x86ee, [0x0e8c] = 0x532a, [0x0e8d] = 0x5351,
+  [0x0e8e] = 0x5426, [0x0e8f] = 0x5983, [0x0e90] = 0x5e87, [0x0e91] = 0x5f7c,
+  [0x0e92] = 0x60b2, [0x0e93] = 0x6249, [0x0e94] = 0x6279, [0x0e95] = 0x62ab,
+  [0x0e96] = 0x6590, [0x0e97] = 0x6bd4, [0x0e98] = 0x6ccc, [0x0e99] = 0x75b2,
+  [0x0e9a] = 0x76ae, [0x0e9b] = 0x7891, [0x0e9c] = 0x79d8, [0x0e9d] = 0x7dcb,
+  [0x0e9e] = 0x7f77, [0x0e9f] = 0x80a5, [0x0ea0] = 0x88ab, [0x0ea1] = 0x8ab9,
+  [0x0ea2] = 0x8cbb, [0x0ea3] = 0x907f, [0x0ea4] = 0x975e, [0x0ea5] = 0x98db,
+  [0x0ea6] = 0x6a0b, [0x0ea7] = 0x7c38, [0x0ea8] = 0x5099, [0x0ea9] = 0x5c3e,
+  [0x0eaa] = 0x5fae, [0x0eab] = 0x6787, [0x0eac] = 0x6bd8, [0x0ead] = 0x7435,
+  [0x0eae] = 0x7709, [0x0eaf] = 0x7f8e, [0x0eb0] = 0x9f3b, [0x0eb1] = 0x67ca,
+  [0x0eb2] = 0x7a17, [0x0eb3] = 0x5339, [0x0eb4] = 0x758b, [0x0eb5] = 0x9aed,
+  [0x0eb6] = 0x5f66, [0x0eb7] = 0x819d, [0x0eb8] = 0x83f1, [0x0eb9] = 0x8098,
+  [0x0eba] = 0x5f3c, [0x0ebb] = 0x5fc5, [0x0ebc] = 0x7562, [0x0ebd] = 0x7b46,
+  [0x0ebe] = 0x903c, [0x0ebf] = 0x6867, [0x0ec0] = 0x59eb, [0x0ec1] = 0x5a9b,
+  [0x0ec2] = 0x7d10, [0x0ec3] = 0x767e, [0x0ec4] = 0x8b2c, [0x0ec5] = 0x4ff5,
+  [0x0ec6] = 0x5f6a, [0x0ec7] = 0x6a19, [0x0ec8] = 0x6c37, [0x0ec9] = 0x6f02,
+  [0x0eca] = 0x74e2, [0x0ecb] = 0x7968, [0x0ecc] = 0x8868, [0x0ecd] = 0x8a55,
+  [0x0ece] = 0x8c79, [0x0ecf] = 0x5edf, [0x0ed0] = 0x63cf, [0x0ed1] = 0x75c5,
+  [0x0ed2] = 0x79d2, [0x0ed3] = 0x82d7, [0x0ed4] = 0x9328, [0x0ed5] = 0x92f2,
+  [0x0ed6] = 0x849c, [0x0ed7] = 0x86ed, [0x0ed8] = 0x9c2d, [0x0ed9] = 0x54c1,
+  [0x0eda] = 0x5f6c, [0x0edb] = 0x658c, [0x0edc] = 0x6d5c, [0x0edd] = 0x7015,
+  [0x0ede] = 0x8ca7, [0x0edf] = 0x8cd3, [0x0ee0] = 0x983b, [0x0ee1] = 0x654f,
+  [0x0ee2] = 0x74f6, [0x0ee3] = 0x4e0d, [0x0ee4] = 0x4ed8, [0x0ee5] = 0x57e0,
+  [0x0ee6] = 0x592b, [0x0ee7] = 0x5a66, [0x0ee8] = 0x5bcc, [0x0ee9] = 0x51a8,
+  [0x0eea] = 0x5e03, [0x0eeb] = 0x5e9c, [0x0eec] = 0x6016, [0x0eed] = 0x6276,
+  [0x0eee] = 0x6577, [0x0eef] = 0x65a7, [0x0ef0] = 0x666e, [0x0ef1] = 0x6d6e,
+  [0x0ef2] = 0x7236, [0x0ef3] = 0x7b26, [0x0ef4] = 0x8150, [0x0ef5] = 0x819a,
+  [0x0ef6] = 0x8299, [0x0ef7] = 0x8b5c, [0x0ef8] = 0x8ca0, [0x0ef9] = 0x8ce6,
+  [0x0efa] = 0x8d74, [0x0efb] = 0x961c, [0x0efc] = 0x9644, [0x0efd] = 0x4fae,
+  [0x0efe] = 0x64ab, [0x0eff] = 0x6b66, [0x0f00] = 0x821e, [0x0f01] = 0x8461,
+  [0x0f02] = 0x856a, [0x0f03] = 0x90e8, [0x0f04] = 0x5c01, [0x0f05] = 0x6953,
+  [0x0f06] = 0x98a8, [0x0f07] = 0x847a, [0x0f08] = 0x8557, [0x0f09] = 0x4f0f,
+  [0x0f0a] = 0x526f, [0x0f0b] = 0x5fa9, [0x0f0c] = 0x5e45, [0x0f0d] = 0x670d,
+  [0x0f0e] = 0x798f, [0x0f0f] = 0x8179, [0x0f10] = 0x8907, [0x0f11] = 0x8986,
+  [0x0f12] = 0x6df5, [0x0f13] = 0x5f17, [0x0f14] = 0x6255, [0x0f15] = 0x6cb8,
+  [0x0f16] = 0x4ecf, [0x0f17] = 0x7269, [0x0f18] = 0x9b92, [0x0f19] = 0x5206,
+  [0x0f1a] = 0x543b, [0x0f1b] = 0x5674, [0x0f1c] = 0x58b3, [0x0f1d] = 0x61a4,
+  [0x0f1e] = 0x626e, [0x0f1f] = 0x711a, [0x0f20] = 0x596e, [0x0f21] = 0x7c89,
+  [0x0f22] = 0x7cde, [0x0f23] = 0x7d1b, [0x0f24] = 0x96f0, [0x0f25] = 0x6587,
+  [0x0f26] = 0x805e, [0x0f27] = 0x4e19, [0x0f28] = 0x4f75, [0x0f29] = 0x5175,
+  [0x0f2a] = 0x5840, [0x0f2b] = 0x5e63, [0x0f2c] = 0x5e73, [0x0f2d] = 0x5f0a,
+  [0x0f2e] = 0x67c4, [0x0f2f] = 0x4e26, [0x0f30] = 0x853d, [0x0f31] = 0x9589,
+  [0x0f32] = 0x965b, [0x0f33] = 0x7c73, [0x0f34] = 0x9801, [0x0f35] = 0x50fb,
+  [0x0f36] = 0x58c1, [0x0f37] = 0x7656, [0x0f38] = 0x78a7, [0x0f39] = 0x5225,
+  [0x0f3a] = 0x77a5, [0x0f3b] = 0x8511, [0x0f3c] = 0x7b86, [0x0f3d] = 0x504f,
+  [0x0f3e] = 0x5909, [0x0f3f] = 0x7247, [0x0f40] = 0x7bc7, [0x0f41] = 0x7de8,
+  [0x0f42] = 0x8fba, [0x0f43] = 0x8fd4, [0x0f44] = 0x904d, [0x0f45] = 0x4fbf,
+  [0x0f46] = 0x52c9, [0x0f47] = 0x5a29, [0x0f48] = 0x5f01, [0x0f49] = 0x97ad,
+  [0x0f4a] = 0x4fdd, [0x0f4b] = 0x8217, [0x0f4c] = 0x92ea, [0x0f4d] = 0x5703,
+  [0x0f4e] = 0x6355, [0x0f4f] = 0x6b69, [0x0f50] = 0x752b, [0x0f51] = 0x88dc,
+  [0x0f52] = 0x8f14, [0x0f53] = 0x7a42, [0x0f54] = 0x52df, [0x0f55] = 0x5893,
+  [0x0f56] = 0x6155, [0x0f57] = 0x620a, [0x0f58] = 0x66ae, [0x0f59] = 0x6bcd,
+  [0x0f5a] = 0x7c3f, [0x0f5b] = 0x83e9, [0x0f5c] = 0x5023, [0x0f5d] = 0x4ff8,
+  [0x0f5e] = 0x5305, [0x0f5f] = 0x5446, [0x0f60] = 0x5831, [0x0f61] = 0x5949,
+  [0x0f62] = 0x5b9d, [0x0f63] = 0x5cf0, [0x0f64] = 0x5cef, [0x0f65] = 0x5d29,
+  [0x0f66] = 0x5e96, [0x0f67] = 0x62b1, [0x0f68] = 0x6367, [0x0f69] = 0x653e,
+  [0x0f6a] = 0x65b9, [0x0f6b] = 0x670b, [0x0f6c] = 0x6cd5, [0x0f6d] = 0x6ce1,
+  [0x0f6e] = 0x70f9, [0x0f6f] = 0x7832, [0x0f70] = 0x7e2b, [0x0f71] = 0x80de,
+  [0x0f72] = 0x82b3, [0x0f73] = 0x840c, [0x0f74] = 0x84ec, [0x0f75] = 0x8702,
+  [0x0f76] = 0x8912, [0x0f77] = 0x8a2a, [0x0f78] = 0x8c4a, [0x0f79] = 0x90a6,
+  [0x0f7a] = 0x92d2, [0x0f7b] = 0x98fd, [0x0f7c] = 0x9cf3, [0x0f7d] = 0x9d6c,
+  [0x0f7e] = 0x4e4f, [0x0f7f] = 0x4ea1, [0x0f80] = 0x508d, [0x0f81] = 0x5256,
+  [0x0f82] = 0x574a, [0x0f83] = 0x59a8, [0x0f84] = 0x5e3d, [0x0f85] = 0x5fd8,
+  [0x0f86] = 0x5fd9, [0x0f87] = 0x623f, [0x0f88] = 0x66b4, [0x0f89] = 0x671b,
+  [0x0f8a] = 0x67d0, [0x0f8b] = 0x68d2, [0x0f8c] = 0x5192, [0x0f8d] = 0x7d21,
+  [0x0f8e] = 0x80aa, [0x0f8f] = 0x81a8, [0x0f90] = 0x8b00, [0x0f91] = 0x8c8c,
+  [0x0f92] = 0x8cbf, [0x0f93] = 0x927e, [0x0f94] = 0x9632, [0x0f95] = 0x5420,
+  [0x0f96] = 0x982c, [0x0f97] = 0x5317, [0x0f98] = 0x50d5, [0x0f99] = 0x535c,
+  [0x0f9a] = 0x58a8, [0x0f9b] = 0x64b2, [0x0f9c] = 0x6734, [0x0f9d] = 0x7267,
+  [0x0f9e] = 0x7766, [0x0f9f] = 0x7a46, [0x0fa0] = 0x91e6, [0x0fa1] = 0x52c3,
+  [0x0fa2] = 0x6ca1, [0x0fa3] = 0x6b86, [0x0fa4] = 0x5800, [0x0fa5] = 0x5e4c,
+  [0x0fa6] = 0x5954, [0x0fa7] = 0x672c, [0x0fa8] = 0x7ffb, [0x0fa9] = 0x51e1,
+  [0x0faa] = 0x76c6, [0x0fab] = 0x6469, [0x0fac] = 0x78e8, [0x0fad] = 0x9b54,
+  [0x0fae] = 0x9ebb, [0x0faf] = 0x57cb, [0x0fb0] = 0x59b9, [0x0fb1] = 0x6627,
+  [0x0fb2] = 0x679a, [0x0fb3] = 0x6bce, [0x0fb4] = 0x54e9, [0x0fb5] = 0x69d9,
+  [0x0fb6] = 0x5e55, [0x0fb7] = 0x819c, [0x0fb8] = 0x6795, [0x0fb9] = 0x9baa,
+  [0x0fba] = 0x67fe, [0x0fbb] = 0x9c52, [0x0fbc] = 0x685d, [0x0fbd] = 0x4ea6,
+  [0x0fbe] = 0x4fe3, [0x0fbf] = 0x53c8, [0x0fc0] = 0x62b9, [0x0fc1] = 0x672b,
+  [0x0fc2] = 0x6cab, [0x0fc3] = 0x8fc4, [0x0fc4] = 0x4fad, [0x0fc5] = 0x7e6d,
+  [0x0fc6] = 0x9ebf, [0x0fc7] = 0x4e07, [0x0fc8] = 0x6162, [0x0fc9] = 0x6e80,
+  [0x0fca] = 0x6f2b, [0x0fcb] = 0x8513, [0x0fcc] = 0x5473, [0x0fcd] = 0x672a,
+  [0x0fce] = 0x9b45, [0x0fcf] = 0x5df3, [0x0fd0] = 0x7b95, [0x0fd1] = 0x5cac,
+  [0x0fd2] = 0x5bc6, [0x0fd3] = 0x871c, [0x0fd4] = 0x6e4a, [0x0fd5] = 0x84d1,
+  [0x0fd6] = 0x7a14, [0x0fd7] = 0x8108, [0x0fd8] = 0x5999, [0x0fd9] = 0x7c8d,
+  [0x0fda] = 0x6c11, [0x0fdb] = 0x7720, [0x0fdc] = 0x52d9, [0x0fdd] = 0x5922,
+  [0x0fde] = 0x7121, [0x0fdf] = 0x725f, [0x0fe0] = 0x77db, [0x0fe1] = 0x9727,
+  [0x0fe2] = 0x9d61, [0x0fe3] = 0x690b, [0x0fe4] = 0x5a7f, [0x0fe5] = 0x5a18,
+  [0x0fe6] = 0x51a5, [0x0fe7] = 0x540d, [0x0fe8] = 0x547d, [0x0fe9] = 0x660e,
+  [0x0fea] = 0x76df, [0x0feb] = 0x8ff7, [0x0fec] = 0x9298, [0x0fed] = 0x9cf4,
+  [0x0fee] = 0x59ea, [0x0fef] = 0x725d, [0x0ff0] = 0x6ec5, [0x0ff1] = 0x514d,
+  [0x0ff2] = 0x68c9, [0x0ff3] = 0x7dbf, [0x0ff4] = 0x7dec, [0x0ff5] = 0x9762,
+  [0x0ff6] = 0x9eba, [0x0ff7] = 0x6478, [0x0ff8] = 0x6a21, [0x0ff9] = 0x8302,
+  [0x0ffa] = 0x5984, [0x0ffb] = 0x5b5f, [0x0ffc] = 0x6bdb, [0x0ffd] = 0x731b,
+  [0x0ffe] = 0x76f2, [0x0fff] = 0x7db2, [0x1000] = 0x8017, [0x1001] = 0x8499,
+  [0x1002] = 0x5132, [0x1003] = 0x6728, [0x1004] = 0x9ed9, [0x1005] = 0x76ee,
+  [0x1006] = 0x6762, [0x1007] = 0x52ff, [0x1008] = 0x9905, [0x1009] = 0x5c24,
+  [0x100a] = 0x623b, [0x100b] = 0x7c7e, [0x100c] = 0x8cb0, [0x100d] = 0x554f,
+  [0x100e] = 0x60b6, [0x100f] = 0x7d0b, [0x1010] = 0x9580, [0x1011] = 0x5301,
+  [0x1012] = 0x4e5f, [0x1013] = 0x51b6, [0x1014] = 0x591c, [0x1015] = 0x723a,
+  [0x1016] = 0x8036, [0x1017] = 0x91ce, [0x1018] = 0x5f25, [0x1019] = 0x77e2,
+  [0x101a] = 0x5384, [0x101b] = 0x5f79, [0x101c] = 0x7d04, [0x101d] = 0x85ac,
+  [0x101e] = 0x8a33, [0x101f] = 0x8e8d, [0x1020] = 0x9756, [0x1021] = 0x67f3,
+  [0x1022] = 0x85ae, [0x1023] = 0x9453, [0x1024] = 0x6109, [0x1025] = 0x6108,
+  [0x1026] = 0x6cb9, [0x1027] = 0x7652, [0x1028] = 0x8aed, [0x1029] = 0x8f38,
+  [0x102a] = 0x552f, [0x102b] = 0x4f51, [0x102c] = 0x512a, [0x102d] = 0x52c7,
+  [0x102e] = 0x53cb, [0x102f] = 0x5ba5, [0x1030] = 0x5e7d, [0x1031] = 0x60a0,
+  [0x1032] = 0x6182, [0x1033] = 0x63d6, [0x1034] = 0x6709, [0x1035] = 0x67da,
+  [0x1036] = 0x6e67, [0x1037] = 0x6d8c, [0x1038] = 0x7336, [0x1039] = 0x7337,
+  [0x103a] = 0x7531, [0x103b] = 0x7950, [0x103c] = 0x88d5, [0x103d] = 0x8a98,
+  [0x103e] = 0x904a, [0x103f] = 0x9091, [0x1040] = 0x90f5, [0x1041] = 0x96c4,
+  [0x1042] = 0x878d, [0x1043] = 0x5915, [0x1044] = 0x4e88, [0x1045] = 0x4f59,
+  [0x1046] = 0x4e0e, [0x1047] = 0x8a89, [0x1048] = 0x8f3f, [0x1049] = 0x9810,
+  [0x104a] = 0x50ad, [0x104b] = 0x5e7c, [0x104c] = 0x5996, [0x104d] = 0x5bb9,
+  [0x104e] = 0x5eb8, [0x104f] = 0x63da, [0x1050] = 0x63fa, [0x1051] = 0x64c1,
+  [0x1052] = 0x66dc, [0x1053] = 0x694a, [0x1054] = 0x69d8, [0x1055] = 0x6d0b,
+  [0x1056] = 0x6eb6, [0x1057] = 0x7194, [0x1058] = 0x7528, [0x1059] = 0x7aaf,
+  [0x105a] = 0x7f8a, [0x105b] = 0x8000, [0x105c] = 0x8449, [0x105d] = 0x84c9,
+  [0x105e] = 0x8981, [0x105f] = 0x8b21, [0x1060] = 0x8e0a, [0x1061] = 0x9065,
+  [0x1062] = 0x967d, [0x1063] = 0x990a, [0x1064] = 0x617e, [0x1065] = 0x6291,
+  [0x1066] = 0x6b32, [0x1067] = 0x6c83, [0x1068] = 0x6d74, [0x1069] = 0x7fcc,
+  [0x106a] = 0x7ffc, [0x106b] = 0x6dc0, [0x106c] = 0x7f85, [0x106d] = 0x87ba,
+  [0x106e] = 0x88f8, [0x106f] = 0x6765, [0x1070] = 0x83b1, [0x1071] = 0x983c,
+  [0x1072] = 0x96f7, [0x1073] = 0x6d1b, [0x1074] = 0x7d61, [0x1075] = 0x843d,
+  [0x1076] = 0x916a, [0x1077] = 0x4e71, [0x1078] = 0x5375, [0x1079] = 0x5d50,
+  [0x107a] = 0x6b04, [0x107b] = 0x6feb, [0x107c] = 0x85cd, [0x107d] = 0x862d,
+  [0x107e] = 0x89a7, [0x107f] = 0x5229, [0x1080] = 0x540f, [0x1081] = 0x5c65,
+  [0x1082] = 0x674e, [0x1083] = 0x68a8, [0x1084] = 0x7406, [0x1085] = 0x7483,
+  [0x1086] = 0x75e2, [0x1087] = 0x88cf, [0x1088] = 0x88e1, [0x1089] = 0x91cc,
+  [0x108a] = 0x96e2, [0x108b] = 0x9678, [0x108c] = 0x5f8b, [0x108d] = 0x7387,
+  [0x108e] = 0x7acb, [0x108f] = 0x844e, [0x1090] = 0x63a0, [0x1091] = 0x7565,
+  [0x1092] = 0x5289, [0x1093] = 0x6d41, [0x1094] = 0x6e9c, [0x1095] = 0x7409,
+  [0x1096] = 0x7559, [0x1097] = 0x786b, [0x1098] = 0x7c92, [0x1099] = 0x9686,
+  [0x109a] = 0x7adc, [0x109b] = 0x9f8d, [0x109c] = 0x4fb6, [0x109d] = 0x616e,
+  [0x109e] = 0x65c5, [0x109f] = 0x865c, [0x10a0] = 0x4e86, [0x10a1] = 0x4eae,
+  [0x10a2] = 0x50da, [0x10a3] = 0x4e21, [0x10a4] = 0x51cc, [0x10a5] = 0x5bee,
+  [0x10a6] = 0x6599, [0x10a7] = 0x6881, [0x10a8] = 0x6dbc, [0x10a9] = 0x731f,
+  [0x10aa] = 0x7642, [0x10ab] = 0x77ad, [0x10ac] = 0x7a1c, [0x10ad] = 0x7ce7,
+  [0x10ae] = 0x826f, [0x10af] = 0x8ad2, [0x10b0] = 0x907c, [0x10b1] = 0x91cf,
+  [0x10b2] = 0x9675, [0x10b3] = 0x9818, [0x10b4] = 0x529b, [0x10b5] = 0x7dd1,
+  [0x10b6] = 0x502b, [0x10b7] = 0x5398, [0x10b8] = 0x6797, [0x10b9] = 0x6dcb,
+  [0x10ba] = 0x71d0, [0x10bb] = 0x7433, [0x10bc] = 0x81e8, [0x10bd] = 0x8f2a,
+  [0x10be] = 0x96a3, [0x10bf] = 0x9c57, [0x10c0] = 0x9e9f, [0x10c1] = 0x7460,
+  [0x10c2] = 0x5841, [0x10c3] = 0x6d99, [0x10c4] = 0x7d2f, [0x10c5] = 0x985e,
+  [0x10c6] = 0x4ee4, [0x10c7] = 0x4f36, [0x10c8] = 0x4f8b, [0x10c9] = 0x51b7,
+  [0x10ca] = 0x52b1, [0x10cb] = 0x5dba, [0x10cc] = 0x601c, [0x10cd] = 0x73b2,
+  [0x10ce] = 0x793c, [0x10cf] = 0x82d3, [0x10d0] = 0x9234, [0x10d1] = 0x96b7,
+  [0x10d2] = 0x96f6, [0x10d3] = 0x970a, [0x10d4] = 0x9e97, [0x10d5] = 0x9f62,
+  [0x10d6] = 0x66a6, [0x10d7] = 0x6b74, [0x10d8] = 0x5217, [0x10d9] = 0x52a3,
+  [0x10da] = 0x70c8, [0x10db] = 0x88c2, [0x10dc] = 0x5ec9, [0x10dd] = 0x604b,
+  [0x10de] = 0x6190, [0x10df] = 0x6f23, [0x10e0] = 0x7149, [0x10e1] = 0x7c3e,
+  [0x10e2] = 0x7df4, [0x10e3] = 0x806f, [0x10e4] = 0x84ee, [0x10e5] = 0x9023,
+  [0x10e6] = 0x932c, [0x10e7] = 0x5442, [0x10e8] = 0x9b6f, [0x10e9] = 0x6ad3,
+  [0x10ea] = 0x7089, [0x10eb] = 0x8cc2, [0x10ec] = 0x8def, [0x10ed] = 0x9732,
+  [0x10ee] = 0x52b4, [0x10ef] = 0x5a41, [0x10f0] = 0x5eca, [0x10f1] = 0x5f04,
+  [0x10f2] = 0x6717, [0x10f3] = 0x697c, [0x10f4] = 0x6994, [0x10f5] = 0x6d6a,
+  [0x10f6] = 0x6f0f, [0x10f7] = 0x7262, [0x10f8] = 0x72fc, [0x10f9] = 0x7bed,
+  [0x10fa] = 0x8001, [0x10fb] = 0x807e, [0x10fc] = 0x874b, [0x10fd] = 0x90ce,
+  [0x10fe] = 0x516d, [0x10ff] = 0x9e93, [0x1100] = 0x7984, [0x1101] = 0x808b,
+  [0x1102] = 0x9332, [0x1103] = 0x8ad6, [0x1104] = 0x502d, [0x1105] = 0x548c,
+  [0x1106] = 0x8a71, [0x1107] = 0x6b6a, [0x1108] = 0x8cc4, [0x1109] = 0x8107,
+  [0x110a] = 0x60d1, [0x110b] = 0x67a0, [0x110c] = 0x9df2, [0x110d] = 0x4e99,
+  [0x110e] = 0x4e98, [0x110f] = 0x9c10, [0x1110] = 0x8a6b, [0x1111] = 0x85c1,
+  [0x1112] = 0x8568, [0x1113] = 0x6900, [0x1114] = 0x6e7e, [0x1115] = 0x7897,
+  [0x1116] = 0x8155, [0x1142] = 0x5f0c, [0x1143] = 0x4e10, [0x1144] = 0x4e15,
+  [0x1145] = 0x4e2a, [0x1146] = 0x4e31, [0x1147] = 0x4e36, [0x1148] = 0x4e3c,
+  [0x1149] = 0x4e3f, [0x114a] = 0x4e42, [0x114b] = 0x4e56, [0x114c] = 0x4e58,
+  [0x114d] = 0x4e82, [0x114e] = 0x4e85, [0x114f] = 0x8c6b, [0x1150] = 0x4e8a,
+  [0x1151] = 0x8212, [0x1152] = 0x5f0d, [0x1153] = 0x4e8e, [0x1154] = 0x4e9e,
+  [0x1155] = 0x4e9f, [0x1156] = 0x4ea0, [0x1157] = 0x4ea2, [0x1158] = 0x4eb0,
+  [0x1159] = 0x4eb3, [0x115a] = 0x4eb6, [0x115b] = 0x4ece, [0x115c] = 0x4ecd,
+  [0x115d] = 0x4ec4, [0x115e] = 0x4ec6, [0x115f] = 0x4ec2, [0x1160] = 0x4ed7,
+  [0x1161] = 0x4ede, [0x1162] = 0x4eed, [0x1163] = 0x4edf, [0x1164] = 0x4ef7,
+  [0x1165] = 0x4f09, [0x1166] = 0x4f5a, [0x1167] = 0x4f30, [0x1168] = 0x4f5b,
+  [0x1169] = 0x4f5d, [0x116a] = 0x4f57, [0x116b] = 0x4f47, [0x116c] = 0x4f76,
+  [0x116d] = 0x4f88, [0x116e] = 0x4f8f, [0x116f] = 0x4f98, [0x1170] = 0x4f7b,
+  [0x1171] = 0x4f69, [0x1172] = 0x4f70, [0x1173] = 0x4f91, [0x1174] = 0x4f6f,
+  [0x1175] = 0x4f86, [0x1176] = 0x4f96, [0x1177] = 0x5118, [0x1178] = 0x4fd4,
+  [0x1179] = 0x4fdf, [0x117a] = 0x4fce, [0x117b] = 0x4fd8, [0x117c] = 0x4fdb,
+  [0x117d] = 0x4fd1, [0x117e] = 0x4fda, [0x117f] = 0x4fd0, [0x1180] = 0x4fe4,
+  [0x1181] = 0x4fe5, [0x1182] = 0x501a, [0x1183] = 0x5028, [0x1184] = 0x5014,
+  [0x1185] = 0x502a, [0x1186] = 0x5025, [0x1187] = 0x5005, [0x1188] = 0x4f1c,
+  [0x1189] = 0x4ff6, [0x118a] = 0x5021, [0x118b] = 0x5029, [0x118c] = 0x502c,
+  [0x118d] = 0x4ffe, [0x118e] = 0x4fef, [0x118f] = 0x5011, [0x1190] = 0x5006,
+  [0x1191] = 0x5043, [0x1192] = 0x5047, [0x1193] = 0x6703, [0x1194] = 0x5055,
+  [0x1195] = 0x5050, [0x1196] = 0x5048, [0x1197] = 0x505a, [0x1198] = 0x5056,
+  [0x1199] = 0x506c, [0x119a] = 0x5078, [0x119b] = 0x5080, [0x119c] = 0x509a,
+  [0x119d] = 0x5085, [0x119e] = 0x50b4, [0x119f] = 0x50b2, [0x11a0] = 0x50c9,
+  [0x11a1] = 0x50ca, [0x11a2] = 0x50b3, [0x11a3] = 0x50c2, [0x11a4] = 0x50d6,
+  [0x11a5] = 0x50de, [0x11a6] = 0x50e5, [0x11a7] = 0x50ed, [0x11a8] = 0x50e3,
+  [0x11a9] = 0x50ee, [0x11aa] = 0x50f9, [0x11ab] = 0x50f5, [0x11ac] = 0x5109,
+  [0x11ad] = 0x5101, [0x11ae] = 0x5102, [0x11af] = 0x5116, [0x11b0] = 0x5115,
+  [0x11b1] = 0x5114, [0x11b2] = 0x511a, [0x11b3] = 0x5121, [0x11b4] = 0x513a,
+  [0x11b5] = 0x5137, [0x11b6] = 0x513c, [0x11b7] = 0x513b, [0x11b8] = 0x513f,
+  [0x11b9] = 0x5140, [0x11ba] = 0x5152, [0x11bb] = 0x514c, [0x11bc] = 0x5154,
+  [0x11bd] = 0x5162, [0x11be] = 0x7af8, [0x11bf] = 0x5169, [0x11c0] = 0x516a,
+  [0x11c1] = 0x516e, [0x11c2] = 0x5180, [0x11c3] = 0x5182, [0x11c4] = 0x56d8,
+  [0x11c5] = 0x518c, [0x11c6] = 0x5189, [0x11c7] = 0x518f, [0x11c8] = 0x5191,
+  [0x11c9] = 0x5193, [0x11ca] = 0x5195, [0x11cb] = 0x5196, [0x11cc] = 0x51a4,
+  [0x11cd] = 0x51a6, [0x11ce] = 0x51a2, [0x11cf] = 0x51a9, [0x11d0] = 0x51aa,
+  [0x11d1] = 0x51ab, [0x11d2] = 0x51b3, [0x11d3] = 0x51b1, [0x11d4] = 0x51b2,
+  [0x11d5] = 0x51b0, [0x11d6] = 0x51b5, [0x11d7] = 0x51bd, [0x11d8] = 0x51c5,
+  [0x11d9] = 0x51c9, [0x11da] = 0x51db, [0x11db] = 0x51e0, [0x11dc] = 0x8655,
+  [0x11dd] = 0x51e9, [0x11de] = 0x51ed, [0x11df] = 0x51f0, [0x11e0] = 0x51f5,
+  [0x11e1] = 0x51fe, [0x11e2] = 0x5204, [0x11e3] = 0x520b, [0x11e4] = 0x5214,
+  [0x11e5] = 0x520e, [0x11e6] = 0x5227, [0x11e7] = 0x522a, [0x11e8] = 0x522e,
+  [0x11e9] = 0x5233, [0x11ea] = 0x5239, [0x11eb] = 0x524f, [0x11ec] = 0x5244,
+  [0x11ed] = 0x524b, [0x11ee] = 0x524c, [0x11ef] = 0x525e, [0x11f0] = 0x5254,
+  [0x11f1] = 0x526a, [0x11f2] = 0x5274, [0x11f3] = 0x5269, [0x11f4] = 0x5273,
+  [0x11f5] = 0x527f, [0x11f6] = 0x527d, [0x11f7] = 0x528d, [0x11f8] = 0x5294,
+  [0x11f9] = 0x5292, [0x11fa] = 0x5271, [0x11fb] = 0x5288, [0x11fc] = 0x5291,
+  [0x11fd] = 0x8fa8, [0x11fe] = 0x8fa7, [0x11ff] = 0x52ac, [0x1200] = 0x52ad,
+  [0x1201] = 0x52bc, [0x1202] = 0x52b5, [0x1203] = 0x52c1, [0x1204] = 0x52cd,
+  [0x1205] = 0x52d7, [0x1206] = 0x52de, [0x1207] = 0x52e3, [0x1208] = 0x52e6,
+  [0x1209] = 0x98ed, [0x120a] = 0x52e0, [0x120b] = 0x52f3, [0x120c] = 0x52f5,
+  [0x120d] = 0x52f8, [0x120e] = 0x52f9, [0x120f] = 0x5306, [0x1210] = 0x5308,
+  [0x1211] = 0x7538, [0x1212] = 0x530d, [0x1213] = 0x5310, [0x1214] = 0x530f,
+  [0x1215] = 0x5315, [0x1216] = 0x531a, [0x1217] = 0x5323, [0x1218] = 0x532f,
+  [0x1219] = 0x5331, [0x121a] = 0x5333, [0x121b] = 0x5338, [0x121c] = 0x5340,
+  [0x121d] = 0x5346, [0x121e] = 0x5345, [0x121f] = 0x4e17, [0x1220] = 0x5349,
+  [0x1221] = 0x534d, [0x1222] = 0x51d6, [0x1223] = 0x535e, [0x1224] = 0x5369,
+  [0x1225] = 0x536e, [0x1226] = 0x5918, [0x1227] = 0x537b, [0x1228] = 0x5377,
+  [0x1229] = 0x5382, [0x122a] = 0x5396, [0x122b] = 0x53a0, [0x122c] = 0x53a6,
+  [0x122d] = 0x53a5, [0x122e] = 0x53ae, [0x122f] = 0x53b0, [0x1230] = 0x53b6,
+  [0x1231] = 0x53c3, [0x1232] = 0x7c12, [0x1233] = 0x96d9, [0x1234] = 0x53df,
+  [0x1235] = 0x66fc, [0x1236] = 0x71ee, [0x1237] = 0x53ee, [0x1238] = 0x53e8,
+  [0x1239] = 0x53ed, [0x123a] = 0x53fa, [0x123b] = 0x5401, [0x123c] = 0x543d,
+  [0x123d] = 0x5440, [0x123e] = 0x542c, [0x123f] = 0x542d, [0x1240] = 0x543c,
+  [0x1241] = 0x542e, [0x1242] = 0x5436, [0x1243] = 0x5429, [0x1244] = 0x541d,
+  [0x1245] = 0x544e, [0x1246] = 0x548f, [0x1247] = 0x5475, [0x1248] = 0x548e,
+  [0x1249] = 0x545f, [0x124a] = 0x5471, [0x124b] = 0x5477, [0x124c] = 0x5470,
+  [0x124d] = 0x5492, [0x124e] = 0x547b, [0x124f] = 0x5480, [0x1250] = 0x5476,
+  [0x1251] = 0x5484, [0x1252] = 0x5490, [0x1253] = 0x5486, [0x1254] = 0x54c7,
+  [0x1255] = 0x54a2, [0x1256] = 0x54b8, [0x1257] = 0x54a5, [0x1258] = 0x54ac,
+  [0x1259] = 0x54c4, [0x125a] = 0x54c8, [0x125b] = 0x54a8, [0x125c] = 0x54ab,
+  [0x125d] = 0x54c2, [0x125e] = 0x54a4, [0x125f] = 0x54be, [0x1260] = 0x54bc,
+  [0x1261] = 0x54d8, [0x1262] = 0x54e5, [0x1263] = 0x54e6, [0x1264] = 0x550f,
+  [0x1265] = 0x5514, [0x1266] = 0x54fd, [0x1267] = 0x54ee, [0x1268] = 0x54ed,
+  [0x1269] = 0x54fa, [0x126a] = 0x54e2, [0x126b] = 0x5539, [0x126c] = 0x5540,
+  [0x126d] = 0x5563, [0x126e] = 0x554c, [0x126f] = 0x552e, [0x1270] = 0x555c,
+  [0x1271] = 0x5545, [0x1272] = 0x5556, [0x1273] = 0x5557, [0x1274] = 0x5538,
+  [0x1275] = 0x5533, [0x1276] = 0x555d, [0x1277] = 0x5599, [0x1278] = 0x5580,
+  [0x1279] = 0x54af, [0x127a] = 0x558a, [0x127b] = 0x559f, [0x127c] = 0x557b,
+  [0x127d] = 0x557e, [0x127e] = 0x5598, [0x127f] = 0x559e, [0x1280] = 0x55ae,
+  [0x1281] = 0x557c, [0x1282] = 0x5583, [0x1283] = 0x55a9, [0x1284] = 0x5587,
+  [0x1285] = 0x55a8, [0x1286] = 0x55da, [0x1287] = 0x55c5, [0x1288] = 0x55df,
+  [0x1289] = 0x55c4, [0x128a] = 0x55dc, [0x128b] = 0x55e4, [0x128c] = 0x55d4,
+  [0x128d] = 0x5614, [0x128e] = 0x55f7, [0x128f] = 0x5616, [0x1290] = 0x55fe,
+  [0x1291] = 0x55fd, [0x1292] = 0x561b, [0x1293] = 0x55f9, [0x1294] = 0x564e,
+  [0x1295] = 0x5650, [0x1296] = 0x71df, [0x1297] = 0x5634, [0x1298] = 0x5636,
+  [0x1299] = 0x5632, [0x129a] = 0x5638, [0x129b] = 0x566b, [0x129c] = 0x5664,
+  [0x129d] = 0x562f, [0x129e] = 0x566c, [0x129f] = 0x566a, [0x12a0] = 0x5686,
+  [0x12a1] = 0x5680, [0x12a2] = 0x568a, [0x12a3] = 0x56a0, [0x12a4] = 0x5694,
+  [0x12a5] = 0x568f, [0x12a6] = 0x56a5, [0x12a7] = 0x56ae, [0x12a8] = 0x56b6,
+  [0x12a9] = 0x56b4, [0x12aa] = 0x56c2, [0x12ab] = 0x56bc, [0x12ac] = 0x56c1,
+  [0x12ad] = 0x56c3, [0x12ae] = 0x56c0, [0x12af] = 0x56c8, [0x12b0] = 0x56ce,
+  [0x12b1] = 0x56d1, [0x12b2] = 0x56d3, [0x12b3] = 0x56d7, [0x12b4] = 0x56ee,
+  [0x12b5] = 0x56f9, [0x12b6] = 0x5700, [0x12b7] = 0x56ff, [0x12b8] = 0x5704,
+  [0x12b9] = 0x5709, [0x12ba] = 0x5708, [0x12bb] = 0x570b, [0x12bc] = 0x570d,
+  [0x12bd] = 0x5713, [0x12be] = 0x5718, [0x12bf] = 0x5716, [0x12c0] = 0x55c7,
+  [0x12c1] = 0x571c, [0x12c2] = 0x5726, [0x12c3] = 0x5737, [0x12c4] = 0x5738,
+  [0x12c5] = 0x574e, [0x12c6] = 0x573b, [0x12c7] = 0x5740, [0x12c8] = 0x574f,
+  [0x12c9] = 0x5769, [0x12ca] = 0x57c0, [0x12cb] = 0x5788, [0x12cc] = 0x5761,
+  [0x12cd] = 0x577f, [0x12ce] = 0x5789, [0x12cf] = 0x5793, [0x12d0] = 0x57a0,
+  [0x12d1] = 0x57b3, [0x12d2] = 0x57a4, [0x12d3] = 0x57aa, [0x12d4] = 0x57b0,
+  [0x12d5] = 0x57c3, [0x12d6] = 0x57c6, [0x12d7] = 0x57d4, [0x12d8] = 0x57d2,
+  [0x12d9] = 0x57d3, [0x12da] = 0x580a, [0x12db] = 0x57d6, [0x12dc] = 0x57e3,
+  [0x12dd] = 0x580b, [0x12de] = 0x5819, [0x12df] = 0x581d, [0x12e0] = 0x5872,
+  [0x12e1] = 0x5821, [0x12e2] = 0x5862, [0x12e3] = 0x584b, [0x12e4] = 0x5870,
+  [0x12e5] = 0x6bc0, [0x12e6] = 0x5852, [0x12e7] = 0x583d, [0x12e8] = 0x5879,
+  [0x12e9] = 0x5885, [0x12ea] = 0x58b9, [0x12eb] = 0x589f, [0x12ec] = 0x58ab,
+  [0x12ed] = 0x58ba, [0x12ee] = 0x58de, [0x12ef] = 0x58bb, [0x12f0] = 0x58b8,
+  [0x12f1] = 0x58ae, [0x12f2] = 0x58c5, [0x12f3] = 0x58d3, [0x12f4] = 0x58d1,
+  [0x12f5] = 0x58d7, [0x12f6] = 0x58d9, [0x12f7] = 0x58d8, [0x12f8] = 0x58e5,
+  [0x12f9] = 0x58dc, [0x12fa] = 0x58e4, [0x12fb] = 0x58df, [0x12fc] = 0x58ef,
+  [0x12fd] = 0x58fa, [0x12fe] = 0x58f9, [0x12ff] = 0x58fb, [0x1300] = 0x58fc,
+  [0x1301] = 0x58fd, [0x1302] = 0x5902, [0x1303] = 0x590a, [0x1304] = 0x5910,
+  [0x1305] = 0x591b, [0x1306] = 0x68a6, [0x1307] = 0x5925, [0x1308] = 0x592c,
+  [0x1309] = 0x592d, [0x130a] = 0x5932, [0x130b] = 0x5938, [0x130c] = 0x593e,
+  [0x130d] = 0x7ad2, [0x130e] = 0x5955, [0x130f] = 0x5950, [0x1310] = 0x594e,
+  [0x1311] = 0x595a, [0x1312] = 0x5958, [0x1313] = 0x5962, [0x1314] = 0x5960,
+  [0x1315] = 0x5967, [0x1316] = 0x596c, [0x1317] = 0x5969, [0x1318] = 0x5978,
+  [0x1319] = 0x5981, [0x131a] = 0x599d, [0x131b] = 0x4f5e, [0x131c] = 0x4fab,
+  [0x131d] = 0x59a3, [0x131e] = 0x59b2, [0x131f] = 0x59c6, [0x1320] = 0x59e8,
+  [0x1321] = 0x59dc, [0x1322] = 0x598d, [0x1323] = 0x59d9, [0x1324] = 0x59da,
+  [0x1325] = 0x5a25, [0x1326] = 0x5a1f, [0x1327] = 0x5a11, [0x1328] = 0x5a1c,
+  [0x1329] = 0x5a09, [0x132a] = 0x5a1a, [0x132b] = 0x5a40, [0x132c] = 0x5a6c,
+  [0x132d] = 0x5a49, [0x132e] = 0x5a35, [0x132f] = 0x5a36, [0x1330] = 0x5a62,
+  [0x1331] = 0x5a6a, [0x1332] = 0x5a9a, [0x1333] = 0x5abc, [0x1334] = 0x5abe,
+  [0x1335] = 0x5acb, [0x1336] = 0x5ac2, [0x1337] = 0x5abd, [0x1338] = 0x5ae3,
+  [0x1339] = 0x5ad7, [0x133a] = 0x5ae6, [0x133b] = 0x5ae9, [0x133c] = 0x5ad6,
+  [0x133d] = 0x5afa, [0x133e] = 0x5afb, [0x133f] = 0x5b0c, [0x1340] = 0x5b0b,
+  [0x1341] = 0x5b16, [0x1342] = 0x5b32, [0x1343] = 0x5ad0, [0x1344] = 0x5b2a,
+  [0x1345] = 0x5b36, [0x1346] = 0x5b3e, [0x1347] = 0x5b43, [0x1348] = 0x5b45,
+  [0x1349] = 0x5b40, [0x134a] = 0x5b51, [0x134b] = 0x5b55, [0x134c] = 0x5b5a,
+  [0x134d] = 0x5b5b, [0x134e] = 0x5b65, [0x134f] = 0x5b69, [0x1350] = 0x5b70,
+  [0x1351] = 0x5b73, [0x1352] = 0x5b75, [0x1353] = 0x5b78, [0x1354] = 0x6588,
+  [0x1355] = 0x5b7a, [0x1356] = 0x5b80, [0x1357] = 0x5b83, [0x1358] = 0x5ba6,
+  [0x1359] = 0x5bb8, [0x135a] = 0x5bc3, [0x135b] = 0x5bc7, [0x135c] = 0x5bc9,
+  [0x135d] = 0x5bd4, [0x135e] = 0x5bd0, [0x135f] = 0x5be4, [0x1360] = 0x5be6,
+  [0x1361] = 0x5be2, [0x1362] = 0x5bde, [0x1363] = 0x5be5, [0x1364] = 0x5beb,
+  [0x1365] = 0x5bf0, [0x1366] = 0x5bf6, [0x1367] = 0x5bf3, [0x1368] = 0x5c05,
+  [0x1369] = 0x5c07, [0x136a] = 0x5c08, [0x136b] = 0x5c0d, [0x136c] = 0x5c13,
+  [0x136d] = 0x5c20, [0x136e] = 0x5c22, [0x136f] = 0x5c28, [0x1370] = 0x5c38,
+  [0x1371] = 0x5c39, [0x1372] = 0x5c41, [0x1373] = 0x5c46, [0x1374] = 0x5c4e,
+  [0x1375] = 0x5c53, [0x1376] = 0x5c50, [0x1377] = 0x5c4f, [0x1378] = 0x5b71,
+  [0x1379] = 0x5c6c, [0x137a] = 0x5c6e, [0x137b] = 0x4e62, [0x137c] = 0x5c76,
+  [0x137d] = 0x5c79, [0x137e] = 0x5c8c, [0x137f] = 0x5c91, [0x1380] = 0x5c94,
+  [0x1381] = 0x599b, [0x1382] = 0x5cab, [0x1383] = 0x5cbb, [0x1384] = 0x5cb6,
+  [0x1385] = 0x5cbc, [0x1386] = 0x5cb7, [0x1387] = 0x5cc5, [0x1388] = 0x5cbe,
+  [0x1389] = 0x5cc7, [0x138a] = 0x5cd9, [0x138b] = 0x5ce9, [0x138c] = 0x5cfd,
+  [0x138d] = 0x5cfa, [0x138e] = 0x5ced, [0x138f] = 0x5d8c, [0x1390] = 0x5cea,
+  [0x1391] = 0x5d0b, [0x1392] = 0x5d15, [0x1393] = 0x5d17, [0x1394] = 0x5d5c,
+  [0x1395] = 0x5d1f, [0x1396] = 0x5d1b, [0x1397] = 0x5d11, [0x1398] = 0x5d14,
+  [0x1399] = 0x5d22, [0x139a] = 0x5d1a, [0x139b] = 0x5d19, [0x139c] = 0x5d18,
+  [0x139d] = 0x5d4c, [0x139e] = 0x5d52, [0x139f] = 0x5d4e, [0x13a0] = 0x5d4b,
+  [0x13a1] = 0x5d6c, [0x13a2] = 0x5d73, [0x13a3] = 0x5d76, [0x13a4] = 0x5d87,
+  [0x13a5] = 0x5d84, [0x13a6] = 0x5d82, [0x13a7] = 0x5da2, [0x13a8] = 0x5d9d,
+  [0x13a9] = 0x5dac, [0x13aa] = 0x5dae, [0x13ab] = 0x5dbd, [0x13ac] = 0x5d90,
+  [0x13ad] = 0x5db7, [0x13ae] = 0x5dbc, [0x13af] = 0x5dc9, [0x13b0] = 0x5dcd,
+  [0x13b1] = 0x5dd3, [0x13b2] = 0x5dd2, [0x13b3] = 0x5dd6, [0x13b4] = 0x5ddb,
+  [0x13b5] = 0x5deb, [0x13b6] = 0x5df2, [0x13b7] = 0x5df5, [0x13b8] = 0x5e0b,
+  [0x13b9] = 0x5e1a, [0x13ba] = 0x5e19, [0x13bb] = 0x5e11, [0x13bc] = 0x5e1b,
+  [0x13bd] = 0x5e36, [0x13be] = 0x5e37, [0x13bf] = 0x5e44, [0x13c0] = 0x5e43,
+  [0x13c1] = 0x5e40, [0x13c2] = 0x5e4e, [0x13c3] = 0x5e57, [0x13c4] = 0x5e54,
+  [0x13c5] = 0x5e5f, [0x13c6] = 0x5e62, [0x13c7] = 0x5e64, [0x13c8] = 0x5e47,
+  [0x13c9] = 0x5e75, [0x13ca] = 0x5e76, [0x13cb] = 0x5e7a, [0x13cc] = 0x9ebc,
+  [0x13cd] = 0x5e7f, [0x13ce] = 0x5ea0, [0x13cf] = 0x5ec1, [0x13d0] = 0x5ec2,
+  [0x13d1] = 0x5ec8, [0x13d2] = 0x5ed0, [0x13d3] = 0x5ecf, [0x13d4] = 0x5ed6,
+  [0x13d5] = 0x5ee3, [0x13d6] = 0x5edd, [0x13d7] = 0x5eda, [0x13d8] = 0x5edb,
+  [0x13d9] = 0x5ee2, [0x13da] = 0x5ee1, [0x13db] = 0x5ee8, [0x13dc] = 0x5ee9,
+  [0x13dd] = 0x5eec, [0x13de] = 0x5ef1, [0x13df] = 0x5ef3, [0x13e0] = 0x5ef0,
+  [0x13e1] = 0x5ef4, [0x13e2] = 0x5ef8, [0x13e3] = 0x5efe, [0x13e4] = 0x5f03,
+  [0x13e5] = 0x5f09, [0x13e6] = 0x5f5d, [0x13e7] = 0x5f5c, [0x13e8] = 0x5f0b,
+  [0x13e9] = 0x5f11, [0x13ea] = 0x5f16, [0x13eb] = 0x5f29, [0x13ec] = 0x5f2d,
+  [0x13ed] = 0x5f38, [0x13ee] = 0x5f41, [0x13ef] = 0x5f48, [0x13f0] = 0x5f4c,
+  [0x13f1] = 0x5f4e, [0x13f2] = 0x5f2f, [0x13f3] = 0x5f51, [0x13f4] = 0x5f56,
+  [0x13f5] = 0x5f57, [0x13f6] = 0x5f59, [0x13f7] = 0x5f61, [0x13f8] = 0x5f6d,
+  [0x13f9] = 0x5f73, [0x13fa] = 0x5f77, [0x13fb] = 0x5f83, [0x13fc] = 0x5f82,
+  [0x13fd] = 0x5f7f, [0x13fe] = 0x5f8a, [0x13ff] = 0x5f88, [0x1400] = 0x5f91,
+  [0x1401] = 0x5f87, [0x1402] = 0x5f9e, [0x1403] = 0x5f99, [0x1404] = 0x5f98,
+  [0x1405] = 0x5fa0, [0x1406] = 0x5fa8, [0x1407] = 0x5fad, [0x1408] = 0x5fbc,
+  [0x1409] = 0x5fd6, [0x140a] = 0x5ffb, [0x140b] = 0x5fe4, [0x140c] = 0x5ff8,
+  [0x140d] = 0x5ff1, [0x140e] = 0x5fdd, [0x140f] = 0x60b3, [0x1410] = 0x5fff,
+  [0x1411] = 0x6021, [0x1412] = 0x6060, [0x1413] = 0x6019, [0x1414] = 0x6010,
+  [0x1415] = 0x6029, [0x1416] = 0x600e, [0x1417] = 0x6031, [0x1418] = 0x601b,
+  [0x1419] = 0x6015, [0x141a] = 0x602b, [0x141b] = 0x6026, [0x141c] = 0x600f,
+  [0x141d] = 0x603a, [0x141e] = 0x605a, [0x141f] = 0x6041, [0x1420] = 0x606a,
+  [0x1421] = 0x6077, [0x1422] = 0x605f, [0x1423] = 0x604a, [0x1424] = 0x6046,
+  [0x1425] = 0x604d, [0x1426] = 0x6063, [0x1427] = 0x6043, [0x1428] = 0x6064,
+  [0x1429] = 0x6042, [0x142a] = 0x606c, [0x142b] = 0x606b, [0x142c] = 0x6059,
+  [0x142d] = 0x6081, [0x142e] = 0x608d, [0x142f] = 0x60e7, [0x1430] = 0x6083,
+  [0x1431] = 0x609a, [0x1432] = 0x6084, [0x1433] = 0x609b, [0x1434] = 0x6096,
+  [0x1435] = 0x6097, [0x1436] = 0x6092, [0x1437] = 0x60a7, [0x1438] = 0x608b,
+  [0x1439] = 0x60e1, [0x143a] = 0x60b8, [0x143b] = 0x60e0, [0x143c] = 0x60d3,
+  [0x143d] = 0x60b4, [0x143e] = 0x5ff0, [0x143f] = 0x60bd, [0x1440] = 0x60c6,
+  [0x1441] = 0x60b5, [0x1442] = 0x60d8, [0x1443] = 0x614d, [0x1444] = 0x6115,
+  [0x1445] = 0x6106, [0x1446] = 0x60f6, [0x1447] = 0x60f7, [0x1448] = 0x6100,
+  [0x1449] = 0x60f4, [0x144a] = 0x60fa, [0x144b] = 0x6103, [0x144c] = 0x6121,
+  [0x144d] = 0x60fb, [0x144e] = 0x60f1, [0x144f] = 0x610d, [0x1450] = 0x610e,
+  [0x1451] = 0x6147, [0x1452] = 0x613e, [0x1453] = 0x6128, [0x1454] = 0x6127,
+  [0x1455] = 0x614a, [0x1456] = 0x613f, [0x1457] = 0x613c, [0x1458] = 0x612c,
+  [0x1459] = 0x6134, [0x145a] = 0x613d, [0x145b] = 0x6142, [0x145c] = 0x6144,
+  [0x145d] = 0x6173, [0x145e] = 0x6177, [0x145f] = 0x6158, [0x1460] = 0x6159,
+  [0x1461] = 0x615a, [0x1462] = 0x616b, [0x1463] = 0x6174, [0x1464] = 0x616f,
+  [0x1465] = 0x6165, [0x1466] = 0x6171, [0x1467] = 0x615f, [0x1468] = 0x615d,
+  [0x1469] = 0x6153, [0x146a] = 0x6175, [0x146b] = 0x6199, [0x146c] = 0x6196,
+  [0x146d] = 0x6187, [0x146e] = 0x61ac, [0x146f] = 0x6194, [0x1470] = 0x619a,
+  [0x1471] = 0x618a, [0x1472] = 0x6191, [0x1473] = 0x61ab, [0x1474] = 0x61ae,
+  [0x1475] = 0x61cc, [0x1476] = 0x61ca, [0x1477] = 0x61c9, [0x1478] = 0x61f7,
+  [0x1479] = 0x61c8, [0x147a] = 0x61c3, [0x147b] = 0x61c6, [0x147c] = 0x61ba,
+  [0x147d] = 0x61cb, [0x147e] = 0x7f79, [0x147f] = 0x61cd, [0x1480] = 0x61e6,
+  [0x1481] = 0x61e3, [0x1482] = 0x61f6, [0x1483] = 0x61fa, [0x1484] = 0x61f4,
+  [0x1485] = 0x61ff, [0x1486] = 0x61fd, [0x1487] = 0x61fc, [0x1488] = 0x61fe,
+  [0x1489] = 0x6200, [0x148a] = 0x6208, [0x148b] = 0x6209, [0x148c] = 0x620d,
+  [0x148d] = 0x620c, [0x148e] = 0x6214, [0x148f] = 0x621b, [0x1490] = 0x621e,
+  [0x1491] = 0x6221, [0x1492] = 0x622a, [0x1493] = 0x622e, [0x1494] = 0x6230,
+  [0x1495] = 0x6232, [0x1496] = 0x6233, [0x1497] = 0x6241, [0x1498] = 0x624e,
+  [0x1499] = 0x625e, [0x149a] = 0x6263, [0x149b] = 0x625b, [0x149c] = 0x6260,
+  [0x149d] = 0x6268, [0x149e] = 0x627c, [0x149f] = 0x6282, [0x14a0] = 0x6289,
+  [0x14a1] = 0x627e, [0x14a2] = 0x6292, [0x14a3] = 0x6293, [0x14a4] = 0x6296,
+  [0x14a5] = 0x62d4, [0x14a6] = 0x6283, [0x14a7] = 0x6294, [0x14a8] = 0x62d7,
+  [0x14a9] = 0x62d1, [0x14aa] = 0x62bb, [0x14ab] = 0x62cf, [0x14ac] = 0x62ff,
+  [0x14ad] = 0x62c6, [0x14ae] = 0x64d4, [0x14af] = 0x62c8, [0x14b0] = 0x62dc,
+  [0x14b1] = 0x62cc, [0x14b2] = 0x62ca, [0x14b3] = 0x62c2, [0x14b4] = 0x62c7,
+  [0x14b5] = 0x629b, [0x14b6] = 0x62c9, [0x14b7] = 0x630c, [0x14b8] = 0x62ee,
+  [0x14b9] = 0x62f1, [0x14ba] = 0x6327, [0x14bb] = 0x6302, [0x14bc] = 0x6308,
+  [0x14bd] = 0x62ef, [0x14be] = 0x62f5, [0x14bf] = 0x6350, [0x14c0] = 0x633e,
+  [0x14c1] = 0x634d, [0x14c2] = 0x641c, [0x14c3] = 0x634f, [0x14c4] = 0x6396,
+  [0x14c5] = 0x638e, [0x14c6] = 0x6380, [0x14c7] = 0x63ab, [0x14c8] = 0x6376,
+  [0x14c9] = 0x63a3, [0x14ca] = 0x638f, [0x14cb] = 0x6389, [0x14cc] = 0x639f,
+  [0x14cd] = 0x63b5, [0x14ce] = 0x636b, [0x14cf] = 0x6369, [0x14d0] = 0x63be,
+  [0x14d1] = 0x63e9, [0x14d2] = 0x63c0, [0x14d3] = 0x63c6, [0x14d4] = 0x63e3,
+  [0x14d5] = 0x63c9, [0x14d6] = 0x63d2, [0x14d7] = 0x63f6, [0x14d8] = 0x63c4,
+  [0x14d9] = 0x6416, [0x14da] = 0x6434, [0x14db] = 0x6406, [0x14dc] = 0x6413,
+  [0x14dd] = 0x6426, [0x14de] = 0x6436, [0x14df] = 0x651d, [0x14e0] = 0x6417,
+  [0x14e1] = 0x6428, [0x14e2] = 0x640f, [0x14e3] = 0x6467, [0x14e4] = 0x646f,
+  [0x14e5] = 0x6476, [0x14e6] = 0x644e, [0x14e7] = 0x652a, [0x14e8] = 0x6495,
+  [0x14e9] = 0x6493, [0x14ea] = 0x64a5, [0x14eb] = 0x64a9, [0x14ec] = 0x6488,
+  [0x14ed] = 0x64bc, [0x14ee] = 0x64da, [0x14ef] = 0x64d2, [0x14f0] = 0x64c5,
+  [0x14f1] = 0x64c7, [0x14f2] = 0x64bb, [0x14f3] = 0x64d8, [0x14f4] = 0x64c2,
+  [0x14f5] = 0x64f1, [0x14f6] = 0x64e7, [0x14f7] = 0x8209, [0x14f8] = 0x64e0,
+  [0x14f9] = 0x64e1, [0x14fa] = 0x62ac, [0x14fb] = 0x64e3, [0x14fc] = 0x64ef,
+  [0x14fd] = 0x652c, [0x14fe] = 0x64f6, [0x14ff] = 0x64f4, [0x1500] = 0x64f2,
+  [0x1501] = 0x64fa, [0x1502] = 0x6500, [0x1503] = 0x64fd, [0x1504] = 0x6518,
+  [0x1505] = 0x651c, [0x1506] = 0x6505, [0x1507] = 0x6524, [0x1508] = 0x6523,
+  [0x1509] = 0x652b, [0x150a] = 0x6534, [0x150b] = 0x6535, [0x150c] = 0x6537,
+  [0x150d] = 0x6536, [0x150e] = 0x6538, [0x150f] = 0x754b, [0x1510] = 0x6548,
+  [0x1511] = 0x6556, [0x1512] = 0x6555, [0x1513] = 0x654d, [0x1514] = 0x6558,
+  [0x1515] = 0x655e, [0x1516] = 0x655d, [0x1517] = 0x6572, [0x1518] = 0x6578,
+  [0x1519] = 0x6582, [0x151a] = 0x6583, [0x151b] = 0x8b8a, [0x151c] = 0x659b,
+  [0x151d] = 0x659f, [0x151e] = 0x65ab, [0x151f] = 0x65b7, [0x1520] = 0x65c3,
+  [0x1521] = 0x65c6, [0x1522] = 0x65c1, [0x1523] = 0x65c4, [0x1524] = 0x65cc,
+  [0x1525] = 0x65d2, [0x1526] = 0x65db, [0x1527] = 0x65d9, [0x1528] = 0x65e0,
+  [0x1529] = 0x65e1, [0x152a] = 0x65f1, [0x152b] = 0x6772, [0x152c] = 0x660a,
+  [0x152d] = 0x6603, [0x152e] = 0x65fb, [0x152f] = 0x6773, [0x1530] = 0x6635,
+  [0x1531] = 0x6636, [0x1532] = 0x6634, [0x1533] = 0x661c, [0x1534] = 0x664f,
+  [0x1535] = 0x6644, [0x1536] = 0x6649, [0x1537] = 0x6641, [0x1538] = 0x665e,
+  [0x1539] = 0x665d, [0x153a] = 0x6664, [0x153b] = 0x6667, [0x153c] = 0x6668,
+  [0x153d] = 0x665f, [0x153e] = 0x6662, [0x153f] = 0x6670, [0x1540] = 0x6683,
+  [0x1541] = 0x6688, [0x1542] = 0x668e, [0x1543] = 0x6689, [0x1544] = 0x6684,
+  [0x1545] = 0x6698, [0x1546] = 0x669d, [0x1547] = 0x66c1, [0x1548] = 0x66b9,
+  [0x1549] = 0x66c9, [0x154a] = 0x66be, [0x154b] = 0x66bc, [0x154c] = 0x66c4,
+  [0x154d] = 0x66b8, [0x154e] = 0x66d6, [0x154f] = 0x66da, [0x1550] = 0x66e0,
+  [0x1551] = 0x663f, [0x1552] = 0x66e6, [0x1553] = 0x66e9, [0x1554] = 0x66f0,
+  [0x1555] = 0x66f5, [0x1556] = 0x66f7, [0x1557] = 0x670f, [0x1558] = 0x6716,
+  [0x1559] = 0x671e, [0x155a] = 0x6726, [0x155b] = 0x6727, [0x155c] = 0x9738,
+  [0x155d] = 0x672e, [0x155e] = 0x673f, [0x155f] = 0x6736, [0x1560] = 0x6741,
+  [0x1561] = 0x6738, [0x1562] = 0x6737, [0x1563] = 0x6746, [0x1564] = 0x675e,
+  [0x1565] = 0x6760, [0x1566] = 0x6759, [0x1567] = 0x6763, [0x1568] = 0x6764,
+  [0x1569] = 0x6789, [0x156a] = 0x6770, [0x156b] = 0x67a9, [0x156c] = 0x677c,
+  [0x156d] = 0x676a, [0x156e] = 0x678c, [0x156f] = 0x678b, [0x1570] = 0x67a6,
+  [0x1571] = 0x67a1, [0x1572] = 0x6785, [0x1573] = 0x67b7, [0x1574] = 0x67ef,
+  [0x1575] = 0x67b4, [0x1576] = 0x67ec, [0x1577] = 0x67b3, [0x1578] = 0x67e9,
+  [0x1579] = 0x67b8, [0x157a] = 0x67e4, [0x157b] = 0x67de, [0x157c] = 0x67dd,
+  [0x157d] = 0x67e2, [0x157e] = 0x67ee, [0x157f] = 0x67b9, [0x1580] = 0x67ce,
+  [0x1581] = 0x67c6, [0x1582] = 0x67e7, [0x1583] = 0x6a9c, [0x1584] = 0x681e,
+  [0x1585] = 0x6846, [0x1586] = 0x6829, [0x1587] = 0x6840, [0x1588] = 0x684d,
+  [0x1589] = 0x6832, [0x158a] = 0x684e, [0x158b] = 0x68b3, [0x158c] = 0x682b,
+  [0x158d] = 0x6859, [0x158e] = 0x6863, [0x158f] = 0x6877, [0x1590] = 0x687f,
+  [0x1591] = 0x689f, [0x1592] = 0x688f, [0x1593] = 0x68ad, [0x1594] = 0x6894,
+  [0x1595] = 0x689d, [0x1596] = 0x689b, [0x1597] = 0x6883, [0x1598] = 0x6aae,
+  [0x1599] = 0x68b9, [0x159a] = 0x6874, [0x159b] = 0x68b5, [0x159c] = 0x68a0,
+  [0x159d] = 0x68ba, [0x159e] = 0x690f, [0x159f] = 0x688d, [0x15a0] = 0x687e,
+  [0x15a1] = 0x6901, [0x15a2] = 0x68ca, [0x15a3] = 0x6908, [0x15a4] = 0x68d8,
+  [0x15a5] = 0x6922, [0x15a6] = 0x6926, [0x15a7] = 0x68e1, [0x15a8] = 0x690c,
+  [0x15a9] = 0x68cd, [0x15aa] = 0x68d4, [0x15ab] = 0x68e7, [0x15ac] = 0x68d5,
+  [0x15ad] = 0x6936, [0x15ae] = 0x6912, [0x15af] = 0x6904, [0x15b0] = 0x68d7,
+  [0x15b1] = 0x68e3, [0x15b2] = 0x6925, [0x15b3] = 0x68f9, [0x15b4] = 0x68e0,
+  [0x15b5] = 0x68ef, [0x15b6] = 0x6928, [0x15b7] = 0x692a, [0x15b8] = 0x691a,
+  [0x15b9] = 0x6923, [0x15ba] = 0x6921, [0x15bb] = 0x68c6, [0x15bc] = 0x6979,
+  [0x15bd] = 0x6977, [0x15be] = 0x695c, [0x15bf] = 0x6978, [0x15c0] = 0x696b,
+  [0x15c1] = 0x6954, [0x15c2] = 0x697e, [0x15c3] = 0x696e, [0x15c4] = 0x6939,
+  [0x15c5] = 0x6974, [0x15c6] = 0x693d, [0x15c7] = 0x6959, [0x15c8] = 0x6930,
+  [0x15c9] = 0x6961, [0x15ca] = 0x695e, [0x15cb] = 0x695d, [0x15cc] = 0x6981,
+  [0x15cd] = 0x696a, [0x15ce] = 0x69b2, [0x15cf] = 0x69ae, [0x15d0] = 0x69d0,
+  [0x15d1] = 0x69bf, [0x15d2] = 0x69c1, [0x15d3] = 0x69d3, [0x15d4] = 0x69be,
+  [0x15d5] = 0x69ce, [0x15d6] = 0x5be8, [0x15d7] = 0x69ca, [0x15d8] = 0x69dd,
+  [0x15d9] = 0x69bb, [0x15da] = 0x69c3, [0x15db] = 0x69a7, [0x15dc] = 0x6a2e,
+  [0x15dd] = 0x6991, [0x15de] = 0x69a0, [0x15df] = 0x699c, [0x15e0] = 0x6995,
+  [0x15e1] = 0x69b4, [0x15e2] = 0x69de, [0x15e3] = 0x69e8, [0x15e4] = 0x6a02,
+  [0x15e5] = 0x6a1b, [0x15e6] = 0x69ff, [0x15e7] = 0x6b0a, [0x15e8] = 0x69f9,
+  [0x15e9] = 0x69f2, [0x15ea] = 0x69e7, [0x15eb] = 0x6a05, [0x15ec] = 0x69b1,
+  [0x15ed] = 0x6a1e, [0x15ee] = 0x69ed, [0x15ef] = 0x6a14, [0x15f0] = 0x69eb,
+  [0x15f1] = 0x6a0a, [0x15f2] = 0x6a12, [0x15f3] = 0x6ac1, [0x15f4] = 0x6a23,
+  [0x15f5] = 0x6a13, [0x15f6] = 0x6a44, [0x15f7] = 0x6a0c, [0x15f8] = 0x6a72,
+  [0x15f9] = 0x6a36, [0x15fa] = 0x6a78, [0x15fb] = 0x6a47, [0x15fc] = 0x6a62,
+  [0x15fd] = 0x6a59, [0x15fe] = 0x6a66, [0x15ff] = 0x6a48, [0x1600] = 0x6a38,
+  [0x1601] = 0x6a22, [0x1602] = 0x6a90, [0x1603] = 0x6a8d, [0x1604] = 0x6aa0,
+  [0x1605] = 0x6a84, [0x1606] = 0x6aa2, [0x1607] = 0x6aa3, [0x1608] = 0x6a97,
+  [0x1609] = 0x8617, [0x160a] = 0x6abb, [0x160b] = 0x6ac3, [0x160c] = 0x6ac2,
+  [0x160d] = 0x6ab8, [0x160e] = 0x6ab3, [0x160f] = 0x6aac, [0x1610] = 0x6ade,
+  [0x1611] = 0x6ad1, [0x1612] = 0x6adf, [0x1613] = 0x6aaa, [0x1614] = 0x6ada,
+  [0x1615] = 0x6aea, [0x1616] = 0x6afb, [0x1617] = 0x6b05, [0x1618] = 0x8616,
+  [0x1619] = 0x6afa, [0x161a] = 0x6b12, [0x161b] = 0x6b16, [0x161c] = 0x9b31,
+  [0x161d] = 0x6b1f, [0x161e] = 0x6b38, [0x161f] = 0x6b37, [0x1620] = 0x76dc,
+  [0x1621] = 0x6b39, [0x1622] = 0x98ee, [0x1623] = 0x6b47, [0x1624] = 0x6b43,
+  [0x1625] = 0x6b49, [0x1626] = 0x6b50, [0x1627] = 0x6b59, [0x1628] = 0x6b54,
+  [0x1629] = 0x6b5b, [0x162a] = 0x6b5f, [0x162b] = 0x6b61, [0x162c] = 0x6b78,
+  [0x162d] = 0x6b79, [0x162e] = 0x6b7f, [0x162f] = 0x6b80, [0x1630] = 0x6b84,
+  [0x1631] = 0x6b83, [0x1632] = 0x6b8d, [0x1633] = 0x6b98, [0x1634] = 0x6b95,
+  [0x1635] = 0x6b9e, [0x1636] = 0x6ba4, [0x1637] = 0x6baa, [0x1638] = 0x6bab,
+  [0x1639] = 0x6baf, [0x163a] = 0x6bb2, [0x163b] = 0x6bb1, [0x163c] = 0x6bb3,
+  [0x163d] = 0x6bb7, [0x163e] = 0x6bbc, [0x163f] = 0x6bc6, [0x1640] = 0x6bcb,
+  [0x1641] = 0x6bd3, [0x1642] = 0x6bdf, [0x1643] = 0x6bec, [0x1644] = 0x6beb,
+  [0x1645] = 0x6bf3, [0x1646] = 0x6bef, [0x1647] = 0x9ebe, [0x1648] = 0x6c08,
+  [0x1649] = 0x6c13, [0x164a] = 0x6c14, [0x164b] = 0x6c1b, [0x164c] = 0x6c24,
+  [0x164d] = 0x6c23, [0x164e] = 0x6c5e, [0x164f] = 0x6c55, [0x1650] = 0x6c62,
+  [0x1651] = 0x6c6a, [0x1652] = 0x6c82, [0x1653] = 0x6c8d, [0x1654] = 0x6c9a,
+  [0x1655] = 0x6c81, [0x1656] = 0x6c9b, [0x1657] = 0x6c7e, [0x1658] = 0x6c68,
+  [0x1659] = 0x6c73, [0x165a] = 0x6c92, [0x165b] = 0x6c90, [0x165c] = 0x6cc4,
+  [0x165d] = 0x6cf1, [0x165e] = 0x6cd3, [0x165f] = 0x6cbd, [0x1660] = 0x6cd7,
+  [0x1661] = 0x6cc5, [0x1662] = 0x6cdd, [0x1663] = 0x6cae, [0x1664] = 0x6cb1,
+  [0x1665] = 0x6cbe, [0x1666] = 0x6cba, [0x1667] = 0x6cdb, [0x1668] = 0x6cef,
+  [0x1669] = 0x6cd9, [0x166a] = 0x6cea, [0x166b] = 0x6d1f, [0x166c] = 0x884d,
+  [0x166d] = 0x6d36, [0x166e] = 0x6d2b, [0x166f] = 0x6d3d, [0x1670] = 0x6d38,
+  [0x1671] = 0x6d19, [0x1672] = 0x6d35, [0x1673] = 0x6d33, [0x1674] = 0x6d12,
+  [0x1675] = 0x6d0c, [0x1676] = 0x6d63, [0x1677] = 0x6d93, [0x1678] = 0x6d64,
+  [0x1679] = 0x6d5a, [0x167a] = 0x6d79, [0x167b] = 0x6d59, [0x167c] = 0x6d8e,
+  [0x167d] = 0x6d95, [0x167e] = 0x6fe4, [0x167f] = 0x6d85, [0x1680] = 0x6df9,
+  [0x1681] = 0x6e15, [0x1682] = 0x6e0a, [0x1683] = 0x6db5, [0x1684] = 0x6dc7,
+  [0x1685] = 0x6de6, [0x1686] = 0x6db8, [0x1687] = 0x6dc6, [0x1688] = 0x6dec,
+  [0x1689] = 0x6dde, [0x168a] = 0x6dcc, [0x168b] = 0x6de8, [0x168c] = 0x6dd2,
+  [0x168d] = 0x6dc5, [0x168e] = 0x6dfa, [0x168f] = 0x6dd9, [0x1690] = 0x6de4,
+  [0x1691] = 0x6dd5, [0x1692] = 0x6dea, [0x1693] = 0x6dee, [0x1694] = 0x6e2d,
+  [0x1695] = 0x6e6e, [0x1696] = 0x6e2e, [0x1697] = 0x6e19, [0x1698] = 0x6e72,
+  [0x1699] = 0x6e5f, [0x169a] = 0x6e3e, [0x169b] = 0x6e23, [0x169c] = 0x6e6b,
+  [0x169d] = 0x6e2b, [0x169e] = 0x6e76, [0x169f] = 0x6e4d, [0x16a0] = 0x6e1f,
+  [0x16a1] = 0x6e43, [0x16a2] = 0x6e3a, [0x16a3] = 0x6e4e, [0x16a4] = 0x6e24,
+  [0x16a5] = 0x6eff, [0x16a6] = 0x6e1d, [0x16a7] = 0x6e38, [0x16a8] = 0x6e82,
+  [0x16a9] = 0x6eaa, [0x16aa] = 0x6e98, [0x16ab] = 0x6ec9, [0x16ac] = 0x6eb7,
+  [0x16ad] = 0x6ed3, [0x16ae] = 0x6ebd, [0x16af] = 0x6eaf, [0x16b0] = 0x6ec4,
+  [0x16b1] = 0x6eb2, [0x16b2] = 0x6ed4, [0x16b3] = 0x6ed5, [0x16b4] = 0x6e8f,
+  [0x16b5] = 0x6ea5, [0x16b6] = 0x6ec2, [0x16b7] = 0x6e9f, [0x16b8] = 0x6f41,
+  [0x16b9] = 0x6f11, [0x16ba] = 0x704c, [0x16bb] = 0x6eec, [0x16bc] = 0x6ef8,
+  [0x16bd] = 0x6efe, [0x16be] = 0x6f3f, [0x16bf] = 0x6ef2, [0x16c0] = 0x6f31,
+  [0x16c1] = 0x6eef, [0x16c2] = 0x6f32, [0x16c3] = 0x6ecc, [0x16c4] = 0x6f3e,
+  [0x16c5] = 0x6f13, [0x16c6] = 0x6ef7, [0x16c7] = 0x6f86, [0x16c8] = 0x6f7a,
+  [0x16c9] = 0x6f78, [0x16ca] = 0x6f81, [0x16cb] = 0x6f80, [0x16cc] = 0x6f6f,
+  [0x16cd] = 0x6f5b, [0x16ce] = 0x6ff3, [0x16cf] = 0x6f6d, [0x16d0] = 0x6f82,
+  [0x16d1] = 0x6f7c, [0x16d2] = 0x6f58, [0x16d3] = 0x6f8e, [0x16d4] = 0x6f91,
+  [0x16d5] = 0x6fc2, [0x16d6] = 0x6f66, [0x16d7] = 0x6fb3, [0x16d8] = 0x6fa3,
+  [0x16d9] = 0x6fa1, [0x16da] = 0x6fa4, [0x16db] = 0x6fb9, [0x16dc] = 0x6fc6,
+  [0x16dd] = 0x6faa, [0x16de] = 0x6fdf, [0x16df] = 0x6fd5, [0x16e0] = 0x6fec,
+  [0x16e1] = 0x6fd4, [0x16e2] = 0x6fd8, [0x16e3] = 0x6ff1, [0x16e4] = 0x6fee,
+  [0x16e5] = 0x6fdb, [0x16e6] = 0x7009, [0x16e7] = 0x700b, [0x16e8] = 0x6ffa,
+  [0x16e9] = 0x7011, [0x16ea] = 0x7001, [0x16eb] = 0x700f, [0x16ec] = 0x6ffe,
+  [0x16ed] = 0x701b, [0x16ee] = 0x701a, [0x16ef] = 0x6f74, [0x16f0] = 0x701d,
+  [0x16f1] = 0x7018, [0x16f2] = 0x701f, [0x16f3] = 0x7030, [0x16f4] = 0x703e,
+  [0x16f5] = 0x7032, [0x16f6] = 0x7051, [0x16f7] = 0x7063, [0x16f8] = 0x7099,
+  [0x16f9] = 0x7092, [0x16fa] = 0x70af, [0x16fb] = 0x70f1, [0x16fc] = 0x70ac,
+  [0x16fd] = 0x70b8, [0x16fe] = 0x70b3, [0x16ff] = 0x70ae, [0x1700] = 0x70df,
+  [0x1701] = 0x70cb, [0x1702] = 0x70dd, [0x1703] = 0x70d9, [0x1704] = 0x7109,
+  [0x1705] = 0x70fd, [0x1706] = 0x711c, [0x1707] = 0x7119, [0x1708] = 0x7165,
+  [0x1709] = 0x7155, [0x170a] = 0x7188, [0x170b] = 0x7166, [0x170c] = 0x7162,
+  [0x170d] = 0x714c, [0x170e] = 0x7156, [0x170f] = 0x716c, [0x1710] = 0x718f,
+  [0x1711] = 0x71fb, [0x1712] = 0x7184, [0x1713] = 0x7195, [0x1714] = 0x71a8,
+  [0x1715] = 0x71ac, [0x1716] = 0x71d7, [0x1717] = 0x71b9, [0x1718] = 0x71be,
+  [0x1719] = 0x71d2, [0x171a] = 0x71c9, [0x171b] = 0x71d4, [0x171c] = 0x71ce,
+  [0x171d] = 0x71e0, [0x171e] = 0x71ec, [0x171f] = 0x71e7, [0x1720] = 0x71f5,
+  [0x1721] = 0x71fc, [0x1722] = 0x71f9, [0x1723] = 0x71ff, [0x1724] = 0x720d,
+  [0x1725] = 0x7210, [0x1726] = 0x721b, [0x1727] = 0x7228, [0x1728] = 0x722d,
+  [0x1729] = 0x722c, [0x172a] = 0x7230, [0x172b] = 0x7232, [0x172c] = 0x723b,
+  [0x172d] = 0x723c, [0x172e] = 0x723f, [0x172f] = 0x7240, [0x1730] = 0x7246,
+  [0x1731] = 0x724b, [0x1732] = 0x7258, [0x1733] = 0x7274, [0x1734] = 0x727e,
+  [0x1735] = 0x7282, [0x1736] = 0x7281, [0x1737] = 0x7287, [0x1738] = 0x7292,
+  [0x1739] = 0x7296, [0x173a] = 0x72a2, [0x173b] = 0x72a7, [0x173c] = 0x72b9,
+  [0x173d] = 0x72b2, [0x173e] = 0x72c3, [0x173f] = 0x72c6, [0x1740] = 0x72c4,
+  [0x1741] = 0x72ce, [0x1742] = 0x72d2, [0x1743] = 0x72e2, [0x1744] = 0x72e0,
+  [0x1745] = 0x72e1, [0x1746] = 0x72f9, [0x1747] = 0x72f7, [0x1748] = 0x500f,
+  [0x1749] = 0x7317, [0x174a] = 0x730a, [0x174b] = 0x731c, [0x174c] = 0x7316,
+  [0x174d] = 0x731d, [0x174e] = 0x7334, [0x174f] = 0x732f, [0x1750] = 0x7329,
+  [0x1751] = 0x7325, [0x1752] = 0x733e, [0x1753] = 0x734e, [0x1754] = 0x734f,
+  [0x1755] = 0x9ed8, [0x1756] = 0x7357, [0x1757] = 0x736a, [0x1758] = 0x7368,
+  [0x1759] = 0x7370, [0x175a] = 0x7378, [0x175b] = 0x7375, [0x175c] = 0x737b,
+  [0x175d] = 0x737a, [0x175e] = 0x73c8, [0x175f] = 0x73b3, [0x1760] = 0x73ce,
+  [0x1761] = 0x73bb, [0x1762] = 0x73c0, [0x1763] = 0x73e5, [0x1764] = 0x73ee,
+  [0x1765] = 0x73de, [0x1766] = 0x74a2, [0x1767] = 0x7405, [0x1768] = 0x746f,
+  [0x1769] = 0x7425, [0x176a] = 0x73f8, [0x176b] = 0x7432, [0x176c] = 0x743a,
+  [0x176d] = 0x7455, [0x176e] = 0x743f, [0x176f] = 0x745f, [0x1770] = 0x7459,
+  [0x1771] = 0x7441, [0x1772] = 0x745c, [0x1773] = 0x7469, [0x1774] = 0x7470,
+  [0x1775] = 0x7463, [0x1776] = 0x746a, [0x1777] = 0x7476, [0x1778] = 0x747e,
+  [0x1779] = 0x748b, [0x177a] = 0x749e, [0x177b] = 0x74a7, [0x177c] = 0x74ca,
+  [0x177d] = 0x74cf, [0x177e] = 0x74d4, [0x177f] = 0x73f1, [0x1780] = 0x74e0,
+  [0x1781] = 0x74e3, [0x1782] = 0x74e7, [0x1783] = 0x74e9, [0x1784] = 0x74ee,
+  [0x1785] = 0x74f2, [0x1786] = 0x74f0, [0x1787] = 0x74f1, [0x1788] = 0x74f8,
+  [0x1789] = 0x74f7, [0x178a] = 0x7504, [0x178b] = 0x7503, [0x178c] = 0x7505,
+  [0x178d] = 0x750c, [0x178e] = 0x750e, [0x178f] = 0x750d, [0x1790] = 0x7515,
+  [0x1791] = 0x7513, [0x1792] = 0x751e, [0x1793] = 0x7526, [0x1794] = 0x752c,
+  [0x1795] = 0x753c, [0x1796] = 0x7544, [0x1797] = 0x754d, [0x1798] = 0x754a,
+  [0x1799] = 0x7549, [0x179a] = 0x755b, [0x179b] = 0x7546, [0x179c] = 0x755a,
+  [0x179d] = 0x7569, [0x179e] = 0x7564, [0x179f] = 0x7567, [0x17a0] = 0x756b,
+  [0x17a1] = 0x756d, [0x17a2] = 0x7578, [0x17a3] = 0x7576, [0x17a4] = 0x7586,
+  [0x17a5] = 0x7587, [0x17a6] = 0x7574, [0x17a7] = 0x758a, [0x17a8] = 0x7589,
+  [0x17a9] = 0x7582, [0x17aa] = 0x7594, [0x17ab] = 0x759a, [0x17ac] = 0x759d,
+  [0x17ad] = 0x75a5, [0x17ae] = 0x75a3, [0x17af] = 0x75c2, [0x17b0] = 0x75b3,
+  [0x17b1] = 0x75c3, [0x17b2] = 0x75b5, [0x17b3] = 0x75bd, [0x17b4] = 0x75b8,
+  [0x17b5] = 0x75bc, [0x17b6] = 0x75b1, [0x17b7] = 0x75cd, [0x17b8] = 0x75ca,
+  [0x17b9] = 0x75d2, [0x17ba] = 0x75d9, [0x17bb] = 0x75e3, [0x17bc] = 0x75de,
+  [0x17bd] = 0x75fe, [0x17be] = 0x75ff, [0x17bf] = 0x75fc, [0x17c0] = 0x7601,
+  [0x17c1] = 0x75f0, [0x17c2] = 0x75fa, [0x17c3] = 0x75f2, [0x17c4] = 0x75f3,
+  [0x17c5] = 0x760b, [0x17c6] = 0x760d, [0x17c7] = 0x7609, [0x17c8] = 0x761f,
+  [0x17c9] = 0x7627, [0x17ca] = 0x7620, [0x17cb] = 0x7621, [0x17cc] = 0x7622,
+  [0x17cd] = 0x7624, [0x17ce] = 0x7634, [0x17cf] = 0x7630, [0x17d0] = 0x763b,
+  [0x17d1] = 0x7647, [0x17d2] = 0x7648, [0x17d3] = 0x7646, [0x17d4] = 0x765c,
+  [0x17d5] = 0x7658, [0x17d6] = 0x7661, [0x17d7] = 0x7662, [0x17d8] = 0x7668,
+  [0x17d9] = 0x7669, [0x17da] = 0x766a, [0x17db] = 0x7667, [0x17dc] = 0x766c,
+  [0x17dd] = 0x7670, [0x17de] = 0x7672, [0x17df] = 0x7676, [0x17e0] = 0x7678,
+  [0x17e1] = 0x767c, [0x17e2] = 0x7680, [0x17e3] = 0x7683, [0x17e4] = 0x7688,
+  [0x17e5] = 0x768b, [0x17e6] = 0x768e, [0x17e7] = 0x7696, [0x17e8] = 0x7693,
+  [0x17e9] = 0x7699, [0x17ea] = 0x769a, [0x17eb] = 0x76b0, [0x17ec] = 0x76b4,
+  [0x17ed] = 0x76b8, [0x17ee] = 0x76b9, [0x17ef] = 0x76ba, [0x17f0] = 0x76c2,
+  [0x17f1] = 0x76cd, [0x17f2] = 0x76d6, [0x17f3] = 0x76d2, [0x17f4] = 0x76de,
+  [0x17f5] = 0x76e1, [0x17f6] = 0x76e5, [0x17f7] = 0x76e7, [0x17f8] = 0x76ea,
+  [0x17f9] = 0x862f, [0x17fa] = 0x76fb, [0x17fb] = 0x7708, [0x17fc] = 0x7707,
+  [0x17fd] = 0x7704, [0x17fe] = 0x7729, [0x17ff] = 0x7724, [0x1800] = 0x771e,
+  [0x1801] = 0x7725, [0x1802] = 0x7726, [0x1803] = 0x771b, [0x1804] = 0x7737,
+  [0x1805] = 0x7738, [0x1806] = 0x7747, [0x1807] = 0x775a, [0x1808] = 0x7768,
+  [0x1809] = 0x776b, [0x180a] = 0x775b, [0x180b] = 0x7765, [0x180c] = 0x777f,
+  [0x180d] = 0x777e, [0x180e] = 0x7779, [0x180f] = 0x778e, [0x1810] = 0x778b,
+  [0x1811] = 0x7791, [0x1812] = 0x77a0, [0x1813] = 0x779e, [0x1814] = 0x77b0,
+  [0x1815] = 0x77b6, [0x1816] = 0x77b9, [0x1817] = 0x77bf, [0x1818] = 0x77bc,
+  [0x1819] = 0x77bd, [0x181a] = 0x77bb, [0x181b] = 0x77c7, [0x181c] = 0x77cd,
+  [0x181d] = 0x77d7, [0x181e] = 0x77da, [0x181f] = 0x77dc, [0x1820] = 0x77e3,
+  [0x1821] = 0x77ee, [0x1822] = 0x77fc, [0x1823] = 0x780c, [0x1824] = 0x7812,
+  [0x1825] = 0x7926, [0x1826] = 0x7820, [0x1827] = 0x792a, [0x1828] = 0x7845,
+  [0x1829] = 0x788e, [0x182a] = 0x7874, [0x182b] = 0x7886, [0x182c] = 0x787c,
+  [0x182d] = 0x789a, [0x182e] = 0x788c, [0x182f] = 0x78a3, [0x1830] = 0x78b5,
+  [0x1831] = 0x78aa, [0x1832] = 0x78af, [0x1833] = 0x78d1, [0x1834] = 0x78c6,
+  [0x1835] = 0x78cb, [0x1836] = 0x78d4, [0x1837] = 0x78be, [0x1838] = 0x78bc,
+  [0x1839] = 0x78c5, [0x183a] = 0x78ca, [0x183b] = 0x78ec, [0x183c] = 0x78e7,
+  [0x183d] = 0x78da, [0x183e] = 0x78fd, [0x183f] = 0x78f4, [0x1840] = 0x7907,
+  [0x1841] = 0x7912, [0x1842] = 0x7911, [0x1843] = 0x7919, [0x1844] = 0x792c,
+  [0x1845] = 0x792b, [0x1846] = 0x7940, [0x1847] = 0x7960, [0x1848] = 0x7957,
+  [0x1849] = 0x795f, [0x184a] = 0x795a, [0x184b] = 0x7955, [0x184c] = 0x7953,
+  [0x184d] = 0x797a, [0x184e] = 0x797f, [0x184f] = 0x798a, [0x1850] = 0x799d,
+  [0x1851] = 0x79a7, [0x1852] = 0x9f4b, [0x1853] = 0x79aa, [0x1854] = 0x79ae,
+  [0x1855] = 0x79b3, [0x1856] = 0x79b9, [0x1857] = 0x79ba, [0x1858] = 0x79c9,
+  [0x1859] = 0x79d5, [0x185a] = 0x79e7, [0x185b] = 0x79ec, [0x185c] = 0x79e1,
+  [0x185d] = 0x79e3, [0x185e] = 0x7a08, [0x185f] = 0x7a0d, [0x1860] = 0x7a18,
+  [0x1861] = 0x7a19, [0x1862] = 0x7a20, [0x1863] = 0x7a1f, [0x1864] = 0x7980,
+  [0x1865] = 0x7a31, [0x1866] = 0x7a3b, [0x1867] = 0x7a3e, [0x1868] = 0x7a37,
+  [0x1869] = 0x7a43, [0x186a] = 0x7a57, [0x186b] = 0x7a49, [0x186c] = 0x7a61,
+  [0x186d] = 0x7a62, [0x186e] = 0x7a69, [0x186f] = 0x9f9d, [0x1870] = 0x7a70,
+  [0x1871] = 0x7a79, [0x1872] = 0x7a7d, [0x1873] = 0x7a88, [0x1874] = 0x7a97,
+  [0x1875] = 0x7a95, [0x1876] = 0x7a98, [0x1877] = 0x7a96, [0x1878] = 0x7aa9,
+  [0x1879] = 0x7ac8, [0x187a] = 0x7ab0, [0x187b] = 0x7ab6, [0x187c] = 0x7ac5,
+  [0x187d] = 0x7ac4, [0x187e] = 0x7abf, [0x187f] = 0x9083, [0x1880] = 0x7ac7,
+  [0x1881] = 0x7aca, [0x1882] = 0x7acd, [0x1883] = 0x7acf, [0x1884] = 0x7ad5,
+  [0x1885] = 0x7ad3, [0x1886] = 0x7ad9, [0x1887] = 0x7ada, [0x1888] = 0x7add,
+  [0x1889] = 0x7ae1, [0x188a] = 0x7ae2, [0x188b] = 0x7ae6, [0x188c] = 0x7aed,
+  [0x188d] = 0x7af0, [0x188e] = 0x7b02, [0x188f] = 0x7b0f, [0x1890] = 0x7b0a,
+  [0x1891] = 0x7b06, [0x1892] = 0x7b33, [0x1893] = 0x7b18, [0x1894] = 0x7b19,
+  [0x1895] = 0x7b1e, [0x1896] = 0x7b35, [0x1897] = 0x7b28, [0x1898] = 0x7b36,
+  [0x1899] = 0x7b50, [0x189a] = 0x7b7a, [0x189b] = 0x7b04, [0x189c] = 0x7b4d,
+  [0x189d] = 0x7b0b, [0x189e] = 0x7b4c, [0x189f] = 0x7b45, [0x18a0] = 0x7b75,
+  [0x18a1] = 0x7b65, [0x18a2] = 0x7b74, [0x18a3] = 0x7b67, [0x18a4] = 0x7b70,
+  [0x18a5] = 0x7b71, [0x18a6] = 0x7b6c, [0x18a7] = 0x7b6e, [0x18a8] = 0x7b9d,
+  [0x18a9] = 0x7b98, [0x18aa] = 0x7b9f, [0x18ab] = 0x7b8d, [0x18ac] = 0x7b9c,
+  [0x18ad] = 0x7b9a, [0x18ae] = 0x7b8b, [0x18af] = 0x7b92, [0x18b0] = 0x7b8f,
+  [0x18b1] = 0x7b5d, [0x18b2] = 0x7b99, [0x18b3] = 0x7bcb, [0x18b4] = 0x7bc1,
+  [0x18b5] = 0x7bcc, [0x18b6] = 0x7bcf, [0x18b7] = 0x7bb4, [0x18b8] = 0x7bc6,
+  [0x18b9] = 0x7bdd, [0x18ba] = 0x7be9, [0x18bb] = 0x7c11, [0x18bc] = 0x7c14,
+  [0x18bd] = 0x7be6, [0x18be] = 0x7be5, [0x18bf] = 0x7c60, [0x18c0] = 0x7c00,
+  [0x18c1] = 0x7c07, [0x18c2] = 0x7c13, [0x18c3] = 0x7bf3, [0x18c4] = 0x7bf7,
+  [0x18c5] = 0x7c17, [0x18c6] = 0x7c0d, [0x18c7] = 0x7bf6, [0x18c8] = 0x7c23,
+  [0x18c9] = 0x7c27, [0x18ca] = 0x7c2a, [0x18cb] = 0x7c1f, [0x18cc] = 0x7c37,
+  [0x18cd] = 0x7c2b, [0x18ce] = 0x7c3d, [0x18cf] = 0x7c4c, [0x18d0] = 0x7c43,
+  [0x18d1] = 0x7c54, [0x18d2] = 0x7c4f, [0x18d3] = 0x7c40, [0x18d4] = 0x7c50,
+  [0x18d5] = 0x7c58, [0x18d6] = 0x7c5f, [0x18d7] = 0x7c64, [0x18d8] = 0x7c56,
+  [0x18d9] = 0x7c65, [0x18da] = 0x7c6c, [0x18db] = 0x7c75, [0x18dc] = 0x7c83,
+  [0x18dd] = 0x7c90, [0x18de] = 0x7ca4, [0x18df] = 0x7cad, [0x18e0] = 0x7ca2,
+  [0x18e1] = 0x7cab, [0x18e2] = 0x7ca1, [0x18e3] = 0x7ca8, [0x18e4] = 0x7cb3,
+  [0x18e5] = 0x7cb2, [0x18e6] = 0x7cb1, [0x18e7] = 0x7cae, [0x18e8] = 0x7cb9,
+  [0x18e9] = 0x7cbd, [0x18ea] = 0x7cc0, [0x18eb] = 0x7cc5, [0x18ec] = 0x7cc2,
+  [0x18ed] = 0x7cd8, [0x18ee] = 0x7cd2, [0x18ef] = 0x7cdc, [0x18f0] = 0x7ce2,
+  [0x18f1] = 0x9b3b, [0x18f2] = 0x7cef, [0x18f3] = 0x7cf2, [0x18f4] = 0x7cf4,
+  [0x18f5] = 0x7cf6, [0x18f6] = 0x7cfa, [0x18f7] = 0x7d06, [0x18f8] = 0x7d02,
+  [0x18f9] = 0x7d1c, [0x18fa] = 0x7d15, [0x18fb] = 0x7d0a, [0x18fc] = 0x7d45,
+  [0x18fd] = 0x7d4b, [0x18fe] = 0x7d2e, [0x18ff] = 0x7d32, [0x1900] = 0x7d3f,
+  [0x1901] = 0x7d35, [0x1902] = 0x7d46, [0x1903] = 0x7d73, [0x1904] = 0x7d56,
+  [0x1905] = 0x7d4e, [0x1906] = 0x7d72, [0x1907] = 0x7d68, [0x1908] = 0x7d6e,
+  [0x1909] = 0x7d4f, [0x190a] = 0x7d63, [0x190b] = 0x7d93, [0x190c] = 0x7d89,
+  [0x190d] = 0x7d5b, [0x190e] = 0x7d8f, [0x190f] = 0x7d7d, [0x1910] = 0x7d9b,
+  [0x1911] = 0x7dba, [0x1912] = 0x7dae, [0x1913] = 0x7da3, [0x1914] = 0x7db5,
+  [0x1915] = 0x7dc7, [0x1916] = 0x7dbd, [0x1917] = 0x7dab, [0x1918] = 0x7e3d,
+  [0x1919] = 0x7da2, [0x191a] = 0x7daf, [0x191b] = 0x7ddc, [0x191c] = 0x7db8,
+  [0x191d] = 0x7d9f, [0x191e] = 0x7db0, [0x191f] = 0x7dd8, [0x1920] = 0x7ddd,
+  [0x1921] = 0x7de4, [0x1922] = 0x7dde, [0x1923] = 0x7dfb, [0x1924] = 0x7df2,
+  [0x1925] = 0x7de1, [0x1926] = 0x7e05, [0x1927] = 0x7e0a, [0x1928] = 0x7e23,
+  [0x1929] = 0x7e21, [0x192a] = 0x7e12, [0x192b] = 0x7e31, [0x192c] = 0x7e1f,
+  [0x192d] = 0x7e09, [0x192e] = 0x7e0b, [0x192f] = 0x7e22, [0x1930] = 0x7e46,
+  [0x1931] = 0x7e66, [0x1932] = 0x7e3b, [0x1933] = 0x7e35, [0x1934] = 0x7e39,
+  [0x1935] = 0x7e43, [0x1936] = 0x7e37, [0x1937] = 0x7e32, [0x1938] = 0x7e3a,
+  [0x1939] = 0x7e67, [0x193a] = 0x7e5d, [0x193b] = 0x7e56, [0x193c] = 0x7e5e,
+  [0x193d] = 0x7e59, [0x193e] = 0x7e5a, [0x193f] = 0x7e79, [0x1940] = 0x7e6a,
+  [0x1941] = 0x7e69, [0x1942] = 0x7e7c, [0x1943] = 0x7e7b, [0x1944] = 0x7e83,
+  [0x1945] = 0x7dd5, [0x1946] = 0x7e7d, [0x1947] = 0x8fae, [0x1948] = 0x7e7f,
+  [0x1949] = 0x7e88, [0x194a] = 0x7e89, [0x194b] = 0x7e8c, [0x194c] = 0x7e92,
+  [0x194d] = 0x7e90, [0x194e] = 0x7e93, [0x194f] = 0x7e94, [0x1950] = 0x7e96,
+  [0x1951] = 0x7e8e, [0x1952] = 0x7e9b, [0x1953] = 0x7e9c, [0x1954] = 0x7f38,
+  [0x1955] = 0x7f3a, [0x1956] = 0x7f45, [0x1957] = 0x7f4c, [0x1958] = 0x7f4d,
+  [0x1959] = 0x7f4e, [0x195a] = 0x7f50, [0x195b] = 0x7f51, [0x195c] = 0x7f55,
+  [0x195d] = 0x7f54, [0x195e] = 0x7f58, [0x195f] = 0x7f5f, [0x1960] = 0x7f60,
+  [0x1961] = 0x7f68, [0x1962] = 0x7f69, [0x1963] = 0x7f67, [0x1964] = 0x7f78,
+  [0x1965] = 0x7f82, [0x1966] = 0x7f86, [0x1967] = 0x7f83, [0x1968] = 0x7f88,
+  [0x1969] = 0x7f87, [0x196a] = 0x7f8c, [0x196b] = 0x7f94, [0x196c] = 0x7f9e,
+  [0x196d] = 0x7f9d, [0x196e] = 0x7f9a, [0x196f] = 0x7fa3, [0x1970] = 0x7faf,
+  [0x1971] = 0x7fb2, [0x1972] = 0x7fb9, [0x1973] = 0x7fae, [0x1974] = 0x7fb6,
+  [0x1975] = 0x7fb8, [0x1976] = 0x8b71, [0x1977] = 0x7fc5, [0x1978] = 0x7fc6,
+  [0x1979] = 0x7fca, [0x197a] = 0x7fd5, [0x197b] = 0x7fd4, [0x197c] = 0x7fe1,
+  [0x197d] = 0x7fe6, [0x197e] = 0x7fe9, [0x197f] = 0x7ff3, [0x1980] = 0x7ff9,
+  [0x1981] = 0x98dc, [0x1982] = 0x8006, [0x1983] = 0x8004, [0x1984] = 0x800b,
+  [0x1985] = 0x8012, [0x1986] = 0x8018, [0x1987] = 0x8019, [0x1988] = 0x801c,
+  [0x1989] = 0x8021, [0x198a] = 0x8028, [0x198b] = 0x803f, [0x198c] = 0x803b,
+  [0x198d] = 0x804a, [0x198e] = 0x8046, [0x198f] = 0x8052, [0x1990] = 0x8058,
+  [0x1991] = 0x805a, [0x1992] = 0x805f, [0x1993] = 0x8062, [0x1994] = 0x8068,
+  [0x1995] = 0x8073, [0x1996] = 0x8072, [0x1997] = 0x8070, [0x1998] = 0x8076,
+  [0x1999] = 0x8079, [0x199a] = 0x807d, [0x199b] = 0x807f, [0x199c] = 0x8084,
+  [0x199d] = 0x8086, [0x199e] = 0x8085, [0x199f] = 0x809b, [0x19a0] = 0x8093,
+  [0x19a1] = 0x809a, [0x19a2] = 0x80ad, [0x19a3] = 0x5190, [0x19a4] = 0x80ac,
+  [0x19a5] = 0x80db, [0x19a6] = 0x80e5, [0x19a7] = 0x80d9, [0x19a8] = 0x80dd,
+  [0x19a9] = 0x80c4, [0x19aa] = 0x80da, [0x19ab] = 0x80d6, [0x19ac] = 0x8109,
+  [0x19ad] = 0x80ef, [0x19ae] = 0x80f1, [0x19af] = 0x811b, [0x19b0] = 0x8129,
+  [0x19b1] = 0x8123, [0x19b2] = 0x812f, [0x19b3] = 0x814b, [0x19b4] = 0x968b,
+  [0x19b5] = 0x8146, [0x19b6] = 0x813e, [0x19b7] = 0x8153, [0x19b8] = 0x8151,
+  [0x19b9] = 0x80fc, [0x19ba] = 0x8171, [0x19bb] = 0x816e, [0x19bc] = 0x8165,
+  [0x19bd] = 0x8166, [0x19be] = 0x8174, [0x19bf] = 0x8183, [0x19c0] = 0x8188,
+  [0x19c1] = 0x818a, [0x19c2] = 0x8180, [0x19c3] = 0x8182, [0x19c4] = 0x81a0,
+  [0x19c5] = 0x8195, [0x19c6] = 0x81a4, [0x19c7] = 0x81a3, [0x19c8] = 0x815f,
+  [0x19c9] = 0x8193, [0x19ca] = 0x81a9, [0x19cb] = 0x81b0, [0x19cc] = 0x81b5,
+  [0x19cd] = 0x81be, [0x19ce] = 0x81b8, [0x19cf] = 0x81bd, [0x19d0] = 0x81c0,
+  [0x19d1] = 0x81c2, [0x19d2] = 0x81ba, [0x19d3] = 0x81c9, [0x19d4] = 0x81cd,
+  [0x19d5] = 0x81d1, [0x19d6] = 0x81d9, [0x19d7] = 0x81d8, [0x19d8] = 0x81c8,
+  [0x19d9] = 0x81da, [0x19da] = 0x81df, [0x19db] = 0x81e0, [0x19dc] = 0x81e7,
+  [0x19dd] = 0x81fa, [0x19de] = 0x81fb, [0x19df] = 0x81fe, [0x19e0] = 0x8201,
+  [0x19e1] = 0x8202, [0x19e2] = 0x8205, [0x19e3] = 0x8207, [0x19e4] = 0x820a,
+  [0x19e5] = 0x820d, [0x19e6] = 0x8210, [0x19e7] = 0x8216, [0x19e8] = 0x8229,
+  [0x19e9] = 0x822b, [0x19ea] = 0x8238, [0x19eb] = 0x8233, [0x19ec] = 0x8240,
+  [0x19ed] = 0x8259, [0x19ee] = 0x8258, [0x19ef] = 0x825d, [0x19f0] = 0x825a,
+  [0x19f1] = 0x825f, [0x19f2] = 0x8264, [0x19f3] = 0x8262, [0x19f4] = 0x8268,
+  [0x19f5] = 0x826a, [0x19f6] = 0x826b, [0x19f7] = 0x822e, [0x19f8] = 0x8271,
+  [0x19f9] = 0x8277, [0x19fa] = 0x8278, [0x19fb] = 0x827e, [0x19fc] = 0x828d,
+  [0x19fd] = 0x8292, [0x19fe] = 0x82ab, [0x19ff] = 0x829f, [0x1a00] = 0x82bb,
+  [0x1a01] = 0x82ac, [0x1a02] = 0x82e1, [0x1a03] = 0x82e3, [0x1a04] = 0x82df,
+  [0x1a05] = 0x82d2, [0x1a06] = 0x82f4, [0x1a07] = 0x82f3, [0x1a08] = 0x82fa,
+  [0x1a09] = 0x8393, [0x1a0a] = 0x8303, [0x1a0b] = 0x82fb, [0x1a0c] = 0x82f9,
+  [0x1a0d] = 0x82de, [0x1a0e] = 0x8306, [0x1a0f] = 0x82dc, [0x1a10] = 0x8309,
+  [0x1a11] = 0x82d9, [0x1a12] = 0x8335, [0x1a13] = 0x8334, [0x1a14] = 0x8316,
+  [0x1a15] = 0x8332, [0x1a16] = 0x8331, [0x1a17] = 0x8340, [0x1a18] = 0x8339,
+  [0x1a19] = 0x8350, [0x1a1a] = 0x8345, [0x1a1b] = 0x832f, [0x1a1c] = 0x832b,
+  [0x1a1d] = 0x8317, [0x1a1e] = 0x8318, [0x1a1f] = 0x8385, [0x1a20] = 0x839a,
+  [0x1a21] = 0x83aa, [0x1a22] = 0x839f, [0x1a23] = 0x83a2, [0x1a24] = 0x8396,
+  [0x1a25] = 0x8323, [0x1a26] = 0x838e, [0x1a27] = 0x8387, [0x1a28] = 0x838a,
+  [0x1a29] = 0x837c, [0x1a2a] = 0x83b5, [0x1a2b] = 0x8373, [0x1a2c] = 0x8375,
+  [0x1a2d] = 0x83a0, [0x1a2e] = 0x8389, [0x1a2f] = 0x83a8, [0x1a30] = 0x83f4,
+  [0x1a31] = 0x8413, [0x1a32] = 0x83eb, [0x1a33] = 0x83ce, [0x1a34] = 0x83fd,
+  [0x1a35] = 0x8403, [0x1a36] = 0x83d8, [0x1a37] = 0x840b, [0x1a38] = 0x83c1,
+  [0x1a39] = 0x83f7, [0x1a3a] = 0x8407, [0x1a3b] = 0x83e0, [0x1a3c] = 0x83f2,
+  [0x1a3d] = 0x840d, [0x1a3e] = 0x8422, [0x1a3f] = 0x8420, [0x1a40] = 0x83bd,
+  [0x1a41] = 0x8438, [0x1a42] = 0x8506, [0x1a43] = 0x83fb, [0x1a44] = 0x846d,
+  [0x1a45] = 0x842a, [0x1a46] = 0x843c, [0x1a47] = 0x855a, [0x1a48] = 0x8484,
+  [0x1a49] = 0x8477, [0x1a4a] = 0x846b, [0x1a4b] = 0x84ad, [0x1a4c] = 0x846e,
+  [0x1a4d] = 0x8482, [0x1a4e] = 0x8469, [0x1a4f] = 0x8446, [0x1a50] = 0x842c,
+  [0x1a51] = 0x846f, [0x1a52] = 0x8479, [0x1a53] = 0x8435, [0x1a54] = 0x84ca,
+  [0x1a55] = 0x8462, [0x1a56] = 0x84b9, [0x1a57] = 0x84bf, [0x1a58] = 0x849f,
+  [0x1a59] = 0x84d9, [0x1a5a] = 0x84cd, [0x1a5b] = 0x84bb, [0x1a5c] = 0x84da,
+  [0x1a5d] = 0x84d0, [0x1a5e] = 0x84c1, [0x1a5f] = 0x84c6, [0x1a60] = 0x84d6,
+  [0x1a61] = 0x84a1, [0x1a62] = 0x8521, [0x1a63] = 0x84ff, [0x1a64] = 0x84f4,
+  [0x1a65] = 0x8517, [0x1a66] = 0x8518, [0x1a67] = 0x852c, [0x1a68] = 0x851f,
+  [0x1a69] = 0x8515, [0x1a6a] = 0x8514, [0x1a6b] = 0x84fc, [0x1a6c] = 0x8540,
+  [0x1a6d] = 0x8563, [0x1a6e] = 0x8558, [0x1a6f] = 0x8548, [0x1a70] = 0x8541,
+  [0x1a71] = 0x8602, [0x1a72] = 0x854b, [0x1a73] = 0x8555, [0x1a74] = 0x8580,
+  [0x1a75] = 0x85a4, [0x1a76] = 0x8588, [0x1a77] = 0x8591, [0x1a78] = 0x858a,
+  [0x1a79] = 0x85a8, [0x1a7a] = 0x856d, [0x1a7b] = 0x8594, [0x1a7c] = 0x859b,
+  [0x1a7d] = 0x85ea, [0x1a7e] = 0x8587, [0x1a7f] = 0x859c, [0x1a80] = 0x8577,
+  [0x1a81] = 0x857e, [0x1a82] = 0x8590, [0x1a83] = 0x85c9, [0x1a84] = 0x85ba,
+  [0x1a85] = 0x85cf, [0x1a86] = 0x85b9, [0x1a87] = 0x85d0, [0x1a88] = 0x85d5,
+  [0x1a89] = 0x85dd, [0x1a8a] = 0x85e5, [0x1a8b] = 0x85dc, [0x1a8c] = 0x85f9,
+  [0x1a8d] = 0x860a, [0x1a8e] = 0x8613, [0x1a8f] = 0x860b, [0x1a90] = 0x85fe,
+  [0x1a91] = 0x85fa, [0x1a92] = 0x8606, [0x1a93] = 0x8622, [0x1a94] = 0x861a,
+  [0x1a95] = 0x8630, [0x1a96] = 0x863f, [0x1a97] = 0x864d, [0x1a98] = 0x4e55,
+  [0x1a99] = 0x8654, [0x1a9a] = 0x865f, [0x1a9b] = 0x8667, [0x1a9c] = 0x8671,
+  [0x1a9d] = 0x8693, [0x1a9e] = 0x86a3, [0x1a9f] = 0x86a9, [0x1aa0] = 0x86aa,
+  [0x1aa1] = 0x868b, [0x1aa2] = 0x868c, [0x1aa3] = 0x86b6, [0x1aa4] = 0x86af,
+  [0x1aa5] = 0x86c4, [0x1aa6] = 0x86c6, [0x1aa7] = 0x86b0, [0x1aa8] = 0x86c9,
+  [0x1aa9] = 0x8823, [0x1aaa] = 0x86ab, [0x1aab] = 0x86d4, [0x1aac] = 0x86de,
+  [0x1aad] = 0x86e9, [0x1aae] = 0x86ec, [0x1aaf] = 0x86df, [0x1ab0] = 0x86db,
+  [0x1ab1] = 0x86ef, [0x1ab2] = 0x8712, [0x1ab3] = 0x8706, [0x1ab4] = 0x8708,
+  [0x1ab5] = 0x8700, [0x1ab6] = 0x8703, [0x1ab7] = 0x86fb, [0x1ab8] = 0x8711,
+  [0x1ab9] = 0x8709, [0x1aba] = 0x870d, [0x1abb] = 0x86f9, [0x1abc] = 0x870a,
+  [0x1abd] = 0x8734, [0x1abe] = 0x873f, [0x1abf] = 0x8737, [0x1ac0] = 0x873b,
+  [0x1ac1] = 0x8725, [0x1ac2] = 0x8729, [0x1ac3] = 0x871a, [0x1ac4] = 0x8760,
+  [0x1ac5] = 0x875f, [0x1ac6] = 0x8778, [0x1ac7] = 0x874c, [0x1ac8] = 0x874e,
+  [0x1ac9] = 0x8774, [0x1aca] = 0x8757, [0x1acb] = 0x8768, [0x1acc] = 0x876e,
+  [0x1acd] = 0x8759, [0x1ace] = 0x8753, [0x1acf] = 0x8763, [0x1ad0] = 0x876a,
+  [0x1ad1] = 0x8805, [0x1ad2] = 0x87a2, [0x1ad3] = 0x879f, [0x1ad4] = 0x8782,
+  [0x1ad5] = 0x87af, [0x1ad6] = 0x87cb, [0x1ad7] = 0x87bd, [0x1ad8] = 0x87c0,
+  [0x1ad9] = 0x87d0, [0x1ada] = 0x96d6, [0x1adb] = 0x87ab, [0x1adc] = 0x87c4,
+  [0x1add] = 0x87b3, [0x1ade] = 0x87c7, [0x1adf] = 0x87c6, [0x1ae0] = 0x87bb,
+  [0x1ae1] = 0x87ef, [0x1ae2] = 0x87f2, [0x1ae3] = 0x87e0, [0x1ae4] = 0x880f,
+  [0x1ae5] = 0x880d, [0x1ae6] = 0x87fe, [0x1ae7] = 0x87f6, [0x1ae8] = 0x87f7,
+  [0x1ae9] = 0x880e, [0x1aea] = 0x87d2, [0x1aeb] = 0x8811, [0x1aec] = 0x8816,
+  [0x1aed] = 0x8815, [0x1aee] = 0x8822, [0x1aef] = 0x8821, [0x1af0] = 0x8831,
+  [0x1af1] = 0x8836, [0x1af2] = 0x8839, [0x1af3] = 0x8827, [0x1af4] = 0x883b,
+  [0x1af5] = 0x8844, [0x1af6] = 0x8842, [0x1af7] = 0x8852, [0x1af8] = 0x8859,
+  [0x1af9] = 0x885e, [0x1afa] = 0x8862, [0x1afb] = 0x886b, [0x1afc] = 0x8881,
+  [0x1afd] = 0x887e, [0x1afe] = 0x889e, [0x1aff] = 0x8875, [0x1b00] = 0x887d,
+  [0x1b01] = 0x88b5, [0x1b02] = 0x8872, [0x1b03] = 0x8882, [0x1b04] = 0x8897,
+  [0x1b05] = 0x8892, [0x1b06] = 0x88ae, [0x1b07] = 0x8899, [0x1b08] = 0x88a2,
+  [0x1b09] = 0x888d, [0x1b0a] = 0x88a4, [0x1b0b] = 0x88b0, [0x1b0c] = 0x88bf,
+  [0x1b0d] = 0x88b1, [0x1b0e] = 0x88c3, [0x1b0f] = 0x88c4, [0x1b10] = 0x88d4,
+  [0x1b11] = 0x88d8, [0x1b12] = 0x88d9, [0x1b13] = 0x88dd, [0x1b14] = 0x88f9,
+  [0x1b15] = 0x8902, [0x1b16] = 0x88fc, [0x1b17] = 0x88f4, [0x1b18] = 0x88e8,
+  [0x1b19] = 0x88f2, [0x1b1a] = 0x8904, [0x1b1b] = 0x890c, [0x1b1c] = 0x890a,
+  [0x1b1d] = 0x8913, [0x1b1e] = 0x8943, [0x1b1f] = 0x891e, [0x1b20] = 0x8925,
+  [0x1b21] = 0x892a, [0x1b22] = 0x892b, [0x1b23] = 0x8941, [0x1b24] = 0x8944,
+  [0x1b25] = 0x893b, [0x1b26] = 0x8936, [0x1b27] = 0x8938, [0x1b28] = 0x894c,
+  [0x1b29] = 0x891d, [0x1b2a] = 0x8960, [0x1b2b] = 0x895e, [0x1b2c] = 0x8966,
+  [0x1b2d] = 0x8964, [0x1b2e] = 0x896d, [0x1b2f] = 0x896a, [0x1b30] = 0x896f,
+  [0x1b31] = 0x8974, [0x1b32] = 0x8977, [0x1b33] = 0x897e, [0x1b34] = 0x8983,
+  [0x1b35] = 0x8988, [0x1b36] = 0x898a, [0x1b37] = 0x8993, [0x1b38] = 0x8998,
+  [0x1b39] = 0x89a1, [0x1b3a] = 0x89a9, [0x1b3b] = 0x89a6, [0x1b3c] = 0x89ac,
+  [0x1b3d] = 0x89af, [0x1b3e] = 0x89b2, [0x1b3f] = 0x89ba, [0x1b40] = 0x89bd,
+  [0x1b41] = 0x89bf, [0x1b42] = 0x89c0, [0x1b43] = 0x89da, [0x1b44] = 0x89dc,
+  [0x1b45] = 0x89dd, [0x1b46] = 0x89e7, [0x1b47] = 0x89f4, [0x1b48] = 0x89f8,
+  [0x1b49] = 0x8a03, [0x1b4a] = 0x8a16, [0x1b4b] = 0x8a10, [0x1b4c] = 0x8a0c,
+  [0x1b4d] = 0x8a1b, [0x1b4e] = 0x8a1d, [0x1b4f] = 0x8a25, [0x1b50] = 0x8a36,
+  [0x1b51] = 0x8a41, [0x1b52] = 0x8a5b, [0x1b53] = 0x8a52, [0x1b54] = 0x8a46,
+  [0x1b55] = 0x8a48, [0x1b56] = 0x8a7c, [0x1b57] = 0x8a6d, [0x1b58] = 0x8a6c,
+  [0x1b59] = 0x8a62, [0x1b5a] = 0x8a85, [0x1b5b] = 0x8a82, [0x1b5c] = 0x8a84,
+  [0x1b5d] = 0x8aa8, [0x1b5e] = 0x8aa1, [0x1b5f] = 0x8a91, [0x1b60] = 0x8aa5,
+  [0x1b61] = 0x8aa6, [0x1b62] = 0x8a9a, [0x1b63] = 0x8aa3, [0x1b64] = 0x8ac4,
+  [0x1b65] = 0x8acd, [0x1b66] = 0x8ac2, [0x1b67] = 0x8ada, [0x1b68] = 0x8aeb,
+  [0x1b69] = 0x8af3, [0x1b6a] = 0x8ae7, [0x1b6b] = 0x8ae4, [0x1b6c] = 0x8af1,
+  [0x1b6d] = 0x8b14, [0x1b6e] = 0x8ae0, [0x1b6f] = 0x8ae2, [0x1b70] = 0x8af7,
+  [0x1b71] = 0x8ade, [0x1b72] = 0x8adb, [0x1b73] = 0x8b0c, [0x1b74] = 0x8b07,
+  [0x1b75] = 0x8b1a, [0x1b76] = 0x8ae1, [0x1b77] = 0x8b16, [0x1b78] = 0x8b10,
+  [0x1b79] = 0x8b17, [0x1b7a] = 0x8b20, [0x1b7b] = 0x8b33, [0x1b7c] = 0x97ab,
+  [0x1b7d] = 0x8b26, [0x1b7e] = 0x8b2b, [0x1b7f] = 0x8b3e, [0x1b80] = 0x8b28,
+  [0x1b81] = 0x8b41, [0x1b82] = 0x8b4c, [0x1b83] = 0x8b4f, [0x1b84] = 0x8b4e,
+  [0x1b85] = 0x8b49, [0x1b86] = 0x8b56, [0x1b87] = 0x8b5b, [0x1b88] = 0x8b5a,
+  [0x1b89] = 0x8b6b, [0x1b8a] = 0x8b5f, [0x1b8b] = 0x8b6c, [0x1b8c] = 0x8b6f,
+  [0x1b8d] = 0x8b74, [0x1b8e] = 0x8b7d, [0x1b8f] = 0x8b80, [0x1b90] = 0x8b8c,
+  [0x1b91] = 0x8b8e, [0x1b92] = 0x8b92, [0x1b93] = 0x8b93, [0x1b94] = 0x8b96,
+  [0x1b95] = 0x8b99, [0x1b96] = 0x8b9a, [0x1b97] = 0x8c3a, [0x1b98] = 0x8c41,
+  [0x1b99] = 0x8c3f, [0x1b9a] = 0x8c48, [0x1b9b] = 0x8c4c, [0x1b9c] = 0x8c4e,
+  [0x1b9d] = 0x8c50, [0x1b9e] = 0x8c55, [0x1b9f] = 0x8c62, [0x1ba0] = 0x8c6c,
+  [0x1ba1] = 0x8c78, [0x1ba2] = 0x8c7a, [0x1ba3] = 0x8c82, [0x1ba4] = 0x8c89,
+  [0x1ba5] = 0x8c85, [0x1ba6] = 0x8c8a, [0x1ba7] = 0x8c8d, [0x1ba8] = 0x8c8e,
+  [0x1ba9] = 0x8c94, [0x1baa] = 0x8c7c, [0x1bab] = 0x8c98, [0x1bac] = 0x621d,
+  [0x1bad] = 0x8cad, [0x1bae] = 0x8caa, [0x1baf] = 0x8cbd, [0x1bb0] = 0x8cb2,
+  [0x1bb1] = 0x8cb3, [0x1bb2] = 0x8cae, [0x1bb3] = 0x8cb6, [0x1bb4] = 0x8cc8,
+  [0x1bb5] = 0x8cc1, [0x1bb6] = 0x8ce4, [0x1bb7] = 0x8ce3, [0x1bb8] = 0x8cda,
+  [0x1bb9] = 0x8cfd, [0x1bba] = 0x8cfa, [0x1bbb] = 0x8cfb, [0x1bbc] = 0x8d04,
+  [0x1bbd] = 0x8d05, [0x1bbe] = 0x8d0a, [0x1bbf] = 0x8d07, [0x1bc0] = 0x8d0f,
+  [0x1bc1] = 0x8d0d, [0x1bc2] = 0x8d10, [0x1bc3] = 0x9f4e, [0x1bc4] = 0x8d13,
+  [0x1bc5] = 0x8ccd, [0x1bc6] = 0x8d14, [0x1bc7] = 0x8d16, [0x1bc8] = 0x8d67,
+  [0x1bc9] = 0x8d6d, [0x1bca] = 0x8d71, [0x1bcb] = 0x8d73, [0x1bcc] = 0x8d81,
+  [0x1bcd] = 0x8d99, [0x1bce] = 0x8dc2, [0x1bcf] = 0x8dbe, [0x1bd0] = 0x8dba,
+  [0x1bd1] = 0x8dcf, [0x1bd2] = 0x8dda, [0x1bd3] = 0x8dd6, [0x1bd4] = 0x8dcc,
+  [0x1bd5] = 0x8ddb, [0x1bd6] = 0x8dcb, [0x1bd7] = 0x8dea, [0x1bd8] = 0x8deb,
+  [0x1bd9] = 0x8ddf, [0x1bda] = 0x8de3, [0x1bdb] = 0x8dfc, [0x1bdc] = 0x8e08,
+  [0x1bdd] = 0x8e09, [0x1bde] = 0x8dff, [0x1bdf] = 0x8e1d, [0x1be0] = 0x8e1e,
+  [0x1be1] = 0x8e10, [0x1be2] = 0x8e1f, [0x1be3] = 0x8e42, [0x1be4] = 0x8e35,
+  [0x1be5] = 0x8e30, [0x1be6] = 0x8e34, [0x1be7] = 0x8e4a, [0x1be8] = 0x8e47,
+  [0x1be9] = 0x8e49, [0x1bea] = 0x8e4c, [0x1beb] = 0x8e50, [0x1bec] = 0x8e48,
+  [0x1bed] = 0x8e59, [0x1bee] = 0x8e64, [0x1bef] = 0x8e60, [0x1bf0] = 0x8e2a,
+  [0x1bf1] = 0x8e63, [0x1bf2] = 0x8e55, [0x1bf3] = 0x8e76, [0x1bf4] = 0x8e72,
+  [0x1bf5] = 0x8e7c, [0x1bf6] = 0x8e81, [0x1bf7] = 0x8e87, [0x1bf8] = 0x8e85,
+  [0x1bf9] = 0x8e84, [0x1bfa] = 0x8e8b, [0x1bfb] = 0x8e8a, [0x1bfc] = 0x8e93,
+  [0x1bfd] = 0x8e91, [0x1bfe] = 0x8e94, [0x1bff] = 0x8e99, [0x1c00] = 0x8eaa,
+  [0x1c01] = 0x8ea1, [0x1c02] = 0x8eac, [0x1c03] = 0x8eb0, [0x1c04] = 0x8ec6,
+  [0x1c05] = 0x8eb1, [0x1c06] = 0x8ebe, [0x1c07] = 0x8ec5, [0x1c08] = 0x8ec8,
+  [0x1c09] = 0x8ecb, [0x1c0a] = 0x8edb, [0x1c0b] = 0x8ee3, [0x1c0c] = 0x8efc,
+  [0x1c0d] = 0x8efb, [0x1c0e] = 0x8eeb, [0x1c0f] = 0x8efe, [0x1c10] = 0x8f0a,
+  [0x1c11] = 0x8f05, [0x1c12] = 0x8f15, [0x1c13] = 0x8f12, [0x1c14] = 0x8f19,
+  [0x1c15] = 0x8f13, [0x1c16] = 0x8f1c, [0x1c17] = 0x8f1f, [0x1c18] = 0x8f1b,
+  [0x1c19] = 0x8f0c, [0x1c1a] = 0x8f26, [0x1c1b] = 0x8f33, [0x1c1c] = 0x8f3b,
+  [0x1c1d] = 0x8f39, [0x1c1e] = 0x8f45, [0x1c1f] = 0x8f42, [0x1c20] = 0x8f3e,
+  [0x1c21] = 0x8f4c, [0x1c22] = 0x8f49, [0x1c23] = 0x8f46, [0x1c24] = 0x8f4e,
+  [0x1c25] = 0x8f57, [0x1c26] = 0x8f5c, [0x1c27] = 0x8f62, [0x1c28] = 0x8f63,
+  [0x1c29] = 0x8f64, [0x1c2a] = 0x8f9c, [0x1c2b] = 0x8f9f, [0x1c2c] = 0x8fa3,
+  [0x1c2d] = 0x8fad, [0x1c2e] = 0x8faf, [0x1c2f] = 0x8fb7, [0x1c30] = 0x8fda,
+  [0x1c31] = 0x8fe5, [0x1c32] = 0x8fe2, [0x1c33] = 0x8fea, [0x1c34] = 0x8fef,
+  [0x1c35] = 0x9087, [0x1c36] = 0x8ff4, [0x1c37] = 0x9005, [0x1c38] = 0x8ff9,
+  [0x1c39] = 0x8ffa, [0x1c3a] = 0x9011, [0x1c3b] = 0x9015, [0x1c3c] = 0x9021,
+  [0x1c3d] = 0x900d, [0x1c3e] = 0x901e, [0x1c3f] = 0x9016, [0x1c40] = 0x900b,
+  [0x1c41] = 0x9027, [0x1c42] = 0x9036, [0x1c43] = 0x9035, [0x1c44] = 0x9039,
+  [0x1c45] = 0x8ff8, [0x1c46] = 0x904f, [0x1c47] = 0x9050, [0x1c48] = 0x9051,
+  [0x1c49] = 0x9052, [0x1c4a] = 0x900e, [0x1c4b] = 0x9049, [0x1c4c] = 0x903e,
+  [0x1c4d] = 0x9056, [0x1c4e] = 0x9058, [0x1c4f] = 0x905e, [0x1c50] = 0x9068,
+  [0x1c51] = 0x906f, [0x1c52] = 0x9076, [0x1c53] = 0x96a8, [0x1c54] = 0x9072,
+  [0x1c55] = 0x9082, [0x1c56] = 0x907d, [0x1c57] = 0x9081, [0x1c58] = 0x9080,
+  [0x1c59] = 0x908a, [0x1c5a] = 0x9089, [0x1c5b] = 0x908f, [0x1c5c] = 0x90a8,
+  [0x1c5d] = 0x90af, [0x1c5e] = 0x90b1, [0x1c5f] = 0x90b5, [0x1c60] = 0x90e2,
+  [0x1c61] = 0x90e4, [0x1c62] = 0x6248, [0x1c63] = 0x90db, [0x1c64] = 0x9102,
+  [0x1c65] = 0x9112, [0x1c66] = 0x9119, [0x1c67] = 0x9132, [0x1c68] = 0x9130,
+  [0x1c69] = 0x914a, [0x1c6a] = 0x9156, [0x1c6b] = 0x9158, [0x1c6c] = 0x9163,
+  [0x1c6d] = 0x9165, [0x1c6e] = 0x9169, [0x1c6f] = 0x9173, [0x1c70] = 0x9172,
+  [0x1c71] = 0x918b, [0x1c72] = 0x9189, [0x1c73] = 0x9182, [0x1c74] = 0x91a2,
+  [0x1c75] = 0x91ab, [0x1c76] = 0x91af, [0x1c77] = 0x91aa, [0x1c78] = 0x91b5,
+  [0x1c79] = 0x91b4, [0x1c7a] = 0x91ba, [0x1c7b] = 0x91c0, [0x1c7c] = 0x91c1,
+  [0x1c7d] = 0x91c9, [0x1c7e] = 0x91cb, [0x1c7f] = 0x91d0, [0x1c80] = 0x91d6,
+  [0x1c81] = 0x91df, [0x1c82] = 0x91e1, [0x1c83] = 0x91db, [0x1c84] = 0x91fc,
+  [0x1c85] = 0x91f5, [0x1c86] = 0x91f6, [0x1c87] = 0x921e, [0x1c88] = 0x91ff,
+  [0x1c89] = 0x9214, [0x1c8a] = 0x922c, [0x1c8b] = 0x9215, [0x1c8c] = 0x9211,
+  [0x1c8d] = 0x925e, [0x1c8e] = 0x9257, [0x1c8f] = 0x9245, [0x1c90] = 0x9249,
+  [0x1c91] = 0x9264, [0x1c92] = 0x9248, [0x1c93] = 0x9295, [0x1c94] = 0x923f,
+  [0x1c95] = 0x924b, [0x1c96] = 0x9250, [0x1c97] = 0x929c, [0x1c98] = 0x9296,
+  [0x1c99] = 0x9293, [0x1c9a] = 0x929b, [0x1c9b] = 0x925a, [0x1c9c] = 0x92cf,
+  [0x1c9d] = 0x92b9, [0x1c9e] = 0x92b7, [0x1c9f] = 0x92e9, [0x1ca0] = 0x930f,
+  [0x1ca1] = 0x92fa, [0x1ca2] = 0x9344, [0x1ca3] = 0x932e, [0x1ca4] = 0x9319,
+  [0x1ca5] = 0x9322, [0x1ca6] = 0x931a, [0x1ca7] = 0x9323, [0x1ca8] = 0x933a,
+  [0x1ca9] = 0x9335, [0x1caa] = 0x933b, [0x1cab] = 0x935c, [0x1cac] = 0x9360,
+  [0x1cad] = 0x937c, [0x1cae] = 0x936e, [0x1caf] = 0x9356, [0x1cb0] = 0x93b0,
+  [0x1cb1] = 0x93ac, [0x1cb2] = 0x93ad, [0x1cb3] = 0x9394, [0x1cb4] = 0x93b9,
+  [0x1cb5] = 0x93d6, [0x1cb6] = 0x93d7, [0x1cb7] = 0x93e8, [0x1cb8] = 0x93e5,
+  [0x1cb9] = 0x93d8, [0x1cba] = 0x93c3, [0x1cbb] = 0x93dd, [0x1cbc] = 0x93d0,
+  [0x1cbd] = 0x93c8, [0x1cbe] = 0x93e4, [0x1cbf] = 0x941a, [0x1cc0] = 0x9414,
+  [0x1cc1] = 0x9413, [0x1cc2] = 0x9403, [0x1cc3] = 0x9407, [0x1cc4] = 0x9410,
+  [0x1cc5] = 0x9436, [0x1cc6] = 0x942b, [0x1cc7] = 0x9435, [0x1cc8] = 0x9421,
+  [0x1cc9] = 0x943a, [0x1cca] = 0x9441, [0x1ccb] = 0x9452, [0x1ccc] = 0x9444,
+  [0x1ccd] = 0x945b, [0x1cce] = 0x9460, [0x1ccf] = 0x9462, [0x1cd0] = 0x945e,
+  [0x1cd1] = 0x946a, [0x1cd2] = 0x9229, [0x1cd3] = 0x9470, [0x1cd4] = 0x9475,
+  [0x1cd5] = 0x9477, [0x1cd6] = 0x947d, [0x1cd7] = 0x945a, [0x1cd8] = 0x947c,
+  [0x1cd9] = 0x947e, [0x1cda] = 0x9481, [0x1cdb] = 0x947f, [0x1cdc] = 0x9582,
+  [0x1cdd] = 0x9587, [0x1cde] = 0x958a, [0x1cdf] = 0x9594, [0x1ce0] = 0x9596,
+  [0x1ce1] = 0x9598, [0x1ce2] = 0x9599, [0x1ce3] = 0x95a0, [0x1ce4] = 0x95a8,
+  [0x1ce5] = 0x95a7, [0x1ce6] = 0x95ad, [0x1ce7] = 0x95bc, [0x1ce8] = 0x95bb,
+  [0x1ce9] = 0x95b9, [0x1cea] = 0x95be, [0x1ceb] = 0x95ca, [0x1cec] = 0x6ff6,
+  [0x1ced] = 0x95c3, [0x1cee] = 0x95cd, [0x1cef] = 0x95cc, [0x1cf0] = 0x95d5,
+  [0x1cf1] = 0x95d4, [0x1cf2] = 0x95d6, [0x1cf3] = 0x95dc, [0x1cf4] = 0x95e1,
+  [0x1cf5] = 0x95e5, [0x1cf6] = 0x95e2, [0x1cf7] = 0x9621, [0x1cf8] = 0x9628,
+  [0x1cf9] = 0x962e, [0x1cfa] = 0x962f, [0x1cfb] = 0x9642, [0x1cfc] = 0x964c,
+  [0x1cfd] = 0x964f, [0x1cfe] = 0x964b, [0x1cff] = 0x9677, [0x1d00] = 0x965c,
+  [0x1d01] = 0x965e, [0x1d02] = 0x965d, [0x1d03] = 0x965f, [0x1d04] = 0x9666,
+  [0x1d05] = 0x9672, [0x1d06] = 0x966c, [0x1d07] = 0x968d, [0x1d08] = 0x9698,
+  [0x1d09] = 0x9695, [0x1d0a] = 0x9697, [0x1d0b] = 0x96aa, [0x1d0c] = 0x96a7,
+  [0x1d0d] = 0x96b1, [0x1d0e] = 0x96b2, [0x1d0f] = 0x96b0, [0x1d10] = 0x96b4,
+  [0x1d11] = 0x96b6, [0x1d12] = 0x96b8, [0x1d13] = 0x96b9, [0x1d14] = 0x96ce,
+  [0x1d15] = 0x96cb, [0x1d16] = 0x96c9, [0x1d17] = 0x96cd, [0x1d18] = 0x894d,
+  [0x1d19] = 0x96dc, [0x1d1a] = 0x970d, [0x1d1b] = 0x96d5, [0x1d1c] = 0x96f9,
+  [0x1d1d] = 0x9704, [0x1d1e] = 0x9706, [0x1d1f] = 0x9708, [0x1d20] = 0x9713,
+  [0x1d21] = 0x970e, [0x1d22] = 0x9711, [0x1d23] = 0x970f, [0x1d24] = 0x9716,
+  [0x1d25] = 0x9719, [0x1d26] = 0x9724, [0x1d27] = 0x972a, [0x1d28] = 0x9730,
+  [0x1d29] = 0x9739, [0x1d2a] = 0x973d, [0x1d2b] = 0x973e, [0x1d2c] = 0x9744,
+  [0x1d2d] = 0x9746, [0x1d2e] = 0x9748, [0x1d2f] = 0x9742, [0x1d30] = 0x9749,
+  [0x1d31] = 0x975c, [0x1d32] = 0x9760, [0x1d33] = 0x9764, [0x1d34] = 0x9766,
+  [0x1d35] = 0x9768, [0x1d36] = 0x52d2, [0x1d37] = 0x976b, [0x1d38] = 0x9771,
+  [0x1d39] = 0x9779, [0x1d3a] = 0x9785, [0x1d3b] = 0x977c, [0x1d3c] = 0x9781,
+  [0x1d3d] = 0x977a, [0x1d3e] = 0x9786, [0x1d3f] = 0x978b, [0x1d40] = 0x978f,
+  [0x1d41] = 0x9790, [0x1d42] = 0x979c, [0x1d43] = 0x97a8, [0x1d44] = 0x97a6,
+  [0x1d45] = 0x97a3, [0x1d46] = 0x97b3, [0x1d47] = 0x97b4, [0x1d48] = 0x97c3,
+  [0x1d49] = 0x97c6, [0x1d4a] = 0x97c8, [0x1d4b] = 0x97cb, [0x1d4c] = 0x97dc,
+  [0x1d4d] = 0x97ed, [0x1d4e] = 0x9f4f, [0x1d4f] = 0x97f2, [0x1d50] = 0x7adf,
+  [0x1d51] = 0x97f6, [0x1d52] = 0x97f5, [0x1d53] = 0x980f, [0x1d54] = 0x980c,
+  [0x1d55] = 0x9838, [0x1d56] = 0x9824, [0x1d57] = 0x9821, [0x1d58] = 0x9837,
+  [0x1d59] = 0x983d, [0x1d5a] = 0x9846, [0x1d5b] = 0x984f, [0x1d5c] = 0x984b,
+  [0x1d5d] = 0x986b, [0x1d5e] = 0x986f, [0x1d5f] = 0x9870, [0x1d60] = 0x9871,
+  [0x1d61] = 0x9874, [0x1d62] = 0x9873, [0x1d63] = 0x98aa, [0x1d64] = 0x98af,
+  [0x1d65] = 0x98b1, [0x1d66] = 0x98b6, [0x1d67] = 0x98c4, [0x1d68] = 0x98c3,
+  [0x1d69] = 0x98c6, [0x1d6a] = 0x98e9, [0x1d6b] = 0x98eb, [0x1d6c] = 0x9903,
+  [0x1d6d] = 0x9909, [0x1d6e] = 0x9912, [0x1d6f] = 0x9914, [0x1d70] = 0x9918,
+  [0x1d71] = 0x9921, [0x1d72] = 0x991d, [0x1d73] = 0x991e, [0x1d74] = 0x9924,
+  [0x1d75] = 0x9920, [0x1d76] = 0x992c, [0x1d77] = 0x992e, [0x1d78] = 0x993d,
+  [0x1d79] = 0x993e, [0x1d7a] = 0x9942, [0x1d7b] = 0x9949, [0x1d7c] = 0x9945,
+  [0x1d7d] = 0x9950, [0x1d7e] = 0x994b, [0x1d7f] = 0x9951, [0x1d80] = 0x9952,
+  [0x1d81] = 0x994c, [0x1d82] = 0x9955, [0x1d83] = 0x9997, [0x1d84] = 0x9998,
+  [0x1d85] = 0x99a5, [0x1d86] = 0x99ad, [0x1d87] = 0x99ae, [0x1d88] = 0x99bc,
+  [0x1d89] = 0x99df, [0x1d8a] = 0x99db, [0x1d8b] = 0x99dd, [0x1d8c] = 0x99d8,
+  [0x1d8d] = 0x99d1, [0x1d8e] = 0x99ed, [0x1d8f] = 0x99ee, [0x1d90] = 0x99f1,
+  [0x1d91] = 0x99f2, [0x1d92] = 0x99fb, [0x1d93] = 0x99f8, [0x1d94] = 0x9a01,
+  [0x1d95] = 0x9a0f, [0x1d96] = 0x9a05, [0x1d97] = 0x99e2, [0x1d98] = 0x9a19,
+  [0x1d99] = 0x9a2b, [0x1d9a] = 0x9a37, [0x1d9b] = 0x9a45, [0x1d9c] = 0x9a42,
+  [0x1d9d] = 0x9a40, [0x1d9e] = 0x9a43, [0x1d9f] = 0x9a3e, [0x1da0] = 0x9a55,
+  [0x1da1] = 0x9a4d, [0x1da2] = 0x9a5b, [0x1da3] = 0x9a57, [0x1da4] = 0x9a5f,
+  [0x1da5] = 0x9a62, [0x1da6] = 0x9a65, [0x1da7] = 0x9a64, [0x1da8] = 0x9a69,
+  [0x1da9] = 0x9a6b, [0x1daa] = 0x9a6a, [0x1dab] = 0x9aad, [0x1dac] = 0x9ab0,
+  [0x1dad] = 0x9abc, [0x1dae] = 0x9ac0, [0x1daf] = 0x9acf, [0x1db0] = 0x9ad1,
+  [0x1db1] = 0x9ad3, [0x1db2] = 0x9ad4, [0x1db3] = 0x9ade, [0x1db4] = 0x9adf,
+  [0x1db5] = 0x9ae2, [0x1db6] = 0x9ae3, [0x1db7] = 0x9ae6, [0x1db8] = 0x9aef,
+  [0x1db9] = 0x9aeb, [0x1dba] = 0x9aee, [0x1dbb] = 0x9af4, [0x1dbc] = 0x9af1,
+  [0x1dbd] = 0x9af7, [0x1dbe] = 0x9afb, [0x1dbf] = 0x9b06, [0x1dc0] = 0x9b18,
+  [0x1dc1] = 0x9b1a, [0x1dc2] = 0x9b1f, [0x1dc3] = 0x9b22, [0x1dc4] = 0x9b23,
+  [0x1dc5] = 0x9b25, [0x1dc6] = 0x9b27, [0x1dc7] = 0x9b28, [0x1dc8] = 0x9b29,
+  [0x1dc9] = 0x9b2a, [0x1dca] = 0x9b2e, [0x1dcb] = 0x9b2f, [0x1dcc] = 0x9b32,
+  [0x1dcd] = 0x9b44, [0x1dce] = 0x9b43, [0x1dcf] = 0x9b4f, [0x1dd0] = 0x9b4d,
+  [0x1dd1] = 0x9b4e, [0x1dd2] = 0x9b51, [0x1dd3] = 0x9b58, [0x1dd4] = 0x9b74,
+  [0x1dd5] = 0x9b93, [0x1dd6] = 0x9b83, [0x1dd7] = 0x9b91, [0x1dd8] = 0x9b96,
+  [0x1dd9] = 0x9b97, [0x1dda] = 0x9b9f, [0x1ddb] = 0x9ba0, [0x1ddc] = 0x9ba8,
+  [0x1ddd] = 0x9bb4, [0x1dde] = 0x9bc0, [0x1ddf] = 0x9bca, [0x1de0] = 0x9bb9,
+  [0x1de1] = 0x9bc6, [0x1de2] = 0x9bcf, [0x1de3] = 0x9bd1, [0x1de4] = 0x9bd2,
+  [0x1de5] = 0x9be3, [0x1de6] = 0x9be2, [0x1de7] = 0x9be4, [0x1de8] = 0x9bd4,
+  [0x1de9] = 0x9be1, [0x1dea] = 0x9c3a, [0x1deb] = 0x9bf2, [0x1dec] = 0x9bf1,
+  [0x1ded] = 0x9bf0, [0x1dee] = 0x9c15, [0x1def] = 0x9c14, [0x1df0] = 0x9c09,
+  [0x1df1] = 0x9c13, [0x1df2] = 0x9c0c, [0x1df3] = 0x9c06, [0x1df4] = 0x9c08,
+  [0x1df5] = 0x9c12, [0x1df6] = 0x9c0a, [0x1df7] = 0x9c04, [0x1df8] = 0x9c2e,
+  [0x1df9] = 0x9c1b, [0x1dfa] = 0x9c25, [0x1dfb] = 0x9c24, [0x1dfc] = 0x9c21,
+  [0x1dfd] = 0x9c30, [0x1dfe] = 0x9c47, [0x1dff] = 0x9c32, [0x1e00] = 0x9c46,
+  [0x1e01] = 0x9c3e, [0x1e02] = 0x9c5a, [0x1e03] = 0x9c60, [0x1e04] = 0x9c67,
+  [0x1e05] = 0x9c76, [0x1e06] = 0x9c78, [0x1e07] = 0x9ce7, [0x1e08] = 0x9cec,
+  [0x1e09] = 0x9cf0, [0x1e0a] = 0x9d09, [0x1e0b] = 0x9d08, [0x1e0c] = 0x9ceb,
+  [0x1e0d] = 0x9d03, [0x1e0e] = 0x9d06, [0x1e0f] = 0x9d2a, [0x1e10] = 0x9d26,
+  [0x1e11] = 0x9daf, [0x1e12] = 0x9d23, [0x1e13] = 0x9d1f, [0x1e14] = 0x9d44,
+  [0x1e15] = 0x9d15, [0x1e16] = 0x9d12, [0x1e17] = 0x9d41, [0x1e18] = 0x9d3f,
+  [0x1e19] = 0x9d3e, [0x1e1a] = 0x9d46, [0x1e1b] = 0x9d48, [0x1e1c] = 0x9d5d,
+  [0x1e1d] = 0x9d5e, [0x1e1e] = 0x9d64, [0x1e1f] = 0x9d51, [0x1e20] = 0x9d50,
+  [0x1e21] = 0x9d59, [0x1e22] = 0x9d72, [0x1e23] = 0x9d89, [0x1e24] = 0x9d87,
+  [0x1e25] = 0x9dab, [0x1e26] = 0x9d6f, [0x1e27] = 0x9d7a, [0x1e28] = 0x9d9a,
+  [0x1e29] = 0x9da4, [0x1e2a] = 0x9da9, [0x1e2b] = 0x9db2, [0x1e2c] = 0x9dc4,
+  [0x1e2d] = 0x9dc1, [0x1e2e] = 0x9dbb, [0x1e2f] = 0x9db8, [0x1e30] = 0x9dba,
+  [0x1e31] = 0x9dc6, [0x1e32] = 0x9dcf, [0x1e33] = 0x9dc2, [0x1e34] = 0x9dd9,
+  [0x1e35] = 0x9dd3, [0x1e36] = 0x9df8, [0x1e37] = 0x9de6, [0x1e38] = 0x9ded,
+  [0x1e39] = 0x9def, [0x1e3a] = 0x9dfd, [0x1e3b] = 0x9e1a, [0x1e3c] = 0x9e1b,
+  [0x1e3d] = 0x9e1e, [0x1e3e] = 0x9e75, [0x1e3f] = 0x9e79, [0x1e40] = 0x9e7d,
+  [0x1e41] = 0x9e81, [0x1e42] = 0x9e88, [0x1e43] = 0x9e8b, [0x1e44] = 0x9e8c,
+  [0x1e45] = 0x9e92, [0x1e46] = 0x9e95, [0x1e47] = 0x9e91, [0x1e48] = 0x9e9d,
+  [0x1e49] = 0x9ea5, [0x1e4a] = 0x9ea9, [0x1e4b] = 0x9eb8, [0x1e4c] = 0x9eaa,
+  [0x1e4d] = 0x9ead, [0x1e4e] = 0x9761, [0x1e4f] = 0x9ecc, [0x1e50] = 0x9ece,
+  [0x1e51] = 0x9ecf, [0x1e52] = 0x9ed0, [0x1e53] = 0x9ed4, [0x1e54] = 0x9edc,
+  [0x1e55] = 0x9ede, [0x1e56] = 0x9edd, [0x1e57] = 0x9ee0, [0x1e58] = 0x9ee5,
+  [0x1e59] = 0x9ee8, [0x1e5a] = 0x9eef, [0x1e5b] = 0x9ef4, [0x1e5c] = 0x9ef6,
+  [0x1e5d] = 0x9ef7, [0x1e5e] = 0x9ef9, [0x1e5f] = 0x9efb, [0x1e60] = 0x9efc,
+  [0x1e61] = 0x9efd, [0x1e62] = 0x9f07, [0x1e63] = 0x9f08, [0x1e64] = 0x76b7,
+  [0x1e65] = 0x9f15, [0x1e66] = 0x9f21, [0x1e67] = 0x9f2c, [0x1e68] = 0x9f3e,
+  [0x1e69] = 0x9f4a, [0x1e6a] = 0x9f52, [0x1e6b] = 0x9f54, [0x1e6c] = 0x9f63,
+  [0x1e6d] = 0x9f5f, [0x1e6e] = 0x9f60, [0x1e6f] = 0x9f61, [0x1e70] = 0x9f66,
+  [0x1e71] = 0x9f67, [0x1e72] = 0x9f6c, [0x1e73] = 0x9f6a, [0x1e74] = 0x9f77,
+  [0x1e75] = 0x9f72, [0x1e76] = 0x9f76, [0x1e77] = 0x9f95, [0x1e78] = 0x9f9c,
+  [0x1e79] = 0x9fa0, [0x1e7a] = 0x582f, [0x1e7b] = 0x69c7, [0x1e7c] = 0x9059,
+  [0x1e7d] = 0x7464, [0x1e7e] = 0x51dc, [0x1e7f] = 0x7199
+};
+
+
+const char jisx0208_from_ucs4_lat1[256][2] =
+{
+  [0x005C] = "\x21\x40", [0x00A2] = "\x21\x71", [0x00A3] = "\x21\x72",
+  [0x00A7] = "\x21\x78", [0x00A8] = "\x21\x2f", [0x00AC] = "\x22\x4c",
+  [0x00B0] = "\x21\x6B", [0x00B1] = "\x21\x5e", [0x00B4] = "\x21\x2d",
+  [0x00B6] = "\x22\x79", [0x00D7] = "\x21\x5f", [0x00F7] = "\x21\x60"
+};
+
+
+/* The following table can be generated using
+
+   egrep '^0x' < .../eastasia/jis/jis0208.txt |
+   awk '{ print $3, $2}' | egrep '^0x0[34]' | sort -u | perl tab.pl
+
+   where tab.pl contains:
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=0;
+   while (<>) {
+     local($ucs4, $jis, %rest) = split;
+     local($u)=hex($ucs4);
+     local($s)=hex($jis);
+     printf ("\n ") if ($n % 3 eq 0);
+     ++$n;
+     printf (" [0x%02x] = \"\\x%02x\\x%02x\",",
+	     int(($u - 0x391) / 256) * 94 + (($u - 0x391) & 0xff),
+	     int($s/256), $s % 256);
+   }
+   printf ("\n");
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const char jisx0208_from_ucs4_greek[0xc1][2] =
+{
+  [0x00] = "\x26\x21", [0x01] = "\x26\x22", [0x02] = "\x26\x23",
+  [0x03] = "\x26\x24", [0x04] = "\x26\x25", [0x05] = "\x26\x26",
+  [0x06] = "\x26\x27", [0x07] = "\x26\x28", [0x08] = "\x26\x29",
+  [0x09] = "\x26\x2a", [0x0a] = "\x26\x2b", [0x0b] = "\x26\x2c",
+  [0x0c] = "\x26\x2d", [0x0d] = "\x26\x2e", [0x0e] = "\x26\x2f",
+  [0x0f] = "\x26\x30", [0x10] = "\x26\x31", [0x12] = "\x26\x32",
+  [0x13] = "\x26\x33", [0x14] = "\x26\x34", [0x15] = "\x26\x35",
+  [0x16] = "\x26\x36", [0x17] = "\x26\x37", [0x18] = "\x26\x38",
+  [0x20] = "\x26\x41", [0x21] = "\x26\x42", [0x22] = "\x26\x43",
+  [0x23] = "\x26\x44", [0x24] = "\x26\x45", [0x25] = "\x26\x46",
+  [0x26] = "\x26\x47", [0x27] = "\x26\x48", [0x28] = "\x26\x49",
+  [0x29] = "\x26\x4a", [0x2a] = "\x26\x4b", [0x2b] = "\x26\x4c",
+  [0x2c] = "\x26\x4d", [0x2d] = "\x26\x4e", [0x2e] = "\x26\x4f",
+  [0x2f] = "\x26\x50", [0x30] = "\x26\x51", [0x32] = "\x26\x52",
+  [0x33] = "\x26\x53", [0x34] = "\x26\x54", [0x35] = "\x26\x55",
+  [0x36] = "\x26\x56", [0x37] = "\x26\x57", [0x38] = "\x26\x58",
+  [0x70] = "\x27\x27", [0x7f] = "\x27\x21", [0x80] = "\x27\x22",
+  [0x81] = "\x27\x23", [0x82] = "\x27\x24", [0x83] = "\x27\x25",
+  [0x84] = "\x27\x26", [0x85] = "\x27\x28", [0x86] = "\x27\x29",
+  [0x87] = "\x27\x2a", [0x88] = "\x27\x2b", [0x89] = "\x27\x2c",
+  [0x8a] = "\x27\x2d", [0x8b] = "\x27\x2e", [0x8c] = "\x27\x2f",
+  [0x8d] = "\x27\x30", [0x8e] = "\x27\x31", [0x8f] = "\x27\x32",
+  [0x90] = "\x27\x33", [0x91] = "\x27\x34", [0x92] = "\x27\x35",
+  [0x93] = "\x27\x36", [0x94] = "\x27\x37", [0x95] = "\x27\x38",
+  [0x96] = "\x27\x39", [0x97] = "\x27\x3a", [0x98] = "\x27\x3b",
+  [0x99] = "\x27\x3c", [0x9a] = "\x27\x3d", [0x9b] = "\x27\x3e",
+  [0x9c] = "\x27\x3f", [0x9d] = "\x27\x40", [0x9e] = "\x27\x41",
+  [0x9f] = "\x27\x51", [0xa0] = "\x27\x52", [0xa1] = "\x27\x53",
+  [0xa2] = "\x27\x54", [0xa3] = "\x27\x55", [0xa4] = "\x27\x56",
+  [0xa5] = "\x27\x58", [0xa6] = "\x27\x59", [0xa7] = "\x27\x5a",
+  [0xa8] = "\x27\x5b", [0xa9] = "\x27\x5c", [0xaa] = "\x27\x5d",
+  [0xab] = "\x27\x5e", [0xac] = "\x27\x5f", [0xad] = "\x27\x60",
+  [0xae] = "\x27\x61", [0xaf] = "\x27\x62", [0xb0] = "\x27\x63",
+  [0xb1] = "\x27\x64", [0xb2] = "\x27\x65", [0xb3] = "\x27\x66",
+  [0xb4] = "\x27\x67", [0xb5] = "\x27\x68", [0xb6] = "\x27\x69",
+  [0xb7] = "\x27\x6a", [0xb8] = "\x27\x6b", [0xb9] = "\x27\x6c",
+  [0xba] = "\x27\x6d", [0xbb] = "\x27\x6e", [0xbc] = "\x27\x6f",
+  [0xbd] = "\x27\x70", [0xbe] = "\x27\x71", [0xc0] = "\x27\x57"
+};
+
+
+/* The mapping of all the other UCS values is quite difficult since they
+   are distributed from 0x2010 upto to 0xffe5.  There are many gaps with
+   unpredictable place and size.  Therefore we use a table which maps
+   ranges to idexes in a table.  This table ca be generated with:
+
+   egrep '^0x' < .../eastasia/jis/jis0208.txt | awk '{ print $3, $2}' |
+   egrep '^0x[^01]' | sort -u | perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $first=$last=$idx=0;
+   while (<>) {
+     local($ucs,$jis,%rest) = split;
+     local($u)=hex($ucs);
+     if ($u - $last > 6) {
+       if ($last != 0) {
+	 printf (" { start: %#06x, end: %#06x, idx: %5d },\n",
+		 $first, $last, $idx);
+	 $idx += $last - $first + 1;
+       }
+       $first=$u;
+     }
+     $last=$u;
+   }
+   printf (" { start: %#06x, end: %#06x, idx: %5d }\n",
+	   $first, $last, $idx);
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+
+const struct jisx0208_ucs_idx jisx0208_from_ucs_idx[] =
+{
+  { start: 0x2010, end: 0x2026, idx:     0 },
+  { start: 0x2030, end: 0x2033, idx:    23 },
+  { start: 0x203b, end: 0x203b, idx:    27 },
+  { start: 0x2103, end: 0x2103, idx:    28 },
+  { start: 0x212b, end: 0x212b, idx:    29 },
+  { start: 0x2190, end: 0x2193, idx:    30 },
+  { start: 0x21d2, end: 0x21d4, idx:    34 },
+  { start: 0x2200, end: 0x220b, idx:    37 },
+  { start: 0x2212, end: 0x2212, idx:    49 },
+  { start: 0x221a, end: 0x2220, idx:    50 },
+  { start: 0x2227, end: 0x222c, idx:    57 },
+  { start: 0x2234, end: 0x2235, idx:    63 },
+  { start: 0x223d, end: 0x223d, idx:    65 },
+  { start: 0x2252, end: 0x2252, idx:    66 },
+  { start: 0x2260, end: 0x226b, idx:    67 },
+  { start: 0x2282, end: 0x2287, idx:    79 },
+  { start: 0x22a5, end: 0x22a5, idx:    85 },
+  { start: 0x2312, end: 0x2312, idx:    86 },
+  { start: 0x2500, end: 0x2503, idx:    87 },
+  { start: 0x250c, end: 0x2542, idx:    91 },
+  { start: 0x254b, end: 0x254b, idx:   146 },
+  { start: 0x25a0, end: 0x25a1, idx:   147 },
+  { start: 0x25b2, end: 0x25b3, idx:   149 },
+  { start: 0x25bc, end: 0x25bd, idx:   151 },
+  { start: 0x25c6, end: 0x25cf, idx:   153 },
+  { start: 0x25ef, end: 0x25ef, idx:   163 },
+  { start: 0x2605, end: 0x2606, idx:   164 },
+  { start: 0x2640, end: 0x2642, idx:   166 },
+  { start: 0x266a, end: 0x266f, idx:   169 },
+  { start: 0x3000, end: 0x3015, idx:   175 },
+  { start: 0x301c, end: 0x301c, idx:   197 },
+  { start: 0x3041, end: 0x3093, idx:   198 },
+  { start: 0x309b, end: 0x30fe, idx:   281 },
+  { start: 0x4e00, end: 0x4e62, idx:   381 },
+  { start: 0x4e71, end: 0x4e73, idx:   480 },
+  { start: 0x4e7e, end: 0x4ee5, idx:   483 },
+  { start: 0x4eed, end: 0x4f01, idx:   587 },
+  { start: 0x4f09, end: 0x4f11, idx:   608 },
+  { start: 0x4f1a, end: 0x4f1d, idx:   617 },
+  { start: 0x4f2f, end: 0x4f5e, idx:   621 },
+  { start: 0x4f69, end: 0x4fa1, idx:   669 },
+  { start: 0x4fab, end: 0x4fb6, idx:   726 },
+  { start: 0x4fbf, end: 0x4fe5, idx:   738 },
+  { start: 0x4fee, end: 0x4ffe, idx:   777 },
+  { start: 0x5005, end: 0x502d, idx:   794 },
+  { start: 0x5036, end: 0x5039, idx:   835 },
+  { start: 0x5043, end: 0x505c, idx:   839 },
+  { start: 0x5065, end: 0x5065, idx:   865 },
+  { start: 0x506c, end: 0x5085, idx:   866 },
+  { start: 0x508d, end: 0x5091, idx:   892 },
+  { start: 0x5098, end: 0x509a, idx:   897 },
+  { start: 0x50ac, end: 0x50b7, idx:   900 },
+  { start: 0x50be, end: 0x50ee, idx:   912 },
+  { start: 0x50f5, end: 0x5109, idx:   961 },
+  { start: 0x5112, end: 0x5121, idx:   982 },
+  { start: 0x512a, end: 0x512a, idx:   998 },
+  { start: 0x5132, end: 0x5199, idx:   999 },
+  { start: 0x51a0, end: 0x51bd, idx:  1103 },
+  { start: 0x51c4, end: 0x51cd, idx:  1133 },
+  { start: 0x51d6, end: 0x521d, idx:  1143 },
+  { start: 0x5224, end: 0x523b, idx:  1215 },
+  { start: 0x5243, end: 0x5275, idx:  1239 },
+  { start: 0x527d, end: 0x5294, idx:  1290 },
+  { start: 0x529b, end: 0x52e7, idx:  1314 },
+  { start: 0x52f2, end: 0x5323, idx:  1391 },
+  { start: 0x532a, end: 0x5384, idx:  1441 },
+  { start: 0x5396, end: 0x53bb, idx:  1532 },
+  { start: 0x53c2, end: 0x53fa, idx:  1570 },
+  { start: 0x5401, end: 0x5411, idx:  1627 },
+  { start: 0x541b, end: 0x542e, idx:  1644 },
+  { start: 0x5436, end: 0x5451, idx:  1664 },
+  { start: 0x545f, end: 0x545f, idx:  1692 },
+  { start: 0x5468, end: 0x5492, idx:  1693 },
+  { start: 0x54a2, end: 0x54c9, idx:  1736 },
+  { start: 0x54d8, end: 0x54d8, idx:  1776 },
+  { start: 0x54e1, end: 0x54f2, idx:  1777 },
+  { start: 0x54fa, end: 0x54fd, idx:  1795 },
+  { start: 0x5504, end: 0x5507, idx:  1799 },
+  { start: 0x550f, end: 0x5516, idx:  1803 },
+  { start: 0x552e, end: 0x5563, idx:  1811 },
+  { start: 0x557b, end: 0x558b, idx:  1865 },
+  { start: 0x5598, end: 0x559f, idx:  1882 },
+  { start: 0x55a7, end: 0x55b6, idx:  1890 },
+  { start: 0x55c4, end: 0x55c7, idx:  1906 },
+  { start: 0x55d4, end: 0x55e4, idx:  1910 },
+  { start: 0x55f7, end: 0x55fe, idx:  1927 },
+  { start: 0x5606, end: 0x5609, idx:  1935 },
+  { start: 0x5614, end: 0x561b, idx:  1939 },
+  { start: 0x5629, end: 0x5638, idx:  1947 },
+  { start: 0x5642, end: 0x5642, idx:  1963 },
+  { start: 0x564c, end: 0x5650, idx:  1964 },
+  { start: 0x565b, end: 0x565b, idx:  1969 },
+  { start: 0x5664, end: 0x566c, idx:  1970 },
+  { start: 0x5674, end: 0x5694, idx:  1979 },
+  { start: 0x56a0, end: 0x56a5, idx:  2012 },
+  { start: 0x56ae, end: 0x56e3, idx:  2018 },
+  { start: 0x56ee, end: 0x571f, idx:  2072 },
+  { start: 0x5726, end: 0x5730, idx:  2122 },
+  { start: 0x5737, end: 0x5751, idx:  2133 },
+  { start: 0x5761, end: 0x576a, idx:  2160 },
+  { start: 0x577f, end: 0x578b, idx:  2170 },
+  { start: 0x5793, end: 0x5793, idx:  2183 },
+  { start: 0x57a0, end: 0x57b3, idx:  2184 },
+  { start: 0x57c0, end: 0x57e3, idx:  2204 },
+  { start: 0x57f4, end: 0x580b, idx:  2240 },
+  { start: 0x5815, end: 0x5841, idx:  2264 },
+  { start: 0x584a, end: 0x5862, idx:  2309 },
+  { start: 0x5869, end: 0x5885, idx:  2334 },
+  { start: 0x5893, end: 0x589f, idx:  2363 },
+  { start: 0x58a8, end: 0x5902, idx:  2376 },
+  { start: 0x5909, end: 0x59b2, idx:  2467 },
+  { start: 0x59b9, end: 0x59be, idx:  2637 },
+  { start: 0x59c6, end: 0x59dc, idx:  2643 },
+  { start: 0x59e5, end: 0x59eb, idx:  2666 },
+  { start: 0x59f6, end: 0x5a09, idx:  2673 },
+  { start: 0x5a11, end: 0x5a11, idx:  2693 },
+  { start: 0x5a18, end: 0x5a49, idx:  2694 },
+  { start: 0x5a5a, end: 0x5a5a, idx:  2744 },
+  { start: 0x5a62, end: 0x5a6c, idx:  2745 },
+  { start: 0x5a7f, end: 0x5a7f, idx:  2756 },
+  { start: 0x5a92, end: 0x5a92, idx:  2757 },
+  { start: 0x5a9a, end: 0x5a9b, idx:  2758 },
+  { start: 0x5abc, end: 0x5ac2, idx:  2760 },
+  { start: 0x5ac9, end: 0x5ad7, idx:  2767 },
+  { start: 0x5ae1, end: 0x5ae9, idx:  2782 },
+  { start: 0x5afa, end: 0x5afb, idx:  2791 },
+  { start: 0x5b09, end: 0x5b0c, idx:  2793 },
+  { start: 0x5b16, end: 0x5b16, idx:  2797 },
+  { start: 0x5b22, end: 0x5b22, idx:  2798 },
+  { start: 0x5b2a, end: 0x5b36, idx:  2799 },
+  { start: 0x5b3e, end: 0x5b45, idx:  2812 },
+  { start: 0x5b50, end: 0x5ba6, idx:  2820 },
+  { start: 0x5bae, end: 0x5bd4, idx:  2907 },
+  { start: 0x5bdb, end: 0x5c31, idx:  2946 },
+  { start: 0x5c38, end: 0x5c55, idx:  3033 },
+  { start: 0x5c5e, end: 0x5c65, idx:  3063 },
+  { start: 0x5c6c, end: 0x5c79, idx:  3071 },
+  { start: 0x5c8c, end: 0x5c94, idx:  3085 },
+  { start: 0x5ca1, end: 0x5ca1, idx:  3094 },
+  { start: 0x5ca8, end: 0x5cbe, idx:  3095 },
+  { start: 0x5cc5, end: 0x5cc7, idx:  3118 },
+  { start: 0x5cd9, end: 0x5cd9, idx:  3121 },
+  { start: 0x5ce0, end: 0x5ce1, idx:  3122 },
+  { start: 0x5ce8, end: 0x5cfd, idx:  3124 },
+  { start: 0x5d07, end: 0x5d22, idx:  3146 },
+  { start: 0x5d29, end: 0x5d29, idx:  3174 },
+  { start: 0x5d4b, end: 0x5d52, idx:  3175 },
+  { start: 0x5d5c, end: 0x5d5c, idx:  3183 },
+  { start: 0x5d69, end: 0x5d76, idx:  3184 },
+  { start: 0x5d82, end: 0x5d90, idx:  3198 },
+  { start: 0x5d9d, end: 0x5da2, idx:  3213 },
+  { start: 0x5dac, end: 0x5dae, idx:  3219 },
+  { start: 0x5db7, end: 0x5dbd, idx:  3222 },
+  { start: 0x5dc9, end: 0x5e1d, idx:  3229 },
+  { start: 0x5e25, end: 0x5e57, idx:  3314 },
+  { start: 0x5e5f, end: 0x5e64, idx:  3365 },
+  { start: 0x5e72, end: 0x5ead, idx:  3371 },
+  { start: 0x5eb5, end: 0x5eb8, idx:  3431 },
+  { start: 0x5ec1, end: 0x5f41, idx:  3435 },
+  { start: 0x5f48, end: 0x5fa1, idx:  3564 },
+  { start: 0x5fa8, end: 0x5fc5, idx:  3654 },
+  { start: 0x5fcc, end: 0x5fcd, idx:  3684 },
+  { start: 0x5fd6, end: 0x5fe4, idx:  3686 },
+  { start: 0x5feb, end: 0x5fff, idx:  3701 },
+  { start: 0x600e, end: 0x6031, idx:  3722 },
+  { start: 0x603a, end: 0x603a, idx:  3758 },
+  { start: 0x6041, end: 0x6077, idx:  3759 },
+  { start: 0x6081, end: 0x60aa, idx:  3814 },
+  { start: 0x60b2, end: 0x60bd, idx:  3856 },
+  { start: 0x60c5, end: 0x60c7, idx:  3868 },
+  { start: 0x60d1, end: 0x60e8, idx:  3871 },
+  { start: 0x60f0, end: 0x612c, idx:  3895 },
+  { start: 0x6134, end: 0x6134, idx:  3956 },
+  { start: 0x613c, end: 0x6177, idx:  3957 },
+  { start: 0x617e, end: 0x619a, idx:  4017 },
+  { start: 0x61a4, end: 0x61d0, idx:  4046 },
+  { start: 0x61e3, end: 0x61e6, idx:  4091 },
+  { start: 0x61f2, end: 0x6200, idx:  4095 },
+  { start: 0x6208, end: 0x628a, idx:  4110 },
+  { start: 0x6291, end: 0x629e, idx:  4241 },
+  { start: 0x62ab, end: 0x62e1, idx:  4255 },
+  { start: 0x62ec, end: 0x62f7, idx:  4310 },
+  { start: 0x62fe, end: 0x6311, idx:  4322 },
+  { start: 0x6319, end: 0x631f, idx:  4342 },
+  { start: 0x6327, end: 0x632f, idx:  4349 },
+  { start: 0x633a, end: 0x633f, idx:  4358 },
+  { start: 0x6349, end: 0x635c, idx:  4364 },
+  { start: 0x6367, end: 0x63fa, idx:  4384 },
+  { start: 0x6406, end: 0x6406, idx:  4532 },
+  { start: 0x640d, end: 0x641c, idx:  4533 },
+  { start: 0x6426, end: 0x642d, idx:  4549 },
+  { start: 0x6434, end: 0x6442, idx:  4557 },
+  { start: 0x644e, end: 0x644e, idx:  4572 },
+  { start: 0x6458, end: 0x6458, idx:  4573 },
+  { start: 0x6467, end: 0x646f, idx:  4574 },
+  { start: 0x6476, end: 0x647a, idx:  4583 },
+  { start: 0x6483, end: 0x6488, idx:  4588 },
+  { start: 0x6492, end: 0x64b2, idx:  4594 },
+  { start: 0x64b9, end: 0x6505, idx:  4627 },
+  { start: 0x6518, end: 0x6578, idx:  4704 },
+  { start: 0x6582, end: 0x65b0, idx:  4801 },
+  { start: 0x65b7, end: 0x65f1, idx:  4848 },
+  { start: 0x65fa, end: 0x65fb, idx:  4907 },
+  { start: 0x6602, end: 0x6614, idx:  4909 },
+  { start: 0x661c, end: 0x6652, idx:  4928 },
+  { start: 0x665d, end: 0x667a, idx:  4983 },
+  { start: 0x6681, end: 0x66c9, idx:  5013 },
+  { start: 0x66d6, end: 0x66e9, idx:  5086 },
+  { start: 0x66f0, end: 0x671f, idx:  5106 },
+  { start: 0x6726, end: 0x67b9, idx:  5154 },
+  { start: 0x67c1, end: 0x6804, idx:  5302 },
+  { start: 0x6813, end: 0x6817, idx:  5370 },
+  { start: 0x681e, end: 0x6822, idx:  5375 },
+  { start: 0x6829, end: 0x682b, idx:  5380 },
+  { start: 0x6832, end: 0x6867, idx:  5383 },
+  { start: 0x6874, end: 0x6877, idx:  5437 },
+  { start: 0x687e, end: 0x6885, idx:  5441 },
+  { start: 0x688d, end: 0x68bc, idx:  5449 },
+  { start: 0x68c4, end: 0x68e7, idx:  5497 },
+  { start: 0x68ee, end: 0x68f2, idx:  5533 },
+  { start: 0x68f9, end: 0x6912, idx:  5538 },
+  { start: 0x6919, end: 0x693f, idx:  5564 },
+  { start: 0x694a, end: 0x694a, idx:  5603 },
+  { start: 0x6953, end: 0x6962, idx:  5604 },
+  { start: 0x696a, end: 0x6982, idx:  5620 },
+  { start: 0x698a, end: 0x69a0, idx:  5645 },
+  { start: 0x69a7, end: 0x69a7, idx:  5668 },
+  { start: 0x69ae, end: 0x69b4, idx:  5669 },
+  { start: 0x69bb, end: 0x69de, idx:  5676 },
+  { start: 0x69e7, end: 0x69f2, idx:  5712 },
+  { start: 0x69f9, end: 0x6a2e, idx:  5724 },
+  { start: 0x6a35, end: 0x6a3d, idx:  5778 },
+  { start: 0x6a44, end: 0x6a4b, idx:  5787 },
+  { start: 0x6a58, end: 0x6a66, idx:  5795 },
+  { start: 0x6a72, end: 0x6a78, idx:  5810 },
+  { start: 0x6a7f, end: 0x6a84, idx:  5817 },
+  { start: 0x6a8d, end: 0x6a90, idx:  5823 },
+  { start: 0x6a97, end: 0x6aa3, idx:  5827 },
+  { start: 0x6aaa, end: 0x6ac3, idx:  5840 },
+  { start: 0x6ad1, end: 0x6ad3, idx:  5866 },
+  { start: 0x6ada, end: 0x6adf, idx:  5869 },
+  { start: 0x6ae8, end: 0x6aea, idx:  5875 },
+  { start: 0x6afa, end: 0x6afb, idx:  5878 },
+  { start: 0x6b04, end: 0x6b0a, idx:  5880 },
+  { start: 0x6b12, end: 0x6b16, idx:  5887 },
+  { start: 0x6b1d, end: 0x6b27, idx:  5892 },
+  { start: 0x6b32, end: 0x6b8d, idx:  5903 },
+  { start: 0x6b95, end: 0x6bdf, idx:  5995 },
+  { start: 0x6beb, end: 0x6bf3, idx:  6070 },
+  { start: 0x6c08, end: 0x6c08, idx:  6079 },
+  { start: 0x6c0f, end: 0x6c1b, idx:  6080 },
+  { start: 0x6c23, end: 0x6c24, idx:  6093 },
+  { start: 0x6c34, end: 0x6c42, idx:  6095 },
+  { start: 0x6c4e, end: 0x6c73, idx:  6110 },
+  { start: 0x6c7a, end: 0x6ca2, idx:  6148 },
+  { start: 0x6cab, end: 0x6ccc, idx:  6189 },
+  { start: 0x6cd3, end: 0x6cf3, idx:  6223 },
+  { start: 0x6d0b, end: 0x6d2b, idx:  6256 },
+  { start: 0x6d32, end: 0x6d45, idx:  6289 },
+  { start: 0x6d59, end: 0x6d5c, idx:  6309 },
+  { start: 0x6d63, end: 0x6d79, idx:  6313 },
+  { start: 0x6d85, end: 0x6d9c, idx:  6336 },
+  { start: 0x6daf, end: 0x6dfb, idx:  6360 },
+  { start: 0x6e05, end: 0x6e0b, idx:  6437 },
+  { start: 0x6e13, end: 0x6e2f, idx:  6444 },
+  { start: 0x6e38, end: 0x6e43, idx:  6473 },
+  { start: 0x6e4a, end: 0x6e4e, idx:  6485 },
+  { start: 0x6e56, end: 0x6e5f, idx:  6490 },
+  { start: 0x6e67, end: 0x6e76, idx:  6500 },
+  { start: 0x6e7e, end: 0x6e82, idx:  6516 },
+  { start: 0x6e8c, end: 0x6ed5, idx:  6521 },
+  { start: 0x6edd, end: 0x6ede, idx:  6595 },
+  { start: 0x6eec, end: 0x6f15, idx:  6597 },
+  { start: 0x6f20, end: 0x6f23, idx:  6639 },
+  { start: 0x6f2b, end: 0x6f45, idx:  6643 },
+  { start: 0x6f54, end: 0x6f66, idx:  6670 },
+  { start: 0x6f6d, end: 0x6f86, idx:  6689 },
+  { start: 0x6f8e, end: 0x6f97, idx:  6715 },
+  { start: 0x6fa1, end: 0x6faa, idx:  6725 },
+  { start: 0x6fb1, end: 0x6fb9, idx:  6735 },
+  { start: 0x6fc0, end: 0x6fc6, idx:  6744 },
+  { start: 0x6fd4, end: 0x6fe4, idx:  6751 },
+  { start: 0x6feb, end: 0x7001, idx:  6768 },
+  { start: 0x7009, end: 0x701f, idx:  6791 },
+  { start: 0x7026, end: 0x7032, idx:  6814 },
+  { start: 0x703e, end: 0x703e, idx:  6827 },
+  { start: 0x704c, end: 0x7051, idx:  6828 },
+  { start: 0x7058, end: 0x7058, idx:  6834 },
+  { start: 0x7063, end: 0x7063, idx:  6835 },
+  { start: 0x706b, end: 0x7070, idx:  6836 },
+  { start: 0x7078, end: 0x707d, idx:  6842 },
+  { start: 0x7089, end: 0x7092, idx:  6848 },
+  { start: 0x7099, end: 0x7099, idx:  6858 },
+  { start: 0x70ac, end: 0x70ba, idx:  6859 },
+  { start: 0x70c8, end: 0x70cf, idx:  6874 },
+  { start: 0x70d9, end: 0x70df, idx:  6882 },
+  { start: 0x70f1, end: 0x70f1, idx:  6889 },
+  { start: 0x70f9, end: 0x70fd, idx:  6890 },
+  { start: 0x7109, end: 0x7109, idx:  6895 },
+  { start: 0x7114, end: 0x7126, idx:  6896 },
+  { start: 0x7136, end: 0x713c, idx:  6915 },
+  { start: 0x7149, end: 0x714e, idx:  6922 },
+  { start: 0x7155, end: 0x7159, idx:  6928 },
+  { start: 0x7162, end: 0x716e, idx:  6933 },
+  { start: 0x717d, end: 0x717d, idx:  6946 },
+  { start: 0x7184, end: 0x719f, idx:  6947 },
+  { start: 0x71a8, end: 0x71b1, idx:  6975 },
+  { start: 0x71b9, end: 0x71d7, idx:  6985 },
+  { start: 0x71df, end: 0x71ee, idx:  7016 },
+  { start: 0x71f5, end: 0x71ff, idx:  7032 },
+  { start: 0x7206, end: 0x7206, idx:  7043 },
+  { start: 0x720d, end: 0x7210, idx:  7044 },
+  { start: 0x721b, end: 0x721b, idx:  7048 },
+  { start: 0x7228, end: 0x7269, idx:  7049 },
+  { start: 0x7272, end: 0x7287, idx:  7115 },
+  { start: 0x7292, end: 0x7296, idx:  7137 },
+  { start: 0x72a0, end: 0x72b9, idx:  7142 },
+  { start: 0x72c2, end: 0x72c6, idx:  7168 },
+  { start: 0x72ce, end: 0x72e2, idx:  7173 },
+  { start: 0x72e9, end: 0x72ed, idx:  7194 },
+  { start: 0x72f7, end: 0x72fd, idx:  7199 },
+  { start: 0x730a, end: 0x730a, idx:  7206 },
+  { start: 0x7316, end: 0x7337, idx:  7207 },
+  { start: 0x733e, end: 0x7345, idx:  7241 },
+  { start: 0x734e, end: 0x734f, idx:  7249 },
+  { start: 0x7357, end: 0x7357, idx:  7251 },
+  { start: 0x7363, end: 0x737b, idx:  7252 },
+  { start: 0x7384, end: 0x738b, idx:  7277 },
+  { start: 0x7396, end: 0x7396, idx:  7285 },
+  { start: 0x73a9, end: 0x73a9, idx:  7286 },
+  { start: 0x73b2, end: 0x73b3, idx:  7287 },
+  { start: 0x73bb, end: 0x73ce, idx:  7289 },
+  { start: 0x73de, end: 0x73f1, idx:  7309 },
+  { start: 0x73f8, end: 0x7409, idx:  7329 },
+  { start: 0x7422, end: 0x7425, idx:  7347 },
+  { start: 0x7432, end: 0x7441, idx:  7351 },
+  { start: 0x7455, end: 0x7476, idx:  7367 },
+  { start: 0x747e, end: 0x7483, idx:  7401 },
+  { start: 0x748b, end: 0x748b, idx:  7407 },
+  { start: 0x749e, end: 0x74a7, idx:  7408 },
+  { start: 0x74b0, end: 0x74b0, idx:  7418 },
+  { start: 0x74bd, end: 0x74bd, idx:  7419 },
+  { start: 0x74ca, end: 0x74d4, idx:  7420 },
+  { start: 0x74dc, end: 0x74f8, idx:  7431 },
+  { start: 0x7503, end: 0x7505, idx:  7460 },
+  { start: 0x750c, end: 0x753c, idx:  7463 },
+  { start: 0x7544, end: 0x7578, idx:  7512 },
+  { start: 0x757f, end: 0x75e9, idx:  7565 },
+  { start: 0x75f0, end: 0x7601, idx:  7672 },
+  { start: 0x7609, end: 0x760d, idx:  7690 },
+  { start: 0x761f, end: 0x7627, idx:  7695 },
+  { start: 0x7630, end: 0x7634, idx:  7704 },
+  { start: 0x763b, end: 0x763b, idx:  7709 },
+  { start: 0x7642, end: 0x769a, idx:  7710 },
+  { start: 0x76ae, end: 0x770c, idx:  7799 },
+  { start: 0x771b, end: 0x7729, idx:  7894 },
+  { start: 0x7737, end: 0x7740, idx:  7909 },
+  { start: 0x7747, end: 0x7747, idx:  7919 },
+  { start: 0x775a, end: 0x776b, idx:  7920 },
+  { start: 0x7779, end: 0x777f, idx:  7938 },
+  { start: 0x778b, end: 0x7791, idx:  7945 },
+  { start: 0x779e, end: 0x77a5, idx:  7952 },
+  { start: 0x77ac, end: 0x77bf, idx:  7960 },
+  { start: 0x77c7, end: 0x77cd, idx:  7980 },
+  { start: 0x77d7, end: 0x77f3, idx:  7987 },
+  { start: 0x77fc, end: 0x7802, idx:  8016 },
+  { start: 0x780c, end: 0x7815, idx:  8023 },
+  { start: 0x7820, end: 0x7827, idx:  8033 },
+  { start: 0x7832, end: 0x7845, idx:  8041 },
+  { start: 0x785d, end: 0x785d, idx:  8061 },
+  { start: 0x786b, end: 0x7874, idx:  8062 },
+  { start: 0x787c, end: 0x789a, idx:  8072 },
+  { start: 0x78a3, end: 0x78da, idx:  8103 },
+  { start: 0x78e7, end: 0x78f4, idx:  8159 },
+  { start: 0x78fd, end: 0x7907, idx:  8173 },
+  { start: 0x790e, end: 0x7912, idx:  8184 },
+  { start: 0x7919, end: 0x7919, idx:  8189 },
+  { start: 0x7926, end: 0x792c, idx:  8190 },
+  { start: 0x793a, end: 0x7949, idx:  8197 },
+  { start: 0x7950, end: 0x796d, idx:  8213 },
+  { start: 0x7977, end: 0x798f, idx:  8243 },
+  { start: 0x799d, end: 0x799d, idx:  8268 },
+  { start: 0x79a6, end: 0x79c1, idx:  8269 },
+  { start: 0x79c9, end: 0x79d8, idx:  8297 },
+  { start: 0x79df, end: 0x79f0, idx:  8313 },
+  { start: 0x79fb, end: 0x7a00, idx:  8331 },
+  { start: 0x7a08, end: 0x7a20, idx:  8337 },
+  { start: 0x7a2e, end: 0x7a50, idx:  8362 },
+  { start: 0x7a57, end: 0x7a57, idx:  8397 },
+  { start: 0x7a61, end: 0x7a88, idx:  8398 },
+  { start: 0x7a92, end: 0x7a98, idx:  8438 },
+  { start: 0x7a9f, end: 0x7a9f, idx:  8445 },
+  { start: 0x7aa9, end: 0x7b11, idx:  8446 },
+  { start: 0x7b18, end: 0x7b2c, idx:  8551 },
+  { start: 0x7b33, end: 0x7b39, idx:  8572 },
+  { start: 0x7b45, end: 0x7b56, idx:  8579 },
+  { start: 0x7b5d, end: 0x7b5d, idx:  8597 },
+  { start: 0x7b65, end: 0x7b7a, idx:  8598 },
+  { start: 0x7b86, end: 0x7ba1, idx:  8620 },
+  { start: 0x7baa, end: 0x7bb8, idx:  8648 },
+  { start: 0x7bc0, end: 0x7bcf, idx:  8663 },
+  { start: 0x7bdd, end: 0x7bf7, idx:  8679 },
+  { start: 0x7c00, end: 0x7c00, idx:  8706 },
+  { start: 0x7c07, end: 0x7c17, idx:  8707 },
+  { start: 0x7c1f, end: 0x7c2b, idx:  8724 },
+  { start: 0x7c37, end: 0x7c43, idx:  8737 },
+  { start: 0x7c4c, end: 0x7c58, idx:  8750 },
+  { start: 0x7c5f, end: 0x7c65, idx:  8763 },
+  { start: 0x7c6c, end: 0x7c6c, idx:  8770 },
+  { start: 0x7c73, end: 0x7c75, idx:  8771 },
+  { start: 0x7c7e, end: 0x7ce7, idx:  8774 },
+  { start: 0x7cef, end: 0x7d22, idx:  8880 },
+  { start: 0x7d2b, end: 0x7d7d, idx:  8932 },
+  { start: 0x7d89, end: 0x7da3, idx:  9015 },
+  { start: 0x7dab, end: 0x7dbf, idx:  9042 },
+  { start: 0x7dc7, end: 0x7df4, idx:  9063 },
+  { start: 0x7dfb, end: 0x7e0b, idx:  9109 },
+  { start: 0x7e12, end: 0x7e12, idx:  9126 },
+  { start: 0x7e1b, end: 0x7e4d, idx:  9127 },
+  { start: 0x7e54, end: 0x7e5e, idx:  9178 },
+  { start: 0x7e66, end: 0x7e70, idx:  9189 },
+  { start: 0x7e79, end: 0x7e9c, idx:  9200 },
+  { start: 0x7f36, end: 0x7f3a, idx:  9236 },
+  { start: 0x7f45, end: 0x7f45, idx:  9241 },
+  { start: 0x7f4c, end: 0x7f58, idx:  9242 },
+  { start: 0x7f5f, end: 0x7f60, idx:  9255 },
+  { start: 0x7f67, end: 0x7f79, idx:  9257 },
+  { start: 0x7f82, end: 0x7fd5, idx:  9276 },
+  { start: 0x7fe0, end: 0x8021, idx:  9360 },
+  { start: 0x8028, end: 0x8028, idx:  9426 },
+  { start: 0x8033, end: 0x803f, idx:  9427 },
+  { start: 0x8046, end: 0x804a, idx:  9440 },
+  { start: 0x8052, end: 0x8068, idx:  9445 },
+  { start: 0x806f, end: 0x808c, idx:  9468 },
+  { start: 0x8093, end: 0x80ba, idx:  9498 },
+  { start: 0x80c3, end: 0x80ce, idx:  9538 },
+  { start: 0x80d6, end: 0x80e5, idx:  9550 },
+  { start: 0x80ef, end: 0x810a, idx:  9566 },
+  { start: 0x811a, end: 0x811b, idx:  9594 },
+  { start: 0x8123, end: 0x813e, idx:  9596 },
+  { start: 0x8146, end: 0x8155, idx:  9624 },
+  { start: 0x815f, end: 0x81a9, idx:  9640 },
+  { start: 0x81b0, end: 0x821f, idx:  9715 },
+  { start: 0x8229, end: 0x8239, idx:  9827 },
+  { start: 0x8240, end: 0x8240, idx:  9844 },
+  { start: 0x8247, end: 0x8247, idx:  9845 },
+  { start: 0x8258, end: 0x827e, idx:  9846 },
+  { start: 0x828b, end: 0x8292, idx:  9885 },
+  { start: 0x8299, end: 0x82bd, idx:  9893 },
+  { start: 0x82c5, end: 0x82c5, idx:  9930 },
+  { start: 0x82d1, end: 0x82fb, idx:  9931 },
+  { start: 0x8302, end: 0x830e, idx:  9974 },
+  { start: 0x8316, end: 0x831c, idx:  9987 },
+  { start: 0x8323, end: 0x8339, idx:  9994 },
+  { start: 0x8340, end: 0x8358, idx: 10017 },
+  { start: 0x8373, end: 0x837c, idx: 10042 },
+  { start: 0x8385, end: 0x83b5, idx: 10052 },
+  { start: 0x83bd, end: 0x83e0, idx: 10101 },
+  { start: 0x83e9, end: 0x8413, idx: 10137 },
+  { start: 0x8420, end: 0x8422, idx: 10180 },
+  { start: 0x8429, end: 0x843d, idx: 10183 },
+  { start: 0x8446, end: 0x844e, idx: 10204 },
+  { start: 0x8457, end: 0x847a, idx: 10213 },
+  { start: 0x8482, end: 0x8484, idx: 10249 },
+  { start: 0x848b, end: 0x84a1, idx: 10252 },
+  { start: 0x84ad, end: 0x84da, idx: 10275 },
+  { start: 0x84ec, end: 0x84f4, idx: 10321 },
+  { start: 0x84fc, end: 0x8506, idx: 10330 },
+  { start: 0x8511, end: 0x852d, idx: 10341 },
+  { start: 0x8535, end: 0x8535, idx: 10370 },
+  { start: 0x853d, end: 0x854e, idx: 10371 },
+  { start: 0x8555, end: 0x855a, idx: 10389 },
+  { start: 0x8563, end: 0x856d, idx: 10395 },
+  { start: 0x8577, end: 0x8577, idx: 10406 },
+  { start: 0x857e, end: 0x859c, idx: 10407 },
+  { start: 0x85a4, end: 0x85af, idx: 10438 },
+  { start: 0x85b9, end: 0x85ba, idx: 10450 },
+  { start: 0x85c1, end: 0x85c1, idx: 10452 },
+  { start: 0x85c9, end: 0x85d5, idx: 10453 },
+  { start: 0x85dc, end: 0x85dd, idx: 10466 },
+  { start: 0x85e4, end: 0x85ea, idx: 10468 },
+  { start: 0x85f7, end: 0x860b, idx: 10475 },
+  { start: 0x8613, end: 0x861a, idx: 10496 },
+  { start: 0x8622, end: 0x8622, idx: 10504 },
+  { start: 0x862d, end: 0x8630, idx: 10505 },
+  { start: 0x863f, end: 0x863f, idx: 10509 },
+  { start: 0x864d, end: 0x865f, idx: 10510 },
+  { start: 0x8667, end: 0x8671, idx: 10529 },
+  { start: 0x8679, end: 0x867b, idx: 10540 },
+  { start: 0x868a, end: 0x868c, idx: 10543 },
+  { start: 0x8693, end: 0x8695, idx: 10546 },
+  { start: 0x86a3, end: 0x86b6, idx: 10549 },
+  { start: 0x86c4, end: 0x86ef, idx: 10569 },
+  { start: 0x86f8, end: 0x871c, idx: 10613 },
+  { start: 0x8725, end: 0x8729, idx: 10650 },
+  { start: 0x8734, end: 0x873f, idx: 10655 },
+  { start: 0x8749, end: 0x8778, idx: 10667 },
+  { start: 0x877f, end: 0x8782, idx: 10715 },
+  { start: 0x878d, end: 0x878d, idx: 10719 },
+  { start: 0x879f, end: 0x87a2, idx: 10720 },
+  { start: 0x87ab, end: 0x87b3, idx: 10724 },
+  { start: 0x87ba, end: 0x87d2, idx: 10733 },
+  { start: 0x87e0, end: 0x87e0, idx: 10758 },
+  { start: 0x87ef, end: 0x87fe, idx: 10759 },
+  { start: 0x8805, end: 0x8805, idx: 10775 },
+  { start: 0x880d, end: 0x8816, idx: 10776 },
+  { start: 0x8821, end: 0x8827, idx: 10786 },
+  { start: 0x8831, end: 0x88a4, idx: 10793 },
+  { start: 0x88ab, end: 0x88b7, idx: 10909 },
+  { start: 0x88bf, end: 0x88c5, idx: 10922 },
+  { start: 0x88cf, end: 0x88e1, idx: 10929 },
+  { start: 0x88e8, end: 0x88e8, idx: 10948 },
+  { start: 0x88f2, end: 0x8913, idx: 10949 },
+  { start: 0x891d, end: 0x891e, idx: 10983 },
+  { start: 0x8925, end: 0x892b, idx: 10985 },
+  { start: 0x8936, end: 0x8944, idx: 10992 },
+  { start: 0x894c, end: 0x894d, idx: 11007 },
+  { start: 0x8956, end: 0x8956, idx: 11009 },
+  { start: 0x895e, end: 0x8977, idx: 11010 },
+  { start: 0x897e, end: 0x899a, idx: 11036 },
+  { start: 0x89a1, end: 0x89b3, idx: 11065 },
+  { start: 0x89ba, end: 0x89c0, idx: 11084 },
+  { start: 0x89d2, end: 0x89d2, idx: 11091 },
+  { start: 0x89da, end: 0x89e7, idx: 11092 },
+  { start: 0x89f4, end: 0x89f8, idx: 11106 },
+  { start: 0x8a00, end: 0x8a48, idx: 11111 },
+  { start: 0x8a50, end: 0x8a73, idx: 11184 },
+  { start: 0x8a7c, end: 0x8ab2, idx: 11220 },
+  { start: 0x8ab9, end: 0x8b2c, idx: 11275 },
+  { start: 0x8b33, end: 0x8b41, idx: 11391 },
+  { start: 0x8b49, end: 0x8b4f, idx: 11406 },
+  { start: 0x8b56, end: 0x8b5f, idx: 11413 },
+  { start: 0x8b66, end: 0x8b83, idx: 11423 },
+  { start: 0x8b8a, end: 0x8b9a, idx: 11453 },
+  { start: 0x8c37, end: 0x8c5a, idx: 11470 },
+  { start: 0x8c61, end: 0x8c62, idx: 11506 },
+  { start: 0x8c6a, end: 0x8c6c, idx: 11508 },
+  { start: 0x8c78, end: 0x8cd3, idx: 11511 },
+  { start: 0x8cda, end: 0x8ced, idx: 11603 },
+  { start: 0x8cfa, end: 0x8cfd, idx: 11623 },
+  { start: 0x8d04, end: 0x8d16, idx: 11627 },
+  { start: 0x8d64, end: 0x8d77, idx: 11646 },
+  { start: 0x8d81, end: 0x8d8a, idx: 11666 },
+  { start: 0x8d99, end: 0x8d99, idx: 11676 },
+  { start: 0x8da3, end: 0x8da8, idx: 11677 },
+  { start: 0x8db3, end: 0x8db3, idx: 11683 },
+  { start: 0x8dba, end: 0x8dc2, idx: 11684 },
+  { start: 0x8dcb, end: 0x8dcf, idx: 11693 },
+  { start: 0x8dd6, end: 0x8df5, idx: 11698 },
+  { start: 0x8dfc, end: 0x8dff, idx: 11730 },
+  { start: 0x8e08, end: 0x8e10, idx: 11734 },
+  { start: 0x8e1d, end: 0x8e1f, idx: 11743 },
+  { start: 0x8e2a, end: 0x8e35, idx: 11746 },
+  { start: 0x8e42, end: 0x8e64, idx: 11758 },
+  { start: 0x8e72, end: 0x8e99, idx: 11793 },
+  { start: 0x8ea1, end: 0x8ea1, idx: 11833 },
+  { start: 0x8eaa, end: 0x8eb1, idx: 11834 },
+  { start: 0x8ebe, end: 0x8ebe, idx: 11842 },
+  { start: 0x8ec5, end: 0x8ed2, idx: 11843 },
+  { start: 0x8edb, end: 0x8ee3, idx: 11857 },
+  { start: 0x8eeb, end: 0x8eeb, idx: 11866 },
+  { start: 0x8ef8, end: 0x8f1f, idx: 11867 },
+  { start: 0x8f26, end: 0x8f4e, idx: 11907 },
+  { start: 0x8f57, end: 0x8f64, idx: 11948 },
+  { start: 0x8f9b, end: 0x8fc5, idx: 11962 },
+  { start: 0x8fce, end: 0x8fda, idx: 12005 },
+  { start: 0x8fe2, end: 0x9027, idx: 12018 },
+  { start: 0x902e, end: 0x9091, idx: 12088 },
+  { start: 0x90a3, end: 0x90b8, idx: 12188 },
+  { start: 0x90c1, end: 0x90c1, idx: 12210 },
+  { start: 0x90ca, end: 0x90ce, idx: 12211 },
+  { start: 0x90db, end: 0x90ed, idx: 12216 },
+  { start: 0x90f5, end: 0x9102, idx: 12235 },
+  { start: 0x9112, end: 0x9112, idx: 12249 },
+  { start: 0x9119, end: 0x9119, idx: 12250 },
+  { start: 0x912d, end: 0x9132, idx: 12251 },
+  { start: 0x9149, end: 0x9158, idx: 12257 },
+  { start: 0x9162, end: 0x9178, idx: 12273 },
+  { start: 0x9182, end: 0x91e7, idx: 12296 },
+  { start: 0x91f5, end: 0x91ff, idx: 12398 },
+  { start: 0x920d, end: 0x9215, idx: 12409 },
+  { start: 0x921e, end: 0x921e, idx: 12418 },
+  { start: 0x9229, end: 0x922c, idx: 12419 },
+  { start: 0x9234, end: 0x9237, idx: 12423 },
+  { start: 0x923f, end: 0x9250, idx: 12427 },
+  { start: 0x9257, end: 0x9266, idx: 12445 },
+  { start: 0x9271, end: 0x9271, idx: 12461 },
+  { start: 0x927e, end: 0x9285, idx: 12462 },
+  { start: 0x9291, end: 0x929c, idx: 12470 },
+  { start: 0x92ad, end: 0x92ad, idx: 12482 },
+  { start: 0x92b7, end: 0x92b9, idx: 12483 },
+  { start: 0x92cf, end: 0x92d2, idx: 12486 },
+  { start: 0x92e4, end: 0x92fc, idx: 12490 },
+  { start: 0x9306, end: 0x9306, idx: 12515 },
+  { start: 0x930f, end: 0x9310, idx: 12516 },
+  { start: 0x9318, end: 0x933b, idx: 12518 },
+  { start: 0x9344, end: 0x9344, idx: 12554 },
+  { start: 0x934b, end: 0x934d, idx: 12555 },
+  { start: 0x9354, end: 0x9360, idx: 12558 },
+  { start: 0x936c, end: 0x936e, idx: 12571 },
+  { start: 0x9375, end: 0x9375, idx: 12574 },
+  { start: 0x937c, end: 0x937e, idx: 12575 },
+  { start: 0x938c, end: 0x938c, idx: 12578 },
+  { start: 0x9394, end: 0x939a, idx: 12579 },
+  { start: 0x93a7, end: 0x93b0, idx: 12586 },
+  { start: 0x93b9, end: 0x93b9, idx: 12596 },
+  { start: 0x93c3, end: 0x93c8, idx: 12597 },
+  { start: 0x93d0, end: 0x93e8, idx: 12603 },
+  { start: 0x9403, end: 0x9407, idx: 12628 },
+  { start: 0x9410, end: 0x941a, idx: 12633 },
+  { start: 0x9421, end: 0x9421, idx: 12644 },
+  { start: 0x942b, end: 0x942b, idx: 12645 },
+  { start: 0x9435, end: 0x943a, idx: 12646 },
+  { start: 0x9441, end: 0x9444, idx: 12652 },
+  { start: 0x9451, end: 0x9453, idx: 12656 },
+  { start: 0x945a, end: 0x9462, idx: 12659 },
+  { start: 0x946a, end: 0x9481, idx: 12668 },
+  { start: 0x9577, end: 0x9577, idx: 12692 },
+  { start: 0x9580, end: 0x9599, idx: 12693 },
+  { start: 0x95a0, end: 0x95b2, idx: 12719 },
+  { start: 0x95b9, end: 0x95cd, idx: 12738 },
+  { start: 0x95d4, end: 0x95e5, idx: 12759 },
+  { start: 0x961c, end: 0x9621, idx: 12777 },
+  { start: 0x9628, end: 0x9632, idx: 12783 },
+  { start: 0x963b, end: 0x9644, idx: 12794 },
+  { start: 0x964b, end: 0x9650, idx: 12804 },
+  { start: 0x965b, end: 0x967d, idx: 12810 },
+  { start: 0x9685, end: 0x9749, idx: 12845 },
+  { start: 0x9752, end: 0x9790, idx: 13042 },
+  { start: 0x9798, end: 0x97b4, idx: 13105 },
+  { start: 0x97c3, end: 0x97cb, idx: 13134 },
+  { start: 0x97d3, end: 0x97d3, idx: 13143 },
+  { start: 0x97dc, end: 0x97dc, idx: 13144 },
+  { start: 0x97ed, end: 0x981a, idx: 13145 },
+  { start: 0x9821, end: 0x9824, idx: 13191 },
+  { start: 0x982c, end: 0x982d, idx: 13195 },
+  { start: 0x9834, end: 0x983d, idx: 13197 },
+  { start: 0x9846, end: 0x985e, idx: 13207 },
+  { start: 0x9867, end: 0x9874, idx: 13232 },
+  { start: 0x98a8, end: 0x98b6, idx: 13246 },
+  { start: 0x98c3, end: 0x98c6, idx: 13261 },
+  { start: 0x98db, end: 0x98e2, idx: 13265 },
+  { start: 0x98e9, end: 0x98f4, idx: 13273 },
+  { start: 0x98fc, end: 0x992e, idx: 13285 },
+  { start: 0x993d, end: 0x9957, idx: 13336 },
+  { start: 0x9996, end: 0x9999, idx: 13363 },
+  { start: 0x99a5, end: 0x99b4, idx: 13367 },
+  { start: 0x99bc, end: 0x99c8, idx: 13383 },
+  { start: 0x99d0, end: 0x99e2, idx: 13396 },
+  { start: 0x99ed, end: 0x9a05, idx: 13415 },
+  { start: 0x9a0e, end: 0x9a19, idx: 13440 },
+  { start: 0x9a28, end: 0x9a30, idx: 13452 },
+  { start: 0x9a37, end: 0x9a37, idx: 13461 },
+  { start: 0x9a3e, end: 0x9a45, idx: 13462 },
+  { start: 0x9a4d, end: 0x9a4d, idx: 13470 },
+  { start: 0x9a55, end: 0x9a6b, idx: 13471 },
+  { start: 0x9aa8, end: 0x9ab0, idx: 13494 },
+  { start: 0x9ab8, end: 0x9ac4, idx: 13503 },
+  { start: 0x9acf, end: 0x9afb, idx: 13516 },
+  { start: 0x9b06, end: 0x9b06, idx: 13561 },
+  { start: 0x9b18, end: 0x9b32, idx: 13562 },
+  { start: 0x9b3b, end: 0x9b45, idx: 13589 },
+  { start: 0x9b4d, end: 0x9b5a, idx: 13600 },
+  { start: 0x9b6f, end: 0x9b74, idx: 13614 },
+  { start: 0x9b83, end: 0x9b83, idx: 13620 },
+  { start: 0x9b8e, end: 0x9b97, idx: 13621 },
+  { start: 0x9b9f, end: 0x9ba0, idx: 13631 },
+  { start: 0x9ba8, end: 0x9bb9, idx: 13633 },
+  { start: 0x9bc0, end: 0x9be8, idx: 13651 },
+  { start: 0x9bf0, end: 0x9bf5, idx: 13692 },
+  { start: 0x9c04, end: 0x9c25, idx: 13698 },
+  { start: 0x9c2d, end: 0x9c32, idx: 13732 },
+  { start: 0x9c39, end: 0x9c3e, idx: 13738 },
+  { start: 0x9c46, end: 0x9c48, idx: 13744 },
+  { start: 0x9c52, end: 0x9c60, idx: 13747 },
+  { start: 0x9c67, end: 0x9c67, idx: 13762 },
+  { start: 0x9c76, end: 0x9c78, idx: 13763 },
+  { start: 0x9ce5, end: 0x9cf6, idx: 13766 },
+  { start: 0x9d03, end: 0x9d2c, idx: 13784 },
+  { start: 0x9d3b, end: 0x9d48, idx: 13826 },
+  { start: 0x9d50, end: 0x9d51, idx: 13840 },
+  { start: 0x9d59, end: 0x9d64, idx: 13842 },
+  { start: 0x9d6c, end: 0x9d72, idx: 13854 },
+  { start: 0x9d7a, end: 0x9d7a, idx: 13861 },
+  { start: 0x9d87, end: 0x9d8f, idx: 13862 },
+  { start: 0x9d9a, end: 0x9d9a, idx: 13871 },
+  { start: 0x9da4, end: 0x9dc6, idx: 13872 },
+  { start: 0x9dcf, end: 0x9dd9, idx: 13907 },
+  { start: 0x9de6, end: 0x9de6, idx: 13918 },
+  { start: 0x9ded, end: 0x9dfd, idx: 13919 },
+  { start: 0x9e1a, end: 0x9e1e, idx: 13936 },
+  { start: 0x9e75, end: 0x9e81, idx: 13941 },
+  { start: 0x9e88, end: 0x9ead, idx: 13954 },
+  { start: 0x9eb8, end: 0x9ec4, idx: 13992 },
+  { start: 0x9ecc, end: 0x9ee8, idx: 14005 },
+  { start: 0x9eef, end: 0x9efd, idx: 14034 },
+  { start: 0x9f07, end: 0x9f15, idx: 14049 },
+  { start: 0x9f20, end: 0x9f21, idx: 14064 },
+  { start: 0x9f2c, end: 0x9f2c, idx: 14066 },
+  { start: 0x9f3b, end: 0x9f3e, idx: 14067 },
+  { start: 0x9f4a, end: 0x9f54, idx: 14071 },
+  { start: 0x9f5f, end: 0x9f77, idx: 14082 },
+  { start: 0x9f8d, end: 0x9f8d, idx: 14107 },
+  { start: 0x9f95, end: 0x9f95, idx: 14108 },
+  { start: 0x9f9c, end: 0x9fa0, idx: 14109 },
+  { start: 0xff01, end: 0xff5d, idx: 14114 },
+  { start: 0xffe3, end: 0xffe5, idx: 14207 },
+  { start: 0 }
+};
+
+
+/* The following table is indexed using the previous tables.  It is
+   therefore indexed using UCS with leaving large gaps out.  It can
+   be computed with
+
+   egrep '^0x' < .../eastasia/jis/jis0208.txt | awk '{ print $3, $2}' |
+   egrep '^0x[^01]' | sort -u | perl tag.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=$first=$last=$idx=0;
+
+   sub fmt {
+     printf ("\n ") if (($n % 6) == 0);
+     ++$n;
+     my($val) = pop(@_);
+     printf (" \"\\x%02x\\x%02x\",", int($val / 256), $val % 256);
+   }
+
+   while (<>) {
+     local($ucs,$jis,%rest) = split;
+     local($u)=hex($ucs);
+     if ($u - $last > 6) {
+       if ($last != 0) {
+         $idx += $last - $first + 1;
+       }
+       $first=$u;
+     } else {
+       for ($m = $last + 1; $m < $u; ++$m) {
+	 fmt (0);
+       }
+     }
+     fmt ($u);
+     $last=$u;
+   }
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const char jisx0208_from_ucs_tab[14210][2] =
+{
+  "\x20\x10", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x20\x15",
+  "\x20\x16", "\x00\x00", "\x20\x18", "\x20\x19", "\x00\x00", "\x00\x00",
+  "\x20\x1c", "\x20\x1d", "\x00\x00", "\x00\x00", "\x20\x20", "\x20\x21",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x20\x25", "\x20\x26", "\x20\x30",
+  "\x00\x00", "\x20\x32", "\x20\x33", "\x20\x3b", "\x21\x03", "\x21\x2b",
+  "\x21\x90", "\x21\x91", "\x21\x92", "\x21\x93", "\x21\xd2", "\x00\x00",
+  "\x21\xd4", "\x22\x00", "\x00\x00", "\x22\x02", "\x22\x03", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x22\x07", "\x22\x08", "\x00\x00", "\x00\x00",
+  "\x22\x0b", "\x22\x12", "\x22\x1a", "\x00\x00", "\x00\x00", "\x22\x1d",
+  "\x22\x1e", "\x00\x00", "\x22\x20", "\x22\x27", "\x22\x28", "\x22\x29",
+  "\x22\x2a", "\x22\x2b", "\x22\x2c", "\x22\x34", "\x22\x35", "\x22\x3d",
+  "\x22\x52", "\x22\x60", "\x22\x61", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x22\x66", "\x22\x67", "\x00\x00", "\x00\x00", "\x22\x6a",
+  "\x22\x6b", "\x22\x82", "\x22\x83", "\x00\x00", "\x00\x00", "\x22\x86",
+  "\x22\x87", "\x22\xa5", "\x23\x12", "\x25\x00", "\x25\x01", "\x25\x02",
+  "\x25\x03", "\x25\x0c", "\x00\x00", "\x00\x00", "\x25\x0f", "\x25\x10",
+  "\x00\x00", "\x00\x00", "\x25\x13", "\x25\x14", "\x00\x00", "\x00\x00",
+  "\x25\x17", "\x25\x18", "\x00\x00", "\x00\x00", "\x25\x1b", "\x25\x1c",
+  "\x25\x1d", "\x00\x00", "\x00\x00", "\x25\x20", "\x00\x00", "\x00\x00",
+  "\x25\x23", "\x25\x24", "\x25\x25", "\x00\x00", "\x00\x00", "\x25\x28",
+  "\x00\x00", "\x00\x00", "\x25\x2b", "\x25\x2c", "\x00\x00", "\x00\x00",
+  "\x25\x2f", "\x25\x30", "\x00\x00", "\x00\x00", "\x25\x33", "\x25\x34",
+  "\x00\x00", "\x00\x00", "\x25\x37", "\x25\x38", "\x00\x00", "\x00\x00",
+  "\x25\x3b", "\x25\x3c", "\x00\x00", "\x00\x00", "\x25\x3f", "\x00\x00",
+  "\x00\x00", "\x25\x42", "\x25\x4b", "\x25\xa0", "\x25\xa1", "\x25\xb2",
+  "\x25\xb3", "\x25\xbc", "\x25\xbd", "\x25\xc6", "\x25\xc7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x25\xcb", "\x00\x00", "\x00\x00", "\x25\xce",
+  "\x25\xcf", "\x25\xef", "\x26\x05", "\x26\x06", "\x26\x40", "\x00\x00",
+  "\x26\x42", "\x26\x6a", "\x00\x00", "\x00\x00", "\x26\x6d", "\x00\x00",
+  "\x26\x6f", "\x30\x00", "\x30\x01", "\x30\x02", "\x30\x03", "\x00\x00",
+  "\x30\x05", "\x30\x06", "\x30\x07", "\x30\x08", "\x30\x09", "\x30\x0a",
+  "\x30\x0b", "\x30\x0c", "\x30\x0d", "\x30\x0e", "\x30\x0f", "\x30\x10",
+  "\x30\x11", "\x30\x12", "\x30\x13", "\x30\x14", "\x30\x15", "\x30\x1c",
+  "\x30\x41", "\x30\x42", "\x30\x43", "\x30\x44", "\x30\x45", "\x30\x46",
+  "\x30\x47", "\x30\x48", "\x30\x49", "\x30\x4a", "\x30\x4b", "\x30\x4c",
+  "\x30\x4d", "\x30\x4e", "\x30\x4f", "\x30\x50", "\x30\x51", "\x30\x52",
+  "\x30\x53", "\x30\x54", "\x30\x55", "\x30\x56", "\x30\x57", "\x30\x58",
+  "\x30\x59", "\x30\x5a", "\x30\x5b", "\x30\x5c", "\x30\x5d", "\x30\x5e",
+  "\x30\x5f", "\x30\x60", "\x30\x61", "\x30\x62", "\x30\x63", "\x30\x64",
+  "\x30\x65", "\x30\x66", "\x30\x67", "\x30\x68", "\x30\x69", "\x30\x6a",
+  "\x30\x6b", "\x30\x6c", "\x30\x6d", "\x30\x6e", "\x30\x6f", "\x30\x70",
+  "\x30\x71", "\x30\x72", "\x30\x73", "\x30\x74", "\x30\x75", "\x30\x76",
+  "\x30\x77", "\x30\x78", "\x30\x79", "\x30\x7a", "\x30\x7b", "\x30\x7c",
+  "\x30\x7d", "\x30\x7e", "\x30\x7f", "\x30\x80", "\x30\x81", "\x30\x82",
+  "\x30\x83", "\x30\x84", "\x30\x85", "\x30\x86", "\x30\x87", "\x30\x88",
+  "\x30\x89", "\x30\x8a", "\x30\x8b", "\x30\x8c", "\x30\x8d", "\x30\x8e",
+  "\x30\x8f", "\x30\x90", "\x30\x91", "\x30\x92", "\x30\x93", "\x30\x9b",
+  "\x30\x9c", "\x30\x9d", "\x30\x9e", "\x00\x00", "\x00\x00", "\x30\xa1",
+  "\x30\xa2", "\x30\xa3", "\x30\xa4", "\x30\xa5", "\x30\xa6", "\x30\xa7",
+  "\x30\xa8", "\x30\xa9", "\x30\xaa", "\x30\xab", "\x30\xac", "\x30\xad",
+  "\x30\xae", "\x30\xaf", "\x30\xb0", "\x30\xb1", "\x30\xb2", "\x30\xb3",
+  "\x30\xb4", "\x30\xb5", "\x30\xb6", "\x30\xb7", "\x30\xb8", "\x30\xb9",
+  "\x30\xba", "\x30\xbb", "\x30\xbc", "\x30\xbd", "\x30\xbe", "\x30\xbf",
+  "\x30\xc0", "\x30\xc1", "\x30\xc2", "\x30\xc3", "\x30\xc4", "\x30\xc5",
+  "\x30\xc6", "\x30\xc7", "\x30\xc8", "\x30\xc9", "\x30\xca", "\x30\xcb",
+  "\x30\xcc", "\x30\xcd", "\x30\xce", "\x30\xcf", "\x30\xd0", "\x30\xd1",
+  "\x30\xd2", "\x30\xd3", "\x30\xd4", "\x30\xd5", "\x30\xd6", "\x30\xd7",
+  "\x30\xd8", "\x30\xd9", "\x30\xda", "\x30\xdb", "\x30\xdc", "\x30\xdd",
+  "\x30\xde", "\x30\xdf", "\x30\xe0", "\x30\xe1", "\x30\xe2", "\x30\xe3",
+  "\x30\xe4", "\x30\xe5", "\x30\xe6", "\x30\xe7", "\x30\xe8", "\x30\xe9",
+  "\x30\xea", "\x30\xeb", "\x30\xec", "\x30\xed", "\x30\xee", "\x30\xef",
+  "\x30\xf0", "\x30\xf1", "\x30\xf2", "\x30\xf3", "\x30\xf4", "\x30\xf5",
+  "\x30\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x30\xfb",
+  "\x30\xfc", "\x30\xfd", "\x30\xfe", "\x4e\x00", "\x4e\x01", "\x00\x00",
+  "\x4e\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x07", "\x4e\x08",
+  "\x4e\x09", "\x4e\x0a", "\x4e\x0b", "\x00\x00", "\x4e\x0d", "\x4e\x0e",
+  "\x00\x00", "\x4e\x10", "\x4e\x11", "\x00\x00", "\x00\x00", "\x4e\x14",
+  "\x4e\x15", "\x4e\x16", "\x4e\x17", "\x4e\x18", "\x4e\x19", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x1e", "\x00\x00", "\x00\x00",
+  "\x4e\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x26",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x2a", "\x00\x00", "\x00\x00",
+  "\x4e\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x31", "\x4e\x32",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x36", "\x00\x00", "\x4e\x38",
+  "\x4e\x39", "\x00\x00", "\x4e\x3b", "\x4e\x3c", "\x00\x00", "\x00\x00",
+  "\x4e\x3f", "\x00\x00", "\x00\x00", "\x4e\x42", "\x4e\x43", "\x00\x00",
+  "\x4e\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x4e\x4b", "\x00\x00", "\x4e\x4d", "\x4e\x4e", "\x4e\x4f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x55", "\x4e\x56",
+  "\x4e\x57", "\x4e\x58", "\x4e\x59", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x4e\x5d", "\x4e\x5e", "\x4e\x5f", "\x00\x00", "\x00\x00", "\x4e\x62",
+  "\x4e\x71", "\x00\x00", "\x4e\x73", "\x4e\x7e", "\x00\x00", "\x4e\x80",
+  "\x00\x00", "\x4e\x82", "\x00\x00", "\x00\x00", "\x4e\x85", "\x4e\x86",
+  "\x00\x00", "\x4e\x88", "\x4e\x89", "\x4e\x8a", "\x4e\x8b", "\x4e\x8c",
+  "\x00\x00", "\x4e\x8e", "\x00\x00", "\x00\x00", "\x4e\x91", "\x4e\x92",
+  "\x00\x00", "\x4e\x94", "\x4e\x95", "\x00\x00", "\x00\x00", "\x4e\x98",
+  "\x4e\x99", "\x00\x00", "\x4e\x9b", "\x4e\x9c", "\x00\x00", "\x4e\x9e",
+  "\x4e\x9f", "\x4e\xa0", "\x4e\xa1", "\x4e\xa2", "\x00\x00", "\x4e\xa4",
+  "\x4e\xa5", "\x4e\xa6", "\x00\x00", "\x4e\xa8", "\x00\x00", "\x00\x00",
+  "\x4e\xab", "\x4e\xac", "\x4e\xad", "\x4e\xae", "\x00\x00", "\x4e\xb0",
+  "\x00\x00", "\x00\x00", "\x4e\xb3", "\x00\x00", "\x00\x00", "\x4e\xb6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xba", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xc0", "\x4e\xc1", "\x4e\xc2",
+  "\x00\x00", "\x4e\xc4", "\x00\x00", "\x4e\xc6", "\x4e\xc7", "\x00\x00",
+  "\x00\x00", "\x4e\xca", "\x4e\xcb", "\x00\x00", "\x4e\xcd", "\x4e\xce",
+  "\x4e\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xd4",
+  "\x4e\xd5", "\x4e\xd6", "\x4e\xd7", "\x4e\xd8", "\x4e\xd9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4e\xdd", "\x4e\xde", "\x4e\xdf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4e\xe3", "\x4e\xe4", "\x4e\xe5", "\x4e\xed",
+  "\x4e\xee", "\x00\x00", "\x4e\xf0", "\x00\x00", "\x4e\xf2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4e\xf6", "\x4e\xf7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x4e\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x4f\x01", "\x4f\x09", "\x4f\x0a", "\x00\x00", "\x00\x00",
+  "\x4f\x0d", "\x4f\x0e", "\x4f\x0f", "\x4f\x10", "\x4f\x11", "\x4f\x1a",
+  "\x00\x00", "\x4f\x1c", "\x4f\x1d", "\x4f\x2f", "\x4f\x30", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4f\x34", "\x00\x00", "\x4f\x36", "\x00\x00",
+  "\x4f\x38", "\x00\x00", "\x4f\x3a", "\x00\x00", "\x4f\x3c", "\x4f\x3d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x43",
+  "\x00\x00", "\x00\x00", "\x4f\x46", "\x4f\x47", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x4d", "\x4f\x4e", "\x4f\x4f",
+  "\x4f\x50", "\x4f\x51", "\x00\x00", "\x4f\x53", "\x00\x00", "\x4f\x55",
+  "\x00\x00", "\x4f\x57", "\x00\x00", "\x4f\x59", "\x4f\x5a", "\x4f\x5b",
+  "\x4f\x5c", "\x4f\x5d", "\x4f\x5e", "\x4f\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x6f", "\x4f\x70", "\x00\x00",
+  "\x00\x00", "\x4f\x73", "\x00\x00", "\x4f\x75", "\x4f\x76", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x7b", "\x4f\x7c", "\x00\x00",
+  "\x00\x00", "\x4f\x7f", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x83",
+  "\x00\x00", "\x00\x00", "\x4f\x86", "\x00\x00", "\x4f\x88", "\x00\x00",
+  "\x00\x00", "\x4f\x8b", "\x00\x00", "\x4f\x8d", "\x00\x00", "\x4f\x8f",
+  "\x00\x00", "\x4f\x91", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x4f\x96", "\x00\x00", "\x4f\x98", "\x00\x00", "\x00\x00", "\x4f\x9b",
+  "\x00\x00", "\x4f\x9d", "\x00\x00", "\x00\x00", "\x4f\xa0", "\x4f\xa1",
+  "\x4f\xab", "\x00\x00", "\x4f\xad", "\x4f\xae", "\x4f\xaf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xb5", "\x4f\xb6",
+  "\x4f\xbf", "\x00\x00", "\x00\x00", "\x4f\xc2", "\x4f\xc3", "\x4f\xc4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xca",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xce", "\x00\x00", "\x4f\xd0",
+  "\x4f\xd1", "\x00\x00", "\x00\x00", "\x4f\xd4", "\x00\x00", "\x00\x00",
+  "\x4f\xd7", "\x4f\xd8", "\x00\x00", "\x4f\xda", "\x4f\xdb", "\x00\x00",
+  "\x4f\xdd", "\x00\x00", "\x4f\xdf", "\x00\x00", "\x4f\xe1", "\x00\x00",
+  "\x4f\xe3", "\x4f\xe4", "\x4f\xe5", "\x4f\xee", "\x4f\xef", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4f\xf3", "\x00\x00", "\x4f\xf5", "\x4f\xf6",
+  "\x00\x00", "\x4f\xf8", "\x00\x00", "\x4f\xfa", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x4f\xfe", "\x50\x05", "\x50\x06", "\x00\x00", "\x00\x00",
+  "\x50\x09", "\x00\x00", "\x50\x0b", "\x00\x00", "\x50\x0d", "\x00\x00",
+  "\x50\x0f", "\x00\x00", "\x50\x11", "\x50\x12", "\x00\x00", "\x50\x14",
+  "\x00\x00", "\x50\x16", "\x00\x00", "\x00\x00", "\x50\x19", "\x50\x1a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x1f", "\x00\x00",
+  "\x50\x21", "\x00\x00", "\x50\x23", "\x50\x24", "\x50\x25", "\x50\x26",
+  "\x00\x00", "\x50\x28", "\x50\x29", "\x50\x2a", "\x50\x2b", "\x50\x2c",
+  "\x50\x2d", "\x50\x36", "\x00\x00", "\x00\x00", "\x50\x39", "\x50\x43",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x47", "\x50\x48", "\x50\x49",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x4f",
+  "\x50\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x55",
+  "\x50\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x5a", "\x00\x00",
+  "\x50\x5c", "\x50\x65", "\x50\x6c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\x72", "\x00\x00", "\x50\x74", "\x50\x75",
+  "\x50\x76", "\x00\x00", "\x50\x78", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\x7d", "\x00\x00", "\x00\x00", "\x50\x80", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x85", "\x50\x8d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\x91", "\x50\x98", "\x50\x99", "\x50\x9a",
+  "\x50\xac", "\x50\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x50\xb2", "\x50\xb3", "\x50\xb4", "\x50\xb5", "\x00\x00", "\x50\xb7",
+  "\x50\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xc2", "\x00\x00",
+  "\x00\x00", "\x50\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xc9",
+  "\x50\xca", "\x00\x00", "\x00\x00", "\x50\xcd", "\x00\x00", "\x50\xcf",
+  "\x00\x00", "\x50\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xd5",
+  "\x50\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xda", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\xde", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\xe3", "\x00\x00", "\x50\xe5", "\x00\x00", "\x50\xe7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xed",
+  "\x50\xee", "\x50\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xf9",
+  "\x00\x00", "\x50\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x51\x00", "\x51\x01", "\x51\x02", "\x00\x00", "\x51\x04", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x09", "\x51\x12", "\x00\x00",
+  "\x51\x14", "\x51\x15", "\x51\x16", "\x00\x00", "\x51\x18", "\x00\x00",
+  "\x51\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x1f",
+  "\x00\x00", "\x51\x21", "\x51\x2a", "\x51\x32", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x51\x37", "\x00\x00", "\x00\x00", "\x51\x3a",
+  "\x51\x3b", "\x51\x3c", "\x00\x00", "\x00\x00", "\x51\x3f", "\x51\x40",
+  "\x51\x41", "\x00\x00", "\x51\x43", "\x51\x44", "\x51\x45", "\x51\x46",
+  "\x51\x47", "\x51\x48", "\x51\x49", "\x00\x00", "\x51\x4b", "\x51\x4c",
+  "\x51\x4d", "\x51\x4e", "\x00\x00", "\x51\x50", "\x00\x00", "\x51\x52",
+  "\x00\x00", "\x51\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x51\x5a", "\x00\x00", "\x51\x5c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x62", "\x00\x00", "\x00\x00",
+  "\x51\x65", "\x00\x00", "\x00\x00", "\x51\x68", "\x51\x69", "\x51\x6a",
+  "\x51\x6b", "\x51\x6c", "\x51\x6d", "\x51\x6e", "\x00\x00", "\x00\x00",
+  "\x51\x71", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x75", "\x51\x76",
+  "\x51\x77", "\x51\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x7c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x80", "\x00\x00", "\x51\x82",
+  "\x00\x00", "\x00\x00", "\x51\x85", "\x51\x86", "\x00\x00", "\x00\x00",
+  "\x51\x89", "\x51\x8a", "\x00\x00", "\x51\x8c", "\x51\x8d", "\x00\x00",
+  "\x51\x8f", "\x51\x90", "\x51\x91", "\x51\x92", "\x51\x93", "\x00\x00",
+  "\x51\x95", "\x51\x96", "\x51\x97", "\x00\x00", "\x51\x99", "\x51\xa0",
+  "\x00\x00", "\x51\xa2", "\x00\x00", "\x51\xa4", "\x51\xa5", "\x51\xa6",
+  "\x00\x00", "\x51\xa8", "\x51\xa9", "\x51\xaa", "\x51\xab", "\x51\xac",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xb0", "\x51\xb1", "\x51\xb2",
+  "\x51\xb3", "\x51\xb4", "\x51\xb5", "\x51\xb6", "\x51\xb7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xbd", "\x51\xc4",
+  "\x51\xc5", "\x51\xc6", "\x00\x00", "\x00\x00", "\x51\xc9", "\x00\x00",
+  "\x51\xcb", "\x51\xcc", "\x51\xcd", "\x51\xd6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x51\xdb", "\x51\xdc", "\x51\xdd", "\x00\x00",
+  "\x00\x00", "\x51\xe0", "\x51\xe1", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x51\xe6", "\x51\xe7", "\x00\x00", "\x51\xe9", "\x51\xea",
+  "\x00\x00", "\x00\x00", "\x51\xed", "\x00\x00", "\x00\x00", "\x51\xf0",
+  "\x51\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xf5", "\x51\xf6",
+  "\x00\x00", "\x51\xf8", "\x51\xf9", "\x51\xfa", "\x00\x00", "\x00\x00",
+  "\x51\xfd", "\x51\xfe", "\x00\x00", "\x52\x00", "\x00\x00", "\x00\x00",
+  "\x52\x03", "\x52\x04", "\x00\x00", "\x52\x06", "\x52\x07", "\x52\x08",
+  "\x00\x00", "\x52\x0a", "\x52\x0b", "\x00\x00", "\x00\x00", "\x52\x0e",
+  "\x00\x00", "\x00\x00", "\x52\x11", "\x00\x00", "\x00\x00", "\x52\x14",
+  "\x00\x00", "\x00\x00", "\x52\x17", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\x1d", "\x52\x24", "\x52\x25", "\x00\x00",
+  "\x52\x27", "\x00\x00", "\x52\x29", "\x52\x2a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x52\x2e", "\x00\x00", "\x52\x30", "\x00\x00", "\x00\x00",
+  "\x52\x33", "\x00\x00", "\x00\x00", "\x52\x36", "\x52\x37", "\x52\x38",
+  "\x52\x39", "\x52\x3a", "\x52\x3b", "\x52\x43", "\x52\x44", "\x00\x00",
+  "\x00\x00", "\x52\x47", "\x00\x00", "\x00\x00", "\x52\x4a", "\x52\x4b",
+  "\x52\x4c", "\x52\x4d", "\x00\x00", "\x52\x4f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\x54", "\x00\x00", "\x52\x56", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x5b", "\x00\x00", "\x00\x00",
+  "\x52\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x63",
+  "\x52\x64", "\x52\x65", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x69",
+  "\x52\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x6f",
+  "\x52\x70", "\x52\x71", "\x52\x72", "\x52\x73", "\x52\x74", "\x52\x75",
+  "\x52\x7d", "\x00\x00", "\x52\x7f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x52\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x87", "\x52\x88",
+  "\x52\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x8d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\x91", "\x52\x92", "\x00\x00", "\x52\x94",
+  "\x52\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x9f", "\x52\xa0",
+  "\x00\x00", "\x00\x00", "\x52\xa3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\xa9", "\x52\xaa", "\x52\xab", "\x52\xac",
+  "\x52\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xb1", "\x00\x00",
+  "\x00\x00", "\x52\xb4", "\x52\xb5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x52\xb9", "\x00\x00", "\x00\x00", "\x52\xbc", "\x00\x00", "\x52\xbe",
+  "\x00\x00", "\x00\x00", "\x52\xc1", "\x00\x00", "\x52\xc3", "\x00\x00",
+  "\x52\xc5", "\x00\x00", "\x52\xc7", "\x00\x00", "\x52\xc9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\xcd", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x52\xd2", "\x00\x00", "\x00\x00", "\x52\xd5", "\x00\x00",
+  "\x52\xd7", "\x52\xd8", "\x52\xd9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x52\xdd", "\x52\xde", "\x52\xdf", "\x52\xe0", "\x00\x00", "\x52\xe2",
+  "\x52\xe3", "\x52\xe4", "\x00\x00", "\x52\xe6", "\x52\xe7", "\x52\xf2",
+  "\x52\xf3", "\x00\x00", "\x52\xf5", "\x00\x00", "\x00\x00", "\x52\xf8",
+  "\x52\xf9", "\x52\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xfe",
+  "\x52\xff", "\x00\x00", "\x53\x01", "\x53\x02", "\x00\x00", "\x00\x00",
+  "\x53\x05", "\x53\x06", "\x00\x00", "\x53\x08", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\x0d", "\x00\x00", "\x53\x0f", "\x53\x10",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x15", "\x53\x16",
+  "\x53\x17", "\x00\x00", "\x53\x19", "\x53\x1a", "\x00\x00", "\x00\x00",
+  "\x53\x1d", "\x00\x00", "\x00\x00", "\x53\x20", "\x53\x21", "\x00\x00",
+  "\x53\x23", "\x53\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\x2f", "\x00\x00", "\x53\x31", "\x00\x00", "\x53\x33", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x38", "\x53\x39", "\x53\x3a",
+  "\x53\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x3f", "\x53\x40",
+  "\x53\x41", "\x00\x00", "\x53\x43", "\x00\x00", "\x53\x45", "\x53\x46",
+  "\x53\x47", "\x53\x48", "\x53\x49", "\x53\x4a", "\x00\x00", "\x00\x00",
+  "\x53\x4d", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x51", "\x53\x52",
+  "\x53\x53", "\x53\x54", "\x00\x00", "\x00\x00", "\x53\x57", "\x53\x58",
+  "\x00\x00", "\x53\x5a", "\x00\x00", "\x53\x5c", "\x00\x00", "\x53\x5e",
+  "\x00\x00", "\x53\x60", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x53\x66", "\x00\x00", "\x00\x00", "\x53\x69", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x6e", "\x53\x6f", "\x53\x70",
+  "\x53\x71", "\x00\x00", "\x53\x73", "\x53\x74", "\x53\x75", "\x00\x00",
+  "\x53\x77", "\x53\x78", "\x00\x00", "\x00\x00", "\x53\x7b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\x7f", "\x00\x00", "\x00\x00", "\x53\x82",
+  "\x00\x00", "\x53\x84", "\x53\x96", "\x00\x00", "\x53\x98", "\x00\x00",
+  "\x53\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x9f",
+  "\x53\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xa5",
+  "\x53\xa6", "\x00\x00", "\x53\xa8", "\x53\xa9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x53\xad", "\x53\xae", "\x00\x00", "\x53\xb0", "\x00\x00",
+  "\x00\x00", "\x53\xb3", "\x00\x00", "\x00\x00", "\x53\xb6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xbb", "\x53\xc2", "\x53\xc3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xc8", "\x53\xc9",
+  "\x53\xca", "\x53\xcb", "\x53\xcc", "\x53\xcd", "\x53\xce", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xd4", "\x00\x00",
+  "\x53\xd6", "\x53\xd7", "\x00\x00", "\x53\xd9", "\x00\x00", "\x53\xdb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xdf", "\x00\x00", "\x53\xe1",
+  "\x53\xe2", "\x53\xe3", "\x53\xe4", "\x53\xe5", "\x00\x00", "\x00\x00",
+  "\x53\xe8", "\x53\xe9", "\x53\xea", "\x53\xeb", "\x53\xec", "\x53\xed",
+  "\x53\xee", "\x53\xef", "\x53\xf0", "\x53\xf1", "\x53\xf2", "\x53\xf3",
+  "\x00\x00", "\x00\x00", "\x53\xf6", "\x53\xf7", "\x53\xf8", "\x00\x00",
+  "\x53\xfa", "\x54\x01", "\x00\x00", "\x54\x03", "\x54\x04", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x08", "\x54\x09", "\x54\x0a", "\x54\x0b",
+  "\x54\x0c", "\x54\x0d", "\x54\x0e", "\x54\x0f", "\x54\x10", "\x54\x11",
+  "\x54\x1b", "\x00\x00", "\x54\x1d", "\x00\x00", "\x54\x1f", "\x54\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x26",
+  "\x00\x00", "\x00\x00", "\x54\x29", "\x00\x00", "\x54\x2b", "\x54\x2c",
+  "\x54\x2d", "\x54\x2e", "\x54\x36", "\x00\x00", "\x54\x38", "\x54\x39",
+  "\x00\x00", "\x54\x3b", "\x54\x3c", "\x54\x3d", "\x54\x3e", "\x00\x00",
+  "\x54\x40", "\x00\x00", "\x54\x42", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\x46", "\x00\x00", "\x54\x48", "\x54\x49", "\x54\x4a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x4e", "\x00\x00", "\x00\x00", "\x54\x51",
+  "\x54\x5f", "\x54\x68", "\x00\x00", "\x54\x6a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x70", "\x54\x71", "\x00\x00",
+  "\x54\x73", "\x00\x00", "\x54\x75", "\x54\x76", "\x54\x77", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x7b", "\x54\x7c", "\x54\x7d", "\x00\x00",
+  "\x00\x00", "\x54\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x84",
+  "\x00\x00", "\x54\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\x8b", "\x54\x8c", "\x00\x00", "\x54\x8e", "\x54\x8f", "\x54\x90",
+  "\x00\x00", "\x54\x92", "\x54\xa2", "\x00\x00", "\x54\xa4", "\x54\xa5",
+  "\x00\x00", "\x00\x00", "\x54\xa8", "\x00\x00", "\x00\x00", "\x54\xab",
+  "\x54\xac", "\x00\x00", "\x00\x00", "\x54\xaf", "\x00\x00", "\x00\x00",
+  "\x54\xb2", "\x54\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\xb8", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\xbc", "\x54\xbd",
+  "\x54\xbe", "\x00\x00", "\x54\xc0", "\x54\xc1", "\x54\xc2", "\x00\x00",
+  "\x54\xc4", "\x00\x00", "\x00\x00", "\x54\xc7", "\x54\xc8", "\x54\xc9",
+  "\x54\xd8", "\x54\xe1", "\x54\xe2", "\x00\x00", "\x00\x00", "\x54\xe5",
+  "\x54\xe6", "\x00\x00", "\x54\xe8", "\x54\xe9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x54\xed", "\x54\xee", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\xf2", "\x54\xfa", "\x00\x00", "\x00\x00", "\x54\xfd", "\x55\x04",
+  "\x00\x00", "\x55\x06", "\x55\x07", "\x55\x0f", "\x55\x10", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x55\x14", "\x00\x00", "\x55\x16", "\x55\x2e",
+  "\x55\x2f", "\x00\x00", "\x55\x31", "\x00\x00", "\x55\x33", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x38", "\x55\x39", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x3e", "\x00\x00", "\x55\x40",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x44", "\x55\x45", "\x55\x46",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x4c",
+  "\x00\x00", "\x00\x00", "\x55\x4f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x55\x53", "\x00\x00", "\x00\x00", "\x55\x56", "\x55\x57", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x5c", "\x55\x5d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x63", "\x55\x7b",
+  "\x55\x7c", "\x00\x00", "\x55\x7e", "\x00\x00", "\x55\x80", "\x00\x00",
+  "\x00\x00", "\x55\x83", "\x55\x84", "\x00\x00", "\x00\x00", "\x55\x87",
+  "\x00\x00", "\x55\x89", "\x55\x8a", "\x55\x8b", "\x55\x98", "\x55\x99",
+  "\x55\x9a", "\x00\x00", "\x55\x9c", "\x55\x9d", "\x55\x9e", "\x55\x9f",
+  "\x55\xa7", "\x55\xa8", "\x55\xa9", "\x55\xaa", "\x55\xab", "\x55\xac",
+  "\x00\x00", "\x55\xae", "\x00\x00", "\x55\xb0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xb6", "\x55\xc4", "\x55\xc5",
+  "\x00\x00", "\x55\xc7", "\x55\xd4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x55\xda", "\x00\x00", "\x55\xdc", "\x00\x00",
+  "\x00\x00", "\x55\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xe3",
+  "\x55\xe4", "\x55\xf7", "\x00\x00", "\x55\xf9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x55\xfd", "\x55\xfe", "\x56\x06", "\x00\x00", "\x00\x00",
+  "\x56\x09", "\x56\x14", "\x00\x00", "\x56\x16", "\x56\x17", "\x56\x18",
+  "\x00\x00", "\x00\x00", "\x56\x1b", "\x56\x29", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x2f", "\x00\x00", "\x56\x31",
+  "\x56\x32", "\x00\x00", "\x56\x34", "\x00\x00", "\x56\x36", "\x00\x00",
+  "\x56\x38", "\x56\x42", "\x56\x4c", "\x00\x00", "\x56\x4e", "\x00\x00",
+  "\x56\x50", "\x56\x5b", "\x56\x64", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x56\x68", "\x00\x00", "\x56\x6a", "\x56\x6b", "\x56\x6c", "\x56\x74",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x78", "\x00\x00", "\x56\x7a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x80",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x86",
+  "\x56\x87", "\x00\x00", "\x00\x00", "\x56\x8a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x56\x8f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x56\x94", "\x56\xa0", "\x00\x00", "\x56\xa2", "\x00\x00",
+  "\x00\x00", "\x56\xa5", "\x56\xae", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x56\xb4", "\x00\x00", "\x56\xb6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xbc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x56\xc0", "\x56\xc1", "\x56\xc2", "\x56\xc3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xc8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xce", "\x00\x00",
+  "\x00\x00", "\x56\xd1", "\x00\x00", "\x56\xd3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x56\xd7", "\x56\xd8", "\x00\x00", "\x56\xda", "\x56\xdb",
+  "\x00\x00", "\x00\x00", "\x56\xde", "\x00\x00", "\x56\xe0", "\x00\x00",
+  "\x00\x00", "\x56\xe3", "\x56\xee", "\x00\x00", "\x56\xf0", "\x00\x00",
+  "\x56\xf2", "\x56\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x56\xf9", "\x56\xfa", "\x00\x00", "\x00\x00", "\x56\xfd",
+  "\x00\x00", "\x56\xff", "\x57\x00", "\x00\x00", "\x00\x00", "\x57\x03",
+  "\x57\x04", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x08", "\x57\x09",
+  "\x00\x00", "\x57\x0b", "\x00\x00", "\x57\x0d", "\x00\x00", "\x57\x0f",
+  "\x00\x00", "\x00\x00", "\x57\x12", "\x57\x13", "\x00\x00", "\x00\x00",
+  "\x57\x16", "\x00\x00", "\x57\x18", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\x1c", "\x00\x00", "\x00\x00", "\x57\x1f", "\x57\x26", "\x57\x27",
+  "\x57\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x2d",
+  "\x00\x00", "\x00\x00", "\x57\x30", "\x57\x37", "\x57\x38", "\x00\x00",
+  "\x00\x00", "\x57\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\x40", "\x00\x00", "\x57\x42", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x57\x47", "\x00\x00", "\x00\x00", "\x57\x4a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x57\x4e", "\x57\x4f", "\x57\x50", "\x57\x51",
+  "\x57\x61", "\x00\x00", "\x00\x00", "\x57\x64", "\x00\x00", "\x57\x66",
+  "\x00\x00", "\x00\x00", "\x57\x69", "\x57\x6a", "\x57\x7f", "\x00\x00",
+  "\x00\x00", "\x57\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x57\x88", "\x57\x89", "\x00\x00", "\x57\x8b", "\x57\x93",
+  "\x57\xa0", "\x00\x00", "\x57\xa2", "\x57\xa3", "\x57\xa4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xaa", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xb0", "\x00\x00",
+  "\x00\x00", "\x57\xb3", "\x57\xc0", "\x00\x00", "\x00\x00", "\x57\xc3",
+  "\x00\x00", "\x00\x00", "\x57\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x57\xcb", "\x00\x00", "\x00\x00", "\x57\xce", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x57\xd2", "\x57\xd3", "\x57\xd4", "\x00\x00",
+  "\x57\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\xdc", "\x00\x00", "\x00\x00", "\x57\xdf", "\x57\xe0", "\x00\x00",
+  "\x00\x00", "\x57\xe3", "\x57\xf4", "\x00\x00", "\x00\x00", "\x57\xf7",
+  "\x00\x00", "\x57\xf9", "\x57\xfa", "\x00\x00", "\x57\xfc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x00", "\x00\x00", "\x58\x02", "\x00\x00",
+  "\x00\x00", "\x58\x05", "\x58\x06", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\x0a", "\x58\x0b", "\x58\x15", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x1d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x21", "\x00\x00", "\x00\x00", "\x58\x24",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x2a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x2f", "\x58\x30",
+  "\x58\x31", "\x00\x00", "\x00\x00", "\x58\x34", "\x58\x35", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x3a", "\x00\x00", "\x00\x00",
+  "\x58\x3d", "\x00\x00", "\x00\x00", "\x58\x40", "\x58\x41", "\x58\x4a",
+  "\x58\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\x51", "\x58\x52", "\x00\x00", "\x58\x54", "\x00\x00", "\x00\x00",
+  "\x58\x57", "\x58\x58", "\x58\x59", "\x58\x5a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x62",
+  "\x58\x69", "\x00\x00", "\x58\x6b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\x70", "\x00\x00", "\x58\x72", "\x00\x00", "\x00\x00",
+  "\x58\x75", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x79", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x7e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x83", "\x00\x00", "\x58\x85", "\x58\x93",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x97", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x9c", "\x00\x00", "\x00\x00", "\x58\x9f",
+  "\x58\xa8", "\x00\x00", "\x00\x00", "\x58\xab", "\x00\x00", "\x00\x00",
+  "\x58\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xb3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xb8", "\x58\xb9",
+  "\x58\xba", "\x58\xbb", "\x00\x00", "\x00\x00", "\x58\xbe", "\x00\x00",
+  "\x00\x00", "\x58\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xc5",
+  "\x00\x00", "\x58\xc7", "\x00\x00", "\x00\x00", "\x58\xca", "\x00\x00",
+  "\x58\xcc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xd1",
+  "\x00\x00", "\x58\xd3", "\x00\x00", "\x58\xd5", "\x00\x00", "\x58\xd7",
+  "\x58\xd8", "\x58\xd9", "\x00\x00", "\x00\x00", "\x58\xdc", "\x00\x00",
+  "\x58\xde", "\x58\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\xe4", "\x58\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\xeb", "\x58\xec", "\x00\x00", "\x58\xee", "\x58\xef",
+  "\x58\xf0", "\x58\xf1", "\x58\xf2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\xf7", "\x00\x00", "\x58\xf9", "\x58\xfa", "\x58\xfb",
+  "\x58\xfc", "\x58\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\x02", "\x59\x09", "\x59\x0a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\x0f", "\x59\x10", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\x15", "\x59\x16", "\x00\x00", "\x59\x18", "\x59\x19",
+  "\x59\x1a", "\x59\x1b", "\x59\x1c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\x22", "\x00\x00", "\x00\x00", "\x59\x25",
+  "\x00\x00", "\x59\x27", "\x00\x00", "\x59\x29", "\x59\x2a", "\x59\x2b",
+  "\x59\x2c", "\x59\x2d", "\x59\x2e", "\x00\x00", "\x00\x00", "\x59\x31",
+  "\x59\x32", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x37",
+  "\x59\x38", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\x44", "\x00\x00", "\x00\x00", "\x59\x47", "\x59\x48", "\x59\x49",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x4e", "\x59\x4f",
+  "\x59\x50", "\x59\x51", "\x00\x00", "\x00\x00", "\x59\x54", "\x59\x55",
+  "\x00\x00", "\x59\x57", "\x59\x58", "\x00\x00", "\x59\x5a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x60", "\x00\x00",
+  "\x59\x62", "\x00\x00", "\x00\x00", "\x59\x65", "\x00\x00", "\x59\x67",
+  "\x59\x68", "\x59\x69", "\x59\x6a", "\x00\x00", "\x59\x6c", "\x00\x00",
+  "\x59\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x73",
+  "\x59\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x78", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x7d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\x81", "\x59\x82", "\x59\x83", "\x59\x84", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x8a", "\x00\x00",
+  "\x00\x00", "\x59\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\x93", "\x00\x00", "\x00\x00", "\x59\x96", "\x00\x00",
+  "\x00\x00", "\x59\x99", "\x00\x00", "\x59\x9b", "\x00\x00", "\x59\x9d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xa3",
+  "\x00\x00", "\x59\xa5", "\x00\x00", "\x00\x00", "\x59\xa8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\xac", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\xb2", "\x59\xb9", "\x00\x00", "\x59\xbb",
+  "\x00\x00", "\x00\x00", "\x59\xbe", "\x59\xc6", "\x00\x00", "\x00\x00",
+  "\x59\xc9", "\x00\x00", "\x59\xcb", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\xd0", "\x59\xd1", "\x00\x00", "\x59\xd3", "\x59\xd4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xd9", "\x59\xda",
+  "\x00\x00", "\x59\xdc", "\x59\xe5", "\x59\xe6", "\x00\x00", "\x59\xe8",
+  "\x00\x00", "\x59\xea", "\x59\xeb", "\x59\xf6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\xfb", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\xff", "\x00\x00", "\x5a\x01", "\x00\x00", "\x5a\x03", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x09", "\x5a\x11",
+  "\x5a\x18", "\x00\x00", "\x5a\x1a", "\x00\x00", "\x5a\x1c", "\x00\x00",
+  "\x00\x00", "\x5a\x1f", "\x5a\x20", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x29",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x2f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x35",
+  "\x5a\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5a\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x40", "\x5a\x41",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x46", "\x00\x00",
+  "\x00\x00", "\x5a\x49", "\x5a\x5a", "\x5a\x62", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x6a",
+  "\x00\x00", "\x5a\x6c", "\x5a\x7f", "\x5a\x92", "\x5a\x9a", "\x5a\x9b",
+  "\x5a\xbc", "\x5a\xbd", "\x5a\xbe", "\x00\x00", "\x00\x00", "\x5a\xc1",
+  "\x5a\xc2", "\x5a\xc9", "\x00\x00", "\x5a\xcb", "\x5a\xcc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\xd0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\xd6", "\x5a\xd7", "\x5a\xe1", "\x00\x00",
+  "\x5a\xe3", "\x00\x00", "\x00\x00", "\x5a\xe6", "\x00\x00", "\x00\x00",
+  "\x5a\xe9", "\x5a\xfa", "\x5a\xfb", "\x5b\x09", "\x00\x00", "\x5b\x0b",
+  "\x5b\x0c", "\x5b\x16", "\x5b\x22", "\x5b\x2a", "\x00\x00", "\x5b\x2c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x30", "\x00\x00", "\x5b\x32",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x36", "\x5b\x3e", "\x00\x00",
+  "\x5b\x40", "\x00\x00", "\x00\x00", "\x5b\x43", "\x00\x00", "\x5b\x45",
+  "\x5b\x50", "\x5b\x51", "\x00\x00", "\x00\x00", "\x5b\x54", "\x5b\x55",
+  "\x00\x00", "\x5b\x57", "\x5b\x58", "\x00\x00", "\x5b\x5a", "\x5b\x5b",
+  "\x5b\x5c", "\x5b\x5d", "\x00\x00", "\x5b\x5f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5b\x63", "\x5b\x64", "\x5b\x65", "\x5b\x66", "\x00\x00",
+  "\x00\x00", "\x5b\x69", "\x00\x00", "\x5b\x6b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5b\x70", "\x5b\x71", "\x00\x00", "\x5b\x73",
+  "\x00\x00", "\x5b\x75", "\x00\x00", "\x00\x00", "\x5b\x78", "\x00\x00",
+  "\x5b\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5b\x80", "\x00\x00", "\x00\x00", "\x5b\x83", "\x00\x00", "\x5b\x85",
+  "\x00\x00", "\x5b\x87", "\x5b\x88", "\x5b\x89", "\x00\x00", "\x5b\x8b",
+  "\x5b\x8c", "\x5b\x8d", "\x00\x00", "\x5b\x8f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x95", "\x00\x00", "\x5b\x97",
+  "\x5b\x98", "\x5b\x99", "\x5b\x9a", "\x5b\x9b", "\x5b\x9c", "\x5b\x9d",
+  "\x00\x00", "\x5b\x9f", "\x00\x00", "\x00\x00", "\x5b\xa2", "\x5b\xa3",
+  "\x5b\xa4", "\x5b\xa5", "\x5b\xa6", "\x5b\xae", "\x00\x00", "\x5b\xb0",
+  "\x00\x00", "\x00\x00", "\x5b\xb3", "\x5b\xb4", "\x5b\xb5", "\x5b\xb6",
+  "\x00\x00", "\x5b\xb8", "\x5b\xb9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5b\xbf", "\x00\x00", "\x00\x00", "\x5b\xc2",
+  "\x5b\xc3", "\x5b\xc4", "\x5b\xc5", "\x5b\xc6", "\x5b\xc7", "\x00\x00",
+  "\x5b\xc9", "\x00\x00", "\x00\x00", "\x5b\xcc", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5b\xd0", "\x00\x00", "\x5b\xd2", "\x5b\xd3", "\x5b\xd4",
+  "\x5b\xdb", "\x00\x00", "\x5b\xdd", "\x5b\xde", "\x5b\xdf", "\x00\x00",
+  "\x5b\xe1", "\x5b\xe2", "\x00\x00", "\x5b\xe4", "\x5b\xe5", "\x5b\xe6",
+  "\x5b\xe7", "\x5b\xe8", "\x5b\xe9", "\x00\x00", "\x5b\xeb", "\x00\x00",
+  "\x00\x00", "\x5b\xee", "\x00\x00", "\x5b\xf0", "\x00\x00", "\x00\x00",
+  "\x5b\xf3", "\x00\x00", "\x5b\xf5", "\x5b\xf6", "\x00\x00", "\x5b\xf8",
+  "\x00\x00", "\x5b\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\xfe",
+  "\x5b\xff", "\x00\x00", "\x5c\x01", "\x5c\x02", "\x00\x00", "\x5c\x04",
+  "\x5c\x05", "\x5c\x06", "\x5c\x07", "\x5c\x08", "\x5c\x09", "\x5c\x0a",
+  "\x5c\x0b", "\x00\x00", "\x5c\x0d", "\x5c\x0e", "\x5c\x0f", "\x00\x00",
+  "\x5c\x11", "\x00\x00", "\x5c\x13", "\x00\x00", "\x00\x00", "\x5c\x16",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x1a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x20", "\x00\x00", "\x5c\x22",
+  "\x00\x00", "\x5c\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x28",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x2d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5c\x31", "\x5c\x38", "\x5c\x39", "\x5c\x3a",
+  "\x5c\x3b", "\x5c\x3c", "\x5c\x3d", "\x5c\x3e", "\x5c\x3f", "\x5c\x40",
+  "\x5c\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x45", "\x5c\x46",
+  "\x00\x00", "\x5c\x48", "\x00\x00", "\x5c\x4a", "\x5c\x4b", "\x00\x00",
+  "\x5c\x4d", "\x5c\x4e", "\x5c\x4f", "\x5c\x50", "\x5c\x51", "\x00\x00",
+  "\x5c\x53", "\x00\x00", "\x5c\x55", "\x5c\x5e", "\x00\x00", "\x5c\x60",
+  "\x5c\x61", "\x00\x00", "\x00\x00", "\x5c\x64", "\x5c\x65", "\x5c\x6c",
+  "\x00\x00", "\x5c\x6e", "\x5c\x6f", "\x00\x00", "\x5c\x71", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x76", "\x00\x00", "\x00\x00",
+  "\x5c\x79", "\x5c\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x90",
+  "\x5c\x91", "\x00\x00", "\x00\x00", "\x5c\x94", "\x5c\xa1", "\x5c\xa8",
+  "\x5c\xa9", "\x00\x00", "\x5c\xab", "\x5c\xac", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5c\xb1", "\x00\x00", "\x5c\xb3", "\x00\x00",
+  "\x00\x00", "\x5c\xb6", "\x5c\xb7", "\x5c\xb8", "\x00\x00", "\x00\x00",
+  "\x5c\xbb", "\x5c\xbc", "\x00\x00", "\x5c\xbe", "\x5c\xc5", "\x00\x00",
+  "\x5c\xc7", "\x5c\xd9", "\x5c\xe0", "\x5c\xe1", "\x5c\xe8", "\x5c\xe9",
+  "\x5c\xea", "\x00\x00", "\x00\x00", "\x5c\xed", "\x00\x00", "\x5c\xef",
+  "\x5c\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5c\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xfa", "\x5c\xfb",
+  "\x00\x00", "\x5c\xfd", "\x5d\x07", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5d\x0b", "\x00\x00", "\x00\x00", "\x5d\x0e", "\x00\x00", "\x00\x00",
+  "\x5d\x11", "\x00\x00", "\x00\x00", "\x5d\x14", "\x5d\x15", "\x5d\x16",
+  "\x5d\x17", "\x5d\x18", "\x5d\x19", "\x5d\x1a", "\x5d\x1b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5d\x1f", "\x00\x00", "\x00\x00", "\x5d\x22",
+  "\x5d\x29", "\x5d\x4b", "\x5d\x4c", "\x00\x00", "\x5d\x4e", "\x00\x00",
+  "\x5d\x50", "\x00\x00", "\x5d\x52", "\x5d\x5c", "\x5d\x69", "\x00\x00",
+  "\x00\x00", "\x5d\x6c", "\x00\x00", "\x00\x00", "\x5d\x6f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5d\x73", "\x00\x00", "\x00\x00", "\x5d\x76",
+  "\x5d\x82", "\x00\x00", "\x5d\x84", "\x00\x00", "\x00\x00", "\x5d\x87",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x8b", "\x5d\x8c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5d\x90", "\x5d\x9d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5d\xa2", "\x5d\xac", "\x00\x00", "\x5d\xae",
+  "\x5d\xb7", "\x00\x00", "\x00\x00", "\x5d\xba", "\x00\x00", "\x5d\xbc",
+  "\x5d\xbd", "\x5d\xc9", "\x00\x00", "\x00\x00", "\x5d\xcc", "\x5d\xcd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xd2", "\x5d\xd3",
+  "\x00\x00", "\x00\x00", "\x5d\xd6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\xdb", "\x00\x00", "\x5d\xdd", "\x5d\xde", "\x00\x00",
+  "\x00\x00", "\x5d\xe1", "\x00\x00", "\x5d\xe3", "\x00\x00", "\x5d\xe5",
+  "\x5d\xe6", "\x5d\xe7", "\x5d\xe8", "\x00\x00", "\x00\x00", "\x5d\xeb",
+  "\x00\x00", "\x00\x00", "\x5d\xee", "\x00\x00", "\x00\x00", "\x5d\xf1",
+  "\x5d\xf2", "\x5d\xf3", "\x5d\xf4", "\x5d\xf5", "\x00\x00", "\x5d\xf7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xfb", "\x00\x00", "\x5d\xfd",
+  "\x5d\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x02", "\x5e\x03",
+  "\x00\x00", "\x00\x00", "\x5e\x06", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5e\x0b", "\x5e\x0c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5e\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5e\x16", "\x00\x00", "\x00\x00", "\x5e\x19", "\x5e\x1a", "\x5e\x1b",
+  "\x00\x00", "\x5e\x1d", "\x5e\x25", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x2b", "\x00\x00", "\x5e\x2d", "\x00\x00",
+  "\x5e\x2f", "\x5e\x30", "\x00\x00", "\x00\x00", "\x5e\x33", "\x00\x00",
+  "\x00\x00", "\x5e\x36", "\x5e\x37", "\x5e\x38", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x3d", "\x00\x00", "\x00\x00", "\x5e\x40",
+  "\x00\x00", "\x00\x00", "\x5e\x43", "\x5e\x44", "\x5e\x45", "\x00\x00",
+  "\x5e\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x4c",
+  "\x00\x00", "\x5e\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5e\x54", "\x5e\x55", "\x00\x00", "\x5e\x57", "\x5e\x5f",
+  "\x00\x00", "\x5e\x61", "\x5e\x62", "\x5e\x63", "\x5e\x64", "\x5e\x72",
+  "\x5e\x73", "\x5e\x74", "\x5e\x75", "\x5e\x76", "\x00\x00", "\x5e\x78",
+  "\x5e\x79", "\x5e\x7a", "\x5e\x7b", "\x5e\x7c", "\x5e\x7d", "\x5e\x7e",
+  "\x5e\x7f", "\x00\x00", "\x5e\x81", "\x00\x00", "\x5e\x83", "\x5e\x84",
+  "\x00\x00", "\x00\x00", "\x5e\x87", "\x00\x00", "\x00\x00", "\x5e\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x8f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x95", "\x5e\x96",
+  "\x5e\x97", "\x00\x00", "\x00\x00", "\x5e\x9a", "\x00\x00", "\x5e\x9c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xa0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xa6", "\x5e\xa7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\xab", "\x00\x00", "\x5e\xad", "\x5e\xb5",
+  "\x5e\xb6", "\x5e\xb7", "\x5e\xb8", "\x5e\xc1", "\x5e\xc2", "\x5e\xc3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xc8", "\x5e\xc9",
+  "\x5e\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xcf",
+  "\x5e\xd0", "\x00\x00", "\x00\x00", "\x5e\xd3", "\x00\x00", "\x00\x00",
+  "\x5e\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xda", "\x5e\xdb",
+  "\x00\x00", "\x5e\xdd", "\x00\x00", "\x5e\xdf", "\x5e\xe0", "\x5e\xe1",
+  "\x5e\xe2", "\x5e\xe3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5e\xe8", "\x5e\xe9", "\x00\x00", "\x00\x00", "\x5e\xec", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\xf0", "\x5e\xf1", "\x00\x00", "\x5e\xf3",
+  "\x5e\xf4", "\x00\x00", "\x5e\xf6", "\x5e\xf7", "\x5e\xf8", "\x00\x00",
+  "\x5e\xfa", "\x5e\xfb", "\x5e\xfc", "\x00\x00", "\x5e\xfe", "\x5e\xff",
+  "\x00\x00", "\x5f\x01", "\x00\x00", "\x5f\x03", "\x5f\x04", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x09", "\x5f\x0a", "\x5f\x0b",
+  "\x5f\x0c", "\x5f\x0d", "\x00\x00", "\x5f\x0f", "\x5f\x10", "\x5f\x11",
+  "\x00\x00", "\x5f\x13", "\x5f\x14", "\x5f\x15", "\x5f\x16", "\x5f\x17",
+  "\x5f\x18", "\x00\x00", "\x00\x00", "\x5f\x1b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\x25", "\x5f\x26", "\x5f\x27", "\x00\x00", "\x5f\x29",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x2d", "\x00\x00", "\x5f\x2f",
+  "\x00\x00", "\x5f\x31", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x35",
+  "\x00\x00", "\x5f\x37", "\x5f\x38", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x3c", "\x00\x00", "\x5f\x3e", "\x00\x00", "\x00\x00", "\x5f\x41",
+  "\x5f\x48", "\x00\x00", "\x5f\x4a", "\x00\x00", "\x5f\x4c", "\x00\x00",
+  "\x5f\x4e", "\x00\x00", "\x00\x00", "\x5f\x51", "\x00\x00", "\x5f\x53",
+  "\x00\x00", "\x00\x00", "\x5f\x56", "\x5f\x57", "\x00\x00", "\x5f\x59",
+  "\x00\x00", "\x00\x00", "\x5f\x5c", "\x5f\x5d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\x61", "\x5f\x62", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x66", "\x00\x00", "\x00\x00", "\x5f\x69", "\x5f\x6a", "\x5f\x6b",
+  "\x5f\x6c", "\x5f\x6d", "\x00\x00", "\x00\x00", "\x5f\x70", "\x5f\x71",
+  "\x00\x00", "\x5f\x73", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x77",
+  "\x00\x00", "\x5f\x79", "\x00\x00", "\x00\x00", "\x5f\x7c", "\x00\x00",
+  "\x00\x00", "\x5f\x7f", "\x5f\x80", "\x5f\x81", "\x5f\x82", "\x5f\x83",
+  "\x5f\x84", "\x5f\x85", "\x00\x00", "\x5f\x87", "\x5f\x88", "\x00\x00",
+  "\x5f\x8a", "\x5f\x8b", "\x5f\x8c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x90", "\x5f\x91", "\x5f\x92", "\x5f\x93", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\x97", "\x5f\x98", "\x5f\x99", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5f\x9e", "\x00\x00", "\x5f\xa0", "\x5f\xa1",
+  "\x5f\xa8", "\x5f\xa9", "\x5f\xaa", "\x00\x00", "\x00\x00", "\x5f\xad",
+  "\x5f\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xb3",
+  "\x5f\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xb9",
+  "\x00\x00", "\x00\x00", "\x5f\xbc", "\x5f\xbd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xc3", "\x00\x00", "\x5f\xc5",
+  "\x5f\xcc", "\x5f\xcd", "\x5f\xd6", "\x5f\xd7", "\x5f\xd8", "\x5f\xd9",
+  "\x00\x00", "\x00\x00", "\x5f\xdc", "\x5f\xdd", "\x00\x00", "\x00\x00",
+  "\x5f\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xe4", "\x5f\xeb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xf0", "\x5f\xf1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xf5", "\x00\x00", "\x00\x00",
+  "\x5f\xf8", "\x00\x00", "\x00\x00", "\x5f\xfb", "\x00\x00", "\x5f\xfd",
+  "\x00\x00", "\x5f\xff", "\x60\x0e", "\x60\x0f", "\x60\x10", "\x00\x00",
+  "\x60\x12", "\x00\x00", "\x00\x00", "\x60\x15", "\x60\x16", "\x00\x00",
+  "\x00\x00", "\x60\x19", "\x00\x00", "\x60\x1b", "\x60\x1c", "\x60\x1d",
+  "\x00\x00", "\x00\x00", "\x60\x20", "\x60\x21", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x60\x25", "\x60\x26", "\x60\x27", "\x60\x28", "\x60\x29",
+  "\x60\x2a", "\x60\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x2f",
+  "\x00\x00", "\x60\x31", "\x60\x3a", "\x60\x41", "\x60\x42", "\x60\x43",
+  "\x00\x00", "\x00\x00", "\x60\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x4a", "\x60\x4b", "\x00\x00", "\x60\x4d", "\x00\x00", "\x00\x00",
+  "\x60\x50", "\x00\x00", "\x60\x52", "\x00\x00", "\x00\x00", "\x60\x55",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x59", "\x60\x5a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x5f", "\x60\x60", "\x00\x00",
+  "\x60\x62", "\x60\x63", "\x60\x64", "\x60\x65", "\x00\x00", "\x00\x00",
+  "\x60\x68", "\x60\x69", "\x60\x6a", "\x60\x6b", "\x60\x6c", "\x60\x6d",
+  "\x00\x00", "\x60\x6f", "\x60\x70", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x60\x75", "\x00\x00", "\x60\x77", "\x60\x81", "\x00\x00",
+  "\x60\x83", "\x60\x84", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x89", "\x00\x00", "\x60\x8b", "\x60\x8c", "\x60\x8d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x92", "\x00\x00", "\x60\x94",
+  "\x00\x00", "\x60\x96", "\x60\x97", "\x00\x00", "\x00\x00", "\x60\x9a",
+  "\x60\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x9f", "\x60\xa0",
+  "\x00\x00", "\x00\x00", "\x60\xa3", "\x00\x00", "\x00\x00", "\x60\xa6",
+  "\x60\xa7", "\x00\x00", "\x60\xa9", "\x60\xaa", "\x60\xb2", "\x60\xb3",
+  "\x60\xb4", "\x60\xb5", "\x60\xb6", "\x00\x00", "\x60\xb8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\xbc", "\x60\xbd", "\x60\xc5", "\x60\xc6",
+  "\x60\xc7", "\x60\xd1", "\x00\x00", "\x60\xd3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\xd8", "\x00\x00", "\x60\xda", "\x00\x00",
+  "\x60\xdc", "\x00\x00", "\x00\x00", "\x60\xdf", "\x60\xe0", "\x60\xe1",
+  "\x00\x00", "\x60\xe3", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xe7",
+  "\x60\xe8", "\x60\xf0", "\x60\xf1", "\x00\x00", "\x60\xf3", "\x60\xf4",
+  "\x00\x00", "\x60\xf6", "\x60\xf7", "\x00\x00", "\x60\xf9", "\x60\xfa",
+  "\x60\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x00",
+  "\x61\x01", "\x00\x00", "\x61\x03", "\x00\x00", "\x00\x00", "\x61\x06",
+  "\x00\x00", "\x61\x08", "\x61\x09", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\x0d", "\x61\x0e", "\x61\x0f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x15", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x61\x1a", "\x61\x1b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\x1f", "\x00\x00", "\x61\x21", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x27", "\x61\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x61\x2c", "\x61\x34", "\x61\x3c", "\x61\x3d", "\x61\x3e",
+  "\x61\x3f", "\x00\x00", "\x00\x00", "\x61\x42", "\x00\x00", "\x61\x44",
+  "\x00\x00", "\x00\x00", "\x61\x47", "\x61\x48", "\x00\x00", "\x61\x4a",
+  "\x61\x4b", "\x61\x4c", "\x61\x4d", "\x61\x4e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x53", "\x00\x00", "\x61\x55", "\x00\x00",
+  "\x00\x00", "\x61\x58", "\x61\x59", "\x61\x5a", "\x00\x00", "\x00\x00",
+  "\x61\x5d", "\x00\x00", "\x61\x5f", "\x00\x00", "\x00\x00", "\x61\x62",
+  "\x61\x63", "\x00\x00", "\x61\x65", "\x00\x00", "\x61\x67", "\x61\x68",
+  "\x00\x00", "\x00\x00", "\x61\x6b", "\x00\x00", "\x00\x00", "\x61\x6e",
+  "\x61\x6f", "\x61\x70", "\x61\x71", "\x00\x00", "\x61\x73", "\x61\x74",
+  "\x61\x75", "\x61\x76", "\x61\x77", "\x61\x7e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x61\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\x87", "\x00\x00", "\x00\x00", "\x61\x8a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x61\x8e", "\x00\x00", "\x61\x90", "\x61\x91", "\x00\x00",
+  "\x00\x00", "\x61\x94", "\x00\x00", "\x61\x96", "\x00\x00", "\x00\x00",
+  "\x61\x99", "\x61\x9a", "\x61\xa4", "\x00\x00", "\x00\x00", "\x61\xa7",
+  "\x00\x00", "\x61\xa9", "\x00\x00", "\x61\xab", "\x61\xac", "\x00\x00",
+  "\x61\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xb2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\xb6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\xba", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xbe", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xc3", "\x00\x00", "\x00\x00",
+  "\x61\xc6", "\x61\xc7", "\x61\xc8", "\x61\xc9", "\x61\xca", "\x61\xcb",
+  "\x61\xcc", "\x61\xcd", "\x00\x00", "\x00\x00", "\x61\xd0", "\x61\xe3",
+  "\x00\x00", "\x00\x00", "\x61\xe6", "\x61\xf2", "\x00\x00", "\x61\xf4",
+  "\x00\x00", "\x61\xf6", "\x61\xf7", "\x61\xf8", "\x00\x00", "\x61\xfa",
+  "\x00\x00", "\x61\xfc", "\x61\xfd", "\x61\xfe", "\x61\xff", "\x62\x00",
+  "\x62\x08", "\x62\x09", "\x62\x0a", "\x00\x00", "\x62\x0c", "\x62\x0d",
+  "\x62\x0e", "\x00\x00", "\x62\x10", "\x62\x11", "\x62\x12", "\x00\x00",
+  "\x62\x14", "\x00\x00", "\x62\x16", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x1a", "\x62\x1b", "\x00\x00", "\x62\x1d", "\x62\x1e", "\x62\x1f",
+  "\x00\x00", "\x62\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x2a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\x2e", "\x62\x2f", "\x62\x30", "\x00\x00",
+  "\x62\x32", "\x62\x33", "\x62\x34", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x38", "\x00\x00", "\x00\x00", "\x62\x3b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x62\x3f", "\x62\x40", "\x62\x41", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x47", "\x62\x48", "\x62\x49",
+  "\x00\x00", "\x62\x4b", "\x00\x00", "\x62\x4d", "\x62\x4e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x53", "\x00\x00", "\x62\x55",
+  "\x00\x00", "\x00\x00", "\x62\x58", "\x00\x00", "\x00\x00", "\x62\x5b",
+  "\x00\x00", "\x00\x00", "\x62\x5e", "\x00\x00", "\x62\x60", "\x00\x00",
+  "\x00\x00", "\x62\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x68", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x6e", "\x00\x00", "\x00\x00", "\x62\x71", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\x76", "\x00\x00", "\x00\x00", "\x62\x79",
+  "\x00\x00", "\x00\x00", "\x62\x7c", "\x00\x00", "\x62\x7e", "\x62\x7f",
+  "\x62\x80", "\x00\x00", "\x62\x82", "\x62\x83", "\x62\x84", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x89", "\x62\x8a", "\x62\x91",
+  "\x62\x92", "\x62\x93", "\x62\x94", "\x62\x95", "\x62\x96", "\x62\x97",
+  "\x62\x98", "\x00\x00", "\x00\x00", "\x62\x9b", "\x62\x9c", "\x00\x00",
+  "\x62\x9e", "\x62\xab", "\x62\xac", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x62\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\xb5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x62\xb9", "\x00\x00", "\x62\xbb",
+  "\x62\xbc", "\x62\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\xc2", "\x00\x00", "\x00\x00", "\x62\xc5", "\x62\xc6", "\x62\xc7",
+  "\x62\xc8", "\x62\xc9", "\x62\xca", "\x00\x00", "\x62\xcc", "\x62\xcd",
+  "\x00\x00", "\x62\xcf", "\x62\xd0", "\x62\xd1", "\x62\xd2", "\x62\xd3",
+  "\x62\xd4", "\x00\x00", "\x00\x00", "\x62\xd7", "\x62\xd8", "\x62\xd9",
+  "\x00\x00", "\x62\xdb", "\x62\xdc", "\x62\xdd", "\x00\x00", "\x00\x00",
+  "\x62\xe0", "\x62\xe1", "\x62\xec", "\x62\xed", "\x62\xee", "\x62\xef",
+  "\x00\x00", "\x62\xf1", "\x00\x00", "\x62\xf3", "\x00\x00", "\x62\xf5",
+  "\x62\xf6", "\x62\xf7", "\x62\xfe", "\x62\xff", "\x00\x00", "\x63\x01",
+  "\x63\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x07",
+  "\x63\x08", "\x63\x09", "\x00\x00", "\x00\x00", "\x63\x0c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x11", "\x63\x19", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x1f", "\x63\x27",
+  "\x63\x28", "\x00\x00", "\x00\x00", "\x63\x2b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\x2f", "\x63\x3a", "\x00\x00", "\x00\x00", "\x63\x3d",
+  "\x63\x3e", "\x63\x3f", "\x63\x49", "\x00\x00", "\x00\x00", "\x63\x4c",
+  "\x63\x4d", "\x00\x00", "\x63\x4f", "\x63\x50", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\x55", "\x00\x00", "\x63\x57", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x5c", "\x63\x67", "\x63\x68",
+  "\x63\x69", "\x00\x00", "\x63\x6b", "\x00\x00", "\x00\x00", "\x63\x6e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x72", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\x76", "\x63\x77", "\x00\x00", "\x00\x00", "\x63\x7a",
+  "\x63\x7b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x80",
+  "\x00\x00", "\x00\x00", "\x63\x83", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\x88", "\x63\x89", "\x00\x00", "\x00\x00", "\x63\x8c",
+  "\x00\x00", "\x63\x8e", "\x63\x8f", "\x00\x00", "\x00\x00", "\x63\x92",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x96", "\x00\x00", "\x63\x98",
+  "\x00\x00", "\x00\x00", "\x63\x9b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x63\x9f", "\x63\xa0", "\x63\xa1", "\x63\xa2", "\x63\xa3", "\x00\x00",
+  "\x63\xa5", "\x00\x00", "\x63\xa7", "\x63\xa8", "\x63\xa9", "\x63\xaa",
+  "\x63\xab", "\x63\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xb2", "\x00\x00", "\x63\xb4", "\x63\xb5", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xbb", "\x00\x00",
+  "\x00\x00", "\x63\xbe", "\x00\x00", "\x63\xc0", "\x00\x00", "\x00\x00",
+  "\x63\xc3", "\x63\xc4", "\x00\x00", "\x63\xc6", "\x00\x00", "\x00\x00",
+  "\x63\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x63\xcf", "\x63\xd0", "\x00\x00", "\x63\xd2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xda",
+  "\x63\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x63\xe1", "\x00\x00", "\x63\xe3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\xe9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xf4", "\x00\x00", "\x63\xf6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xfa", "\x64\x06", "\x64\x0d", "\x00\x00", "\x64\x0f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x13", "\x00\x00", "\x00\x00",
+  "\x64\x16", "\x64\x17", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\x1c", "\x64\x26", "\x00\x00", "\x64\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x64\x2c", "\x64\x2d", "\x64\x34", "\x00\x00", "\x64\x36",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x3a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x64\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x42",
+  "\x64\x4e", "\x64\x58", "\x64\x67", "\x00\x00", "\x64\x69", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x6f", "\x64\x76",
+  "\x00\x00", "\x64\x78", "\x00\x00", "\x64\x7a", "\x64\x83", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x88", "\x64\x92", "\x64\x93",
+  "\x00\x00", "\x64\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x9e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xa4", "\x64\xa5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xa9", "\x00\x00", "\x64\xab",
+  "\x00\x00", "\x64\xad", "\x64\xae", "\x00\x00", "\x64\xb0", "\x00\x00",
+  "\x64\xb2", "\x64\xb9", "\x00\x00", "\x64\xbb", "\x64\xbc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc1", "\x64\xc2", "\x00\x00",
+  "\x00\x00", "\x64\xc5", "\x00\x00", "\x64\xc7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xcd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\xd2", "\x00\x00", "\x64\xd4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\xd8", "\x00\x00", "\x64\xda", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xe0", "\x64\xe1",
+  "\x64\xe2", "\x64\xe3", "\x00\x00", "\x00\x00", "\x64\xe6", "\x64\xe7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xec", "\x00\x00",
+  "\x00\x00", "\x64\xef", "\x00\x00", "\x64\xf1", "\x64\xf2", "\x00\x00",
+  "\x64\xf4", "\x00\x00", "\x64\xf6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\xfa", "\x00\x00", "\x00\x00", "\x64\xfd", "\x64\xfe", "\x00\x00",
+  "\x65\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x05",
+  "\x65\x18", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x1c", "\x65\x1d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x23",
+  "\x65\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\x2a", "\x65\x2b", "\x65\x2c", "\x00\x00", "\x00\x00", "\x65\x2f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x34", "\x65\x35",
+  "\x65\x36", "\x65\x37", "\x65\x38", "\x65\x39", "\x00\x00", "\x65\x3b",
+  "\x00\x00", "\x00\x00", "\x65\x3e", "\x65\x3f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x45", "\x00\x00", "\x00\x00",
+  "\x65\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x4d",
+  "\x00\x00", "\x65\x4f", "\x00\x00", "\x65\x51", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x65\x55", "\x65\x56", "\x65\x57", "\x65\x58", "\x65\x59",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x5d", "\x65\x5e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\x62", "\x65\x63", "\x00\x00", "\x00\x00",
+  "\x65\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x70", "\x00\x00",
+  "\x65\x72", "\x00\x00", "\x65\x74", "\x65\x75", "\x00\x00", "\x65\x77",
+  "\x65\x78", "\x65\x82", "\x65\x83", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\x87", "\x65\x88", "\x65\x89", "\x00\x00", "\x00\x00", "\x65\x8c",
+  "\x00\x00", "\x65\x8e", "\x00\x00", "\x65\x90", "\x65\x91", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x97", "\x00\x00",
+  "\x65\x99", "\x00\x00", "\x65\x9b", "\x65\x9c", "\x00\x00", "\x00\x00",
+  "\x65\x9f", "\x00\x00", "\x65\xa1", "\x00\x00", "\x00\x00", "\x65\xa4",
+  "\x65\xa5", "\x00\x00", "\x65\xa7", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\xab", "\x65\xac", "\x65\xad", "\x00\x00", "\x65\xaf", "\x65\xb0",
+  "\x65\xb7", "\x00\x00", "\x65\xb9", "\x00\x00", "\x00\x00", "\x65\xbc",
+  "\x65\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xc1", "\x00\x00",
+  "\x65\xc3", "\x65\xc4", "\x65\xc5", "\x65\xc6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\xcb", "\x65\xcc", "\x00\x00", "\x00\x00",
+  "\x65\xcf", "\x00\x00", "\x00\x00", "\x65\xd2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\xd7", "\x00\x00", "\x65\xd9", "\x00\x00",
+  "\x65\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xe0",
+  "\x65\xe1", "\x65\xe2", "\x00\x00", "\x00\x00", "\x65\xe5", "\x65\xe6",
+  "\x65\xe7", "\x65\xe8", "\x65\xe9", "\x00\x00", "\x00\x00", "\x65\xec",
+  "\x65\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xf1", "\x65\xfa",
+  "\x65\xfb", "\x66\x02", "\x66\x03", "\x00\x00", "\x00\x00", "\x66\x06",
+  "\x66\x07", "\x00\x00", "\x00\x00", "\x66\x0a", "\x00\x00", "\x66\x0c",
+  "\x00\x00", "\x66\x0e", "\x66\x0f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\x13", "\x66\x14", "\x66\x1c", "\x00\x00", "\x00\x00", "\x66\x1f",
+  "\x66\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x25",
+  "\x00\x00", "\x66\x27", "\x66\x28", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x66\x2d", "\x00\x00", "\x66\x2f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\x34", "\x66\x35", "\x66\x36", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x3c", "\x00\x00",
+  "\x00\x00", "\x66\x3f", "\x00\x00", "\x66\x41", "\x66\x42", "\x66\x43",
+  "\x66\x44", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x49",
+  "\x00\x00", "\x66\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x4f",
+  "\x00\x00", "\x00\x00", "\x66\x52", "\x66\x5d", "\x66\x5e", "\x66\x5f",
+  "\x00\x00", "\x00\x00", "\x66\x62", "\x00\x00", "\x66\x64", "\x00\x00",
+  "\x66\x66", "\x66\x67", "\x66\x68", "\x66\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\x6e", "\x66\x6f", "\x66\x70", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\x74", "\x00\x00", "\x66\x76", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\x7a", "\x66\x81", "\x00\x00", "\x66\x83",
+  "\x66\x84", "\x00\x00", "\x00\x00", "\x66\x87", "\x66\x88", "\x66\x89",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x8e", "\x00\x00",
+  "\x00\x00", "\x66\x91", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\x96", "\x66\x97", "\x66\x98", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x66\x9d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\xa2", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xa6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xab", "\x00\x00", "\x00\x00",
+  "\x66\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xb8", "\x66\xb9",
+  "\x00\x00", "\x00\x00", "\x66\xbc", "\x00\x00", "\x66\xbe", "\x00\x00",
+  "\x00\x00", "\x66\xc1", "\x00\x00", "\x00\x00", "\x66\xc4", "\x00\x00",
+  "\x00\x00", "\x66\xc7", "\x00\x00", "\x66\xc9", "\x66\xd6", "\x00\x00",
+  "\x00\x00", "\x66\xd9", "\x66\xda", "\x00\x00", "\x66\xdc", "\x66\xdd",
+  "\x00\x00", "\x00\x00", "\x66\xe0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\xe6", "\x00\x00", "\x00\x00", "\x66\xe9",
+  "\x66\xf0", "\x00\x00", "\x66\xf2", "\x66\xf3", "\x66\xf4", "\x66\xf5",
+  "\x00\x00", "\x66\xf7", "\x66\xf8", "\x66\xf9", "\x00\x00", "\x00\x00",
+  "\x66\xfc", "\x66\xfd", "\x66\xfe", "\x66\xff", "\x67\x00", "\x00\x00",
+  "\x00\x00", "\x67\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x67\x08", "\x67\x09", "\x00\x00", "\x67\x0b", "\x00\x00", "\x67\x0d",
+  "\x00\x00", "\x67\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x67\x14", "\x67\x15", "\x67\x16", "\x67\x17", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x67\x1b", "\x00\x00", "\x67\x1d", "\x67\x1e", "\x67\x1f",
+  "\x67\x26", "\x67\x27", "\x67\x28", "\x00\x00", "\x67\x2a", "\x67\x2b",
+  "\x67\x2c", "\x67\x2d", "\x67\x2e", "\x00\x00", "\x00\x00", "\x67\x31",
+  "\x00\x00", "\x00\x00", "\x67\x34", "\x00\x00", "\x67\x36", "\x67\x37",
+  "\x67\x38", "\x00\x00", "\x67\x3a", "\x00\x00", "\x00\x00", "\x67\x3d",
+  "\x00\x00", "\x67\x3f", "\x00\x00", "\x67\x41", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\x46", "\x00\x00", "\x00\x00", "\x67\x49",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x4e", "\x67\x4f",
+  "\x67\x50", "\x67\x51", "\x00\x00", "\x67\x53", "\x00\x00", "\x00\x00",
+  "\x67\x56", "\x00\x00", "\x00\x00", "\x67\x59", "\x00\x00", "\x00\x00",
+  "\x67\x5c", "\x00\x00", "\x67\x5e", "\x67\x5f", "\x67\x60", "\x67\x61",
+  "\x67\x62", "\x67\x63", "\x67\x64", "\x67\x65", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\x6a", "\x00\x00", "\x00\x00", "\x67\x6d",
+  "\x00\x00", "\x67\x6f", "\x67\x70", "\x67\x71", "\x67\x72", "\x67\x73",
+  "\x00\x00", "\x67\x75", "\x00\x00", "\x67\x77", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\x7c", "\x00\x00", "\x67\x7e", "\x67\x7f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x85",
+  "\x00\x00", "\x67\x87", "\x00\x00", "\x67\x89", "\x00\x00", "\x67\x8b",
+  "\x67\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x90", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x95", "\x00\x00", "\x67\x97",
+  "\x00\x00", "\x00\x00", "\x67\x9a", "\x00\x00", "\x67\x9c", "\x67\x9d",
+  "\x00\x00", "\x00\x00", "\x67\xa0", "\x67\xa1", "\x67\xa2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\xa6", "\x00\x00", "\x00\x00", "\x67\xa9",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xaf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xb3", "\x67\xb4", "\x00\x00",
+  "\x67\xb6", "\x67\xb7", "\x67\xb8", "\x67\xb9", "\x67\xc1", "\x00\x00",
+  "\x00\x00", "\x67\xc4", "\x00\x00", "\x67\xc6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x67\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xce",
+  "\x67\xcf", "\x67\xd0", "\x67\xd1", "\x00\x00", "\x67\xd3", "\x67\xd4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xd8", "\x00\x00", "\x67\xda",
+  "\x00\x00", "\x00\x00", "\x67\xdd", "\x67\xde", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x67\xe2", "\x00\x00", "\x67\xe4", "\x00\x00", "\x00\x00",
+  "\x67\xe7", "\x00\x00", "\x67\xe9", "\x00\x00", "\x00\x00", "\x67\xec",
+  "\x00\x00", "\x67\xee", "\x67\xef", "\x00\x00", "\x67\xf1", "\x00\x00",
+  "\x67\xf3", "\x67\xf4", "\x67\xf5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\xfb", "\x00\x00", "\x00\x00", "\x67\xfe",
+  "\x67\xff", "\x00\x00", "\x00\x00", "\x68\x02", "\x68\x03", "\x68\x04",
+  "\x68\x13", "\x00\x00", "\x00\x00", "\x68\x16", "\x68\x17", "\x68\x1e",
+  "\x00\x00", "\x00\x00", "\x68\x21", "\x68\x22", "\x68\x29", "\x68\x2a",
+  "\x68\x2b", "\x68\x32", "\x00\x00", "\x68\x34", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x68\x38", "\x68\x39", "\x00\x00", "\x00\x00", "\x68\x3c",
+  "\x68\x3d", "\x00\x00", "\x00\x00", "\x68\x40", "\x68\x41", "\x68\x42",
+  "\x68\x43", "\x00\x00", "\x00\x00", "\x68\x46", "\x00\x00", "\x68\x48",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x4d", "\x68\x4e",
+  "\x00\x00", "\x68\x50", "\x68\x51", "\x00\x00", "\x68\x53", "\x68\x54",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x59", "\x00\x00",
+  "\x00\x00", "\x68\x5c", "\x68\x5d", "\x00\x00", "\x68\x5f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x68\x63", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\x67", "\x68\x74", "\x00\x00", "\x68\x76", "\x68\x77", "\x68\x7e",
+  "\x68\x7f", "\x00\x00", "\x68\x81", "\x00\x00", "\x68\x83", "\x00\x00",
+  "\x68\x85", "\x68\x8d", "\x00\x00", "\x68\x8f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x68\x93", "\x68\x94", "\x00\x00", "\x00\x00", "\x68\x97",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x9b", "\x00\x00", "\x68\x9d",
+  "\x00\x00", "\x68\x9f", "\x68\xa0", "\x00\x00", "\x68\xa2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x68\xa6", "\x68\xa7", "\x68\xa8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xad", "\x00\x00", "\x68\xaf",
+  "\x68\xb0", "\x68\xb1", "\x00\x00", "\x68\xb3", "\x00\x00", "\x68\xb5",
+  "\x68\xb6", "\x00\x00", "\x00\x00", "\x68\xb9", "\x68\xba", "\x00\x00",
+  "\x68\xbc", "\x68\xc4", "\x00\x00", "\x68\xc6", "\x00\x00", "\x00\x00",
+  "\x68\xc9", "\x68\xca", "\x68\xcb", "\x00\x00", "\x68\xcd", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xd2", "\x00\x00", "\x68\xd4",
+  "\x68\xd5", "\x00\x00", "\x68\xd7", "\x68\xd8", "\x00\x00", "\x68\xda",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xdf", "\x68\xe0",
+  "\x68\xe1", "\x00\x00", "\x68\xe3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\xe7", "\x68\xee", "\x68\xef", "\x00\x00", "\x00\x00", "\x68\xf2",
+  "\x68\xf9", "\x68\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x69\x00", "\x69\x01", "\x00\x00", "\x00\x00", "\x69\x04",
+  "\x69\x05", "\x00\x00", "\x00\x00", "\x69\x08", "\x00\x00", "\x00\x00",
+  "\x69\x0b", "\x69\x0c", "\x69\x0d", "\x69\x0e", "\x69\x0f", "\x00\x00",
+  "\x00\x00", "\x69\x12", "\x69\x19", "\x69\x1a", "\x69\x1b", "\x69\x1c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x21", "\x69\x22",
+  "\x69\x23", "\x00\x00", "\x69\x25", "\x69\x26", "\x00\x00", "\x69\x28",
+  "\x00\x00", "\x69\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x69\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x34",
+  "\x00\x00", "\x69\x36", "\x00\x00", "\x00\x00", "\x69\x39", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x69\x3d", "\x00\x00", "\x69\x3f", "\x69\x4a",
+  "\x69\x53", "\x69\x54", "\x69\x55", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x69\x59", "\x69\x5a", "\x00\x00", "\x69\x5c", "\x69\x5d", "\x69\x5e",
+  "\x00\x00", "\x69\x60", "\x69\x61", "\x69\x62", "\x69\x6a", "\x69\x6b",
+  "\x00\x00", "\x69\x6d", "\x69\x6e", "\x69\x6f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x69\x73", "\x69\x74", "\x69\x75", "\x00\x00", "\x69\x77",
+  "\x69\x78", "\x69\x79", "\x00\x00", "\x00\x00", "\x69\x7c", "\x69\x7d",
+  "\x69\x7e", "\x00\x00", "\x00\x00", "\x69\x81", "\x69\x82", "\x69\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x8e", "\x00\x00", "\x00\x00",
+  "\x69\x91", "\x00\x00", "\x00\x00", "\x69\x94", "\x69\x95", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x9b", "\x69\x9c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xa0", "\x69\xa7", "\x69\xae",
+  "\x00\x00", "\x00\x00", "\x69\xb1", "\x69\xb2", "\x00\x00", "\x69\xb4",
+  "\x69\xbb", "\x00\x00", "\x00\x00", "\x69\xbe", "\x69\xbf", "\x00\x00",
+  "\x69\xc1", "\x00\x00", "\x69\xc3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x69\xc7", "\x00\x00", "\x00\x00", "\x69\xca", "\x69\xcb", "\x69\xcc",
+  "\x69\xcd", "\x69\xce", "\x00\x00", "\x69\xd0", "\x00\x00", "\x00\x00",
+  "\x69\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xd8",
+  "\x69\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xdd", "\x69\xde",
+  "\x69\xe7", "\x69\xe8", "\x00\x00", "\x00\x00", "\x69\xeb", "\x00\x00",
+  "\x69\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xf2",
+  "\x69\xf9", "\x00\x00", "\x69\xfb", "\x00\x00", "\x69\xfd", "\x00\x00",
+  "\x69\xff", "\x00\x00", "\x00\x00", "\x6a\x02", "\x00\x00", "\x00\x00",
+  "\x6a\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x0a",
+  "\x6a\x0b", "\x6a\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6a\x12", "\x6a\x13", "\x6a\x14", "\x00\x00", "\x00\x00",
+  "\x6a\x17", "\x00\x00", "\x6a\x19", "\x00\x00", "\x6a\x1b", "\x00\x00",
+  "\x00\x00", "\x6a\x1e", "\x6a\x1f", "\x00\x00", "\x6a\x21", "\x6a\x22",
+  "\x6a\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\x29", "\x6a\x2a", "\x6a\x2b", "\x00\x00", "\x00\x00", "\x6a\x2e",
+  "\x6a\x35", "\x6a\x36", "\x00\x00", "\x6a\x38", "\x6a\x39", "\x6a\x3a",
+  "\x00\x00", "\x00\x00", "\x6a\x3d", "\x6a\x44", "\x00\x00", "\x00\x00",
+  "\x6a\x47", "\x6a\x48", "\x00\x00", "\x00\x00", "\x6a\x4b", "\x6a\x58",
+  "\x6a\x59", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\x5f", "\x00\x00", "\x6a\x61", "\x6a\x62", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6a\x66", "\x6a\x72", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\x78", "\x6a\x7f", "\x6a\x80", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\x84", "\x6a\x8d", "\x6a\x8e", "\x00\x00",
+  "\x6a\x90", "\x6a\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\x9c", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xa0", "\x00\x00",
+  "\x6a\xa2", "\x6a\xa3", "\x6a\xaa", "\x00\x00", "\x6a\xac", "\x00\x00",
+  "\x6a\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xb3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xb8", "\x00\x00",
+  "\x00\x00", "\x6a\xbb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6a\xc1", "\x6a\xc2", "\x6a\xc3", "\x6a\xd1", "\x00\x00",
+  "\x6a\xd3", "\x6a\xda", "\x6a\xdb", "\x00\x00", "\x00\x00", "\x6a\xde",
+  "\x6a\xdf", "\x6a\xe8", "\x00\x00", "\x6a\xea", "\x6a\xfa", "\x6a\xfb",
+  "\x6b\x04", "\x6b\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6b\x0a", "\x6b\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x16",
+  "\x6b\x1d", "\x00\x00", "\x6b\x1f", "\x6b\x20", "\x6b\x21", "\x00\x00",
+  "\x6b\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x27", "\x6b\x32",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x37", "\x6b\x38",
+  "\x6b\x39", "\x6b\x3a", "\x00\x00", "\x00\x00", "\x6b\x3d", "\x6b\x3e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x43", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x47", "\x00\x00", "\x6b\x49", "\x00\x00",
+  "\x00\x00", "\x6b\x4c", "\x00\x00", "\x6b\x4e", "\x00\x00", "\x6b\x50",
+  "\x00\x00", "\x00\x00", "\x6b\x53", "\x6b\x54", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x59", "\x00\x00", "\x6b\x5b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x5f", "\x00\x00", "\x6b\x61", "\x6b\x62",
+  "\x6b\x63", "\x6b\x64", "\x00\x00", "\x6b\x66", "\x00\x00", "\x00\x00",
+  "\x6b\x69", "\x6b\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6b\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x73", "\x6b\x74",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x78", "\x6b\x79", "\x00\x00",
+  "\x6b\x7b", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x7f", "\x6b\x80",
+  "\x00\x00", "\x00\x00", "\x6b\x83", "\x6b\x84", "\x00\x00", "\x6b\x86",
+  "\x00\x00", "\x00\x00", "\x6b\x89", "\x6b\x8a", "\x6b\x8b", "\x00\x00",
+  "\x6b\x8d", "\x6b\x95", "\x6b\x96", "\x00\x00", "\x6b\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x9e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xa4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xaa", "\x6b\xab",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xaf", "\x00\x00", "\x6b\xb1",
+  "\x6b\xb2", "\x6b\xb3", "\x6b\xb4", "\x6b\xb5", "\x00\x00", "\x6b\xb7",
+  "\x00\x00", "\x00\x00", "\x6b\xba", "\x6b\xbb", "\x6b\xbc", "\x00\x00",
+  "\x00\x00", "\x6b\xbf", "\x6b\xc0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\xc5", "\x6b\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\xcb", "\x00\x00", "\x6b\xcd", "\x6b\xce", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\xd2", "\x6b\xd3", "\x6b\xd4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\xd8", "\x00\x00", "\x00\x00", "\x6b\xdb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xdf", "\x6b\xeb", "\x6b\xec",
+  "\x00\x00", "\x00\x00", "\x6b\xef", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6b\xf3", "\x6c\x08", "\x6c\x0f", "\x00\x00", "\x6c\x11", "\x00\x00",
+  "\x6c\x13", "\x6c\x14", "\x00\x00", "\x00\x00", "\x6c\x17", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x1b", "\x6c\x23", "\x6c\x24", "\x6c\x34",
+  "\x00\x00", "\x00\x00", "\x6c\x37", "\x6c\x38", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x3e", "\x00\x00", "\x6c\x40",
+  "\x6c\x41", "\x6c\x42", "\x6c\x4e", "\x00\x00", "\x6c\x50", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x55", "\x00\x00", "\x6c\x57",
+  "\x00\x00", "\x00\x00", "\x6c\x5a", "\x00\x00", "\x00\x00", "\x6c\x5d",
+  "\x6c\x5e", "\x6c\x5f", "\x6c\x60", "\x00\x00", "\x6c\x62", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x68", "\x00\x00",
+  "\x6c\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6c\x70", "\x00\x00", "\x6c\x72", "\x6c\x73", "\x6c\x7a", "\x00\x00",
+  "\x00\x00", "\x6c\x7d", "\x6c\x7e", "\x00\x00", "\x00\x00", "\x6c\x81",
+  "\x6c\x82", "\x6c\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6c\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x8c", "\x6c\x8d",
+  "\x00\x00", "\x00\x00", "\x6c\x90", "\x00\x00", "\x6c\x92", "\x6c\x93",
+  "\x00\x00", "\x00\x00", "\x6c\x96", "\x00\x00", "\x00\x00", "\x6c\x99",
+  "\x6c\x9a", "\x6c\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6c\xa1", "\x6c\xa2", "\x6c\xab", "\x00\x00", "\x00\x00",
+  "\x6c\xae", "\x00\x00", "\x00\x00", "\x6c\xb1", "\x00\x00", "\x6c\xb3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xb8", "\x6c\xb9",
+  "\x6c\xba", "\x6c\xbb", "\x6c\xbc", "\x6c\xbd", "\x6c\xbe", "\x6c\xbf",
+  "\x00\x00", "\x6c\xc1", "\x00\x00", "\x00\x00", "\x6c\xc4", "\x6c\xc5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xc9", "\x6c\xca", "\x00\x00",
+  "\x6c\xcc", "\x6c\xd3", "\x00\x00", "\x6c\xd5", "\x00\x00", "\x6c\xd7",
+  "\x00\x00", "\x6c\xd9", "\x00\x00", "\x6c\xdb", "\x00\x00", "\x6c\xdd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xe1", "\x6c\xe2", "\x6c\xe3",
+  "\x00\x00", "\x6c\xe5", "\x00\x00", "\x00\x00", "\x6c\xe8", "\x00\x00",
+  "\x6c\xea", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xef",
+  "\x6c\xf0", "\x6c\xf1", "\x00\x00", "\x6c\xf3", "\x6d\x0b", "\x6d\x0c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x12",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x17", "\x00\x00",
+  "\x6d\x19", "\x00\x00", "\x6d\x1b", "\x00\x00", "\x00\x00", "\x6d\x1e",
+  "\x6d\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6d\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x29", "\x6d\x2a",
+  "\x6d\x2b", "\x6d\x32", "\x6d\x33", "\x00\x00", "\x6d\x35", "\x6d\x36",
+  "\x00\x00", "\x6d\x38", "\x00\x00", "\x00\x00", "\x6d\x3b", "\x00\x00",
+  "\x6d\x3d", "\x6d\x3e", "\x00\x00", "\x00\x00", "\x6d\x41", "\x00\x00",
+  "\x00\x00", "\x6d\x44", "\x6d\x45", "\x6d\x59", "\x6d\x5a", "\x00\x00",
+  "\x6d\x5c", "\x6d\x63", "\x6d\x64", "\x00\x00", "\x6d\x66", "\x00\x00",
+  "\x00\x00", "\x6d\x69", "\x6d\x6a", "\x00\x00", "\x6d\x6c", "\x00\x00",
+  "\x6d\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6d\x74", "\x00\x00", "\x00\x00", "\x6d\x77", "\x6d\x78", "\x6d\x79",
+  "\x6d\x85", "\x00\x00", "\x00\x00", "\x6d\x88", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6d\x8c", "\x00\x00", "\x6d\x8e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6d\x93", "\x00\x00", "\x6d\x95", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6d\x99", "\x00\x00", "\x6d\x9b", "\x6d\x9c",
+  "\x6d\xaf", "\x00\x00", "\x00\x00", "\x6d\xb2", "\x00\x00", "\x00\x00",
+  "\x6d\xb5", "\x00\x00", "\x00\x00", "\x6d\xb8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6d\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc5", "\x6d\xc6",
+  "\x6d\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xcb", "\x6d\xcc",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xd1", "\x6d\xd2",
+  "\x00\x00", "\x00\x00", "\x6d\xd5", "\x00\x00", "\x00\x00", "\x6d\xd8",
+  "\x6d\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xde",
+  "\x00\x00", "\x00\x00", "\x6d\xe1", "\x00\x00", "\x00\x00", "\x6d\xe4",
+  "\x00\x00", "\x6d\xe6", "\x00\x00", "\x6d\xe8", "\x00\x00", "\x6d\xea",
+  "\x6d\xeb", "\x6d\xec", "\x00\x00", "\x6d\xee", "\x00\x00", "\x00\x00",
+  "\x6d\xf1", "\x00\x00", "\x6d\xf3", "\x00\x00", "\x6d\xf5", "\x00\x00",
+  "\x6d\xf7", "\x00\x00", "\x6d\xf9", "\x6d\xfa", "\x6d\xfb", "\x6e\x05",
+  "\x00\x00", "\x6e\x07", "\x6e\x08", "\x6e\x09", "\x6e\x0a", "\x6e\x0b",
+  "\x6e\x13", "\x00\x00", "\x6e\x15", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6e\x19", "\x6e\x1a", "\x6e\x1b", "\x00\x00", "\x6e\x1d", "\x00\x00",
+  "\x6e\x1f", "\x6e\x20", "\x6e\x21", "\x00\x00", "\x6e\x23", "\x6e\x24",
+  "\x6e\x25", "\x6e\x26", "\x00\x00", "\x00\x00", "\x6e\x29", "\x00\x00",
+  "\x6e\x2b", "\x6e\x2c", "\x6e\x2d", "\x6e\x2e", "\x6e\x2f", "\x6e\x38",
+  "\x00\x00", "\x6e\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x3e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x43", "\x6e\x4a",
+  "\x00\x00", "\x00\x00", "\x6e\x4d", "\x6e\x4e", "\x6e\x56", "\x00\x00",
+  "\x6e\x58", "\x00\x00", "\x00\x00", "\x6e\x5b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6e\x5f", "\x6e\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6e\x6b", "\x00\x00", "\x00\x00", "\x6e\x6e", "\x6e\x6f", "\x00\x00",
+  "\x00\x00", "\x6e\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x76",
+  "\x6e\x7e", "\x6e\x7f", "\x6e\x80", "\x00\x00", "\x6e\x82", "\x6e\x8c",
+  "\x00\x00", "\x00\x00", "\x6e\x8f", "\x6e\x90", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x96", "\x00\x00", "\x6e\x98",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x9c", "\x6e\x9d", "\x00\x00",
+  "\x6e\x9f", "\x00\x00", "\x00\x00", "\x6e\xa2", "\x00\x00", "\x00\x00",
+  "\x6e\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xaa",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xaf", "\x00\x00",
+  "\x00\x00", "\x6e\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xb6",
+  "\x6e\xb7", "\x00\x00", "\x00\x00", "\x6e\xba", "\x00\x00", "\x00\x00",
+  "\x6e\xbd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xc2",
+  "\x00\x00", "\x6e\xc4", "\x6e\xc5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6e\xc9", "\x00\x00", "\x6e\xcb", "\x6e\xcc", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\xd1", "\x00\x00", "\x6e\xd3", "\x6e\xd4",
+  "\x6e\xd5", "\x6e\xdd", "\x6e\xde", "\x6e\xec", "\x00\x00", "\x00\x00",
+  "\x6e\xef", "\x00\x00", "\x00\x00", "\x6e\xf2", "\x00\x00", "\x6e\xf4",
+  "\x00\x00", "\x00\x00", "\x6e\xf7", "\x6e\xf8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xfe", "\x6e\xff", "\x00\x00",
+  "\x6f\x01", "\x6f\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x06",
+  "\x00\x00", "\x00\x00", "\x6f\x09", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x0f", "\x00\x00", "\x6f\x11", "\x00\x00",
+  "\x6f\x13", "\x6f\x14", "\x6f\x15", "\x6f\x20", "\x00\x00", "\x6f\x22",
+  "\x6f\x23", "\x6f\x2b", "\x6f\x2c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6f\x31", "\x6f\x32", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x38", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x3e", "\x6f\x3f", "\x00\x00", "\x6f\x41",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x45", "\x6f\x54", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x58", "\x00\x00", "\x00\x00", "\x6f\x5b",
+  "\x6f\x5c", "\x00\x00", "\x00\x00", "\x6f\x5f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x64", "\x00\x00", "\x6f\x66", "\x6f\x6d",
+  "\x6f\x6e", "\x6f\x6f", "\x6f\x70", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6f\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x78", "\x00\x00",
+  "\x6f\x7a", "\x00\x00", "\x6f\x7c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6f\x80", "\x6f\x81", "\x6f\x82", "\x00\x00", "\x6f\x84", "\x00\x00",
+  "\x6f\x86", "\x6f\x8e", "\x00\x00", "\x00\x00", "\x6f\x91", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x97", "\x6f\xa1",
+  "\x00\x00", "\x6f\xa3", "\x6f\xa4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\xaa", "\x6f\xb1", "\x00\x00", "\x6f\xb3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xb9",
+  "\x6f\xc0", "\x6f\xc1", "\x6f\xc2", "\x6f\xc3", "\x00\x00", "\x00\x00",
+  "\x6f\xc6", "\x6f\xd4", "\x6f\xd5", "\x00\x00", "\x00\x00", "\x6f\xd8",
+  "\x00\x00", "\x00\x00", "\x6f\xdb", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6f\xdf", "\x6f\xe0", "\x6f\xe1", "\x00\x00", "\x00\x00", "\x6f\xe4",
+  "\x6f\xeb", "\x6f\xec", "\x00\x00", "\x6f\xee", "\x6f\xef", "\x00\x00",
+  "\x6f\xf1", "\x00\x00", "\x6f\xf3", "\x00\x00", "\x00\x00", "\x6f\xf6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xfa", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6f\xfe", "\x00\x00", "\x00\x00", "\x70\x01", "\x70\x09",
+  "\x00\x00", "\x70\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x0f",
+  "\x00\x00", "\x70\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x15",
+  "\x00\x00", "\x00\x00", "\x70\x18", "\x00\x00", "\x70\x1a", "\x70\x1b",
+  "\x00\x00", "\x70\x1d", "\x70\x1e", "\x70\x1f", "\x70\x26", "\x70\x27",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x2c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x70\x30", "\x00\x00", "\x70\x32", "\x70\x3e",
+  "\x70\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x51",
+  "\x70\x58", "\x70\x63", "\x70\x6b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x70\x6f", "\x70\x70", "\x70\x78", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x70\x7c", "\x70\x7d", "\x70\x89", "\x70\x8a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x70\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x92",
+  "\x70\x99", "\x70\xac", "\x70\xad", "\x70\xae", "\x70\xaf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x70\xb3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x70\xb8", "\x70\xb9", "\x70\xba", "\x70\xc8", "\x00\x00",
+  "\x00\x00", "\x70\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xcf",
+  "\x70\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xdd", "\x00\x00",
+  "\x70\xdf", "\x70\xf1", "\x70\xf9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x70\xfd", "\x71\x09", "\x71\x14", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x71\x19", "\x71\x1a", "\x00\x00", "\x71\x1c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x21", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\x26", "\x71\x36", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x3c", "\x71\x49", "\x00\x00",
+  "\x00\x00", "\x71\x4c", "\x00\x00", "\x71\x4e", "\x71\x55", "\x71\x56",
+  "\x00\x00", "\x00\x00", "\x71\x59", "\x71\x62", "\x00\x00", "\x71\x64",
+  "\x71\x65", "\x71\x66", "\x71\x67", "\x00\x00", "\x71\x69", "\x00\x00",
+  "\x00\x00", "\x71\x6c", "\x00\x00", "\x71\x6e", "\x71\x7d", "\x71\x84",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x88", "\x00\x00", "\x71\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x8f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x94", "\x71\x95", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\x99", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\x9f", "\x71\xa8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x71\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\xb1", "\x71\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xc3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xc8", "\x71\xc9",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xce", "\x00\x00",
+  "\x71\xd0", "\x00\x00", "\x71\xd2", "\x00\x00", "\x71\xd4", "\x71\xd5",
+  "\x00\x00", "\x71\xd7", "\x71\xdf", "\x71\xe0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\xe5", "\x71\xe6", "\x71\xe7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xec", "\x71\xed", "\x71\xee",
+  "\x71\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\xf9", "\x00\x00",
+  "\x71\xfb", "\x71\xfc", "\x00\x00", "\x00\x00", "\x71\xff", "\x72\x06",
+  "\x72\x0d", "\x00\x00", "\x00\x00", "\x72\x10", "\x72\x1b", "\x72\x28",
+  "\x00\x00", "\x72\x2a", "\x00\x00", "\x72\x2c", "\x72\x2d", "\x00\x00",
+  "\x00\x00", "\x72\x30", "\x00\x00", "\x72\x32", "\x00\x00", "\x00\x00",
+  "\x72\x35", "\x72\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x3a",
+  "\x72\x3b", "\x72\x3c", "\x72\x3d", "\x72\x3e", "\x72\x3f", "\x72\x40",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x46",
+  "\x72\x47", "\x72\x48", "\x00\x00", "\x00\x00", "\x72\x4b", "\x72\x4c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x52",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x58",
+  "\x72\x59", "\x00\x00", "\x72\x5b", "\x00\x00", "\x72\x5d", "\x00\x00",
+  "\x72\x5f", "\x00\x00", "\x72\x61", "\x72\x62", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x72\x67", "\x00\x00", "\x72\x69", "\x72\x72",
+  "\x00\x00", "\x72\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x7d", "\x72\x7e",
+  "\x00\x00", "\x72\x80", "\x72\x81", "\x72\x82", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x72\x87", "\x72\x92", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\x96", "\x72\xa0", "\x00\x00", "\x72\xa2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xa7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x72\xac", "\x00\x00", "\x00\x00", "\x72\xaf",
+  "\x00\x00", "\x00\x00", "\x72\xb2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\xb6", "\x00\x00", "\x00\x00", "\x72\xb9", "\x72\xc2", "\x72\xc3",
+  "\x72\xc4", "\x00\x00", "\x72\xc6", "\x72\xce", "\x00\x00", "\x72\xd0",
+  "\x00\x00", "\x72\xd2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\xd7", "\x00\x00", "\x72\xd9", "\x00\x00", "\x72\xdb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xe0", "\x72\xe1", "\x72\xe2",
+  "\x72\xe9", "\x00\x00", "\x00\x00", "\x72\xec", "\x72\xed", "\x72\xf7",
+  "\x72\xf8", "\x72\xf9", "\x00\x00", "\x00\x00", "\x72\xfc", "\x72\xfd",
+  "\x73\x0a", "\x73\x16", "\x73\x17", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x73\x1b", "\x73\x1c", "\x73\x1d", "\x00\x00", "\x73\x1f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x25", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x73\x29", "\x73\x2a", "\x73\x2b", "\x00\x00",
+  "\x00\x00", "\x73\x2e", "\x73\x2f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\x34", "\x00\x00", "\x73\x36", "\x73\x37", "\x73\x3e",
+  "\x73\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x44",
+  "\x73\x45", "\x73\x4e", "\x73\x4f", "\x73\x57", "\x73\x63", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x68", "\x00\x00", "\x73\x6a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x70",
+  "\x00\x00", "\x73\x72", "\x00\x00", "\x00\x00", "\x73\x75", "\x00\x00",
+  "\x00\x00", "\x73\x78", "\x00\x00", "\x73\x7a", "\x73\x7b", "\x73\x84",
+  "\x00\x00", "\x00\x00", "\x73\x87", "\x00\x00", "\x73\x89", "\x00\x00",
+  "\x73\x8b", "\x73\x96", "\x73\xa9", "\x73\xb2", "\x73\xb3", "\x73\xbb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xc0", "\x00\x00",
+  "\x73\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x73\xc8", "\x00\x00", "\x73\xca", "\x00\x00", "\x00\x00", "\x73\xcd",
+  "\x73\xce", "\x73\xde", "\x00\x00", "\x73\xe0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x73\xe5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\xea", "\x00\x00", "\x00\x00", "\x73\xed", "\x73\xee",
+  "\x00\x00", "\x00\x00", "\x73\xf1", "\x73\xf8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xfe", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x74\x03", "\x00\x00", "\x74\x05", "\x74\x06",
+  "\x00\x00", "\x00\x00", "\x74\x09", "\x74\x22", "\x00\x00", "\x00\x00",
+  "\x74\x25", "\x74\x32", "\x74\x33", "\x74\x34", "\x74\x35", "\x74\x36",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x3a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x74\x3f", "\x00\x00", "\x74\x41", "\x74\x55",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x59", "\x74\x5a", "\x74\x5b",
+  "\x74\x5c", "\x00\x00", "\x74\x5e", "\x74\x5f", "\x74\x60", "\x00\x00",
+  "\x00\x00", "\x74\x63", "\x74\x64", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\x69", "\x74\x6a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\x6f", "\x74\x70", "\x00\x00", "\x00\x00", "\x74\x73",
+  "\x00\x00", "\x00\x00", "\x74\x76", "\x74\x7e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x74\x83", "\x74\x8b", "\x74\x9e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x74\xa2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\xa7", "\x74\xb0", "\x74\xbd", "\x74\xca", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xcf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x74\xd4", "\x74\xdc", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\xe0", "\x00\x00", "\x74\xe2", "\x74\xe3", "\x00\x00",
+  "\x00\x00", "\x74\xe6", "\x74\xe7", "\x00\x00", "\x74\xe9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xee", "\x00\x00", "\x74\xf0",
+  "\x74\xf1", "\x74\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xf6",
+  "\x74\xf7", "\x74\xf8", "\x75\x03", "\x75\x04", "\x75\x05", "\x75\x0c",
+  "\x75\x0d", "\x75\x0e", "\x00\x00", "\x00\x00", "\x75\x11", "\x00\x00",
+  "\x75\x13", "\x00\x00", "\x75\x15", "\x00\x00", "\x00\x00", "\x75\x18",
+  "\x00\x00", "\x75\x1a", "\x00\x00", "\x75\x1c", "\x00\x00", "\x75\x1e",
+  "\x75\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x23", "\x00\x00",
+  "\x75\x25", "\x75\x26", "\x00\x00", "\x75\x28", "\x00\x00", "\x00\x00",
+  "\x75\x2b", "\x75\x2c", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x30",
+  "\x75\x31", "\x75\x32", "\x75\x33", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\x37", "\x75\x38", "\x00\x00", "\x75\x3a", "\x75\x3b", "\x75\x3c",
+  "\x75\x44", "\x00\x00", "\x75\x46", "\x00\x00", "\x00\x00", "\x75\x49",
+  "\x75\x4a", "\x75\x4b", "\x75\x4c", "\x75\x4d", "\x00\x00", "\x75\x4f",
+  "\x00\x00", "\x75\x51", "\x00\x00", "\x00\x00", "\x75\x54", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x59", "\x75\x5a", "\x75\x5b",
+  "\x75\x5c", "\x75\x5d", "\x00\x00", "\x00\x00", "\x75\x60", "\x00\x00",
+  "\x75\x62", "\x00\x00", "\x75\x64", "\x75\x65", "\x75\x66", "\x75\x67",
+  "\x00\x00", "\x75\x69", "\x75\x6a", "\x75\x6b", "\x00\x00", "\x75\x6d",
+  "\x00\x00", "\x00\x00", "\x75\x70", "\x00\x00", "\x00\x00", "\x75\x73",
+  "\x75\x74", "\x00\x00", "\x75\x76", "\x75\x77", "\x75\x78", "\x75\x7f",
+  "\x00\x00", "\x00\x00", "\x75\x82", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\x86", "\x75\x87", "\x00\x00", "\x75\x89", "\x75\x8a", "\x75\x8b",
+  "\x00\x00", "\x00\x00", "\x75\x8e", "\x75\x8f", "\x00\x00", "\x75\x91",
+  "\x00\x00", "\x00\x00", "\x75\x94", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\x9a", "\x00\x00", "\x00\x00", "\x75\x9d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xa3",
+  "\x00\x00", "\x75\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x75\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x75\xb1", "\x75\xb2", "\x75\xb3", "\x00\x00", "\x75\xb5",
+  "\x00\x00", "\x00\x00", "\x75\xb8", "\x75\xb9", "\x00\x00", "\x00\x00",
+  "\x75\xbc", "\x75\xbd", "\x75\xbe", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\xc2", "\x75\xc3", "\x00\x00", "\x75\xc5", "\x00\x00", "\x75\xc7",
+  "\x00\x00", "\x00\x00", "\x75\xca", "\x00\x00", "\x00\x00", "\x75\xcd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xd2", "\x00\x00",
+  "\x75\xd4", "\x75\xd5", "\x00\x00", "\x00\x00", "\x75\xd8", "\x75\xd9",
+  "\x00\x00", "\x75\xdb", "\x00\x00", "\x00\x00", "\x75\xde", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\xe2", "\x75\xe3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xe9", "\x75\xf0", "\x00\x00",
+  "\x75\xf2", "\x75\xf3", "\x75\xf4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\xfa", "\x00\x00", "\x75\xfc", "\x00\x00",
+  "\x75\xfe", "\x75\xff", "\x00\x00", "\x76\x01", "\x76\x09", "\x00\x00",
+  "\x76\x0b", "\x00\x00", "\x76\x0d", "\x76\x1f", "\x76\x20", "\x76\x21",
+  "\x76\x22", "\x00\x00", "\x76\x24", "\x00\x00", "\x00\x00", "\x76\x27",
+  "\x76\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x34", "\x76\x3b",
+  "\x76\x42", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x46", "\x76\x47",
+  "\x76\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x4c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x52", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\x56", "\x00\x00", "\x76\x58", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\x5c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\x61", "\x76\x62", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\x67", "\x76\x68", "\x76\x69", "\x76\x6a", "\x00\x00",
+  "\x76\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x70", "\x00\x00",
+  "\x76\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x76", "\x00\x00",
+  "\x76\x78", "\x00\x00", "\x76\x7a", "\x76\x7b", "\x76\x7c", "\x76\x7d",
+  "\x76\x7e", "\x00\x00", "\x76\x80", "\x00\x00", "\x00\x00", "\x76\x83",
+  "\x76\x84", "\x00\x00", "\x76\x86", "\x76\x87", "\x76\x88", "\x00\x00",
+  "\x00\x00", "\x76\x8b", "\x00\x00", "\x00\x00", "\x76\x8e", "\x00\x00",
+  "\x76\x90", "\x00\x00", "\x00\x00", "\x76\x93", "\x00\x00", "\x00\x00",
+  "\x76\x96", "\x00\x00", "\x00\x00", "\x76\x99", "\x76\x9a", "\x76\xae",
+  "\x00\x00", "\x76\xb0", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xb4",
+  "\x00\x00", "\x00\x00", "\x76\xb7", "\x76\xb8", "\x76\xb9", "\x76\xba",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xbf", "\x00\x00",
+  "\x00\x00", "\x76\xc2", "\x76\xc3", "\x00\x00", "\x00\x00", "\x76\xc6",
+  "\x00\x00", "\x76\xc8", "\x00\x00", "\x76\xca", "\x00\x00", "\x00\x00",
+  "\x76\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xd2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xd6", "\x76\xd7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\xdb", "\x76\xdc", "\x00\x00", "\x76\xde",
+  "\x76\xdf", "\x00\x00", "\x76\xe1", "\x00\x00", "\x76\xe3", "\x76\xe4",
+  "\x76\xe5", "\x00\x00", "\x76\xe7", "\x00\x00", "\x00\x00", "\x76\xea",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xee", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\xf2", "\x00\x00", "\x76\xf4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\xf8", "\x00\x00", "\x00\x00", "\x76\xfb", "\x00\x00",
+  "\x00\x00", "\x76\xfe", "\x00\x00", "\x00\x00", "\x77\x01", "\x00\x00",
+  "\x00\x00", "\x77\x04", "\x00\x00", "\x00\x00", "\x77\x07", "\x77\x08",
+  "\x77\x09", "\x00\x00", "\x77\x0b", "\x77\x0c", "\x77\x1b", "\x00\x00",
+  "\x00\x00", "\x77\x1e", "\x77\x1f", "\x77\x20", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x77\x24", "\x77\x25", "\x77\x26", "\x00\x00", "\x00\x00",
+  "\x77\x29", "\x77\x37", "\x77\x38", "\x00\x00", "\x77\x3a", "\x00\x00",
+  "\x77\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x40", "\x77\x47",
+  "\x77\x5a", "\x77\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x77\x61", "\x00\x00", "\x77\x63", "\x00\x00", "\x77\x65",
+  "\x77\x66", "\x00\x00", "\x77\x68", "\x00\x00", "\x00\x00", "\x77\x6b",
+  "\x77\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x7e",
+  "\x77\x7f", "\x77\x8b", "\x00\x00", "\x00\x00", "\x77\x8e", "\x00\x00",
+  "\x00\x00", "\x77\x91", "\x77\x9e", "\x00\x00", "\x77\xa0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xa5", "\x77\xac", "\x77\xad",
+  "\x00\x00", "\x00\x00", "\x77\xb0", "\x00\x00", "\x00\x00", "\x77\xb3",
+  "\x00\x00", "\x00\x00", "\x77\xb6", "\x00\x00", "\x00\x00", "\x77\xb9",
+  "\x00\x00", "\x77\xbb", "\x77\xbc", "\x77\xbd", "\x00\x00", "\x77\xbf",
+  "\x77\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xcd", "\x77\xd7", "\x00\x00", "\x00\x00", "\x77\xda", "\x77\xdb",
+  "\x77\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xe2", "\x77\xe3", "\x00\x00", "\x77\xe5", "\x00\x00", "\x77\xe7",
+  "\x00\x00", "\x77\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xed",
+  "\x77\xee", "\x77\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xf3",
+  "\x77\xfc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\x02", "\x78\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x78\x12", "\x00\x00", "\x78\x14", "\x78\x15", "\x78\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x25", "\x78\x26",
+  "\x78\x27", "\x78\x32", "\x00\x00", "\x78\x34", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x3a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x78\x3f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x78\x45", "\x78\x5d", "\x78\x6b", "\x78\x6c",
+  "\x00\x00", "\x00\x00", "\x78\x6f", "\x00\x00", "\x00\x00", "\x78\x72",
+  "\x00\x00", "\x78\x74", "\x78\x7c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x78\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\x86", "\x78\x87", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\x8c", "\x78\x8d", "\x78\x8e", "\x00\x00", "\x00\x00", "\x78\x91",
+  "\x00\x00", "\x78\x93", "\x00\x00", "\x78\x95", "\x00\x00", "\x78\x97",
+  "\x00\x00", "\x00\x00", "\x78\x9a", "\x78\xa3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x78\xa7", "\x00\x00", "\x78\xa9", "\x78\xaa", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xaf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xb5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x78\xba", "\x00\x00", "\x78\xbc", "\x00\x00",
+  "\x78\xbe", "\x00\x00", "\x00\x00", "\x78\xc1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x78\xc5", "\x78\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\xca", "\x78\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\xd0", "\x78\xd1", "\x00\x00", "\x00\x00", "\x78\xd4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xda", "\x78\xe7",
+  "\x78\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xec", "\x00\x00",
+  "\x00\x00", "\x78\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\xf4", "\x78\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x01",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x07",
+  "\x79\x0e", "\x00\x00", "\x00\x00", "\x79\x11", "\x79\x12", "\x79\x19",
+  "\x79\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x2a", "\x79\x2b",
+  "\x79\x2c", "\x79\x3a", "\x00\x00", "\x79\x3c", "\x00\x00", "\x79\x3e",
+  "\x00\x00", "\x79\x40", "\x79\x41", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x79\x47", "\x79\x48", "\x79\x49", "\x79\x50",
+  "\x00\x00", "\x00\x00", "\x79\x53", "\x00\x00", "\x79\x55", "\x79\x56",
+  "\x79\x57", "\x00\x00", "\x00\x00", "\x79\x5a", "\x00\x00", "\x00\x00",
+  "\x79\x5d", "\x79\x5e", "\x79\x5f", "\x79\x60", "\x00\x00", "\x79\x62",
+  "\x00\x00", "\x00\x00", "\x79\x65", "\x00\x00", "\x00\x00", "\x79\x68",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x6d", "\x79\x77",
+  "\x00\x00", "\x00\x00", "\x79\x7a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x79\x7f", "\x79\x80", "\x79\x81", "\x00\x00", "\x00\x00",
+  "\x79\x84", "\x79\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\x8a", "\x00\x00", "\x00\x00", "\x79\x8d", "\x79\x8e", "\x79\x8f",
+  "\x79\x9d", "\x79\xa6", "\x79\xa7", "\x00\x00", "\x00\x00", "\x79\xaa",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xae", "\x00\x00", "\x79\xb0",
+  "\x00\x00", "\x00\x00", "\x79\xb3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x79\xb9", "\x79\xba", "\x00\x00", "\x00\x00",
+  "\x79\xbd", "\x79\xbe", "\x79\xbf", "\x79\xc0", "\x79\xc1", "\x79\xc9",
+  "\x00\x00", "\x79\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x79\xd1", "\x79\xd2", "\x00\x00", "\x00\x00", "\x79\xd5",
+  "\x00\x00", "\x00\x00", "\x79\xd8", "\x79\xdf", "\x00\x00", "\x79\xe1",
+  "\x00\x00", "\x79\xe3", "\x79\xe4", "\x00\x00", "\x79\xe6", "\x79\xe7",
+  "\x00\x00", "\x79\xe9", "\x00\x00", "\x00\x00", "\x79\xec", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x79\xf0", "\x79\xfb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7a\x00", "\x7a\x08", "\x00\x00", "\x00\x00",
+  "\x7a\x0b", "\x00\x00", "\x7a\x0d", "\x7a\x0e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x14", "\x00\x00", "\x00\x00",
+  "\x7a\x17", "\x7a\x18", "\x7a\x19", "\x7a\x1a", "\x00\x00", "\x7a\x1c",
+  "\x00\x00", "\x00\x00", "\x7a\x1f", "\x7a\x20", "\x7a\x2e", "\x00\x00",
+  "\x00\x00", "\x7a\x31", "\x7a\x32", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7a\x37", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x3b",
+  "\x7a\x3c", "\x7a\x3d", "\x7a\x3e", "\x7a\x3f", "\x7a\x40", "\x00\x00",
+  "\x7a\x42", "\x7a\x43", "\x00\x00", "\x00\x00", "\x7a\x46", "\x00\x00",
+  "\x00\x00", "\x7a\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x4d",
+  "\x7a\x4e", "\x7a\x4f", "\x7a\x50", "\x7a\x57", "\x7a\x61", "\x7a\x62",
+  "\x7a\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\x69", "\x00\x00", "\x7a\x6b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7a\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x74",
+  "\x00\x00", "\x7a\x76", "\x00\x00", "\x00\x00", "\x7a\x79", "\x7a\x7a",
+  "\x00\x00", "\x00\x00", "\x7a\x7d", "\x00\x00", "\x7a\x7f", "\x00\x00",
+  "\x7a\x81", "\x00\x00", "\x7a\x83", "\x7a\x84", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7a\x88", "\x7a\x92", "\x7a\x93", "\x00\x00", "\x7a\x95",
+  "\x7a\x96", "\x7a\x97", "\x7a\x98", "\x7a\x9f", "\x7a\xa9", "\x7a\xaa",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xae", "\x7a\xaf", "\x7a\xb0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xb6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xba", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7a\xbf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\xc3", "\x7a\xc4", "\x7a\xc5", "\x00\x00", "\x7a\xc7", "\x7a\xc8",
+  "\x00\x00", "\x7a\xca", "\x7a\xcb", "\x00\x00", "\x7a\xcd", "\x00\x00",
+  "\x7a\xcf", "\x00\x00", "\x00\x00", "\x7a\xd2", "\x7a\xd3", "\x00\x00",
+  "\x7a\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xd9", "\x7a\xda",
+  "\x00\x00", "\x7a\xdc", "\x7a\xdd", "\x00\x00", "\x7a\xdf", "\x7a\xe0",
+  "\x7a\xe1", "\x7a\xe2", "\x7a\xe3", "\x00\x00", "\x7a\xe5", "\x7a\xe6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xea", "\x00\x00", "\x00\x00",
+  "\x7a\xed", "\x00\x00", "\x7a\xef", "\x7a\xf0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xf6", "\x00\x00", "\x7a\xf8",
+  "\x7a\xf9", "\x7a\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\xff", "\x00\x00", "\x00\x00", "\x7b\x02", "\x00\x00", "\x7b\x04",
+  "\x00\x00", "\x7b\x06", "\x00\x00", "\x7b\x08", "\x00\x00", "\x7b\x0a",
+  "\x7b\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x0f", "\x00\x00",
+  "\x7b\x11", "\x7b\x18", "\x7b\x19", "\x00\x00", "\x7b\x1b", "\x00\x00",
+  "\x00\x00", "\x7b\x1e", "\x00\x00", "\x7b\x20", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7b\x25", "\x7b\x26", "\x00\x00", "\x7b\x28",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x2c", "\x7b\x33", "\x00\x00",
+  "\x7b\x35", "\x7b\x36", "\x00\x00", "\x00\x00", "\x7b\x39", "\x7b\x45",
+  "\x7b\x46", "\x00\x00", "\x7b\x48", "\x7b\x49", "\x00\x00", "\x7b\x4b",
+  "\x7b\x4c", "\x7b\x4d", "\x00\x00", "\x7b\x4f", "\x7b\x50", "\x7b\x51",
+  "\x7b\x52", "\x00\x00", "\x7b\x54", "\x00\x00", "\x7b\x56", "\x7b\x5d",
+  "\x7b\x65", "\x00\x00", "\x7b\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\x6c", "\x00\x00", "\x7b\x6e", "\x00\x00", "\x7b\x70",
+  "\x7b\x71", "\x00\x00", "\x00\x00", "\x7b\x74", "\x7b\x75", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x7a", "\x7b\x86", "\x7b\x87",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x8b", "\x00\x00", "\x7b\x8d",
+  "\x00\x00", "\x7b\x8f", "\x00\x00", "\x00\x00", "\x7b\x92", "\x00\x00",
+  "\x7b\x94", "\x7b\x95", "\x00\x00", "\x7b\x97", "\x7b\x98", "\x7b\x99",
+  "\x7b\x9a", "\x00\x00", "\x7b\x9c", "\x7b\x9d", "\x00\x00", "\x7b\x9f",
+  "\x00\x00", "\x7b\xa1", "\x7b\xaa", "\x00\x00", "\x00\x00", "\x7b\xad",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xb1", "\x00\x00", "\x00\x00",
+  "\x7b\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xb8", "\x7b\xc0",
+  "\x7b\xc1", "\x00\x00", "\x00\x00", "\x7b\xc4", "\x00\x00", "\x7b\xc6",
+  "\x7b\xc7", "\x00\x00", "\x7b\xc9", "\x00\x00", "\x7b\xcb", "\x7b\xcc",
+  "\x00\x00", "\x00\x00", "\x7b\xcf", "\x7b\xdd", "\x00\x00", "\x00\x00",
+  "\x7b\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xe4", "\x7b\xe5",
+  "\x7b\xe6", "\x00\x00", "\x00\x00", "\x7b\xe9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\xf3", "\x00\x00", "\x00\x00", "\x7b\xf6", "\x7b\xf7",
+  "\x7c\x00", "\x7c\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x0d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x11",
+  "\x7c\x12", "\x7c\x13", "\x7c\x14", "\x00\x00", "\x00\x00", "\x7c\x17",
+  "\x7c\x1f", "\x00\x00", "\x7c\x21", "\x00\x00", "\x7c\x23", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7c\x27", "\x00\x00", "\x00\x00", "\x7c\x2a",
+  "\x7c\x2b", "\x7c\x37", "\x7c\x38", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x3d", "\x7c\x3e", "\x7c\x3f", "\x7c\x40", "\x00\x00",
+  "\x00\x00", "\x7c\x43", "\x7c\x4c", "\x7c\x4d", "\x00\x00", "\x7c\x4f",
+  "\x7c\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x54", "\x00\x00",
+  "\x7c\x56", "\x00\x00", "\x7c\x58", "\x7c\x5f", "\x7c\x60", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7c\x64", "\x7c\x65", "\x7c\x6c", "\x7c\x73",
+  "\x00\x00", "\x7c\x75", "\x7c\x7e", "\x00\x00", "\x00\x00", "\x7c\x81",
+  "\x7c\x82", "\x7c\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x89", "\x00\x00", "\x7c\x8b", "\x00\x00", "\x7c\x8d",
+  "\x00\x00", "\x00\x00", "\x7c\x90", "\x00\x00", "\x7c\x92", "\x00\x00",
+  "\x00\x00", "\x7c\x95", "\x00\x00", "\x7c\x97", "\x7c\x98", "\x00\x00",
+  "\x00\x00", "\x7c\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x9f",
+  "\x00\x00", "\x7c\xa1", "\x7c\xa2", "\x00\x00", "\x7c\xa4", "\x7c\xa5",
+  "\x00\x00", "\x7c\xa7", "\x7c\xa8", "\x00\x00", "\x00\x00", "\x7c\xab",
+  "\x00\x00", "\x7c\xad", "\x7c\xae", "\x00\x00", "\x00\x00", "\x7c\xb1",
+  "\x7c\xb2", "\x7c\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xbd",
+  "\x7c\xbe", "\x00\x00", "\x7c\xc0", "\x00\x00", "\x7c\xc2", "\x00\x00",
+  "\x00\x00", "\x7c\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7c\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xce", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7c\xd2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7c\xd6", "\x00\x00", "\x7c\xd8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7c\xdc", "\x00\x00", "\x7c\xde", "\x7c\xdf", "\x7c\xe0", "\x00\x00",
+  "\x7c\xe2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xe7",
+  "\x7c\xef", "\x00\x00", "\x00\x00", "\x7c\xf2", "\x00\x00", "\x7c\xf4",
+  "\x00\x00", "\x7c\xf6", "\x00\x00", "\x7c\xf8", "\x00\x00", "\x7c\xfa",
+  "\x7c\xfb", "\x00\x00", "\x00\x00", "\x7c\xfe", "\x00\x00", "\x7d\x00",
+  "\x00\x00", "\x7d\x02", "\x00\x00", "\x7d\x04", "\x7d\x05", "\x7d\x06",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x0a", "\x7d\x0b", "\x00\x00",
+  "\x7d\x0d", "\x00\x00", "\x00\x00", "\x7d\x10", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x14", "\x7d\x15", "\x00\x00", "\x7d\x17", "\x7d\x18",
+  "\x7d\x19", "\x7d\x1a", "\x7d\x1b", "\x7d\x1c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x20", "\x7d\x21", "\x7d\x22", "\x7d\x2b", "\x7d\x2c",
+  "\x00\x00", "\x7d\x2e", "\x7d\x2f", "\x7d\x30", "\x00\x00", "\x7d\x32",
+  "\x7d\x33", "\x00\x00", "\x7d\x35", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x39", "\x7d\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x3f", "\x00\x00", "\x00\x00", "\x7d\x42", "\x7d\x43", "\x7d\x44",
+  "\x7d\x45", "\x7d\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x4b", "\x7d\x4c", "\x00\x00", "\x7d\x4e", "\x7d\x4f", "\x7d\x50",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x56",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x5b", "\x00\x00",
+  "\x00\x00", "\x7d\x5e", "\x00\x00", "\x00\x00", "\x7d\x61", "\x7d\x62",
+  "\x7d\x63", "\x00\x00", "\x00\x00", "\x7d\x66", "\x00\x00", "\x7d\x68",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x6e",
+  "\x00\x00", "\x00\x00", "\x7d\x71", "\x7d\x72", "\x7d\x73", "\x00\x00",
+  "\x7d\x75", "\x7d\x76", "\x00\x00", "\x00\x00", "\x7d\x79", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x7d", "\x7d\x89", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x8f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x93", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x99", "\x7d\x9a", "\x7d\x9b", "\x7d\x9c", "\x00\x00",
+  "\x00\x00", "\x7d\x9f", "\x00\x00", "\x00\x00", "\x7d\xa2", "\x7d\xa3",
+  "\x7d\xab", "\x7d\xac", "\x7d\xad", "\x7d\xae", "\x7d\xaf", "\x7d\xb0",
+  "\x7d\xb1", "\x7d\xb2", "\x00\x00", "\x7d\xb4", "\x7d\xb5", "\x00\x00",
+  "\x00\x00", "\x7d\xb8", "\x00\x00", "\x7d\xba", "\x7d\xbb", "\x00\x00",
+  "\x7d\xbd", "\x7d\xbe", "\x7d\xbf", "\x7d\xc7", "\x00\x00", "\x00\x00",
+  "\x7d\xca", "\x7d\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xcf",
+  "\x00\x00", "\x7d\xd1", "\x7d\xd2", "\x00\x00", "\x00\x00", "\x7d\xd5",
+  "\x00\x00", "\x00\x00", "\x7d\xd8", "\x00\x00", "\x7d\xda", "\x00\x00",
+  "\x7d\xdc", "\x7d\xdd", "\x7d\xde", "\x00\x00", "\x7d\xe0", "\x7d\xe1",
+  "\x00\x00", "\x00\x00", "\x7d\xe4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\xe8", "\x7d\xe9", "\x00\x00", "\x00\x00", "\x7d\xec", "\x00\x00",
+  "\x00\x00", "\x7d\xef", "\x00\x00", "\x00\x00", "\x7d\xf2", "\x00\x00",
+  "\x7d\xf4", "\x7d\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7e\x01", "\x00\x00", "\x00\x00", "\x7e\x04", "\x7e\x05",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x09", "\x7e\x0a", "\x7e\x0b",
+  "\x7e\x12", "\x7e\x1b", "\x00\x00", "\x00\x00", "\x7e\x1e", "\x7e\x1f",
+  "\x00\x00", "\x7e\x21", "\x7e\x22", "\x7e\x23", "\x00\x00", "\x00\x00",
+  "\x7e\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x2b",
+  "\x00\x00", "\x00\x00", "\x7e\x2e", "\x00\x00", "\x00\x00", "\x7e\x31",
+  "\x7e\x32", "\x00\x00", "\x00\x00", "\x7e\x35", "\x00\x00", "\x7e\x37",
+  "\x00\x00", "\x7e\x39", "\x7e\x3a", "\x7e\x3b", "\x00\x00", "\x7e\x3d",
+  "\x7e\x3e", "\x00\x00", "\x00\x00", "\x7e\x41", "\x00\x00", "\x7e\x43",
+  "\x00\x00", "\x00\x00", "\x7e\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7e\x4a", "\x7e\x4b", "\x00\x00", "\x7e\x4d", "\x7e\x54", "\x7e\x55",
+  "\x7e\x56", "\x00\x00", "\x00\x00", "\x7e\x59", "\x7e\x5a", "\x00\x00",
+  "\x00\x00", "\x7e\x5d", "\x7e\x5e", "\x7e\x66", "\x7e\x67", "\x00\x00",
+  "\x7e\x69", "\x7e\x6a", "\x00\x00", "\x00\x00", "\x7e\x6d", "\x00\x00",
+  "\x00\x00", "\x7e\x70", "\x7e\x79", "\x00\x00", "\x7e\x7b", "\x7e\x7c",
+  "\x7e\x7d", "\x00\x00", "\x7e\x7f", "\x00\x00", "\x00\x00", "\x7e\x82",
+  "\x7e\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x88",
+  "\x7e\x89", "\x00\x00", "\x00\x00", "\x7e\x8c", "\x00\x00", "\x7e\x8e",
+  "\x7e\x8f", "\x7e\x90", "\x00\x00", "\x7e\x92", "\x7e\x93", "\x7e\x94",
+  "\x00\x00", "\x7e\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7e\x9b", "\x7e\x9c", "\x7f\x36", "\x00\x00", "\x7f\x38", "\x00\x00",
+  "\x7f\x3a", "\x7f\x45", "\x7f\x4c", "\x7f\x4d", "\x7f\x4e", "\x00\x00",
+  "\x7f\x50", "\x7f\x51", "\x00\x00", "\x00\x00", "\x7f\x54", "\x7f\x55",
+  "\x00\x00", "\x00\x00", "\x7f\x58", "\x7f\x5f", "\x7f\x60", "\x7f\x67",
+  "\x7f\x68", "\x7f\x69", "\x7f\x6a", "\x7f\x6b", "\x00\x00", "\x00\x00",
+  "\x7f\x6e", "\x00\x00", "\x7f\x70", "\x00\x00", "\x7f\x72", "\x00\x00",
+  "\x00\x00", "\x7f\x75", "\x00\x00", "\x7f\x77", "\x7f\x78", "\x7f\x79",
+  "\x7f\x82", "\x7f\x83", "\x00\x00", "\x7f\x85", "\x7f\x86", "\x7f\x87",
+  "\x7f\x88", "\x00\x00", "\x7f\x8a", "\x00\x00", "\x7f\x8c", "\x00\x00",
+  "\x7f\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7f\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7f\x9a", "\x00\x00", "\x00\x00", "\x7f\x9d", "\x7f\x9e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xa3", "\x7f\xa4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7f\xa8", "\x7f\xa9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7f\xae", "\x7f\xaf", "\x00\x00", "\x00\x00",
+  "\x7f\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xb6", "\x00\x00",
+  "\x7f\xb8", "\x7f\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xbd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xc1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7f\xc5", "\x7f\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7f\xca", "\x00\x00", "\x7f\xcc", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7f\xd2", "\x00\x00", "\x7f\xd4", "\x7f\xd5",
+  "\x7f\xe0", "\x7f\xe1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7f\xe6", "\x00\x00", "\x00\x00", "\x7f\xe9", "\x00\x00", "\x7f\xeb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xf0", "\x00\x00",
+  "\x00\x00", "\x7f\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7f\xf9", "\x00\x00", "\x7f\xfb", "\x7f\xfc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x80\x00", "\x80\x01", "\x00\x00", "\x80\x03",
+  "\x80\x04", "\x80\x05", "\x80\x06", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x0b", "\x80\x0c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x80\x10", "\x00\x00", "\x80\x12", "\x00\x00", "\x00\x00", "\x80\x15",
+  "\x00\x00", "\x80\x17", "\x80\x18", "\x80\x19", "\x00\x00", "\x00\x00",
+  "\x80\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x21",
+  "\x80\x28", "\x80\x33", "\x00\x00", "\x00\x00", "\x80\x36", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x3b", "\x00\x00", "\x80\x3d",
+  "\x00\x00", "\x80\x3f", "\x80\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x80\x4a", "\x80\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x56",
+  "\x00\x00", "\x80\x58", "\x00\x00", "\x80\x5a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x5e", "\x80\x5f", "\x00\x00", "\x80\x61", "\x80\x62",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x68",
+  "\x80\x6f", "\x80\x70", "\x00\x00", "\x80\x72", "\x80\x73", "\x80\x74",
+  "\x00\x00", "\x80\x76", "\x80\x77", "\x00\x00", "\x80\x79", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x80\x7d", "\x80\x7e", "\x80\x7f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x84", "\x80\x85", "\x80\x86",
+  "\x80\x87", "\x00\x00", "\x80\x89", "\x00\x00", "\x80\x8b", "\x80\x8c",
+  "\x80\x93", "\x00\x00", "\x00\x00", "\x80\x96", "\x00\x00", "\x80\x98",
+  "\x00\x00", "\x80\x9a", "\x80\x9b", "\x00\x00", "\x80\x9d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x80\xa1", "\x80\xa2", "\x00\x00", "\x00\x00",
+  "\x80\xa5", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xa9", "\x80\xaa",
+  "\x00\x00", "\x80\xac", "\x80\xad", "\x00\x00", "\x80\xaf", "\x00\x00",
+  "\x80\xb1", "\x80\xb2", "\x00\x00", "\x80\xb4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xba", "\x80\xc3", "\x80\xc4",
+  "\x00\x00", "\x80\xc6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\xcc", "\x00\x00", "\x80\xce", "\x80\xd6", "\x00\x00",
+  "\x00\x00", "\x80\xd9", "\x80\xda", "\x80\xdb", "\x00\x00", "\x80\xdd",
+  "\x80\xde", "\x00\x00", "\x00\x00", "\x80\xe1", "\x00\x00", "\x00\x00",
+  "\x80\xe4", "\x80\xe5", "\x80\xef", "\x00\x00", "\x80\xf1", "\x00\x00",
+  "\x00\x00", "\x80\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xf8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xfc", "\x80\xfd", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x02", "\x00\x00", "\x00\x00",
+  "\x81\x05", "\x81\x06", "\x81\x07", "\x81\x08", "\x81\x09", "\x81\x0a",
+  "\x81\x1a", "\x81\x1b", "\x81\x23", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\x29", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\x2f", "\x00\x00", "\x81\x31", "\x00\x00",
+  "\x81\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x3e",
+  "\x81\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x4b",
+  "\x00\x00", "\x00\x00", "\x81\x4e", "\x00\x00", "\x81\x50", "\x81\x51",
+  "\x00\x00", "\x81\x53", "\x81\x54", "\x81\x55", "\x81\x5f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x65", "\x81\x66",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x6b", "\x00\x00",
+  "\x00\x00", "\x81\x6e", "\x00\x00", "\x81\x70", "\x81\x71", "\x00\x00",
+  "\x00\x00", "\x81\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x78",
+  "\x81\x79", "\x81\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\x7f", "\x81\x80", "\x00\x00", "\x81\x82", "\x81\x83", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x88", "\x00\x00", "\x81\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x8f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\x93", "\x00\x00", "\x81\x95", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x9a", "\x00\x00", "\x81\x9c",
+  "\x81\x9d", "\x00\x00", "\x00\x00", "\x81\xa0", "\x00\x00", "\x00\x00",
+  "\x81\xa3", "\x81\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xa8",
+  "\x81\xa9", "\x81\xb0", "\x00\x00", "\x00\x00", "\x81\xb3", "\x00\x00",
+  "\x81\xb5", "\x00\x00", "\x00\x00", "\x81\xb8", "\x00\x00", "\x81\xba",
+  "\x00\x00", "\x00\x00", "\x81\xbd", "\x81\xbe", "\x81\xbf", "\x81\xc0",
+  "\x00\x00", "\x81\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xc6",
+  "\x00\x00", "\x81\xc8", "\x81\xc9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd1", "\x00\x00",
+  "\x81\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd8",
+  "\x81\xd9", "\x81\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\xdf", "\x81\xe0", "\x00\x00", "\x00\x00", "\x81\xe3", "\x00\x00",
+  "\x81\xe5", "\x00\x00", "\x81\xe7", "\x81\xe8", "\x00\x00", "\x81\xea",
+  "\x00\x00", "\x00\x00", "\x81\xed", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\xf3", "\x81\xf4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xfa", "\x81\xfb", "\x81\xfc",
+  "\x00\x00", "\x81\xfe", "\x00\x00", "\x00\x00", "\x82\x01", "\x82\x02",
+  "\x00\x00", "\x00\x00", "\x82\x05", "\x00\x00", "\x82\x07", "\x82\x08",
+  "\x82\x09", "\x82\x0a", "\x00\x00", "\x82\x0c", "\x82\x0d", "\x82\x0e",
+  "\x00\x00", "\x82\x10", "\x00\x00", "\x82\x12", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\x16", "\x82\x17", "\x82\x18", "\x00\x00", "\x00\x00",
+  "\x82\x1b", "\x82\x1c", "\x00\x00", "\x82\x1e", "\x82\x1f", "\x82\x29",
+  "\x82\x2a", "\x82\x2b", "\x82\x2c", "\x00\x00", "\x82\x2e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x33", "\x00\x00", "\x82\x35",
+  "\x82\x36", "\x82\x37", "\x82\x38", "\x82\x39", "\x82\x40", "\x82\x47",
+  "\x82\x58", "\x82\x59", "\x82\x5a", "\x00\x00", "\x00\x00", "\x82\x5d",
+  "\x00\x00", "\x82\x5f", "\x00\x00", "\x00\x00", "\x82\x62", "\x00\x00",
+  "\x82\x64", "\x00\x00", "\x82\x66", "\x00\x00", "\x82\x68", "\x00\x00",
+  "\x82\x6a", "\x82\x6b", "\x00\x00", "\x00\x00", "\x82\x6e", "\x82\x6f",
+  "\x00\x00", "\x82\x71", "\x82\x72", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x82\x76", "\x82\x77", "\x82\x78", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x82\x7e", "\x82\x8b", "\x00\x00", "\x82\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x92", "\x82\x99",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x9d", "\x00\x00", "\x82\x9f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xa5",
+  "\x82\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xab",
+  "\x82\xac", "\x82\xad", "\x00\x00", "\x82\xaf", "\x00\x00", "\x82\xb1",
+  "\x00\x00", "\x82\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x82\xb8", "\x82\xb9", "\x00\x00", "\x82\xbb", "\x00\x00", "\x82\xbd",
+  "\x82\xc5", "\x82\xd1", "\x82\xd2", "\x82\xd3", "\x82\xd4", "\x00\x00",
+  "\x00\x00", "\x82\xd7", "\x00\x00", "\x82\xd9", "\x00\x00", "\x82\xdb",
+  "\x82\xdc", "\x00\x00", "\x82\xde", "\x82\xdf", "\x00\x00", "\x82\xe1",
+  "\x00\x00", "\x82\xe3", "\x00\x00", "\x82\xe5", "\x82\xe6", "\x82\xe7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xeb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xf1", "\x00\x00", "\x82\xf3",
+  "\x82\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xf9",
+  "\x82\xfa", "\x82\xfb", "\x83\x02", "\x83\x03", "\x83\x04", "\x83\x05",
+  "\x83\x06", "\x00\x00", "\x00\x00", "\x83\x09", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x83\x0e", "\x83\x16", "\x83\x17", "\x83\x18",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x1c", "\x83\x23", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x28", "\x00\x00", "\x00\x00",
+  "\x83\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x2f", "\x00\x00",
+  "\x83\x31", "\x83\x32", "\x00\x00", "\x83\x34", "\x83\x35", "\x83\x36",
+  "\x00\x00", "\x83\x38", "\x83\x39", "\x83\x40", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x83\x45", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x83\x49", "\x83\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x83\x4f", "\x83\x50", "\x00\x00", "\x83\x52", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x58", "\x83\x73", "\x00\x00",
+  "\x83\x75", "\x00\x00", "\x83\x77", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x83\x7b", "\x83\x7c", "\x83\x85", "\x00\x00", "\x83\x87", "\x00\x00",
+  "\x83\x89", "\x83\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x8e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x93", "\x00\x00",
+  "\x00\x00", "\x83\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x9a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x9e", "\x83\x9f", "\x83\xa0",
+  "\x00\x00", "\x83\xa2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x83\xa8", "\x00\x00", "\x83\xaa", "\x83\xab", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xb1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x83\xb5", "\x83\xbd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x83\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xc5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xca", "\x00\x00",
+  "\x83\xcc", "\x00\x00", "\x83\xce", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x83\xd3", "\x00\x00", "\x00\x00", "\x83\xd6", "\x00\x00",
+  "\x83\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xdc", "\x00\x00",
+  "\x00\x00", "\x83\xdf", "\x83\xe0", "\x83\xe9", "\x00\x00", "\x83\xeb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xef", "\x83\xf0", "\x83\xf1",
+  "\x83\xf2", "\x00\x00", "\x83\xf4", "\x00\x00", "\x00\x00", "\x83\xf7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xfb", "\x00\x00", "\x83\xfd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x03",
+  "\x84\x04", "\x00\x00", "\x00\x00", "\x84\x07", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x0b", "\x84\x0c", "\x84\x0d", "\x84\x0e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x13", "\x84\x20", "\x00\x00",
+  "\x84\x22", "\x84\x29", "\x84\x2a", "\x00\x00", "\x84\x2c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x31", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x35", "\x00\x00", "\x00\x00", "\x84\x38", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x84\x3c", "\x84\x3d", "\x84\x46", "\x00\x00",
+  "\x00\x00", "\x84\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x84\x4e", "\x84\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x5b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x61",
+  "\x84\x62", "\x84\x63", "\x00\x00", "\x00\x00", "\x84\x66", "\x00\x00",
+  "\x00\x00", "\x84\x69", "\x00\x00", "\x84\x6b", "\x84\x6c", "\x84\x6d",
+  "\x84\x6e", "\x84\x6f", "\x00\x00", "\x84\x71", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x75", "\x00\x00", "\x84\x77", "\x00\x00", "\x84\x79",
+  "\x84\x7a", "\x84\x82", "\x00\x00", "\x84\x84", "\x84\x8b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x90", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x84\x99", "\x00\x00", "\x00\x00", "\x84\x9c", "\x00\x00", "\x00\x00",
+  "\x84\x9f", "\x00\x00", "\x84\xa1", "\x84\xad", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x84\xb2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x84\xb8", "\x84\xb9", "\x00\x00", "\x84\xbb",
+  "\x84\xbc", "\x00\x00", "\x00\x00", "\x84\xbf", "\x00\x00", "\x84\xc1",
+  "\x00\x00", "\x00\x00", "\x84\xc4", "\x00\x00", "\x84\xc6", "\x00\x00",
+  "\x00\x00", "\x84\xc9", "\x84\xca", "\x84\xcb", "\x00\x00", "\x84\xcd",
+  "\x00\x00", "\x00\x00", "\x84\xd0", "\x84\xd1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x84\xd6", "\x00\x00", "\x00\x00", "\x84\xd9",
+  "\x84\xda", "\x84\xec", "\x00\x00", "\x84\xee", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xf4", "\x84\xfc", "\x00\x00",
+  "\x00\x00", "\x84\xff", "\x85\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x06", "\x85\x11", "\x00\x00", "\x85\x13",
+  "\x85\x14", "\x85\x15", "\x00\x00", "\x85\x17", "\x85\x18", "\x00\x00",
+  "\x85\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x1f",
+  "\x00\x00", "\x85\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x85\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x85\x2c", "\x85\x2d", "\x85\x35", "\x85\x3d", "\x00\x00", "\x00\x00",
+  "\x85\x40", "\x85\x41", "\x00\x00", "\x85\x43", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x48", "\x85\x49", "\x85\x4a", "\x85\x4b",
+  "\x00\x00", "\x00\x00", "\x85\x4e", "\x85\x55", "\x00\x00", "\x85\x57",
+  "\x85\x58", "\x00\x00", "\x85\x5a", "\x85\x63", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x68", "\x85\x69", "\x85\x6a", "\x00\x00",
+  "\x00\x00", "\x85\x6d", "\x85\x77", "\x85\x7e", "\x00\x00", "\x85\x80",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x84", "\x00\x00", "\x00\x00",
+  "\x85\x87", "\x85\x88", "\x00\x00", "\x85\x8a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x90", "\x85\x91", "\x00\x00",
+  "\x00\x00", "\x85\x94", "\x00\x00", "\x00\x00", "\x85\x97", "\x00\x00",
+  "\x85\x99", "\x00\x00", "\x85\x9b", "\x85\x9c", "\x85\xa4", "\x00\x00",
+  "\x85\xa6", "\x00\x00", "\x85\xa8", "\x85\xa9", "\x85\xaa", "\x85\xab",
+  "\x85\xac", "\x00\x00", "\x85\xae", "\x85\xaf", "\x85\xb9", "\x85\xba",
+  "\x85\xc1", "\x85\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xcd",
+  "\x00\x00", "\x85\xcf", "\x85\xd0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x85\xd5", "\x85\xdc", "\x85\xdd", "\x85\xe4", "\x85\xe5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xe9", "\x85\xea", "\x85\xf7",
+  "\x00\x00", "\x85\xf9", "\x85\xfa", "\x85\xfb", "\x00\x00", "\x00\x00",
+  "\x85\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x02", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x86\x06", "\x86\x07", "\x00\x00", "\x00\x00",
+  "\x86\x0a", "\x86\x0b", "\x86\x13", "\x00\x00", "\x00\x00", "\x86\x16",
+  "\x86\x17", "\x00\x00", "\x00\x00", "\x86\x1a", "\x86\x22", "\x86\x2d",
+  "\x00\x00", "\x86\x2f", "\x86\x30", "\x86\x3f", "\x86\x4d", "\x86\x4e",
+  "\x00\x00", "\x86\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x54",
+  "\x86\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x5a",
+  "\x00\x00", "\x86\x5c", "\x00\x00", "\x86\x5e", "\x86\x5f", "\x86\x67",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x6b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x71", "\x86\x79", "\x00\x00",
+  "\x86\x7b", "\x86\x8a", "\x86\x8b", "\x86\x8c", "\x86\x93", "\x00\x00",
+  "\x86\x95", "\x86\xa3", "\x86\xa4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xa9", "\x86\xaa", "\x86\xab", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xaf", "\x86\xb0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x86\xb6", "\x86\xc4", "\x00\x00", "\x86\xc6",
+  "\x86\xc7", "\x00\x00", "\x86\xc9", "\x00\x00", "\x86\xcb", "\x00\x00",
+  "\x86\xcd", "\x86\xce", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xd4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\xd9", "\x00\x00", "\x86\xdb", "\x00\x00", "\x00\x00", "\x86\xde",
+  "\x86\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe9", "\x00\x00",
+  "\x00\x00", "\x86\xec", "\x86\xed", "\x86\xee", "\x86\xef", "\x86\xf8",
+  "\x86\xf9", "\x00\x00", "\x86\xfb", "\x00\x00", "\x00\x00", "\x86\xfe",
+  "\x00\x00", "\x87\x00", "\x00\x00", "\x87\x02", "\x87\x03", "\x00\x00",
+  "\x00\x00", "\x87\x06", "\x00\x00", "\x87\x08", "\x87\x09", "\x87\x0a",
+  "\x00\x00", "\x00\x00", "\x87\x0d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\x11", "\x87\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x87\x18", "\x00\x00", "\x87\x1a", "\x00\x00", "\x87\x1c",
+  "\x87\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x29", "\x87\x34",
+  "\x00\x00", "\x00\x00", "\x87\x37", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\x3b", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x3f", "\x87\x49",
+  "\x00\x00", "\x87\x4b", "\x87\x4c", "\x00\x00", "\x87\x4e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x53", "\x00\x00", "\x87\x55",
+  "\x00\x00", "\x87\x57", "\x00\x00", "\x87\x59", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x5f", "\x87\x60", "\x00\x00",
+  "\x00\x00", "\x87\x63", "\x00\x00", "\x00\x00", "\x87\x66", "\x00\x00",
+  "\x87\x68", "\x00\x00", "\x87\x6a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\x6e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\x74", "\x00\x00", "\x87\x76", "\x00\x00", "\x87\x78", "\x87\x7f",
+  "\x00\x00", "\x00\x00", "\x87\x82", "\x87\x8d", "\x87\x9f", "\x00\x00",
+  "\x00\x00", "\x87\xa2", "\x87\xab", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\xaf", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xb3", "\x87\xba",
+  "\x87\xbb", "\x00\x00", "\x87\xbd", "\x00\x00", "\x00\x00", "\x87\xc0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xc4", "\x00\x00", "\x87\xc6",
+  "\x87\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xcb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xd0", "\x00\x00", "\x87\xd2",
+  "\x87\xe0", "\x87\xef", "\x00\x00", "\x00\x00", "\x87\xf2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x87\xf6", "\x87\xf7", "\x00\x00", "\x87\xf9",
+  "\x00\x00", "\x87\xfb", "\x00\x00", "\x00\x00", "\x87\xfe", "\x88\x05",
+  "\x88\x0d", "\x88\x0e", "\x88\x0f", "\x00\x00", "\x88\x11", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x15", "\x88\x16", "\x88\x21", "\x88\x22",
+  "\x88\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x27", "\x88\x31",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x36", "\x00\x00",
+  "\x00\x00", "\x88\x39", "\x00\x00", "\x88\x3b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x40", "\x00\x00", "\x88\x42", "\x00\x00",
+  "\x88\x44", "\x00\x00", "\x88\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x4c", "\x88\x4d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x52", "\x88\x53", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x88\x57", "\x00\x00", "\x88\x59", "\x00\x00", "\x88\x5b",
+  "\x00\x00", "\x88\x5d", "\x88\x5e", "\x00\x00", "\x00\x00", "\x88\x61",
+  "\x88\x62", "\x88\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x88\x68", "\x00\x00", "\x00\x00", "\x88\x6b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x70", "\x00\x00", "\x88\x72", "\x00\x00",
+  "\x00\x00", "\x88\x75", "\x00\x00", "\x88\x77", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x7d", "\x88\x7e", "\x88\x7f",
+  "\x00\x00", "\x88\x81", "\x88\x82", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x88", "\x00\x00", "\x00\x00", "\x88\x8b",
+  "\x00\x00", "\x88\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x88\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x96", "\x88\x97",
+  "\x00\x00", "\x88\x99", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x88\x9e", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\xa2", "\x00\x00",
+  "\x88\xa4", "\x88\xab", "\x00\x00", "\x00\x00", "\x88\xae", "\x00\x00",
+  "\x88\xb0", "\x88\xb1", "\x00\x00", "\x00\x00", "\x88\xb4", "\x88\xb5",
+  "\x00\x00", "\x88\xb7", "\x88\xbf", "\x00\x00", "\x88\xc1", "\x88\xc2",
+  "\x88\xc3", "\x88\xc4", "\x88\xc5", "\x88\xcf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\xd4", "\x88\xd5", "\x00\x00", "\x00\x00",
+  "\x88\xd8", "\x88\xd9", "\x00\x00", "\x00\x00", "\x88\xdc", "\x88\xdd",
+  "\x00\x00", "\x88\xdf", "\x00\x00", "\x88\xe1", "\x88\xe8", "\x88\xf2",
+  "\x88\xf3", "\x88\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\xf8",
+  "\x88\xf9", "\x00\x00", "\x00\x00", "\x88\xfc", "\x88\xfd", "\x88\xfe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x02", "\x00\x00", "\x89\x04",
+  "\x00\x00", "\x00\x00", "\x89\x07", "\x00\x00", "\x00\x00", "\x89\x0a",
+  "\x00\x00", "\x89\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x10",
+  "\x00\x00", "\x89\x12", "\x89\x13", "\x89\x1d", "\x89\x1e", "\x89\x25",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x2a", "\x89\x2b",
+  "\x89\x36", "\x00\x00", "\x89\x38", "\x00\x00", "\x00\x00", "\x89\x3b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x41",
+  "\x00\x00", "\x89\x43", "\x89\x44", "\x89\x4c", "\x89\x4d", "\x89\x56",
+  "\x89\x5e", "\x89\x5f", "\x89\x60", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\x64", "\x00\x00", "\x89\x66", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\x6a", "\x00\x00", "\x00\x00", "\x89\x6d", "\x00\x00", "\x89\x6f",
+  "\x00\x00", "\x00\x00", "\x89\x72", "\x00\x00", "\x89\x74", "\x00\x00",
+  "\x00\x00", "\x89\x77", "\x89\x7e", "\x89\x7f", "\x00\x00", "\x89\x81",
+  "\x00\x00", "\x89\x83", "\x00\x00", "\x00\x00", "\x89\x86", "\x89\x87",
+  "\x89\x88", "\x00\x00", "\x89\x8a", "\x89\x8b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x89\x8f", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x93",
+  "\x00\x00", "\x00\x00", "\x89\x96", "\x89\x97", "\x89\x98", "\x00\x00",
+  "\x89\x9a", "\x89\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\xa6", "\x89\xa7", "\x00\x00", "\x89\xa9", "\x89\xaa", "\x00\x00",
+  "\x89\xac", "\x00\x00", "\x00\x00", "\x89\xaf", "\x00\x00", "\x00\x00",
+  "\x89\xb2", "\x89\xb3", "\x89\xba", "\x00\x00", "\x00\x00", "\x89\xbd",
+  "\x00\x00", "\x89\xbf", "\x89\xc0", "\x89\xd2", "\x89\xda", "\x00\x00",
+  "\x89\xdc", "\x89\xdd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x89\xe3", "\x00\x00", "\x00\x00", "\x89\xe6", "\x89\xe7",
+  "\x89\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xf8", "\x8a\x00",
+  "\x00\x00", "\x8a\x02", "\x8a\x03", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\x08", "\x00\x00", "\x8a\x0a", "\x00\x00", "\x8a\x0c",
+  "\x00\x00", "\x8a\x0e", "\x00\x00", "\x8a\x10", "\x00\x00", "\x00\x00",
+  "\x8a\x13", "\x00\x00", "\x00\x00", "\x8a\x16", "\x8a\x17", "\x8a\x18",
+  "\x00\x00", "\x00\x00", "\x8a\x1b", "\x00\x00", "\x8a\x1d", "\x00\x00",
+  "\x8a\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x23", "\x00\x00",
+  "\x8a\x25", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x2a",
+  "\x00\x00", "\x00\x00", "\x8a\x2d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8a\x31", "\x00\x00", "\x8a\x33", "\x8a\x34", "\x00\x00", "\x8a\x36",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x3a", "\x8a\x3b", "\x8a\x3c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x41", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x46", "\x00\x00", "\x8a\x48",
+  "\x8a\x50", "\x8a\x51", "\x8a\x52", "\x00\x00", "\x8a\x54", "\x8a\x55",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x5b",
+  "\x00\x00", "\x00\x00", "\x8a\x5e", "\x00\x00", "\x8a\x60", "\x00\x00",
+  "\x8a\x62", "\x8a\x63", "\x00\x00", "\x00\x00", "\x8a\x66", "\x00\x00",
+  "\x00\x00", "\x8a\x69", "\x00\x00", "\x8a\x6b", "\x8a\x6c", "\x8a\x6d",
+  "\x8a\x6e", "\x00\x00", "\x8a\x70", "\x8a\x71", "\x8a\x72", "\x8a\x73",
+  "\x8a\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8a\x82", "\x00\x00", "\x8a\x84", "\x8a\x85", "\x00\x00", "\x8a\x87",
+  "\x00\x00", "\x8a\x89", "\x00\x00", "\x00\x00", "\x8a\x8c", "\x8a\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x91", "\x00\x00", "\x8a\x93",
+  "\x00\x00", "\x8a\x95", "\x00\x00", "\x00\x00", "\x8a\x98", "\x00\x00",
+  "\x8a\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x9e", "\x00\x00",
+  "\x8a\xa0", "\x8a\xa1", "\x00\x00", "\x8a\xa3", "\x8a\xa4", "\x8a\xa5",
+  "\x8a\xa6", "\x00\x00", "\x8a\xa8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8a\xac", "\x8a\xad", "\x00\x00", "\x00\x00", "\x8a\xb0", "\x00\x00",
+  "\x8a\xb2", "\x8a\xb9", "\x00\x00", "\x00\x00", "\x8a\xbc", "\x00\x00",
+  "\x00\x00", "\x8a\xbf", "\x00\x00", "\x00\x00", "\x8a\xc2", "\x00\x00",
+  "\x8a\xc4", "\x00\x00", "\x00\x00", "\x8a\xc7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\xcb", "\x8a\xcc", "\x8a\xcd", "\x00\x00", "\x8a\xcf",
+  "\x00\x00", "\x00\x00", "\x8a\xd2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8a\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xda", "\x8a\xdb",
+  "\x8a\xdc", "\x00\x00", "\x8a\xde", "\x00\x00", "\x8a\xe0", "\x8a\xe1",
+  "\x8a\xe2", "\x00\x00", "\x8a\xe4", "\x00\x00", "\x8a\xe6", "\x8a\xe7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xeb", "\x00\x00", "\x8a\xed",
+  "\x8a\xee", "\x00\x00", "\x00\x00", "\x8a\xf1", "\x00\x00", "\x8a\xf3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xf7", "\x8a\xf8", "\x00\x00",
+  "\x8a\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xfe", "\x00\x00",
+  "\x8b\x00", "\x8b\x01", "\x8b\x02", "\x00\x00", "\x8b\x04", "\x00\x00",
+  "\x00\x00", "\x8b\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8b\x0c", "\x00\x00", "\x8b\x0e", "\x00\x00", "\x8b\x10", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x14", "\x00\x00", "\x8b\x16", "\x8b\x17",
+  "\x00\x00", "\x8b\x19", "\x8b\x1a", "\x8b\x1b", "\x00\x00", "\x8b\x1d",
+  "\x00\x00", "\x00\x00", "\x8b\x20", "\x8b\x21", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x26", "\x00\x00", "\x8b\x28", "\x00\x00",
+  "\x00\x00", "\x8b\x2b", "\x8b\x2c", "\x8b\x33", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x39", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x3e", "\x00\x00", "\x00\x00", "\x8b\x41",
+  "\x8b\x49", "\x00\x00", "\x00\x00", "\x8b\x4c", "\x00\x00", "\x8b\x4e",
+  "\x8b\x4f", "\x8b\x56", "\x00\x00", "\x8b\x58", "\x00\x00", "\x8b\x5a",
+  "\x8b\x5b", "\x8b\x5c", "\x00\x00", "\x00\x00", "\x8b\x5f", "\x8b\x66",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x6b", "\x8b\x6c",
+  "\x00\x00", "\x00\x00", "\x8b\x6f", "\x8b\x70", "\x8b\x71", "\x8b\x72",
+  "\x00\x00", "\x8b\x74", "\x00\x00", "\x00\x00", "\x8b\x77", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x7d", "\x00\x00",
+  "\x00\x00", "\x8b\x80", "\x00\x00", "\x00\x00", "\x8b\x83", "\x8b\x8a",
+  "\x00\x00", "\x8b\x8c", "\x00\x00", "\x8b\x8e", "\x00\x00", "\x8b\x90",
+  "\x00\x00", "\x8b\x92", "\x8b\x93", "\x00\x00", "\x00\x00", "\x8b\x96",
+  "\x00\x00", "\x00\x00", "\x8b\x99", "\x8b\x9a", "\x8c\x37", "\x00\x00",
+  "\x00\x00", "\x8c\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8c\x3f", "\x00\x00", "\x8c\x41", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x46", "\x00\x00", "\x8c\x48", "\x00\x00", "\x8c\x4a",
+  "\x00\x00", "\x8c\x4c", "\x00\x00", "\x8c\x4e", "\x00\x00", "\x8c\x50",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x55", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x5a", "\x8c\x61", "\x8c\x62",
+  "\x8c\x6a", "\x8c\x6b", "\x8c\x6c", "\x8c\x78", "\x8c\x79", "\x8c\x7a",
+  "\x00\x00", "\x8c\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x82", "\x00\x00", "\x00\x00", "\x8c\x85", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8c\x89", "\x8c\x8a", "\x00\x00", "\x8c\x8c",
+  "\x8c\x8d", "\x8c\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x98",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x9d", "\x8c\x9e",
+  "\x00\x00", "\x8c\xa0", "\x8c\xa1", "\x8c\xa2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8c\xa7", "\x8c\xa8", "\x8c\xa9", "\x8c\xaa",
+  "\x8c\xab", "\x8c\xac", "\x8c\xad", "\x8c\xae", "\x8c\xaf", "\x8c\xb0",
+  "\x00\x00", "\x8c\xb2", "\x8c\xb3", "\x8c\xb4", "\x00\x00", "\x8c\xb6",
+  "\x8c\xb7", "\x8c\xb8", "\x00\x00", "\x00\x00", "\x8c\xbb", "\x8c\xbc",
+  "\x8c\xbd", "\x00\x00", "\x8c\xbf", "\x8c\xc0", "\x8c\xc1", "\x8c\xc2",
+  "\x8c\xc3", "\x8c\xc4", "\x00\x00", "\x00\x00", "\x8c\xc7", "\x8c\xc8",
+  "\x00\x00", "\x8c\xca", "\x00\x00", "\x00\x00", "\x8c\xcd", "\x8c\xce",
+  "\x00\x00", "\x00\x00", "\x8c\xd1", "\x00\x00", "\x8c\xd3", "\x8c\xda",
+  "\x8c\xdb", "\x8c\xdc", "\x00\x00", "\x8c\xde", "\x00\x00", "\x8c\xe0",
+  "\x00\x00", "\x8c\xe2", "\x8c\xe3", "\x8c\xe4", "\x00\x00", "\x8c\xe6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\xea", "\x00\x00", "\x00\x00",
+  "\x8c\xed", "\x8c\xfa", "\x8c\xfb", "\x8c\xfc", "\x8c\xfd", "\x8d\x04",
+  "\x8d\x05", "\x00\x00", "\x8d\x07", "\x8d\x08", "\x00\x00", "\x8d\x0a",
+  "\x8d\x0b", "\x00\x00", "\x8d\x0d", "\x00\x00", "\x8d\x0f", "\x8d\x10",
+  "\x00\x00", "\x00\x00", "\x8d\x13", "\x8d\x14", "\x00\x00", "\x8d\x16",
+  "\x8d\x64", "\x00\x00", "\x8d\x66", "\x8d\x67", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8d\x6b", "\x00\x00", "\x8d\x6d", "\x00\x00", "\x00\x00",
+  "\x8d\x70", "\x8d\x71", "\x00\x00", "\x8d\x73", "\x8d\x74", "\x00\x00",
+  "\x00\x00", "\x8d\x77", "\x8d\x81", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8d\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x8a",
+  "\x8d\x99", "\x8d\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8d\xa8", "\x8d\xb3", "\x8d\xba", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8d\xbe", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc2", "\x8d\xcb",
+  "\x8d\xcc", "\x00\x00", "\x00\x00", "\x8d\xcf", "\x8d\xd6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8d\xda", "\x8d\xdb", "\x00\x00", "\x8d\xdd",
+  "\x00\x00", "\x8d\xdf", "\x00\x00", "\x8d\xe1", "\x00\x00", "\x8d\xe3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xe8", "\x00\x00",
+  "\x8d\xea", "\x8d\xeb", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xef",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xf3", "\x00\x00", "\x8d\xf5",
+  "\x8d\xfc", "\x00\x00", "\x00\x00", "\x8d\xff", "\x8e\x08", "\x8e\x09",
+  "\x8e\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x0f",
+  "\x8e\x10", "\x8e\x1d", "\x8e\x1e", "\x8e\x1f", "\x8e\x2a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x30", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8e\x34", "\x8e\x35", "\x8e\x42", "\x00\x00",
+  "\x8e\x44", "\x00\x00", "\x00\x00", "\x8e\x47", "\x8e\x48", "\x8e\x49",
+  "\x8e\x4a", "\x00\x00", "\x8e\x4c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8e\x50", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x55",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x59", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x5f", "\x8e\x60", "\x00\x00",
+  "\x00\x00", "\x8e\x63", "\x8e\x64", "\x8e\x72", "\x00\x00", "\x8e\x74",
+  "\x00\x00", "\x8e\x76", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8e\x7c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8e\x81", "\x00\x00", "\x00\x00", "\x8e\x84", "\x8e\x85", "\x00\x00",
+  "\x8e\x87", "\x00\x00", "\x00\x00", "\x8e\x8a", "\x8e\x8b", "\x00\x00",
+  "\x8e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x91", "\x00\x00",
+  "\x8e\x93", "\x8e\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8e\x99", "\x8e\xa1", "\x8e\xaa", "\x8e\xab", "\x8e\xac", "\x00\x00",
+  "\x00\x00", "\x8e\xaf", "\x8e\xb0", "\x8e\xb1", "\x8e\xbe", "\x8e\xc5",
+  "\x8e\xc6", "\x00\x00", "\x8e\xc8", "\x00\x00", "\x8e\xca", "\x8e\xcb",
+  "\x8e\xcc", "\x8e\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8e\xd2", "\x8e\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xdf",
+  "\x00\x00", "\x00\x00", "\x8e\xe2", "\x8e\xe3", "\x8e\xeb", "\x8e\xf8",
+  "\x00\x00", "\x00\x00", "\x8e\xfb", "\x8e\xfc", "\x8e\xfd", "\x8e\xfe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x03", "\x00\x00",
+  "\x8f\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x09", "\x8f\x0a",
+  "\x00\x00", "\x8f\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8f\x12", "\x8f\x13", "\x8f\x14", "\x8f\x15", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\x19", "\x00\x00", "\x8f\x1b", "\x8f\x1c",
+  "\x8f\x1d", "\x00\x00", "\x8f\x1f", "\x8f\x26", "\x00\x00", "\x00\x00",
+  "\x8f\x29", "\x8f\x2a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x33", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x38", "\x8f\x39", "\x00\x00",
+  "\x8f\x3b", "\x00\x00", "\x00\x00", "\x8f\x3e", "\x8f\x3f", "\x00\x00",
+  "\x00\x00", "\x8f\x42", "\x00\x00", "\x8f\x44", "\x8f\x45", "\x8f\x46",
+  "\x00\x00", "\x00\x00", "\x8f\x49", "\x00\x00", "\x00\x00", "\x8f\x4c",
+  "\x8f\x4d", "\x8f\x4e", "\x8f\x57", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8f\x5c", "\x00\x00", "\x00\x00", "\x8f\x5f", "\x00\x00",
+  "\x8f\x61", "\x8f\x62", "\x8f\x63", "\x8f\x64", "\x8f\x9b", "\x8f\x9c",
+  "\x00\x00", "\x8f\x9e", "\x8f\x9f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xa7", "\x8f\xa8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xad", "\x8f\xae",
+  "\x8f\xaf", "\x8f\xb0", "\x8f\xb1", "\x8f\xb2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\xb7", "\x00\x00", "\x00\x00", "\x8f\xba",
+  "\x8f\xbb", "\x8f\xbc", "\x00\x00", "\x00\x00", "\x8f\xbf", "\x00\x00",
+  "\x00\x00", "\x8f\xc2", "\x00\x00", "\x8f\xc4", "\x8f\xc5", "\x8f\xce",
+  "\x00\x00", "\x00\x00", "\x8f\xd1", "\x00\x00", "\x00\x00", "\x8f\xd4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xda",
+  "\x8f\xe2", "\x00\x00", "\x00\x00", "\x8f\xe5", "\x8f\xe6", "\x00\x00",
+  "\x00\x00", "\x8f\xe9", "\x8f\xea", "\x8f\xeb", "\x00\x00", "\x8f\xed",
+  "\x00\x00", "\x8f\xef", "\x8f\xf0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\xf4", "\x00\x00", "\x00\x00", "\x8f\xf7", "\x8f\xf8", "\x8f\xf9",
+  "\x8f\xfa", "\x00\x00", "\x00\x00", "\x8f\xfd", "\x00\x00", "\x00\x00",
+  "\x90\x00", "\x90\x01", "\x00\x00", "\x90\x03", "\x00\x00", "\x90\x05",
+  "\x90\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x0b",
+  "\x00\x00", "\x90\x0d", "\x90\x0e", "\x90\x0f", "\x90\x10", "\x90\x11",
+  "\x00\x00", "\x90\x13", "\x90\x14", "\x90\x15", "\x90\x16", "\x90\x17",
+  "\x00\x00", "\x90\x19", "\x90\x1a", "\x00\x00", "\x00\x00", "\x90\x1d",
+  "\x90\x1e", "\x90\x1f", "\x90\x20", "\x90\x21", "\x90\x22", "\x90\x23",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x27", "\x90\x2e", "\x00\x00",
+  "\x00\x00", "\x90\x31", "\x90\x32", "\x00\x00", "\x00\x00", "\x90\x35",
+  "\x90\x36", "\x00\x00", "\x90\x38", "\x90\x39", "\x00\x00", "\x00\x00",
+  "\x90\x3c", "\x00\x00", "\x90\x3e", "\x00\x00", "\x00\x00", "\x90\x41",
+  "\x90\x42", "\x00\x00", "\x00\x00", "\x90\x45", "\x00\x00", "\x90\x47",
+  "\x00\x00", "\x90\x49", "\x90\x4a", "\x90\x4b", "\x00\x00", "\x90\x4d",
+  "\x90\x4e", "\x90\x4f", "\x90\x50", "\x90\x51", "\x90\x52", "\x90\x53",
+  "\x90\x54", "\x90\x55", "\x90\x56", "\x00\x00", "\x90\x58", "\x90\x59",
+  "\x00\x00", "\x00\x00", "\x90\x5c", "\x00\x00", "\x90\x5e", "\x00\x00",
+  "\x90\x60", "\x90\x61", "\x00\x00", "\x90\x63", "\x00\x00", "\x90\x65",
+  "\x00\x00", "\x00\x00", "\x90\x68", "\x90\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\x6d", "\x90\x6e", "\x90\x6f", "\x00\x00", "\x00\x00",
+  "\x90\x72", "\x00\x00", "\x00\x00", "\x90\x75", "\x90\x76", "\x90\x77",
+  "\x90\x78", "\x00\x00", "\x90\x7a", "\x00\x00", "\x90\x7c", "\x90\x7d",
+  "\x00\x00", "\x90\x7f", "\x90\x80", "\x90\x81", "\x90\x82", "\x90\x83",
+  "\x90\x84", "\x00\x00", "\x00\x00", "\x90\x87", "\x00\x00", "\x90\x89",
+  "\x90\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x8f",
+  "\x00\x00", "\x90\x91", "\x90\xa3", "\x00\x00", "\x00\x00", "\x90\xa6",
+  "\x00\x00", "\x90\xa8", "\x00\x00", "\x90\xaa", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x90\xaf", "\x00\x00", "\x90\xb1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x90\xb5", "\x00\x00", "\x00\x00", "\x90\xb8",
+  "\x90\xc1", "\x90\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xce",
+  "\x90\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x90\xe1", "\x90\xe2", "\x00\x00", "\x90\xe4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x90\xed", "\x90\xf5", "\x00\x00", "\x90\xf7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xfd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x02", "\x91\x12", "\x91\x19", "\x91\x2d",
+  "\x00\x00", "\x00\x00", "\x91\x30", "\x00\x00", "\x91\x32", "\x91\x49",
+  "\x91\x4a", "\x91\x4b", "\x91\x4c", "\x91\x4d", "\x91\x4e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x52", "\x00\x00", "\x91\x54", "\x00\x00",
+  "\x91\x56", "\x00\x00", "\x91\x58", "\x91\x62", "\x91\x63", "\x00\x00",
+  "\x91\x65", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x69", "\x91\x6a",
+  "\x00\x00", "\x91\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x91\x72", "\x91\x73", "\x00\x00", "\x91\x75", "\x00\x00",
+  "\x91\x77", "\x91\x78", "\x91\x82", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x91\x87", "\x00\x00", "\x91\x89", "\x00\x00", "\x91\x8b",
+  "\x00\x00", "\x91\x8d", "\x00\x00", "\x00\x00", "\x91\x90", "\x00\x00",
+  "\x91\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x97",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x9c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xa2", "\x00\x00",
+  "\x91\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x91\xaa", "\x91\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xaf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xb4", "\x91\xb5",
+  "\x00\x00", "\x00\x00", "\x91\xb8", "\x00\x00", "\x91\xba", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xc0", "\x91\xc1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xc6", "\x91\xc7",
+  "\x91\xc8", "\x91\xc9", "\x00\x00", "\x91\xcb", "\x91\xcc", "\x91\xcd",
+  "\x91\xce", "\x91\xcf", "\x91\xd0", "\x91\xd1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\xd6", "\x00\x00", "\x91\xd8", "\x00\x00",
+  "\x00\x00", "\x91\xdb", "\x91\xdc", "\x91\xdd", "\x00\x00", "\x91\xdf",
+  "\x00\x00", "\x91\xe1", "\x00\x00", "\x91\xe3", "\x00\x00", "\x00\x00",
+  "\x91\xe6", "\x91\xe7", "\x91\xf5", "\x91\xf6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xfc", "\x00\x00", "\x00\x00",
+  "\x91\xff", "\x92\x0d", "\x92\x0e", "\x00\x00", "\x00\x00", "\x92\x11",
+  "\x00\x00", "\x00\x00", "\x92\x14", "\x92\x15", "\x92\x1e", "\x92\x29",
+  "\x00\x00", "\x00\x00", "\x92\x2c", "\x92\x34", "\x00\x00", "\x00\x00",
+  "\x92\x37", "\x92\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\x44", "\x92\x45", "\x00\x00", "\x00\x00", "\x92\x48", "\x92\x49",
+  "\x00\x00", "\x92\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\x50", "\x92\x57", "\x00\x00", "\x00\x00", "\x92\x5a", "\x92\x5b",
+  "\x00\x00", "\x00\x00", "\x92\x5e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\x62", "\x00\x00", "\x92\x64", "\x00\x00", "\x92\x66", "\x92\x71",
+  "\x92\x7e", "\x00\x00", "\x92\x80", "\x00\x00", "\x00\x00", "\x92\x83",
+  "\x00\x00", "\x92\x85", "\x92\x91", "\x00\x00", "\x92\x93", "\x00\x00",
+  "\x92\x95", "\x92\x96", "\x00\x00", "\x92\x98", "\x00\x00", "\x92\x9a",
+  "\x92\x9b", "\x92\x9c", "\x92\xad", "\x92\xb7", "\x00\x00", "\x92\xb9",
+  "\x92\xcf", "\x00\x00", "\x00\x00", "\x92\xd2", "\x92\xe4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xe9", "\x92\xea", "\x00\x00",
+  "\x00\x00", "\x92\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\xf2", "\x92\xf3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\xf8", "\x00\x00", "\x92\xfa", "\x00\x00", "\x92\xfc", "\x93\x06",
+  "\x93\x0f", "\x93\x10", "\x93\x18", "\x93\x19", "\x93\x1a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x20", "\x00\x00",
+  "\x93\x22", "\x93\x23", "\x00\x00", "\x00\x00", "\x93\x26", "\x00\x00",
+  "\x93\x28", "\x00\x00", "\x00\x00", "\x93\x2b", "\x93\x2c", "\x00\x00",
+  "\x93\x2e", "\x93\x2f", "\x00\x00", "\x00\x00", "\x93\x32", "\x00\x00",
+  "\x00\x00", "\x93\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x93\x3a", "\x93\x3b", "\x93\x44", "\x93\x4b", "\x00\x00", "\x93\x4d",
+  "\x93\x54", "\x00\x00", "\x93\x56", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x93\x5b", "\x93\x5c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x93\x60", "\x93\x6c", "\x00\x00", "\x93\x6e", "\x93\x75", "\x93\x7c",
+  "\x00\x00", "\x93\x7e", "\x93\x8c", "\x93\x94", "\x00\x00", "\x93\x96",
+  "\x93\x97", "\x00\x00", "\x00\x00", "\x93\x9a", "\x93\xa7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xac", "\x93\xad", "\x93\xae",
+  "\x00\x00", "\x93\xb0", "\x93\xb9", "\x93\xc3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x93\xc8", "\x93\xd0", "\x93\xd1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd6", "\x93\xd7", "\x93\xd8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xdd", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x93\xe1", "\x00\x00", "\x00\x00", "\x93\xe4",
+  "\x93\xe5", "\x00\x00", "\x00\x00", "\x93\xe8", "\x94\x03", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x94\x07", "\x94\x10", "\x00\x00", "\x00\x00",
+  "\x94\x13", "\x94\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x18",
+  "\x94\x19", "\x94\x1a", "\x94\x21", "\x94\x2b", "\x94\x35", "\x94\x36",
+  "\x00\x00", "\x94\x38", "\x00\x00", "\x94\x3a", "\x94\x41", "\x00\x00",
+  "\x00\x00", "\x94\x44", "\x94\x51", "\x94\x52", "\x94\x53", "\x94\x5a",
+  "\x94\x5b", "\x00\x00", "\x00\x00", "\x94\x5e", "\x00\x00", "\x94\x60",
+  "\x00\x00", "\x94\x62", "\x94\x6a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x94\x70", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x94\x75", "\x00\x00", "\x94\x77", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x94\x7c", "\x94\x7d", "\x94\x7e", "\x94\x7f",
+  "\x00\x00", "\x94\x81", "\x95\x77", "\x95\x80", "\x00\x00", "\x95\x82",
+  "\x95\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\x87", "\x00\x00",
+  "\x95\x89", "\x95\x8a", "\x95\x8b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x95\x8f", "\x00\x00", "\x95\x91", "\x00\x00", "\x95\x93", "\x95\x94",
+  "\x00\x00", "\x95\x96", "\x00\x00", "\x95\x98", "\x95\x99", "\x95\xa0",
+  "\x00\x00", "\x95\xa2", "\x95\xa3", "\x95\xa4", "\x95\xa5", "\x00\x00",
+  "\x95\xa7", "\x95\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x95\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xb2",
+  "\x95\xb9", "\x00\x00", "\x95\xbb", "\x95\xbc", "\x00\x00", "\x95\xbe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xc3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x95\xc7", "\x00\x00", "\x00\x00", "\x95\xca",
+  "\x00\x00", "\x95\xcc", "\x95\xcd", "\x95\xd4", "\x95\xd5", "\x95\xd6",
+  "\x00\x00", "\x95\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xdc",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xe1", "\x95\xe2",
+  "\x00\x00", "\x00\x00", "\x95\xe5", "\x96\x1c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\x21", "\x96\x28", "\x00\x00", "\x96\x2a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x2e", "\x96\x2f", "\x00\x00",
+  "\x00\x00", "\x96\x32", "\x96\x3b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x96\x3f", "\x96\x40", "\x00\x00", "\x96\x42", "\x00\x00", "\x96\x44",
+  "\x96\x4b", "\x96\x4c", "\x96\x4d", "\x00\x00", "\x96\x4f", "\x96\x50",
+  "\x96\x5b", "\x96\x5c", "\x96\x5d", "\x96\x5e", "\x96\x5f", "\x00\x00",
+  "\x00\x00", "\x96\x62", "\x96\x63", "\x96\x64", "\x96\x65", "\x96\x66",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x6a", "\x00\x00", "\x96\x6c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x70", "\x00\x00", "\x96\x72",
+  "\x96\x73", "\x00\x00", "\x96\x75", "\x96\x76", "\x96\x77", "\x96\x78",
+  "\x00\x00", "\x96\x7a", "\x00\x00", "\x00\x00", "\x96\x7d", "\x96\x85",
+  "\x96\x86", "\x00\x00", "\x96\x88", "\x00\x00", "\x96\x8a", "\x96\x8b",
+  "\x00\x00", "\x96\x8d", "\x96\x8e", "\x96\x8f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\x94", "\x96\x95", "\x00\x00", "\x96\x97",
+  "\x96\x98", "\x96\x99", "\x00\x00", "\x96\x9b", "\x96\x9c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\xa0", "\x00\x00", "\x00\x00", "\x96\xa3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xa7", "\x96\xa8", "\x00\x00",
+  "\x96\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x96\xb0", "\x96\xb1", "\x96\xb2", "\x00\x00", "\x96\xb4", "\x00\x00",
+  "\x96\xb6", "\x96\xb7", "\x96\xb8", "\x96\xb9", "\x00\x00", "\x96\xbb",
+  "\x96\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xc0", "\x96\xc1",
+  "\x00\x00", "\x00\x00", "\x96\xc4", "\x96\xc5", "\x96\xc6", "\x96\xc7",
+  "\x00\x00", "\x96\xc9", "\x00\x00", "\x96\xcb", "\x96\xcc", "\x96\xcd",
+  "\x96\xce", "\x00\x00", "\x00\x00", "\x96\xd1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x96\xd5", "\x96\xd6", "\x00\x00", "\x00\x00", "\x96\xd9",
+  "\x00\x00", "\x96\xdb", "\x96\xdc", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\xe2", "\x96\xe3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\xe8", "\x00\x00", "\x96\xea", "\x96\xeb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xf0", "\x00\x00",
+  "\x96\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xf6", "\x96\xf7",
+  "\x00\x00", "\x96\xf9", "\x00\x00", "\x96\xfb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x97\x04", "\x00\x00", "\x97\x06", "\x97\x07", "\x97\x08", "\x00\x00",
+  "\x97\x0a", "\x00\x00", "\x00\x00", "\x97\x0d", "\x97\x0e", "\x97\x0f",
+  "\x00\x00", "\x97\x11", "\x00\x00", "\x97\x13", "\x00\x00", "\x00\x00",
+  "\x97\x16", "\x00\x00", "\x00\x00", "\x97\x19", "\x00\x00", "\x00\x00",
+  "\x97\x1c", "\x00\x00", "\x97\x1e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x24", "\x00\x00", "\x00\x00", "\x97\x27",
+  "\x00\x00", "\x00\x00", "\x97\x2a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x30", "\x00\x00", "\x97\x32", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x38", "\x97\x39",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x3d", "\x97\x3e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x42", "\x00\x00", "\x97\x44", "\x00\x00",
+  "\x97\x46", "\x00\x00", "\x97\x48", "\x97\x49", "\x97\x52", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x56", "\x00\x00", "\x00\x00", "\x97\x59",
+  "\x00\x00", "\x00\x00", "\x97\x5c", "\x00\x00", "\x97\x5e", "\x00\x00",
+  "\x97\x60", "\x97\x61", "\x97\x62", "\x00\x00", "\x97\x64", "\x00\x00",
+  "\x97\x66", "\x00\x00", "\x97\x68", "\x97\x69", "\x00\x00", "\x97\x6b",
+  "\x00\x00", "\x97\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x71",
+  "\x00\x00", "\x00\x00", "\x97\x74", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x79", "\x97\x7a", "\x00\x00", "\x97\x7c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x81", "\x00\x00", "\x00\x00",
+  "\x97\x84", "\x97\x85", "\x97\x86", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x8b", "\x00\x00", "\x97\x8d", "\x00\x00", "\x97\x8f",
+  "\x97\x90", "\x97\x98", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x9c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xa0", "\x00\x00", "\x00\x00",
+  "\x97\xa3", "\x00\x00", "\x00\x00", "\x97\xa6", "\x00\x00", "\x97\xa8",
+  "\x00\x00", "\x00\x00", "\x97\xab", "\x00\x00", "\x97\xad", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xb3", "\x97\xb4",
+  "\x97\xc3", "\x00\x00", "\x00\x00", "\x97\xc6", "\x00\x00", "\x97\xc8",
+  "\x00\x00", "\x00\x00", "\x97\xcb", "\x97\xd3", "\x97\xdc", "\x97\xed",
+  "\x97\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xf2", "\x97\xf3",
+  "\x00\x00", "\x97\xf5", "\x97\xf6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\xff",
+  "\x00\x00", "\x98\x01", "\x98\x02", "\x98\x03", "\x00\x00", "\x98\x05",
+  "\x98\x06", "\x00\x00", "\x98\x08", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x98\x0c", "\x00\x00", "\x00\x00", "\x98\x0f", "\x98\x10", "\x98\x11",
+  "\x98\x12", "\x98\x13", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x17",
+  "\x98\x18", "\x00\x00", "\x98\x1a", "\x98\x21", "\x00\x00", "\x00\x00",
+  "\x98\x24", "\x98\x2c", "\x98\x2d", "\x98\x34", "\x00\x00", "\x00\x00",
+  "\x98\x37", "\x98\x38", "\x00\x00", "\x00\x00", "\x98\x3b", "\x98\x3c",
+  "\x98\x3d", "\x98\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x98\x4b", "\x98\x4c", "\x98\x4d", "\x98\x4e", "\x98\x4f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x54", "\x98\x55", "\x00\x00",
+  "\x00\x00", "\x98\x58", "\x00\x00", "\x00\x00", "\x98\x5b", "\x00\x00",
+  "\x00\x00", "\x98\x5e", "\x98\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x98\x6b", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x6f", "\x98\x70",
+  "\x98\x71", "\x00\x00", "\x98\x73", "\x98\x74", "\x98\xa8", "\x00\x00",
+  "\x98\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xaf",
+  "\x00\x00", "\x98\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x98\xb6", "\x98\xc3", "\x98\xc4", "\x00\x00", "\x98\xc6", "\x98\xdb",
+  "\x98\xdc", "\x00\x00", "\x00\x00", "\x98\xdf", "\x00\x00", "\x00\x00",
+  "\x98\xe2", "\x98\xe9", "\x00\x00", "\x98\xeb", "\x00\x00", "\x98\xed",
+  "\x98\xee", "\x98\xef", "\x00\x00", "\x00\x00", "\x98\xf2", "\x00\x00",
+  "\x98\xf4", "\x98\xfc", "\x98\xfd", "\x98\xfe", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x99\x03", "\x00\x00", "\x99\x05", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x99\x09", "\x99\x0a", "\x00\x00", "\x99\x0c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x10", "\x00\x00", "\x99\x12",
+  "\x99\x13", "\x99\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x18",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x1d", "\x99\x1e",
+  "\x00\x00", "\x99\x20", "\x99\x21", "\x00\x00", "\x00\x00", "\x99\x24",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x99\x2c", "\x00\x00", "\x99\x2e", "\x99\x3d", "\x99\x3e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x42", "\x00\x00", "\x00\x00",
+  "\x99\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x49", "\x00\x00",
+  "\x99\x4b", "\x99\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x50",
+  "\x99\x51", "\x99\x52", "\x00\x00", "\x00\x00", "\x99\x55", "\x00\x00",
+  "\x99\x57", "\x99\x96", "\x99\x97", "\x99\x98", "\x99\x99", "\x99\xa5",
+  "\x00\x00", "\x00\x00", "\x99\xa8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\xac", "\x99\xad", "\x99\xae", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x99\xb3", "\x99\xb4", "\x99\xbc", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x99\xc1", "\x00\x00", "\x00\x00", "\x99\xc4",
+  "\x99\xc5", "\x99\xc6", "\x00\x00", "\x99\xc8", "\x99\xd0", "\x99\xd1",
+  "\x99\xd2", "\x00\x00", "\x00\x00", "\x99\xd5", "\x00\x00", "\x00\x00",
+  "\x99\xd8", "\x00\x00", "\x00\x00", "\x99\xdb", "\x00\x00", "\x99\xdd",
+  "\x00\x00", "\x99\xdf", "\x00\x00", "\x00\x00", "\x99\xe2", "\x99\xed",
+  "\x99\xee", "\x00\x00", "\x00\x00", "\x99\xf1", "\x99\xf2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xf8", "\x00\x00",
+  "\x00\x00", "\x99\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xff",
+  "\x00\x00", "\x9a\x01", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x05",
+  "\x9a\x0e", "\x9a\x0f", "\x00\x00", "\x00\x00", "\x9a\x12", "\x9a\x13",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x19",
+  "\x9a\x28", "\x00\x00", "\x00\x00", "\x9a\x2b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\x30", "\x9a\x37", "\x9a\x3e", "\x00\x00",
+  "\x9a\x40", "\x00\x00", "\x9a\x42", "\x9a\x43", "\x00\x00", "\x9a\x45",
+  "\x9a\x4d", "\x9a\x55", "\x00\x00", "\x9a\x57", "\x00\x00", "\x00\x00",
+  "\x9a\x5a", "\x9a\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x5f",
+  "\x00\x00", "\x00\x00", "\x9a\x62", "\x00\x00", "\x9a\x64", "\x9a\x65",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x69", "\x9a\x6a", "\x9a\x6b",
+  "\x9a\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xad",
+  "\x00\x00", "\x00\x00", "\x9a\xb0", "\x9a\xb8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xc0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xc4", "\x9a\xcf", "\x00\x00",
+  "\x9a\xd1", "\x00\x00", "\x9a\xd3", "\x9a\xd4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xde", "\x9a\xdf", "\x00\x00", "\x00\x00", "\x9a\xe2",
+  "\x9a\xe3", "\x00\x00", "\x00\x00", "\x9a\xe6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xea", "\x9a\xeb", "\x00\x00", "\x9a\xed", "\x9a\xee",
+  "\x9a\xef", "\x00\x00", "\x9a\xf1", "\x00\x00", "\x00\x00", "\x9a\xf4",
+  "\x00\x00", "\x00\x00", "\x9a\xf7", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9a\xfb", "\x9b\x06", "\x9b\x18", "\x00\x00", "\x9b\x1a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x1f", "\x00\x00", "\x00\x00",
+  "\x9b\x22", "\x9b\x23", "\x00\x00", "\x9b\x25", "\x00\x00", "\x9b\x27",
+  "\x9b\x28", "\x9b\x29", "\x9b\x2a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9b\x2e", "\x9b\x2f", "\x00\x00", "\x9b\x31", "\x9b\x32", "\x9b\x3b",
+  "\x9b\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x41",
+  "\x9b\x42", "\x9b\x43", "\x9b\x44", "\x9b\x45", "\x9b\x4d", "\x9b\x4e",
+  "\x9b\x4f", "\x00\x00", "\x9b\x51", "\x00\x00", "\x00\x00", "\x9b\x54",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x58", "\x00\x00", "\x9b\x5a",
+  "\x9b\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x74",
+  "\x9b\x83", "\x9b\x8e", "\x00\x00", "\x00\x00", "\x9b\x91", "\x9b\x92",
+  "\x9b\x93", "\x00\x00", "\x00\x00", "\x9b\x96", "\x9b\x97", "\x9b\x9f",
+  "\x9b\xa0", "\x9b\xa8", "\x00\x00", "\x9b\xaa", "\x9b\xab", "\x00\x00",
+  "\x9b\xad", "\x9b\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9b\xb9", "\x9b\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\xc6", "\x00\x00", "\x00\x00", "\x9b\xc9", "\x9b\xca",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xcf", "\x00\x00",
+  "\x9b\xd1", "\x9b\xd2", "\x00\x00", "\x9b\xd4", "\x00\x00", "\x9b\xd6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xdb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe1", "\x9b\xe2",
+  "\x9b\xe3", "\x9b\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe8",
+  "\x9b\xf0", "\x9b\xf1", "\x9b\xf2", "\x00\x00", "\x00\x00", "\x9b\xf5",
+  "\x9c\x04", "\x00\x00", "\x9c\x06", "\x00\x00", "\x9c\x08", "\x9c\x09",
+  "\x9c\x0a", "\x00\x00", "\x9c\x0c", "\x9c\x0d", "\x00\x00", "\x00\x00",
+  "\x9c\x10", "\x00\x00", "\x9c\x12", "\x9c\x13", "\x9c\x14", "\x9c\x15",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x1b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x21",
+  "\x00\x00", "\x00\x00", "\x9c\x24", "\x9c\x25", "\x9c\x2d", "\x9c\x2e",
+  "\x9c\x2f", "\x9c\x30", "\x00\x00", "\x9c\x32", "\x9c\x39", "\x9c\x3a",
+  "\x9c\x3b", "\x00\x00", "\x00\x00", "\x9c\x3e", "\x9c\x46", "\x9c\x47",
+  "\x9c\x48", "\x9c\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9c\x57", "\x00\x00", "\x00\x00", "\x9c\x5a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x60", "\x9c\x67", "\x9c\x76",
+  "\x00\x00", "\x9c\x78", "\x9c\xe5", "\x00\x00", "\x9c\xe7", "\x00\x00",
+  "\x9c\xe9", "\x00\x00", "\x9c\xeb", "\x9c\xec", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9c\xf0", "\x00\x00", "\x00\x00", "\x9c\xf3", "\x9c\xf4",
+  "\x00\x00", "\x9c\xf6", "\x9d\x03", "\x00\x00", "\x00\x00", "\x9d\x06",
+  "\x9d\x07", "\x9d\x08", "\x9d\x09", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9d\x0e", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x12",
+  "\x00\x00", "\x00\x00", "\x9d\x15", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9d\x1b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x23", "\x00\x00",
+  "\x00\x00", "\x9d\x26", "\x00\x00", "\x9d\x28", "\x00\x00", "\x9d\x2a",
+  "\x9d\x2b", "\x9d\x2c", "\x9d\x3b", "\x00\x00", "\x00\x00", "\x9d\x3e",
+  "\x9d\x3f", "\x00\x00", "\x9d\x41", "\x00\x00", "\x00\x00", "\x9d\x44",
+  "\x00\x00", "\x9d\x46", "\x00\x00", "\x9d\x48", "\x9d\x50", "\x9d\x51",
+  "\x9d\x59", "\x00\x00", "\x00\x00", "\x9d\x5c", "\x9d\x5d", "\x9d\x5e",
+  "\x00\x00", "\x9d\x60", "\x9d\x61", "\x00\x00", "\x00\x00", "\x9d\x64",
+  "\x9d\x6c", "\x00\x00", "\x00\x00", "\x9d\x6f", "\x00\x00", "\x00\x00",
+  "\x9d\x72", "\x9d\x7a", "\x9d\x87", "\x00\x00", "\x9d\x89", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x8f", "\x9d\x9a",
+  "\x9d\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xa9",
+  "\x00\x00", "\x9d\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xaf",
+  "\x00\x00", "\x00\x00", "\x9d\xb2", "\x00\x00", "\x9d\xb4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9d\xb8", "\x00\x00", "\x9d\xba", "\x9d\xbb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xc1",
+  "\x9d\xc2", "\x00\x00", "\x9d\xc4", "\x00\x00", "\x9d\xc6", "\x9d\xcf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xd3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xd9", "\x9d\xe6", "\x9d\xed",
+  "\x00\x00", "\x9d\xef", "\x00\x00", "\x00\x00", "\x9d\xf2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xf8", "\x9d\xf9",
+  "\x9d\xfa", "\x00\x00", "\x00\x00", "\x9d\xfd", "\x9e\x1a", "\x9e\x1b",
+  "\x00\x00", "\x00\x00", "\x9e\x1e", "\x9e\x75", "\x00\x00", "\x00\x00",
+  "\x9e\x78", "\x9e\x79", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x7d",
+  "\x00\x00", "\x9e\x7f", "\x00\x00", "\x9e\x81", "\x9e\x88", "\x00\x00",
+  "\x00\x00", "\x9e\x8b", "\x9e\x8c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9e\x91", "\x9e\x92", "\x9e\x93", "\x00\x00", "\x9e\x95",
+  "\x00\x00", "\x9e\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9e\x9d", "\x00\x00", "\x9e\x9f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xa5", "\x9e\xa6", "\x00\x00",
+  "\x00\x00", "\x9e\xa9", "\x9e\xaa", "\x00\x00", "\x00\x00", "\x9e\xad",
+  "\x9e\xb8", "\x9e\xb9", "\x9e\xba", "\x9e\xbb", "\x9e\xbc", "\x00\x00",
+  "\x9e\xbe", "\x9e\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9e\xc4", "\x9e\xcc", "\x9e\xcd", "\x9e\xce", "\x9e\xcf", "\x9e\xd0",
+  "\x00\x00", "\x9e\xd2", "\x00\x00", "\x9e\xd4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9e\xd8", "\x9e\xd9", "\x00\x00", "\x9e\xdb", "\x9e\xdc",
+  "\x9e\xdd", "\x9e\xde", "\x00\x00", "\x9e\xe0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9e\xe5", "\x00\x00", "\x00\x00", "\x9e\xe8",
+  "\x9e\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xf4",
+  "\x00\x00", "\x9e\xf6", "\x9e\xf7", "\x00\x00", "\x9e\xf9", "\x00\x00",
+  "\x9e\xfb", "\x9e\xfc", "\x9e\xfd", "\x9f\x07", "\x9f\x08", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x0e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x13", "\x00\x00", "\x9f\x15",
+  "\x9f\x20", "\x9f\x21", "\x9f\x2c", "\x9f\x3b", "\x00\x00", "\x00\x00",
+  "\x9f\x3e", "\x9f\x4a", "\x9f\x4b", "\x00\x00", "\x00\x00", "\x9f\x4e",
+  "\x9f\x4f", "\x00\x00", "\x00\x00", "\x9f\x52", "\x00\x00", "\x9f\x54",
+  "\x9f\x5f", "\x9f\x60", "\x9f\x61", "\x9f\x62", "\x9f\x63", "\x00\x00",
+  "\x00\x00", "\x9f\x66", "\x9f\x67", "\x00\x00", "\x00\x00", "\x9f\x6a",
+  "\x00\x00", "\x9f\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9f\x72", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x76",
+  "\x9f\x77", "\x9f\x8d", "\x9f\x95", "\x9f\x9c", "\x9f\x9d", "\x00\x00",
+  "\x00\x00", "\x9f\xa0", "\xff\x01", "\x00\x00", "\xff\x03", "\xff\x04",
+  "\xff\x05", "\xff\x06", "\x00\x00", "\xff\x08", "\xff\x09", "\xff\x0a",
+  "\xff\x0b", "\xff\x0c", "\x00\x00", "\xff\x0e", "\xff\x0f", "\xff\x10",
+  "\xff\x11", "\xff\x12", "\xff\x13", "\xff\x14", "\xff\x15", "\xff\x16",
+  "\xff\x17", "\xff\x18", "\xff\x19", "\xff\x1a", "\xff\x1b", "\xff\x1c",
+  "\xff\x1d", "\xff\x1e", "\xff\x1f", "\xff\x20", "\xff\x21", "\xff\x22",
+  "\xff\x23", "\xff\x24", "\xff\x25", "\xff\x26", "\xff\x27", "\xff\x28",
+  "\xff\x29", "\xff\x2a", "\xff\x2b", "\xff\x2c", "\xff\x2d", "\xff\x2e",
+  "\xff\x2f", "\xff\x30", "\xff\x31", "\xff\x32", "\xff\x33", "\xff\x34",
+  "\xff\x35", "\xff\x36", "\xff\x37", "\xff\x38", "\xff\x39", "\xff\x3a",
+  "\xff\x3b", "\x00\x00", "\xff\x3d", "\xff\x3e", "\xff\x3f", "\xff\x40",
+  "\xff\x41", "\xff\x42", "\xff\x43", "\xff\x44", "\xff\x45", "\xff\x46",
+  "\xff\x47", "\xff\x48", "\xff\x49", "\xff\x4a", "\xff\x4b", "\xff\x4c",
+  "\xff\x4d", "\xff\x4e", "\xff\x4f", "\xff\x50", "\xff\x51", "\xff\x52",
+  "\xff\x53", "\xff\x54", "\xff\x55", "\xff\x56", "\xff\x57", "\xff\x58",
+  "\xff\x59", "\xff\x5a", "\xff\x5b", "\xff\x5c", "\xff\x5d", "\xff\xe3",
+  "\x00\x00", "\xff\xe5"
+};
diff --git a/iconvdata/jis0208.h b/iconvdata/jis0208.h
new file mode 100644
index 0000000000..7a4d8cd63f
--- /dev/null
+++ b/iconvdata/jis0208.h
@@ -0,0 +1,104 @@
+/* Access functions for JISX0208 conversion.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _JIS0208_H
+#define _JIS0208_H	1
+
+#include <gconv.h>
+#include <inttypes.h>
+
+/* Conversion table.  */
+extern const uint16_t jis0208_to_ucs[];
+
+extern const char jisx0208_from_ucs4_lat1[256][2];
+extern const char jisx0208_from_ucs4_greek[0xc1][2];
+extern const struct jisx0208_ucs_idx jisx0208_from_ucs_idx[];
+extern const char jisx0208_from_ucs_tab[][2];
+
+
+/* Struct for table with indeces in UCS mapping table.  */
+struct jisx0208_ucs_idx
+{
+  uint16_t start;
+  uint16_t end;
+  uint16_t idx;
+};
+
+
+static inline wchar_t
+jisx0208_to_ucs4 (char **s, size_t avail)
+{
+  unsigned char ch = *(*s);
+  unsigned char ch2;
+  int idx;
+
+  if (ch <= 0x20 || ch > 0xea)
+    return UNKNOWN_10646_CHAR;
+
+  if (avail < 2)
+    return 0;
+
+  ch2 = (*s)[1];
+  if (ch2 <= 0x20 || ch2 >= 0x7f)
+    return UNKNOWN_10646_CHAR;
+
+  idx = (ch - 0x21) * 94 + (ch2 - 0x21);
+  if (idx >= 0x1e80)
+    return UNKNOWN_10646_CHAR;
+
+  (*s) += 2;
+
+  return jis0208_to_ucs[idx] ?: ((*s) -= 2, UNKNOWN_10646_CHAR);
+}
+
+
+static inline size_t
+ucs4_to_jisx0208 (wchar_t wch, char **s, size_t avail)
+{
+  unsigned int ch = (unsigned int) wch;
+  const char *cp = NULL;
+
+  if (avail < 2)
+    return 0;
+
+  if (ch < 0x100)
+    cp = jisx0208_from_ucs4_lat1[ch];
+  else if (ch >= 0x391 && ch <= 0x451)
+    cp = jisx0208_from_ucs4_greek[ch];
+  else
+    {
+      const struct jisx0208_ucs_idx *rp = jisx0208_from_ucs_idx;
+
+      while (ch > rp->end)
+	++rp;
+      if (ch >= rp->start)
+	cp = jisx0208_from_ucs_tab[rp->idx + ch - rp->start];
+    }
+
+  if (cp == NULL || cp[0] == '\0')
+    return UNKNOWN_10646_CHAR;
+
+  *(*s)++ = cp[0];
+  *(*s)++ = cp[1];
+
+  return 2;
+}
+
+#endif /* jis0208.h */
diff --git a/iconvdata/jis0212.c b/iconvdata/jis0212.c
new file mode 100644
index 0000000000..e9e1313553
--- /dev/null
+++ b/iconvdata/jis0212.c
@@ -0,0 +1,3941 @@
+/* Mapping tables for JIS0212 handling.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <inttypes.h>
+#include <wchar.h>
+
+#include <jis0212.h>
+
+/* The defined JIS 0201 positions contains large gaps.  It's better to
+   avoid using one large table with such big gaps.  Instead we match each
+   char in a table resulting in an index to a table with the UCS.  The
+   following command can be used to generate the table:
+
+   egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \
+     .../eastasia/jis/jis0212.txt | perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $first=$last=$idx=0;
+   while (<>) {
+     local($jis,$ucs,%rest) = split;
+     local($u)=hex($ucs);
+     local($j)=hex($jis);
+     local($k) = int(($j - 0x2121) / 256) * 94 + (($j - 0x2121) % 256);
+     if ($k - $last > 6) {
+       if ($last != 0) {
+	 printf (" { start: %#06x, end: %#06x, idx: %5d },\n",
+		 $first, $last, $idx);
+	 $idx += $last - $first + 1;
+       }
+       $first=$k;
+     }
+     $last=$k;
+   }
+   printf (" { start: %#06x, end: %#06x, idx: %5d }\n",
+	   $first, $last, $idx);
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const struct jisx0212_idx jisx0212_to_ucs_idx[] =
+{
+ { start: 0x006c, end: 0x0076, idx:     0 },
+ { start: 0x007f, end: 0x0081, idx:    11 },
+ { start: 0x00a8, end: 0x00ae, idx:    14 },
+ { start: 0x0216, end: 0x0231, idx:    21 },
+ { start: 0x0255, end: 0x0261, idx:    49 },
+ { start: 0x0285, end: 0x0291, idx:    62 },
+ { start: 0x02f0, end: 0x02ff, idx:    75 },
+ { start: 0x0310, end: 0x031f, idx:    91 },
+ { start: 0x034e, end: 0x03a4, idx:   107 },
+ { start: 0x03ac, end: 0x0402, idx:   194 },
+ { start: 0x0582, end: 0x1c2a, idx:   281 },
+ { start: 0 },
+};
+
+
+/* The table which the UCS values indexed by the table above can be
+   generated using the following code:
+
+   egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \
+     .../eastasia/jis/jis0212.txt | perl tab.pl
+
+   where tab.pl is:
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $first=$last=$idx=0;
+
+   sub fmt {
+     printf ("\n ") if (($n % 8) == 0);
+     ++$n;
+     my($val) = pop(@_);
+     printf (" %#06x,", $val);
+   }
+
+   while (<>) {
+     local($jis,$ucs,%rest) = split;
+     local($u)=hex($ucs);
+     local($j)=hex($jis);
+     local($k) = int(($j - 0x2121) / 256) * 94 + (($j - 0x2121) % 256);
+     if ($k - $last > 6) {
+       if ($last != 0) {
+	 $idx += $last - $first + 1;
+       }
+       $first=$k;
+     } else {
+       for ($m = $last + 1; $m < $k; ++$m) {
+         fmt (0);
+       }
+     }
+     fmt ($u);
+     $last=$k;
+   }
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const uint16_t jisx0212_to_ucs[] =
+{
+  0x02d8, 0x02c7, 0x00b8, 0x02d9, 0x02dd, 0x00af, 0x02db, 0x02da,
+  0x007e, 0x0384, 0x0385, 0x00a1, 0x00a6, 0x00bf, 0x00ba, 0x00aa,
+  0x00a9, 0x00ae, 0x2122, 0x00a4, 0x2116, 0x0386, 0x0388, 0x0389,
+  0x038a, 0x03aa, 000000, 0x038c, 000000, 0x038e, 0x03ab, 000000,
+  0x038f, 000000, 000000, 000000, 000000, 0x03ac, 0x03ad, 0x03ae,
+  0x03af, 0x03ca, 0x0390, 0x03cc, 0x03c2, 0x03cd, 0x03cb, 0x03b0,
+  0x03ce, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408,
+  0x0409, 0x040a, 0x040b, 0x040c, 0x040e, 0x040f, 0x0452, 0x0453,
+  0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045a, 0x045b,
+  0x045c, 0x045e, 0x045f, 0x00c6, 0x0110, 000000, 0x0126, 000000,
+  0x0132, 000000, 0x0141, 0x013f, 000000, 0x014a, 0x00d8, 0x0152,
+  000000, 0x0166, 0x00de, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131,
+  0x0133, 0x0138, 0x0142, 0x0140, 0x0149, 0x014b, 0x00f8, 0x0153,
+  0x00df, 0x0167, 0x00fe, 0x00c1, 0x00c0, 0x00c4, 0x00c2, 0x0102,
+  0x01cd, 0x0100, 0x0104, 0x00c5, 0x00c3, 0x0106, 0x0108, 0x010c,
+  0x00c7, 0x010a, 0x010e, 0x00c9, 0x00c8, 0x00cb, 0x00ca, 0x011a,
+  0x0116, 0x0112, 0x0118, 000000, 0x011c, 0x011e, 0x0122, 0x0120,
+  0x0124, 0x00cd, 0x00cc, 0x00cf, 0x00ce, 0x01cf, 0x0130, 0x012a,
+  0x012e, 0x0128, 0x0134, 0x0136, 0x0139, 0x013d, 0x013b, 0x0143,
+  0x0147, 0x0145, 0x00d1, 0x00d3, 0x00d2, 0x00d6, 0x00d4, 0x01d1,
+  0x0150, 0x014c, 0x00d5, 0x0154, 0x0158, 0x0156, 0x015a, 0x015c,
+  0x0160, 0x015e, 0x0164, 0x0162, 0x00da, 0x00d9, 0x00dc, 0x00db,
+  0x016c, 0x01d3, 0x0170, 0x016a, 0x0172, 0x016e, 0x0168, 0x01d7,
+  0x01db, 0x01d9, 0x01d5, 0x0174, 0x00dd, 0x0178, 0x0176, 0x0179,
+  0x017d, 0x017b, 0x00e1, 0x00e0, 0x00e4, 0x00e2, 0x0103, 0x01ce,
+  0x0101, 0x0105, 0x00e5, 0x00e3, 0x0107, 0x0109, 0x010d, 0x00e7,
+  0x010b, 0x010f, 0x00e9, 0x00e8, 0x00eb, 0x00ea, 0x011b, 0x0117,
+  0x0113, 0x0119, 0x01f5, 0x011d, 0x011f, 000000, 0x0121, 0x0125,
+  0x00ed, 0x00ec, 0x00ef, 0x00ee, 0x01d0, 000000, 0x012b, 0x012f,
+  0x0129, 0x0135, 0x0137, 0x013a, 0x013e, 0x013c, 0x0144, 0x0148,
+  0x0146, 0x00f1, 0x00f3, 0x00f2, 0x00f6, 0x00f4, 0x01d2, 0x0151,
+  0x014d, 0x00f5, 0x0155, 0x0159, 0x0157, 0x015b, 0x015d, 0x0161,
+  0x015f, 0x0165, 0x0163, 0x00fa, 0x00f9, 0x00fc, 0x00fb, 0x016d,
+  0x01d4, 0x0171, 0x016b, 0x0173, 0x016f, 0x0169, 0x01d8, 0x01dc,
+  0x01da, 0x01d6, 0x0175, 0x00fd, 0x00ff, 0x0177, 0x017a, 0x017e,
+  0x017c, 0x4e02, 0x4e04, 0x4e05, 0x4e0c, 0x4e12, 0x4e1f, 0x4e23,
+  0x4e24, 0x4e28, 0x4e2b, 0x4e2e, 0x4e2f, 0x4e30, 0x4e35, 0x4e40,
+  0x4e41, 0x4e44, 0x4e47, 0x4e51, 0x4e5a, 0x4e5c, 0x4e63, 0x4e68,
+  0x4e69, 0x4e74, 0x4e75, 0x4e79, 0x4e7f, 0x4e8d, 0x4e96, 0x4e97,
+  0x4e9d, 0x4eaf, 0x4eb9, 0x4ec3, 0x4ed0, 0x4eda, 0x4edb, 0x4ee0,
+  0x4ee1, 0x4ee2, 0x4ee8, 0x4eef, 0x4ef1, 0x4ef3, 0x4ef5, 0x4efd,
+  0x4efe, 0x4eff, 0x4f00, 0x4f02, 0x4f03, 0x4f08, 0x4f0b, 0x4f0c,
+  0x4f12, 0x4f15, 0x4f16, 0x4f17, 0x4f19, 0x4f2e, 0x4f31, 0x4f60,
+  0x4f33, 0x4f35, 0x4f37, 0x4f39, 0x4f3b, 0x4f3e, 0x4f40, 0x4f42,
+  0x4f48, 0x4f49, 0x4f4b, 0x4f4c, 0x4f52, 0x4f54, 0x4f56, 0x4f58,
+  0x4f5f, 0x4f63, 0x4f6a, 0x4f6c, 0x4f6e, 0x4f71, 0x4f77, 0x4f78,
+  0x4f79, 0x4f7a, 0x4f7d, 0x4f7e, 0x4f81, 0x4f82, 0x4f84, 0x4f85,
+  0x4f89, 0x4f8a, 0x4f8c, 0x4f8e, 0x4f90, 0x4f92, 0x4f93, 0x4f94,
+  0x4f97, 0x4f99, 0x4f9a, 0x4f9e, 0x4f9f, 0x4fb2, 0x4fb7, 0x4fb9,
+  0x4fbb, 0x4fbc, 0x4fbd, 0x4fbe, 0x4fc0, 0x4fc1, 0x4fc5, 0x4fc6,
+  0x4fc8, 0x4fc9, 0x4fcb, 0x4fcc, 0x4fcd, 0x4fcf, 0x4fd2, 0x4fdc,
+  0x4fe0, 0x4fe2, 0x4ff0, 0x4ff2, 0x4ffc, 0x4ffd, 0x4fff, 0x5000,
+  0x5001, 0x5004, 0x5007, 0x500a, 0x500c, 0x500e, 0x5010, 0x5013,
+  0x5017, 0x5018, 0x501b, 0x501c, 0x501d, 0x501e, 0x5022, 0x5027,
+  0x502e, 0x5030, 0x5032, 0x5033, 0x5035, 0x5040, 0x5041, 0x5042,
+  0x5045, 0x5046, 0x504a, 0x504c, 0x504e, 0x5051, 0x5052, 0x5053,
+  0x5057, 0x5059, 0x505f, 0x5060, 0x5062, 0x5063, 0x5066, 0x5067,
+  0x506a, 0x506d, 0x5070, 0x5071, 0x503b, 0x5081, 0x5083, 0x5084,
+  0x5086, 0x508a, 0x508e, 0x508f, 0x5090, 0x5092, 0x5093, 0x5094,
+  0x5096, 0x509b, 0x509c, 0x509e, 0x509f, 0x50a0, 0x50a1, 0x50a2,
+  0x50aa, 0x50af, 0x50b0, 0x50b9, 0x50ba, 0x50bd, 0x50c0, 0x50c3,
+  0x50c4, 0x50c7, 0x50cc, 0x50ce, 0x50d0, 0x50d3, 0x50d4, 0x50d8,
+  0x50dc, 0x50dd, 0x50df, 0x50e2, 0x50e4, 0x50e6, 0x50e8, 0x50e9,
+  0x50ef, 0x50f1, 0x50f6, 0x50fa, 0x50fe, 0x5103, 0x5106, 0x5107,
+  0x5108, 0x510b, 0x510c, 0x510d, 0x510e, 0x50f2, 0x5110, 0x5117,
+  0x5119, 0x511b, 0x511c, 0x511d, 0x511e, 0x5123, 0x5127, 0x5128,
+  0x512c, 0x512d, 0x512f, 0x5131, 0x5133, 0x5134, 0x5135, 0x5138,
+  0x5139, 0x5142, 0x514a, 0x514f, 0x5153, 0x5155, 0x5157, 0x5158,
+  0x515f, 0x5164, 0x5166, 0x517e, 0x5183, 0x5184, 0x518b, 0x518e,
+  0x5198, 0x519d, 0x51a1, 0x51a3, 0x51ad, 0x51b8, 0x51ba, 0x51bc,
+  0x51be, 0x51bf, 0x51c2, 0x51c8, 0x51cf, 0x51d1, 0x51d2, 0x51d3,
+  0x51d5, 0x51d8, 0x51de, 0x51e2, 0x51e5, 0x51ee, 0x51f2, 0x51f3,
+  0x51f4, 0x51f7, 0x5201, 0x5202, 0x5205, 0x5212, 0x5213, 0x5215,
+  0x5216, 0x5218, 0x5222, 0x5228, 0x5231, 0x5232, 0x5235, 0x523c,
+  0x5245, 0x5249, 0x5255, 0x5257, 0x5258, 0x525a, 0x525c, 0x525f,
+  0x5260, 0x5261, 0x5266, 0x526e, 0x5277, 0x5278, 0x5279, 0x5280,
+  0x5282, 0x5285, 0x528a, 0x528c, 0x5293, 0x5295, 0x5296, 0x5297,
+  0x5298, 0x529a, 0x529c, 0x52a4, 0x52a5, 0x52a6, 0x52a7, 0x52af,
+  0x52b0, 0x52b6, 0x52b7, 0x52b8, 0x52ba, 0x52bb, 0x52bd, 0x52c0,
+  0x52c4, 0x52c6, 0x52c8, 0x52cc, 0x52cf, 0x52d1, 0x52d4, 0x52d6,
+  0x52db, 0x52dc, 0x52e1, 0x52e5, 0x52e8, 0x52e9, 0x52ea, 0x52ec,
+  0x52f0, 0x52f1, 0x52f4, 0x52f6, 0x52f7, 0x5300, 0x5303, 0x530a,
+  0x530b, 0x530c, 0x5311, 0x5313, 0x5318, 0x531b, 0x531c, 0x531e,
+  0x531f, 0x5325, 0x5327, 0x5328, 0x5329, 0x532b, 0x532c, 0x532d,
+  0x5330, 0x5332, 0x5335, 0x533c, 0x533d, 0x533e, 0x5342, 0x534c,
+  0x534b, 0x5359, 0x535b, 0x5361, 0x5363, 0x5365, 0x536c, 0x536d,
+  0x5372, 0x5379, 0x537e, 0x5383, 0x5387, 0x5388, 0x538e, 0x5393,
+  0x5394, 0x5399, 0x539d, 0x53a1, 0x53a4, 0x53aa, 0x53ab, 0x53af,
+  0x53b2, 0x53b4, 0x53b5, 0x53b7, 0x53b8, 0x53ba, 0x53bd, 0x53c0,
+  0x53c5, 0x53cf, 0x53d2, 0x53d3, 0x53d5, 0x53da, 0x53dd, 0x53de,
+  0x53e0, 0x53e6, 0x53e7, 0x53f5, 0x5402, 0x5413, 0x541a, 0x5421,
+  0x5427, 0x5428, 0x542a, 0x542f, 0x5431, 0x5434, 0x5435, 0x5443,
+  0x5444, 0x5447, 0x544d, 0x544f, 0x545e, 0x5462, 0x5464, 0x5466,
+  0x5467, 0x5469, 0x546b, 0x546d, 0x546e, 0x5474, 0x547f, 0x5481,
+  0x5483, 0x5485, 0x5488, 0x5489, 0x548d, 0x5491, 0x5495, 0x5496,
+  0x549c, 0x549f, 0x54a1, 0x54a6, 0x54a7, 0x54a9, 0x54aa, 0x54ad,
+  0x54ae, 0x54b1, 0x54b7, 0x54b9, 0x54ba, 0x54bb, 0x54bf, 0x54c6,
+  0x54ca, 0x54cd, 0x54ce, 0x54e0, 0x54ea, 0x54ec, 0x54ef, 0x54f6,
+  0x54fc, 0x54fe, 0x54ff, 0x5500, 0x5501, 0x5505, 0x5508, 0x5509,
+  0x550c, 0x550d, 0x550e, 0x5515, 0x552a, 0x552b, 0x5532, 0x5535,
+  0x5536, 0x553b, 0x553c, 0x553d, 0x5541, 0x5547, 0x5549, 0x554a,
+  0x554d, 0x5550, 0x5551, 0x5558, 0x555a, 0x555b, 0x555e, 0x5560,
+  0x5561, 0x5564, 0x5566, 0x557f, 0x5581, 0x5582, 0x5586, 0x5588,
+  0x558e, 0x558f, 0x5591, 0x5592, 0x5593, 0x5594, 0x5597, 0x55a3,
+  0x55a4, 0x55ad, 0x55b2, 0x55bf, 0x55c1, 0x55c3, 0x55c6, 0x55c9,
+  0x55cb, 0x55cc, 0x55ce, 0x55d1, 0x55d2, 0x55d3, 0x55d7, 0x55d8,
+  0x55db, 0x55de, 0x55e2, 0x55e9, 0x55f6, 0x55ff, 0x5605, 0x5608,
+  0x560a, 0x560d, 0x560e, 0x560f, 0x5610, 0x5611, 0x5612, 0x5619,
+  0x562c, 0x5630, 0x5633, 0x5635, 0x5637, 0x5639, 0x563b, 0x563c,
+  0x563d, 0x563f, 0x5640, 0x5641, 0x5643, 0x5644, 0x5646, 0x5649,
+  0x564b, 0x564d, 0x564f, 0x5654, 0x565e, 0x5660, 0x5661, 0x5662,
+  0x5663, 0x5666, 0x5669, 0x566d, 0x566f, 0x5671, 0x5672, 0x5675,
+  0x5684, 0x5685, 0x5688, 0x568b, 0x568c, 0x5695, 0x5699, 0x569a,
+  0x569d, 0x569e, 0x569f, 0x56a6, 0x56a7, 0x56a8, 0x56a9, 0x56ab,
+  0x56ac, 0x56ad, 0x56b1, 0x56b3, 0x56b7, 0x56be, 0x56c5, 0x56c9,
+  0x56ca, 0x56cb, 0x56cf, 0x56d0, 0x56cc, 0x56cd, 0x56d9, 0x56dc,
+  0x56dd, 0x56df, 0x56e1, 0x56e4, 0x56e5, 0x56e6, 0x56e7, 0x56e8,
+  0x56f1, 0x56eb, 0x56ed, 0x56f6, 0x56f7, 0x5701, 0x5702, 0x5707,
+  0x570a, 0x570c, 0x5711, 0x5715, 0x571a, 0x571b, 0x571d, 0x5720,
+  0x5722, 0x5723, 0x5724, 0x5725, 0x5729, 0x572a, 0x572c, 0x572e,
+  0x572f, 0x5733, 0x5734, 0x573d, 0x573e, 0x573f, 0x5745, 0x5746,
+  0x574c, 0x574d, 0x5752, 0x5762, 0x5765, 0x5767, 0x5768, 0x576b,
+  0x576d, 0x576e, 0x576f, 0x5770, 0x5771, 0x5773, 0x5774, 0x5775,
+  0x5777, 0x5779, 0x577a, 0x577b, 0x577c, 0x577e, 0x5781, 0x5783,
+  0x578c, 0x5794, 0x5797, 0x5799, 0x579a, 0x579c, 0x579d, 0x579e,
+  0x579f, 0x57a1, 0x5795, 0x57a7, 0x57a8, 0x57a9, 0x57ac, 0x57b8,
+  0x57bd, 0x57c7, 0x57c8, 0x57cc, 0x57cf, 0x57d5, 0x57dd, 0x57de,
+  0x57e4, 0x57e6, 0x57e7, 0x57e9, 0x57ed, 0x57f0, 0x57f5, 0x57f6,
+  0x57f8, 0x57fd, 0x57fe, 0x57ff, 0x5803, 0x5804, 0x5808, 0x5809,
+  0x57e1, 0x580c, 0x580d, 0x581b, 0x581e, 0x581f, 0x5820, 0x5826,
+  0x5827, 0x582d, 0x5832, 0x5839, 0x583f, 0x5849, 0x584c, 0x584d,
+  0x584f, 0x5850, 0x5855, 0x585f, 0x5861, 0x5864, 0x5867, 0x5868,
+  0x5878, 0x587c, 0x587f, 0x5880, 0x5881, 0x5887, 0x5888, 0x5889,
+  0x588a, 0x588c, 0x588d, 0x588f, 0x5890, 0x5894, 0x5896, 0x589d,
+  0x58a0, 0x58a1, 0x58a2, 0x58a6, 0x58a9, 0x58b1, 0x58b2, 0x58c4,
+  0x58bc, 0x58c2, 0x58c8, 0x58cd, 0x58ce, 0x58d0, 0x58d2, 0x58d4,
+  0x58d6, 0x58da, 0x58dd, 0x58e1, 0x58e2, 0x58e9, 0x58f3, 0x5905,
+  0x5906, 0x590b, 0x590c, 0x5912, 0x5913, 0x5914, 0x8641, 0x591d,
+  0x5921, 0x5923, 0x5924, 0x5928, 0x592f, 0x5930, 0x5933, 0x5935,
+  0x5936, 0x593f, 0x5943, 0x5946, 0x5952, 0x5953, 0x5959, 0x595b,
+  0x595d, 0x595e, 0x595f, 0x5961, 0x5963, 0x596b, 0x596d, 0x596f,
+  0x5972, 0x5975, 0x5976, 0x5979, 0x597b, 0x597c, 0x598b, 0x598c,
+  0x598e, 0x5992, 0x5995, 0x5997, 0x599f, 0x59a4, 0x59a7, 0x59ad,
+  0x59ae, 0x59af, 0x59b0, 0x59b3, 0x59b7, 0x59ba, 0x59bc, 0x59c1,
+  0x59c3, 0x59c4, 0x59c8, 0x59ca, 0x59cd, 0x59d2, 0x59dd, 0x59de,
+  0x59df, 0x59e3, 0x59e4, 0x59e7, 0x59ee, 0x59ef, 0x59f1, 0x59f2,
+  0x59f4, 0x59f7, 0x5a00, 0x5a04, 0x5a0c, 0x5a0d, 0x5a0e, 0x5a12,
+  0x5a13, 0x5a1e, 0x5a23, 0x5a24, 0x5a27, 0x5a28, 0x5a2a, 0x5a2d,
+  0x5a30, 0x5a44, 0x5a45, 0x5a47, 0x5a48, 0x5a4c, 0x5a50, 0x5a55,
+  0x5a5e, 0x5a63, 0x5a65, 0x5a67, 0x5a6d, 0x5a77, 0x5a7a, 0x5a7b,
+  0x5a7e, 0x5a8b, 0x5a90, 0x5a93, 0x5a96, 0x5a99, 0x5a9c, 0x5a9e,
+  0x5a9f, 0x5aa0, 0x5aa2, 0x5aa7, 0x5aac, 0x5ab1, 0x5ab2, 0x5ab3,
+  0x5ab5, 0x5ab8, 0x5aba, 0x5abb, 0x5abf, 0x5ac4, 0x5ac6, 0x5ac8,
+  0x5acf, 0x5ada, 0x5adc, 0x5ae0, 0x5ae5, 0x5aea, 0x5aee, 0x5af5,
+  0x5af6, 0x5afd, 0x5b00, 0x5b01, 0x5b08, 0x5b17, 0x5b34, 0x5b19,
+  0x5b1b, 0x5b1d, 0x5b21, 0x5b25, 0x5b2d, 0x5b38, 0x5b41, 0x5b4b,
+  0x5b4c, 0x5b52, 0x5b56, 0x5b5e, 0x5b68, 0x5b6e, 0x5b6f, 0x5b7c,
+  0x5b7d, 0x5b7e, 0x5b7f, 0x5b81, 0x5b84, 0x5b86, 0x5b8a, 0x5b8e,
+  0x5b90, 0x5b91, 0x5b93, 0x5b94, 0x5b96, 0x5ba8, 0x5ba9, 0x5bac,
+  0x5bad, 0x5baf, 0x5bb1, 0x5bb2, 0x5bb7, 0x5bba, 0x5bbc, 0x5bc0,
+  0x5bc1, 0x5bcd, 0x5bcf, 0x5bd6, 0x5bd7, 0x5bd8, 0x5bd9, 0x5bda,
+  0x5be0, 0x5bef, 0x5bf1, 0x5bf4, 0x5bfd, 0x5c0c, 0x5c17, 0x5c1e,
+  0x5c1f, 0x5c23, 0x5c26, 0x5c29, 0x5c2b, 0x5c2c, 0x5c2e, 0x5c30,
+  0x5c32, 0x5c35, 0x5c36, 0x5c59, 0x5c5a, 0x5c5c, 0x5c62, 0x5c63,
+  0x5c67, 0x5c68, 0x5c69, 0x5c6d, 0x5c70, 0x5c74, 0x5c75, 0x5c7a,
+  0x5c7b, 0x5c7c, 0x5c7d, 0x5c87, 0x5c88, 0x5c8a, 0x5c8f, 0x5c92,
+  0x5c9d, 0x5c9f, 0x5ca0, 0x5ca2, 0x5ca3, 0x5ca6, 0x5caa, 0x5cb2,
+  0x5cb4, 0x5cb5, 0x5cba, 0x5cc9, 0x5ccb, 0x5cd2, 0x5cdd, 0x5cd7,
+  0x5cee, 0x5cf1, 0x5cf2, 0x5cf4, 0x5d01, 0x5d06, 0x5d0d, 0x5d12,
+  0x5d2b, 0x5d23, 0x5d24, 0x5d26, 0x5d27, 0x5d31, 0x5d34, 0x5d39,
+  0x5d3d, 0x5d3f, 0x5d42, 0x5d43, 0x5d46, 0x5d48, 0x5d55, 0x5d51,
+  0x5d59, 0x5d4a, 0x5d5f, 0x5d60, 0x5d61, 0x5d62, 0x5d64, 0x5d6a,
+  0x5d6d, 0x5d70, 0x5d79, 0x5d7a, 0x5d7e, 0x5d7f, 0x5d81, 0x5d83,
+  0x5d88, 0x5d8a, 0x5d92, 0x5d93, 0x5d94, 0x5d95, 0x5d99, 0x5d9b,
+  0x5d9f, 0x5da0, 0x5da7, 0x5dab, 0x5db0, 0x5db4, 0x5db8, 0x5db9,
+  0x5dc3, 0x5dc7, 0x5dcb, 0x5dd0, 0x5dce, 0x5dd8, 0x5dd9, 0x5de0,
+  0x5de4, 0x5de9, 0x5df8, 0x5df9, 0x5e00, 0x5e07, 0x5e0d, 0x5e12,
+  0x5e14, 0x5e15, 0x5e18, 0x5e1f, 0x5e20, 0x5e2e, 0x5e28, 0x5e32,
+  0x5e35, 0x5e3e, 0x5e4b, 0x5e50, 0x5e49, 0x5e51, 0x5e56, 0x5e58,
+  0x5e5b, 0x5e5c, 0x5e5e, 0x5e68, 0x5e6a, 0x5e6b, 0x5e6c, 0x5e6d,
+  0x5e6e, 0x5e70, 0x5e80, 0x5e8b, 0x5e8e, 0x5ea2, 0x5ea4, 0x5ea5,
+  0x5ea8, 0x5eaa, 0x5eac, 0x5eb1, 0x5eb3, 0x5ebd, 0x5ebe, 0x5ebf,
+  0x5ec6, 0x5ecc, 0x5ecb, 0x5ece, 0x5ed1, 0x5ed2, 0x5ed4, 0x5ed5,
+  0x5edc, 0x5ede, 0x5ee5, 0x5eeb, 0x5f02, 0x5f06, 0x5f07, 0x5f08,
+  0x5f0e, 0x5f19, 0x5f1c, 0x5f1d, 0x5f21, 0x5f22, 0x5f23, 0x5f24,
+  0x5f28, 0x5f2b, 0x5f2c, 0x5f2e, 0x5f30, 0x5f34, 0x5f36, 0x5f3b,
+  0x5f3d, 0x5f3f, 0x5f40, 0x5f44, 0x5f45, 0x5f47, 0x5f4d, 0x5f50,
+  0x5f54, 0x5f58, 0x5f5b, 0x5f60, 0x5f63, 0x5f64, 0x5f67, 0x5f6f,
+  0x5f72, 0x5f74, 0x5f75, 0x5f78, 0x5f7a, 0x5f7d, 0x5f7e, 0x5f89,
+  0x5f8d, 0x5f8f, 0x5f96, 0x5f9c, 0x5f9d, 0x5fa2, 0x5fa7, 0x5fab,
+  0x5fa4, 0x5fac, 0x5faf, 0x5fb0, 0x5fb1, 0x5fb8, 0x5fc4, 0x5fc7,
+  0x5fc8, 0x5fc9, 0x5fcb, 0x5fd0, 0x5fd1, 0x5fd2, 0x5fd3, 0x5fd4,
+  0x5fde, 0x5fe1, 0x5fe2, 0x5fe8, 0x5fe9, 0x5fea, 0x5fec, 0x5fed,
+  0x5fee, 0x5fef, 0x5ff2, 0x5ff3, 0x5ff6, 0x5ffa, 0x5ffc, 0x6007,
+  0x600a, 0x600d, 0x6013, 0x6014, 0x6017, 0x6018, 0x601a, 0x601f,
+  0x6024, 0x602d, 0x6033, 0x6035, 0x6040, 0x6047, 0x6048, 0x6049,
+  0x604c, 0x6051, 0x6054, 0x6056, 0x6057, 0x605d, 0x6061, 0x6067,
+  0x6071, 0x607e, 0x607f, 0x6082, 0x6086, 0x6088, 0x608a, 0x608e,
+  0x6091, 0x6093, 0x6095, 0x6098, 0x609d, 0x609e, 0x60a2, 0x60a4,
+  0x60a5, 0x60a8, 0x60b0, 0x60b1, 0x60b7, 0x60bb, 0x60be, 0x60c2,
+  0x60c4, 0x60c8, 0x60c9, 0x60ca, 0x60cb, 0x60ce, 0x60cf, 0x60d4,
+  0x60d5, 0x60d9, 0x60db, 0x60dd, 0x60de, 0x60e2, 0x60e5, 0x60f2,
+  0x60f5, 0x60f8, 0x60fc, 0x60fd, 0x6102, 0x6107, 0x610a, 0x610c,
+  0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116, 0x6117, 0x6119,
+  0x611c, 0x611e, 0x6122, 0x612a, 0x612b, 0x6130, 0x6131, 0x6135,
+  0x6136, 0x6137, 0x6139, 0x6141, 0x6145, 0x6146, 0x6149, 0x615e,
+  0x6160, 0x616c, 0x6172, 0x6178, 0x617b, 0x617c, 0x617f, 0x6180,
+  0x6181, 0x6183, 0x6184, 0x618b, 0x618d, 0x6192, 0x6193, 0x6197,
+  0x6198, 0x619c, 0x619d, 0x619f, 0x61a0, 0x61a5, 0x61a8, 0x61aa,
+  0x61ad, 0x61b8, 0x61b9, 0x61bc, 0x61c0, 0x61c1, 0x61c2, 0x61ce,
+  0x61cf, 0x61d5, 0x61dc, 0x61dd, 0x61de, 0x61df, 0x61e1, 0x61e2,
+  0x61e7, 0x61e9, 0x61e5, 0x61ec, 0x61ed, 0x61ef, 0x6201, 0x6203,
+  0x6204, 0x6207, 0x6213, 0x6215, 0x621c, 0x6220, 0x6222, 0x6223,
+  0x6227, 0x6229, 0x622b, 0x6239, 0x623d, 0x6242, 0x6243, 0x6244,
+  0x6246, 0x624c, 0x6250, 0x6251, 0x6252, 0x6254, 0x6256, 0x625a,
+  0x625c, 0x6264, 0x626d, 0x626f, 0x6273, 0x627a, 0x627d, 0x628d,
+  0x628e, 0x628f, 0x6290, 0x62a6, 0x62a8, 0x62b3, 0x62b6, 0x62b7,
+  0x62ba, 0x62be, 0x62bf, 0x62c4, 0x62ce, 0x62d5, 0x62d6, 0x62da,
+  0x62ea, 0x62f2, 0x62f4, 0x62fc, 0x62fd, 0x6303, 0x6304, 0x630a,
+  0x630b, 0x630d, 0x6310, 0x6313, 0x6316, 0x6318, 0x6329, 0x632a,
+  0x632d, 0x6335, 0x6336, 0x6339, 0x633c, 0x6341, 0x6342, 0x6343,
+  0x6344, 0x6346, 0x634a, 0x634b, 0x634e, 0x6352, 0x6353, 0x6354,
+  0x6358, 0x635b, 0x6365, 0x6366, 0x636c, 0x636d, 0x6371, 0x6374,
+  0x6375, 0x6378, 0x637c, 0x637d, 0x637f, 0x6382, 0x6384, 0x6387,
+  0x638a, 0x6390, 0x6394, 0x6395, 0x6399, 0x639a, 0x639e, 0x63a4,
+  0x63a6, 0x63ad, 0x63ae, 0x63af, 0x63bd, 0x63c1, 0x63c5, 0x63c8,
+  0x63ce, 0x63d1, 0x63d3, 0x63d4, 0x63d5, 0x63dc, 0x63e0, 0x63e5,
+  0x63ea, 0x63ec, 0x63f2, 0x63f3, 0x63f5, 0x63f8, 0x63f9, 0x6409,
+  0x640a, 0x6410, 0x6412, 0x6414, 0x6418, 0x641e, 0x6420, 0x6422,
+  0x6424, 0x6425, 0x6429, 0x642a, 0x642f, 0x6430, 0x6435, 0x643d,
+  0x643f, 0x644b, 0x644f, 0x6451, 0x6452, 0x6453, 0x6454, 0x645a,
+  0x645b, 0x645c, 0x645d, 0x645f, 0x6460, 0x6461, 0x6463, 0x646d,
+  0x6473, 0x6474, 0x647b, 0x647d, 0x6485, 0x6487, 0x648f, 0x6490,
+  0x6491, 0x6498, 0x6499, 0x649b, 0x649d, 0x649f, 0x64a1, 0x64a3,
+  0x64a6, 0x64a8, 0x64ac, 0x64b3, 0x64bd, 0x64be, 0x64bf, 0x64c4,
+  0x64c9, 0x64ca, 0x64cb, 0x64cc, 0x64ce, 0x64d0, 0x64d1, 0x64d5,
+  0x64d7, 0x64e4, 0x64e5, 0x64e9, 0x64ea, 0x64ed, 0x64f0, 0x64f5,
+  0x64f7, 0x64fb, 0x64ff, 0x6501, 0x6504, 0x6508, 0x6509, 0x650a,
+  0x650f, 0x6513, 0x6514, 0x6516, 0x6519, 0x651b, 0x651e, 0x651f,
+  0x6522, 0x6526, 0x6529, 0x652e, 0x6531, 0x653a, 0x653c, 0x653d,
+  0x6543, 0x6547, 0x6549, 0x6550, 0x6552, 0x6554, 0x655f, 0x6560,
+  0x6567, 0x656b, 0x657a, 0x657d, 0x6581, 0x6585, 0x658a, 0x6592,
+  0x6595, 0x6598, 0x659d, 0x65a0, 0x65a3, 0x65a6, 0x65ae, 0x65b2,
+  0x65b3, 0x65b4, 0x65bf, 0x65c2, 0x65c8, 0x65c9, 0x65ce, 0x65d0,
+  0x65d4, 0x65d6, 0x65d8, 0x65df, 0x65f0, 0x65f2, 0x65f4, 0x65f5,
+  0x65f9, 0x65fe, 0x65ff, 0x6600, 0x6604, 0x6608, 0x6609, 0x660d,
+  0x6611, 0x6612, 0x6615, 0x6616, 0x661d, 0x661e, 0x6621, 0x6622,
+  0x6623, 0x6624, 0x6626, 0x6629, 0x662a, 0x662b, 0x662c, 0x662e,
+  0x6630, 0x6631, 0x6633, 0x6639, 0x6637, 0x6640, 0x6645, 0x6646,
+  0x664a, 0x664c, 0x6651, 0x664e, 0x6657, 0x6658, 0x6659, 0x665b,
+  0x665c, 0x6660, 0x6661, 0x66fb, 0x666a, 0x666b, 0x666c, 0x667e,
+  0x6673, 0x6675, 0x667f, 0x6677, 0x6678, 0x6679, 0x667b, 0x6680,
+  0x667c, 0x668b, 0x668c, 0x668d, 0x6690, 0x6692, 0x6699, 0x669a,
+  0x669b, 0x669c, 0x669f, 0x66a0, 0x66a4, 0x66ad, 0x66b1, 0x66b2,
+  0x66b5, 0x66bb, 0x66bf, 0x66c0, 0x66c2, 0x66c3, 0x66c8, 0x66cc,
+  0x66ce, 0x66cf, 0x66d4, 0x66db, 0x66df, 0x66e8, 0x66eb, 0x66ec,
+  0x66ee, 0x66fa, 0x6705, 0x6707, 0x670e, 0x6713, 0x6719, 0x671c,
+  0x6720, 0x6722, 0x6733, 0x673e, 0x6745, 0x6747, 0x6748, 0x674c,
+  0x6754, 0x6755, 0x675d, 0x6766, 0x676c, 0x676e, 0x6774, 0x6776,
+  0x677b, 0x6781, 0x6784, 0x678e, 0x678f, 0x6791, 0x6793, 0x6796,
+  0x6798, 0x6799, 0x679b, 0x67b0, 0x67b1, 0x67b2, 0x67b5, 0x67bb,
+  0x67bc, 0x67bd, 0x67f9, 0x67c0, 0x67c2, 0x67c3, 0x67c5, 0x67c8,
+  0x67c9, 0x67d2, 0x67d7, 0x67d9, 0x67dc, 0x67e1, 0x67e6, 0x67f0,
+  0x67f2, 0x67f6, 0x67f7, 0x6852, 0x6814, 0x6819, 0x681d, 0x681f,
+  0x6828, 0x6827, 0x682c, 0x682d, 0x682f, 0x6830, 0x6831, 0x6833,
+  0x683b, 0x683f, 0x6844, 0x6845, 0x684a, 0x684c, 0x6855, 0x6857,
+  0x6858, 0x685b, 0x686b, 0x686e, 0x686f, 0x6870, 0x6871, 0x6872,
+  0x6875, 0x6879, 0x687a, 0x687b, 0x687c, 0x6882, 0x6884, 0x6886,
+  0x6888, 0x6896, 0x6898, 0x689a, 0x689c, 0x68a1, 0x68a3, 0x68a5,
+  0x68a9, 0x68aa, 0x68ae, 0x68b2, 0x68bb, 0x68c5, 0x68c8, 0x68cc,
+  0x68cf, 0x68d0, 0x68d1, 0x68d3, 0x68d6, 0x68d9, 0x68dc, 0x68dd,
+  0x68e5, 0x68e8, 0x68ea, 0x68eb, 0x68ec, 0x68ed, 0x68f0, 0x68f1,
+  0x68f5, 0x68f6, 0x68fb, 0x68fc, 0x68fd, 0x6906, 0x6909, 0x690a,
+  0x6910, 0x6911, 0x6913, 0x6916, 0x6917, 0x6931, 0x6933, 0x6935,
+  0x6938, 0x693b, 0x6942, 0x6945, 0x6949, 0x694e, 0x6957, 0x695b,
+  0x6963, 0x6964, 0x6965, 0x6966, 0x6968, 0x6969, 0x696c, 0x6970,
+  0x6971, 0x6972, 0x697a, 0x697b, 0x697f, 0x6980, 0x698d, 0x6992,
+  0x6996, 0x6998, 0x69a1, 0x69a5, 0x69a6, 0x69a8, 0x69ab, 0x69ad,
+  0x69af, 0x69b7, 0x69b8, 0x69ba, 0x69bc, 0x69c5, 0x69c8, 0x69d1,
+  0x69d6, 0x69d7, 0x69e2, 0x69e5, 0x69ee, 0x69ef, 0x69f1, 0x69f3,
+  0x69f5, 0x69fe, 0x6a00, 0x6a01, 0x6a03, 0x6a0f, 0x6a11, 0x6a15,
+  0x6a1a, 0x6a1d, 0x6a20, 0x6a24, 0x6a28, 0x6a30, 0x6a32, 0x6a34,
+  0x6a37, 0x6a3b, 0x6a3e, 0x6a3f, 0x6a45, 0x6a46, 0x6a49, 0x6a4a,
+  0x6a4e, 0x6a50, 0x6a51, 0x6a52, 0x6a55, 0x6a56, 0x6a5b, 0x6a64,
+  0x6a67, 0x6a6a, 0x6a71, 0x6a73, 0x6a7e, 0x6a81, 0x6a83, 0x6a86,
+  0x6a87, 0x6a89, 0x6a8b, 0x6a91, 0x6a9b, 0x6a9d, 0x6a9e, 0x6a9f,
+  0x6aa5, 0x6aab, 0x6aaf, 0x6ab0, 0x6ab1, 0x6ab4, 0x6abd, 0x6abe,
+  0x6abf, 0x6ac6, 0x6ac9, 0x6ac8, 0x6acc, 0x6ad0, 0x6ad4, 0x6ad5,
+  0x6ad6, 0x6adc, 0x6add, 0x6ae4, 0x6ae7, 0x6aec, 0x6af0, 0x6af1,
+  0x6af2, 0x6afc, 0x6afd, 0x6b02, 0x6b03, 0x6b06, 0x6b07, 0x6b09,
+  0x6b0f, 0x6b10, 0x6b11, 0x6b17, 0x6b1b, 0x6b1e, 0x6b24, 0x6b28,
+  0x6b2b, 0x6b2c, 0x6b2f, 0x6b35, 0x6b36, 0x6b3b, 0x6b3f, 0x6b46,
+  0x6b4a, 0x6b4d, 0x6b52, 0x6b56, 0x6b58, 0x6b5d, 0x6b60, 0x6b67,
+  0x6b6b, 0x6b6e, 0x6b70, 0x6b75, 0x6b7d, 0x6b7e, 0x6b82, 0x6b85,
+  0x6b97, 0x6b9b, 0x6b9f, 0x6ba0, 0x6ba2, 0x6ba3, 0x6ba8, 0x6ba9,
+  0x6bac, 0x6bad, 0x6bae, 0x6bb0, 0x6bb8, 0x6bb9, 0x6bbd, 0x6bbe,
+  0x6bc3, 0x6bc4, 0x6bc9, 0x6bcc, 0x6bd6, 0x6bda, 0x6be1, 0x6be3,
+  0x6be6, 0x6be7, 0x6bee, 0x6bf1, 0x6bf7, 0x6bf9, 0x6bff, 0x6c02,
+  0x6c04, 0x6c05, 0x6c09, 0x6c0d, 0x6c0e, 0x6c10, 0x6c12, 0x6c19,
+  0x6c1f, 0x6c26, 0x6c27, 0x6c28, 0x6c2c, 0x6c2e, 0x6c33, 0x6c35,
+  0x6c36, 0x6c3a, 0x6c3b, 0x6c3f, 0x6c4a, 0x6c4b, 0x6c4d, 0x6c4f,
+  0x6c52, 0x6c54, 0x6c59, 0x6c5b, 0x6c5c, 0x6c6b, 0x6c6d, 0x6c6f,
+  0x6c74, 0x6c76, 0x6c78, 0x6c79, 0x6c7b, 0x6c85, 0x6c86, 0x6c87,
+  0x6c89, 0x6c94, 0x6c95, 0x6c97, 0x6c98, 0x6c9c, 0x6c9f, 0x6cb0,
+  0x6cb2, 0x6cb4, 0x6cc2, 0x6cc6, 0x6ccd, 0x6ccf, 0x6cd0, 0x6cd1,
+  0x6cd2, 0x6cd4, 0x6cd6, 0x6cda, 0x6cdc, 0x6ce0, 0x6ce7, 0x6ce9,
+  0x6ceb, 0x6cec, 0x6cee, 0x6cf2, 0x6cf4, 0x6d04, 0x6d07, 0x6d0a,
+  0x6d0e, 0x6d0f, 0x6d11, 0x6d13, 0x6d1a, 0x6d26, 0x6d27, 0x6d28,
+  0x6c67, 0x6d2e, 0x6d2f, 0x6d31, 0x6d39, 0x6d3c, 0x6d3f, 0x6d57,
+  0x6d5e, 0x6d5f, 0x6d61, 0x6d65, 0x6d67, 0x6d6f, 0x6d70, 0x6d7c,
+  0x6d82, 0x6d87, 0x6d91, 0x6d92, 0x6d94, 0x6d96, 0x6d97, 0x6d98,
+  0x6daa, 0x6dac, 0x6db4, 0x6db7, 0x6db9, 0x6dbd, 0x6dbf, 0x6dc4,
+  0x6dc8, 0x6dca, 0x6dce, 0x6dcf, 0x6dd6, 0x6ddb, 0x6ddd, 0x6ddf,
+  0x6de0, 0x6de2, 0x6de5, 0x6de9, 0x6def, 0x6df0, 0x6df4, 0x6df6,
+  0x6dfc, 0x6e00, 0x6e04, 0x6e1e, 0x6e22, 0x6e27, 0x6e32, 0x6e36,
+  0x6e39, 0x6e3b, 0x6e3c, 0x6e44, 0x6e45, 0x6e48, 0x6e49, 0x6e4b,
+  0x6e4f, 0x6e51, 0x6e52, 0x6e53, 0x6e54, 0x6e57, 0x6e5c, 0x6e5d,
+  0x6e5e, 0x6e62, 0x6e63, 0x6e68, 0x6e73, 0x6e7b, 0x6e7d, 0x6e8d,
+  0x6e93, 0x6e99, 0x6ea0, 0x6ea7, 0x6ead, 0x6eae, 0x6eb1, 0x6eb3,
+  0x6ebb, 0x6ebf, 0x6ec0, 0x6ec1, 0x6ec3, 0x6ec7, 0x6ec8, 0x6eca,
+  0x6ecd, 0x6ece, 0x6ecf, 0x6eeb, 0x6eed, 0x6eee, 0x6ef9, 0x6efb,
+  0x6efd, 0x6f04, 0x6f08, 0x6f0a, 0x6f0c, 0x6f0d, 0x6f16, 0x6f18,
+  0x6f1a, 0x6f1b, 0x6f26, 0x6f29, 0x6f2a, 0x6f2f, 0x6f30, 0x6f33,
+  0x6f36, 0x6f3b, 0x6f3c, 0x6f2d, 0x6f4f, 0x6f51, 0x6f52, 0x6f53,
+  0x6f57, 0x6f59, 0x6f5a, 0x6f5d, 0x6f5e, 0x6f61, 0x6f62, 0x6f68,
+  0x6f6c, 0x6f7d, 0x6f7e, 0x6f83, 0x6f87, 0x6f88, 0x6f8b, 0x6f8c,
+  0x6f8d, 0x6f90, 0x6f92, 0x6f93, 0x6f94, 0x6f96, 0x6f9a, 0x6f9f,
+  0x6fa0, 0x6fa5, 0x6fa6, 0x6fa7, 0x6fa8, 0x6fae, 0x6faf, 0x6fb0,
+  0x6fb5, 0x6fb6, 0x6fbc, 0x6fc5, 0x6fc7, 0x6fc8, 0x6fca, 0x6fda,
+  0x6fde, 0x6fe8, 0x6fe9, 0x6ff0, 0x6ff5, 0x6ff9, 0x6ffc, 0x6ffd,
+  0x7000, 0x7005, 0x7006, 0x7007, 0x700d, 0x7017, 0x7020, 0x7023,
+  0x702f, 0x7034, 0x7037, 0x7039, 0x703c, 0x7043, 0x7044, 0x7048,
+  0x7049, 0x704a, 0x704b, 0x7054, 0x7055, 0x705d, 0x705e, 0x704e,
+  0x7064, 0x7065, 0x706c, 0x706e, 0x7075, 0x7076, 0x707e, 0x7081,
+  0x7085, 0x7086, 0x7094, 0x7095, 0x7096, 0x7097, 0x7098, 0x709b,
+  0x70a4, 0x70ab, 0x70b0, 0x70b1, 0x70b4, 0x70b7, 0x70ca, 0x70d1,
+  0x70d3, 0x70d4, 0x70d5, 0x70d6, 0x70d8, 0x70dc, 0x70e4, 0x70fa,
+  0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x710b, 0x710c, 0x710f,
+  0x711e, 0x7120, 0x712b, 0x712d, 0x712f, 0x7130, 0x7131, 0x7138,
+  0x7141, 0x7145, 0x7146, 0x7147, 0x714a, 0x714b, 0x7150, 0x7152,
+  0x7157, 0x715a, 0x715c, 0x715e, 0x7160, 0x7168, 0x7179, 0x7180,
+  0x7185, 0x7187, 0x718c, 0x7192, 0x719a, 0x719b, 0x71a0, 0x71a2,
+  0x71af, 0x71b0, 0x71b2, 0x71b3, 0x71ba, 0x71bf, 0x71c0, 0x71c1,
+  0x71c4, 0x71cb, 0x71cc, 0x71d3, 0x71d6, 0x71d9, 0x71da, 0x71dc,
+  0x71f8, 0x71fe, 0x7200, 0x7207, 0x7208, 0x7209, 0x7213, 0x7217,
+  0x721a, 0x721d, 0x721f, 0x7224, 0x722b, 0x722f, 0x7234, 0x7238,
+  0x7239, 0x7241, 0x7242, 0x7243, 0x7245, 0x724e, 0x724f, 0x7250,
+  0x7253, 0x7255, 0x7256, 0x725a, 0x725c, 0x725e, 0x7260, 0x7263,
+  0x7268, 0x726b, 0x726e, 0x726f, 0x7271, 0x7277, 0x7278, 0x727b,
+  0x727c, 0x727f, 0x7284, 0x7289, 0x728d, 0x728e, 0x7293, 0x729b,
+  0x72a8, 0x72ad, 0x72ae, 0x72b1, 0x72b4, 0x72be, 0x72c1, 0x72c7,
+  0x72c9, 0x72cc, 0x72d5, 0x72d6, 0x72d8, 0x72df, 0x72e5, 0x72f3,
+  0x72f4, 0x72fa, 0x72fb, 0x72fe, 0x7302, 0x7304, 0x7305, 0x7307,
+  0x730b, 0x730d, 0x7312, 0x7313, 0x7318, 0x7319, 0x731e, 0x7322,
+  0x7324, 0x7327, 0x7328, 0x732c, 0x7331, 0x7332, 0x7335, 0x733a,
+  0x733b, 0x733d, 0x7343, 0x734d, 0x7350, 0x7352, 0x7356, 0x7358,
+  0x735d, 0x735e, 0x735f, 0x7360, 0x7366, 0x7367, 0x7369, 0x736b,
+  0x736c, 0x736e, 0x736f, 0x7371, 0x7377, 0x7379, 0x737c, 0x7380,
+  0x7381, 0x7383, 0x7385, 0x7386, 0x738e, 0x7390, 0x7393, 0x7395,
+  0x7397, 0x7398, 0x739c, 0x739e, 0x739f, 0x73a0, 0x73a2, 0x73a5,
+  0x73a6, 0x73aa, 0x73ab, 0x73ad, 0x73b5, 0x73b7, 0x73b9, 0x73bc,
+  0x73bd, 0x73bf, 0x73c5, 0x73c6, 0x73c9, 0x73cb, 0x73cc, 0x73cf,
+  0x73d2, 0x73d3, 0x73d6, 0x73d9, 0x73dd, 0x73e1, 0x73e3, 0x73e6,
+  0x73e7, 0x73e9, 0x73f4, 0x73f5, 0x73f7, 0x73f9, 0x73fa, 0x73fb,
+  0x73fd, 0x73ff, 0x7400, 0x7401, 0x7404, 0x7407, 0x740a, 0x7411,
+  0x741a, 0x741b, 0x7424, 0x7426, 0x7428, 0x7429, 0x742a, 0x742b,
+  0x742c, 0x742d, 0x742e, 0x742f, 0x7430, 0x7431, 0x7439, 0x7440,
+  0x7443, 0x7444, 0x7446, 0x7447, 0x744b, 0x744d, 0x7451, 0x7452,
+  0x7457, 0x745d, 0x7462, 0x7466, 0x7467, 0x7468, 0x746b, 0x746d,
+  0x746e, 0x7471, 0x7472, 0x7480, 0x7481, 0x7485, 0x7486, 0x7487,
+  0x7489, 0x748f, 0x7490, 0x7491, 0x7492, 0x7498, 0x7499, 0x749a,
+  0x749c, 0x749f, 0x74a0, 0x74a1, 0x74a3, 0x74a6, 0x74a8, 0x74a9,
+  0x74aa, 0x74ab, 0x74ae, 0x74af, 0x74b1, 0x74b2, 0x74b5, 0x74b9,
+  0x74bb, 0x74bf, 0x74c8, 0x74c9, 0x74cc, 0x74d0, 0x74d3, 0x74d8,
+  0x74da, 0x74db, 0x74de, 0x74df, 0x74e4, 0x74e8, 0x74ea, 0x74eb,
+  0x74ef, 0x74f4, 0x74fa, 0x74fb, 0x74fc, 0x74ff, 0x7506, 0x7512,
+  0x7516, 0x7517, 0x7520, 0x7521, 0x7524, 0x7527, 0x7529, 0x752a,
+  0x752f, 0x7536, 0x7539, 0x753d, 0x753e, 0x753f, 0x7540, 0x7543,
+  0x7547, 0x7548, 0x754e, 0x7550, 0x7552, 0x7557, 0x755e, 0x755f,
+  0x7561, 0x756f, 0x7571, 0x7579, 0x757a, 0x757b, 0x757c, 0x757d,
+  0x757e, 0x7581, 0x7585, 0x7590, 0x7592, 0x7593, 0x7595, 0x7599,
+  0x759c, 0x75a2, 0x75a4, 0x75b4, 0x75ba, 0x75bf, 0x75c0, 0x75c1,
+  0x75c4, 0x75c6, 0x75cc, 0x75ce, 0x75cf, 0x75d7, 0x75dc, 0x75df,
+  0x75e0, 0x75e1, 0x75e4, 0x75e7, 0x75ec, 0x75ee, 0x75ef, 0x75f1,
+  0x75f9, 0x7600, 0x7602, 0x7603, 0x7604, 0x7607, 0x7608, 0x760a,
+  0x760c, 0x760f, 0x7612, 0x7613, 0x7615, 0x7616, 0x7619, 0x761b,
+  0x761c, 0x761d, 0x761e, 0x7623, 0x7625, 0x7626, 0x7629, 0x762d,
+  0x7632, 0x7633, 0x7635, 0x7638, 0x7639, 0x763a, 0x763c, 0x764a,
+  0x7640, 0x7641, 0x7643, 0x7644, 0x7645, 0x7649, 0x764b, 0x7655,
+  0x7659, 0x765f, 0x7664, 0x7665, 0x766d, 0x766e, 0x766f, 0x7671,
+  0x7674, 0x7681, 0x7685, 0x768c, 0x768d, 0x7695, 0x769b, 0x769c,
+  0x769d, 0x769f, 0x76a0, 0x76a2, 0x76a3, 0x76a4, 0x76a5, 0x76a6,
+  0x76a7, 0x76a8, 0x76aa, 0x76ad, 0x76bd, 0x76c1, 0x76c5, 0x76c9,
+  0x76cb, 0x76cc, 0x76ce, 0x76d4, 0x76d9, 0x76e0, 0x76e6, 0x76e8,
+  0x76ec, 0x76f0, 0x76f1, 0x76f6, 0x76f9, 0x76fc, 0x7700, 0x7706,
+  0x770a, 0x770e, 0x7712, 0x7714, 0x7715, 0x7717, 0x7719, 0x771a,
+  0x771c, 0x7722, 0x7728, 0x772d, 0x772e, 0x772f, 0x7734, 0x7735,
+  0x7736, 0x7739, 0x773d, 0x773e, 0x7742, 0x7745, 0x7746, 0x774a,
+  0x774d, 0x774e, 0x774f, 0x7752, 0x7756, 0x7757, 0x775c, 0x775e,
+  0x775f, 0x7760, 0x7762, 0x7764, 0x7767, 0x776a, 0x776c, 0x7770,
+  0x7772, 0x7773, 0x7774, 0x777a, 0x777d, 0x7780, 0x7784, 0x778c,
+  0x778d, 0x7794, 0x7795, 0x7796, 0x779a, 0x779f, 0x77a2, 0x77a7,
+  0x77aa, 0x77ae, 0x77af, 0x77b1, 0x77b5, 0x77be, 0x77c3, 0x77c9,
+  0x77d1, 0x77d2, 0x77d5, 0x77d9, 0x77de, 0x77df, 0x77e0, 0x77e4,
+  0x77e6, 0x77ea, 0x77ec, 0x77f0, 0x77f1, 0x77f4, 0x77f8, 0x77fb,
+  0x7805, 0x7806, 0x7809, 0x780d, 0x780e, 0x7811, 0x781d, 0x7821,
+  0x7822, 0x7823, 0x782d, 0x782e, 0x7830, 0x7835, 0x7837, 0x7843,
+  0x7844, 0x7847, 0x7848, 0x784c, 0x784e, 0x7852, 0x785c, 0x785e,
+  0x7860, 0x7861, 0x7863, 0x7864, 0x7868, 0x786a, 0x786e, 0x787a,
+  0x787e, 0x788a, 0x788f, 0x7894, 0x7898, 0x78a1, 0x789d, 0x789e,
+  0x789f, 0x78a4, 0x78a8, 0x78ac, 0x78ad, 0x78b0, 0x78b1, 0x78b2,
+  0x78b3, 0x78bb, 0x78bd, 0x78bf, 0x78c7, 0x78c8, 0x78c9, 0x78cc,
+  0x78ce, 0x78d2, 0x78d3, 0x78d5, 0x78d6, 0x78e4, 0x78db, 0x78df,
+  0x78e0, 0x78e1, 0x78e6, 0x78ea, 0x78f2, 0x78f3, 0x7900, 0x78f6,
+  0x78f7, 0x78fa, 0x78fb, 0x78ff, 0x7906, 0x790c, 0x7910, 0x791a,
+  0x791c, 0x791e, 0x791f, 0x7920, 0x7925, 0x7927, 0x7929, 0x792d,
+  0x7931, 0x7934, 0x7935, 0x793b, 0x793d, 0x793f, 0x7944, 0x7945,
+  0x7946, 0x794a, 0x794b, 0x794f, 0x7951, 0x7954, 0x7958, 0x795b,
+  0x795c, 0x7967, 0x7969, 0x796b, 0x7972, 0x7979, 0x797b, 0x797c,
+  0x797e, 0x798b, 0x798c, 0x7991, 0x7993, 0x7994, 0x7995, 0x7996,
+  0x7998, 0x799b, 0x799c, 0x79a1, 0x79a8, 0x79a9, 0x79ab, 0x79af,
+  0x79b1, 0x79b4, 0x79b8, 0x79bb, 0x79c2, 0x79c4, 0x79c7, 0x79c8,
+  0x79ca, 0x79cf, 0x79d4, 0x79d6, 0x79da, 0x79dd, 0x79de, 0x79e0,
+  0x79e2, 0x79e5, 0x79ea, 0x79eb, 0x79ed, 0x79f1, 0x79f8, 0x79fc,
+  0x7a02, 0x7a03, 0x7a07, 0x7a09, 0x7a0a, 0x7a0c, 0x7a11, 0x7a15,
+  0x7a1b, 0x7a1e, 0x7a21, 0x7a27, 0x7a2b, 0x7a2d, 0x7a2f, 0x7a30,
+  0x7a34, 0x7a35, 0x7a38, 0x7a39, 0x7a3a, 0x7a44, 0x7a45, 0x7a47,
+  0x7a48, 0x7a4c, 0x7a55, 0x7a56, 0x7a59, 0x7a5c, 0x7a5d, 0x7a5f,
+  0x7a60, 0x7a65, 0x7a67, 0x7a6a, 0x7a6d, 0x7a75, 0x7a78, 0x7a7e,
+  0x7a80, 0x7a82, 0x7a85, 0x7a86, 0x7a8a, 0x7a8b, 0x7a90, 0x7a91,
+  0x7a94, 0x7a9e, 0x7aa0, 0x7aa3, 0x7aac, 0x7ab3, 0x7ab5, 0x7ab9,
+  0x7abb, 0x7abc, 0x7ac6, 0x7ac9, 0x7acc, 0x7ace, 0x7ad1, 0x7adb,
+  0x7ae8, 0x7ae9, 0x7aeb, 0x7aec, 0x7af1, 0x7af4, 0x7afb, 0x7afd,
+  0x7afe, 0x7b07, 0x7b14, 0x7b1f, 0x7b23, 0x7b27, 0x7b29, 0x7b2a,
+  0x7b2b, 0x7b2d, 0x7b2e, 0x7b2f, 0x7b30, 0x7b31, 0x7b34, 0x7b3d,
+  0x7b3f, 0x7b40, 0x7b41, 0x7b47, 0x7b4e, 0x7b55, 0x7b60, 0x7b64,
+  0x7b66, 0x7b69, 0x7b6a, 0x7b6d, 0x7b6f, 0x7b72, 0x7b73, 0x7b77,
+  0x7b84, 0x7b89, 0x7b8e, 0x7b90, 0x7b91, 0x7b96, 0x7b9b, 0x7b9e,
+  0x7ba0, 0x7ba5, 0x7bac, 0x7baf, 0x7bb0, 0x7bb2, 0x7bb5, 0x7bb6,
+  0x7bba, 0x7bbb, 0x7bbc, 0x7bbd, 0x7bc2, 0x7bc5, 0x7bc8, 0x7bca,
+  0x7bd4, 0x7bd6, 0x7bd7, 0x7bd9, 0x7bda, 0x7bdb, 0x7be8, 0x7bea,
+  0x7bf2, 0x7bf4, 0x7bf5, 0x7bf8, 0x7bf9, 0x7bfa, 0x7bfc, 0x7bfe,
+  0x7c01, 0x7c02, 0x7c03, 0x7c04, 0x7c06, 0x7c09, 0x7c0b, 0x7c0c,
+  0x7c0e, 0x7c0f, 0x7c19, 0x7c1b, 0x7c20, 0x7c25, 0x7c26, 0x7c28,
+  0x7c2c, 0x7c31, 0x7c33, 0x7c34, 0x7c36, 0x7c39, 0x7c3a, 0x7c46,
+  0x7c4a, 0x7c55, 0x7c51, 0x7c52, 0x7c53, 0x7c59, 0x7c5a, 0x7c5b,
+  0x7c5c, 0x7c5d, 0x7c5e, 0x7c61, 0x7c63, 0x7c67, 0x7c69, 0x7c6d,
+  0x7c6e, 0x7c70, 0x7c72, 0x7c79, 0x7c7c, 0x7c7d, 0x7c86, 0x7c87,
+  0x7c8f, 0x7c94, 0x7c9e, 0x7ca0, 0x7ca6, 0x7cb0, 0x7cb6, 0x7cb7,
+  0x7cba, 0x7cbb, 0x7cbc, 0x7cbf, 0x7cc4, 0x7cc7, 0x7cc8, 0x7cc9,
+  0x7ccd, 0x7ccf, 0x7cd3, 0x7cd4, 0x7cd5, 0x7cd7, 0x7cd9, 0x7cda,
+  0x7cdd, 0x7ce6, 0x7ce9, 0x7ceb, 0x7cf5, 0x7d03, 0x7d07, 0x7d08,
+  0x7d09, 0x7d0f, 0x7d11, 0x7d12, 0x7d13, 0x7d16, 0x7d1d, 0x7d1e,
+  0x7d23, 0x7d26, 0x7d2a, 0x7d2d, 0x7d31, 0x7d3c, 0x7d3d, 0x7d3e,
+  0x7d40, 0x7d41, 0x7d47, 0x7d48, 0x7d4d, 0x7d51, 0x7d53, 0x7d57,
+  0x7d59, 0x7d5a, 0x7d5c, 0x7d5d, 0x7d65, 0x7d67, 0x7d6a, 0x7d70,
+  0x7d78, 0x7d7a, 0x7d7b, 0x7d7f, 0x7d81, 0x7d82, 0x7d83, 0x7d85,
+  0x7d86, 0x7d88, 0x7d8b, 0x7d8c, 0x7d8d, 0x7d91, 0x7d96, 0x7d97,
+  0x7d9d, 0x7d9e, 0x7da6, 0x7da7, 0x7daa, 0x7db3, 0x7db6, 0x7db7,
+  0x7db9, 0x7dc2, 0x7dc3, 0x7dc4, 0x7dc5, 0x7dc6, 0x7dcc, 0x7dcd,
+  0x7dce, 0x7dd7, 0x7dd9, 0x7e00, 0x7de2, 0x7de5, 0x7de6, 0x7dea,
+  0x7deb, 0x7ded, 0x7df1, 0x7df5, 0x7df6, 0x7df9, 0x7dfa, 0x7e08,
+  0x7e10, 0x7e11, 0x7e15, 0x7e17, 0x7e1c, 0x7e1d, 0x7e20, 0x7e27,
+  0x7e28, 0x7e2c, 0x7e2d, 0x7e2f, 0x7e33, 0x7e36, 0x7e3f, 0x7e44,
+  0x7e45, 0x7e47, 0x7e4e, 0x7e50, 0x7e52, 0x7e58, 0x7e5f, 0x7e61,
+  0x7e62, 0x7e65, 0x7e6b, 0x7e6e, 0x7e6f, 0x7e73, 0x7e78, 0x7e7e,
+  0x7e81, 0x7e86, 0x7e87, 0x7e8a, 0x7e8d, 0x7e91, 0x7e95, 0x7e98,
+  0x7e9a, 0x7e9d, 0x7e9e, 0x7f3c, 0x7f3b, 0x7f3d, 0x7f3e, 0x7f3f,
+  0x7f43, 0x7f44, 0x7f47, 0x7f4f, 0x7f52, 0x7f53, 0x7f5b, 0x7f5c,
+  0x7f5d, 0x7f61, 0x7f63, 0x7f64, 0x7f65, 0x7f66, 0x7f6d, 0x7f71,
+  0x7f7d, 0x7f7e, 0x7f7f, 0x7f80, 0x7f8b, 0x7f8d, 0x7f8f, 0x7f90,
+  0x7f91, 0x7f96, 0x7f97, 0x7f9c, 0x7fa1, 0x7fa2, 0x7fa6, 0x7faa,
+  0x7fad, 0x7fb4, 0x7fbc, 0x7fbf, 0x7fc0, 0x7fc3, 0x7fc8, 0x7fce,
+  0x7fcf, 0x7fdb, 0x7fdf, 0x7fe3, 0x7fe5, 0x7fe8, 0x7fec, 0x7fee,
+  0x7fef, 0x7ff2, 0x7ffa, 0x7ffd, 0x7ffe, 0x7fff, 0x8007, 0x8008,
+  0x800a, 0x800d, 0x800e, 0x800f, 0x8011, 0x8013, 0x8014, 0x8016,
+  0x801d, 0x801e, 0x801f, 0x8020, 0x8024, 0x8026, 0x802c, 0x802e,
+  0x8030, 0x8034, 0x8035, 0x8037, 0x8039, 0x803a, 0x803c, 0x803e,
+  0x8040, 0x8044, 0x8060, 0x8064, 0x8066, 0x806d, 0x8071, 0x8075,
+  0x8081, 0x8088, 0x808e, 0x809c, 0x809e, 0x80a6, 0x80a7, 0x80ab,
+  0x80b8, 0x80b9, 0x80c8, 0x80cd, 0x80cf, 0x80d2, 0x80d4, 0x80d5,
+  0x80d7, 0x80d8, 0x80e0, 0x80ed, 0x80ee, 0x80f0, 0x80f2, 0x80f3,
+  0x80f6, 0x80f9, 0x80fa, 0x80fe, 0x8103, 0x810b, 0x8116, 0x8117,
+  0x8118, 0x811c, 0x811e, 0x8120, 0x8124, 0x8127, 0x812c, 0x8130,
+  0x8135, 0x813a, 0x813c, 0x8145, 0x8147, 0x814a, 0x814c, 0x8152,
+  0x8157, 0x8160, 0x8161, 0x8167, 0x8168, 0x8169, 0x816d, 0x816f,
+  0x8177, 0x8181, 0x8190, 0x8184, 0x8185, 0x8186, 0x818b, 0x818e,
+  0x8196, 0x8198, 0x819b, 0x819e, 0x81a2, 0x81ae, 0x81b2, 0x81b4,
+  0x81bb, 0x81cb, 0x81c3, 0x81c5, 0x81ca, 0x81ce, 0x81cf, 0x81d5,
+  0x81d7, 0x81db, 0x81dd, 0x81de, 0x81e1, 0x81e4, 0x81eb, 0x81ec,
+  0x81f0, 0x81f1, 0x81f2, 0x81f5, 0x81f6, 0x81f8, 0x81f9, 0x81fd,
+  0x81ff, 0x8200, 0x8203, 0x820f, 0x8213, 0x8214, 0x8219, 0x821a,
+  0x821d, 0x8221, 0x8222, 0x8228, 0x8232, 0x8234, 0x823a, 0x8243,
+  0x8244, 0x8245, 0x8246, 0x824b, 0x824e, 0x824f, 0x8251, 0x8256,
+  0x825c, 0x8260, 0x8263, 0x8267, 0x826d, 0x8274, 0x827b, 0x827d,
+  0x827f, 0x8280, 0x8281, 0x8283, 0x8284, 0x8287, 0x8289, 0x828a,
+  0x828e, 0x8291, 0x8294, 0x8296, 0x8298, 0x829a, 0x829b, 0x82a0,
+  0x82a1, 0x82a3, 0x82a4, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ae,
+  0x82b0, 0x82b2, 0x82b4, 0x82b7, 0x82ba, 0x82bc, 0x82be, 0x82bf,
+  0x82c6, 0x82d0, 0x82d5, 0x82da, 0x82e0, 0x82e2, 0x82e4, 0x82e8,
+  0x82ea, 0x82ed, 0x82ef, 0x82f6, 0x82f7, 0x82fd, 0x82fe, 0x8300,
+  0x8301, 0x8307, 0x8308, 0x830a, 0x830b, 0x8354, 0x831b, 0x831d,
+  0x831e, 0x831f, 0x8321, 0x8322, 0x832c, 0x832d, 0x832e, 0x8330,
+  0x8333, 0x8337, 0x833a, 0x833c, 0x833d, 0x8342, 0x8343, 0x8344,
+  0x8347, 0x834d, 0x834e, 0x8351, 0x8355, 0x8356, 0x8357, 0x8370,
+  0x8378, 0x837d, 0x837f, 0x8380, 0x8382, 0x8384, 0x8386, 0x838d,
+  0x8392, 0x8394, 0x8395, 0x8398, 0x8399, 0x839b, 0x839c, 0x839d,
+  0x83a6, 0x83a7, 0x83a9, 0x83ac, 0x83be, 0x83bf, 0x83c0, 0x83c7,
+  0x83c9, 0x83cf, 0x83d0, 0x83d1, 0x83d4, 0x83dd, 0x8353, 0x83e8,
+  0x83ea, 0x83f6, 0x83f8, 0x83f9, 0x83fc, 0x8401, 0x8406, 0x840a,
+  0x840f, 0x8411, 0x8415, 0x8419, 0x83ad, 0x842f, 0x8439, 0x8445,
+  0x8447, 0x8448, 0x844a, 0x844d, 0x844f, 0x8451, 0x8452, 0x8456,
+  0x8458, 0x8459, 0x845a, 0x845c, 0x8460, 0x8464, 0x8465, 0x8467,
+  0x846a, 0x8470, 0x8473, 0x8474, 0x8476, 0x8478, 0x847c, 0x847d,
+  0x8481, 0x8485, 0x8492, 0x8493, 0x8495, 0x849e, 0x84a6, 0x84a8,
+  0x84a9, 0x84aa, 0x84af, 0x84b1, 0x84b4, 0x84ba, 0x84bd, 0x84be,
+  0x84c0, 0x84c2, 0x84c7, 0x84c8, 0x84cc, 0x84cf, 0x84d3, 0x84dc,
+  0x84e7, 0x84ea, 0x84ef, 0x84f0, 0x84f1, 0x84f2, 0x84f7, 0x8532,
+  0x84fa, 0x84fb, 0x84fd, 0x8502, 0x8503, 0x8507, 0x850c, 0x850e,
+  0x8510, 0x851c, 0x851e, 0x8522, 0x8523, 0x8524, 0x8525, 0x8527,
+  0x852a, 0x852b, 0x852f, 0x8533, 0x8534, 0x8536, 0x853f, 0x8546,
+  0x854f, 0x8550, 0x8551, 0x8552, 0x8553, 0x8556, 0x8559, 0x855c,
+  0x855d, 0x855e, 0x855f, 0x8560, 0x8561, 0x8562, 0x8564, 0x856b,
+  0x856f, 0x8579, 0x857a, 0x857b, 0x857d, 0x857f, 0x8581, 0x8585,
+  0x8586, 0x8589, 0x858b, 0x858c, 0x858f, 0x8593, 0x8598, 0x859d,
+  0x859f, 0x85a0, 0x85a2, 0x85a5, 0x85a7, 0x85b4, 0x85b6, 0x85b7,
+  0x85b8, 0x85bc, 0x85bd, 0x85be, 0x85bf, 0x85c2, 0x85c7, 0x85ca,
+  0x85cb, 0x85ce, 0x85ad, 0x85d8, 0x85da, 0x85df, 0x85e0, 0x85e6,
+  0x85e8, 0x85ed, 0x85f3, 0x85f6, 0x85fc, 0x85ff, 0x8600, 0x8604,
+  0x8605, 0x860d, 0x860e, 0x8610, 0x8611, 0x8612, 0x8618, 0x8619,
+  0x861b, 0x861e, 0x8621, 0x8627, 0x8629, 0x8636, 0x8638, 0x863a,
+  0x863c, 0x863d, 0x8640, 0x8642, 0x8646, 0x8652, 0x8653, 0x8656,
+  0x8657, 0x8658, 0x8659, 0x865d, 0x8660, 0x8661, 0x8662, 0x8663,
+  0x8664, 0x8669, 0x866c, 0x866f, 0x8675, 0x8676, 0x8677, 0x867a,
+  0x868d, 0x8691, 0x8696, 0x8698, 0x869a, 0x869c, 0x86a1, 0x86a6,
+  0x86a7, 0x86a8, 0x86ad, 0x86b1, 0x86b3, 0x86b4, 0x86b5, 0x86b7,
+  0x86b8, 0x86b9, 0x86bf, 0x86c0, 0x86c1, 0x86c3, 0x86c5, 0x86d1,
+  0x86d2, 0x86d5, 0x86d7, 0x86da, 0x86dc, 0x86e0, 0x86e3, 0x86e5,
+  0x86e7, 0x8688, 0x86fa, 0x86fc, 0x86fd, 0x8704, 0x8705, 0x8707,
+  0x870b, 0x870e, 0x870f, 0x8710, 0x8713, 0x8714, 0x8719, 0x871e,
+  0x871f, 0x8721, 0x8723, 0x8728, 0x872e, 0x872f, 0x8731, 0x8732,
+  0x8739, 0x873a, 0x873c, 0x873d, 0x873e, 0x8740, 0x8743, 0x8745,
+  0x874d, 0x8758, 0x875d, 0x8761, 0x8764, 0x8765, 0x876f, 0x8771,
+  0x8772, 0x877b, 0x8783, 0x8784, 0x8785, 0x8786, 0x8787, 0x8788,
+  0x8789, 0x878b, 0x878c, 0x8790, 0x8793, 0x8795, 0x8797, 0x8798,
+  0x8799, 0x879e, 0x87a0, 0x87a3, 0x87a7, 0x87ac, 0x87ad, 0x87ae,
+  0x87b1, 0x87b5, 0x87be, 0x87bf, 0x87c1, 0x87c8, 0x87c9, 0x87ca,
+  0x87ce, 0x87d5, 0x87d6, 0x87d9, 0x87da, 0x87dc, 0x87df, 0x87e2,
+  0x87e3, 0x87e4, 0x87ea, 0x87eb, 0x87ed, 0x87f1, 0x87f3, 0x87f8,
+  0x87fa, 0x87ff, 0x8801, 0x8803, 0x8806, 0x8809, 0x880a, 0x880b,
+  0x8810, 0x8819, 0x8812, 0x8813, 0x8814, 0x8818, 0x881a, 0x881b,
+  0x881c, 0x881e, 0x881f, 0x8828, 0x882d, 0x882e, 0x8830, 0x8832,
+  0x8835, 0x883a, 0x883c, 0x8841, 0x8843, 0x8845, 0x8848, 0x8849,
+  0x884a, 0x884b, 0x884e, 0x8851, 0x8855, 0x8856, 0x8858, 0x885a,
+  0x885c, 0x885f, 0x8860, 0x8864, 0x8869, 0x8871, 0x8879, 0x887b,
+  0x8880, 0x8898, 0x889a, 0x889b, 0x889c, 0x889f, 0x88a0, 0x88a8,
+  0x88aa, 0x88ba, 0x88bd, 0x88be, 0x88c0, 0x88ca, 0x88cb, 0x88cc,
+  0x88cd, 0x88ce, 0x88d1, 0x88d2, 0x88d3, 0x88db, 0x88de, 0x88e7,
+  0x88ef, 0x88f0, 0x88f1, 0x88f5, 0x88f7, 0x8901, 0x8906, 0x890d,
+  0x890e, 0x890f, 0x8915, 0x8916, 0x8918, 0x8919, 0x891a, 0x891c,
+  0x8920, 0x8926, 0x8927, 0x8928, 0x8930, 0x8931, 0x8932, 0x8935,
+  0x8939, 0x893a, 0x893e, 0x8940, 0x8942, 0x8945, 0x8946, 0x8949,
+  0x894f, 0x8952, 0x8957, 0x895a, 0x895b, 0x895c, 0x8961, 0x8962,
+  0x8963, 0x896b, 0x896e, 0x8970, 0x8973, 0x8975, 0x897a, 0x897b,
+  0x897c, 0x897d, 0x8989, 0x898d, 0x8990, 0x8994, 0x8995, 0x899b,
+  0x899c, 0x899f, 0x89a0, 0x89a5, 0x89b0, 0x89b4, 0x89b5, 0x89b6,
+  0x89b7, 0x89bc, 0x89d4, 0x89d5, 0x89d6, 0x89d7, 0x89d8, 0x89e5,
+  0x89e9, 0x89eb, 0x89ed, 0x89f1, 0x89f3, 0x89f6, 0x89f9, 0x89fd,
+  0x89ff, 0x8a04, 0x8a05, 0x8a07, 0x8a0f, 0x8a11, 0x8a12, 0x8a14,
+  0x8a15, 0x8a1e, 0x8a20, 0x8a22, 0x8a24, 0x8a26, 0x8a2b, 0x8a2c,
+  0x8a2f, 0x8a35, 0x8a37, 0x8a3d, 0x8a3e, 0x8a40, 0x8a43, 0x8a45,
+  0x8a47, 0x8a49, 0x8a4d, 0x8a4e, 0x8a53, 0x8a56, 0x8a57, 0x8a58,
+  0x8a5c, 0x8a5d, 0x8a61, 0x8a65, 0x8a67, 0x8a75, 0x8a76, 0x8a77,
+  0x8a79, 0x8a7a, 0x8a7b, 0x8a7e, 0x8a7f, 0x8a80, 0x8a83, 0x8a86,
+  0x8a8b, 0x8a8f, 0x8a90, 0x8a92, 0x8a96, 0x8a97, 0x8a99, 0x8a9f,
+  0x8aa7, 0x8aa9, 0x8aae, 0x8aaf, 0x8ab3, 0x8ab6, 0x8ab7, 0x8abb,
+  0x8abe, 0x8ac3, 0x8ac6, 0x8ac8, 0x8ac9, 0x8aca, 0x8ad1, 0x8ad3,
+  0x8ad4, 0x8ad5, 0x8ad7, 0x8add, 0x8adf, 0x8aec, 0x8af0, 0x8af4,
+  0x8af5, 0x8af6, 0x8afc, 0x8aff, 0x8b05, 0x8b06, 0x8b0b, 0x8b11,
+  0x8b1c, 0x8b1e, 0x8b1f, 0x8b0a, 0x8b2d, 0x8b30, 0x8b37, 0x8b3c,
+  0x8b42, 0x8b43, 0x8b44, 0x8b45, 0x8b46, 0x8b48, 0x8b52, 0x8b53,
+  0x8b54, 0x8b59, 0x8b4d, 0x8b5e, 0x8b63, 0x8b6d, 0x8b76, 0x8b78,
+  0x8b79, 0x8b7c, 0x8b7e, 0x8b81, 0x8b84, 0x8b85, 0x8b8b, 0x8b8d,
+  0x8b8f, 0x8b94, 0x8b95, 0x8b9c, 0x8b9e, 0x8b9f, 0x8c38, 0x8c39,
+  0x8c3d, 0x8c3e, 0x8c45, 0x8c47, 0x8c49, 0x8c4b, 0x8c4f, 0x8c51,
+  0x8c53, 0x8c54, 0x8c57, 0x8c58, 0x8c5b, 0x8c5d, 0x8c59, 0x8c63,
+  0x8c64, 0x8c66, 0x8c68, 0x8c69, 0x8c6d, 0x8c73, 0x8c75, 0x8c76,
+  0x8c7b, 0x8c7e, 0x8c86, 0x8c87, 0x8c8b, 0x8c90, 0x8c92, 0x8c93,
+  0x8c99, 0x8c9b, 0x8c9c, 0x8ca4, 0x8cb9, 0x8cba, 0x8cc5, 0x8cc6,
+  0x8cc9, 0x8ccb, 0x8ccf, 0x8cd6, 0x8cd5, 0x8cd9, 0x8cdd, 0x8ce1,
+  0x8ce8, 0x8cec, 0x8cef, 0x8cf0, 0x8cf2, 0x8cf5, 0x8cf7, 0x8cf8,
+  0x8cfe, 0x8cff, 0x8d01, 0x8d03, 0x8d09, 0x8d12, 0x8d17, 0x8d1b,
+  0x8d65, 0x8d69, 0x8d6c, 0x8d6e, 0x8d7f, 0x8d82, 0x8d84, 0x8d88,
+  0x8d8d, 0x8d90, 0x8d91, 0x8d95, 0x8d9e, 0x8d9f, 0x8da0, 0x8da6,
+  0x8dab, 0x8dac, 0x8daf, 0x8db2, 0x8db5, 0x8db7, 0x8db9, 0x8dbb,
+  0x8dc0, 0x8dc5, 0x8dc6, 0x8dc7, 0x8dc8, 0x8dca, 0x8dce, 0x8dd1,
+  0x8dd4, 0x8dd5, 0x8dd7, 0x8dd9, 0x8de4, 0x8de5, 0x8de7, 0x8dec,
+  0x8df0, 0x8dbc, 0x8df1, 0x8df2, 0x8df4, 0x8dfd, 0x8e01, 0x8e04,
+  0x8e05, 0x8e06, 0x8e0b, 0x8e11, 0x8e14, 0x8e16, 0x8e20, 0x8e21,
+  0x8e22, 0x8e23, 0x8e26, 0x8e27, 0x8e31, 0x8e33, 0x8e36, 0x8e37,
+  0x8e38, 0x8e39, 0x8e3d, 0x8e40, 0x8e41, 0x8e4b, 0x8e4d, 0x8e4e,
+  0x8e4f, 0x8e54, 0x8e5b, 0x8e5c, 0x8e5d, 0x8e5e, 0x8e61, 0x8e62,
+  0x8e69, 0x8e6c, 0x8e6d, 0x8e6f, 0x8e70, 0x8e71, 0x8e79, 0x8e7a,
+  0x8e7b, 0x8e82, 0x8e83, 0x8e89, 0x8e90, 0x8e92, 0x8e95, 0x8e9a,
+  0x8e9b, 0x8e9d, 0x8e9e, 0x8ea2, 0x8ea7, 0x8ea9, 0x8ead, 0x8eae,
+  0x8eb3, 0x8eb5, 0x8eba, 0x8ebb, 0x8ec0, 0x8ec1, 0x8ec3, 0x8ec4,
+  0x8ec7, 0x8ecf, 0x8ed1, 0x8ed4, 0x8edc, 0x8ee8, 0x8eee, 0x8ef0,
+  0x8ef1, 0x8ef7, 0x8ef9, 0x8efa, 0x8eed, 0x8f00, 0x8f02, 0x8f07,
+  0x8f08, 0x8f0f, 0x8f10, 0x8f16, 0x8f17, 0x8f18, 0x8f1e, 0x8f20,
+  0x8f21, 0x8f23, 0x8f25, 0x8f27, 0x8f28, 0x8f2c, 0x8f2d, 0x8f2e,
+  0x8f34, 0x8f35, 0x8f36, 0x8f37, 0x8f3a, 0x8f40, 0x8f41, 0x8f43,
+  0x8f47, 0x8f4f, 0x8f51, 0x8f52, 0x8f53, 0x8f54, 0x8f55, 0x8f58,
+  0x8f5d, 0x8f5e, 0x8f65, 0x8f9d, 0x8fa0, 0x8fa1, 0x8fa4, 0x8fa5,
+  0x8fa6, 0x8fb5, 0x8fb6, 0x8fb8, 0x8fbe, 0x8fc0, 0x8fc1, 0x8fc6,
+  0x8fca, 0x8fcb, 0x8fcd, 0x8fd0, 0x8fd2, 0x8fd3, 0x8fd5, 0x8fe0,
+  0x8fe3, 0x8fe4, 0x8fe8, 0x8fee, 0x8ff1, 0x8ff5, 0x8ff6, 0x8ffb,
+  0x8ffe, 0x9002, 0x9004, 0x9008, 0x900c, 0x9018, 0x901b, 0x9028,
+  0x9029, 0x902f, 0x902a, 0x902c, 0x902d, 0x9033, 0x9034, 0x9037,
+  0x903f, 0x9043, 0x9044, 0x904c, 0x905b, 0x905d, 0x9062, 0x9066,
+  0x9067, 0x906c, 0x9070, 0x9074, 0x9079, 0x9085, 0x9088, 0x908b,
+  0x908c, 0x908e, 0x9090, 0x9095, 0x9097, 0x9098, 0x9099, 0x909b,
+  0x90a0, 0x90a1, 0x90a2, 0x90a5, 0x90b0, 0x90b2, 0x90b3, 0x90b4,
+  0x90b6, 0x90bd, 0x90cc, 0x90be, 0x90c3, 0x90c4, 0x90c5, 0x90c7,
+  0x90c8, 0x90d5, 0x90d7, 0x90d8, 0x90d9, 0x90dc, 0x90dd, 0x90df,
+  0x90e5, 0x90d2, 0x90f6, 0x90eb, 0x90ef, 0x90f0, 0x90f4, 0x90fe,
+  0x90ff, 0x9100, 0x9104, 0x9105, 0x9106, 0x9108, 0x910d, 0x9110,
+  0x9114, 0x9116, 0x9117, 0x9118, 0x911a, 0x911c, 0x911e, 0x9120,
+  0x9125, 0x9122, 0x9123, 0x9127, 0x9129, 0x912e, 0x912f, 0x9131,
+  0x9134, 0x9136, 0x9137, 0x9139, 0x913a, 0x913c, 0x913d, 0x9143,
+  0x9147, 0x9148, 0x914f, 0x9153, 0x9157, 0x9159, 0x915a, 0x915b,
+  0x9161, 0x9164, 0x9167, 0x916d, 0x9174, 0x9179, 0x917a, 0x917b,
+  0x9181, 0x9183, 0x9185, 0x9186, 0x918a, 0x918e, 0x9191, 0x9193,
+  0x9194, 0x9195, 0x9198, 0x919e, 0x91a1, 0x91a6, 0x91a8, 0x91ac,
+  0x91ad, 0x91ae, 0x91b0, 0x91b1, 0x91b2, 0x91b3, 0x91b6, 0x91bb,
+  0x91bc, 0x91bd, 0x91bf, 0x91c2, 0x91c3, 0x91c5, 0x91d3, 0x91d4,
+  0x91d7, 0x91d9, 0x91da, 0x91de, 0x91e4, 0x91e5, 0x91e9, 0x91ea,
+  0x91ec, 0x91ed, 0x91ee, 0x91ef, 0x91f0, 0x91f1, 0x91f7, 0x91f9,
+  0x91fb, 0x91fd, 0x9200, 0x9201, 0x9204, 0x9205, 0x9206, 0x9207,
+  0x9209, 0x920a, 0x920c, 0x9210, 0x9212, 0x9213, 0x9216, 0x9218,
+  0x921c, 0x921d, 0x9223, 0x9224, 0x9225, 0x9226, 0x9228, 0x922e,
+  0x922f, 0x9230, 0x9233, 0x9235, 0x9236, 0x9238, 0x9239, 0x923a,
+  0x923c, 0x923e, 0x9240, 0x9242, 0x9243, 0x9246, 0x9247, 0x924a,
+  0x924d, 0x924e, 0x924f, 0x9251, 0x9258, 0x9259, 0x925c, 0x925d,
+  0x9260, 0x9261, 0x9265, 0x9267, 0x9268, 0x9269, 0x926e, 0x926f,
+  0x9270, 0x9275, 0x9276, 0x9277, 0x9278, 0x9279, 0x927b, 0x927c,
+  0x927d, 0x927f, 0x9288, 0x9289, 0x928a, 0x928d, 0x928e, 0x9292,
+  0x9297, 0x9299, 0x929f, 0x92a0, 0x92a4, 0x92a5, 0x92a7, 0x92a8,
+  0x92ab, 0x92af, 0x92b2, 0x92b6, 0x92b8, 0x92ba, 0x92bb, 0x92bc,
+  0x92bd, 0x92bf, 0x92c0, 0x92c1, 0x92c2, 0x92c3, 0x92c5, 0x92c6,
+  0x92c7, 0x92c8, 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92d0, 0x92d3,
+  0x92d5, 0x92d7, 0x92d8, 0x92d9, 0x92dc, 0x92dd, 0x92df, 0x92e0,
+  0x92e1, 0x92e3, 0x92e5, 0x92e7, 0x92e8, 0x92ec, 0x92ee, 0x92f0,
+  0x92f9, 0x92fb, 0x92ff, 0x9300, 0x9302, 0x9308, 0x930d, 0x9311,
+  0x9314, 0x9315, 0x931c, 0x931d, 0x931e, 0x931f, 0x9321, 0x9324,
+  0x9325, 0x9327, 0x9329, 0x932a, 0x9333, 0x9334, 0x9336, 0x9337,
+  0x9347, 0x9348, 0x9349, 0x9350, 0x9351, 0x9352, 0x9355, 0x9357,
+  0x9358, 0x935a, 0x935e, 0x9364, 0x9365, 0x9367, 0x9369, 0x936a,
+  0x936d, 0x936f, 0x9370, 0x9371, 0x9373, 0x9374, 0x9376, 0x937a,
+  0x937d, 0x937f, 0x9380, 0x9381, 0x9382, 0x9388, 0x938a, 0x938b,
+  0x938d, 0x938f, 0x9392, 0x9395, 0x9398, 0x939b, 0x939e, 0x93a1,
+  0x93a3, 0x93a4, 0x93a6, 0x93a8, 0x93ab, 0x93b4, 0x93b5, 0x93b6,
+  0x93ba, 0x93a9, 0x93c1, 0x93c4, 0x93c5, 0x93c6, 0x93c7, 0x93c9,
+  0x93ca, 0x93cb, 0x93cc, 0x93cd, 0x93d3, 0x93d9, 0x93dc, 0x93de,
+  0x93df, 0x93e2, 0x93e6, 0x93e7, 0x93f9, 0x93f7, 0x93f8, 0x93fa,
+  0x93fb, 0x93fd, 0x9401, 0x9402, 0x9404, 0x9408, 0x9409, 0x940d,
+  0x940e, 0x940f, 0x9415, 0x9416, 0x9417, 0x941f, 0x942e, 0x942f,
+  0x9431, 0x9432, 0x9433, 0x9434, 0x943b, 0x943f, 0x943d, 0x9443,
+  0x9445, 0x9448, 0x944a, 0x944c, 0x9455, 0x9459, 0x945c, 0x945f,
+  0x9461, 0x9463, 0x9468, 0x946b, 0x946d, 0x946e, 0x946f, 0x9471,
+  0x9472, 0x9484, 0x9483, 0x9578, 0x9579, 0x957e, 0x9584, 0x9588,
+  0x958c, 0x958d, 0x958e, 0x959d, 0x959e, 0x959f, 0x95a1, 0x95a6,
+  0x95a9, 0x95ab, 0x95ac, 0x95b4, 0x95b6, 0x95ba, 0x95bd, 0x95bf,
+  0x95c6, 0x95c8, 0x95c9, 0x95cb, 0x95d0, 0x95d1, 0x95d2, 0x95d3,
+  0x95d9, 0x95da, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e4, 0x95e6,
+  0x961d, 0x961e, 0x9622, 0x9624, 0x9625, 0x9626, 0x962c, 0x9631,
+  0x9633, 0x9637, 0x9638, 0x9639, 0x963a, 0x963c, 0x963d, 0x9641,
+  0x9652, 0x9654, 0x9656, 0x9657, 0x9658, 0x9661, 0x966e, 0x9674,
+  0x967b, 0x967c, 0x967e, 0x967f, 0x9681, 0x9682, 0x9683, 0x9684,
+  0x9689, 0x9691, 0x9696, 0x969a, 0x969d, 0x969f, 0x96a4, 0x96a5,
+  0x96a6, 0x96a9, 0x96ae, 0x96af, 0x96b3, 0x96ba, 0x96ca, 0x96d2,
+  0x5db2, 0x96d8, 0x96da, 0x96dd, 0x96de, 0x96df, 0x96e9, 0x96ef,
+  0x96f1, 0x96fa, 0x9702, 0x9703, 0x9705, 0x9709, 0x971a, 0x971b,
+  0x971d, 0x9721, 0x9722, 0x9723, 0x9728, 0x9731, 0x9733, 0x9741,
+  0x9743, 0x974a, 0x974e, 0x974f, 0x9755, 0x9757, 0x9758, 0x975a,
+  0x975b, 0x9763, 0x9767, 0x976a, 0x976e, 0x9773, 0x9776, 0x9777,
+  0x9778, 0x977b, 0x977d, 0x977f, 0x9780, 0x9789, 0x9795, 0x9796,
+  0x9797, 0x9799, 0x979a, 0x979e, 0x979f, 0x97a2, 0x97ac, 0x97ae,
+  0x97b1, 0x97b2, 0x97b5, 0x97b6, 0x97b8, 0x97b9, 0x97ba, 0x97bc,
+  0x97be, 0x97bf, 0x97c1, 0x97c4, 0x97c5, 0x97c7, 0x97c9, 0x97ca,
+  0x97cc, 0x97cd, 0x97ce, 0x97d0, 0x97d1, 0x97d4, 0x97d7, 0x97d8,
+  0x97d9, 0x97dd, 0x97de, 0x97e0, 0x97db, 0x97e1, 0x97e4, 0x97ef,
+  0x97f1, 0x97f4, 0x97f7, 0x97f8, 0x97fa, 0x9807, 0x980a, 0x9819,
+  0x980d, 0x980e, 0x9814, 0x9816, 0x981c, 0x981e, 0x9820, 0x9823,
+  0x9826, 0x982b, 0x982e, 0x982f, 0x9830, 0x9832, 0x9833, 0x9835,
+  0x9825, 0x983e, 0x9844, 0x9847, 0x984a, 0x9851, 0x9852, 0x9853,
+  0x9856, 0x9857, 0x9859, 0x985a, 0x9862, 0x9863, 0x9865, 0x9866,
+  0x986a, 0x986c, 0x98ab, 0x98ad, 0x98ae, 0x98b0, 0x98b4, 0x98b7,
+  0x98b8, 0x98ba, 0x98bb, 0x98bf, 0x98c2, 0x98c5, 0x98c8, 0x98cc,
+  0x98e1, 0x98e3, 0x98e5, 0x98e6, 0x98e7, 0x98ea, 0x98f3, 0x98f6,
+  0x9902, 0x9907, 0x9908, 0x9911, 0x9915, 0x9916, 0x9917, 0x991a,
+  0x991b, 0x991c, 0x991f, 0x9922, 0x9926, 0x9927, 0x992b, 0x9931,
+  0x9932, 0x9933, 0x9934, 0x9935, 0x9939, 0x993a, 0x993b, 0x993c,
+  0x9940, 0x9941, 0x9946, 0x9947, 0x9948, 0x994d, 0x994e, 0x9954,
+  0x9958, 0x9959, 0x995b, 0x995c, 0x995e, 0x995f, 0x9960, 0x999b,
+  0x999d, 0x999f, 0x99a6, 0x99b0, 0x99b1, 0x99b2, 0x99b5, 0x99b9,
+  0x99ba, 0x99bd, 0x99bf, 0x99c3, 0x99c9, 0x99d3, 0x99d4, 0x99d9,
+  0x99da, 0x99dc, 0x99de, 0x99e7, 0x99ea, 0x99eb, 0x99ec, 0x99f0,
+  0x99f4, 0x99f5, 0x99f9, 0x99fd, 0x99fe, 0x9a02, 0x9a03, 0x9a04,
+  0x9a0b, 0x9a0c, 0x9a10, 0x9a11, 0x9a16, 0x9a1e, 0x9a20, 0x9a22,
+  0x9a23, 0x9a24, 0x9a27, 0x9a2d, 0x9a2e, 0x9a33, 0x9a35, 0x9a36,
+  0x9a38, 0x9a47, 0x9a41, 0x9a44, 0x9a4a, 0x9a4b, 0x9a4c, 0x9a4e,
+  0x9a51, 0x9a54, 0x9a56, 0x9a5d, 0x9aaa, 0x9aac, 0x9aae, 0x9aaf,
+  0x9ab2, 0x9ab4, 0x9ab5, 0x9ab6, 0x9ab9, 0x9abb, 0x9abe, 0x9abf,
+  0x9ac1, 0x9ac3, 0x9ac6, 0x9ac8, 0x9ace, 0x9ad0, 0x9ad2, 0x9ad5,
+  0x9ad6, 0x9ad7, 0x9adb, 0x9adc, 0x9ae0, 0x9ae4, 0x9ae5, 0x9ae7,
+  0x9ae9, 0x9aec, 0x9af2, 0x9af3, 0x9af5, 0x9af9, 0x9afa, 0x9afd,
+  0x9aff, 0x9b00, 0x9b01, 0x9b02, 0x9b03, 0x9b04, 0x9b05, 0x9b08,
+  0x9b09, 0x9b0b, 0x9b0c, 0x9b0d, 0x9b0e, 0x9b10, 0x9b12, 0x9b16,
+  0x9b19, 0x9b1b, 0x9b1c, 0x9b20, 0x9b26, 0x9b2b, 0x9b2d, 0x9b33,
+  0x9b34, 0x9b35, 0x9b37, 0x9b39, 0x9b3a, 0x9b3d, 0x9b48, 0x9b4b,
+  0x9b4c, 0x9b55, 0x9b56, 0x9b57, 0x9b5b, 0x9b5e, 0x9b61, 0x9b63,
+  0x9b65, 0x9b66, 0x9b68, 0x9b6a, 0x9b6b, 0x9b6c, 0x9b6d, 0x9b6e,
+  0x9b73, 0x9b75, 0x9b77, 0x9b78, 0x9b79, 0x9b7f, 0x9b80, 0x9b84,
+  0x9b85, 0x9b86, 0x9b87, 0x9b89, 0x9b8a, 0x9b8b, 0x9b8d, 0x9b8f,
+  0x9b90, 0x9b94, 0x9b9a, 0x9b9d, 0x9b9e, 0x9ba6, 0x9ba7, 0x9ba9,
+  0x9bac, 0x9bb0, 0x9bb1, 0x9bb2, 0x9bb7, 0x9bb8, 0x9bbb, 0x9bbc,
+  0x9bbe, 0x9bbf, 0x9bc1, 0x9bc7, 0x9bc8, 0x9bce, 0x9bd0, 0x9bd7,
+  0x9bd8, 0x9bdd, 0x9bdf, 0x9be5, 0x9be7, 0x9bea, 0x9beb, 0x9bef,
+  0x9bf3, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfd, 0x9bff, 0x9c00,
+  0x9c02, 0x9c0b, 0x9c0f, 0x9c11, 0x9c16, 0x9c18, 0x9c19, 0x9c1a,
+  0x9c1c, 0x9c1e, 0x9c22, 0x9c23, 0x9c26, 0x9c27, 0x9c28, 0x9c29,
+  0x9c2a, 0x9c31, 0x9c35, 0x9c36, 0x9c37, 0x9c3d, 0x9c41, 0x9c43,
+  0x9c44, 0x9c45, 0x9c49, 0x9c4a, 0x9c4e, 0x9c4f, 0x9c50, 0x9c53,
+  0x9c54, 0x9c56, 0x9c58, 0x9c5b, 0x9c5d, 0x9c5e, 0x9c5f, 0x9c63,
+  0x9c69, 0x9c6a, 0x9c5c, 0x9c6b, 0x9c68, 0x9c6e, 0x9c70, 0x9c72,
+  0x9c75, 0x9c77, 0x9c7b, 0x9ce6, 0x9cf2, 0x9cf7, 0x9cf9, 0x9d0b,
+  0x9d02, 0x9d11, 0x9d17, 0x9d18, 0x9d1c, 0x9d1d, 0x9d1e, 0x9d2f,
+  0x9d30, 0x9d32, 0x9d33, 0x9d34, 0x9d3a, 0x9d3c, 0x9d45, 0x9d3d,
+  0x9d42, 0x9d43, 0x9d47, 0x9d4a, 0x9d53, 0x9d54, 0x9d5f, 0x9d63,
+  0x9d62, 0x9d65, 0x9d69, 0x9d6a, 0x9d6b, 0x9d70, 0x9d76, 0x9d77,
+  0x9d7b, 0x9d7c, 0x9d7e, 0x9d83, 0x9d84, 0x9d86, 0x9d8a, 0x9d8d,
+  0x9d8e, 0x9d92, 0x9d93, 0x9d95, 0x9d96, 0x9d97, 0x9d98, 0x9da1,
+  0x9daa, 0x9dac, 0x9dae, 0x9db1, 0x9db5, 0x9db9, 0x9dbc, 0x9dbf,
+  0x9dc3, 0x9dc7, 0x9dc9, 0x9dca, 0x9dd4, 0x9dd5, 0x9dd6, 0x9dd7,
+  0x9dda, 0x9dde, 0x9ddf, 0x9de0, 0x9de5, 0x9de7, 0x9de9, 0x9deb,
+  0x9dee, 0x9df0, 0x9df3, 0x9df4, 0x9dfe, 0x9e0a, 0x9e02, 0x9e07,
+  0x9e0e, 0x9e10, 0x9e11, 0x9e12, 0x9e15, 0x9e16, 0x9e19, 0x9e1c,
+  0x9e1d, 0x9e7a, 0x9e7b, 0x9e7c, 0x9e80, 0x9e82, 0x9e83, 0x9e84,
+  0x9e85, 0x9e87, 0x9e8e, 0x9e8f, 0x9e96, 0x9e98, 0x9e9b, 0x9e9e,
+  0x9ea4, 0x9ea8, 0x9eac, 0x9eae, 0x9eaf, 0x9eb0, 0x9eb3, 0x9eb4,
+  0x9eb5, 0x9ec6, 0x9ec8, 0x9ecb, 0x9ed5, 0x9edf, 0x9ee4, 0x9ee7,
+  0x9eec, 0x9eed, 0x9eee, 0x9ef0, 0x9ef1, 0x9ef2, 0x9ef5, 0x9ef8,
+  0x9eff, 0x9f02, 0x9f03, 0x9f09, 0x9f0f, 0x9f10, 0x9f11, 0x9f12,
+  0x9f14, 0x9f16, 0x9f17, 0x9f19, 0x9f1a, 0x9f1b, 0x9f1f, 0x9f22,
+  0x9f26, 0x9f2a, 0x9f2b, 0x9f2f, 0x9f31, 0x9f32, 0x9f34, 0x9f37,
+  0x9f39, 0x9f3a, 0x9f3c, 0x9f3d, 0x9f3f, 0x9f41, 0x9f43, 0x9f44,
+  0x9f45, 0x9f46, 0x9f47, 0x9f53, 0x9f55, 0x9f56, 0x9f57, 0x9f58,
+  0x9f5a, 0x9f5d, 0x9f5e, 0x9f68, 0x9f69, 0x9f6d, 0x9f6e, 0x9f6f,
+  0x9f70, 0x9f71, 0x9f73, 0x9f75, 0x9f7a, 0x9f7d, 0x9f8f, 0x9f90,
+  0x9f91, 0x9f92, 0x9f94, 0x9f96, 0x9f97, 0x9f9e, 0x9fa1, 0x9fa2,
+  0x9fa3, 0x9fa5
+};
+
+
+/* The UCS char covered by JIS X0212 are sparsely distributed.  So we
+   use again a two-step mapping table.  The index table can be computed
+   using
+
+   egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \
+     ../eastasia/jis/jis0212.txt | awk '{ print $2, $1 }' | sort -u |
+   perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $first=$last=$idx=0;
+   while (<>) {
+     local($ucs,$jis,%rest) = split;
+     local($u)=hex($ucs);
+     local($j)=hex($jis);
+     if ($u - $last > 6) {
+       if ($last != 0) {
+	 printf ("  { start: %#06x, end: %#06x, idx: %5d },\n",
+		 $first, $last, $idx);
+	 $idx += $last - $first + 1;
+       }
+       $first=$u;
+     }
+     $last=$u;
+   }
+   printf ("  { start: %#06x, end: %#06x, idx: %5d }, \n",
+	   $first, $last, $idx);
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const struct jisx0212_idx jisx0212_from_ucs_idx[] =
+{
+  { start: 0x007e, end: 0x007e, idx:     0 },
+  { start: 0x00a1, end: 0x00af, idx:     1 },
+  { start: 0x00b8, end: 0x017e, idx:    16 },
+  { start: 0x01cd, end: 0x01dc, idx:   215 },
+  { start: 0x01f5, end: 0x01f5, idx:   231 },
+  { start: 0x02c7, end: 0x02c7, idx:   232 },
+  { start: 0x02d8, end: 0x02dd, idx:   233 },
+  { start: 0x0384, end: 0x0390, idx:   239 },
+  { start: 0x03aa, end: 0x03b0, idx:   252 },
+  { start: 0x03c2, end: 0x03c2, idx:   259 },
+  { start: 0x03ca, end: 0x03ce, idx:   260 },
+  { start: 0x0402, end: 0x040f, idx:   265 },
+  { start: 0x0452, end: 0x045f, idx:   279 },
+  { start: 0x2116, end: 0x2116, idx:   293 },
+  { start: 0x2122, end: 0x2122, idx:   294 },
+  { start: 0x4e02, end: 0x4e05, idx:   295 },
+  { start: 0x4e0c, end: 0x4e12, idx:   299 },
+  { start: 0x4e1f, end: 0x4e35, idx:   306 },
+  { start: 0x4e40, end: 0x4e47, idx:   329 },
+  { start: 0x4e51, end: 0x4e51, idx:   337 },
+  { start: 0x4e5a, end: 0x4e5c, idx:   338 },
+  { start: 0x4e63, end: 0x4e69, idx:   341 },
+  { start: 0x4e74, end: 0x4e7f, idx:   348 },
+  { start: 0x4e8d, end: 0x4e8d, idx:   360 },
+  { start: 0x4e96, end: 0x4e9d, idx:   361 },
+  { start: 0x4eaf, end: 0x4eaf, idx:   369 },
+  { start: 0x4eb9, end: 0x4eb9, idx:   370 },
+  { start: 0x4ec3, end: 0x4ec3, idx:   371 },
+  { start: 0x4ed0, end: 0x4ed0, idx:   372 },
+  { start: 0x4eda, end: 0x4ee8, idx:   373 },
+  { start: 0x4eef, end: 0x4ef5, idx:   388 },
+  { start: 0x4efd, end: 0x4f19, idx:   395 },
+  { start: 0x4f2e, end: 0x4f58, idx:   424 },
+  { start: 0x4f5f, end: 0x4f63, idx:   467 },
+  { start: 0x4f6a, end: 0x4f9f, idx:   472 },
+  { start: 0x4fb2, end: 0x4fd2, idx:   526 },
+  { start: 0x4fdc, end: 0x4fe2, idx:   559 },
+  { start: 0x4ff0, end: 0x4ff2, idx:   566 },
+  { start: 0x4ffc, end: 0x5027, idx:   569 },
+  { start: 0x502e, end: 0x5071, idx:   613 },
+  { start: 0x5081, end: 0x50a2, idx:   681 },
+  { start: 0x50aa, end: 0x50b0, idx:   715 },
+  { start: 0x50b9, end: 0x5110, idx:   722 },
+  { start: 0x5117, end: 0x5139, idx:   810 },
+  { start: 0x5142, end: 0x5142, idx:   845 },
+  { start: 0x514a, end: 0x5158, idx:   846 },
+  { start: 0x515f, end: 0x5166, idx:   861 },
+  { start: 0x517e, end: 0x5184, idx:   869 },
+  { start: 0x518b, end: 0x518e, idx:   876 },
+  { start: 0x5198, end: 0x51a3, idx:   880 },
+  { start: 0x51ad, end: 0x51ad, idx:   892 },
+  { start: 0x51b8, end: 0x51c8, idx:   893 },
+  { start: 0x51cf, end: 0x51e5, idx:   910 },
+  { start: 0x51ee, end: 0x51f7, idx:   933 },
+  { start: 0x5201, end: 0x5205, idx:   943 },
+  { start: 0x5212, end: 0x5218, idx:   948 },
+  { start: 0x5222, end: 0x5228, idx:   955 },
+  { start: 0x5231, end: 0x5235, idx:   962 },
+  { start: 0x523c, end: 0x523c, idx:   967 },
+  { start: 0x5245, end: 0x5249, idx:   968 },
+  { start: 0x5255, end: 0x5266, idx:   973 },
+  { start: 0x526e, end: 0x526e, idx:   991 },
+  { start: 0x5277, end: 0x5279, idx:   992 },
+  { start: 0x5280, end: 0x528c, idx:   995 },
+  { start: 0x5293, end: 0x529c, idx:  1008 },
+  { start: 0x52a4, end: 0x52a7, idx:  1018 },
+  { start: 0x52af, end: 0x52f7, idx:  1022 },
+  { start: 0x5300, end: 0x5303, idx:  1095 },
+  { start: 0x530a, end: 0x5335, idx:  1099 },
+  { start: 0x533c, end: 0x5342, idx:  1143 },
+  { start: 0x534b, end: 0x534c, idx:  1150 },
+  { start: 0x5359, end: 0x5365, idx:  1152 },
+  { start: 0x536c, end: 0x5372, idx:  1165 },
+  { start: 0x5379, end: 0x53c5, idx:  1172 },
+  { start: 0x53cf, end: 0x53e7, idx:  1249 },
+  { start: 0x53f5, end: 0x53f5, idx:  1274 },
+  { start: 0x5402, end: 0x5402, idx:  1275 },
+  { start: 0x5413, end: 0x5413, idx:  1276 },
+  { start: 0x541a, end: 0x541a, idx:  1277 },
+  { start: 0x5421, end: 0x5435, idx:  1278 },
+  { start: 0x5443, end: 0x544f, idx:  1299 },
+  { start: 0x545e, end: 0x5474, idx:  1312 },
+  { start: 0x547f, end: 0x54bf, idx:  1335 },
+  { start: 0x54c6, end: 0x54ce, idx:  1400 },
+  { start: 0x54e0, end: 0x54e0, idx:  1409 },
+  { start: 0x54ea, end: 0x54ef, idx:  1410 },
+  { start: 0x54f6, end: 0x550e, idx:  1416 },
+  { start: 0x5515, end: 0x5515, idx:  1441 },
+  { start: 0x552a, end: 0x552b, idx:  1442 },
+  { start: 0x5532, end: 0x5551, idx:  1444 },
+  { start: 0x5558, end: 0x5566, idx:  1476 },
+  { start: 0x557f, end: 0x5597, idx:  1491 },
+  { start: 0x55a3, end: 0x55a4, idx:  1516 },
+  { start: 0x55ad, end: 0x55b2, idx:  1518 },
+  { start: 0x55bf, end: 0x55e2, idx:  1524 },
+  { start: 0x55e9, end: 0x55e9, idx:  1560 },
+  { start: 0x55f6, end: 0x55f6, idx:  1561 },
+  { start: 0x55ff, end: 0x5612, idx:  1562 },
+  { start: 0x5619, end: 0x5619, idx:  1582 },
+  { start: 0x562c, end: 0x5654, idx:  1583 },
+  { start: 0x565e, end: 0x5675, idx:  1624 },
+  { start: 0x5684, end: 0x568c, idx:  1648 },
+  { start: 0x5695, end: 0x569f, idx:  1657 },
+  { start: 0x56a6, end: 0x56b7, idx:  1668 },
+  { start: 0x56be, end: 0x56be, idx:  1686 },
+  { start: 0x56c5, end: 0x56d0, idx:  1687 },
+  { start: 0x56d9, end: 0x56f7, idx:  1699 },
+  { start: 0x5701, end: 0x5734, idx:  1730 },
+  { start: 0x573d, end: 0x5752, idx:  1782 },
+  { start: 0x5762, end: 0x5783, idx:  1804 },
+  { start: 0x578c, end: 0x578c, idx:  1838 },
+  { start: 0x5794, end: 0x57ac, idx:  1839 },
+  { start: 0x57b8, end: 0x57bd, idx:  1864 },
+  { start: 0x57c7, end: 0x57d5, idx:  1870 },
+  { start: 0x57dd, end: 0x580d, idx:  1885 },
+  { start: 0x581b, end: 0x5832, idx:  1934 },
+  { start: 0x5839, end: 0x583f, idx:  1958 },
+  { start: 0x5849, end: 0x5855, idx:  1965 },
+  { start: 0x585f, end: 0x5868, idx:  1978 },
+  { start: 0x5878, end: 0x5896, idx:  1988 },
+  { start: 0x589d, end: 0x58a9, idx:  2019 },
+  { start: 0x58b1, end: 0x58b2, idx:  2032 },
+  { start: 0x58bc, end: 0x58e2, idx:  2034 },
+  { start: 0x58e9, end: 0x58e9, idx:  2073 },
+  { start: 0x58f3, end: 0x58f3, idx:  2074 },
+  { start: 0x5905, end: 0x5914, idx:  2075 },
+  { start: 0x591d, end: 0x5928, idx:  2091 },
+  { start: 0x592f, end: 0x5936, idx:  2103 },
+  { start: 0x593f, end: 0x5946, idx:  2111 },
+  { start: 0x5952, end: 0x5963, idx:  2119 },
+  { start: 0x596b, end: 0x597c, idx:  2137 },
+  { start: 0x598b, end: 0x5997, idx:  2155 },
+  { start: 0x599f, end: 0x59d2, idx:  2168 },
+  { start: 0x59dd, end: 0x59e7, idx:  2220 },
+  { start: 0x59ee, end: 0x59f7, idx:  2231 },
+  { start: 0x5a00, end: 0x5a04, idx:  2241 },
+  { start: 0x5a0c, end: 0x5a13, idx:  2246 },
+  { start: 0x5a1e, end: 0x5a30, idx:  2254 },
+  { start: 0x5a44, end: 0x5a55, idx:  2273 },
+  { start: 0x5a5e, end: 0x5a6d, idx:  2291 },
+  { start: 0x5a77, end: 0x5a7e, idx:  2307 },
+  { start: 0x5a8b, end: 0x5ac8, idx:  2315 },
+  { start: 0x5acf, end: 0x5acf, idx:  2377 },
+  { start: 0x5ada, end: 0x5aee, idx:  2378 },
+  { start: 0x5af5, end: 0x5af6, idx:  2399 },
+  { start: 0x5afd, end: 0x5b01, idx:  2401 },
+  { start: 0x5b08, end: 0x5b08, idx:  2406 },
+  { start: 0x5b17, end: 0x5b25, idx:  2407 },
+  { start: 0x5b2d, end: 0x5b2d, idx:  2422 },
+  { start: 0x5b34, end: 0x5b38, idx:  2423 },
+  { start: 0x5b41, end: 0x5b41, idx:  2428 },
+  { start: 0x5b4b, end: 0x5b56, idx:  2429 },
+  { start: 0x5b5e, end: 0x5b5e, idx:  2441 },
+  { start: 0x5b68, end: 0x5b6f, idx:  2442 },
+  { start: 0x5b7c, end: 0x5b96, idx:  2450 },
+  { start: 0x5ba8, end: 0x5bc1, idx:  2477 },
+  { start: 0x5bcd, end: 0x5bcf, idx:  2503 },
+  { start: 0x5bd6, end: 0x5be0, idx:  2506 },
+  { start: 0x5bef, end: 0x5bf4, idx:  2517 },
+  { start: 0x5bfd, end: 0x5bfd, idx:  2523 },
+  { start: 0x5c0c, end: 0x5c0c, idx:  2524 },
+  { start: 0x5c17, end: 0x5c17, idx:  2525 },
+  { start: 0x5c1e, end: 0x5c36, idx:  2526 },
+  { start: 0x5c59, end: 0x5c7d, idx:  2551 },
+  { start: 0x5c87, end: 0x5c92, idx:  2588 },
+  { start: 0x5c9d, end: 0x5caa, idx:  2600 },
+  { start: 0x5cb2, end: 0x5cba, idx:  2614 },
+  { start: 0x5cc9, end: 0x5ccb, idx:  2623 },
+  { start: 0x5cd2, end: 0x5cdd, idx:  2626 },
+  { start: 0x5cee, end: 0x5cf4, idx:  2638 },
+  { start: 0x5d01, end: 0x5d06, idx:  2645 },
+  { start: 0x5d0d, end: 0x5d12, idx:  2651 },
+  { start: 0x5d23, end: 0x5d4a, idx:  2657 },
+  { start: 0x5d51, end: 0x5d70, idx:  2697 },
+  { start: 0x5d79, end: 0x5d8a, idx:  2729 },
+  { start: 0x5d92, end: 0x5da0, idx:  2747 },
+  { start: 0x5da7, end: 0x5db9, idx:  2762 },
+  { start: 0x5dc3, end: 0x5dd0, idx:  2781 },
+  { start: 0x5dd8, end: 0x5dd9, idx:  2795 },
+  { start: 0x5de0, end: 0x5de9, idx:  2797 },
+  { start: 0x5df8, end: 0x5df9, idx:  2807 },
+  { start: 0x5e00, end: 0x5e00, idx:  2809 },
+  { start: 0x5e07, end: 0x5e18, idx:  2810 },
+  { start: 0x5e1f, end: 0x5e20, idx:  2828 },
+  { start: 0x5e28, end: 0x5e35, idx:  2830 },
+  { start: 0x5e3e, end: 0x5e3e, idx:  2844 },
+  { start: 0x5e49, end: 0x5e5e, idx:  2845 },
+  { start: 0x5e68, end: 0x5e70, idx:  2867 },
+  { start: 0x5e80, end: 0x5e80, idx:  2876 },
+  { start: 0x5e8b, end: 0x5e8e, idx:  2877 },
+  { start: 0x5ea2, end: 0x5eb3, idx:  2881 },
+  { start: 0x5ebd, end: 0x5ebf, idx:  2899 },
+  { start: 0x5ec6, end: 0x5ed5, idx:  2902 },
+  { start: 0x5edc, end: 0x5ede, idx:  2918 },
+  { start: 0x5ee5, end: 0x5eeb, idx:  2921 },
+  { start: 0x5f02, end: 0x5f0e, idx:  2928 },
+  { start: 0x5f19, end: 0x5f67, idx:  2941 },
+  { start: 0x5f6f, end: 0x5f7e, idx:  3020 },
+  { start: 0x5f89, end: 0x5f8f, idx:  3036 },
+  { start: 0x5f96, end: 0x5fb1, idx:  3043 },
+  { start: 0x5fb8, end: 0x5fb8, idx:  3071 },
+  { start: 0x5fc4, end: 0x5fd4, idx:  3072 },
+  { start: 0x5fde, end: 0x5ffc, idx:  3089 },
+  { start: 0x6007, end: 0x6024, idx:  3120 },
+  { start: 0x602d, end: 0x6035, idx:  3150 },
+  { start: 0x6040, end: 0x6040, idx:  3159 },
+  { start: 0x6047, end: 0x6067, idx:  3160 },
+  { start: 0x6071, end: 0x6071, idx:  3193 },
+  { start: 0x607e, end: 0x60a8, idx:  3194 },
+  { start: 0x60b0, end: 0x60e5, idx:  3237 },
+  { start: 0x60f2, end: 0x6122, idx:  3291 },
+  { start: 0x612a, end: 0x6139, idx:  3340 },
+  { start: 0x6141, end: 0x6149, idx:  3356 },
+  { start: 0x615e, end: 0x6160, idx:  3365 },
+  { start: 0x616c, end: 0x6184, idx:  3368 },
+  { start: 0x618b, end: 0x61ad, idx:  3393 },
+  { start: 0x61b8, end: 0x61c2, idx:  3428 },
+  { start: 0x61ce, end: 0x61d5, idx:  3439 },
+  { start: 0x61dc, end: 0x61ef, idx:  3447 },
+  { start: 0x6201, end: 0x6207, idx:  3467 },
+  { start: 0x6213, end: 0x6215, idx:  3474 },
+  { start: 0x621c, end: 0x622b, idx:  3477 },
+  { start: 0x6239, end: 0x625c, idx:  3493 },
+  { start: 0x6264, end: 0x6264, idx:  3529 },
+  { start: 0x626d, end: 0x6273, idx:  3530 },
+  { start: 0x627a, end: 0x627d, idx:  3537 },
+  { start: 0x628d, end: 0x6290, idx:  3541 },
+  { start: 0x62a6, end: 0x62a8, idx:  3545 },
+  { start: 0x62b3, end: 0x62c4, idx:  3548 },
+  { start: 0x62ce, end: 0x62ce, idx:  3566 },
+  { start: 0x62d5, end: 0x62da, idx:  3567 },
+  { start: 0x62ea, end: 0x62ea, idx:  3573 },
+  { start: 0x62f2, end: 0x62f4, idx:  3574 },
+  { start: 0x62fc, end: 0x6318, idx:  3577 },
+  { start: 0x6329, end: 0x632d, idx:  3606 },
+  { start: 0x6335, end: 0x635b, idx:  3611 },
+  { start: 0x6365, end: 0x63a6, idx:  3650 },
+  { start: 0x63ad, end: 0x63af, idx:  3716 },
+  { start: 0x63bd, end: 0x63d5, idx:  3719 },
+  { start: 0x63dc, end: 0x63f9, idx:  3744 },
+  { start: 0x6409, end: 0x6435, idx:  3774 },
+  { start: 0x643d, end: 0x643f, idx:  3819 },
+  { start: 0x644b, end: 0x6463, idx:  3822 },
+  { start: 0x646d, end: 0x6474, idx:  3847 },
+  { start: 0x647b, end: 0x647d, idx:  3855 },
+  { start: 0x6485, end: 0x6487, idx:  3858 },
+  { start: 0x648f, end: 0x6491, idx:  3861 },
+  { start: 0x6498, end: 0x64ac, idx:  3864 },
+  { start: 0x64b3, end: 0x64b3, idx:  3885 },
+  { start: 0x64bd, end: 0x64d7, idx:  3886 },
+  { start: 0x64e4, end: 0x6531, idx:  3913 },
+  { start: 0x653a, end: 0x6549, idx:  3991 },
+  { start: 0x6550, end: 0x6554, idx:  4007 },
+  { start: 0x655f, end: 0x6560, idx:  4012 },
+  { start: 0x6567, end: 0x656b, idx:  4014 },
+  { start: 0x657a, end: 0x658a, idx:  4019 },
+  { start: 0x6592, end: 0x65a6, idx:  4036 },
+  { start: 0x65ae, end: 0x65b4, idx:  4057 },
+  { start: 0x65bf, end: 0x65d8, idx:  4064 },
+  { start: 0x65df, end: 0x65df, idx:  4090 },
+  { start: 0x65f0, end: 0x6616, idx:  4091 },
+  { start: 0x661d, end: 0x6639, idx:  4130 },
+  { start: 0x6640, end: 0x6661, idx:  4159 },
+  { start: 0x666a, end: 0x666c, idx:  4193 },
+  { start: 0x6673, end: 0x6680, idx:  4196 },
+  { start: 0x668b, end: 0x6692, idx:  4210 },
+  { start: 0x6699, end: 0x66a4, idx:  4218 },
+  { start: 0x66ad, end: 0x66d4, idx:  4230 },
+  { start: 0x66db, end: 0x66df, idx:  4270 },
+  { start: 0x66e8, end: 0x66ee, idx:  4275 },
+  { start: 0x66fa, end: 0x66fb, idx:  4282 },
+  { start: 0x6705, end: 0x6707, idx:  4284 },
+  { start: 0x670e, end: 0x6722, idx:  4287 },
+  { start: 0x6733, end: 0x6733, idx:  4308 },
+  { start: 0x673e, end: 0x673e, idx:  4309 },
+  { start: 0x6745, end: 0x674c, idx:  4310 },
+  { start: 0x6754, end: 0x6755, idx:  4318 },
+  { start: 0x675d, end: 0x675d, idx:  4320 },
+  { start: 0x6766, end: 0x6784, idx:  4321 },
+  { start: 0x678e, end: 0x679b, idx:  4352 },
+  { start: 0x67b0, end: 0x67c9, idx:  4366 },
+  { start: 0x67d2, end: 0x67e6, idx:  4392 },
+  { start: 0x67f0, end: 0x67f9, idx:  4413 },
+  { start: 0x6814, end: 0x681f, idx:  4423 },
+  { start: 0x6827, end: 0x6833, idx:  4435 },
+  { start: 0x683b, end: 0x685b, idx:  4448 },
+  { start: 0x686b, end: 0x6888, idx:  4481 },
+  { start: 0x6896, end: 0x68b2, idx:  4511 },
+  { start: 0x68bb, end: 0x68bb, idx:  4540 },
+  { start: 0x68c5, end: 0x68dd, idx:  4541 },
+  { start: 0x68e5, end: 0x68fd, idx:  4566 },
+  { start: 0x6906, end: 0x6917, idx:  4591 },
+  { start: 0x6931, end: 0x693b, idx:  4609 },
+  { start: 0x6942, end: 0x694e, idx:  4620 },
+  { start: 0x6957, end: 0x695b, idx:  4633 },
+  { start: 0x6963, end: 0x6972, idx:  4638 },
+  { start: 0x697a, end: 0x6980, idx:  4654 },
+  { start: 0x698d, end: 0x6998, idx:  4661 },
+  { start: 0x69a1, end: 0x69af, idx:  4673 },
+  { start: 0x69b7, end: 0x69bc, idx:  4688 },
+  { start: 0x69c5, end: 0x69c8, idx:  4694 },
+  { start: 0x69d1, end: 0x69d7, idx:  4698 },
+  { start: 0x69e2, end: 0x69e5, idx:  4705 },
+  { start: 0x69ee, end: 0x69f5, idx:  4709 },
+  { start: 0x69fe, end: 0x6a03, idx:  4717 },
+  { start: 0x6a0f, end: 0x6a28, idx:  4723 },
+  { start: 0x6a30, end: 0x6a5b, idx:  4749 },
+  { start: 0x6a64, end: 0x6a6a, idx:  4793 },
+  { start: 0x6a71, end: 0x6a73, idx:  4800 },
+  { start: 0x6a7e, end: 0x6a91, idx:  4803 },
+  { start: 0x6a9b, end: 0x6ab4, idx:  4823 },
+  { start: 0x6abd, end: 0x6abf, idx:  4849 },
+  { start: 0x6ac6, end: 0x6add, idx:  4852 },
+  { start: 0x6ae4, end: 0x6af2, idx:  4876 },
+  { start: 0x6afc, end: 0x6b3f, idx:  4891 },
+  { start: 0x6b46, end: 0x6b60, idx:  4959 },
+  { start: 0x6b67, end: 0x6b75, idx:  4986 },
+  { start: 0x6b7d, end: 0x6b85, idx:  5001 },
+  { start: 0x6b97, end: 0x6bb0, idx:  5010 },
+  { start: 0x6bb8, end: 0x6bcc, idx:  5036 },
+  { start: 0x6bd6, end: 0x6bda, idx:  5057 },
+  { start: 0x6be1, end: 0x6be7, idx:  5062 },
+  { start: 0x6bee, end: 0x6c12, idx:  5069 },
+  { start: 0x6c19, end: 0x6c1f, idx:  5106 },
+  { start: 0x6c26, end: 0x6c3f, idx:  5113 },
+  { start: 0x6c4a, end: 0x6c5c, idx:  5139 },
+  { start: 0x6c67, end: 0x6c7b, idx:  5158 },
+  { start: 0x6c85, end: 0x6c89, idx:  5179 },
+  { start: 0x6c94, end: 0x6c9f, idx:  5184 },
+  { start: 0x6cb0, end: 0x6cb4, idx:  5196 },
+  { start: 0x6cc2, end: 0x6cc6, idx:  5201 },
+  { start: 0x6ccd, end: 0x6ce0, idx:  5206 },
+  { start: 0x6ce7, end: 0x6cf4, idx:  5226 },
+  { start: 0x6d04, end: 0x6d13, idx:  5240 },
+  { start: 0x6d1a, end: 0x6d1a, idx:  5256 },
+  { start: 0x6d26, end: 0x6d31, idx:  5257 },
+  { start: 0x6d39, end: 0x6d3f, idx:  5269 },
+  { start: 0x6d57, end: 0x6d57, idx:  5276 },
+  { start: 0x6d5e, end: 0x6d67, idx:  5277 },
+  { start: 0x6d6f, end: 0x6d70, idx:  5287 },
+  { start: 0x6d7c, end: 0x6d87, idx:  5289 },
+  { start: 0x6d91, end: 0x6d98, idx:  5301 },
+  { start: 0x6daa, end: 0x6dac, idx:  5309 },
+  { start: 0x6db4, end: 0x6dcf, idx:  5312 },
+  { start: 0x6dd6, end: 0x6e04, idx:  5340 },
+  { start: 0x6e1e, end: 0x6e27, idx:  5387 },
+  { start: 0x6e32, end: 0x6e3c, idx:  5397 },
+  { start: 0x6e44, end: 0x6e68, idx:  5408 },
+  { start: 0x6e73, end: 0x6e73, idx:  5445 },
+  { start: 0x6e7b, end: 0x6e7d, idx:  5446 },
+  { start: 0x6e8d, end: 0x6e99, idx:  5449 },
+  { start: 0x6ea0, end: 0x6ea0, idx:  5462 },
+  { start: 0x6ea7, end: 0x6eb3, idx:  5463 },
+  { start: 0x6ebb, end: 0x6ecf, idx:  5476 },
+  { start: 0x6eeb, end: 0x6eee, idx:  5497 },
+  { start: 0x6ef9, end: 0x6efd, idx:  5501 },
+  { start: 0x6f04, end: 0x6f0d, idx:  5506 },
+  { start: 0x6f16, end: 0x6f1b, idx:  5516 },
+  { start: 0x6f26, end: 0x6f3c, idx:  5522 },
+  { start: 0x6f4f, end: 0x6f6c, idx:  5545 },
+  { start: 0x6f7d, end: 0x6fbc, idx:  5575 },
+  { start: 0x6fc5, end: 0x6fca, idx:  5639 },
+  { start: 0x6fda, end: 0x6fde, idx:  5645 },
+  { start: 0x6fe8, end: 0x6fe9, idx:  5650 },
+  { start: 0x6ff0, end: 0x700d, idx:  5652 },
+  { start: 0x7017, end: 0x7017, idx:  5682 },
+  { start: 0x7020, end: 0x7023, idx:  5683 },
+  { start: 0x702f, end: 0x703c, idx:  5687 },
+  { start: 0x7043, end: 0x7055, idx:  5701 },
+  { start: 0x705d, end: 0x7065, idx:  5720 },
+  { start: 0x706c, end: 0x706e, idx:  5729 },
+  { start: 0x7075, end: 0x7076, idx:  5732 },
+  { start: 0x707e, end: 0x7086, idx:  5734 },
+  { start: 0x7094, end: 0x709b, idx:  5743 },
+  { start: 0x70a4, end: 0x70a4, idx:  5751 },
+  { start: 0x70ab, end: 0x70b7, idx:  5752 },
+  { start: 0x70ca, end: 0x70ca, idx:  5765 },
+  { start: 0x70d1, end: 0x70dc, idx:  5766 },
+  { start: 0x70e4, end: 0x70e4, idx:  5778 },
+  { start: 0x70fa, end: 0x70fa, idx:  5779 },
+  { start: 0x7103, end: 0x710f, idx:  5780 },
+  { start: 0x711e, end: 0x7120, idx:  5793 },
+  { start: 0x712b, end: 0x7131, idx:  5796 },
+  { start: 0x7138, end: 0x7138, idx:  5803 },
+  { start: 0x7141, end: 0x7160, idx:  5804 },
+  { start: 0x7168, end: 0x7168, idx:  5836 },
+  { start: 0x7179, end: 0x7179, idx:  5837 },
+  { start: 0x7180, end: 0x7192, idx:  5838 },
+  { start: 0x719a, end: 0x71a2, idx:  5857 },
+  { start: 0x71af, end: 0x71b3, idx:  5866 },
+  { start: 0x71ba, end: 0x71c4, idx:  5871 },
+  { start: 0x71cb, end: 0x71cc, idx:  5882 },
+  { start: 0x71d3, end: 0x71dc, idx:  5884 },
+  { start: 0x71f8, end: 0x7200, idx:  5894 },
+  { start: 0x7207, end: 0x7209, idx:  5903 },
+  { start: 0x7213, end: 0x7224, idx:  5906 },
+  { start: 0x722b, end: 0x7239, idx:  5924 },
+  { start: 0x7241, end: 0x7245, idx:  5939 },
+  { start: 0x724e, end: 0x7293, idx:  5944 },
+  { start: 0x729b, end: 0x729b, idx:  6014 },
+  { start: 0x72a8, end: 0x72b4, idx:  6015 },
+  { start: 0x72be, end: 0x72cc, idx:  6028 },
+  { start: 0x72d5, end: 0x72d8, idx:  6043 },
+  { start: 0x72df, end: 0x72e5, idx:  6047 },
+  { start: 0x72f3, end: 0x7343, idx:  6054 },
+  { start: 0x734d, end: 0x7386, idx:  6135 },
+  { start: 0x738e, end: 0x73ad, idx:  6193 },
+  { start: 0x73b5, end: 0x73e9, idx:  6225 },
+  { start: 0x73f4, end: 0x740a, idx:  6278 },
+  { start: 0x7411, end: 0x7411, idx:  6301 },
+  { start: 0x741a, end: 0x741b, idx:  6302 },
+  { start: 0x7424, end: 0x7431, idx:  6304 },
+  { start: 0x7439, end: 0x7439, idx:  6318 },
+  { start: 0x7440, end: 0x7472, idx:  6319 },
+  { start: 0x7480, end: 0x74bf, idx:  6370 },
+  { start: 0x74c8, end: 0x74ff, idx:  6434 },
+  { start: 0x7506, end: 0x7506, idx:  6490 },
+  { start: 0x7512, end: 0x7517, idx:  6491 },
+  { start: 0x7520, end: 0x752f, idx:  6497 },
+  { start: 0x7536, end: 0x7557, idx:  6513 },
+  { start: 0x755e, end: 0x7561, idx:  6547 },
+  { start: 0x756f, end: 0x7571, idx:  6551 },
+  { start: 0x7579, end: 0x7585, idx:  6554 },
+  { start: 0x7590, end: 0x75a4, idx:  6567 },
+  { start: 0x75b4, end: 0x75cf, idx:  6588 },
+  { start: 0x75d7, end: 0x75f1, idx:  6616 },
+  { start: 0x75f9, end: 0x75f9, idx:  6643 },
+  { start: 0x7600, end: 0x764b, idx:  6644 },
+  { start: 0x7655, end: 0x7665, idx:  6720 },
+  { start: 0x766d, end: 0x7674, idx:  6737 },
+  { start: 0x7681, end: 0x7685, idx:  6745 },
+  { start: 0x768c, end: 0x768d, idx:  6750 },
+  { start: 0x7695, end: 0x76ad, idx:  6752 },
+  { start: 0x76bd, end: 0x76d9, idx:  6777 },
+  { start: 0x76e0, end: 0x7784, idx:  6806 },
+  { start: 0x778c, end: 0x778d, idx:  6971 },
+  { start: 0x7794, end: 0x77b5, idx:  6973 },
+  { start: 0x77be, end: 0x77c9, idx:  7007 },
+  { start: 0x77d1, end: 0x77fb, idx:  7019 },
+  { start: 0x7805, end: 0x7811, idx:  7062 },
+  { start: 0x781d, end: 0x7823, idx:  7075 },
+  { start: 0x782d, end: 0x7837, idx:  7082 },
+  { start: 0x7843, end: 0x7852, idx:  7093 },
+  { start: 0x785c, end: 0x786e, idx:  7109 },
+  { start: 0x787a, end: 0x787e, idx:  7128 },
+  { start: 0x788a, end: 0x78b3, idx:  7133 },
+  { start: 0x78bb, end: 0x78bf, idx:  7175 },
+  { start: 0x78c7, end: 0x78ea, idx:  7180 },
+  { start: 0x78f2, end: 0x7910, idx:  7216 },
+  { start: 0x791a, end: 0x795c, idx:  7247 },
+  { start: 0x7967, end: 0x796b, idx:  7314 },
+  { start: 0x7972, end: 0x7972, idx:  7319 },
+  { start: 0x7979, end: 0x797e, idx:  7320 },
+  { start: 0x798b, end: 0x79a1, idx:  7326 },
+  { start: 0x79a8, end: 0x79bb, idx:  7349 },
+  { start: 0x79c2, end: 0x79f1, idx:  7369 },
+  { start: 0x79f8, end: 0x7a3a, idx:  7417 },
+  { start: 0x7a44, end: 0x7a4c, idx:  7484 },
+  { start: 0x7a55, end: 0x7a6d, idx:  7493 },
+  { start: 0x7a75, end: 0x7a94, idx:  7518 },
+  { start: 0x7a9e, end: 0x7aa3, idx:  7550 },
+  { start: 0x7aac, end: 0x7aac, idx:  7556 },
+  { start: 0x7ab3, end: 0x7abc, idx:  7557 },
+  { start: 0x7ac6, end: 0x7ad1, idx:  7567 },
+  { start: 0x7adb, end: 0x7adb, idx:  7579 },
+  { start: 0x7ae8, end: 0x7af4, idx:  7580 },
+  { start: 0x7afb, end: 0x7afe, idx:  7593 },
+  { start: 0x7b07, end: 0x7b07, idx:  7597 },
+  { start: 0x7b14, end: 0x7b14, idx:  7598 },
+  { start: 0x7b1f, end: 0x7b34, idx:  7599 },
+  { start: 0x7b3d, end: 0x7b47, idx:  7621 },
+  { start: 0x7b4e, end: 0x7b4e, idx:  7632 },
+  { start: 0x7b55, end: 0x7b55, idx:  7633 },
+  { start: 0x7b60, end: 0x7b77, idx:  7634 },
+  { start: 0x7b84, end: 0x7ba5, idx:  7658 },
+  { start: 0x7bac, end: 0x7bca, idx:  7692 },
+  { start: 0x7bd4, end: 0x7bdb, idx:  7723 },
+  { start: 0x7be8, end: 0x7bea, idx:  7731 },
+  { start: 0x7bf2, end: 0x7c0f, idx:  7734 },
+  { start: 0x7c19, end: 0x7c3a, idx:  7764 },
+  { start: 0x7c46, end: 0x7c4a, idx:  7798 },
+  { start: 0x7c51, end: 0x7c72, idx:  7803 },
+  { start: 0x7c79, end: 0x7c7d, idx:  7837 },
+  { start: 0x7c86, end: 0x7c87, idx:  7842 },
+  { start: 0x7c8f, end: 0x7c94, idx:  7844 },
+  { start: 0x7c9e, end: 0x7ca6, idx:  7850 },
+  { start: 0x7cb0, end: 0x7cdd, idx:  7859 },
+  { start: 0x7ce6, end: 0x7ceb, idx:  7905 },
+  { start: 0x7cf5, end: 0x7cf5, idx:  7911 },
+  { start: 0x7d03, end: 0x7d16, idx:  7912 },
+  { start: 0x7d1d, end: 0x7d31, idx:  7932 },
+  { start: 0x7d3c, end: 0x7d5d, idx:  7953 },
+  { start: 0x7d65, end: 0x7d70, idx:  7987 },
+  { start: 0x7d78, end: 0x7d9e, idx:  7999 },
+  { start: 0x7da6, end: 0x7daa, idx:  8038 },
+  { start: 0x7db3, end: 0x7db9, idx:  8043 },
+  { start: 0x7dc2, end: 0x7dce, idx:  8050 },
+  { start: 0x7dd7, end: 0x7dd9, idx:  8063 },
+  { start: 0x7de2, end: 0x7e00, idx:  8066 },
+  { start: 0x7e08, end: 0x7e08, idx:  8097 },
+  { start: 0x7e10, end: 0x7e20, idx:  8098 },
+  { start: 0x7e27, end: 0x7e36, idx:  8115 },
+  { start: 0x7e3f, end: 0x7e47, idx:  8131 },
+  { start: 0x7e4e, end: 0x7e58, idx:  8140 },
+  { start: 0x7e5f, end: 0x7e9e, idx:  8151 },
+  { start: 0x7f3b, end: 0x7f47, idx:  8215 },
+  { start: 0x7f4f, end: 0x7f53, idx:  8228 },
+  { start: 0x7f5b, end: 0x7f66, idx:  8233 },
+  { start: 0x7f6d, end: 0x7f71, idx:  8245 },
+  { start: 0x7f7d, end: 0x7f80, idx:  8250 },
+  { start: 0x7f8b, end: 0x7fad, idx:  8254 },
+  { start: 0x7fb4, end: 0x7fb4, idx:  8289 },
+  { start: 0x7fbc, end: 0x7fcf, idx:  8290 },
+  { start: 0x7fdb, end: 0x7ff2, idx:  8310 },
+  { start: 0x7ffa, end: 0x7fff, idx:  8334 },
+  { start: 0x8007, end: 0x8016, idx:  8340 },
+  { start: 0x801d, end: 0x8044, idx:  8356 },
+  { start: 0x8060, end: 0x8066, idx:  8396 },
+  { start: 0x806d, end: 0x8075, idx:  8403 },
+  { start: 0x8081, end: 0x8081, idx:  8412 },
+  { start: 0x8088, end: 0x808e, idx:  8413 },
+  { start: 0x809c, end: 0x809e, idx:  8420 },
+  { start: 0x80a6, end: 0x80ab, idx:  8423 },
+  { start: 0x80b8, end: 0x80b9, idx:  8429 },
+  { start: 0x80c8, end: 0x80d8, idx:  8431 },
+  { start: 0x80e0, end: 0x80e0, idx:  8448 },
+  { start: 0x80ed, end: 0x8103, idx:  8449 },
+  { start: 0x810b, end: 0x810b, idx:  8472 },
+  { start: 0x8116, end: 0x813c, idx:  8473 },
+  { start: 0x8145, end: 0x8157, idx:  8512 },
+  { start: 0x8160, end: 0x816f, idx:  8531 },
+  { start: 0x8177, end: 0x8177, idx:  8547 },
+  { start: 0x8181, end: 0x81a2, idx:  8548 },
+  { start: 0x81ae, end: 0x81b4, idx:  8582 },
+  { start: 0x81bb, end: 0x81bb, idx:  8589 },
+  { start: 0x81c3, end: 0x81e4, idx:  8590 },
+  { start: 0x81eb, end: 0x8203, idx:  8624 },
+  { start: 0x820f, end: 0x8228, idx:  8649 },
+  { start: 0x8232, end: 0x823a, idx:  8675 },
+  { start: 0x8243, end: 0x826d, idx:  8684 },
+  { start: 0x8274, end: 0x8274, idx:  8727 },
+  { start: 0x827b, end: 0x82bf, idx:  8728 },
+  { start: 0x82c6, end: 0x82c6, idx:  8797 },
+  { start: 0x82d0, end: 0x82ef, idx:  8798 },
+  { start: 0x82f6, end: 0x830b, idx:  8830 },
+  { start: 0x831b, end: 0x8322, idx:  8852 },
+  { start: 0x832c, end: 0x8357, idx:  8860 },
+  { start: 0x8370, end: 0x8370, idx:  8904 },
+  { start: 0x8378, end: 0x8386, idx:  8905 },
+  { start: 0x838d, end: 0x839d, idx:  8920 },
+  { start: 0x83a6, end: 0x83ad, idx:  8937 },
+  { start: 0x83be, end: 0x83c0, idx:  8945 },
+  { start: 0x83c7, end: 0x83d4, idx:  8948 },
+  { start: 0x83dd, end: 0x83dd, idx:  8962 },
+  { start: 0x83e8, end: 0x83ea, idx:  8963 },
+  { start: 0x83f6, end: 0x8419, idx:  8966 },
+  { start: 0x842f, end: 0x842f, idx:  9002 },
+  { start: 0x8439, end: 0x8439, idx:  9003 },
+  { start: 0x8445, end: 0x8485, idx:  9004 },
+  { start: 0x8492, end: 0x8495, idx:  9069 },
+  { start: 0x849e, end: 0x849e, idx:  9073 },
+  { start: 0x84a6, end: 0x84d3, idx:  9074 },
+  { start: 0x84dc, end: 0x84dc, idx:  9120 },
+  { start: 0x84e7, end: 0x8510, idx:  9121 },
+  { start: 0x851c, end: 0x8536, idx:  9163 },
+  { start: 0x853f, end: 0x853f, idx:  9190 },
+  { start: 0x8546, end: 0x8546, idx:  9191 },
+  { start: 0x854f, end: 0x8564, idx:  9192 },
+  { start: 0x856b, end: 0x856f, idx:  9214 },
+  { start: 0x8579, end: 0x85ad, idx:  9219 },
+  { start: 0x85b4, end: 0x85ce, idx:  9272 },
+  { start: 0x85d8, end: 0x8605, idx:  9299 },
+  { start: 0x860d, end: 0x8629, idx:  9345 },
+  { start: 0x8636, end: 0x8646, idx:  9374 },
+  { start: 0x8652, end: 0x867a, idx:  9391 },
+  { start: 0x8688, end: 0x86c5, idx:  9432 },
+  { start: 0x86d1, end: 0x86e7, idx:  9494 },
+  { start: 0x86fa, end: 0x86fd, idx:  9517 },
+  { start: 0x8704, end: 0x8732, idx:  9521 },
+  { start: 0x8739, end: 0x8745, idx:  9568 },
+  { start: 0x874d, end: 0x874d, idx:  9581 },
+  { start: 0x8758, end: 0x8765, idx:  9582 },
+  { start: 0x876f, end: 0x8772, idx:  9596 },
+  { start: 0x877b, end: 0x877b, idx:  9600 },
+  { start: 0x8783, end: 0x87b5, idx:  9601 },
+  { start: 0x87be, end: 0x87c1, idx:  9652 },
+  { start: 0x87c8, end: 0x87ce, idx:  9656 },
+  { start: 0x87d5, end: 0x881f, idx:  9663 },
+  { start: 0x8828, end: 0x8869, idx:  9738 },
+  { start: 0x8871, end: 0x8871, idx:  9804 },
+  { start: 0x8879, end: 0x8880, idx:  9805 },
+  { start: 0x8898, end: 0x88a0, idx:  9813 },
+  { start: 0x88a8, end: 0x88aa, idx:  9822 },
+  { start: 0x88ba, end: 0x88c0, idx:  9825 },
+  { start: 0x88ca, end: 0x88d3, idx:  9832 },
+  { start: 0x88db, end: 0x88de, idx:  9842 },
+  { start: 0x88e7, end: 0x88e7, idx:  9846 },
+  { start: 0x88ef, end: 0x88f7, idx:  9847 },
+  { start: 0x8901, end: 0x8906, idx:  9856 },
+  { start: 0x890d, end: 0x8928, idx:  9862 },
+  { start: 0x8930, end: 0x8963, idx:  9890 },
+  { start: 0x896b, end: 0x897d, idx:  9942 },
+  { start: 0x8989, end: 0x89a5, idx:  9961 },
+  { start: 0x89b0, end: 0x89bc, idx:  9990 },
+  { start: 0x89d4, end: 0x89d8, idx: 10003 },
+  { start: 0x89e5, end: 0x8a07, idx: 10008 },
+  { start: 0x8a0f, end: 0x8a15, idx: 10043 },
+  { start: 0x8a1e, end: 0x8a67, idx: 10050 },
+  { start: 0x8a75, end: 0x8a9f, idx: 10124 },
+  { start: 0x8aa7, end: 0x8aca, idx: 10167 },
+  { start: 0x8ad1, end: 0x8adf, idx: 10203 },
+  { start: 0x8aec, end: 0x8b11, idx: 10218 },
+  { start: 0x8b1c, end: 0x8b1f, idx: 10256 },
+  { start: 0x8b2d, end: 0x8b30, idx: 10260 },
+  { start: 0x8b37, end: 0x8b63, idx: 10264 },
+  { start: 0x8b6d, end: 0x8b6d, idx: 10309 },
+  { start: 0x8b76, end: 0x8b95, idx: 10310 },
+  { start: 0x8b9c, end: 0x8b9f, idx: 10342 },
+  { start: 0x8c38, end: 0x8c3e, idx: 10346 },
+  { start: 0x8c45, end: 0x8c7e, idx: 10353 },
+  { start: 0x8c86, end: 0x8c9c, idx: 10411 },
+  { start: 0x8ca4, end: 0x8ca4, idx: 10434 },
+  { start: 0x8cb9, end: 0x8cba, idx: 10435 },
+  { start: 0x8cc5, end: 0x8ce1, idx: 10437 },
+  { start: 0x8ce8, end: 0x8d09, idx: 10466 },
+  { start: 0x8d12, end: 0x8d1b, idx: 10500 },
+  { start: 0x8d65, end: 0x8d6e, idx: 10510 },
+  { start: 0x8d7f, end: 0x8d95, idx: 10520 },
+  { start: 0x8d9e, end: 0x8dd9, idx: 10543 },
+  { start: 0x8de4, end: 0x8df4, idx: 10603 },
+  { start: 0x8dfd, end: 0x8e16, idx: 10620 },
+  { start: 0x8e20, end: 0x8e27, idx: 10646 },
+  { start: 0x8e31, end: 0x8e41, idx: 10654 },
+  { start: 0x8e4b, end: 0x8e54, idx: 10671 },
+  { start: 0x8e5b, end: 0x8e62, idx: 10681 },
+  { start: 0x8e69, end: 0x8e71, idx: 10689 },
+  { start: 0x8e79, end: 0x8e7b, idx: 10698 },
+  { start: 0x8e82, end: 0x8e89, idx: 10701 },
+  { start: 0x8e90, end: 0x8ec7, idx: 10709 },
+  { start: 0x8ecf, end: 0x8ed4, idx: 10765 },
+  { start: 0x8edc, end: 0x8edc, idx: 10771 },
+  { start: 0x8ee8, end: 0x8f08, idx: 10772 },
+  { start: 0x8f0f, end: 0x8f47, idx: 10805 },
+  { start: 0x8f4f, end: 0x8f5e, idx: 10862 },
+  { start: 0x8f65, end: 0x8f65, idx: 10878 },
+  { start: 0x8f9d, end: 0x8fa6, idx: 10879 },
+  { start: 0x8fb5, end: 0x8fd5, idx: 10889 },
+  { start: 0x8fe0, end: 0x900c, idx: 10922 },
+  { start: 0x9018, end: 0x901b, idx: 10967 },
+  { start: 0x9028, end: 0x9037, idx: 10971 },
+  { start: 0x903f, end: 0x9044, idx: 10987 },
+  { start: 0x904c, end: 0x904c, idx: 10993 },
+  { start: 0x905b, end: 0x9079, idx: 10994 },
+  { start: 0x9085, end: 0x90a5, idx: 11025 },
+  { start: 0x90b0, end: 0x90b6, idx: 11058 },
+  { start: 0x90bd, end: 0x90f6, idx: 11065 },
+  { start: 0x90fe, end: 0x9148, idx: 11123 },
+  { start: 0x914f, end: 0x916d, idx: 11198 },
+  { start: 0x9174, end: 0x91c5, idx: 11229 },
+  { start: 0x91d3, end: 0x9251, idx: 11311 },
+  { start: 0x9258, end: 0x927f, idx: 11438 },
+  { start: 0x9288, end: 0x92f0, idx: 11478 },
+  { start: 0x92f9, end: 0x9315, idx: 11583 },
+  { start: 0x931c, end: 0x932a, idx: 11612 },
+  { start: 0x9333, end: 0x9337, idx: 11627 },
+  { start: 0x9347, end: 0x9349, idx: 11632 },
+  { start: 0x9350, end: 0x93ab, idx: 11635 },
+  { start: 0x93b4, end: 0x93ba, idx: 11727 },
+  { start: 0x93c1, end: 0x93e7, idx: 11734 },
+  { start: 0x93f7, end: 0x9417, idx: 11773 },
+  { start: 0x941f, end: 0x941f, idx: 11806 },
+  { start: 0x942e, end: 0x9434, idx: 11807 },
+  { start: 0x943b, end: 0x944c, idx: 11814 },
+  { start: 0x9455, end: 0x9472, idx: 11832 },
+  { start: 0x9483, end: 0x9484, idx: 11862 },
+  { start: 0x9578, end: 0x958e, idx: 11864 },
+  { start: 0x959d, end: 0x95ac, idx: 11887 },
+  { start: 0x95b4, end: 0x95bf, idx: 11903 },
+  { start: 0x95c6, end: 0x95e6, idx: 11915 },
+  { start: 0x961d, end: 0x9641, idx: 11948 },
+  { start: 0x9652, end: 0x9658, idx: 11985 },
+  { start: 0x9661, end: 0x9661, idx: 11992 },
+  { start: 0x966e, end: 0x9674, idx: 11993 },
+  { start: 0x967b, end: 0x9689, idx: 12000 },
+  { start: 0x9691, end: 0x96b3, idx: 12015 },
+  { start: 0x96ba, end: 0x96ba, idx: 12050 },
+  { start: 0x96ca, end: 0x96ca, idx: 12051 },
+  { start: 0x96d2, end: 0x96df, idx: 12052 },
+  { start: 0x96e9, end: 0x96f1, idx: 12066 },
+  { start: 0x96fa, end: 0x96fa, idx: 12075 },
+  { start: 0x9702, end: 0x9709, idx: 12076 },
+  { start: 0x971a, end: 0x9728, idx: 12084 },
+  { start: 0x9731, end: 0x9733, idx: 12099 },
+  { start: 0x9741, end: 0x9743, idx: 12102 },
+  { start: 0x974a, end: 0x975b, idx: 12105 },
+  { start: 0x9763, end: 0x9780, idx: 12123 },
+  { start: 0x9789, end: 0x9789, idx: 12153 },
+  { start: 0x9795, end: 0x97a2, idx: 12154 },
+  { start: 0x97ac, end: 0x97e4, idx: 12168 },
+  { start: 0x97ef, end: 0x97fa, idx: 12225 },
+  { start: 0x9807, end: 0x9835, idx: 12237 },
+  { start: 0x983e, end: 0x984a, idx: 12284 },
+  { start: 0x9851, end: 0x985a, idx: 12297 },
+  { start: 0x9862, end: 0x986c, idx: 12307 },
+  { start: 0x98ab, end: 0x98cc, idx: 12318 },
+  { start: 0x98e1, end: 0x98ea, idx: 12352 },
+  { start: 0x98f3, end: 0x98f6, idx: 12362 },
+  { start: 0x9902, end: 0x9908, idx: 12366 },
+  { start: 0x9911, end: 0x9960, idx: 12373 },
+  { start: 0x999b, end: 0x999f, idx: 12453 },
+  { start: 0x99a6, end: 0x99a6, idx: 12458 },
+  { start: 0x99b0, end: 0x99c9, idx: 12459 },
+  { start: 0x99d3, end: 0x99de, idx: 12485 },
+  { start: 0x99e7, end: 0x9a04, idx: 12497 },
+  { start: 0x9a0b, end: 0x9a16, idx: 12527 },
+  { start: 0x9a1e, end: 0x9a38, idx: 12539 },
+  { start: 0x9a41, end: 0x9a56, idx: 12566 },
+  { start: 0x9a5d, end: 0x9a5d, idx: 12588 },
+  { start: 0x9aaa, end: 0x9b3d, idx: 12589 },
+  { start: 0x9b48, end: 0x9b4c, idx: 12737 },
+  { start: 0x9b55, end: 0x9b9e, idx: 12742 },
+  { start: 0x9ba6, end: 0x9bd0, idx: 12816 },
+  { start: 0x9bd7, end: 0x9c02, idx: 12859 },
+  { start: 0x9c0b, end: 0x9c2a, idx: 12903 },
+  { start: 0x9c31, end: 0x9c7b, idx: 12935 },
+  { start: 0x9ce6, end: 0x9ce6, idx: 13010 },
+  { start: 0x9cf2, end: 0x9cf9, idx: 13011 },
+  { start: 0x9d02, end: 0x9d02, idx: 13019 },
+  { start: 0x9d0b, end: 0x9d1e, idx: 13020 },
+  { start: 0x9d2f, end: 0x9d4a, idx: 13040 },
+  { start: 0x9d53, end: 0x9d54, idx: 13068 },
+  { start: 0x9d5f, end: 0x9d98, idx: 13070 },
+  { start: 0x9da1, end: 0x9da1, idx: 13128 },
+  { start: 0x9daa, end: 0x9dca, idx: 13129 },
+  { start: 0x9dd4, end: 0x9df4, idx: 13162 },
+  { start: 0x9dfe, end: 0x9e1d, idx: 13195 },
+  { start: 0x9e7a, end: 0x9e87, idx: 13227 },
+  { start: 0x9e8e, end: 0x9e8f, idx: 13241 },
+  { start: 0x9e96, end: 0x9eb5, idx: 13243 },
+  { start: 0x9ec6, end: 0x9ecb, idx: 13275 },
+  { start: 0x9ed5, end: 0x9ed5, idx: 13281 },
+  { start: 0x9edf, end: 0x9ef8, idx: 13282 },
+  { start: 0x9eff, end: 0x9f47, idx: 13308 },
+  { start: 0x9f53, end: 0x9f5e, idx: 13381 },
+  { start: 0x9f68, end: 0x9f7d, idx: 13393 },
+  { start: 0x9f8f, end: 0x9f97, idx: 13415 },
+  { start: 0x9f9e, end: 0x9fa5, idx: 13424 },
+  { start: 0 }
+};
+
+
+/* The values corresponding to the table can be computed using
+
+    egrep '^0x[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]' \
+      .../eastasia/jis/jis0212.txt | awk '{ print $2, $1 }' |
+    sort -u | perl tab.pl
+
+   where tab.pl contains:
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $first=$last=$idx=0;
+
+   sub fmt {
+     printf ("\n ") if (($n % 6) == 0);
+     ++$n;
+     my($val) = pop(@_);
+     printf (" \"\\x%02x\\x%02x\",",
+	     $val < 256 ? $val : int($val / 256),
+	     $val < 256 ? 0 : $val % 256);
+   }
+
+   while (<>) {
+     local($ucs,$jis,%rest) = split;
+     local($u)=hex($ucs);
+     local($j)=hex($jis);
+     if ($u - $last > 6) {
+       if ($last != 0) {
+	 $idx += $last - $first + 1;
+       }
+       $first=$u;
+     } else {
+       for ($m = $last + 1; $m < $u; ++$m) {
+	 fmt (0);
+       }
+     }
+     fmt ($u);
+     $last=$u;
+   }
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+const char jisx0212_from_ucs[][2] =
+{
+  "\x7e\x00", "\xa1\x00", "\x00\x00", "\x00\x00", "\xa4\x00", "\x00\x00",
+  "\xa6\x00", "\x00\x00", "\x00\x00", "\xa9\x00", "\xaa\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\xae\x00", "\xaf\x00", "\xb8\x00", "\x00\x00",
+  "\xba\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\xbf\x00",
+  "\xc0\x00", "\xc1\x00", "\xc2\x00", "\xc3\x00", "\xc4\x00", "\xc5\x00",
+  "\xc6\x00", "\xc7\x00", "\xc8\x00", "\xc9\x00", "\xca\x00", "\xcb\x00",
+  "\xcc\x00", "\xcd\x00", "\xce\x00", "\xcf\x00", "\x00\x00", "\xd1\x00",
+  "\xd2\x00", "\xd3\x00", "\xd4\x00", "\xd5\x00", "\xd6\x00", "\x00\x00",
+  "\xd8\x00", "\xd9\x00", "\xda\x00", "\xdb\x00", "\xdc\x00", "\xdd\x00",
+  "\xde\x00", "\xdf\x00", "\xe0\x00", "\xe1\x00", "\xe2\x00", "\xe3\x00",
+  "\xe4\x00", "\xe5\x00", "\xe6\x00", "\xe7\x00", "\xe8\x00", "\xe9\x00",
+  "\xea\x00", "\xeb\x00", "\xec\x00", "\xed\x00", "\xee\x00", "\xef\x00",
+  "\xf0\x00", "\xf1\x00", "\xf2\x00", "\xf3\x00", "\xf4\x00", "\xf5\x00",
+  "\xf6\x00", "\x00\x00", "\xf8\x00", "\xf9\x00", "\xfa\x00", "\xfb\x00",
+  "\xfc\x00", "\xfd\x00", "\xfe\x00", "\xff\x00", "\x01\x00", "\x01\x01",
+  "\x01\x02", "\x01\x03", "\x01\x04", "\x01\x05", "\x01\x06", "\x01\x07",
+  "\x01\x08", "\x01\x09", "\x01\x0a", "\x01\x0b", "\x01\x0c", "\x01\x0d",
+  "\x01\x0e", "\x01\x0f", "\x01\x10", "\x01\x11", "\x01\x12", "\x01\x13",
+  "\x00\x00", "\x00\x00", "\x01\x16", "\x01\x17", "\x01\x18", "\x01\x19",
+  "\x01\x1a", "\x01\x1b", "\x01\x1c", "\x01\x1d", "\x01\x1e", "\x01\x1f",
+  "\x01\x20", "\x01\x21", "\x01\x22", "\x00\x00", "\x01\x24", "\x01\x25",
+  "\x01\x26", "\x01\x27", "\x01\x28", "\x01\x29", "\x01\x2a", "\x01\x2b",
+  "\x00\x00", "\x00\x00", "\x01\x2e", "\x01\x2f", "\x01\x30", "\x01\x31",
+  "\x01\x32", "\x01\x33", "\x01\x34", "\x01\x35", "\x01\x36", "\x01\x37",
+  "\x01\x38", "\x01\x39", "\x01\x3a", "\x01\x3b", "\x01\x3c", "\x01\x3d",
+  "\x01\x3e", "\x01\x3f", "\x01\x40", "\x01\x41", "\x01\x42", "\x01\x43",
+  "\x01\x44", "\x01\x45", "\x01\x46", "\x01\x47", "\x01\x48", "\x01\x49",
+  "\x01\x4a", "\x01\x4b", "\x01\x4c", "\x01\x4d", "\x00\x00", "\x00\x00",
+  "\x01\x50", "\x01\x51", "\x01\x52", "\x01\x53", "\x01\x54", "\x01\x55",
+  "\x01\x56", "\x01\x57", "\x01\x58", "\x01\x59", "\x01\x5a", "\x01\x5b",
+  "\x01\x5c", "\x01\x5d", "\x01\x5e", "\x01\x5f", "\x01\x60", "\x01\x61",
+  "\x01\x62", "\x01\x63", "\x01\x64", "\x01\x65", "\x01\x66", "\x01\x67",
+  "\x01\x68", "\x01\x69", "\x01\x6a", "\x01\x6b", "\x01\x6c", "\x01\x6d",
+  "\x01\x6e", "\x01\x6f", "\x01\x70", "\x01\x71", "\x01\x72", "\x01\x73",
+  "\x01\x74", "\x01\x75", "\x01\x76", "\x01\x77", "\x01\x78", "\x01\x79",
+  "\x01\x7a", "\x01\x7b", "\x01\x7c", "\x01\x7d", "\x01\x7e", "\x01\xcd",
+  "\x01\xce", "\x01\xcf", "\x01\xd0", "\x01\xd1", "\x01\xd2", "\x01\xd3",
+  "\x01\xd4", "\x01\xd5", "\x01\xd6", "\x01\xd7", "\x01\xd8", "\x01\xd9",
+  "\x01\xda", "\x01\xdb", "\x01\xdc", "\x01\xf5", "\x02\xc7", "\x02\xd8",
+  "\x02\xd9", "\x02\xda", "\x02\xdb", "\x00\x00", "\x02\xdd", "\x03\x84",
+  "\x03\x85", "\x03\x86", "\x00\x00", "\x03\x88", "\x03\x89", "\x03\x8a",
+  "\x00\x00", "\x03\x8c", "\x00\x00", "\x03\x8e", "\x03\x8f", "\x03\x90",
+  "\x03\xaa", "\x03\xab", "\x03\xac", "\x03\xad", "\x03\xae", "\x03\xaf",
+  "\x03\xb0", "\x03\xc2", "\x03\xca", "\x03\xcb", "\x03\xcc", "\x03\xcd",
+  "\x03\xce", "\x04\x02", "\x04\x03", "\x04\x04", "\x04\x05", "\x04\x06",
+  "\x04\x07", "\x04\x08", "\x04\x09", "\x04\x0a", "\x04\x0b", "\x04\x0c",
+  "\x00\x00", "\x04\x0e", "\x04\x0f", "\x04\x52", "\x04\x53", "\x04\x54",
+  "\x04\x55", "\x04\x56", "\x04\x57", "\x04\x58", "\x04\x59", "\x04\x5a",
+  "\x04\x5b", "\x04\x5c", "\x00\x00", "\x04\x5e", "\x04\x5f", "\x21\x16",
+  "\x21\x22", "\x4e\x02", "\x00\x00", "\x4e\x04", "\x4e\x05", "\x4e\x0c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x12",
+  "\x4e\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x23", "\x4e\x24",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x28", "\x00\x00", "\x00\x00",
+  "\x4e\x2b", "\x00\x00", "\x00\x00", "\x4e\x2e", "\x4e\x2f", "\x4e\x30",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x35", "\x4e\x40",
+  "\x4e\x41", "\x00\x00", "\x00\x00", "\x4e\x44", "\x00\x00", "\x00\x00",
+  "\x4e\x47", "\x4e\x51", "\x4e\x5a", "\x00\x00", "\x4e\x5c", "\x4e\x63",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x68", "\x4e\x69",
+  "\x4e\x74", "\x4e\x75", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x79",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\x7f",
+  "\x4e\x8d", "\x4e\x96", "\x4e\x97", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4e\x9d", "\x4e\xaf", "\x4e\xb9", "\x4e\xc3",
+  "\x4e\xd0", "\x4e\xda", "\x4e\xdb", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x4e\xe0", "\x4e\xe1", "\x4e\xe2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4e\xe8", "\x4e\xef", "\x00\x00",
+  "\x4e\xf1", "\x00\x00", "\x4e\xf3", "\x00\x00", "\x4e\xf5", "\x4e\xfd",
+  "\x4e\xfe", "\x4e\xff", "\x4f\x00", "\x00\x00", "\x4f\x02", "\x4f\x03",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x08", "\x00\x00",
+  "\x00\x00", "\x4f\x0b", "\x4f\x0c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4f\x12", "\x00\x00", "\x00\x00", "\x4f\x15",
+  "\x4f\x16", "\x4f\x17", "\x00\x00", "\x4f\x19", "\x4f\x2e", "\x00\x00",
+  "\x00\x00", "\x4f\x31", "\x00\x00", "\x4f\x33", "\x00\x00", "\x4f\x35",
+  "\x00\x00", "\x4f\x37", "\x00\x00", "\x4f\x39", "\x00\x00", "\x4f\x3b",
+  "\x00\x00", "\x00\x00", "\x4f\x3e", "\x00\x00", "\x4f\x40", "\x00\x00",
+  "\x4f\x42", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x4f\x48", "\x4f\x49", "\x00\x00", "\x4f\x4b", "\x4f\x4c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x52", "\x00\x00",
+  "\x4f\x54", "\x00\x00", "\x4f\x56", "\x00\x00", "\x4f\x58", "\x4f\x5f",
+  "\x4f\x60", "\x00\x00", "\x00\x00", "\x4f\x63", "\x4f\x6a", "\x00\x00",
+  "\x4f\x6c", "\x00\x00", "\x4f\x6e", "\x00\x00", "\x00\x00", "\x4f\x71",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x77",
+  "\x4f\x78", "\x4f\x79", "\x4f\x7a", "\x00\x00", "\x00\x00", "\x4f\x7d",
+  "\x4f\x7e", "\x00\x00", "\x00\x00", "\x4f\x81", "\x4f\x82", "\x00\x00",
+  "\x4f\x84", "\x4f\x85", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\x89",
+  "\x4f\x8a", "\x00\x00", "\x4f\x8c", "\x00\x00", "\x4f\x8e", "\x00\x00",
+  "\x4f\x90", "\x00\x00", "\x4f\x92", "\x4f\x93", "\x4f\x94", "\x00\x00",
+  "\x00\x00", "\x4f\x97", "\x00\x00", "\x4f\x99", "\x4f\x9a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x4f\x9e", "\x4f\x9f", "\x4f\xb2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xb7", "\x00\x00", "\x4f\xb9",
+  "\x00\x00", "\x4f\xbb", "\x4f\xbc", "\x4f\xbd", "\x4f\xbe", "\x00\x00",
+  "\x4f\xc0", "\x4f\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xc5",
+  "\x4f\xc6", "\x00\x00", "\x4f\xc8", "\x4f\xc9", "\x00\x00", "\x4f\xcb",
+  "\x4f\xcc", "\x4f\xcd", "\x00\x00", "\x4f\xcf", "\x00\x00", "\x00\x00",
+  "\x4f\xd2", "\x4f\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x4f\xe0",
+  "\x00\x00", "\x4f\xe2", "\x4f\xf0", "\x00\x00", "\x4f\xf2", "\x4f\xfc",
+  "\x4f\xfd", "\x00\x00", "\x4f\xff", "\x50\x00", "\x50\x01", "\x00\x00",
+  "\x00\x00", "\x50\x04", "\x00\x00", "\x00\x00", "\x50\x07", "\x00\x00",
+  "\x00\x00", "\x50\x0a", "\x00\x00", "\x50\x0c", "\x00\x00", "\x50\x0e",
+  "\x00\x00", "\x50\x10", "\x00\x00", "\x00\x00", "\x50\x13", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\x17", "\x50\x18", "\x00\x00", "\x00\x00",
+  "\x50\x1b", "\x50\x1c", "\x50\x1d", "\x50\x1e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x50\x27", "\x50\x2e", "\x00\x00", "\x50\x30", "\x00\x00", "\x50\x32",
+  "\x50\x33", "\x00\x00", "\x50\x35", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\x3b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\x40", "\x50\x41", "\x50\x42", "\x00\x00", "\x00\x00",
+  "\x50\x45", "\x50\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x4a",
+  "\x00\x00", "\x50\x4c", "\x00\x00", "\x50\x4e", "\x00\x00", "\x00\x00",
+  "\x50\x51", "\x50\x52", "\x50\x53", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x50\x57", "\x00\x00", "\x50\x59", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\x5f", "\x50\x60", "\x00\x00", "\x50\x62",
+  "\x50\x63", "\x00\x00", "\x00\x00", "\x50\x66", "\x50\x67", "\x00\x00",
+  "\x00\x00", "\x50\x6a", "\x00\x00", "\x00\x00", "\x50\x6d", "\x00\x00",
+  "\x00\x00", "\x50\x70", "\x50\x71", "\x50\x81", "\x00\x00", "\x50\x83",
+  "\x50\x84", "\x00\x00", "\x50\x86", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x50\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x8e", "\x50\x8f",
+  "\x50\x90", "\x00\x00", "\x50\x92", "\x50\x93", "\x50\x94", "\x00\x00",
+  "\x50\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\x9b",
+  "\x50\x9c", "\x00\x00", "\x50\x9e", "\x50\x9f", "\x50\xa0", "\x50\xa1",
+  "\x50\xa2", "\x50\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x50\xaf", "\x50\xb0", "\x50\xb9", "\x50\xba", "\x00\x00", "\x00\x00",
+  "\x50\xbd", "\x00\x00", "\x00\x00", "\x50\xc0", "\x00\x00", "\x00\x00",
+  "\x50\xc3", "\x50\xc4", "\x00\x00", "\x00\x00", "\x50\xc7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xcc", "\x00\x00", "\x50\xce",
+  "\x00\x00", "\x50\xd0", "\x00\x00", "\x00\x00", "\x50\xd3", "\x50\xd4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xd8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\xdc", "\x50\xdd", "\x00\x00", "\x50\xdf", "\x00\x00",
+  "\x00\x00", "\x50\xe2", "\x00\x00", "\x50\xe4", "\x00\x00", "\x50\xe6",
+  "\x00\x00", "\x50\xe8", "\x50\xe9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x50\xef", "\x00\x00", "\x50\xf1", "\x50\xf2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xf6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x50\xfa", "\x00\x00", "\x00\x00", "\x00\x00", "\x50\xfe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x03", "\x00\x00",
+  "\x00\x00", "\x51\x06", "\x51\x07", "\x51\x08", "\x00\x00", "\x00\x00",
+  "\x51\x0b", "\x51\x0c", "\x51\x0d", "\x51\x0e", "\x00\x00", "\x51\x10",
+  "\x51\x17", "\x00\x00", "\x51\x19", "\x00\x00", "\x51\x1b", "\x51\x1c",
+  "\x51\x1d", "\x51\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x51\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x27", "\x51\x28",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x2c", "\x51\x2d", "\x00\x00",
+  "\x51\x2f", "\x00\x00", "\x51\x31", "\x00\x00", "\x51\x33", "\x51\x34",
+  "\x51\x35", "\x00\x00", "\x00\x00", "\x51\x38", "\x51\x39", "\x51\x42",
+  "\x51\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x4f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x53", "\x00\x00", "\x51\x55",
+  "\x00\x00", "\x51\x57", "\x51\x58", "\x51\x5f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x51\x64", "\x00\x00", "\x51\x66", "\x51\x7e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x83", "\x51\x84",
+  "\x51\x8b", "\x00\x00", "\x00\x00", "\x51\x8e", "\x51\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\x9d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x51\xa1", "\x00\x00", "\x51\xa3", "\x51\xad", "\x51\xb8",
+  "\x00\x00", "\x51\xba", "\x00\x00", "\x51\xbc", "\x00\x00", "\x51\xbe",
+  "\x51\xbf", "\x00\x00", "\x00\x00", "\x51\xc2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xc8", "\x51\xcf", "\x00\x00",
+  "\x51\xd1", "\x51\xd2", "\x51\xd3", "\x00\x00", "\x51\xd5", "\x00\x00",
+  "\x00\x00", "\x51\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x51\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x51\xe2",
+  "\x00\x00", "\x00\x00", "\x51\xe5", "\x51\xee", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x51\xf2", "\x51\xf3", "\x51\xf4", "\x00\x00", "\x00\x00",
+  "\x51\xf7", "\x52\x01", "\x52\x02", "\x00\x00", "\x00\x00", "\x52\x05",
+  "\x52\x12", "\x52\x13", "\x00\x00", "\x52\x15", "\x52\x16", "\x00\x00",
+  "\x52\x18", "\x52\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x52\x28", "\x52\x31", "\x52\x32", "\x00\x00", "\x00\x00",
+  "\x52\x35", "\x52\x3c", "\x52\x45", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x52\x49", "\x52\x55", "\x00\x00", "\x52\x57", "\x52\x58", "\x00\x00",
+  "\x52\x5a", "\x00\x00", "\x52\x5c", "\x00\x00", "\x00\x00", "\x52\x5f",
+  "\x52\x60", "\x52\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x52\x66", "\x52\x6e", "\x52\x77", "\x52\x78", "\x52\x79", "\x52\x80",
+  "\x00\x00", "\x52\x82", "\x00\x00", "\x00\x00", "\x52\x85", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x52\x8a", "\x00\x00", "\x52\x8c",
+  "\x52\x93", "\x00\x00", "\x52\x95", "\x52\x96", "\x52\x97", "\x52\x98",
+  "\x00\x00", "\x52\x9a", "\x00\x00", "\x52\x9c", "\x52\xa4", "\x52\xa5",
+  "\x52\xa6", "\x52\xa7", "\x52\xaf", "\x52\xb0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xb6", "\x52\xb7", "\x52\xb8",
+  "\x00\x00", "\x52\xba", "\x52\xbb", "\x00\x00", "\x52\xbd", "\x00\x00",
+  "\x00\x00", "\x52\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xc4",
+  "\x00\x00", "\x52\xc6", "\x00\x00", "\x52\xc8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x52\xcc", "\x00\x00", "\x00\x00", "\x52\xcf", "\x00\x00",
+  "\x52\xd1", "\x00\x00", "\x00\x00", "\x52\xd4", "\x00\x00", "\x52\xd6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xdb", "\x52\xdc",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x52\xe1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x52\xe5", "\x00\x00", "\x00\x00", "\x52\xe8",
+  "\x52\xe9", "\x52\xea", "\x00\x00", "\x52\xec", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x52\xf0", "\x52\xf1", "\x00\x00", "\x00\x00", "\x52\xf4",
+  "\x00\x00", "\x52\xf6", "\x52\xf7", "\x53\x00", "\x00\x00", "\x00\x00",
+  "\x53\x03", "\x53\x0a", "\x53\x0b", "\x53\x0c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\x11", "\x00\x00", "\x53\x13", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x18", "\x00\x00", "\x00\x00",
+  "\x53\x1b", "\x53\x1c", "\x00\x00", "\x53\x1e", "\x53\x1f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x25", "\x00\x00",
+  "\x53\x27", "\x53\x28", "\x53\x29", "\x00\x00", "\x53\x2b", "\x53\x2c",
+  "\x53\x2d", "\x00\x00", "\x00\x00", "\x53\x30", "\x00\x00", "\x53\x32",
+  "\x00\x00", "\x00\x00", "\x53\x35", "\x53\x3c", "\x53\x3d", "\x53\x3e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x42", "\x53\x4b", "\x53\x4c",
+  "\x53\x59", "\x00\x00", "\x53\x5b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\x61", "\x00\x00", "\x53\x63", "\x00\x00",
+  "\x53\x65", "\x53\x6c", "\x53\x6d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x53\x72", "\x53\x79", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x53\x7e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x87", "\x53\x88",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x8e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x93", "\x53\x94",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x53\x99", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\x9d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\xa1", "\x00\x00", "\x00\x00", "\x53\xa4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x53\xaa", "\x53\xab", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x53\xaf", "\x00\x00", "\x00\x00", "\x53\xb2",
+  "\x00\x00", "\x53\xb4", "\x53\xb5", "\x00\x00", "\x53\xb7", "\x53\xb8",
+  "\x00\x00", "\x53\xba", "\x00\x00", "\x00\x00", "\x53\xbd", "\x00\x00",
+  "\x00\x00", "\x53\xc0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\xc5", "\x53\xcf", "\x00\x00", "\x00\x00", "\x53\xd2", "\x53\xd3",
+  "\x00\x00", "\x53\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\xda", "\x00\x00", "\x00\x00", "\x53\xdd", "\x53\xde", "\x00\x00",
+  "\x53\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x53\xe6", "\x53\xe7", "\x53\xf5", "\x54\x02", "\x54\x13", "\x54\x1a",
+  "\x54\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\x27", "\x54\x28", "\x00\x00", "\x54\x2a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x2f", "\x00\x00", "\x54\x31", "\x00\x00",
+  "\x00\x00", "\x54\x34", "\x54\x35", "\x54\x43", "\x54\x44", "\x00\x00",
+  "\x00\x00", "\x54\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x54\x4d", "\x00\x00", "\x54\x4f", "\x54\x5e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x62", "\x00\x00", "\x54\x64", "\x00\x00",
+  "\x54\x66", "\x54\x67", "\x00\x00", "\x54\x69", "\x00\x00", "\x54\x6b",
+  "\x00\x00", "\x54\x6d", "\x54\x6e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x74", "\x54\x7f", "\x00\x00", "\x54\x81",
+  "\x00\x00", "\x54\x83", "\x00\x00", "\x54\x85", "\x00\x00", "\x00\x00",
+  "\x54\x88", "\x54\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x54\x91", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x54\x95", "\x54\x96", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x54\x9c", "\x00\x00", "\x00\x00", "\x54\x9f",
+  "\x00\x00", "\x54\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\xa6", "\x54\xa7", "\x00\x00", "\x54\xa9", "\x54\xaa", "\x00\x00",
+  "\x00\x00", "\x54\xad", "\x54\xae", "\x00\x00", "\x00\x00", "\x54\xb1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x54\xb7",
+  "\x00\x00", "\x54\xb9", "\x54\xba", "\x54\xbb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x54\xbf", "\x54\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\xca", "\x00\x00", "\x00\x00", "\x54\xcd", "\x54\xce", "\x54\xe0",
+  "\x54\xea", "\x00\x00", "\x54\xec", "\x00\x00", "\x00\x00", "\x54\xef",
+  "\x54\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x54\xfc", "\x00\x00", "\x54\xfe", "\x54\xff", "\x55\x00", "\x55\x01",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x05", "\x00\x00", "\x00\x00",
+  "\x55\x08", "\x55\x09", "\x00\x00", "\x00\x00", "\x55\x0c", "\x55\x0d",
+  "\x55\x0e", "\x55\x15", "\x55\x2a", "\x55\x2b", "\x55\x32", "\x00\x00",
+  "\x00\x00", "\x55\x35", "\x55\x36", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x55\x3b", "\x55\x3c", "\x55\x3d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x55\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x55\x47", "\x00\x00", "\x55\x49", "\x55\x4a", "\x00\x00",
+  "\x00\x00", "\x55\x4d", "\x00\x00", "\x00\x00", "\x55\x50", "\x55\x51",
+  "\x55\x58", "\x00\x00", "\x55\x5a", "\x55\x5b", "\x00\x00", "\x00\x00",
+  "\x55\x5e", "\x00\x00", "\x55\x60", "\x55\x61", "\x00\x00", "\x00\x00",
+  "\x55\x64", "\x00\x00", "\x55\x66", "\x55\x7f", "\x00\x00", "\x55\x81",
+  "\x55\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\x86", "\x00\x00",
+  "\x55\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x55\x8e", "\x55\x8f", "\x00\x00", "\x55\x91", "\x55\x92", "\x55\x93",
+  "\x55\x94", "\x00\x00", "\x00\x00", "\x55\x97", "\x55\xa3", "\x55\xa4",
+  "\x55\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xb2",
+  "\x55\xbf", "\x00\x00", "\x55\xc1", "\x00\x00", "\x55\xc3", "\x00\x00",
+  "\x00\x00", "\x55\xc6", "\x00\x00", "\x00\x00", "\x55\xc9", "\x00\x00",
+  "\x55\xcb", "\x55\xcc", "\x00\x00", "\x55\xce", "\x00\x00", "\x00\x00",
+  "\x55\xd1", "\x55\xd2", "\x55\xd3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x55\xd7", "\x55\xd8", "\x00\x00", "\x00\x00", "\x55\xdb", "\x00\x00",
+  "\x00\x00", "\x55\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x55\xe2",
+  "\x55\xe9", "\x55\xf6", "\x55\xff", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x56\x05", "\x00\x00", "\x00\x00", "\x56\x08",
+  "\x00\x00", "\x56\x0a", "\x00\x00", "\x00\x00", "\x56\x0d", "\x56\x0e",
+  "\x56\x0f", "\x56\x10", "\x56\x11", "\x56\x12", "\x56\x19", "\x56\x2c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x30", "\x00\x00", "\x00\x00",
+  "\x56\x33", "\x00\x00", "\x56\x35", "\x00\x00", "\x56\x37", "\x00\x00",
+  "\x56\x39", "\x00\x00", "\x56\x3b", "\x56\x3c", "\x56\x3d", "\x00\x00",
+  "\x56\x3f", "\x56\x40", "\x56\x41", "\x00\x00", "\x56\x43", "\x56\x44",
+  "\x00\x00", "\x56\x46", "\x00\x00", "\x00\x00", "\x56\x49", "\x00\x00",
+  "\x56\x4b", "\x00\x00", "\x56\x4d", "\x00\x00", "\x56\x4f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x54", "\x56\x5e", "\x00\x00",
+  "\x56\x60", "\x56\x61", "\x56\x62", "\x56\x63", "\x00\x00", "\x00\x00",
+  "\x56\x66", "\x00\x00", "\x00\x00", "\x56\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x56\x6d", "\x00\x00", "\x56\x6f", "\x00\x00", "\x56\x71",
+  "\x56\x72", "\x00\x00", "\x00\x00", "\x56\x75", "\x56\x84", "\x56\x85",
+  "\x00\x00", "\x00\x00", "\x56\x88", "\x00\x00", "\x00\x00", "\x56\x8b",
+  "\x56\x8c", "\x56\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\x99",
+  "\x56\x9a", "\x00\x00", "\x00\x00", "\x56\x9d", "\x56\x9e", "\x56\x9f",
+  "\x56\xa6", "\x56\xa7", "\x56\xa8", "\x56\xa9", "\x00\x00", "\x56\xab",
+  "\x56\xac", "\x56\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xb1",
+  "\x00\x00", "\x56\xb3", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xb7",
+  "\x56\xbe", "\x56\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x56\xc9",
+  "\x56\xca", "\x56\xcb", "\x56\xcc", "\x56\xcd", "\x00\x00", "\x56\xcf",
+  "\x56\xd0", "\x56\xd9", "\x00\x00", "\x00\x00", "\x56\xdc", "\x56\xdd",
+  "\x00\x00", "\x56\xdf", "\x00\x00", "\x56\xe1", "\x00\x00", "\x00\x00",
+  "\x56\xe4", "\x56\xe5", "\x56\xe6", "\x56\xe7", "\x56\xe8", "\x00\x00",
+  "\x00\x00", "\x56\xeb", "\x00\x00", "\x56\xed", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x56\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x56\xf6", "\x56\xf7", "\x57\x01", "\x57\x02", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x57\x07", "\x00\x00", "\x00\x00", "\x57\x0a",
+  "\x00\x00", "\x57\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x15", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x1a", "\x57\x1b", "\x00\x00",
+  "\x57\x1d", "\x00\x00", "\x00\x00", "\x57\x20", "\x00\x00", "\x57\x22",
+  "\x57\x23", "\x57\x24", "\x57\x25", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\x29", "\x57\x2a", "\x00\x00", "\x57\x2c", "\x00\x00", "\x57\x2e",
+  "\x57\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x33", "\x57\x34",
+  "\x57\x3d", "\x57\x3e", "\x57\x3f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x57\x45", "\x57\x46", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x4c", "\x57\x4d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\x52", "\x57\x62", "\x00\x00",
+  "\x00\x00", "\x57\x65", "\x00\x00", "\x57\x67", "\x57\x68", "\x00\x00",
+  "\x00\x00", "\x57\x6b", "\x00\x00", "\x57\x6d", "\x57\x6e", "\x57\x6f",
+  "\x57\x70", "\x57\x71", "\x00\x00", "\x57\x73", "\x57\x74", "\x57\x75",
+  "\x00\x00", "\x57\x77", "\x00\x00", "\x57\x79", "\x57\x7a", "\x57\x7b",
+  "\x57\x7c", "\x00\x00", "\x57\x7e", "\x00\x00", "\x00\x00", "\x57\x81",
+  "\x00\x00", "\x57\x83", "\x57\x8c", "\x57\x94", "\x57\x95", "\x00\x00",
+  "\x57\x97", "\x00\x00", "\x57\x99", "\x57\x9a", "\x00\x00", "\x57\x9c",
+  "\x57\x9d", "\x57\x9e", "\x57\x9f", "\x00\x00", "\x57\xa1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xa7", "\x57\xa8",
+  "\x57\xa9", "\x00\x00", "\x00\x00", "\x57\xac", "\x57\xb8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xbd", "\x57\xc7", "\x57\xc8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xcc", "\x00\x00", "\x00\x00",
+  "\x57\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x57\xd5", "\x57\xdd", "\x57\xde", "\x00\x00", "\x00\x00", "\x57\xe1",
+  "\x00\x00", "\x00\x00", "\x57\xe4", "\x00\x00", "\x57\xe6", "\x57\xe7",
+  "\x00\x00", "\x57\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xed",
+  "\x00\x00", "\x00\x00", "\x57\xf0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x57\xf5", "\x57\xf6", "\x00\x00", "\x57\xf8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x57\xfd", "\x57\xfe", "\x57\xff",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x03", "\x58\x04", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x08", "\x58\x09", "\x00\x00", "\x00\x00",
+  "\x58\x0c", "\x58\x0d", "\x58\x1b", "\x00\x00", "\x00\x00", "\x58\x1e",
+  "\x58\x1f", "\x58\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\x26", "\x58\x27", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x2d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\x32", "\x58\x39", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x58\x3f", "\x58\x49", "\x00\x00", "\x00\x00",
+  "\x58\x4c", "\x58\x4d", "\x00\x00", "\x58\x4f", "\x58\x50", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x55", "\x58\x5f", "\x00\x00",
+  "\x58\x61", "\x00\x00", "\x00\x00", "\x58\x64", "\x00\x00", "\x00\x00",
+  "\x58\x67", "\x58\x68", "\x58\x78", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\x7c", "\x00\x00", "\x00\x00", "\x58\x7f", "\x58\x80", "\x58\x81",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\x87",
+  "\x58\x88", "\x58\x89", "\x58\x8a", "\x00\x00", "\x58\x8c", "\x58\x8d",
+  "\x00\x00", "\x58\x8f", "\x58\x90", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\x94", "\x00\x00", "\x58\x96", "\x58\x9d", "\x00\x00", "\x00\x00",
+  "\x58\xa0", "\x58\xa1", "\x58\xa2", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\xa6", "\x00\x00", "\x00\x00", "\x58\xa9", "\x58\xb1", "\x58\xb2",
+  "\x58\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\xc2", "\x00\x00", "\x58\xc4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x58\xcd",
+  "\x58\xce", "\x00\x00", "\x58\xd0", "\x00\x00", "\x58\xd2", "\x00\x00",
+  "\x58\xd4", "\x00\x00", "\x58\xd6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x58\xda", "\x00\x00", "\x00\x00", "\x58\xdd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x58\xe1", "\x58\xe2", "\x58\xe9", "\x58\xf3", "\x59\x05",
+  "\x59\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x0b",
+  "\x59\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\x12", "\x59\x13", "\x59\x14", "\x59\x1d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\x21", "\x00\x00", "\x59\x23", "\x59\x24", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\x28", "\x59\x2f", "\x59\x30", "\x00\x00",
+  "\x00\x00", "\x59\x33", "\x00\x00", "\x59\x35", "\x59\x36", "\x59\x3f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x59\x43", "\x00\x00", "\x00\x00",
+  "\x59\x46", "\x59\x52", "\x59\x53", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\x59", "\x00\x00", "\x59\x5b", "\x00\x00",
+  "\x59\x5d", "\x59\x5e", "\x59\x5f", "\x00\x00", "\x59\x61", "\x00\x00",
+  "\x59\x63", "\x59\x6b", "\x00\x00", "\x59\x6d", "\x00\x00", "\x59\x6f",
+  "\x00\x00", "\x00\x00", "\x59\x72", "\x00\x00", "\x00\x00", "\x59\x75",
+  "\x59\x76", "\x00\x00", "\x00\x00", "\x59\x79", "\x00\x00", "\x59\x7b",
+  "\x59\x7c", "\x59\x8b", "\x59\x8c", "\x00\x00", "\x59\x8e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\x92", "\x00\x00", "\x00\x00", "\x59\x95",
+  "\x00\x00", "\x59\x97", "\x59\x9f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\xa4", "\x00\x00", "\x00\x00", "\x59\xa7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xad", "\x59\xae",
+  "\x59\xaf", "\x59\xb0", "\x00\x00", "\x00\x00", "\x59\xb3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x59\xb7", "\x00\x00", "\x00\x00", "\x59\xba",
+  "\x00\x00", "\x59\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\xc1", "\x00\x00", "\x59\xc3", "\x59\xc4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x59\xc8", "\x00\x00", "\x59\xca", "\x00\x00", "\x00\x00",
+  "\x59\xcd", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x59\xd2",
+  "\x59\xdd", "\x59\xde", "\x59\xdf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x59\xe3", "\x59\xe4", "\x00\x00", "\x00\x00", "\x59\xe7", "\x59\xee",
+  "\x59\xef", "\x00\x00", "\x59\xf1", "\x59\xf2", "\x00\x00", "\x59\xf4",
+  "\x00\x00", "\x00\x00", "\x59\xf7", "\x5a\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\x04", "\x5a\x0c", "\x5a\x0d", "\x5a\x0e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\x12", "\x5a\x13", "\x5a\x1e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x23", "\x5a\x24", "\x00\x00",
+  "\x00\x00", "\x5a\x27", "\x5a\x28", "\x00\x00", "\x5a\x2a", "\x00\x00",
+  "\x00\x00", "\x5a\x2d", "\x00\x00", "\x00\x00", "\x5a\x30", "\x5a\x44",
+  "\x5a\x45", "\x00\x00", "\x5a\x47", "\x5a\x48", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x50",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x55", "\x5a\x5e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x63", "\x00\x00",
+  "\x5a\x65", "\x00\x00", "\x5a\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\x6d", "\x5a\x77", "\x00\x00", "\x00\x00",
+  "\x5a\x7a", "\x5a\x7b", "\x00\x00", "\x00\x00", "\x5a\x7e", "\x5a\x8b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\x90", "\x00\x00",
+  "\x00\x00", "\x5a\x93", "\x00\x00", "\x00\x00", "\x5a\x96", "\x00\x00",
+  "\x00\x00", "\x5a\x99", "\x00\x00", "\x00\x00", "\x5a\x9c", "\x00\x00",
+  "\x5a\x9e", "\x5a\x9f", "\x5a\xa0", "\x00\x00", "\x5a\xa2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xa7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\xac", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\xb1", "\x5a\xb2", "\x5a\xb3", "\x00\x00", "\x5a\xb5",
+  "\x00\x00", "\x00\x00", "\x5a\xb8", "\x00\x00", "\x5a\xba", "\x5a\xbb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xbf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\xc4", "\x00\x00", "\x5a\xc6", "\x00\x00",
+  "\x5a\xc8", "\x5a\xcf", "\x5a\xda", "\x00\x00", "\x5a\xdc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5a\xe0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5a\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5a\xea", "\x00\x00", "\x00\x00", "\x00\x00", "\x5a\xee", "\x5a\xf5",
+  "\x5a\xf6", "\x5a\xfd", "\x00\x00", "\x00\x00", "\x5b\x00", "\x5b\x01",
+  "\x5b\x08", "\x5b\x17", "\x00\x00", "\x5b\x19", "\x00\x00", "\x5b\x1b",
+  "\x00\x00", "\x5b\x1d", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x21",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x25", "\x5b\x2d", "\x5b\x34",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x38", "\x5b\x41", "\x5b\x4b",
+  "\x5b\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5b\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x56", "\x5b\x5e",
+  "\x5b\x68", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5b\x6e", "\x5b\x6f", "\x5b\x7c", "\x5b\x7d", "\x5b\x7e", "\x5b\x7f",
+  "\x00\x00", "\x5b\x81", "\x00\x00", "\x00\x00", "\x5b\x84", "\x00\x00",
+  "\x5b\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\x8a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5b\x8e", "\x00\x00", "\x5b\x90", "\x5b\x91",
+  "\x00\x00", "\x5b\x93", "\x5b\x94", "\x00\x00", "\x5b\x96", "\x5b\xa8",
+  "\x5b\xa9", "\x00\x00", "\x00\x00", "\x5b\xac", "\x5b\xad", "\x00\x00",
+  "\x5b\xaf", "\x00\x00", "\x5b\xb1", "\x5b\xb2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5b\xb7", "\x00\x00", "\x00\x00", "\x5b\xba",
+  "\x00\x00", "\x5b\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x5b\xc0",
+  "\x5b\xc1", "\x5b\xcd", "\x00\x00", "\x5b\xcf", "\x5b\xd6", "\x5b\xd7",
+  "\x5b\xd8", "\x5b\xd9", "\x5b\xda", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5b\xe0", "\x5b\xef", "\x00\x00", "\x5b\xf1",
+  "\x00\x00", "\x00\x00", "\x5b\xf4", "\x5b\xfd", "\x5c\x0c", "\x5c\x17",
+  "\x5c\x1e", "\x5c\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x23",
+  "\x00\x00", "\x00\x00", "\x5c\x26", "\x00\x00", "\x00\x00", "\x5c\x29",
+  "\x00\x00", "\x5c\x2b", "\x5c\x2c", "\x00\x00", "\x5c\x2e", "\x00\x00",
+  "\x5c\x30", "\x00\x00", "\x5c\x32", "\x00\x00", "\x00\x00", "\x5c\x35",
+  "\x5c\x36", "\x5c\x59", "\x5c\x5a", "\x00\x00", "\x5c\x5c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x62", "\x5c\x63",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x67", "\x5c\x68", "\x5c\x69",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x6d", "\x00\x00", "\x00\x00",
+  "\x5c\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x74", "\x5c\x75",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x7a", "\x5c\x7b",
+  "\x5c\x7c", "\x5c\x7d", "\x5c\x87", "\x5c\x88", "\x00\x00", "\x5c\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\x8f", "\x00\x00",
+  "\x00\x00", "\x5c\x92", "\x5c\x9d", "\x00\x00", "\x5c\x9f", "\x5c\xa0",
+  "\x00\x00", "\x5c\xa2", "\x5c\xa3", "\x00\x00", "\x00\x00", "\x5c\xa6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xaa", "\x5c\xb2", "\x00\x00",
+  "\x5c\xb4", "\x5c\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5c\xba", "\x5c\xc9", "\x00\x00", "\x5c\xcb", "\x5c\xd2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xd7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5c\xdd", "\x5c\xee", "\x00\x00",
+  "\x00\x00", "\x5c\xf1", "\x5c\xf2", "\x00\x00", "\x5c\xf4", "\x5d\x01",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x06", "\x5d\x0d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x12", "\x5d\x23",
+  "\x5d\x24", "\x00\x00", "\x5d\x26", "\x5d\x27", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\x2b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\x31", "\x00\x00", "\x00\x00", "\x5d\x34", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x39", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\x3d", "\x00\x00", "\x5d\x3f", "\x00\x00", "\x00\x00",
+  "\x5d\x42", "\x5d\x43", "\x00\x00", "\x00\x00", "\x5d\x46", "\x00\x00",
+  "\x5d\x48", "\x00\x00", "\x5d\x4a", "\x5d\x51", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x59",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x5f",
+  "\x5d\x60", "\x5d\x61", "\x5d\x62", "\x00\x00", "\x5d\x64", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x6a", "\x00\x00",
+  "\x00\x00", "\x5d\x6d", "\x00\x00", "\x00\x00", "\x5d\x70", "\x5d\x79",
+  "\x5d\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\x7e", "\x5d\x7f",
+  "\x00\x00", "\x5d\x81", "\x00\x00", "\x5d\x83", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5d\x88", "\x00\x00", "\x5d\x8a", "\x5d\x92",
+  "\x5d\x93", "\x5d\x94", "\x5d\x95", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5d\x99", "\x00\x00", "\x5d\x9b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5d\x9f", "\x5d\xa0", "\x5d\xa7", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5d\xab", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xb0",
+  "\x00\x00", "\x5d\xb2", "\x00\x00", "\x5d\xb4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\xb8", "\x5d\xb9", "\x5d\xc3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5d\xc7", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xcb",
+  "\x00\x00", "\x00\x00", "\x5d\xce", "\x00\x00", "\x5d\xd0", "\x5d\xd8",
+  "\x5d\xd9", "\x5d\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xe4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5d\xe9", "\x5d\xf8",
+  "\x5d\xf9", "\x5e\x00", "\x5e\x07", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x0d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5e\x12", "\x00\x00", "\x5e\x14", "\x5e\x15", "\x00\x00",
+  "\x00\x00", "\x5e\x18", "\x5e\x1f", "\x5e\x20", "\x5e\x28", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\x2e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x32", "\x00\x00", "\x00\x00", "\x5e\x35",
+  "\x5e\x3e", "\x5e\x49", "\x00\x00", "\x5e\x4b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x50", "\x5e\x51", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5e\x56", "\x00\x00", "\x5e\x58", "\x00\x00",
+  "\x00\x00", "\x5e\x5b", "\x5e\x5c", "\x00\x00", "\x5e\x5e", "\x5e\x68",
+  "\x00\x00", "\x5e\x6a", "\x5e\x6b", "\x5e\x6c", "\x5e\x6d", "\x5e\x6e",
+  "\x00\x00", "\x5e\x70", "\x5e\x80", "\x5e\x8b", "\x00\x00", "\x00\x00",
+  "\x5e\x8e", "\x5e\xa2", "\x00\x00", "\x5e\xa4", "\x5e\xa5", "\x00\x00",
+  "\x00\x00", "\x5e\xa8", "\x00\x00", "\x5e\xaa", "\x00\x00", "\x5e\xac",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xb1", "\x00\x00",
+  "\x5e\xb3", "\x5e\xbd", "\x5e\xbe", "\x5e\xbf", "\x5e\xc6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xcb", "\x5e\xcc", "\x00\x00",
+  "\x5e\xce", "\x00\x00", "\x00\x00", "\x5e\xd1", "\x5e\xd2", "\x00\x00",
+  "\x5e\xd4", "\x5e\xd5", "\x5e\xdc", "\x00\x00", "\x5e\xde", "\x5e\xe5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5e\xeb",
+  "\x5f\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x06", "\x5f\x07",
+  "\x5f\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x0e", "\x5f\x19", "\x00\x00", "\x00\x00", "\x5f\x1c", "\x5f\x1d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x21", "\x5f\x22", "\x5f\x23",
+  "\x5f\x24", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x28", "\x00\x00",
+  "\x00\x00", "\x5f\x2b", "\x5f\x2c", "\x00\x00", "\x5f\x2e", "\x00\x00",
+  "\x5f\x30", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x34", "\x00\x00",
+  "\x5f\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x3b",
+  "\x00\x00", "\x5f\x3d", "\x00\x00", "\x5f\x3f", "\x5f\x40", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x5f\x44", "\x5f\x45", "\x00\x00", "\x5f\x47",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x4d",
+  "\x00\x00", "\x00\x00", "\x5f\x50", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x58", "\x00\x00",
+  "\x00\x00", "\x5f\x5b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\x60", "\x00\x00", "\x00\x00", "\x5f\x63", "\x5f\x64", "\x00\x00",
+  "\x00\x00", "\x5f\x67", "\x5f\x6f", "\x00\x00", "\x00\x00", "\x5f\x72",
+  "\x00\x00", "\x5f\x74", "\x5f\x75", "\x00\x00", "\x00\x00", "\x5f\x78",
+  "\x00\x00", "\x5f\x7a", "\x00\x00", "\x00\x00", "\x5f\x7d", "\x5f\x7e",
+  "\x5f\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\x8d", "\x00\x00",
+  "\x5f\x8f", "\x5f\x96", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\x9c", "\x5f\x9d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x5f\xa2", "\x00\x00", "\x5f\xa4", "\x00\x00", "\x00\x00",
+  "\x5f\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xab", "\x5f\xac",
+  "\x00\x00", "\x00\x00", "\x5f\xaf", "\x5f\xb0", "\x5f\xb1", "\x5f\xb8",
+  "\x5f\xc4", "\x00\x00", "\x00\x00", "\x5f\xc7", "\x5f\xc8", "\x5f\xc9",
+  "\x00\x00", "\x5f\xcb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x5f\xd0", "\x5f\xd1", "\x5f\xd2", "\x5f\xd3", "\x5f\xd4", "\x5f\xde",
+  "\x00\x00", "\x00\x00", "\x5f\xe1", "\x5f\xe2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xe8", "\x5f\xe9", "\x5f\xea",
+  "\x00\x00", "\x5f\xec", "\x5f\xed", "\x5f\xee", "\x5f\xef", "\x00\x00",
+  "\x00\x00", "\x5f\xf2", "\x5f\xf3", "\x00\x00", "\x00\x00", "\x5f\xf6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x5f\xfa", "\x00\x00", "\x5f\xfc",
+  "\x60\x07", "\x00\x00", "\x00\x00", "\x60\x0a", "\x00\x00", "\x00\x00",
+  "\x60\x0d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x13", "\x60\x14", "\x00\x00", "\x00\x00", "\x60\x17", "\x60\x18",
+  "\x00\x00", "\x60\x1a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x1f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x24",
+  "\x60\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x33", "\x00\x00", "\x60\x35", "\x60\x40", "\x60\x47", "\x60\x48",
+  "\x60\x49", "\x00\x00", "\x00\x00", "\x60\x4c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\x51", "\x00\x00", "\x00\x00", "\x60\x54",
+  "\x00\x00", "\x60\x56", "\x60\x57", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\x5d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x67", "\x60\x71", "\x60\x7e", "\x60\x7f", "\x00\x00", "\x00\x00",
+  "\x60\x82", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x86", "\x00\x00",
+  "\x60\x88", "\x00\x00", "\x60\x8a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x60\x8e", "\x00\x00", "\x00\x00", "\x60\x91", "\x00\x00", "\x60\x93",
+  "\x00\x00", "\x60\x95", "\x00\x00", "\x00\x00", "\x60\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\x9d", "\x60\x9e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\xa2", "\x00\x00", "\x60\xa4", "\x60\xa5",
+  "\x00\x00", "\x00\x00", "\x60\xa8", "\x60\xb0", "\x60\xb1", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xb7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\xbb", "\x00\x00", "\x00\x00", "\x60\xbe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xc2", "\x00\x00", "\x60\xc4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xc8", "\x60\xc9", "\x60\xca",
+  "\x60\xcb", "\x00\x00", "\x00\x00", "\x60\xce", "\x60\xcf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xd4", "\x60\xd5", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x60\xd9", "\x00\x00", "\x60\xdb", "\x00\x00",
+  "\x60\xdd", "\x60\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x60\xe2",
+  "\x00\x00", "\x00\x00", "\x60\xe5", "\x60\xf2", "\x00\x00", "\x00\x00",
+  "\x60\xf5", "\x00\x00", "\x00\x00", "\x60\xf8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x60\xfc", "\x60\xfd", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x61\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\x07", "\x00\x00", "\x00\x00", "\x61\x0a", "\x00\x00", "\x61\x0c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x10", "\x61\x11", "\x61\x12",
+  "\x61\x13", "\x61\x14", "\x00\x00", "\x61\x16", "\x61\x17", "\x00\x00",
+  "\x61\x19", "\x00\x00", "\x00\x00", "\x61\x1c", "\x00\x00", "\x61\x1e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x22", "\x61\x2a", "\x61\x2b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x30", "\x61\x31",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x35", "\x61\x36", "\x61\x37",
+  "\x00\x00", "\x61\x39", "\x61\x41", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x61\x45", "\x61\x46", "\x00\x00", "\x00\x00", "\x61\x49", "\x61\x5e",
+  "\x00\x00", "\x61\x60", "\x61\x6c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x72", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x78", "\x00\x00", "\x00\x00", "\x61\x7b",
+  "\x61\x7c", "\x00\x00", "\x00\x00", "\x61\x7f", "\x61\x80", "\x61\x81",
+  "\x00\x00", "\x61\x83", "\x61\x84", "\x61\x8b", "\x00\x00", "\x61\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x92", "\x61\x93",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x61\x97", "\x61\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\x9c", "\x61\x9d", "\x00\x00", "\x61\x9f",
+  "\x61\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xa5",
+  "\x00\x00", "\x00\x00", "\x61\xa8", "\x00\x00", "\x61\xaa", "\x00\x00",
+  "\x00\x00", "\x61\xad", "\x61\xb8", "\x61\xb9", "\x00\x00", "\x00\x00",
+  "\x61\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x61\xc0", "\x61\xc1",
+  "\x61\xc2", "\x61\xce", "\x61\xcf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x61\xd5", "\x61\xdc", "\x61\xdd", "\x61\xde",
+  "\x61\xdf", "\x00\x00", "\x61\xe1", "\x61\xe2", "\x00\x00", "\x00\x00",
+  "\x61\xe5", "\x00\x00", "\x61\xe7", "\x00\x00", "\x61\xe9", "\x00\x00",
+  "\x00\x00", "\x61\xec", "\x61\xed", "\x00\x00", "\x61\xef", "\x62\x01",
+  "\x00\x00", "\x62\x03", "\x62\x04", "\x00\x00", "\x00\x00", "\x62\x07",
+  "\x62\x13", "\x00\x00", "\x62\x15", "\x62\x1c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x62\x20", "\x00\x00", "\x62\x22", "\x62\x23", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\x27", "\x00\x00", "\x62\x29", "\x00\x00",
+  "\x62\x2b", "\x62\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x3d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x42", "\x62\x43",
+  "\x62\x44", "\x00\x00", "\x62\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\x4c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x62\x50", "\x62\x51", "\x62\x52", "\x00\x00", "\x62\x54", "\x00\x00",
+  "\x62\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x62\x5a", "\x00\x00",
+  "\x62\x5c", "\x62\x64", "\x62\x6d", "\x00\x00", "\x62\x6f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\x73", "\x62\x7a", "\x00\x00", "\x00\x00",
+  "\x62\x7d", "\x62\x8d", "\x62\x8e", "\x62\x8f", "\x62\x90", "\x62\xa6",
+  "\x00\x00", "\x62\xa8", "\x62\xb3", "\x00\x00", "\x00\x00", "\x62\xb6",
+  "\x62\xb7", "\x00\x00", "\x00\x00", "\x62\xba", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x62\xbe", "\x62\xbf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x62\xc4", "\x62\xce", "\x62\xd5", "\x62\xd6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x62\xda", "\x62\xea", "\x62\xf2", "\x00\x00",
+  "\x62\xf4", "\x62\xfc", "\x62\xfd", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\x03", "\x63\x04", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x0a", "\x63\x0b", "\x00\x00",
+  "\x63\x0d", "\x00\x00", "\x00\x00", "\x63\x10", "\x00\x00", "\x00\x00",
+  "\x63\x13", "\x00\x00", "\x00\x00", "\x63\x16", "\x00\x00", "\x63\x18",
+  "\x63\x29", "\x63\x2a", "\x00\x00", "\x00\x00", "\x63\x2d", "\x63\x35",
+  "\x63\x36", "\x00\x00", "\x00\x00", "\x63\x39", "\x00\x00", "\x00\x00",
+  "\x63\x3c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x41",
+  "\x63\x42", "\x63\x43", "\x63\x44", "\x00\x00", "\x63\x46", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\x4a", "\x63\x4b", "\x00\x00", "\x00\x00",
+  "\x63\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x52", "\x63\x53",
+  "\x63\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x58", "\x00\x00",
+  "\x00\x00", "\x63\x5b", "\x63\x65", "\x63\x66", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x6c", "\x63\x6d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\x71", "\x00\x00", "\x00\x00", "\x63\x74",
+  "\x63\x75", "\x00\x00", "\x00\x00", "\x63\x78", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\x7c", "\x63\x7d", "\x00\x00", "\x63\x7f", "\x00\x00",
+  "\x00\x00", "\x63\x82", "\x00\x00", "\x63\x84", "\x00\x00", "\x00\x00",
+  "\x63\x87", "\x00\x00", "\x00\x00", "\x63\x8a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x90", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\x94", "\x63\x95", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x63\x99", "\x63\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\x9e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xa4",
+  "\x00\x00", "\x63\xa6", "\x63\xad", "\x63\xae", "\x63\xaf", "\x63\xbd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xc1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x63\xc5", "\x00\x00", "\x00\x00", "\x63\xc8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xce", "\x00\x00",
+  "\x00\x00", "\x63\xd1", "\x00\x00", "\x63\xd3", "\x63\xd4", "\x63\xd5",
+  "\x63\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xe0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xe5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x63\xea", "\x00\x00", "\x63\xec", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x63\xf2", "\x63\xf3",
+  "\x00\x00", "\x63\xf5", "\x00\x00", "\x00\x00", "\x63\xf8", "\x63\xf9",
+  "\x64\x09", "\x64\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x64\x10", "\x00\x00", "\x64\x12", "\x00\x00", "\x64\x14",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x18", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x1e", "\x00\x00", "\x64\x20",
+  "\x00\x00", "\x64\x22", "\x00\x00", "\x64\x24", "\x64\x25", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\x29", "\x64\x2a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\x2f", "\x64\x30", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\x35", "\x64\x3d", "\x00\x00", "\x64\x3f",
+  "\x64\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x4f", "\x00\x00",
+  "\x64\x51", "\x64\x52", "\x64\x53", "\x64\x54", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x64\x5a", "\x64\x5b", "\x64\x5c",
+  "\x64\x5d", "\x00\x00", "\x64\x5f", "\x64\x60", "\x64\x61", "\x00\x00",
+  "\x64\x63", "\x64\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x64\x73", "\x64\x74", "\x64\x7b", "\x00\x00", "\x64\x7d",
+  "\x64\x85", "\x00\x00", "\x64\x87", "\x64\x8f", "\x64\x90", "\x64\x91",
+  "\x64\x98", "\x64\x99", "\x00\x00", "\x64\x9b", "\x00\x00", "\x64\x9d",
+  "\x00\x00", "\x64\x9f", "\x00\x00", "\x64\xa1", "\x00\x00", "\x64\xa3",
+  "\x00\x00", "\x00\x00", "\x64\xa6", "\x00\x00", "\x64\xa8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x64\xac", "\x64\xb3", "\x64\xbd", "\x64\xbe",
+  "\x64\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xc9", "\x64\xca",
+  "\x64\xcb", "\x64\xcc", "\x00\x00", "\x64\xce", "\x00\x00", "\x64\xd0",
+  "\x64\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xd5", "\x00\x00",
+  "\x64\xd7", "\x64\xe4", "\x64\xe5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\xe9", "\x64\xea", "\x00\x00", "\x00\x00", "\x64\xed", "\x00\x00",
+  "\x00\x00", "\x64\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\xf5", "\x00\x00", "\x64\xf7", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x64\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x64\xff", "\x00\x00",
+  "\x65\x01", "\x00\x00", "\x00\x00", "\x65\x04", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x65\x08", "\x65\x09", "\x65\x0a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\x0f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\x13", "\x65\x14", "\x00\x00", "\x65\x16", "\x00\x00", "\x00\x00",
+  "\x65\x19", "\x00\x00", "\x65\x1b", "\x00\x00", "\x00\x00", "\x65\x1e",
+  "\x65\x1f", "\x00\x00", "\x00\x00", "\x65\x22", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x65\x26", "\x00\x00", "\x00\x00", "\x65\x29", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x2e", "\x00\x00", "\x00\x00",
+  "\x65\x31", "\x65\x3a", "\x00\x00", "\x65\x3c", "\x65\x3d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x43", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\x47", "\x00\x00", "\x65\x49", "\x65\x50",
+  "\x00\x00", "\x65\x52", "\x00\x00", "\x65\x54", "\x65\x5f", "\x65\x60",
+  "\x65\x67", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x6b", "\x65\x7a",
+  "\x00\x00", "\x00\x00", "\x65\x7d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x65\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x85", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x8a", "\x65\x92", "\x00\x00",
+  "\x00\x00", "\x65\x95", "\x00\x00", "\x00\x00", "\x65\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x65\x9d", "\x00\x00", "\x00\x00",
+  "\x65\xa0", "\x00\x00", "\x00\x00", "\x65\xa3", "\x00\x00", "\x00\x00",
+  "\x65\xa6", "\x65\xae", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xb2",
+  "\x65\xb3", "\x65\xb4", "\x65\xbf", "\x00\x00", "\x00\x00", "\x65\xc2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xc8",
+  "\x65\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xce",
+  "\x00\x00", "\x65\xd0", "\x00\x00", "\x00\x00", "\x00\x00", "\x65\xd4",
+  "\x00\x00", "\x65\xd6", "\x00\x00", "\x65\xd8", "\x65\xdf", "\x65\xf0",
+  "\x00\x00", "\x65\xf2", "\x00\x00", "\x65\xf4", "\x65\xf5", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x65\xf9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x65\xfe", "\x65\xff", "\x66\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x66\x04", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x08",
+  "\x66\x09", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x0d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\x11", "\x66\x12", "\x00\x00", "\x00\x00",
+  "\x66\x15", "\x66\x16", "\x66\x1d", "\x66\x1e", "\x00\x00", "\x00\x00",
+  "\x66\x21", "\x66\x22", "\x66\x23", "\x66\x24", "\x00\x00", "\x66\x26",
+  "\x00\x00", "\x00\x00", "\x66\x29", "\x66\x2a", "\x66\x2b", "\x66\x2c",
+  "\x00\x00", "\x66\x2e", "\x00\x00", "\x66\x30", "\x66\x31", "\x00\x00",
+  "\x66\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x37", "\x00\x00",
+  "\x66\x39", "\x66\x40", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\x45", "\x66\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x4a",
+  "\x00\x00", "\x66\x4c", "\x00\x00", "\x66\x4e", "\x00\x00", "\x00\x00",
+  "\x66\x51", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\x57", "\x66\x58", "\x66\x59", "\x00\x00", "\x66\x5b", "\x66\x5c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x66\x60", "\x66\x61", "\x66\x6a",
+  "\x66\x6b", "\x66\x6c", "\x66\x73", "\x00\x00", "\x66\x75", "\x00\x00",
+  "\x66\x77", "\x66\x78", "\x66\x79", "\x00\x00", "\x66\x7b", "\x66\x7c",
+  "\x00\x00", "\x66\x7e", "\x66\x7f", "\x66\x80", "\x66\x8b", "\x66\x8c",
+  "\x66\x8d", "\x00\x00", "\x00\x00", "\x66\x90", "\x00\x00", "\x66\x92",
+  "\x66\x99", "\x66\x9a", "\x66\x9b", "\x66\x9c", "\x00\x00", "\x00\x00",
+  "\x66\x9f", "\x66\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xa4",
+  "\x66\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xb1", "\x66\xb2",
+  "\x00\x00", "\x00\x00", "\x66\xb5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\xbb", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x66\xbf", "\x66\xc0", "\x00\x00", "\x66\xc2", "\x66\xc3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xc8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x66\xcc", "\x00\x00", "\x66\xce", "\x66\xcf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x66\xd4", "\x66\xdb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x66\xdf", "\x66\xe8", "\x00\x00", "\x00\x00",
+  "\x66\xeb", "\x66\xec", "\x00\x00", "\x66\xee", "\x66\xfa", "\x66\xfb",
+  "\x67\x05", "\x00\x00", "\x67\x07", "\x67\x0e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\x13", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\x19", "\x00\x00", "\x00\x00", "\x67\x1c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x20", "\x00\x00", "\x67\x22",
+  "\x67\x33", "\x67\x3e", "\x67\x45", "\x00\x00", "\x67\x47", "\x67\x48",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x4c", "\x67\x54", "\x67\x55",
+  "\x67\x5d", "\x67\x66", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x67\x6c", "\x00\x00", "\x67\x6e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x74", "\x00\x00", "\x67\x76",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x7b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\x81", "\x00\x00",
+  "\x00\x00", "\x67\x84", "\x67\x8e", "\x67\x8f", "\x00\x00", "\x67\x91",
+  "\x00\x00", "\x67\x93", "\x00\x00", "\x00\x00", "\x67\x96", "\x00\x00",
+  "\x67\x98", "\x67\x99", "\x00\x00", "\x67\x9b", "\x67\xb0", "\x67\xb1",
+  "\x67\xb2", "\x00\x00", "\x00\x00", "\x67\xb5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xbb", "\x67\xbc", "\x67\xbd",
+  "\x00\x00", "\x00\x00", "\x67\xc0", "\x00\x00", "\x67\xc2", "\x67\xc3",
+  "\x00\x00", "\x67\xc5", "\x00\x00", "\x00\x00", "\x67\xc8", "\x67\xc9",
+  "\x67\xd2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xd7",
+  "\x00\x00", "\x67\xd9", "\x00\x00", "\x00\x00", "\x67\xdc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xe1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x67\xe6", "\x67\xf0", "\x00\x00", "\x67\xf2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x67\xf6", "\x67\xf7", "\x00\x00",
+  "\x67\xf9", "\x68\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x1d", "\x00\x00",
+  "\x68\x1f", "\x68\x27", "\x68\x28", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\x2c", "\x68\x2d", "\x00\x00", "\x68\x2f", "\x68\x30", "\x68\x31",
+  "\x00\x00", "\x68\x33", "\x68\x3b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x44",
+  "\x68\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x4a",
+  "\x00\x00", "\x68\x4c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x68\x52", "\x00\x00", "\x00\x00", "\x68\x55", "\x00\x00",
+  "\x68\x57", "\x68\x58", "\x00\x00", "\x00\x00", "\x68\x5b", "\x68\x6b",
+  "\x00\x00", "\x00\x00", "\x68\x6e", "\x68\x6f", "\x68\x70", "\x68\x71",
+  "\x68\x72", "\x00\x00", "\x00\x00", "\x68\x75", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x68\x79", "\x68\x7a", "\x68\x7b", "\x68\x7c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\x82", "\x00\x00",
+  "\x68\x84", "\x00\x00", "\x68\x86", "\x00\x00", "\x68\x88", "\x68\x96",
+  "\x00\x00", "\x68\x98", "\x00\x00", "\x68\x9a", "\x00\x00", "\x68\x9c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xa1", "\x00\x00",
+  "\x68\xa3", "\x00\x00", "\x68\xa5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\xa9", "\x68\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xae",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xb2", "\x68\xbb", "\x68\xc5",
+  "\x00\x00", "\x00\x00", "\x68\xc8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x68\xcc", "\x00\x00", "\x00\x00", "\x68\xcf", "\x68\xd0", "\x68\xd1",
+  "\x00\x00", "\x68\xd3", "\x00\x00", "\x00\x00", "\x68\xd6", "\x00\x00",
+  "\x00\x00", "\x68\xd9", "\x00\x00", "\x00\x00", "\x68\xdc", "\x68\xdd",
+  "\x68\xe5", "\x00\x00", "\x00\x00", "\x68\xe8", "\x00\x00", "\x68\xea",
+  "\x68\xeb", "\x68\xec", "\x68\xed", "\x00\x00", "\x00\x00", "\x68\xf0",
+  "\x68\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xf5", "\x68\xf6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x68\xfb", "\x68\xfc",
+  "\x68\xfd", "\x69\x06", "\x00\x00", "\x00\x00", "\x69\x09", "\x69\x0a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x10",
+  "\x69\x11", "\x00\x00", "\x69\x13", "\x00\x00", "\x00\x00", "\x69\x16",
+  "\x69\x17", "\x69\x31", "\x00\x00", "\x69\x33", "\x00\x00", "\x69\x35",
+  "\x00\x00", "\x00\x00", "\x69\x38", "\x00\x00", "\x00\x00", "\x69\x3b",
+  "\x69\x42", "\x00\x00", "\x00\x00", "\x69\x45", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x69\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x69\x4e", "\x69\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x5b",
+  "\x69\x63", "\x69\x64", "\x69\x65", "\x69\x66", "\x00\x00", "\x69\x68",
+  "\x69\x69", "\x00\x00", "\x00\x00", "\x69\x6c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x69\x70", "\x69\x71", "\x69\x72", "\x69\x7a", "\x69\x7b",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x7f", "\x69\x80", "\x69\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\x92", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x69\x96", "\x00\x00", "\x69\x98", "\x69\xa1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xa5", "\x69\xa6", "\x00\x00",
+  "\x69\xa8", "\x00\x00", "\x00\x00", "\x69\xab", "\x00\x00", "\x69\xad",
+  "\x00\x00", "\x69\xaf", "\x69\xb7", "\x69\xb8", "\x00\x00", "\x69\xba",
+  "\x00\x00", "\x69\xbc", "\x69\xc5", "\x00\x00", "\x00\x00", "\x69\xc8",
+  "\x69\xd1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x69\xd6",
+  "\x69\xd7", "\x69\xe2", "\x00\x00", "\x00\x00", "\x69\xe5", "\x69\xee",
+  "\x69\xef", "\x00\x00", "\x69\xf1", "\x00\x00", "\x69\xf3", "\x00\x00",
+  "\x69\xf5", "\x69\xfe", "\x00\x00", "\x6a\x00", "\x6a\x01", "\x00\x00",
+  "\x6a\x03", "\x6a\x0f", "\x00\x00", "\x6a\x11", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6a\x15", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\x1a", "\x00\x00", "\x00\x00", "\x6a\x1d", "\x00\x00", "\x00\x00",
+  "\x6a\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x24", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\x28", "\x6a\x30", "\x00\x00", "\x6a\x32",
+  "\x00\x00", "\x6a\x34", "\x00\x00", "\x00\x00", "\x6a\x37", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\x3b", "\x00\x00", "\x00\x00", "\x6a\x3e",
+  "\x6a\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\x45", "\x6a\x46", "\x00\x00", "\x00\x00", "\x6a\x49", "\x6a\x4a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x4e", "\x00\x00", "\x6a\x50",
+  "\x6a\x51", "\x6a\x52", "\x00\x00", "\x00\x00", "\x6a\x55", "\x6a\x56",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x5b", "\x6a\x64",
+  "\x00\x00", "\x00\x00", "\x6a\x67", "\x00\x00", "\x00\x00", "\x6a\x6a",
+  "\x6a\x71", "\x00\x00", "\x6a\x73", "\x6a\x7e", "\x00\x00", "\x00\x00",
+  "\x6a\x81", "\x00\x00", "\x6a\x83", "\x00\x00", "\x00\x00", "\x6a\x86",
+  "\x6a\x87", "\x00\x00", "\x6a\x89", "\x00\x00", "\x6a\x8b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\x91", "\x6a\x9b",
+  "\x00\x00", "\x6a\x9d", "\x6a\x9e", "\x6a\x9f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xa5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xab", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6a\xaf", "\x6a\xb0", "\x6a\xb1", "\x00\x00", "\x00\x00",
+  "\x6a\xb4", "\x6a\xbd", "\x6a\xbe", "\x6a\xbf", "\x6a\xc6", "\x00\x00",
+  "\x6a\xc8", "\x6a\xc9", "\x00\x00", "\x00\x00", "\x6a\xcc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\xd0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\xd4", "\x6a\xd5", "\x6a\xd6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6a\xdc", "\x6a\xdd", "\x6a\xe4", "\x00\x00",
+  "\x00\x00", "\x6a\xe7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x6a\xf0", "\x6a\xf1",
+  "\x6a\xf2", "\x6a\xfc", "\x6a\xfd", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\x02", "\x6b\x03", "\x00\x00", "\x00\x00", "\x6b\x06",
+  "\x6b\x07", "\x00\x00", "\x6b\x09", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x0f", "\x6b\x10", "\x6b\x11", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x17", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x1b", "\x00\x00", "\x00\x00", "\x6b\x1e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x24",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x28", "\x00\x00", "\x00\x00",
+  "\x6b\x2b", "\x6b\x2c", "\x00\x00", "\x00\x00", "\x6b\x2f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x35", "\x6b\x36",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x3b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x3f", "\x6b\x46", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\x4a", "\x00\x00", "\x00\x00", "\x6b\x4d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x52", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\x56", "\x00\x00", "\x6b\x58", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x5d", "\x00\x00", "\x00\x00", "\x6b\x60",
+  "\x6b\x67", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x6b", "\x00\x00",
+  "\x00\x00", "\x6b\x6e", "\x00\x00", "\x6b\x70", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x75", "\x6b\x7d", "\x6b\x7e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x82", "\x00\x00", "\x00\x00", "\x6b\x85",
+  "\x6b\x97", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\x9b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\x9f", "\x6b\xa0", "\x00\x00", "\x6b\xa2",
+  "\x6b\xa3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xa8",
+  "\x6b\xa9", "\x00\x00", "\x00\x00", "\x6b\xac", "\x6b\xad", "\x6b\xae",
+  "\x00\x00", "\x6b\xb0", "\x6b\xb8", "\x6b\xb9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\xbd", "\x6b\xbe", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\xc3", "\x6b\xc4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6b\xc9", "\x00\x00", "\x00\x00", "\x6b\xcc", "\x6b\xd6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xda", "\x6b\xe1", "\x00\x00",
+  "\x6b\xe3", "\x00\x00", "\x00\x00", "\x6b\xe6", "\x6b\xe7", "\x6b\xee",
+  "\x00\x00", "\x00\x00", "\x6b\xf1", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6b\xf7", "\x00\x00", "\x6b\xf9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6b\xff", "\x00\x00",
+  "\x00\x00", "\x6c\x02", "\x00\x00", "\x6c\x04", "\x6c\x05", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x09", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6c\x0d", "\x6c\x0e", "\x00\x00", "\x6c\x10", "\x00\x00", "\x6c\x12",
+  "\x6c\x19", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6c\x1f", "\x6c\x26", "\x6c\x27", "\x6c\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6c\x2c", "\x00\x00", "\x6c\x2e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x33", "\x00\x00", "\x6c\x35", "\x6c\x36",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x3a", "\x6c\x3b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x3f", "\x6c\x4a", "\x6c\x4b", "\x00\x00",
+  "\x6c\x4d", "\x00\x00", "\x6c\x4f", "\x00\x00", "\x00\x00", "\x6c\x52",
+  "\x00\x00", "\x6c\x54", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6c\x59", "\x00\x00", "\x6c\x5b", "\x6c\x5c", "\x6c\x67", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x6b", "\x00\x00", "\x6c\x6d", "\x00\x00",
+  "\x6c\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\x74",
+  "\x00\x00", "\x6c\x76", "\x00\x00", "\x6c\x78", "\x6c\x79", "\x00\x00",
+  "\x6c\x7b", "\x6c\x85", "\x6c\x86", "\x6c\x87", "\x00\x00", "\x6c\x89",
+  "\x6c\x94", "\x6c\x95", "\x00\x00", "\x6c\x97", "\x6c\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6c\x9c", "\x00\x00", "\x00\x00", "\x6c\x9f",
+  "\x6c\xb0", "\x00\x00", "\x6c\xb2", "\x00\x00", "\x6c\xb4", "\x6c\xc2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xc6", "\x6c\xcd", "\x00\x00",
+  "\x6c\xcf", "\x6c\xd0", "\x6c\xd1", "\x6c\xd2", "\x00\x00", "\x6c\xd4",
+  "\x00\x00", "\x6c\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xda",
+  "\x00\x00", "\x6c\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xe0",
+  "\x6c\xe7", "\x00\x00", "\x6c\xe9", "\x00\x00", "\x6c\xeb", "\x6c\xec",
+  "\x00\x00", "\x6c\xee", "\x00\x00", "\x00\x00", "\x00\x00", "\x6c\xf2",
+  "\x00\x00", "\x6c\xf4", "\x6d\x04", "\x00\x00", "\x00\x00", "\x6d\x07",
+  "\x00\x00", "\x00\x00", "\x6d\x0a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6d\x0e", "\x6d\x0f", "\x00\x00", "\x6d\x11", "\x00\x00", "\x6d\x13",
+  "\x6d\x1a", "\x6d\x26", "\x6d\x27", "\x6d\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x2e", "\x6d\x2f", "\x00\x00",
+  "\x6d\x31", "\x6d\x39", "\x00\x00", "\x00\x00", "\x6d\x3c", "\x00\x00",
+  "\x00\x00", "\x6d\x3f", "\x6d\x57", "\x6d\x5e", "\x6d\x5f", "\x00\x00",
+  "\x6d\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x65", "\x00\x00",
+  "\x6d\x67", "\x6d\x6f", "\x6d\x70", "\x6d\x7c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\x82", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6d\x87", "\x6d\x91", "\x6d\x92", "\x00\x00",
+  "\x6d\x94", "\x00\x00", "\x6d\x96", "\x6d\x97", "\x6d\x98", "\x6d\xaa",
+  "\x00\x00", "\x6d\xac", "\x6d\xb4", "\x00\x00", "\x00\x00", "\x6d\xb7",
+  "\x00\x00", "\x6d\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xbd",
+  "\x00\x00", "\x6d\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6d\xc4", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xc8", "\x00\x00",
+  "\x6d\xca", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xce", "\x6d\xcf",
+  "\x6d\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6d\xdb",
+  "\x00\x00", "\x6d\xdd", "\x00\x00", "\x6d\xdf", "\x6d\xe0", "\x00\x00",
+  "\x6d\xe2", "\x00\x00", "\x00\x00", "\x6d\xe5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6d\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6d\xef", "\x6d\xf0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6d\xf4", "\x00\x00", "\x6d\xf6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6d\xfc", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6e\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x04", "\x6e\x1e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\x22", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\x27", "\x6e\x32", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6e\x36", "\x00\x00", "\x00\x00", "\x6e\x39", "\x00\x00",
+  "\x6e\x3b", "\x6e\x3c", "\x6e\x44", "\x6e\x45", "\x00\x00", "\x00\x00",
+  "\x6e\x48", "\x6e\x49", "\x00\x00", "\x6e\x4b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6e\x4f", "\x00\x00", "\x6e\x51", "\x6e\x52", "\x6e\x53",
+  "\x6e\x54", "\x00\x00", "\x00\x00", "\x6e\x57", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\x5c", "\x6e\x5d", "\x6e\x5e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\x62", "\x6e\x63", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\x68", "\x6e\x73", "\x6e\x7b", "\x00\x00",
+  "\x6e\x7d", "\x6e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6e\x93", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6e\x99", "\x6e\xa0", "\x6e\xa7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xad", "\x6e\xae", "\x00\x00",
+  "\x00\x00", "\x6e\xb1", "\x00\x00", "\x6e\xb3", "\x6e\xbb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6e\xbf", "\x6e\xc0", "\x6e\xc1", "\x00\x00",
+  "\x6e\xc3", "\x00\x00", "\x00\x00", "\x00\x00", "\x6e\xc7", "\x6e\xc8",
+  "\x00\x00", "\x6e\xca", "\x00\x00", "\x00\x00", "\x6e\xcd", "\x6e\xce",
+  "\x6e\xcf", "\x6e\xeb", "\x00\x00", "\x6e\xed", "\x6e\xee", "\x6e\xf9",
+  "\x00\x00", "\x6e\xfb", "\x00\x00", "\x6e\xfd", "\x6f\x04", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x08", "\x00\x00", "\x6f\x0a", "\x00\x00",
+  "\x6f\x0c", "\x6f\x0d", "\x6f\x16", "\x00\x00", "\x6f\x18", "\x00\x00",
+  "\x6f\x1a", "\x6f\x1b", "\x6f\x26", "\x00\x00", "\x00\x00", "\x6f\x29",
+  "\x6f\x2a", "\x00\x00", "\x00\x00", "\x6f\x2d", "\x00\x00", "\x6f\x2f",
+  "\x6f\x30", "\x00\x00", "\x00\x00", "\x6f\x33", "\x00\x00", "\x00\x00",
+  "\x6f\x36", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x3b",
+  "\x6f\x3c", "\x6f\x4f", "\x00\x00", "\x6f\x51", "\x6f\x52", "\x6f\x53",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x57", "\x00\x00", "\x6f\x59",
+  "\x6f\x5a", "\x00\x00", "\x00\x00", "\x6f\x5d", "\x6f\x5e", "\x00\x00",
+  "\x00\x00", "\x6f\x61", "\x6f\x62", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\x68", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6f\x6c", "\x6f\x7d", "\x6f\x7e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x6f\x83", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x87",
+  "\x6f\x88", "\x00\x00", "\x00\x00", "\x6f\x8b", "\x6f\x8c", "\x6f\x8d",
+  "\x00\x00", "\x00\x00", "\x6f\x90", "\x00\x00", "\x6f\x92", "\x6f\x93",
+  "\x6f\x94", "\x00\x00", "\x6f\x96", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x6f\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\x9f",
+  "\x6f\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xa5",
+  "\x6f\xa6", "\x6f\xa7", "\x6f\xa8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x6f\xae", "\x6f\xaf", "\x6f\xb0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xb5", "\x6f\xb6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xbc", "\x6f\xc5",
+  "\x00\x00", "\x6f\xc7", "\x6f\xc8", "\x00\x00", "\x6f\xca", "\x6f\xda",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xde", "\x6f\xe8", "\x6f\xe9",
+  "\x6f\xf0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xf5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x6f\xf9", "\x00\x00", "\x00\x00",
+  "\x6f\xfc", "\x6f\xfd", "\x00\x00", "\x00\x00", "\x70\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x05", "\x70\x06", "\x70\x07",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x0d",
+  "\x70\x17", "\x70\x20", "\x00\x00", "\x00\x00", "\x70\x23", "\x70\x2f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x34", "\x00\x00",
+  "\x00\x00", "\x70\x37", "\x00\x00", "\x70\x39", "\x00\x00", "\x00\x00",
+  "\x70\x3c", "\x70\x43", "\x70\x44", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x70\x48", "\x70\x49", "\x70\x4a", "\x70\x4b", "\x00\x00", "\x00\x00",
+  "\x70\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x70\x54", "\x70\x55", "\x70\x5d", "\x70\x5e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x64", "\x70\x65", "\x70\x6c",
+  "\x00\x00", "\x70\x6e", "\x70\x75", "\x70\x76", "\x70\x7e", "\x00\x00",
+  "\x00\x00", "\x70\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\x85",
+  "\x70\x86", "\x70\x94", "\x70\x95", "\x70\x96", "\x70\x97", "\x70\x98",
+  "\x00\x00", "\x00\x00", "\x70\x9b", "\x70\xa4", "\x70\xab", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xb0", "\x70\xb1", "\x00\x00",
+  "\x00\x00", "\x70\xb4", "\x00\x00", "\x00\x00", "\x70\xb7", "\x70\xca",
+  "\x70\xd1", "\x00\x00", "\x70\xd3", "\x70\xd4", "\x70\xd5", "\x70\xd6",
+  "\x00\x00", "\x70\xd8", "\x00\x00", "\x00\x00", "\x00\x00", "\x70\xdc",
+  "\x70\xe4", "\x70\xfa", "\x71\x03", "\x71\x04", "\x71\x05", "\x71\x06",
+  "\x71\x07", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x0b", "\x71\x0c",
+  "\x00\x00", "\x00\x00", "\x71\x0f", "\x71\x1e", "\x00\x00", "\x71\x20",
+  "\x71\x2b", "\x00\x00", "\x71\x2d", "\x00\x00", "\x71\x2f", "\x71\x30",
+  "\x71\x31", "\x71\x38", "\x71\x41", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\x45", "\x71\x46", "\x71\x47", "\x00\x00", "\x00\x00", "\x71\x4a",
+  "\x71\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x50",
+  "\x00\x00", "\x71\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\x57", "\x00\x00", "\x00\x00", "\x71\x5a", "\x00\x00", "\x71\x5c",
+  "\x00\x00", "\x71\x5e", "\x00\x00", "\x71\x60", "\x71\x68", "\x71\x79",
+  "\x71\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x71\x85",
+  "\x00\x00", "\x71\x87", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x71\x92", "\x71\x9a", "\x71\x9b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x71\xa0", "\x00\x00", "\x71\xa2", "\x71\xaf", "\x71\xb0",
+  "\x00\x00", "\x71\xb2", "\x71\xb3", "\x71\xba", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\xbf", "\x71\xc0", "\x71\xc1", "\x00\x00",
+  "\x00\x00", "\x71\xc4", "\x71\xcb", "\x71\xcc", "\x71\xd3", "\x00\x00",
+  "\x00\x00", "\x71\xd6", "\x00\x00", "\x00\x00", "\x71\xd9", "\x71\xda",
+  "\x00\x00", "\x71\xdc", "\x71\xf8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x71\xfe", "\x00\x00", "\x72\x00", "\x72\x07",
+  "\x72\x08", "\x72\x09", "\x72\x13", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\x17", "\x00\x00", "\x00\x00", "\x72\x1a", "\x00\x00", "\x00\x00",
+  "\x72\x1d", "\x00\x00", "\x72\x1f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\x24", "\x72\x2b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\x2f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x34",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x38", "\x72\x39", "\x72\x41",
+  "\x72\x42", "\x72\x43", "\x00\x00", "\x72\x45", "\x72\x4e", "\x72\x4f",
+  "\x72\x50", "\x00\x00", "\x00\x00", "\x72\x53", "\x00\x00", "\x72\x55",
+  "\x72\x56", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x5a", "\x00\x00",
+  "\x72\x5c", "\x00\x00", "\x72\x5e", "\x00\x00", "\x72\x60", "\x00\x00",
+  "\x00\x00", "\x72\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x72\x68", "\x00\x00", "\x00\x00", "\x72\x6b", "\x00\x00", "\x00\x00",
+  "\x72\x6e", "\x72\x6f", "\x00\x00", "\x72\x71", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x77", "\x72\x78", "\x00\x00",
+  "\x00\x00", "\x72\x7b", "\x72\x7c", "\x00\x00", "\x00\x00", "\x72\x7f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x84", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x72\x89", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\x8d", "\x72\x8e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\x93", "\x72\x9b", "\x72\xa8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x72\xad", "\x72\xae", "\x00\x00", "\x00\x00",
+  "\x72\xb1", "\x00\x00", "\x00\x00", "\x72\xb4", "\x72\xbe", "\x00\x00",
+  "\x00\x00", "\x72\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\xc7", "\x00\x00", "\x72\xc9", "\x00\x00", "\x00\x00",
+  "\x72\xcc", "\x72\xd5", "\x72\xd6", "\x00\x00", "\x72\xd8", "\x72\xdf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x72\xe5",
+  "\x72\xf3", "\x72\xf4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x72\xfa", "\x72\xfb", "\x00\x00", "\x00\x00", "\x72\xfe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x02", "\x00\x00", "\x73\x04",
+  "\x73\x05", "\x00\x00", "\x73\x07", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x73\x0b", "\x00\x00", "\x73\x0d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\x12", "\x73\x13", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\x18", "\x73\x19", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x22",
+  "\x00\x00", "\x73\x24", "\x00\x00", "\x00\x00", "\x73\x27", "\x73\x28",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x2c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x73\x31", "\x73\x32", "\x00\x00", "\x00\x00",
+  "\x73\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x3a",
+  "\x73\x3b", "\x00\x00", "\x73\x3d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x73\x43", "\x73\x4d", "\x00\x00", "\x00\x00",
+  "\x73\x50", "\x00\x00", "\x73\x52", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x73\x56", "\x00\x00", "\x73\x58", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\x5d", "\x73\x5e", "\x73\x5f", "\x73\x60", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x66", "\x73\x67",
+  "\x00\x00", "\x73\x69", "\x00\x00", "\x73\x6b", "\x73\x6c", "\x00\x00",
+  "\x73\x6e", "\x73\x6f", "\x00\x00", "\x73\x71", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x77", "\x00\x00", "\x73\x79",
+  "\x00\x00", "\x00\x00", "\x73\x7c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x73\x80", "\x73\x81", "\x00\x00", "\x73\x83", "\x00\x00", "\x73\x85",
+  "\x73\x86", "\x73\x8e", "\x00\x00", "\x73\x90", "\x00\x00", "\x00\x00",
+  "\x73\x93", "\x00\x00", "\x73\x95", "\x00\x00", "\x73\x97", "\x73\x98",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x73\x9c", "\x00\x00", "\x73\x9e",
+  "\x73\x9f", "\x73\xa0", "\x00\x00", "\x73\xa2", "\x00\x00", "\x00\x00",
+  "\x73\xa5", "\x73\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xaa",
+  "\x73\xab", "\x00\x00", "\x73\xad", "\x73\xb5", "\x00\x00", "\x73\xb7",
+  "\x00\x00", "\x73\xb9", "\x00\x00", "\x00\x00", "\x73\xbc", "\x73\xbd",
+  "\x00\x00", "\x73\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\xc5", "\x73\xc6", "\x00\x00", "\x00\x00", "\x73\xc9",
+  "\x00\x00", "\x73\xcb", "\x73\xcc", "\x00\x00", "\x00\x00", "\x73\xcf",
+  "\x00\x00", "\x00\x00", "\x73\xd2", "\x73\xd3", "\x00\x00", "\x00\x00",
+  "\x73\xd6", "\x00\x00", "\x00\x00", "\x73\xd9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x73\xdd", "\x00\x00", "\x00\x00", "\x00\x00", "\x73\xe1",
+  "\x00\x00", "\x73\xe3", "\x00\x00", "\x00\x00", "\x73\xe6", "\x73\xe7",
+  "\x00\x00", "\x73\xe9", "\x73\xf4", "\x73\xf5", "\x00\x00", "\x73\xf7",
+  "\x00\x00", "\x73\xf9", "\x73\xfa", "\x73\xfb", "\x00\x00", "\x73\xfd",
+  "\x00\x00", "\x73\xff", "\x74\x00", "\x74\x01", "\x00\x00", "\x00\x00",
+  "\x74\x04", "\x00\x00", "\x00\x00", "\x74\x07", "\x00\x00", "\x00\x00",
+  "\x74\x0a", "\x74\x11", "\x74\x1a", "\x74\x1b", "\x74\x24", "\x00\x00",
+  "\x74\x26", "\x00\x00", "\x74\x28", "\x74\x29", "\x74\x2a", "\x74\x2b",
+  "\x74\x2c", "\x74\x2d", "\x74\x2e", "\x74\x2f", "\x74\x30", "\x74\x31",
+  "\x74\x39", "\x74\x40", "\x00\x00", "\x00\x00", "\x74\x43", "\x74\x44",
+  "\x00\x00", "\x74\x46", "\x74\x47", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\x4b", "\x00\x00", "\x74\x4d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\x51", "\x74\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\x5d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x62",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x66", "\x74\x67", "\x74\x68",
+  "\x00\x00", "\x00\x00", "\x74\x6b", "\x00\x00", "\x74\x6d", "\x74\x6e",
+  "\x00\x00", "\x00\x00", "\x74\x71", "\x74\x72", "\x74\x80", "\x74\x81",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x85", "\x74\x86", "\x74\x87",
+  "\x00\x00", "\x74\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\x8f", "\x74\x90", "\x74\x91", "\x74\x92", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\x98", "\x74\x99",
+  "\x74\x9a", "\x00\x00", "\x74\x9c", "\x00\x00", "\x00\x00", "\x74\x9f",
+  "\x74\xa0", "\x74\xa1", "\x00\x00", "\x74\xa3", "\x00\x00", "\x00\x00",
+  "\x74\xa6", "\x00\x00", "\x74\xa8", "\x74\xa9", "\x74\xaa", "\x74\xab",
+  "\x00\x00", "\x00\x00", "\x74\xae", "\x74\xaf", "\x00\x00", "\x74\xb1",
+  "\x74\xb2", "\x00\x00", "\x00\x00", "\x74\xb5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\xb9", "\x00\x00", "\x74\xbb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x74\xbf", "\x74\xc8", "\x74\xc9", "\x00\x00", "\x00\x00",
+  "\x74\xcc", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xd0", "\x00\x00",
+  "\x00\x00", "\x74\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\xd8", "\x00\x00", "\x74\xda", "\x74\xdb", "\x00\x00", "\x00\x00",
+  "\x74\xde", "\x74\xdf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x74\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xe8", "\x00\x00",
+  "\x74\xea", "\x74\xeb", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xef",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xf4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x74\xfa", "\x74\xfb",
+  "\x74\xfc", "\x00\x00", "\x00\x00", "\x74\xff", "\x75\x06", "\x75\x12",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x16", "\x75\x17", "\x75\x20",
+  "\x75\x21", "\x00\x00", "\x00\x00", "\x75\x24", "\x00\x00", "\x00\x00",
+  "\x75\x27", "\x00\x00", "\x75\x29", "\x75\x2a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\x2f", "\x75\x36", "\x00\x00", "\x00\x00",
+  "\x75\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x3d", "\x75\x3e",
+  "\x75\x3f", "\x75\x40", "\x00\x00", "\x00\x00", "\x75\x43", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\x47", "\x75\x48", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\x4e", "\x00\x00", "\x75\x50",
+  "\x00\x00", "\x75\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\x57", "\x75\x5e", "\x75\x5f", "\x00\x00", "\x75\x61", "\x75\x6f",
+  "\x00\x00", "\x75\x71", "\x75\x79", "\x75\x7a", "\x75\x7b", "\x75\x7c",
+  "\x75\x7d", "\x75\x7e", "\x00\x00", "\x00\x00", "\x75\x81", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x75\x85", "\x75\x90", "\x00\x00", "\x75\x92",
+  "\x75\x93", "\x00\x00", "\x75\x95", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\x99", "\x00\x00", "\x00\x00", "\x75\x9c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xa2", "\x00\x00", "\x75\xa4",
+  "\x75\xb4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\xba", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xbf",
+  "\x75\xc0", "\x75\xc1", "\x00\x00", "\x00\x00", "\x75\xc4", "\x00\x00",
+  "\x75\xc6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x75\xcc", "\x00\x00", "\x75\xce", "\x75\xcf", "\x75\xd7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x75\xdc", "\x00\x00", "\x00\x00",
+  "\x75\xdf", "\x75\xe0", "\x75\xe1", "\x00\x00", "\x00\x00", "\x75\xe4",
+  "\x00\x00", "\x00\x00", "\x75\xe7", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x75\xec", "\x00\x00", "\x75\xee", "\x75\xef", "\x00\x00",
+  "\x75\xf1", "\x75\xf9", "\x76\x00", "\x00\x00", "\x76\x02", "\x76\x03",
+  "\x76\x04", "\x00\x00", "\x00\x00", "\x76\x07", "\x76\x08", "\x00\x00",
+  "\x76\x0a", "\x00\x00", "\x76\x0c", "\x00\x00", "\x00\x00", "\x76\x0f",
+  "\x00\x00", "\x00\x00", "\x76\x12", "\x76\x13", "\x00\x00", "\x76\x15",
+  "\x76\x16", "\x00\x00", "\x00\x00", "\x76\x19", "\x00\x00", "\x76\x1b",
+  "\x76\x1c", "\x76\x1d", "\x76\x1e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\x23", "\x00\x00", "\x76\x25", "\x76\x26", "\x00\x00",
+  "\x00\x00", "\x76\x29", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x2d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x32", "\x76\x33",
+  "\x00\x00", "\x76\x35", "\x00\x00", "\x00\x00", "\x76\x38", "\x76\x39",
+  "\x76\x3a", "\x00\x00", "\x76\x3c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x76\x40", "\x76\x41", "\x00\x00", "\x76\x43", "\x76\x44", "\x76\x45",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x49", "\x76\x4a", "\x76\x4b",
+  "\x76\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x59", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x5f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x64", "\x76\x65", "\x76\x6d",
+  "\x76\x6e", "\x76\x6f", "\x00\x00", "\x76\x71", "\x00\x00", "\x00\x00",
+  "\x76\x74", "\x76\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\x85",
+  "\x76\x8c", "\x76\x8d", "\x76\x95", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\x9b", "\x76\x9c", "\x76\x9d", "\x00\x00",
+  "\x76\x9f", "\x76\xa0", "\x00\x00", "\x76\xa2", "\x76\xa3", "\x76\xa4",
+  "\x76\xa5", "\x76\xa6", "\x76\xa7", "\x76\xa8", "\x00\x00", "\x76\xaa",
+  "\x00\x00", "\x00\x00", "\x76\xad", "\x76\xbd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\xc1", "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xc5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x76\xc9", "\x00\x00", "\x76\xcb",
+  "\x76\xcc", "\x00\x00", "\x76\xce", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\xd4", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x76\xd9", "\x76\xe0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\xe6", "\x00\x00", "\x76\xe8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x76\xec", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x76\xf0", "\x76\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x76\xf6", "\x00\x00", "\x00\x00", "\x76\xf9", "\x00\x00", "\x00\x00",
+  "\x76\xfc", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x06", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\x0a", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x0e", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x12", "\x00\x00",
+  "\x77\x14", "\x77\x15", "\x00\x00", "\x77\x17", "\x00\x00", "\x77\x19",
+  "\x77\x1a", "\x00\x00", "\x77\x1c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\x22", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\x28", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x77\x2d", "\x77\x2e", "\x77\x2f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\x34", "\x77\x35", "\x77\x36", "\x00\x00",
+  "\x00\x00", "\x77\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x3d",
+  "\x77\x3e", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x42", "\x00\x00",
+  "\x00\x00", "\x77\x45", "\x77\x46", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x4a", "\x00\x00", "\x00\x00", "\x77\x4d", "\x77\x4e", "\x77\x4f",
+  "\x00\x00", "\x00\x00", "\x77\x52", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x56", "\x77\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x5c", "\x00\x00", "\x77\x5e", "\x77\x5f", "\x77\x60", "\x00\x00",
+  "\x77\x62", "\x00\x00", "\x77\x64", "\x00\x00", "\x00\x00", "\x77\x67",
+  "\x00\x00", "\x00\x00", "\x77\x6a", "\x00\x00", "\x77\x6c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\x70", "\x00\x00", "\x77\x72", "\x77\x73",
+  "\x77\x74", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x7a", "\x00\x00", "\x00\x00", "\x77\x7d", "\x00\x00", "\x00\x00",
+  "\x77\x80", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\x84", "\x77\x8c",
+  "\x77\x8d", "\x77\x94", "\x77\x95", "\x77\x96", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x77\x9a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\x9f", "\x00\x00", "\x00\x00", "\x77\xa2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\xa7", "\x00\x00", "\x00\x00", "\x77\xaa",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xae", "\x77\xaf", "\x00\x00",
+  "\x77\xb1", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xb5", "\x77\xbe",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xc3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x77\xc9", "\x77\xd1",
+  "\x77\xd2", "\x00\x00", "\x00\x00", "\x77\xd5", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x77\xd9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xde", "\x77\xdf", "\x77\xe0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xe4", "\x00\x00", "\x77\xe6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xea", "\x00\x00", "\x77\xec", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x77\xf0", "\x77\xf1", "\x00\x00", "\x00\x00", "\x77\xf4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x77\xf8", "\x00\x00", "\x00\x00", "\x77\xfb",
+  "\x78\x05", "\x78\x06", "\x00\x00", "\x00\x00", "\x78\x09", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x78\x0d", "\x78\x0e", "\x00\x00", "\x00\x00",
+  "\x78\x11", "\x78\x1d", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x21",
+  "\x78\x22", "\x78\x23", "\x78\x2d", "\x78\x2e", "\x00\x00", "\x78\x30",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x35", "\x00\x00",
+  "\x78\x37", "\x78\x43", "\x78\x44", "\x00\x00", "\x00\x00", "\x78\x47",
+  "\x78\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x4c", "\x00\x00",
+  "\x78\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x52", "\x78\x5c",
+  "\x00\x00", "\x78\x5e", "\x00\x00", "\x78\x60", "\x78\x61", "\x00\x00",
+  "\x78\x63", "\x78\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x68",
+  "\x00\x00", "\x78\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x6e",
+  "\x78\x7a", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x7e", "\x78\x8a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x8f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\x94", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x78\x98", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\x9d", "\x78\x9e", "\x78\x9f", "\x00\x00", "\x78\xa1", "\x00\x00",
+  "\x00\x00", "\x78\xa4", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xa8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xac", "\x78\xad", "\x00\x00",
+  "\x00\x00", "\x78\xb0", "\x78\xb1", "\x78\xb2", "\x78\xb3", "\x78\xbb",
+  "\x00\x00", "\x78\xbd", "\x00\x00", "\x78\xbf", "\x78\xc7", "\x78\xc8",
+  "\x78\xc9", "\x00\x00", "\x00\x00", "\x78\xcc", "\x00\x00", "\x78\xce",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xd2", "\x78\xd3", "\x00\x00",
+  "\x78\xd5", "\x78\xd6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x78\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xdf", "\x78\xe0",
+  "\x78\xe1", "\x00\x00", "\x00\x00", "\x78\xe4", "\x00\x00", "\x78\xe6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xea", "\x78\xf2", "\x78\xf3",
+  "\x00\x00", "\x00\x00", "\x78\xf6", "\x78\xf7", "\x00\x00", "\x00\x00",
+  "\x78\xfa", "\x78\xfb", "\x00\x00", "\x00\x00", "\x00\x00", "\x78\xff",
+  "\x79\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x10", "\x79\x1a",
+  "\x00\x00", "\x79\x1c", "\x00\x00", "\x79\x1e", "\x79\x1f", "\x79\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x25", "\x00\x00",
+  "\x79\x27", "\x00\x00", "\x79\x29", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x31", "\x00\x00",
+  "\x00\x00", "\x79\x34", "\x79\x35", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x79\x3b", "\x00\x00", "\x79\x3d", "\x00\x00",
+  "\x79\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x44",
+  "\x79\x45", "\x79\x46", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x4a",
+  "\x79\x4b", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\x4f", "\x00\x00",
+  "\x79\x51", "\x00\x00", "\x00\x00", "\x79\x54", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x79\x58", "\x00\x00", "\x00\x00", "\x79\x5b", "\x79\x5c",
+  "\x79\x67", "\x00\x00", "\x79\x69", "\x00\x00", "\x79\x6b", "\x79\x72",
+  "\x79\x79", "\x00\x00", "\x79\x7b", "\x79\x7c", "\x00\x00", "\x79\x7e",
+  "\x79\x8b", "\x79\x8c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\x91", "\x00\x00", "\x79\x93", "\x79\x94", "\x79\x95", "\x79\x96",
+  "\x00\x00", "\x79\x98", "\x00\x00", "\x00\x00", "\x79\x9b", "\x79\x9c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xa1", "\x79\xa8",
+  "\x79\xa9", "\x00\x00", "\x79\xab", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\xaf", "\x00\x00", "\x79\xb1", "\x00\x00", "\x00\x00", "\x79\xb4",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xb8", "\x00\x00", "\x00\x00",
+  "\x79\xbb", "\x79\xc2", "\x00\x00", "\x79\xc4", "\x00\x00", "\x00\x00",
+  "\x79\xc7", "\x79\xc8", "\x00\x00", "\x79\xca", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x79\xcf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x79\xd4", "\x00\x00", "\x79\xd6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x79\xda", "\x00\x00", "\x00\x00", "\x79\xdd", "\x79\xde",
+  "\x00\x00", "\x79\xe0", "\x00\x00", "\x79\xe2", "\x00\x00", "\x00\x00",
+  "\x79\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xea",
+  "\x79\xeb", "\x00\x00", "\x79\xed", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x79\xf1", "\x79\xf8", "\x00\x00", "\x00\x00", "\x00\x00", "\x79\xfc",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x02",
+  "\x7a\x03", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x07", "\x00\x00",
+  "\x7a\x09", "\x7a\x0a", "\x00\x00", "\x7a\x0c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7a\x11", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\x15", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\x1b", "\x00\x00", "\x00\x00", "\x7a\x1e", "\x00\x00", "\x00\x00",
+  "\x7a\x21", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7a\x27", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x2b", "\x00\x00",
+  "\x7a\x2d", "\x00\x00", "\x7a\x2f", "\x7a\x30", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7a\x34", "\x7a\x35", "\x00\x00", "\x00\x00", "\x7a\x38",
+  "\x7a\x39", "\x7a\x3a", "\x7a\x44", "\x7a\x45", "\x00\x00", "\x7a\x47",
+  "\x7a\x48", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x4c", "\x7a\x55",
+  "\x7a\x56", "\x00\x00", "\x00\x00", "\x7a\x59", "\x00\x00", "\x00\x00",
+  "\x7a\x5c", "\x7a\x5d", "\x00\x00", "\x7a\x5f", "\x7a\x60", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x65", "\x00\x00", "\x7a\x67",
+  "\x00\x00", "\x00\x00", "\x7a\x6a", "\x00\x00", "\x00\x00", "\x7a\x6d",
+  "\x7a\x75", "\x00\x00", "\x00\x00", "\x7a\x78", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x7e", "\x00\x00", "\x7a\x80",
+  "\x00\x00", "\x7a\x82", "\x00\x00", "\x00\x00", "\x7a\x85", "\x7a\x86",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x8a", "\x7a\x8b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\x90", "\x7a\x91", "\x00\x00",
+  "\x00\x00", "\x7a\x94", "\x7a\x9e", "\x00\x00", "\x7a\xa0", "\x00\x00",
+  "\x00\x00", "\x7a\xa3", "\x7a\xac", "\x7a\xb3", "\x00\x00", "\x7a\xb5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xb9", "\x00\x00", "\x7a\xbb",
+  "\x7a\xbc", "\x7a\xc6", "\x00\x00", "\x00\x00", "\x7a\xc9", "\x00\x00",
+  "\x00\x00", "\x7a\xcc", "\x00\x00", "\x7a\xce", "\x00\x00", "\x00\x00",
+  "\x7a\xd1", "\x7a\xdb", "\x7a\xe8", "\x7a\xe9", "\x00\x00", "\x7a\xeb",
+  "\x7a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7a\xf1",
+  "\x00\x00", "\x00\x00", "\x7a\xf4", "\x7a\xfb", "\x00\x00", "\x7a\xfd",
+  "\x7a\xfe", "\x7b\x07", "\x7b\x14", "\x7b\x1f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x27",
+  "\x00\x00", "\x7b\x29", "\x7b\x2a", "\x7b\x2b", "\x00\x00", "\x7b\x2d",
+  "\x7b\x2e", "\x7b\x2f", "\x7b\x30", "\x7b\x31", "\x00\x00", "\x00\x00",
+  "\x7b\x34", "\x7b\x3d", "\x00\x00", "\x7b\x3f", "\x7b\x40", "\x7b\x41",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\x47",
+  "\x7b\x4e", "\x7b\x55", "\x7b\x60", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7b\x64", "\x00\x00", "\x7b\x66", "\x00\x00", "\x00\x00", "\x7b\x69",
+  "\x7b\x6a", "\x00\x00", "\x00\x00", "\x7b\x6d", "\x00\x00", "\x7b\x6f",
+  "\x00\x00", "\x00\x00", "\x7b\x72", "\x7b\x73", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\x77", "\x7b\x84", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7b\x8e", "\x00\x00", "\x7b\x90", "\x7b\x91", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7b\x96", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7b\x9b", "\x00\x00", "\x00\x00", "\x7b\x9e", "\x00\x00",
+  "\x7b\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xa5",
+  "\x7b\xac", "\x00\x00", "\x00\x00", "\x7b\xaf", "\x7b\xb0", "\x00\x00",
+  "\x7b\xb2", "\x00\x00", "\x00\x00", "\x7b\xb5", "\x7b\xb6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7b\xba", "\x7b\xbb", "\x7b\xbc", "\x7b\xbd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7b\xc2", "\x00\x00",
+  "\x00\x00", "\x7b\xc5", "\x00\x00", "\x00\x00", "\x7b\xc8", "\x00\x00",
+  "\x7b\xca", "\x7b\xd4", "\x00\x00", "\x7b\xd6", "\x7b\xd7", "\x00\x00",
+  "\x7b\xd9", "\x7b\xda", "\x7b\xdb", "\x7b\xe8", "\x00\x00", "\x7b\xea",
+  "\x7b\xf2", "\x00\x00", "\x7b\xf4", "\x7b\xf5", "\x00\x00", "\x00\x00",
+  "\x7b\xf8", "\x7b\xf9", "\x7b\xfa", "\x00\x00", "\x7b\xfc", "\x00\x00",
+  "\x7b\xfe", "\x00\x00", "\x00\x00", "\x7c\x01", "\x7c\x02", "\x7c\x03",
+  "\x7c\x04", "\x00\x00", "\x7c\x06", "\x00\x00", "\x00\x00", "\x7c\x09",
+  "\x00\x00", "\x7c\x0b", "\x7c\x0c", "\x00\x00", "\x7c\x0e", "\x7c\x0f",
+  "\x7c\x19", "\x00\x00", "\x7c\x1b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7c\x25", "\x7c\x26", "\x00\x00", "\x7c\x28", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x2c", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7c\x31", "\x00\x00", "\x7c\x33", "\x7c\x34", "\x00\x00", "\x7c\x36",
+  "\x00\x00", "\x00\x00", "\x7c\x39", "\x7c\x3a", "\x7c\x46", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7c\x4a", "\x7c\x51", "\x7c\x52", "\x7c\x53",
+  "\x00\x00", "\x7c\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\x59",
+  "\x7c\x5a", "\x7c\x5b", "\x7c\x5c", "\x7c\x5d", "\x7c\x5e", "\x00\x00",
+  "\x00\x00", "\x7c\x61", "\x00\x00", "\x7c\x63", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x67", "\x00\x00", "\x7c\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x6d", "\x7c\x6e", "\x00\x00", "\x7c\x70", "\x00\x00",
+  "\x7c\x72", "\x7c\x79", "\x00\x00", "\x00\x00", "\x7c\x7c", "\x7c\x7d",
+  "\x7c\x86", "\x7c\x87", "\x7c\x8f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\x94", "\x7c\x9e", "\x00\x00", "\x7c\xa0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xa6", "\x7c\xb0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xb6",
+  "\x7c\xb7", "\x00\x00", "\x00\x00", "\x7c\xba", "\x7c\xbb", "\x7c\xbc",
+  "\x00\x00", "\x00\x00", "\x7c\xbf", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7c\xc4", "\x00\x00", "\x00\x00", "\x7c\xc7", "\x7c\xc8",
+  "\x7c\xc9", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xcd", "\x00\x00",
+  "\x7c\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x7c\xd3", "\x7c\xd4",
+  "\x7c\xd5", "\x00\x00", "\x7c\xd7", "\x00\x00", "\x7c\xd9", "\x7c\xda",
+  "\x00\x00", "\x00\x00", "\x7c\xdd", "\x7c\xe6", "\x00\x00", "\x00\x00",
+  "\x7c\xe9", "\x00\x00", "\x7c\xeb", "\x7c\xf5", "\x7d\x03", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x07", "\x7d\x08", "\x7d\x09", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\x0f", "\x00\x00",
+  "\x7d\x11", "\x7d\x12", "\x7d\x13", "\x00\x00", "\x00\x00", "\x7d\x16",
+  "\x7d\x1d", "\x7d\x1e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x23", "\x00\x00", "\x00\x00", "\x7d\x26", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x2a", "\x00\x00", "\x00\x00", "\x7d\x2d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x31", "\x7d\x3c", "\x7d\x3d", "\x7d\x3e",
+  "\x00\x00", "\x7d\x40", "\x7d\x41", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x47", "\x7d\x48", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x4d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x51", "\x00\x00", "\x7d\x53", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x57", "\x00\x00", "\x7d\x59", "\x7d\x5a", "\x00\x00", "\x7d\x5c",
+  "\x7d\x5d", "\x7d\x65", "\x00\x00", "\x7d\x67", "\x00\x00", "\x00\x00",
+  "\x7d\x6a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7d\x70", "\x7d\x78", "\x00\x00", "\x7d\x7a", "\x7d\x7b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x7f", "\x00\x00", "\x7d\x81", "\x7d\x82",
+  "\x7d\x83", "\x00\x00", "\x7d\x85", "\x7d\x86", "\x00\x00", "\x7d\x88",
+  "\x00\x00", "\x00\x00", "\x7d\x8b", "\x7d\x8c", "\x7d\x8d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x91", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7d\x96", "\x7d\x97", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\x9d", "\x7d\x9e", "\x7d\xa6", "\x7d\xa7",
+  "\x00\x00", "\x00\x00", "\x7d\xaa", "\x7d\xb3", "\x00\x00", "\x00\x00",
+  "\x7d\xb6", "\x7d\xb7", "\x00\x00", "\x7d\xb9", "\x7d\xc2", "\x7d\xc3",
+  "\x7d\xc4", "\x7d\xc5", "\x7d\xc6", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7d\xcc", "\x7d\xcd", "\x7d\xce", "\x7d\xd7",
+  "\x00\x00", "\x7d\xd9", "\x7d\xe2", "\x00\x00", "\x00\x00", "\x7d\xe5",
+  "\x7d\xe6", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xea", "\x7d\xeb",
+  "\x00\x00", "\x7d\xed", "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xf1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7d\xf5", "\x7d\xf6", "\x00\x00",
+  "\x00\x00", "\x7d\xf9", "\x7d\xfa", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7e\x00", "\x7e\x08", "\x7e\x10", "\x7e\x11",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x15", "\x00\x00", "\x7e\x17",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x1c", "\x7e\x1d",
+  "\x00\x00", "\x00\x00", "\x7e\x20", "\x7e\x27", "\x7e\x28", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7e\x2c", "\x7e\x2d", "\x00\x00", "\x7e\x2f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x33", "\x00\x00", "\x00\x00",
+  "\x7e\x36", "\x7e\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7e\x44", "\x7e\x45", "\x00\x00", "\x7e\x47", "\x7e\x4e", "\x00\x00",
+  "\x7e\x50", "\x00\x00", "\x7e\x52", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7e\x58", "\x7e\x5f", "\x00\x00", "\x7e\x61",
+  "\x7e\x62", "\x00\x00", "\x00\x00", "\x7e\x65", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x6b", "\x00\x00", "\x00\x00",
+  "\x7e\x6e", "\x7e\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x73",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x78", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x7e", "\x00\x00",
+  "\x00\x00", "\x7e\x81", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x7e\x86", "\x7e\x87", "\x00\x00", "\x00\x00", "\x7e\x8a", "\x00\x00",
+  "\x00\x00", "\x7e\x8d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x91",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7e\x95", "\x00\x00", "\x00\x00",
+  "\x7e\x98", "\x00\x00", "\x7e\x9a", "\x00\x00", "\x00\x00", "\x7e\x9d",
+  "\x7e\x9e", "\x7f\x3b", "\x7f\x3c", "\x7f\x3d", "\x7f\x3e", "\x7f\x3f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x43", "\x7f\x44", "\x00\x00",
+  "\x00\x00", "\x7f\x47", "\x7f\x4f", "\x00\x00", "\x00\x00", "\x7f\x52",
+  "\x7f\x53", "\x7f\x5b", "\x7f\x5c", "\x7f\x5d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7f\x61", "\x00\x00", "\x7f\x63", "\x7f\x64", "\x7f\x65",
+  "\x7f\x66", "\x7f\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x71",
+  "\x7f\x7d", "\x7f\x7e", "\x7f\x7f", "\x7f\x80", "\x7f\x8b", "\x00\x00",
+  "\x7f\x8d", "\x00\x00", "\x7f\x8f", "\x7f\x90", "\x7f\x91", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x96", "\x7f\x97", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\x9c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7f\xa1", "\x7f\xa2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x7f\xa6", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xaa",
+  "\x00\x00", "\x00\x00", "\x7f\xad", "\x7f\xb4", "\x7f\xbc", "\x00\x00",
+  "\x00\x00", "\x7f\xbf", "\x7f\xc0", "\x00\x00", "\x00\x00", "\x7f\xc3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xc8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xce", "\x7f\xcf",
+  "\x7f\xdb", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xdf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x7f\xe3", "\x00\x00", "\x7f\xe5", "\x00\x00",
+  "\x00\x00", "\x7f\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x7f\xec",
+  "\x00\x00", "\x7f\xee", "\x7f\xef", "\x00\x00", "\x00\x00", "\x7f\xf2",
+  "\x7f\xfa", "\x00\x00", "\x00\x00", "\x7f\xfd", "\x7f\xfe", "\x7f\xff",
+  "\x80\x07", "\x80\x08", "\x00\x00", "\x80\x0a", "\x00\x00", "\x00\x00",
+  "\x80\x0d", "\x80\x0e", "\x80\x0f", "\x00\x00", "\x80\x11", "\x00\x00",
+  "\x80\x13", "\x80\x14", "\x00\x00", "\x80\x16", "\x80\x1d", "\x80\x1e",
+  "\x80\x1f", "\x80\x20", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x24",
+  "\x00\x00", "\x80\x26", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x2c", "\x00\x00", "\x80\x2e", "\x00\x00", "\x80\x30",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x34", "\x80\x35", "\x00\x00",
+  "\x80\x37", "\x00\x00", "\x80\x39", "\x80\x3a", "\x00\x00", "\x80\x3c",
+  "\x00\x00", "\x80\x3e", "\x00\x00", "\x80\x40", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x44", "\x80\x60", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x80\x64", "\x00\x00", "\x80\x66", "\x80\x6d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x71", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\x75",
+  "\x80\x81", "\x80\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x80\x8e", "\x80\x9c", "\x00\x00", "\x80\x9e", "\x80\xa6",
+  "\x80\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x80\xab", "\x80\xb8",
+  "\x80\xb9", "\x80\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x80\xcd", "\x00\x00", "\x80\xcf", "\x00\x00", "\x00\x00", "\x80\xd2",
+  "\x00\x00", "\x80\xd4", "\x80\xd5", "\x00\x00", "\x80\xd7", "\x80\xd8",
+  "\x80\xe0", "\x80\xed", "\x80\xee", "\x00\x00", "\x80\xf0", "\x00\x00",
+  "\x80\xf2", "\x80\xf3", "\x00\x00", "\x00\x00", "\x80\xf6", "\x00\x00",
+  "\x00\x00", "\x80\xf9", "\x80\xfa", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x80\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x03",
+  "\x81\x0b", "\x81\x16", "\x81\x17", "\x81\x18", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x81\x1c", "\x00\x00", "\x81\x1e", "\x00\x00", "\x81\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x24", "\x00\x00", "\x00\x00",
+  "\x81\x27", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x2c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x30", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\x35", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x81\x3a", "\x00\x00", "\x81\x3c", "\x81\x45", "\x00\x00",
+  "\x81\x47", "\x00\x00", "\x00\x00", "\x81\x4a", "\x00\x00", "\x81\x4c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x52",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\x57", "\x81\x60",
+  "\x81\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\x67", "\x81\x68", "\x81\x69", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\x6d", "\x00\x00", "\x81\x6f", "\x81\x77", "\x81\x81", "\x00\x00",
+  "\x00\x00", "\x81\x84", "\x81\x85", "\x81\x86", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\x8b", "\x00\x00", "\x00\x00", "\x81\x8e",
+  "\x00\x00", "\x81\x90", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x81\x96", "\x00\x00", "\x81\x98", "\x00\x00", "\x00\x00",
+  "\x81\x9b", "\x00\x00", "\x00\x00", "\x81\x9e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x81\xa2", "\x81\xae", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x81\xb2", "\x00\x00", "\x81\xb4", "\x81\xbb", "\x81\xc3", "\x00\x00",
+  "\x81\xc5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xca",
+  "\x81\xcb", "\x00\x00", "\x00\x00", "\x81\xce", "\x81\xcf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xd5", "\x00\x00",
+  "\x81\xd7", "\x00\x00", "\x00\x00", "\x00\x00", "\x81\xdb", "\x00\x00",
+  "\x81\xdd", "\x81\xde", "\x00\x00", "\x00\x00", "\x81\xe1", "\x00\x00",
+  "\x00\x00", "\x81\xe4", "\x81\xeb", "\x81\xec", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x81\xf0", "\x81\xf1", "\x81\xf2", "\x00\x00", "\x00\x00",
+  "\x81\xf5", "\x81\xf6", "\x00\x00", "\x81\xf8", "\x81\xf9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x81\xfd", "\x00\x00", "\x81\xff", "\x82\x00",
+  "\x00\x00", "\x00\x00", "\x82\x03", "\x82\x0f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\x13", "\x82\x14", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\x19", "\x82\x1a", "\x00\x00", "\x00\x00", "\x82\x1d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x21", "\x82\x22", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x28", "\x82\x32",
+  "\x00\x00", "\x82\x34", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\x3a", "\x82\x43", "\x82\x44", "\x82\x45", "\x82\x46",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x4b", "\x00\x00",
+  "\x00\x00", "\x82\x4e", "\x82\x4f", "\x00\x00", "\x82\x51", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x56", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x5c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\x60", "\x00\x00", "\x00\x00", "\x82\x63", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x82\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x82\x6d", "\x82\x74", "\x82\x7b", "\x00\x00",
+  "\x82\x7d", "\x00\x00", "\x82\x7f", "\x82\x80", "\x82\x81", "\x00\x00",
+  "\x82\x83", "\x82\x84", "\x00\x00", "\x00\x00", "\x82\x87", "\x00\x00",
+  "\x82\x89", "\x82\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\x8e",
+  "\x00\x00", "\x00\x00", "\x82\x91", "\x00\x00", "\x00\x00", "\x82\x94",
+  "\x00\x00", "\x82\x96", "\x00\x00", "\x82\x98", "\x00\x00", "\x82\x9a",
+  "\x82\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xa0",
+  "\x82\xa1", "\x00\x00", "\x82\xa3", "\x82\xa4", "\x00\x00", "\x00\x00",
+  "\x82\xa7", "\x82\xa8", "\x82\xa9", "\x82\xaa", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\xae", "\x00\x00", "\x82\xb0", "\x00\x00", "\x82\xb2",
+  "\x00\x00", "\x82\xb4", "\x00\x00", "\x00\x00", "\x82\xb7", "\x00\x00",
+  "\x00\x00", "\x82\xba", "\x00\x00", "\x82\xbc", "\x00\x00", "\x82\xbe",
+  "\x82\xbf", "\x82\xc6", "\x82\xd0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x82\xd5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x82\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x82\xe0", "\x00\x00", "\x82\xe2", "\x00\x00", "\x82\xe4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x82\xe8", "\x00\x00", "\x82\xea", "\x00\x00",
+  "\x00\x00", "\x82\xed", "\x00\x00", "\x82\xef", "\x82\xf6", "\x82\xf7",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x82\xfd",
+  "\x82\xfe", "\x00\x00", "\x83\x00", "\x83\x01", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x07", "\x83\x08", "\x00\x00",
+  "\x83\x0a", "\x83\x0b", "\x83\x1b", "\x00\x00", "\x83\x1d", "\x83\x1e",
+  "\x83\x1f", "\x00\x00", "\x83\x21", "\x83\x22", "\x83\x2c", "\x83\x2d",
+  "\x83\x2e", "\x00\x00", "\x83\x30", "\x00\x00", "\x00\x00", "\x83\x33",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x37", "\x00\x00", "\x00\x00",
+  "\x83\x3a", "\x00\x00", "\x83\x3c", "\x83\x3d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x83\x42", "\x83\x43", "\x83\x44", "\x00\x00",
+  "\x00\x00", "\x83\x47", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x83\x4d", "\x83\x4e", "\x00\x00", "\x00\x00", "\x83\x51",
+  "\x00\x00", "\x83\x53", "\x83\x54", "\x83\x55", "\x83\x56", "\x83\x57",
+  "\x83\x70", "\x83\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x83\x7d", "\x00\x00", "\x83\x7f", "\x83\x80", "\x00\x00", "\x83\x82",
+  "\x00\x00", "\x83\x84", "\x00\x00", "\x83\x86", "\x83\x8d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x83\x92", "\x00\x00", "\x83\x94",
+  "\x83\x95", "\x00\x00", "\x00\x00", "\x83\x98", "\x83\x99", "\x00\x00",
+  "\x83\x9b", "\x83\x9c", "\x83\x9d", "\x83\xa6", "\x83\xa7", "\x00\x00",
+  "\x83\xa9", "\x00\x00", "\x00\x00", "\x83\xac", "\x83\xad", "\x83\xbe",
+  "\x83\xbf", "\x83\xc0", "\x83\xc7", "\x00\x00", "\x83\xc9", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x83\xcf", "\x83\xd0",
+  "\x83\xd1", "\x00\x00", "\x00\x00", "\x83\xd4", "\x83\xdd", "\x83\xe8",
+  "\x00\x00", "\x83\xea", "\x83\xf6", "\x00\x00", "\x83\xf8", "\x83\xf9",
+  "\x00\x00", "\x00\x00", "\x83\xfc", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x01", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x84\x06", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x0a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x0f", "\x00\x00", "\x84\x11",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x15", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x19", "\x84\x2f", "\x84\x39", "\x84\x45", "\x00\x00",
+  "\x84\x47", "\x84\x48", "\x00\x00", "\x84\x4a", "\x00\x00", "\x00\x00",
+  "\x84\x4d", "\x00\x00", "\x84\x4f", "\x00\x00", "\x84\x51", "\x84\x52",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x56", "\x00\x00", "\x84\x58",
+  "\x84\x59", "\x84\x5a", "\x00\x00", "\x84\x5c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x84\x60", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x64",
+  "\x84\x65", "\x00\x00", "\x84\x67", "\x00\x00", "\x00\x00", "\x84\x6a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x70",
+  "\x00\x00", "\x00\x00", "\x84\x73", "\x84\x74", "\x00\x00", "\x84\x76",
+  "\x00\x00", "\x84\x78", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x7c",
+  "\x84\x7d", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\x81", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x84\x85", "\x84\x92", "\x84\x93", "\x00\x00",
+  "\x84\x95", "\x84\x9e", "\x84\xa6", "\x00\x00", "\x84\xa8", "\x84\xa9",
+  "\x84\xaa", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xaf",
+  "\x00\x00", "\x84\xb1", "\x00\x00", "\x00\x00", "\x84\xb4", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xba", "\x00\x00",
+  "\x00\x00", "\x84\xbd", "\x84\xbe", "\x00\x00", "\x84\xc0", "\x00\x00",
+  "\x84\xc2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xc7",
+  "\x84\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xcc", "\x00\x00",
+  "\x00\x00", "\x84\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xd3",
+  "\x84\xdc", "\x84\xe7", "\x00\x00", "\x00\x00", "\x84\xea", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xef", "\x84\xf0", "\x84\xf1",
+  "\x84\xf2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x84\xf7",
+  "\x00\x00", "\x00\x00", "\x84\xfa", "\x84\xfb", "\x00\x00", "\x84\xfd",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x02", "\x85\x03",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x07", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x0c", "\x00\x00", "\x85\x0e", "\x00\x00",
+  "\x85\x10", "\x85\x1c", "\x00\x00", "\x85\x1e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x85\x22", "\x85\x23", "\x85\x24", "\x85\x25", "\x00\x00",
+  "\x85\x27", "\x00\x00", "\x00\x00", "\x85\x2a", "\x85\x2b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x2f", "\x00\x00", "\x00\x00", "\x85\x32",
+  "\x85\x33", "\x85\x34", "\x00\x00", "\x85\x36", "\x85\x3f", "\x85\x46",
+  "\x85\x4f", "\x85\x50", "\x85\x51", "\x85\x52", "\x85\x53", "\x00\x00",
+  "\x00\x00", "\x85\x56", "\x00\x00", "\x00\x00", "\x85\x59", "\x00\x00",
+  "\x00\x00", "\x85\x5c", "\x85\x5d", "\x85\x5e", "\x85\x5f", "\x85\x60",
+  "\x85\x61", "\x85\x62", "\x00\x00", "\x85\x64", "\x85\x6b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\x6f", "\x85\x79", "\x85\x7a", "\x85\x7b",
+  "\x00\x00", "\x85\x7d", "\x00\x00", "\x85\x7f", "\x00\x00", "\x85\x81",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x85", "\x85\x86", "\x00\x00",
+  "\x00\x00", "\x85\x89", "\x00\x00", "\x85\x8b", "\x85\x8c", "\x00\x00",
+  "\x00\x00", "\x85\x8f", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x93",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x98", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\x9d", "\x00\x00", "\x85\x9f",
+  "\x85\xa0", "\x00\x00", "\x85\xa2", "\x00\x00", "\x00\x00", "\x85\xa5",
+  "\x00\x00", "\x85\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x85\xad", "\x85\xb4", "\x00\x00", "\x85\xb6", "\x85\xb7",
+  "\x85\xb8", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xbc", "\x85\xbd",
+  "\x85\xbe", "\x85\xbf", "\x00\x00", "\x00\x00", "\x85\xc2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xc7", "\x00\x00", "\x00\x00",
+  "\x85\xca", "\x85\xcb", "\x00\x00", "\x00\x00", "\x85\xce", "\x85\xd8",
+  "\x00\x00", "\x85\xda", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x85\xdf", "\x85\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x85\xe6", "\x00\x00", "\x85\xe8", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\xed", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x85\xf3", "\x00\x00", "\x00\x00", "\x85\xf6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x85\xfc",
+  "\x00\x00", "\x00\x00", "\x85\xff", "\x86\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\x04", "\x86\x05", "\x86\x0d", "\x86\x0e", "\x00\x00",
+  "\x86\x10", "\x86\x11", "\x86\x12", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x86\x18", "\x86\x19", "\x00\x00", "\x86\x1b",
+  "\x00\x00", "\x00\x00", "\x86\x1e", "\x00\x00", "\x00\x00", "\x86\x21",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x27",
+  "\x00\x00", "\x86\x29", "\x86\x36", "\x00\x00", "\x86\x38", "\x00\x00",
+  "\x86\x3a", "\x00\x00", "\x86\x3c", "\x86\x3d", "\x00\x00", "\x00\x00",
+  "\x86\x40", "\x86\x41", "\x86\x42", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\x46", "\x86\x52", "\x86\x53", "\x00\x00", "\x00\x00", "\x86\x56",
+  "\x86\x57", "\x86\x58", "\x86\x59", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\x5d", "\x00\x00", "\x00\x00", "\x86\x60", "\x86\x61", "\x86\x62",
+  "\x86\x63", "\x86\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\x69", "\x00\x00", "\x00\x00", "\x86\x6c", "\x00\x00", "\x00\x00",
+  "\x86\x6f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\x75", "\x86\x76", "\x86\x77", "\x00\x00", "\x00\x00", "\x86\x7a",
+  "\x86\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x8d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x86\x91", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x86\x96", "\x00\x00", "\x86\x98", "\x00\x00",
+  "\x86\x9a", "\x00\x00", "\x86\x9c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x86\xa6", "\x86\xa7", "\x86\xa8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xad", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xb1",
+  "\x00\x00", "\x86\xb3", "\x86\xb4", "\x86\xb5", "\x00\x00", "\x86\xb7",
+  "\x86\xb8", "\x86\xb9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x86\xbf", "\x86\xc0", "\x86\xc1", "\x00\x00", "\x86\xc3",
+  "\x00\x00", "\x86\xc5", "\x86\xd1", "\x86\xd2", "\x00\x00", "\x00\x00",
+  "\x86\xd5", "\x00\x00", "\x86\xd7", "\x00\x00", "\x00\x00", "\x86\xda",
+  "\x00\x00", "\x86\xdc", "\x00\x00", "\x00\x00", "\x00\x00", "\x86\xe0",
+  "\x00\x00", "\x00\x00", "\x86\xe3", "\x00\x00", "\x86\xe5", "\x00\x00",
+  "\x86\xe7", "\x86\xfa", "\x00\x00", "\x86\xfc", "\x86\xfd", "\x87\x04",
+  "\x87\x05", "\x00\x00", "\x87\x07", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\x0b", "\x00\x00", "\x00\x00", "\x87\x0e", "\x87\x0f", "\x87\x10",
+  "\x00\x00", "\x00\x00", "\x87\x13", "\x87\x14", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x87\x19", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x87\x1e", "\x87\x1f", "\x00\x00", "\x87\x21", "\x00\x00",
+  "\x87\x23", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x28",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x2e",
+  "\x87\x2f", "\x00\x00", "\x87\x31", "\x87\x32", "\x87\x39", "\x87\x3a",
+  "\x00\x00", "\x87\x3c", "\x87\x3d", "\x87\x3e", "\x00\x00", "\x87\x40",
+  "\x00\x00", "\x00\x00", "\x87\x43", "\x00\x00", "\x87\x45", "\x87\x4d",
+  "\x87\x58", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x5d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x61", "\x00\x00", "\x00\x00",
+  "\x87\x64", "\x87\x65", "\x87\x6f", "\x00\x00", "\x87\x71", "\x87\x72",
+  "\x87\x7b", "\x87\x83", "\x87\x84", "\x87\x85", "\x87\x86", "\x87\x87",
+  "\x87\x88", "\x87\x89", "\x00\x00", "\x87\x8b", "\x87\x8c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x87\x90", "\x00\x00", "\x00\x00", "\x87\x93",
+  "\x00\x00", "\x87\x95", "\x00\x00", "\x87\x97", "\x87\x98", "\x87\x99",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x87\x9e", "\x00\x00",
+  "\x87\xa0", "\x00\x00", "\x00\x00", "\x87\xa3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x87\xa7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\xac", "\x87\xad", "\x87\xae", "\x00\x00", "\x00\x00", "\x87\xb1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xb5", "\x87\xbe", "\x87\xbf",
+  "\x00\x00", "\x87\xc1", "\x87\xc8", "\x87\xc9", "\x87\xca", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x87\xce", "\x87\xd5", "\x87\xd6", "\x00\x00",
+  "\x00\x00", "\x87\xd9", "\x87\xda", "\x00\x00", "\x87\xdc", "\x00\x00",
+  "\x00\x00", "\x87\xdf", "\x00\x00", "\x00\x00", "\x87\xe2", "\x87\xe3",
+  "\x87\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x87\xea", "\x87\xeb", "\x00\x00", "\x87\xed", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x87\xf1", "\x00\x00", "\x87\xf3", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x87\xf8", "\x00\x00", "\x87\xfa", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x87\xff", "\x00\x00", "\x88\x01",
+  "\x00\x00", "\x88\x03", "\x00\x00", "\x00\x00", "\x88\x06", "\x00\x00",
+  "\x00\x00", "\x88\x09", "\x88\x0a", "\x88\x0b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x10", "\x00\x00", "\x88\x12", "\x88\x13",
+  "\x88\x14", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x18", "\x88\x19",
+  "\x88\x1a", "\x88\x1b", "\x88\x1c", "\x00\x00", "\x88\x1e", "\x88\x1f",
+  "\x88\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x2d",
+  "\x88\x2e", "\x00\x00", "\x88\x30", "\x00\x00", "\x88\x32", "\x00\x00",
+  "\x00\x00", "\x88\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x88\x3a", "\x00\x00", "\x88\x3c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x88\x41", "\x00\x00", "\x88\x43", "\x00\x00", "\x88\x45",
+  "\x00\x00", "\x00\x00", "\x88\x48", "\x88\x49", "\x88\x4a", "\x88\x4b",
+  "\x00\x00", "\x00\x00", "\x88\x4e", "\x00\x00", "\x00\x00", "\x88\x51",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x55", "\x88\x56", "\x00\x00",
+  "\x88\x58", "\x00\x00", "\x88\x5a", "\x00\x00", "\x88\x5c", "\x00\x00",
+  "\x00\x00", "\x88\x5f", "\x88\x60", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x88\x64", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x88\x69",
+  "\x88\x71", "\x88\x79", "\x00\x00", "\x88\x7b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x88\x80", "\x88\x98", "\x00\x00", "\x88\x9a",
+  "\x88\x9b", "\x88\x9c", "\x00\x00", "\x00\x00", "\x88\x9f", "\x88\xa0",
+  "\x88\xa8", "\x00\x00", "\x88\xaa", "\x88\xba", "\x00\x00", "\x00\x00",
+  "\x88\xbd", "\x88\xbe", "\x00\x00", "\x88\xc0", "\x88\xca", "\x88\xcb",
+  "\x88\xcc", "\x88\xcd", "\x88\xce", "\x00\x00", "\x00\x00", "\x88\xd1",
+  "\x88\xd2", "\x88\xd3", "\x88\xdb", "\x00\x00", "\x00\x00", "\x88\xde",
+  "\x88\xe7", "\x88\xef", "\x88\xf0", "\x88\xf1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x88\xf5", "\x00\x00", "\x88\xf7", "\x89\x01", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x06", "\x89\x0d", "\x89\x0e",
+  "\x89\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\x15", "\x89\x16", "\x00\x00", "\x89\x18", "\x89\x19", "\x89\x1a",
+  "\x00\x00", "\x89\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x26",
+  "\x89\x27", "\x89\x28", "\x89\x30", "\x89\x31", "\x89\x32", "\x00\x00",
+  "\x00\x00", "\x89\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x39",
+  "\x89\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x3e", "\x00\x00",
+  "\x89\x40", "\x00\x00", "\x89\x42", "\x00\x00", "\x00\x00", "\x89\x45",
+  "\x89\x46", "\x00\x00", "\x00\x00", "\x89\x49", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x4f", "\x00\x00", "\x00\x00",
+  "\x89\x52", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x57",
+  "\x00\x00", "\x00\x00", "\x89\x5a", "\x89\x5b", "\x89\x5c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x61", "\x89\x62", "\x89\x63",
+  "\x89\x6b", "\x00\x00", "\x00\x00", "\x89\x6e", "\x00\x00", "\x89\x70",
+  "\x00\x00", "\x00\x00", "\x89\x73", "\x00\x00", "\x89\x75", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x7a", "\x89\x7b", "\x89\x7c",
+  "\x89\x7d", "\x89\x89", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\x8d",
+  "\x00\x00", "\x00\x00", "\x89\x90", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\x94", "\x89\x95", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x89\x9b", "\x89\x9c", "\x00\x00", "\x00\x00", "\x89\x9f",
+  "\x89\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xa5",
+  "\x89\xb0", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xb4", "\x89\xb5",
+  "\x89\xb6", "\x89\xb7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\xbc", "\x89\xd4", "\x89\xd5", "\x89\xd6", "\x89\xd7", "\x89\xd8",
+  "\x89\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x89\xe9", "\x00\x00",
+  "\x89\xeb", "\x00\x00", "\x89\xed", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\xf1", "\x00\x00", "\x89\xf3", "\x00\x00", "\x00\x00", "\x89\xf6",
+  "\x00\x00", "\x00\x00", "\x89\xf9", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x89\xfd", "\x00\x00", "\x89\xff", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\x04", "\x8a\x05", "\x00\x00", "\x8a\x07", "\x8a\x0f",
+  "\x00\x00", "\x8a\x11", "\x8a\x12", "\x00\x00", "\x8a\x14", "\x8a\x15",
+  "\x8a\x1e", "\x00\x00", "\x8a\x20", "\x00\x00", "\x8a\x22", "\x00\x00",
+  "\x8a\x24", "\x00\x00", "\x8a\x26", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\x2b", "\x8a\x2c", "\x00\x00", "\x00\x00", "\x8a\x2f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x35",
+  "\x00\x00", "\x8a\x37", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\x3d", "\x8a\x3e", "\x00\x00", "\x8a\x40", "\x00\x00",
+  "\x00\x00", "\x8a\x43", "\x00\x00", "\x8a\x45", "\x00\x00", "\x8a\x47",
+  "\x00\x00", "\x8a\x49", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x4d",
+  "\x8a\x4e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x53",
+  "\x00\x00", "\x00\x00", "\x8a\x56", "\x8a\x57", "\x8a\x58", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8a\x5c", "\x8a\x5d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\x61", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x65",
+  "\x00\x00", "\x8a\x67", "\x8a\x75", "\x8a\x76", "\x8a\x77", "\x00\x00",
+  "\x8a\x79", "\x8a\x7a", "\x8a\x7b", "\x00\x00", "\x00\x00", "\x8a\x7e",
+  "\x8a\x7f", "\x8a\x80", "\x00\x00", "\x00\x00", "\x8a\x83", "\x00\x00",
+  "\x00\x00", "\x8a\x86", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8a\x8b", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x8f", "\x8a\x90",
+  "\x00\x00", "\x8a\x92", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\x96",
+  "\x8a\x97", "\x00\x00", "\x8a\x99", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8a\x9f", "\x8a\xa7", "\x00\x00", "\x8a\xa9",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xae", "\x8a\xaf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xb3", "\x00\x00", "\x00\x00",
+  "\x8a\xb6", "\x8a\xb7", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xbb",
+  "\x00\x00", "\x00\x00", "\x8a\xbe", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8a\xc3", "\x00\x00", "\x00\x00", "\x8a\xc6", "\x00\x00",
+  "\x8a\xc8", "\x8a\xc9", "\x8a\xca", "\x8a\xd1", "\x00\x00", "\x8a\xd3",
+  "\x8a\xd4", "\x8a\xd5", "\x00\x00", "\x8a\xd7", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xdd", "\x00\x00", "\x8a\xdf",
+  "\x8a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xf0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8a\xf4", "\x8a\xf5", "\x8a\xf6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8a\xfc", "\x00\x00",
+  "\x00\x00", "\x8a\xff", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8b\x05", "\x8b\x06", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8b\x0a", "\x8b\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8b\x11", "\x8b\x1c", "\x00\x00", "\x8b\x1e", "\x8b\x1f",
+  "\x8b\x2d", "\x00\x00", "\x00\x00", "\x8b\x30", "\x8b\x37", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x3c", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x42", "\x8b\x43", "\x8b\x44",
+  "\x8b\x45", "\x8b\x46", "\x00\x00", "\x8b\x48", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x4d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8b\x52", "\x8b\x53", "\x8b\x54", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x59", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8b\x5e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8b\x63", "\x8b\x6d", "\x8b\x76", "\x00\x00", "\x8b\x78", "\x8b\x79",
+  "\x00\x00", "\x00\x00", "\x8b\x7c", "\x00\x00", "\x8b\x7e", "\x00\x00",
+  "\x00\x00", "\x8b\x81", "\x00\x00", "\x00\x00", "\x8b\x84", "\x8b\x85",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8b\x8b",
+  "\x00\x00", "\x8b\x8d", "\x00\x00", "\x8b\x8f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8b\x94", "\x8b\x95", "\x8b\x9c", "\x00\x00",
+  "\x8b\x9e", "\x8b\x9f", "\x8c\x38", "\x8c\x39", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x3d", "\x8c\x3e", "\x8c\x45", "\x00\x00", "\x8c\x47",
+  "\x00\x00", "\x8c\x49", "\x00\x00", "\x8c\x4b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x4f", "\x00\x00", "\x8c\x51", "\x00\x00", "\x8c\x53",
+  "\x8c\x54", "\x00\x00", "\x00\x00", "\x8c\x57", "\x8c\x58", "\x8c\x59",
+  "\x00\x00", "\x8c\x5b", "\x00\x00", "\x8c\x5d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x63", "\x8c\x64", "\x00\x00",
+  "\x8c\x66", "\x00\x00", "\x8c\x68", "\x8c\x69", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x6d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\x73", "\x00\x00", "\x8c\x75", "\x8c\x76", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x7b", "\x00\x00", "\x00\x00",
+  "\x8c\x7e", "\x8c\x86", "\x8c\x87", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8c\x8b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\x90",
+  "\x00\x00", "\x8c\x92", "\x8c\x93", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8c\x99", "\x00\x00", "\x8c\x9b", "\x8c\x9c",
+  "\x8c\xa4", "\x8c\xb9", "\x8c\xba", "\x8c\xc5", "\x8c\xc6", "\x00\x00",
+  "\x00\x00", "\x8c\xc9", "\x00\x00", "\x8c\xcb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\xcf", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\xd5", "\x8c\xd6", "\x00\x00", "\x00\x00", "\x8c\xd9",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8c\xdd", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8c\xe1", "\x8c\xe8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8c\xec", "\x00\x00", "\x00\x00", "\x8c\xef", "\x8c\xf0", "\x00\x00",
+  "\x8c\xf2", "\x00\x00", "\x00\x00", "\x8c\xf5", "\x00\x00", "\x8c\xf7",
+  "\x8c\xf8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8c\xfe", "\x8c\xff", "\x00\x00", "\x8d\x01", "\x00\x00", "\x8d\x03",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x09",
+  "\x8d\x12", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x17",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x1b", "\x8d\x65", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8d\x69", "\x00\x00", "\x00\x00", "\x8d\x6c",
+  "\x00\x00", "\x8d\x6e", "\x8d\x7f", "\x00\x00", "\x00\x00", "\x8d\x82",
+  "\x00\x00", "\x8d\x84", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x88",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\x8d", "\x00\x00",
+  "\x00\x00", "\x8d\x90", "\x8d\x91", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8d\x95", "\x8d\x9e", "\x8d\x9f", "\x8d\xa0", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xa6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8d\xab", "\x8d\xac", "\x00\x00", "\x00\x00",
+  "\x8d\xaf", "\x00\x00", "\x00\x00", "\x8d\xb2", "\x00\x00", "\x00\x00",
+  "\x8d\xb5", "\x00\x00", "\x8d\xb7", "\x00\x00", "\x8d\xb9", "\x00\x00",
+  "\x8d\xbb", "\x8d\xbc", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xc5", "\x8d\xc6",
+  "\x8d\xc7", "\x8d\xc8", "\x00\x00", "\x8d\xca", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8d\xce", "\x00\x00", "\x00\x00", "\x8d\xd1", "\x00\x00",
+  "\x00\x00", "\x8d\xd4", "\x8d\xd5", "\x00\x00", "\x8d\xd7", "\x00\x00",
+  "\x8d\xd9", "\x8d\xe4", "\x8d\xe5", "\x00\x00", "\x8d\xe7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8d\xec", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8d\xf0", "\x8d\xf1", "\x8d\xf2", "\x00\x00", "\x8d\xf4",
+  "\x8d\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x01", "\x00\x00",
+  "\x00\x00", "\x8e\x04", "\x8e\x05", "\x8e\x06", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8e\x0b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8e\x11", "\x00\x00", "\x00\x00", "\x8e\x14",
+  "\x00\x00", "\x8e\x16", "\x8e\x20", "\x8e\x21", "\x8e\x22", "\x8e\x23",
+  "\x00\x00", "\x00\x00", "\x8e\x26", "\x8e\x27", "\x8e\x31", "\x00\x00",
+  "\x8e\x33", "\x00\x00", "\x00\x00", "\x8e\x36", "\x8e\x37", "\x8e\x38",
+  "\x8e\x39", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x3d", "\x00\x00",
+  "\x00\x00", "\x8e\x40", "\x8e\x41", "\x8e\x4b", "\x00\x00", "\x8e\x4d",
+  "\x8e\x4e", "\x8e\x4f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8e\x54", "\x8e\x5b", "\x8e\x5c", "\x8e\x5d", "\x8e\x5e", "\x00\x00",
+  "\x00\x00", "\x8e\x61", "\x8e\x62", "\x8e\x69", "\x00\x00", "\x00\x00",
+  "\x8e\x6c", "\x8e\x6d", "\x00\x00", "\x8e\x6f", "\x8e\x70", "\x8e\x71",
+  "\x8e\x79", "\x8e\x7a", "\x8e\x7b", "\x8e\x82", "\x8e\x83", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x89", "\x8e\x90",
+  "\x00\x00", "\x8e\x92", "\x00\x00", "\x00\x00", "\x8e\x95", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\x9a", "\x8e\x9b", "\x00\x00",
+  "\x8e\x9d", "\x8e\x9e", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xa2",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xa7", "\x00\x00",
+  "\x8e\xa9", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xad", "\x8e\xae",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xb3", "\x00\x00",
+  "\x8e\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xba",
+  "\x8e\xbb", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xc0",
+  "\x8e\xc1", "\x00\x00", "\x8e\xc3", "\x8e\xc4", "\x00\x00", "\x00\x00",
+  "\x8e\xc7", "\x8e\xcf", "\x00\x00", "\x8e\xd1", "\x00\x00", "\x00\x00",
+  "\x8e\xd4", "\x8e\xdc", "\x8e\xe8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8e\xed", "\x8e\xee", "\x00\x00", "\x8e\xf0", "\x8e\xf1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8e\xf7",
+  "\x00\x00", "\x8e\xf9", "\x8e\xfa", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\x00", "\x00\x00", "\x8f\x02", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x07", "\x8f\x08", "\x8f\x0f",
+  "\x8f\x10", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\x16", "\x8f\x17", "\x8f\x18", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\x1e", "\x00\x00", "\x8f\x20", "\x8f\x21",
+  "\x00\x00", "\x8f\x23", "\x00\x00", "\x8f\x25", "\x00\x00", "\x8f\x27",
+  "\x8f\x28", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x2c", "\x8f\x2d",
+  "\x8f\x2e", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\x34", "\x8f\x35", "\x8f\x36", "\x8f\x37", "\x00\x00", "\x00\x00",
+  "\x8f\x3a", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x8f\x40", "\x8f\x41", "\x00\x00", "\x8f\x43", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x8f\x47", "\x8f\x4f", "\x00\x00", "\x8f\x51", "\x8f\x52",
+  "\x8f\x53", "\x8f\x54", "\x8f\x55", "\x00\x00", "\x00\x00", "\x8f\x58",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\x5d", "\x8f\x5e",
+  "\x8f\x65", "\x8f\x9d", "\x00\x00", "\x00\x00", "\x8f\xa0", "\x8f\xa1",
+  "\x00\x00", "\x00\x00", "\x8f\xa4", "\x8f\xa5", "\x8f\xa6", "\x8f\xb5",
+  "\x8f\xb6", "\x00\x00", "\x8f\xb8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\xbe", "\x00\x00", "\x8f\xc0", "\x8f\xc1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xc6", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x8f\xca", "\x8f\xcb", "\x00\x00", "\x8f\xcd",
+  "\x00\x00", "\x00\x00", "\x8f\xd0", "\x00\x00", "\x8f\xd2", "\x8f\xd3",
+  "\x00\x00", "\x8f\xd5", "\x8f\xe0", "\x00\x00", "\x00\x00", "\x8f\xe3",
+  "\x8f\xe4", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xe8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xee", "\x00\x00",
+  "\x00\x00", "\x8f\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xf5",
+  "\x8f\xf6", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x8f\xfb",
+  "\x00\x00", "\x00\x00", "\x8f\xfe", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x90\x02", "\x00\x00", "\x90\x04", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x90\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x0c", "\x90\x18",
+  "\x00\x00", "\x00\x00", "\x90\x1b", "\x90\x28", "\x90\x29", "\x90\x2a",
+  "\x00\x00", "\x90\x2c", "\x90\x2d", "\x00\x00", "\x90\x2f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x90\x33", "\x90\x34", "\x00\x00", "\x00\x00",
+  "\x90\x37", "\x90\x3f", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x43",
+  "\x90\x44", "\x90\x4c", "\x90\x5b", "\x00\x00", "\x90\x5d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x62", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\x66", "\x90\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\x6c", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x70",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x90\x74", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x90\x79", "\x90\x85", "\x00\x00", "\x00\x00",
+  "\x90\x88", "\x00\x00", "\x00\x00", "\x90\x8b", "\x90\x8c", "\x00\x00",
+  "\x90\x8e", "\x00\x00", "\x90\x90", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\x95", "\x00\x00", "\x90\x97", "\x90\x98", "\x90\x99",
+  "\x00\x00", "\x90\x9b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x90\xa0", "\x90\xa1", "\x90\xa2", "\x00\x00", "\x00\x00", "\x90\xa5",
+  "\x90\xb0", "\x00\x00", "\x90\xb2", "\x90\xb3", "\x90\xb4", "\x00\x00",
+  "\x90\xb6", "\x90\xbd", "\x90\xbe", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x90\xc3", "\x90\xc4", "\x90\xc5", "\x00\x00", "\x90\xc7",
+  "\x90\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xcc", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xd2", "\x00\x00",
+  "\x00\x00", "\x90\xd5", "\x00\x00", "\x90\xd7", "\x90\xd8", "\x90\xd9",
+  "\x00\x00", "\x00\x00", "\x90\xdc", "\x90\xdd", "\x00\x00", "\x90\xdf",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xe5",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xeb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x90\xef", "\x90\xf0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x90\xf4", "\x00\x00", "\x90\xf6", "\x90\xfe",
+  "\x90\xff", "\x91\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x04",
+  "\x91\x05", "\x91\x06", "\x00\x00", "\x91\x08", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x0d", "\x00\x00", "\x00\x00", "\x91\x10",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x14", "\x00\x00", "\x91\x16",
+  "\x91\x17", "\x91\x18", "\x00\x00", "\x91\x1a", "\x00\x00", "\x91\x1c",
+  "\x00\x00", "\x91\x1e", "\x00\x00", "\x91\x20", "\x00\x00", "\x91\x22",
+  "\x91\x23", "\x00\x00", "\x91\x25", "\x00\x00", "\x91\x27", "\x00\x00",
+  "\x91\x29", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x2e",
+  "\x91\x2f", "\x00\x00", "\x91\x31", "\x00\x00", "\x00\x00", "\x91\x34",
+  "\x00\x00", "\x91\x36", "\x91\x37", "\x00\x00", "\x91\x39", "\x91\x3a",
+  "\x00\x00", "\x91\x3c", "\x91\x3d", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x43", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x91\x47", "\x91\x48", "\x91\x4f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x91\x53", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x57", "\x00\x00",
+  "\x91\x59", "\x91\x5a", "\x91\x5b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x61", "\x00\x00", "\x00\x00", "\x91\x64",
+  "\x00\x00", "\x00\x00", "\x91\x67", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x6d", "\x91\x74", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\x79", "\x91\x7a", "\x91\x7b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x81", "\x00\x00",
+  "\x91\x83", "\x00\x00", "\x91\x85", "\x91\x86", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x91\x8a", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x8e",
+  "\x00\x00", "\x00\x00", "\x91\x91", "\x00\x00", "\x91\x93", "\x91\x94",
+  "\x91\x95", "\x00\x00", "\x00\x00", "\x91\x98", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x91\x9e", "\x00\x00", "\x00\x00",
+  "\x91\xa1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xa6",
+  "\x00\x00", "\x91\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xac",
+  "\x91\xad", "\x91\xae", "\x00\x00", "\x91\xb0", "\x91\xb1", "\x91\xb2",
+  "\x91\xb3", "\x00\x00", "\x00\x00", "\x91\xb6", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x91\xbb", "\x91\xbc", "\x91\xbd", "\x00\x00",
+  "\x91\xbf", "\x00\x00", "\x00\x00", "\x91\xc2", "\x91\xc3", "\x00\x00",
+  "\x91\xc5", "\x91\xd3", "\x91\xd4", "\x00\x00", "\x00\x00", "\x91\xd7",
+  "\x00\x00", "\x91\xd9", "\x91\xda", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x91\xde", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x91\xe4", "\x91\xe5", "\x00\x00", "\x00\x00", "\x00\x00", "\x91\xe9",
+  "\x91\xea", "\x00\x00", "\x91\xec", "\x91\xed", "\x91\xee", "\x91\xef",
+  "\x91\xf0", "\x91\xf1", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x91\xf7", "\x00\x00", "\x91\xf9", "\x00\x00", "\x91\xfb",
+  "\x00\x00", "\x91\xfd", "\x00\x00", "\x00\x00", "\x92\x00", "\x92\x01",
+  "\x00\x00", "\x00\x00", "\x92\x04", "\x92\x05", "\x92\x06", "\x92\x07",
+  "\x00\x00", "\x92\x09", "\x92\x0a", "\x00\x00", "\x92\x0c", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x92\x10", "\x00\x00", "\x92\x12", "\x92\x13",
+  "\x00\x00", "\x00\x00", "\x92\x16", "\x00\x00", "\x92\x18", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x92\x1c", "\x92\x1d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x23", "\x92\x24", "\x92\x25",
+  "\x92\x26", "\x00\x00", "\x92\x28", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x92\x2e", "\x92\x2f", "\x92\x30", "\x00\x00",
+  "\x00\x00", "\x92\x33", "\x00\x00", "\x92\x35", "\x92\x36", "\x00\x00",
+  "\x92\x38", "\x92\x39", "\x92\x3a", "\x00\x00", "\x92\x3c", "\x00\x00",
+  "\x92\x3e", "\x00\x00", "\x92\x40", "\x00\x00", "\x92\x42", "\x92\x43",
+  "\x00\x00", "\x00\x00", "\x92\x46", "\x92\x47", "\x00\x00", "\x00\x00",
+  "\x92\x4a", "\x00\x00", "\x00\x00", "\x92\x4d", "\x92\x4e", "\x92\x4f",
+  "\x00\x00", "\x92\x51", "\x92\x58", "\x92\x59", "\x00\x00", "\x00\x00",
+  "\x92\x5c", "\x92\x5d", "\x00\x00", "\x00\x00", "\x92\x60", "\x92\x61",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x65", "\x00\x00", "\x92\x67",
+  "\x92\x68", "\x92\x69", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x92\x6e", "\x92\x6f", "\x92\x70", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x92\x75", "\x92\x76", "\x92\x77", "\x92\x78", "\x92\x79",
+  "\x00\x00", "\x92\x7b", "\x92\x7c", "\x92\x7d", "\x00\x00", "\x92\x7f",
+  "\x92\x88", "\x92\x89", "\x92\x8a", "\x00\x00", "\x00\x00", "\x92\x8d",
+  "\x92\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x92", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x97", "\x00\x00", "\x92\x99",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\x9f",
+  "\x92\xa0", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xa4", "\x92\xa5",
+  "\x00\x00", "\x92\xa7", "\x92\xa8", "\x00\x00", "\x00\x00", "\x92\xab",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xaf", "\x00\x00", "\x00\x00",
+  "\x92\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xb6", "\x00\x00",
+  "\x92\xb8", "\x00\x00", "\x92\xba", "\x92\xbb", "\x92\xbc", "\x92\xbd",
+  "\x00\x00", "\x92\xbf", "\x92\xc0", "\x92\xc1", "\x92\xc2", "\x92\xc3",
+  "\x00\x00", "\x92\xc5", "\x92\xc6", "\x92\xc7", "\x92\xc8", "\x00\x00",
+  "\x00\x00", "\x92\xcb", "\x92\xcc", "\x92\xcd", "\x92\xce", "\x00\x00",
+  "\x92\xd0", "\x00\x00", "\x00\x00", "\x92\xd3", "\x00\x00", "\x92\xd5",
+  "\x00\x00", "\x92\xd7", "\x92\xd8", "\x92\xd9", "\x00\x00", "\x00\x00",
+  "\x92\xdc", "\x92\xdd", "\x00\x00", "\x92\xdf", "\x92\xe0", "\x92\xe1",
+  "\x00\x00", "\x92\xe3", "\x00\x00", "\x92\xe5", "\x00\x00", "\x92\xe7",
+  "\x92\xe8", "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xec", "\x00\x00",
+  "\x92\xee", "\x00\x00", "\x92\xf0", "\x92\xf9", "\x00\x00", "\x92\xfb",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x92\xff", "\x93\x00", "\x00\x00",
+  "\x93\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x93\x08", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x0d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x11", "\x00\x00", "\x00\x00",
+  "\x93\x14", "\x93\x15", "\x93\x1c", "\x93\x1d", "\x93\x1e", "\x93\x1f",
+  "\x00\x00", "\x93\x21", "\x00\x00", "\x00\x00", "\x93\x24", "\x93\x25",
+  "\x00\x00", "\x93\x27", "\x00\x00", "\x93\x29", "\x93\x2a", "\x93\x33",
+  "\x93\x34", "\x00\x00", "\x93\x36", "\x93\x37", "\x93\x47", "\x93\x48",
+  "\x93\x49", "\x93\x50", "\x93\x51", "\x93\x52", "\x00\x00", "\x00\x00",
+  "\x93\x55", "\x00\x00", "\x93\x57", "\x93\x58", "\x00\x00", "\x93\x5a",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x5e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x64", "\x93\x65", "\x00\x00",
+  "\x93\x67", "\x00\x00", "\x93\x69", "\x93\x6a", "\x00\x00", "\x00\x00",
+  "\x93\x6d", "\x00\x00", "\x93\x6f", "\x93\x70", "\x93\x71", "\x00\x00",
+  "\x93\x73", "\x93\x74", "\x00\x00", "\x93\x76", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x93\x7a", "\x00\x00", "\x00\x00", "\x93\x7d", "\x00\x00",
+  "\x93\x7f", "\x93\x80", "\x93\x81", "\x93\x82", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\x88", "\x00\x00", "\x93\x8a",
+  "\x93\x8b", "\x00\x00", "\x93\x8d", "\x00\x00", "\x93\x8f", "\x00\x00",
+  "\x00\x00", "\x93\x92", "\x00\x00", "\x00\x00", "\x93\x95", "\x00\x00",
+  "\x00\x00", "\x93\x98", "\x00\x00", "\x00\x00", "\x93\x9b", "\x00\x00",
+  "\x00\x00", "\x93\x9e", "\x00\x00", "\x00\x00", "\x93\xa1", "\x00\x00",
+  "\x93\xa3", "\x93\xa4", "\x00\x00", "\x93\xa6", "\x00\x00", "\x93\xa8",
+  "\x93\xa9", "\x00\x00", "\x93\xab", "\x93\xb4", "\x93\xb5", "\x93\xb6",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xba", "\x93\xc1", "\x00\x00",
+  "\x00\x00", "\x93\xc4", "\x93\xc5", "\x93\xc6", "\x93\xc7", "\x00\x00",
+  "\x93\xc9", "\x93\xca", "\x93\xcb", "\x93\xcc", "\x93\xcd", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xd9", "\x00\x00",
+  "\x00\x00", "\x93\xdc", "\x00\x00", "\x93\xde", "\x93\xdf", "\x00\x00",
+  "\x00\x00", "\x93\xe2", "\x00\x00", "\x00\x00", "\x00\x00", "\x93\xe6",
+  "\x93\xe7", "\x93\xf7", "\x93\xf8", "\x93\xf9", "\x93\xfa", "\x93\xfb",
+  "\x00\x00", "\x93\xfd", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x01",
+  "\x94\x02", "\x00\x00", "\x94\x04", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x94\x08", "\x94\x09", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x0d",
+  "\x94\x0e", "\x94\x0f", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x94\x15", "\x94\x16", "\x94\x17", "\x94\x1f", "\x94\x2e",
+  "\x94\x2f", "\x00\x00", "\x94\x31", "\x94\x32", "\x94\x33", "\x94\x34",
+  "\x94\x3b", "\x00\x00", "\x94\x3d", "\x00\x00", "\x94\x3f", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x94\x43", "\x00\x00", "\x94\x45", "\x00\x00",
+  "\x00\x00", "\x94\x48", "\x00\x00", "\x94\x4a", "\x00\x00", "\x94\x4c",
+  "\x94\x55", "\x00\x00", "\x00\x00", "\x00\x00", "\x94\x59", "\x00\x00",
+  "\x00\x00", "\x94\x5c", "\x00\x00", "\x00\x00", "\x94\x5f", "\x00\x00",
+  "\x94\x61", "\x00\x00", "\x94\x63", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x94\x68", "\x00\x00", "\x00\x00", "\x94\x6b", "\x00\x00",
+  "\x94\x6d", "\x94\x6e", "\x94\x6f", "\x00\x00", "\x94\x71", "\x94\x72",
+  "\x94\x83", "\x94\x84", "\x95\x78", "\x95\x79", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x95\x7e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x95\x84", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x95\x88", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\x8c", "\x95\x8d",
+  "\x95\x8e", "\x95\x9d", "\x95\x9e", "\x95\x9f", "\x00\x00", "\x95\xa1",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xa6", "\x00\x00",
+  "\x00\x00", "\x95\xa9", "\x00\x00", "\x95\xab", "\x95\xac", "\x95\xb4",
+  "\x00\x00", "\x95\xb6", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xba",
+  "\x00\x00", "\x00\x00", "\x95\xbd", "\x00\x00", "\x95\xbf", "\x95\xc6",
+  "\x00\x00", "\x95\xc8", "\x95\xc9", "\x00\x00", "\x95\xcb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xd0", "\x95\xd1", "\x95\xd2",
+  "\x95\xd3", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x95\xd9", "\x95\xda", "\x00\x00", "\x00\x00", "\x95\xdd", "\x95\xde",
+  "\x95\xdf", "\x95\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x95\xe4",
+  "\x00\x00", "\x95\xe6", "\x96\x1d", "\x96\x1e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x96\x22", "\x00\x00", "\x96\x24", "\x96\x25", "\x96\x26",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x2c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x31", "\x00\x00",
+  "\x96\x33", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x37", "\x96\x38",
+  "\x96\x39", "\x96\x3a", "\x00\x00", "\x96\x3c", "\x96\x3d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\x41", "\x96\x52", "\x00\x00", "\x96\x54",
+  "\x00\x00", "\x96\x56", "\x96\x57", "\x96\x58", "\x96\x61", "\x96\x6e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\x74",
+  "\x96\x7b", "\x96\x7c", "\x00\x00", "\x96\x7e", "\x96\x7f", "\x00\x00",
+  "\x96\x81", "\x96\x82", "\x96\x83", "\x96\x84", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\x89", "\x96\x91", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\x96", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x96\x9a", "\x00\x00", "\x00\x00", "\x96\x9d", "\x00\x00", "\x96\x9f",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xa4", "\x96\xa5",
+  "\x96\xa6", "\x00\x00", "\x00\x00", "\x96\xa9", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x96\xae", "\x96\xaf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x96\xb3", "\x96\xba", "\x96\xca", "\x96\xd2", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x96\xd8", "\x00\x00",
+  "\x96\xda", "\x00\x00", "\x00\x00", "\x96\xdd", "\x96\xde", "\x96\xdf",
+  "\x96\xe9", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x96\xef", "\x00\x00", "\x96\xf1", "\x96\xfa", "\x97\x02", "\x97\x03",
+  "\x00\x00", "\x97\x05", "\x00\x00", "\x00\x00", "\x00\x00", "\x97\x09",
+  "\x97\x1a", "\x97\x1b", "\x00\x00", "\x97\x1d", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x21", "\x97\x22", "\x97\x23", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x28", "\x97\x31", "\x00\x00", "\x97\x33",
+  "\x97\x41", "\x00\x00", "\x97\x43", "\x97\x4a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x4e", "\x97\x4f", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x55", "\x00\x00", "\x97\x57", "\x97\x58",
+  "\x00\x00", "\x97\x5a", "\x97\x5b", "\x97\x63", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x67", "\x00\x00", "\x00\x00", "\x97\x6a", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x97\x6e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x73", "\x00\x00", "\x00\x00", "\x97\x76", "\x97\x77",
+  "\x97\x78", "\x00\x00", "\x00\x00", "\x97\x7b", "\x00\x00", "\x97\x7d",
+  "\x00\x00", "\x97\x7f", "\x97\x80", "\x97\x89", "\x97\x95", "\x97\x96",
+  "\x97\x97", "\x00\x00", "\x97\x99", "\x97\x9a", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x97\x9e", "\x97\x9f", "\x00\x00", "\x00\x00", "\x97\xa2",
+  "\x97\xac", "\x00\x00", "\x97\xae", "\x00\x00", "\x00\x00", "\x97\xb1",
+  "\x97\xb2", "\x00\x00", "\x00\x00", "\x97\xb5", "\x97\xb6", "\x00\x00",
+  "\x97\xb8", "\x97\xb9", "\x97\xba", "\x00\x00", "\x97\xbc", "\x00\x00",
+  "\x97\xbe", "\x97\xbf", "\x00\x00", "\x97\xc1", "\x00\x00", "\x00\x00",
+  "\x97\xc4", "\x97\xc5", "\x00\x00", "\x97\xc7", "\x00\x00", "\x97\xc9",
+  "\x97\xca", "\x00\x00", "\x97\xcc", "\x97\xcd", "\x97\xce", "\x00\x00",
+  "\x97\xd0", "\x97\xd1", "\x00\x00", "\x00\x00", "\x97\xd4", "\x00\x00",
+  "\x00\x00", "\x97\xd7", "\x97\xd8", "\x97\xd9", "\x00\x00", "\x97\xdb",
+  "\x00\x00", "\x97\xdd", "\x97\xde", "\x00\x00", "\x97\xe0", "\x97\xe1",
+  "\x00\x00", "\x00\x00", "\x97\xe4", "\x97\xef", "\x00\x00", "\x97\xf1",
+  "\x00\x00", "\x00\x00", "\x97\xf4", "\x00\x00", "\x00\x00", "\x97\xf7",
+  "\x97\xf8", "\x00\x00", "\x97\xfa", "\x98\x07", "\x00\x00", "\x00\x00",
+  "\x98\x0a", "\x00\x00", "\x00\x00", "\x98\x0d", "\x98\x0e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x14", "\x00\x00",
+  "\x98\x16", "\x00\x00", "\x00\x00", "\x98\x19", "\x00\x00", "\x00\x00",
+  "\x98\x1c", "\x00\x00", "\x98\x1e", "\x00\x00", "\x98\x20", "\x00\x00",
+  "\x00\x00", "\x98\x23", "\x00\x00", "\x98\x25", "\x98\x26", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x2b", "\x00\x00", "\x00\x00",
+  "\x98\x2e", "\x98\x2f", "\x98\x30", "\x00\x00", "\x98\x32", "\x98\x33",
+  "\x00\x00", "\x98\x35", "\x98\x3e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x98\x44", "\x00\x00", "\x00\x00", "\x98\x47",
+  "\x00\x00", "\x00\x00", "\x98\x4a", "\x98\x51", "\x98\x52", "\x98\x53",
+  "\x00\x00", "\x00\x00", "\x98\x56", "\x98\x57", "\x00\x00", "\x98\x59",
+  "\x98\x5a", "\x98\x62", "\x98\x63", "\x00\x00", "\x98\x65", "\x98\x66",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x98\x6a", "\x00\x00", "\x98\x6c",
+  "\x98\xab", "\x00\x00", "\x98\xad", "\x98\xae", "\x00\x00", "\x98\xb0",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xb4", "\x00\x00", "\x00\x00",
+  "\x98\xb7", "\x98\xb8", "\x00\x00", "\x98\xba", "\x98\xbb", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x98\xbf", "\x00\x00", "\x00\x00", "\x98\xc2",
+  "\x00\x00", "\x00\x00", "\x98\xc5", "\x00\x00", "\x00\x00", "\x98\xc8",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x98\xcc", "\x98\xe1", "\x00\x00",
+  "\x98\xe3", "\x00\x00", "\x98\xe5", "\x98\xe6", "\x98\xe7", "\x00\x00",
+  "\x00\x00", "\x98\xea", "\x98\xf3", "\x00\x00", "\x00\x00", "\x98\xf6",
+  "\x99\x02", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x07",
+  "\x99\x08", "\x99\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x15",
+  "\x99\x16", "\x99\x17", "\x00\x00", "\x00\x00", "\x99\x1a", "\x99\x1b",
+  "\x99\x1c", "\x00\x00", "\x00\x00", "\x99\x1f", "\x00\x00", "\x00\x00",
+  "\x99\x22", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x26", "\x99\x27",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x2b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x31", "\x99\x32", "\x99\x33",
+  "\x99\x34", "\x99\x35", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\x39",
+  "\x99\x3a", "\x99\x3b", "\x99\x3c", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\x40", "\x99\x41", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\x46", "\x99\x47", "\x99\x48", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x99\x4d", "\x99\x4e", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x99\x54", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\x58", "\x99\x59", "\x00\x00", "\x99\x5b", "\x99\x5c", "\x00\x00",
+  "\x99\x5e", "\x99\x5f", "\x99\x60", "\x99\x9b", "\x00\x00", "\x99\x9d",
+  "\x00\x00", "\x99\x9f", "\x99\xa6", "\x99\xb0", "\x99\xb1", "\x99\xb2",
+  "\x00\x00", "\x00\x00", "\x99\xb5", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\xb9", "\x99\xba", "\x00\x00", "\x00\x00", "\x99\xbd", "\x00\x00",
+  "\x99\xbf", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xc3", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xc9", "\x99\xd3",
+  "\x99\xd4", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xd9",
+  "\x99\xda", "\x00\x00", "\x99\xdc", "\x00\x00", "\x99\xde", "\x99\xe7",
+  "\x00\x00", "\x00\x00", "\x99\xea", "\x99\xeb", "\x99\xec", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x99\xf0", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x99\xf4", "\x99\xf5", "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xf9",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x99\xfd", "\x99\xfe", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\x02", "\x9a\x03", "\x9a\x04", "\x9a\x0b",
+  "\x9a\x0c", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x10", "\x9a\x11",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\x16", "\x9a\x1e",
+  "\x00\x00", "\x9a\x20", "\x00\x00", "\x9a\x22", "\x9a\x23", "\x9a\x24",
+  "\x00\x00", "\x00\x00", "\x9a\x27", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\x2d", "\x9a\x2e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\x33", "\x00\x00", "\x9a\x35", "\x9a\x36",
+  "\x00\x00", "\x9a\x38", "\x9a\x41", "\x00\x00", "\x00\x00", "\x9a\x44",
+  "\x00\x00", "\x00\x00", "\x9a\x47", "\x00\x00", "\x00\x00", "\x9a\x4a",
+  "\x9a\x4b", "\x9a\x4c", "\x00\x00", "\x9a\x4e", "\x00\x00", "\x00\x00",
+  "\x9a\x51", "\x00\x00", "\x00\x00", "\x9a\x54", "\x00\x00", "\x9a\x56",
+  "\x9a\x5d", "\x9a\xaa", "\x00\x00", "\x9a\xac", "\x00\x00", "\x9a\xae",
+  "\x9a\xaf", "\x00\x00", "\x00\x00", "\x9a\xb2", "\x00\x00", "\x9a\xb4",
+  "\x9a\xb5", "\x9a\xb6", "\x00\x00", "\x00\x00", "\x9a\xb9", "\x00\x00",
+  "\x9a\xbb", "\x00\x00", "\x00\x00", "\x9a\xbe", "\x9a\xbf", "\x00\x00",
+  "\x9a\xc1", "\x00\x00", "\x9a\xc3", "\x00\x00", "\x00\x00", "\x9a\xc6",
+  "\x00\x00", "\x9a\xc8", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xce", "\x00\x00", "\x9a\xd0", "\x00\x00", "\x9a\xd2",
+  "\x00\x00", "\x00\x00", "\x9a\xd5", "\x9a\xd6", "\x9a\xd7", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\xdb", "\x9a\xdc", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xe0", "\x00\x00", "\x00\x00", "\x00\x00", "\x9a\xe4",
+  "\x9a\xe5", "\x00\x00", "\x9a\xe7", "\x00\x00", "\x9a\xe9", "\x00\x00",
+  "\x00\x00", "\x9a\xec", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9a\xf2", "\x9a\xf3", "\x00\x00", "\x9a\xf5", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9a\xf9", "\x9a\xfa", "\x00\x00", "\x00\x00",
+  "\x9a\xfd", "\x00\x00", "\x9a\xff", "\x9b\x00", "\x9b\x01", "\x9b\x02",
+  "\x9b\x03", "\x9b\x04", "\x9b\x05", "\x00\x00", "\x00\x00", "\x9b\x08",
+  "\x9b\x09", "\x00\x00", "\x9b\x0b", "\x9b\x0c", "\x9b\x0d", "\x9b\x0e",
+  "\x00\x00", "\x9b\x10", "\x00\x00", "\x9b\x12", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\x16", "\x00\x00", "\x00\x00", "\x9b\x19", "\x00\x00",
+  "\x9b\x1b", "\x9b\x1c", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x20",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x26",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x2b", "\x00\x00",
+  "\x9b\x2d", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9b\x33", "\x9b\x34", "\x9b\x35", "\x00\x00", "\x9b\x37", "\x00\x00",
+  "\x9b\x39", "\x9b\x3a", "\x00\x00", "\x00\x00", "\x9b\x3d", "\x9b\x48",
+  "\x00\x00", "\x00\x00", "\x9b\x4b", "\x9b\x4c", "\x9b\x55", "\x9b\x56",
+  "\x9b\x57", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x5b", "\x00\x00",
+  "\x00\x00", "\x9b\x5e", "\x00\x00", "\x00\x00", "\x9b\x61", "\x00\x00",
+  "\x9b\x63", "\x00\x00", "\x9b\x65", "\x9b\x66", "\x00\x00", "\x9b\x68",
+  "\x00\x00", "\x9b\x6a", "\x9b\x6b", "\x9b\x6c", "\x9b\x6d", "\x9b\x6e",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x73", "\x00\x00",
+  "\x9b\x75", "\x00\x00", "\x9b\x77", "\x9b\x78", "\x9b\x79", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x7f", "\x9b\x80",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\x84", "\x9b\x85", "\x9b\x86",
+  "\x9b\x87", "\x00\x00", "\x9b\x89", "\x9b\x8a", "\x9b\x8b", "\x00\x00",
+  "\x9b\x8d", "\x00\x00", "\x9b\x8f", "\x9b\x90", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\x94", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\x9a", "\x00\x00", "\x00\x00", "\x9b\x9d", "\x9b\x9e",
+  "\x9b\xa6", "\x9b\xa7", "\x00\x00", "\x9b\xa9", "\x00\x00", "\x00\x00",
+  "\x9b\xac", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xb0", "\x9b\xb1",
+  "\x9b\xb2", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xb7",
+  "\x9b\xb8", "\x00\x00", "\x00\x00", "\x9b\xbb", "\x9b\xbc", "\x00\x00",
+  "\x9b\xbe", "\x9b\xbf", "\x00\x00", "\x9b\xc1", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xc7", "\x9b\xc8", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xce", "\x00\x00",
+  "\x9b\xd0", "\x9b\xd7", "\x9b\xd8", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\xdd", "\x00\x00", "\x9b\xdf", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xe5", "\x00\x00", "\x9b\xe7",
+  "\x00\x00", "\x00\x00", "\x9b\xea", "\x9b\xeb", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9b\xef", "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xf3",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9b\xf7", "\x9b\xf8", "\x9b\xf9",
+  "\x9b\xfa", "\x00\x00", "\x00\x00", "\x9b\xfd", "\x00\x00", "\x9b\xff",
+  "\x9c\x00", "\x00\x00", "\x9c\x02", "\x9c\x0b", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9c\x0f", "\x00\x00", "\x9c\x11", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9c\x16", "\x00\x00", "\x9c\x18", "\x9c\x19",
+  "\x9c\x1a", "\x00\x00", "\x9c\x1c", "\x00\x00", "\x9c\x1e", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9c\x22", "\x9c\x23", "\x00\x00", "\x00\x00",
+  "\x9c\x26", "\x9c\x27", "\x9c\x28", "\x9c\x29", "\x9c\x2a", "\x9c\x31",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x35", "\x9c\x36", "\x9c\x37",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x3d",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x41", "\x00\x00", "\x9c\x43",
+  "\x9c\x44", "\x9c\x45", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x49",
+  "\x9c\x4a", "\x00\x00", "\x00\x00", "\x00\x00", "\x9c\x4e", "\x9c\x4f",
+  "\x9c\x50", "\x00\x00", "\x00\x00", "\x9c\x53", "\x9c\x54", "\x00\x00",
+  "\x9c\x56", "\x00\x00", "\x9c\x58", "\x00\x00", "\x00\x00", "\x9c\x5b",
+  "\x9c\x5c", "\x9c\x5d", "\x9c\x5e", "\x9c\x5f", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9c\x63", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9c\x68", "\x9c\x69", "\x9c\x6a", "\x9c\x6b", "\x00\x00", "\x00\x00",
+  "\x9c\x6e", "\x00\x00", "\x9c\x70", "\x00\x00", "\x9c\x72", "\x00\x00",
+  "\x00\x00", "\x9c\x75", "\x00\x00", "\x9c\x77", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9c\x7b", "\x9c\xe6", "\x9c\xf2", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9c\xf7", "\x00\x00", "\x9c\xf9", "\x9d\x02",
+  "\x9d\x0b", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\x11", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\x17", "\x9d\x18", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x1c",
+  "\x9d\x1d", "\x9d\x1e", "\x9d\x2f", "\x9d\x30", "\x00\x00", "\x9d\x32",
+  "\x9d\x33", "\x9d\x34", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9d\x3a", "\x00\x00", "\x9d\x3c", "\x9d\x3d", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x42", "\x9d\x43", "\x00\x00",
+  "\x9d\x45", "\x00\x00", "\x9d\x47", "\x00\x00", "\x00\x00", "\x9d\x4a",
+  "\x9d\x53", "\x9d\x54", "\x9d\x5f", "\x00\x00", "\x00\x00", "\x9d\x62",
+  "\x9d\x63", "\x00\x00", "\x9d\x65", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\x69", "\x9d\x6a", "\x9d\x6b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9d\x70", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9d\x76", "\x9d\x77", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\x7b", "\x9d\x7c", "\x00\x00", "\x9d\x7e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9d\x83", "\x9d\x84", "\x00\x00", "\x9d\x86",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x8a", "\x00\x00", "\x00\x00",
+  "\x9d\x8d", "\x9d\x8e", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\x92",
+  "\x9d\x93", "\x00\x00", "\x9d\x95", "\x9d\x96", "\x9d\x97", "\x9d\x98",
+  "\x9d\xa1", "\x9d\xaa", "\x00\x00", "\x9d\xac", "\x00\x00", "\x9d\xae",
+  "\x00\x00", "\x00\x00", "\x9d\xb1", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\xb5", "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xb9", "\x00\x00",
+  "\x00\x00", "\x9d\xbc", "\x00\x00", "\x00\x00", "\x9d\xbf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9d\xc3", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9d\xc7", "\x00\x00", "\x9d\xc9", "\x9d\xca", "\x9d\xd4", "\x9d\xd5",
+  "\x9d\xd6", "\x9d\xd7", "\x00\x00", "\x00\x00", "\x9d\xda", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9d\xde", "\x9d\xdf", "\x9d\xe0", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9d\xe5", "\x00\x00", "\x9d\xe7",
+  "\x00\x00", "\x9d\xe9", "\x00\x00", "\x9d\xeb", "\x00\x00", "\x00\x00",
+  "\x9d\xee", "\x00\x00", "\x9d\xf0", "\x00\x00", "\x00\x00", "\x9d\xf3",
+  "\x9d\xf4", "\x9d\xfe", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x02",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x07", "\x00\x00",
+  "\x00\x00", "\x9e\x0a", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x0e",
+  "\x00\x00", "\x9e\x10", "\x9e\x11", "\x9e\x12", "\x00\x00", "\x00\x00",
+  "\x9e\x15", "\x9e\x16", "\x00\x00", "\x00\x00", "\x9e\x19", "\x00\x00",
+  "\x00\x00", "\x9e\x1c", "\x9e\x1d", "\x9e\x7a", "\x9e\x7b", "\x9e\x7c",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\x80", "\x00\x00", "\x9e\x82",
+  "\x9e\x83", "\x9e\x84", "\x9e\x85", "\x00\x00", "\x9e\x87", "\x9e\x8e",
+  "\x9e\x8f", "\x9e\x96", "\x00\x00", "\x9e\x98", "\x00\x00", "\x00\x00",
+  "\x9e\x9b", "\x00\x00", "\x00\x00", "\x9e\x9e", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xa4", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9e\xa8", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xac",
+  "\x00\x00", "\x9e\xae", "\x9e\xaf", "\x9e\xb0", "\x00\x00", "\x00\x00",
+  "\x9e\xb3", "\x9e\xb4", "\x9e\xb5", "\x9e\xc6", "\x00\x00", "\x9e\xc8",
+  "\x00\x00", "\x00\x00", "\x9e\xcb", "\x9e\xd5", "\x9e\xdf", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xe4", "\x00\x00", "\x00\x00",
+  "\x9e\xe7", "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9e\xec",
+  "\x9e\xed", "\x9e\xee", "\x00\x00", "\x9e\xf0", "\x9e\xf1", "\x9e\xf2",
+  "\x00\x00", "\x00\x00", "\x9e\xf5", "\x00\x00", "\x00\x00", "\x9e\xf8",
+  "\x9e\xff", "\x00\x00", "\x00\x00", "\x9f\x02", "\x9f\x03", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x09", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x0f", "\x9f\x10",
+  "\x9f\x11", "\x9f\x12", "\x00\x00", "\x9f\x14", "\x00\x00", "\x9f\x16",
+  "\x9f\x17", "\x00\x00", "\x9f\x19", "\x9f\x1a", "\x9f\x1b", "\x00\x00",
+  "\x00\x00", "\x00\x00", "\x9f\x1f", "\x00\x00", "\x00\x00", "\x9f\x22",
+  "\x00\x00", "\x00\x00", "\x00\x00", "\x9f\x26", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9f\x2a", "\x9f\x2b", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9f\x2f", "\x00\x00", "\x9f\x31", "\x9f\x32", "\x00\x00", "\x9f\x34",
+  "\x00\x00", "\x00\x00", "\x9f\x37", "\x00\x00", "\x9f\x39", "\x9f\x3a",
+  "\x00\x00", "\x9f\x3c", "\x9f\x3d", "\x00\x00", "\x9f\x3f", "\x00\x00",
+  "\x9f\x41", "\x00\x00", "\x9f\x43", "\x9f\x44", "\x9f\x45", "\x9f\x46",
+  "\x9f\x47", "\x9f\x53", "\x00\x00", "\x9f\x55", "\x9f\x56", "\x9f\x57",
+  "\x9f\x58", "\x00\x00", "\x9f\x5a", "\x00\x00", "\x00\x00", "\x9f\x5d",
+  "\x9f\x5e", "\x9f\x68", "\x9f\x69", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x9f\x6d", "\x9f\x6e", "\x9f\x6f", "\x9f\x70", "\x9f\x71", "\x00\x00",
+  "\x9f\x73", "\x00\x00", "\x9f\x75", "\x00\x00", "\x00\x00", "\x00\x00",
+  "\x00\x00", "\x9f\x7a", "\x00\x00", "\x00\x00", "\x9f\x7d", "\x9f\x8f",
+  "\x9f\x90", "\x9f\x91", "\x9f\x92", "\x00\x00", "\x9f\x94", "\x00\x00",
+  "\x9f\x96", "\x9f\x97", "\x9f\x9e", "\x00\x00", "\x00\x00", "\x9f\xa1",
+  "\x9f\xa2", "\x9f\xa3", "\x00\x00", "\x9f\xa5"
+};
diff --git a/iconvdata/jis0212.h b/iconvdata/jis0212.h
new file mode 100644
index 0000000000..0b60ca800b
--- /dev/null
+++ b/iconvdata/jis0212.h
@@ -0,0 +1,107 @@
+/* Access functions for JISX0212 conversion.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _JIS0212_H
+#define _JIS0212_H	1
+
+#include <gconv.h>
+#include <inttypes.h>
+
+
+/* Struct for table with indeces in mapping table.  */
+struct jisx0212_idx
+{
+  uint16_t start;
+  uint16_t end;
+  uint16_t idx;
+};
+
+/* Conversion table.  */
+extern const struct jisx0212_idx jisx0212_to_ucs_idx[];
+extern const uint16_t jisx0212_to_ucs[];
+
+extern const struct jisx0212_idx jisx0212_from_ucs_idx[];
+extern const char jisx0212_from_ucs[][2];
+
+
+static inline wchar_t
+jisx0212_to_ucs4 (char **s, size_t avail)
+{
+  const struct jisx0212_idx *rp = jisx0212_to_ucs_idx;
+  unsigned char ch = *(*s);
+  unsigned char ch2;
+  wchar_t wch = L'\0';
+  int idx;
+
+  if (ch <= 0x6d || ch > 0xea)
+    return UNKNOWN_10646_CHAR;
+
+  if (avail < 2)
+    return 0;
+
+  ch2 = (*s)[1];
+  if (ch2 <= 0x20 || ch2 >= 0x7f)
+    return UNKNOWN_10646_CHAR;
+
+  idx = (ch - 0x21) * 94 + (ch2 - 0x21);
+
+  while (idx < rp->start)
+    ++rp;
+  if (idx <= rp->end)
+    wch = jisx0212_to_ucs[rp->idx + idx - rp->start];
+
+  if (wch != L'\0')
+    (*s) += 2;
+  else
+    wch = UNKNOWN_10646_CHAR;
+
+  return wch;
+}
+
+
+static inline size_t
+ucs4_to_jisx0212 (wchar_t wch, char **s, size_t avail)
+{
+  const struct jisx0212_idx *rp = jisx0212_from_ucs_idx;
+  unsigned int ch = (unsigned int) wch;
+  const char *cp = NULL;
+
+  while (ch > rp->end)
+    ++rp;
+  if (ch >= rp->start)
+    cp = jisx0212_from_ucs[rp->idx + ch - rp->start];
+
+  if (cp == NULL || cp[0] == '\0')
+    return UNKNOWN_10646_CHAR;
+
+  **s = cp[0];
+  if (cp[1] != '\0')
+    {
+      if (avail < 2)
+	return 0;
+
+      *++(*s) = cp[1];
+    }
+  ++(*s);
+
+  return 2;
+}
+
+#endif /* jis0212.h */
diff --git a/iconvdata/koi-8.c b/iconvdata/koi-8.c
new file mode 100644
index 0000000000..2228456801
--- /dev/null
+++ b/iconvdata/koi-8.c
@@ -0,0 +1,24 @@
+/* Conversion from and to KOI-8.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#include <koi-8.h>
+#define NAME "KOI-8"
+#include <8bit-generic.c>
diff --git a/iconvdata/koi8-r.c b/iconvdata/koi8-r.c
new file mode 100644
index 0000000000..502132b338
--- /dev/null
+++ b/iconvdata/koi8-r.c
@@ -0,0 +1,24 @@
+/* Conversion from and to KOI8-R.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#define TABLES <koi8-r.h>
+#define NAME "KOI8-R"
+#include <8bit-gap.c>
diff --git a/iconvdata/koi8-r.h b/iconvdata/koi8-r.h
new file mode 100644
index 0000000000..f6b887f0c7
--- /dev/null
+++ b/iconvdata/koi8-r.h
@@ -0,0 +1,320 @@
+static const wchar_t to_ucs4[256] = {
+  [0x01] = 0x0001,
+  [0x02] = 0x0002,
+  [0x03] = 0x0003,
+  [0x04] = 0x0004,
+  [0x05] = 0x0005,
+  [0x06] = 0x0006,
+  [0x07] = 0x0007,
+  [0x08] = 0x0008,
+  [0x09] = 0x0009,
+  [0x0A] = 0x000A,
+  [0x0B] = 0x000B,
+  [0x0C] = 0x000C,
+  [0x0D] = 0x000D,
+  [0x0E] = 0x000E,
+  [0x0F] = 0x000F,
+  [0x10] = 0x0010,
+  [0x11] = 0x0011,
+  [0x12] = 0x0012,
+  [0x13] = 0x0013,
+  [0x14] = 0x0014,
+  [0x15] = 0x0015,
+  [0x16] = 0x0016,
+  [0x17] = 0x0017,
+  [0x18] = 0x0018,
+  [0x19] = 0x0019,
+  [0x1A] = 0x001A,
+  [0x1B] = 0x001B,
+  [0x1C] = 0x001C,
+  [0x1D] = 0x001D,
+  [0x1E] = 0x001E,
+  [0x1F] = 0x001F,
+  [0x20] = 0x0020,
+  [0x21] = 0x0021,
+  [0x22] = 0x0022,
+  [0x23] = 0x0023,
+  [0x24] = 0x0024,
+  [0x25] = 0x0025,
+  [0x26] = 0x0026,
+  [0x27] = 0x0027,
+  [0x28] = 0x0028,
+  [0x29] = 0x0029,
+  [0x2A] = 0x002A,
+  [0x2B] = 0x002B,
+  [0x2C] = 0x002C,
+  [0x2D] = 0x002D,
+  [0x2E] = 0x002E,
+  [0x2F] = 0x002F,
+  [0x30] = 0x0030,
+  [0x31] = 0x0031,
+  [0x32] = 0x0032,
+  [0x33] = 0x0033,
+  [0x34] = 0x0034,
+  [0x35] = 0x0035,
+  [0x36] = 0x0036,
+  [0x37] = 0x0037,
+  [0x38] = 0x0038,
+  [0x39] = 0x0039,
+  [0x3A] = 0x003A,
+  [0x3B] = 0x003B,
+  [0x3C] = 0x003C,
+  [0x3D] = 0x003D,
+  [0x3E] = 0x003E,
+  [0x3F] = 0x003F,
+  [0x40] = 0x0040,
+  [0x41] = 0x0041,
+  [0x42] = 0x0042,
+  [0x43] = 0x0043,
+  [0x44] = 0x0044,
+  [0x45] = 0x0045,
+  [0x46] = 0x0046,
+  [0x47] = 0x0047,
+  [0x48] = 0x0048,
+  [0x49] = 0x0049,
+  [0x4A] = 0x004A,
+  [0x4B] = 0x004B,
+  [0x4C] = 0x004C,
+  [0x4D] = 0x004D,
+  [0x4E] = 0x004E,
+  [0x4F] = 0x004F,
+  [0x50] = 0x0050,
+  [0x51] = 0x0051,
+  [0x52] = 0x0052,
+  [0x53] = 0x0053,
+  [0x54] = 0x0054,
+  [0x55] = 0x0055,
+  [0x56] = 0x0056,
+  [0x57] = 0x0057,
+  [0x58] = 0x0058,
+  [0x59] = 0x0059,
+  [0x5A] = 0x005A,
+  [0x5B] = 0x005B,
+  [0x5C] = 0x005C,
+  [0x5D] = 0x005D,
+  [0x5E] = 0x005E,
+  [0x5F] = 0x005F,
+  [0x60] = 0x0060,
+  [0x61] = 0x0061,
+  [0x62] = 0x0062,
+  [0x63] = 0x0063,
+  [0x64] = 0x0064,
+  [0x65] = 0x0065,
+  [0x66] = 0x0066,
+  [0x67] = 0x0067,
+  [0x68] = 0x0068,
+  [0x69] = 0x0069,
+  [0x6A] = 0x006A,
+  [0x6B] = 0x006B,
+  [0x6C] = 0x006C,
+  [0x6D] = 0x006D,
+  [0x6E] = 0x006E,
+  [0x6F] = 0x006F,
+  [0x70] = 0x0070,
+  [0x71] = 0x0071,
+  [0x72] = 0x0072,
+  [0x73] = 0x0073,
+  [0x74] = 0x0074,
+  [0x75] = 0x0075,
+  [0x76] = 0x0076,
+  [0x77] = 0x0077,
+  [0x78] = 0x0078,
+  [0x79] = 0x0079,
+  [0x7A] = 0x007A,
+  [0x7B] = 0x007B,
+  [0x7C] = 0x007C,
+  [0x7D] = 0x007D,
+  [0x7E] = 0x007E,
+  [0x7F] = 0x007F,
+  [0x80] = 0x2500,
+  [0x81] = 0x2502,
+  [0x82] = 0x250C,
+  [0x83] = 0x2510,
+  [0x84] = 0x2514,
+  [0x85] = 0x2518,
+  [0x86] = 0x251C,
+  [0x87] = 0x2524,
+  [0x88] = 0x252C,
+  [0x89] = 0x2534,
+  [0x8A] = 0x253C,
+  [0x8B] = 0x2580,
+  [0x8C] = 0x2584,
+  [0x8D] = 0x2588,
+  [0x8E] = 0x258C,
+  [0x8F] = 0x2590,
+  [0x90] = 0x2591,
+  [0x91] = 0x2592,
+  [0x92] = 0x2593,
+  [0x93] = 0x2320,
+  [0x94] = 0x25A0,
+  [0x95] = 0x2022,
+  [0x96] = 0x221A,
+  [0x97] = 0x2248,
+  [0x98] = 0x2264,
+  [0x99] = 0x2265,
+  [0x9A] = 0x00A0,
+  [0x9B] = 0x2321,
+  [0x9C] = 0x00B0,
+  [0x9D] = 0x00B2,
+  [0x9E] = 0x00B7,
+  [0x9F] = 0x00F7,
+  [0xA0] = 0x2550,
+  [0xA1] = 0x2551,
+  [0xA2] = 0x2552,
+  [0xA3] = 0x0451,
+  [0xA4] = 0x2553,
+  [0xA5] = 0x2554,
+  [0xA6] = 0x2555,
+  [0xA7] = 0x2556,
+  [0xA8] = 0x2557,
+  [0xA9] = 0x2558,
+  [0xAA] = 0x2559,
+  [0xAB] = 0x255A,
+  [0xAC] = 0x255B,
+  [0xAD] = 0x255C,
+  [0xAE] = 0x255D,
+  [0xAF] = 0x255E,
+  [0xB0] = 0x255F,
+  [0xB1] = 0x2560,
+  [0xB2] = 0x2561,
+  [0xB3] = 0x0401,
+  [0xB4] = 0x2562,
+  [0xB5] = 0x2563,
+  [0xB6] = 0x2564,
+  [0xB7] = 0x2565,
+  [0xB8] = 0x2566,
+  [0xB9] = 0x2567,
+  [0xBA] = 0x2568,
+  [0xBB] = 0x2569,
+  [0xBC] = 0x256A,
+  [0xBD] = 0x256B,
+  [0xBE] = 0x256C,
+  [0xBF] = 0x00A9,
+  [0xC0] = 0x044E,
+  [0xC1] = 0x0430,
+  [0xC2] = 0x0431,
+  [0xC3] = 0x0446,
+  [0xC4] = 0x0434,
+  [0xC5] = 0x0435,
+  [0xC6] = 0x0444,
+  [0xC7] = 0x0433,
+  [0xC8] = 0x0445,
+  [0xC9] = 0x0438,
+  [0xCA] = 0x0439,
+  [0xCB] = 0x043A,
+  [0xCC] = 0x043B,
+  [0xCD] = 0x043C,
+  [0xCE] = 0x043D,
+  [0xCF] = 0x043E,
+  [0xD0] = 0x043F,
+  [0xD1] = 0x044F,
+  [0xD2] = 0x0440,
+  [0xD3] = 0x0441,
+  [0xD4] = 0x0442,
+  [0xD5] = 0x0443,
+  [0xD6] = 0x0436,
+  [0xD7] = 0x0432,
+  [0xD8] = 0x044C,
+  [0xD9] = 0x044B,
+  [0xDA] = 0x0437,
+  [0xDB] = 0x0448,
+  [0xDC] = 0x044D,
+  [0xDD] = 0x0449,
+  [0xDE] = 0x0447,
+  [0xDF] = 0x044A,
+  [0xE0] = 0x042E,
+  [0xE1] = 0x0410,
+  [0xE2] = 0x0411,
+  [0xE3] = 0x0426,
+  [0xE4] = 0x0414,
+  [0xE5] = 0x0415,
+  [0xE6] = 0x0424,
+  [0xE7] = 0x0413,
+  [0xE8] = 0x0425,
+  [0xE9] = 0x0418,
+  [0xEA] = 0x0419,
+  [0xEB] = 0x041A,
+  [0xEC] = 0x041B,
+  [0xED] = 0x041C,
+  [0xEE] = 0x041D,
+  [0xEF] = 0x041E,
+  [0xF0] = 0x041F,
+  [0xF1] = 0x042F,
+  [0xF2] = 0x0420,
+  [0xF3] = 0x0421,
+  [0xF4] = 0x0422,
+  [0xF5] = 0x0423,
+  [0xF6] = 0x0416,
+  [0xF7] = 0x0412,
+  [0xF8] = 0x042C,
+  [0xF9] = 0x042B,
+  [0xFA] = 0x0417,
+  [0xFB] = 0x0428,
+  [0xFC] = 0x042D,
+  [0xFD] = 0x0429,
+  [0xFE] = 0x0427,
+  [0xFF] = 0x042A,
+};
+static struct gap from_idx[] = {
+  { start: 000000, end: 0x007f, idx:     0 },
+  { start: 0x00a0, end: 0x00a0, idx:   -32 },
+  { start: 0x00a9, end: 0x00a9, idx:   -40 },
+  { start: 0x00b0, end: 0x00b7, idx:   -46 },
+  { start: 0x00f7, end: 0x00f7, idx:  -109 },
+  { start: 0x0401, end: 0x0401, idx:  -886 },
+  { start: 0x0410, end: 0x0451, idx:  -900 },
+  { start: 0x2022, end: 0x2022, idx: -8020 },
+  { start: 0x221a, end: 0x221a, idx: -8523 },
+  { start: 0x2248, end: 0x2248, idx: -8568 },
+  { start: 0x2264, end: 0x2265, idx: -8595 },
+  { start: 0x2320, end: 0x2321, idx: -8781 },
+  { start: 0x2500, end: 0x2502, idx: -9259 },
+  { start: 0x250c, end: 0x251c, idx: -9268 },
+  { start: 0x2524, end: 0x2524, idx: -9275 },
+  { start: 0x252c, end: 0x252c, idx: -9282 },
+  { start: 0x2534, end: 0x2534, idx: -9289 },
+  { start: 0x253c, end: 0x253c, idx: -9296 },
+  { start: 0x2550, end: 0x256c, idx: -9315 },
+  { start: 0x2580, end: 0x2593, idx: -9334 },
+  { start: 0x25a0, end: 0x25a0, idx: -9346 },
+  { start: 0xffff, end: 0xffff, idx:     0 }
+};
+static const char from_ucs4[] = {
+
+  '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08',
+  '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10',
+  '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18',
+  '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20',
+  '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27', '\x28',
+  '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30',
+  '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38',
+  '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', '\x40',
+  '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48',
+  '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50',
+  '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58',
+  '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', '\x60',
+  '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68',
+  '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', '\x70',
+  '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78',
+  '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f', '\x9a',
+  '\xbf', '\x9c', '\x00', '\x9d', '\x00', '\x00', '\x00', '\x00',
+  '\x9e', '\x9f', '\xb3', '\xe1', '\xe2', '\xf7', '\xe7', '\xe4',
+  '\xe5', '\xf6', '\xfa', '\xe9', '\xea', '\xeb', '\xec', '\xed',
+  '\xee', '\xef', '\xf0', '\xf2', '\xf3', '\xf4', '\xf5', '\xe6',
+  '\xe8', '\xe3', '\xfe', '\xfb', '\xfd', '\xff', '\xf9', '\xf8',
+  '\xfc', '\xe0', '\xf1', '\xc1', '\xc2', '\xd7', '\xc7', '\xc4',
+  '\xc5', '\xd6', '\xda', '\xc9', '\xca', '\xcb', '\xcc', '\xcd',
+  '\xce', '\xcf', '\xd0', '\xd2', '\xd3', '\xd4', '\xd5', '\xc6',
+  '\xc8', '\xc3', '\xde', '\xdb', '\xdd', '\xdf', '\xd9', '\xd8',
+  '\xdc', '\xc0', '\xd1', '\x00', '\xa3', '\x95', '\x96', '\x97',
+  '\x98', '\x99', '\x93', '\x9b', '\x80', '\x00', '\x81', '\x82',
+  '\x00', '\x00', '\x00', '\x83', '\x00', '\x00', '\x00', '\x84',
+  '\x00', '\x00', '\x00', '\x85', '\x00', '\x00', '\x00', '\x86',
+  '\x87', '\x88', '\x89', '\x8a', '\xa0', '\xa1', '\xa2', '\xa4',
+  '\xa5', '\xa6', '\xa7', '\xa8', '\xa9', '\xaa', '\xab', '\xac',
+  '\xad', '\xae', '\xaf', '\xb0', '\xb1', '\xb2', '\xb4', '\xb5',
+  '\xb6', '\xb7', '\xb8', '\xb9', '\xba', '\xbb', '\xbc', '\xbd',
+  '\xbe', '\x8b', '\x00', '\x00', '\x00', '\x8c', '\x00', '\x00',
+  '\x00', '\x8d', '\x00', '\x00', '\x00', '\x8e', '\x00', '\x00',
+  '\x00', '\x8f', '\x90', '\x91', '\x92', '\x94',
+};
diff --git a/iconvdata/latin-greek-1.c b/iconvdata/latin-greek-1.c
new file mode 100644
index 0000000000..d62969a77d
--- /dev/null
+++ b/iconvdata/latin-greek-1.c
@@ -0,0 +1,24 @@
+/* Conversion from and to LATIN-GREEK-1.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#define TABLES <latin-greek-1.h>
+#define NAME "LATIN-GREEK-1"
+#include <8bit-gap.c>
diff --git a/iconvdata/latin-greek-1.h b/iconvdata/latin-greek-1.h
new file mode 100644
index 0000000000..e17b6ebfc3
--- /dev/null
+++ b/iconvdata/latin-greek-1.h
@@ -0,0 +1,158 @@
+static const wchar_t to_ucs4[256] = {
+  [0x01] = 0x0001,
+  [0x02] = 0x0002,
+  [0x03] = 0x0003,
+  [0x04] = 0x0004,
+  [0x05] = 0x0005,
+  [0x06] = 0x0006,
+  [0x07] = 0x0007,
+  [0x08] = 0x0008,
+  [0x09] = 0x0009,
+  [0x0A] = 0x000A,
+  [0x0B] = 0x000B,
+  [0x0C] = 0x000C,
+  [0x0D] = 0x000D,
+  [0x0E] = 0x000E,
+  [0x0F] = 0x000F,
+  [0x10] = 0x0010,
+  [0x11] = 0x0011,
+  [0x12] = 0x0012,
+  [0x13] = 0x0013,
+  [0x14] = 0x0014,
+  [0x15] = 0x0015,
+  [0x16] = 0x0016,
+  [0x17] = 0x0017,
+  [0x18] = 0x0018,
+  [0x19] = 0x0019,
+  [0x1A] = 0x001A,
+  [0x1B] = 0x001B,
+  [0x1C] = 0x001C,
+  [0x1D] = 0x001D,
+  [0x1E] = 0x001E,
+  [0x1F] = 0x001F,
+  [0x20] = 0x0020,
+  [0x21] = 0x039E,
+  [0x22] = 0x0022,
+  [0x23] = 0x0393,
+  [0x24] = 0x00A4,
+  [0x25] = 0x0025,
+  [0x26] = 0x0026,
+  [0x27] = 0x0027,
+  [0x28] = 0x0028,
+  [0x29] = 0x0029,
+  [0x2A] = 0x002A,
+  [0x2B] = 0x002B,
+  [0x2C] = 0x002C,
+  [0x2D] = 0x002D,
+  [0x2E] = 0x002E,
+  [0x2F] = 0x002F,
+  [0x30] = 0x0030,
+  [0x31] = 0x0031,
+  [0x32] = 0x0032,
+  [0x33] = 0x0033,
+  [0x34] = 0x0034,
+  [0x35] = 0x0035,
+  [0x36] = 0x0036,
+  [0x37] = 0x0037,
+  [0x38] = 0x0038,
+  [0x39] = 0x0039,
+  [0x3A] = 0x03A8,
+  [0x3B] = 0x003B,
+  [0x3C] = 0x003C,
+  [0x3D] = 0x003D,
+  [0x3E] = 0x003E,
+  [0x3F] = 0x03A0,
+  [0x40] = 0x0394,
+  [0x41] = 0x0041,
+  [0x42] = 0x0042,
+  [0x43] = 0x0043,
+  [0x44] = 0x0044,
+  [0x45] = 0x0045,
+  [0x46] = 0x0046,
+  [0x47] = 0x0047,
+  [0x48] = 0x0048,
+  [0x49] = 0x0049,
+  [0x4A] = 0x004A,
+  [0x4B] = 0x004B,
+  [0x4C] = 0x004C,
+  [0x4D] = 0x004D,
+  [0x4E] = 0x004E,
+  [0x4F] = 0x004F,
+  [0x50] = 0x0050,
+  [0x51] = 0x0051,
+  [0x52] = 0x0052,
+  [0x53] = 0x0053,
+  [0x54] = 0x0054,
+  [0x55] = 0x0055,
+  [0x56] = 0x0056,
+  [0x57] = 0x0057,
+  [0x58] = 0x0058,
+  [0x59] = 0x0059,
+  [0x5A] = 0x005A,
+  [0x5B] = 0x03A9,
+  [0x5C] = 0x0398,
+  [0x5D] = 0x03A6,
+  [0x5E] = 0x039B,
+  [0x5F] = 0x03A3,
+  [0x60] = 0x0060,
+  [0x61] = 0x0061,
+  [0x62] = 0x0062,
+  [0x63] = 0x0063,
+  [0x64] = 0x0064,
+  [0x65] = 0x0065,
+  [0x66] = 0x0066,
+  [0x67] = 0x0067,
+  [0x68] = 0x0068,
+  [0x69] = 0x0069,
+  [0x6A] = 0x006A,
+  [0x6B] = 0x006B,
+  [0x6C] = 0x006C,
+  [0x6D] = 0x006D,
+  [0x6E] = 0x006E,
+  [0x6F] = 0x006F,
+  [0x70] = 0x0070,
+  [0x71] = 0x0071,
+  [0x72] = 0x0072,
+  [0x73] = 0x0073,
+  [0x74] = 0x0074,
+  [0x75] = 0x0075,
+  [0x76] = 0x0076,
+  [0x77] = 0x0077,
+  [0x78] = 0x0078,
+  [0x79] = 0x0079,
+  [0x7A] = 0x007A,
+  [0x7B] = 0x007B,
+  [0x7C] = 0x007C,
+  [0x7D] = 0x007D,
+  [0x7E] = 0x203E,
+  [0x7F] = 0x007F,
+};
+static struct gap from_idx[] = {
+  { start: 000000, end: 0x007f, idx:     0 },
+  { start: 0x00a4, end: 0x00a4, idx:   -36 },
+  { start: 0x0393, end: 0x03a9, idx:  -786 },
+  { start: 0x203e, end: 0x203e, idx: -8102 },
+  { start: 0xffff, end: 0xffff, idx:     0 }
+};
+static const char from_ucs4[] = {
+
+  '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08',
+  '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10',
+  '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18',
+  '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20',
+  '\x00', '\x22', '\x00', '\x00', '\x25', '\x26', '\x27', '\x28',
+  '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30',
+  '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38',
+  '\x39', '\x00', '\x3b', '\x3c', '\x3d', '\x3e', '\x00', '\x00',
+  '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48',
+  '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50',
+  '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58',
+  '\x59', '\x5a', '\x00', '\x00', '\x00', '\x00', '\x00', '\x60',
+  '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68',
+  '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', '\x70',
+  '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78',
+  '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x00', '\x7f', '\x24',
+  '\x23', '\x40', '\x00', '\x00', '\x00', '\x5c', '\x00', '\x00',
+  '\x5e', '\x00', '\x00', '\x21', '\x00', '\x3f', '\x00', '\x00',
+  '\x5f', '\x00', '\x00', '\x5d', '\x00', '\x3a', '\x5b', '\x7e',
+};
diff --git a/iconvdata/latin-greek.c b/iconvdata/latin-greek.c
new file mode 100644
index 0000000000..90270e0e07
--- /dev/null
+++ b/iconvdata/latin-greek.c
@@ -0,0 +1,24 @@
+/* Conversion from and to LATIN-GREEK.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <wchar.h>
+#define TABLES <latin-greek.h>
+#define NAME "LATIN-GREEK"
+#include <8bit-gap.c>
diff --git a/iconvdata/latin-greek.h b/iconvdata/latin-greek.h
new file mode 100644
index 0000000000..6bc9a338de
--- /dev/null
+++ b/iconvdata/latin-greek.h
@@ -0,0 +1,156 @@
+static const wchar_t to_ucs4[256] = {
+  [0x01] = 0x0001,
+  [0x02] = 0x0002,
+  [0x03] = 0x0003,
+  [0x04] = 0x0004,
+  [0x05] = 0x0005,
+  [0x06] = 0x0006,
+  [0x07] = 0x0007,
+  [0x08] = 0x0008,
+  [0x09] = 0x0009,
+  [0x0A] = 0x000A,
+  [0x0B] = 0x000B,
+  [0x0C] = 0x000C,
+  [0x0D] = 0x000D,
+  [0x0E] = 0x000E,
+  [0x0F] = 0x000F,
+  [0x10] = 0x0010,
+  [0x11] = 0x0011,
+  [0x12] = 0x0012,
+  [0x13] = 0x0013,
+  [0x14] = 0x0014,
+  [0x15] = 0x0015,
+  [0x16] = 0x0016,
+  [0x17] = 0x0017,
+  [0x18] = 0x0018,
+  [0x19] = 0x0019,
+  [0x1A] = 0x001A,
+  [0x1B] = 0x001B,
+  [0x1C] = 0x001C,
+  [0x1D] = 0x001D,
+  [0x1E] = 0x001E,
+  [0x1F] = 0x001F,
+  [0x20] = 0x0020,
+  [0x21] = 0x0021,
+  [0x22] = 0x0022,
+  [0x23] = 0x00A3,
+  [0x24] = 0x0024,
+  [0x25] = 0x0025,
+  [0x26] = 0x0026,
+  [0x27] = 0x0027,
+  [0x28] = 0x0028,
+  [0x29] = 0x0029,
+  [0x2A] = 0x002A,
+  [0x2B] = 0x002B,
+  [0x2C] = 0x002C,
+  [0x2D] = 0x002D,
+  [0x2E] = 0x002E,
+  [0x2F] = 0x002F,
+  [0x30] = 0x0030,
+  [0x31] = 0x0031,
+  [0x32] = 0x0032,
+  [0x33] = 0x0033,
+  [0x34] = 0x0034,
+  [0x35] = 0x0035,
+  [0x36] = 0x0036,
+  [0x37] = 0x0037,
+  [0x38] = 0x0038,
+  [0x39] = 0x0039,
+  [0x3A] = 0x003A,
+  [0x3B] = 0x003B,
+  [0x3C] = 0x003C,
+  [0x3D] = 0x003D,
+  [0x3E] = 0x003E,
+  [0x3F] = 0x003F,
+  [0x40] = 0x0040,
+  [0x41] = 0x0041,
+  [0x42] = 0x0042,
+  [0x43] = 0x0043,
+  [0x44] = 0x0044,
+  [0x45] = 0x0045,
+  [0x46] = 0x0046,
+  [0x47] = 0x0047,
+  [0x48] = 0x0048,
+  [0x49] = 0x0049,
+  [0x4A] = 0x004A,
+  [0x4B] = 0x004B,
+  [0x4C] = 0x004C,
+  [0x4D] = 0x004D,
+  [0x4E] = 0x004E,
+  [0x4F] = 0x004F,
+  [0x50] = 0x0050,
+  [0x51] = 0x0051,
+  [0x52] = 0x0052,
+  [0x53] = 0x0053,
+  [0x54] = 0x0054,
+  [0x55] = 0x0055,
+  [0x56] = 0x0056,
+  [0x57] = 0x0057,
+  [0x58] = 0x0058,
+  [0x59] = 0x0059,
+  [0x5A] = 0x005A,
+  [0x5B] = 0x005B,
+  [0x5C] = 0x005C,
+  [0x5D] = 0x005D,
+  [0x5E] = 0x005E,
+  [0x5F] = 0x005F,
+  [0x60] = 0x0060,
+  [0x61] = 0x0391,
+  [0x62] = 0x0392,
+  [0x63] = 0x03A8,
+  [0x64] = 0x0394,
+  [0x65] = 0x0395,
+  [0x66] = 0x03A6,
+  [0x67] = 0x0393,
+  [0x68] = 0x0397,
+  [0x69] = 0x0399,
+  [0x6A] = 0x039E,
+  [0x6B] = 0x039A,
+  [0x6C] = 0x039B,
+  [0x6D] = 0x039C,
+  [0x6E] = 0x039D,
+  [0x6F] = 0x039F,
+  [0x70] = 0x03A0,
+  [0x72] = 0x03A1,
+  [0x73] = 0x03A3,
+  [0x74] = 0x03A4,
+  [0x75] = 0x0398,
+  [0x76] = 0x03A9,
+  [0x77] = 0x00B7,
+  [0x78] = 0x03A7,
+  [0x79] = 0x03A5,
+  [0x7A] = 0x0396,
+  [0x7B] = 0x007B,
+  [0x7C] = 0x007C,
+  [0x7D] = 0x007D,
+  [0x7E] = 0x00A8,
+  [0x7F] = 0x007F,
+};
+static struct gap from_idx[] = {
+  { start: 000000, end: 0x0060, idx:     0 },
+  { start: 0x007b, end: 0x007f, idx:   -26 },
+  { start: 0x00a3, end: 0x00a8, idx:   -61 },
+  { start: 0x00b7, end: 0x00b7, idx:   -75 },
+  { start: 0x0391, end: 0x03a9, idx:  -804 },
+  { start: 0xffff, end: 0xffff, idx:     0 }
+};
+static const char from_ucs4[] = {
+
+  '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08',
+  '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', '\x10',
+  '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18',
+  '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', '\x20',
+  '\x21', '\x22', '\x00', '\x24', '\x25', '\x26', '\x27', '\x28',
+  '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', '\x30',
+  '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38',
+  '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', '\x40',
+  '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48',
+  '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', '\x50',
+  '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58',
+  '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', '\x60',
+  '\x7b', '\x7c', '\x7d', '\x00', '\x7f', '\x23', '\x00', '\x00',
+  '\x00', '\x00', '\x7e', '\x77', '\x61', '\x62', '\x67', '\x64',
+  '\x65', '\x7a', '\x68', '\x75', '\x69', '\x6b', '\x6c', '\x6d',
+  '\x6e', '\x6a', '\x6f', '\x70', '\x72', '\x00', '\x73', '\x74',
+  '\x79', '\x66', '\x78', '\x63', '\x76',
+};
diff --git a/iconvdata/sjis.c b/iconvdata/sjis.c
new file mode 100644
index 0000000000..df581a5230
--- /dev/null
+++ b/iconvdata/sjis.c
@@ -0,0 +1,4276 @@
+/* Mapping tables for SJIS handling.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <gconv.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+static const wchar_t halfkana_to_ucs4[] =
+{
+  0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67, 0xff68,
+  0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f, 0xff70,
+  0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77, 0xff78,
+  0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f, 0xff80,
+  0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87, 0xff88,
+  0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f, 0xff90,
+  0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97, 0xff98,
+  0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f
+};
+
+
+/* The following table can be generated from the file
+	unix/mappings/eastasia/jis/shiftjis.txt
+   from the Unicode CD (also available on their FTP server) using
+   the command
+
+	egrep '^0x8[01234][[:xdigit:]][[:xdigit:]]' \
+	  /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl
+
+   where sjis.pl contains:
+
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  while (<>) {
+    local($sjis, $ucs, %rest) = split;
+    $sjis = hex($sjis) - 0x8140;
+    local($sidx) = int($sjis / 256) * 192 + ($sjis % 256);
+    printf "\n " if (($n % 4) == 0);
+    ++$n;
+    printf " [%4d] = %s,", $sidx, $ucs;
+  }
+  print "\n";
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+
+static const uint16_t cjk_block1[703] =
+{
+  [  0] = 0x3000, [  1] = 0x3001, [  2] = 0x3002, [  3] = 0xFF0C,
+  [  4] = 0xFF0E, [  5] = 0x30FB, [  6] = 0xFF1A, [  7] = 0xFF1B,
+  [  8] = 0xFF1F, [  9] = 0xFF01, [ 10] = 0x309B, [ 11] = 0x309C,
+  [ 12] = 0x00B4, [ 13] = 0xFF40, [ 14] = 0x00A8, [ 15] = 0xFF3E,
+  [ 16] = 0xFFE3, [ 17] = 0xFF3F, [ 18] = 0x30FD, [ 19] = 0x30FE,
+  [ 20] = 0x309D, [ 21] = 0x309E, [ 22] = 0x3003, [ 23] = 0x4EDD,
+  [ 24] = 0x3005, [ 25] = 0x3006, [ 26] = 0x3007, [ 27] = 0x30FC,
+  [ 28] = 0x2015, [ 29] = 0x2010, [ 30] = 0xFF0F, [ 31] = 0x005C,
+  [ 32] = 0x301C, [ 33] = 0x2016, [ 34] = 0xFF5C, [ 35] = 0x2026,
+  [ 36] = 0x2025, [ 37] = 0x2018, [ 38] = 0x2019, [ 39] = 0x201C,
+  [ 40] = 0x201D, [ 41] = 0xFF08, [ 42] = 0xFF09, [ 43] = 0x3014,
+  [ 44] = 0x3015, [ 45] = 0xFF3B, [ 46] = 0xFF3D, [ 47] = 0xFF5B,
+  [ 48] = 0xFF5D, [ 49] = 0x3008, [ 50] = 0x3009, [ 51] = 0x300A,
+  [ 52] = 0x300B, [ 53] = 0x300C, [ 54] = 0x300D, [ 55] = 0x300E,
+  [ 56] = 0x300F, [ 57] = 0x3010, [ 58] = 0x3011, [ 59] = 0xFF0B,
+  [ 60] = 0x2212, [ 61] = 0x00B1, [ 62] = 0x00D7, [ 64] = 0x00F7,
+  [ 65] = 0xFF1D, [ 66] = 0x2260, [ 67] = 0xFF1C, [ 68] = 0xFF1E,
+  [ 69] = 0x2266, [ 70] = 0x2267, [ 71] = 0x221E, [ 72] = 0x2234,
+  [ 73] = 0x2642, [ 74] = 0x2640, [ 75] = 0x00B0, [ 76] = 0x2032,
+  [ 77] = 0x2033, [ 78] = 0x2103, [ 79] = 0xFFE5, [ 80] = 0xFF04,
+  [ 81] = 0x00A2, [ 82] = 0x00A3, [ 83] = 0xFF05, [ 84] = 0xFF03,
+  [ 85] = 0xFF06, [ 86] = 0xFF0A, [ 87] = 0xFF20, [ 88] = 0x00A7,
+  [ 89] = 0x2606, [ 90] = 0x2605, [ 91] = 0x25CB, [ 92] = 0x25CF,
+  [ 93] = 0x25CE, [ 94] = 0x25C7, [ 95] = 0x25C6, [ 96] = 0x25A1,
+  [ 97] = 0x25A0, [ 98] = 0x25B3, [ 99] = 0x25B2, [100] = 0x25BD,
+  [101] = 0x25BC, [102] = 0x203B, [103] = 0x3012, [104] = 0x2192,
+  [105] = 0x2190, [106] = 0x2191, [107] = 0x2193, [108] = 0x3013,
+  [120] = 0x2208, [121] = 0x220B, [122] = 0x2286, [123] = 0x2287,
+  [124] = 0x2282, [125] = 0x2283, [126] = 0x222A, [127] = 0x2229,
+  [136] = 0x2227, [137] = 0x2228, [138] = 0x00AC, [139] = 0x21D2,
+  [140] = 0x21D4, [141] = 0x2200, [142] = 0x2203, [154] = 0x2220,
+  [155] = 0x22A5, [156] = 0x2312, [157] = 0x2202, [158] = 0x2207,
+  [159] = 0x2261, [160] = 0x2252, [161] = 0x226A, [162] = 0x226B,
+  [163] = 0x221A, [164] = 0x223D, [165] = 0x221D, [166] = 0x2235,
+  [167] = 0x222B, [168] = 0x222C, [176] = 0x212B, [177] = 0x2030,
+  [178] = 0x266F, [179] = 0x266D, [180] = 0x266A, [181] = 0x2020,
+  [182] = 0x2021, [183] = 0x00B6, [188] = 0x25EF, [207] = 0xFF10,
+  [208] = 0xFF11, [209] = 0xFF12, [210] = 0xFF13, [211] = 0xFF14,
+  [212] = 0xFF15, [213] = 0xFF16, [214] = 0xFF17, [215] = 0xFF18,
+  [216] = 0xFF19, [224] = 0xFF21, [225] = 0xFF22, [226] = 0xFF23,
+  [227] = 0xFF24, [228] = 0xFF25, [229] = 0xFF26, [230] = 0xFF27,
+  [231] = 0xFF28, [232] = 0xFF29, [233] = 0xFF2A, [234] = 0xFF2B,
+  [235] = 0xFF2C, [236] = 0xFF2D, [237] = 0xFF2E, [238] = 0xFF2F,
+  [239] = 0xFF30, [240] = 0xFF31, [241] = 0xFF32, [242] = 0xFF33,
+  [243] = 0xFF34, [244] = 0xFF35, [245] = 0xFF36, [246] = 0xFF37,
+  [247] = 0xFF38, [248] = 0xFF39, [249] = 0xFF3A, [257] = 0xFF41,
+  [258] = 0xFF42, [259] = 0xFF43, [260] = 0xFF44, [261] = 0xFF45,
+  [262] = 0xFF46, [263] = 0xFF47, [264] = 0xFF48, [265] = 0xFF49,
+  [266] = 0xFF4A, [267] = 0xFF4B, [268] = 0xFF4C, [269] = 0xFF4D,
+  [270] = 0xFF4E, [271] = 0xFF4F, [272] = 0xFF50, [273] = 0xFF51,
+  [274] = 0xFF52, [275] = 0xFF53, [276] = 0xFF54, [277] = 0xFF55,
+  [278] = 0xFF56, [279] = 0xFF57, [280] = 0xFF58, [281] = 0xFF59,
+  [282] = 0xFF5A, [287] = 0x3041, [288] = 0x3042, [289] = 0x3043,
+  [290] = 0x3044, [291] = 0x3045, [292] = 0x3046, [293] = 0x3047,
+  [294] = 0x3048, [295] = 0x3049, [296] = 0x304A, [297] = 0x304B,
+  [298] = 0x304C, [299] = 0x304D, [300] = 0x304E, [301] = 0x304F,
+  [302] = 0x3050, [303] = 0x3051, [304] = 0x3052, [305] = 0x3053,
+  [306] = 0x3054, [307] = 0x3055, [308] = 0x3056, [309] = 0x3057,
+  [310] = 0x3058, [311] = 0x3059, [312] = 0x305A, [313] = 0x305B,
+  [314] = 0x305C, [315] = 0x305D, [316] = 0x305E, [317] = 0x305F,
+  [318] = 0x3060, [319] = 0x3061, [320] = 0x3062, [321] = 0x3063,
+  [322] = 0x3064, [323] = 0x3065, [324] = 0x3066, [325] = 0x3067,
+  [326] = 0x3068, [327] = 0x3069, [328] = 0x306A, [329] = 0x306B,
+  [330] = 0x306C, [331] = 0x306D, [332] = 0x306E, [333] = 0x306F,
+  [334] = 0x3070, [335] = 0x3071, [336] = 0x3072, [337] = 0x3073,
+  [338] = 0x3074, [339] = 0x3075, [340] = 0x3076, [341] = 0x3077,
+  [342] = 0x3078, [343] = 0x3079, [344] = 0x307A, [345] = 0x307B,
+  [346] = 0x307C, [347] = 0x307D, [348] = 0x307E, [349] = 0x307F,
+  [350] = 0x3080, [351] = 0x3081, [352] = 0x3082, [353] = 0x3083,
+  [354] = 0x3084, [355] = 0x3085, [356] = 0x3086, [357] = 0x3087,
+  [358] = 0x3088, [359] = 0x3089, [360] = 0x308A, [361] = 0x308B,
+  [362] = 0x308C, [363] = 0x308D, [364] = 0x308E, [365] = 0x308F,
+  [366] = 0x3090, [367] = 0x3091, [368] = 0x3092, [369] = 0x3093,
+  [384] = 0x30A1, [385] = 0x30A2, [386] = 0x30A3, [387] = 0x30A4,
+  [388] = 0x30A5, [389] = 0x30A6, [390] = 0x30A7, [391] = 0x30A8,
+  [392] = 0x30A9, [393] = 0x30AA, [394] = 0x30AB, [395] = 0x30AC,
+  [396] = 0x30AD, [397] = 0x30AE, [398] = 0x30AF, [399] = 0x30B0,
+  [400] = 0x30B1, [401] = 0x30B2, [402] = 0x30B3, [403] = 0x30B4,
+  [404] = 0x30B5, [405] = 0x30B6, [406] = 0x30B7, [407] = 0x30B8,
+  [408] = 0x30B9, [409] = 0x30BA, [410] = 0x30BB, [411] = 0x30BC,
+  [412] = 0x30BD, [413] = 0x30BE, [414] = 0x30BF, [415] = 0x30C0,
+  [416] = 0x30C1, [417] = 0x30C2, [418] = 0x30C3, [419] = 0x30C4,
+  [420] = 0x30C5, [421] = 0x30C6, [422] = 0x30C7, [423] = 0x30C8,
+  [424] = 0x30C9, [425] = 0x30CA, [426] = 0x30CB, [427] = 0x30CC,
+  [428] = 0x30CD, [429] = 0x30CE, [430] = 0x30CF, [431] = 0x30D0,
+  [432] = 0x30D1, [433] = 0x30D2, [434] = 0x30D3, [435] = 0x30D4,
+  [436] = 0x30D5, [437] = 0x30D6, [438] = 0x30D7, [439] = 0x30D8,
+  [440] = 0x30D9, [441] = 0x30DA, [442] = 0x30DB, [443] = 0x30DC,
+  [444] = 0x30DD, [445] = 0x30DE, [446] = 0x30DF, [448] = 0x30E0,
+  [449] = 0x30E1, [450] = 0x30E2, [451] = 0x30E3, [452] = 0x30E4,
+  [453] = 0x30E5, [454] = 0x30E6, [455] = 0x30E7, [456] = 0x30E8,
+  [457] = 0x30E9, [458] = 0x30EA, [459] = 0x30EB, [460] = 0x30EC,
+  [461] = 0x30ED, [462] = 0x30EE, [463] = 0x30EF, [464] = 0x30F0,
+  [465] = 0x30F1, [466] = 0x30F2, [467] = 0x30F3, [468] = 0x30F4,
+  [469] = 0x30F5, [470] = 0x30F6, [479] = 0x0391, [480] = 0x0392,
+  [481] = 0x0393, [482] = 0x0394, [483] = 0x0395, [484] = 0x0396,
+  [485] = 0x0397, [486] = 0x0398, [487] = 0x0399, [488] = 0x039A,
+  [489] = 0x039B, [490] = 0x039C, [491] = 0x039D, [492] = 0x039E,
+  [493] = 0x039F, [494] = 0x03A0, [495] = 0x03A1, [496] = 0x03A3,
+  [497] = 0x03A4, [498] = 0x03A5, [499] = 0x03A6, [500] = 0x03A7,
+  [501] = 0x03A8, [502] = 0x03A9, [511] = 0x03B1, [512] = 0x03B2,
+  [513] = 0x03B3, [514] = 0x03B4, [515] = 0x03B5, [516] = 0x03B6,
+  [517] = 0x03B7, [518] = 0x03B8, [519] = 0x03B9, [520] = 0x03BA,
+  [521] = 0x03BB, [522] = 0x03BC, [523] = 0x03BD, [524] = 0x03BE,
+  [525] = 0x03BF, [526] = 0x03C0, [527] = 0x03C1, [528] = 0x03C3,
+  [529] = 0x03C4, [530] = 0x03C5, [531] = 0x03C6, [532] = 0x03C7,
+  [533] = 0x03C8, [534] = 0x03C9, [576] = 0x0410, [577] = 0x0411,
+  [578] = 0x0412, [579] = 0x0413, [580] = 0x0414, [581] = 0x0415,
+  [582] = 0x0401, [583] = 0x0416, [584] = 0x0417, [585] = 0x0418,
+  [586] = 0x0419, [587] = 0x041A, [588] = 0x041B, [589] = 0x041C,
+  [590] = 0x041D, [591] = 0x041E, [592] = 0x041F, [593] = 0x0420,
+  [594] = 0x0421, [595] = 0x0422, [596] = 0x0423, [597] = 0x0424,
+  [598] = 0x0425, [599] = 0x0426, [600] = 0x0427, [601] = 0x0428,
+  [602] = 0x0429, [603] = 0x042A, [604] = 0x042B, [605] = 0x042C,
+  [606] = 0x042D, [607] = 0x042E, [608] = 0x042F, [624] = 0x0430,
+  [625] = 0x0431, [626] = 0x0432, [627] = 0x0433, [628] = 0x0434,
+  [629] = 0x0435, [630] = 0x0451, [631] = 0x0436, [632] = 0x0437,
+  [633] = 0x0438, [634] = 0x0439, [635] = 0x043A, [636] = 0x043B,
+  [637] = 0x043C, [638] = 0x043D, [640] = 0x043E, [641] = 0x043F,
+  [642] = 0x0440, [643] = 0x0441, [644] = 0x0442, [645] = 0x0443,
+  [646] = 0x0444, [647] = 0x0445, [648] = 0x0446, [649] = 0x0447,
+  [650] = 0x0448, [651] = 0x0449, [652] = 0x044A, [653] = 0x044B,
+  [654] = 0x044C, [655] = 0x044D, [656] = 0x044E, [657] = 0x044F,
+  [671] = 0x2500, [672] = 0x2502, [673] = 0x250C, [674] = 0x2510,
+  [675] = 0x2518, [676] = 0x2514, [677] = 0x251C, [678] = 0x252C,
+  [679] = 0x2524, [680] = 0x2534, [681] = 0x253C, [682] = 0x2501,
+  [683] = 0x2503, [684] = 0x250F, [685] = 0x2513, [686] = 0x251B,
+  [687] = 0x2517, [688] = 0x2523, [689] = 0x2533, [690] = 0x252B,
+  [691] = 0x253B, [692] = 0x254B, [693] = 0x2520, [694] = 0x252F,
+  [695] = 0x2528, [696] = 0x2537, [697] = 0x253F, [698] = 0x251D,
+  [699] = 0x2530, [700] = 0x2525, [701] = 0x2538, [702] = 0x2542
+};
+
+
+/* The following table can be generated from the file
+	unix/mappings/eastasia/jis/shiftjis.txt
+   from the Unicode CD (also available on their FTP server) using
+   the command
+
+	egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \
+	  /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl
+
+   where sjis.pl contains:
+
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  while (<>) {
+    local($sjis, $ucs, %rest) = split;
+    $sjis = hex($sjis) - 0x8840;
+    local($sidx) = int($sjis / 256) * 192 + ($sjis % 256) - 0x5f;
+    printf "\n " if (($n % 4) == 0);
+    ++$n;
+    printf " [%3d] = %s,", $sidx, $ucs;
+  }
+  print "\n";
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+static const uint16_t cjk_block2[286] =
+{
+  [  0] = 0x4E9C, [  1] = 0x5516, [  2] = 0x5A03, [  3] = 0x963F,
+  [  4] = 0x54C0, [  5] = 0x611B, [  6] = 0x6328, [  7] = 0x59F6,
+  [  8] = 0x9022, [  9] = 0x8475, [ 10] = 0x831C, [ 11] = 0x7A50,
+  [ 12] = 0x60AA, [ 13] = 0x63E1, [ 14] = 0x6E25, [ 15] = 0x65ED,
+  [ 16] = 0x8466, [ 17] = 0x82A6, [ 18] = 0x9BF5, [ 19] = 0x6893,
+  [ 20] = 0x5727, [ 21] = 0x65A1, [ 22] = 0x6271, [ 23] = 0x5B9B,
+  [ 24] = 0x59D0, [ 25] = 0x867B, [ 26] = 0x98F4, [ 27] = 0x7D62,
+  [ 28] = 0x7DBE, [ 29] = 0x9B8E, [ 30] = 0x6216, [ 31] = 0x7C9F,
+  [ 32] = 0x88B7, [ 33] = 0x5B89, [ 34] = 0x5EB5, [ 35] = 0x6309,
+  [ 36] = 0x6697, [ 37] = 0x6848, [ 38] = 0x95C7, [ 39] = 0x978D,
+  [ 40] = 0x674F, [ 41] = 0x4EE5, [ 42] = 0x4F0A, [ 43] = 0x4F4D,
+  [ 44] = 0x4F9D, [ 45] = 0x5049, [ 46] = 0x56F2, [ 47] = 0x5937,
+  [ 48] = 0x59D4, [ 49] = 0x5A01, [ 50] = 0x5C09, [ 51] = 0x60DF,
+  [ 52] = 0x610F, [ 53] = 0x6170, [ 54] = 0x6613, [ 55] = 0x6905,
+  [ 56] = 0x70BA, [ 57] = 0x754F, [ 58] = 0x7570, [ 59] = 0x79FB,
+  [ 60] = 0x7DAD, [ 61] = 0x7DEF, [ 62] = 0x80C3, [ 63] = 0x840E,
+  [ 64] = 0x8863, [ 65] = 0x8B02, [ 66] = 0x9055, [ 67] = 0x907A,
+  [ 68] = 0x533B, [ 69] = 0x4E95, [ 70] = 0x4EA5, [ 71] = 0x57DF,
+  [ 72] = 0x80B2, [ 73] = 0x90C1, [ 74] = 0x78EF, [ 75] = 0x4E00,
+  [ 76] = 0x58F1, [ 77] = 0x6EA2, [ 78] = 0x9038, [ 79] = 0x7A32,
+  [ 80] = 0x8328, [ 81] = 0x828B, [ 82] = 0x9C2F, [ 83] = 0x5141,
+  [ 84] = 0x5370, [ 85] = 0x54BD, [ 86] = 0x54E1, [ 87] = 0x56E0,
+  [ 88] = 0x59FB, [ 89] = 0x5F15, [ 90] = 0x98F2, [ 91] = 0x6DEB,
+  [ 92] = 0x80E4, [ 93] = 0x852D, [ 97] = 0x9662, [ 98] = 0x9670,
+  [ 99] = 0x96A0, [100] = 0x97FB, [101] = 0x540B, [102] = 0x53F3,
+  [103] = 0x5B87, [104] = 0x70CF, [105] = 0x7FBD, [106] = 0x8FC2,
+  [107] = 0x96E8, [108] = 0x536F, [109] = 0x9D5C, [110] = 0x7ABA,
+  [111] = 0x4E11, [112] = 0x7893, [113] = 0x81FC, [114] = 0x6E26,
+  [115] = 0x5618, [116] = 0x5504, [117] = 0x6B1D, [118] = 0x851A,
+  [119] = 0x9C3B, [120] = 0x59E5, [121] = 0x53A9, [122] = 0x6D66,
+  [123] = 0x74DC, [124] = 0x958F, [125] = 0x5642, [126] = 0x4E91,
+  [127] = 0x904B, [128] = 0x96F2, [129] = 0x834F, [130] = 0x990C,
+  [131] = 0x53E1, [132] = 0x55B6, [133] = 0x5B30, [134] = 0x5F71,
+  [135] = 0x6620, [136] = 0x66F3, [137] = 0x6804, [138] = 0x6C38,
+  [139] = 0x6CF3, [140] = 0x6D29, [141] = 0x745B, [142] = 0x76C8,
+  [143] = 0x7A4E, [144] = 0x9834, [145] = 0x82F1, [146] = 0x885B,
+  [147] = 0x8A60, [148] = 0x92ED, [149] = 0x6DB2, [150] = 0x75AB,
+  [151] = 0x76CA, [152] = 0x99C5, [153] = 0x60A6, [154] = 0x8B01,
+  [155] = 0x8D8A, [156] = 0x95B2, [157] = 0x698E, [158] = 0x53AD,
+  [159] = 0x5186, [161] = 0x5712, [162] = 0x5830, [163] = 0x5944,
+  [164] = 0x5BB4, [165] = 0x5EF6, [166] = 0x6028, [167] = 0x63A9,
+  [168] = 0x63F4, [169] = 0x6CBF, [170] = 0x6F14, [171] = 0x708E,
+  [172] = 0x7114, [173] = 0x7159, [174] = 0x71D5, [175] = 0x733F,
+  [176] = 0x7E01, [177] = 0x8276, [178] = 0x82D1, [179] = 0x8597,
+  [180] = 0x9060, [181] = 0x925B, [182] = 0x9D1B, [183] = 0x5869,
+  [184] = 0x65BC, [185] = 0x6C5A, [186] = 0x7525, [187] = 0x51F9,
+  [188] = 0x592E, [189] = 0x5965, [190] = 0x5F80, [191] = 0x5FDC,
+  [192] = 0x62BC, [193] = 0x65FA, [194] = 0x6A2A, [195] = 0x6B27,
+  [196] = 0x6BB4, [197] = 0x738B, [198] = 0x7FC1, [199] = 0x8956,
+  [200] = 0x9D2C, [201] = 0x9D0E, [202] = 0x9EC4, [203] = 0x5CA1,
+  [204] = 0x6C96, [205] = 0x837B, [206] = 0x5104, [207] = 0x5C4B,
+  [208] = 0x61B6, [209] = 0x81C6, [210] = 0x6876, [211] = 0x7261,
+  [212] = 0x4E59, [213] = 0x4FFA, [214] = 0x5378, [215] = 0x6069,
+  [216] = 0x6E29, [217] = 0x7A4F, [218] = 0x97F3, [219] = 0x4E0B,
+  [220] = 0x5316, [221] = 0x4EEE, [222] = 0x4F55, [223] = 0x4F3D,
+  [224] = 0x4FA1, [225] = 0x4F73, [226] = 0x52A0, [227] = 0x53EF,
+  [228] = 0x5609, [229] = 0x590F, [230] = 0x5AC1, [231] = 0x5BB6,
+  [232] = 0x5BE1, [233] = 0x79D1, [234] = 0x6687, [235] = 0x679C,
+  [236] = 0x67B6, [237] = 0x6B4C, [238] = 0x6CB3, [239] = 0x706B,
+  [240] = 0x73C2, [241] = 0x798D, [242] = 0x79BE, [243] = 0x7A3C,
+  [244] = 0x7B87, [245] = 0x82B1, [246] = 0x82DB, [247] = 0x8304,
+  [248] = 0x8377, [249] = 0x83EF, [250] = 0x83D3, [251] = 0x8766,
+  [252] = 0x8AB2, [253] = 0x5629, [254] = 0x8CA8, [255] = 0x8FE6,
+  [256] = 0x904E, [257] = 0x971E, [258] = 0x868A, [259] = 0x4FC4,
+  [260] = 0x5CE8, [261] = 0x6211, [262] = 0x7259, [263] = 0x753B,
+  [264] = 0x81E5, [265] = 0x82BD, [266] = 0x86FE, [267] = 0x8CC0,
+  [268] = 0x96C5, [269] = 0x9913, [270] = 0x99D5, [271] = 0x4ECB,
+  [272] = 0x4F1A, [273] = 0x89E3, [274] = 0x56DE, [275] = 0x584A,
+  [276] = 0x58CA, [277] = 0x5EFB, [278] = 0x5FEB, [279] = 0x602A,
+  [280] = 0x6094, [281] = 0x6062, [282] = 0x61D0, [283] = 0x6212,
+  [284] = 0x62D0, [285] = 0x6539
+};
+
+
+/* The following table can be generated from the file
+	unix/mappings/eastasia/jis/shiftjis.txt
+   from the Unicode CD (also available on their FTP server) using
+   the command
+
+	egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \
+	  /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl
+
+   where sjis.pl contains:
+
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  while (<>) {
+    local($sjis, $ucs, %rest) = split;
+    $sjis = hex($sjis) - 0x9040;
+    local($sidx) = int($sjis / 256) * 192 + ($sjis % 256) - 0x5f;
+    printf "\n " if (($n % 4) == 0);
+    ++$n;
+    printf " [%4d] = %s,", $sidx, $ucs;
+  }
+  print "\n";
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+static const uint16_t cjk_block3[3069] =
+{
+  [   0] = 0x62ED, [   1] = 0x690D, [   2] = 0x6B96, [   3] = 0x71ED,
+  [   4] = 0x7E54, [   5] = 0x8077, [   6] = 0x8272, [   7] = 0x89E6,
+  [   8] = 0x98DF, [   9] = 0x8755, [  10] = 0x8FB1, [  11] = 0x5C3B,
+  [  12] = 0x4F38, [  13] = 0x4FE1, [  14] = 0x4FB5, [  15] = 0x5507,
+  [  16] = 0x5A20, [  17] = 0x5BDD, [  18] = 0x5BE9, [  19] = 0x5FC3,
+  [  20] = 0x614E, [  21] = 0x632F, [  22] = 0x65B0, [  23] = 0x664B,
+  [  24] = 0x68EE, [  25] = 0x699B, [  26] = 0x6D78, [  27] = 0x6DF1,
+  [  28] = 0x7533, [  29] = 0x75B9, [  30] = 0x771F, [  31] = 0x795E,
+  [  32] = 0x79E6, [  33] = 0x7D33, [  34] = 0x81E3, [  35] = 0x82AF,
+  [  36] = 0x85AA, [  37] = 0x89AA, [  38] = 0x8A3A, [  39] = 0x8EAB,
+  [  40] = 0x8F9B, [  41] = 0x9032, [  42] = 0x91DD, [  43] = 0x9707,
+  [  44] = 0x4EBA, [  45] = 0x4EC1, [  46] = 0x5203, [  47] = 0x5875,
+  [  48] = 0x58EC, [  49] = 0x5C0B, [  50] = 0x751A, [  51] = 0x5C3D,
+  [  52] = 0x814E, [  53] = 0x8A0A, [  54] = 0x8FC5, [  55] = 0x9663,
+  [  56] = 0x976D, [  57] = 0x7B25, [  58] = 0x8ACF, [  59] = 0x9808,
+  [  60] = 0x9162, [  61] = 0x56F3, [  62] = 0x53A8, [  64] = 0x9017,
+  [  65] = 0x5439, [  66] = 0x5782, [  67] = 0x5E25, [  68] = 0x63A8,
+  [  69] = 0x6C34, [  70] = 0x708A, [  71] = 0x7761, [  72] = 0x7C8B,
+  [  73] = 0x7FE0, [  74] = 0x8870, [  75] = 0x9042, [  76] = 0x9154,
+  [  77] = 0x9310, [  78] = 0x9318, [  79] = 0x968F, [  80] = 0x745E,
+  [  81] = 0x9AC4, [  82] = 0x5D07, [  83] = 0x5D69, [  84] = 0x6570,
+  [  85] = 0x67A2, [  86] = 0x8DA8, [  87] = 0x96DB, [  88] = 0x636E,
+  [  89] = 0x6749, [  90] = 0x6919, [  91] = 0x83C5, [  92] = 0x9817,
+  [  93] = 0x96C0, [  94] = 0x88FE, [  95] = 0x6F84, [  96] = 0x647A,
+  [  97] = 0x5BF8, [  98] = 0x4E16, [  99] = 0x702C, [ 100] = 0x755D,
+  [ 101] = 0x662F, [ 102] = 0x51C4, [ 103] = 0x5236, [ 104] = 0x52E2,
+  [ 105] = 0x59D3, [ 106] = 0x5F81, [ 107] = 0x6027, [ 108] = 0x6210,
+  [ 109] = 0x653F, [ 110] = 0x6574, [ 111] = 0x661F, [ 112] = 0x6674,
+  [ 113] = 0x68F2, [ 114] = 0x6816, [ 115] = 0x6B63, [ 116] = 0x6E05,
+  [ 117] = 0x7272, [ 118] = 0x751F, [ 119] = 0x76DB, [ 120] = 0x7CBE,
+  [ 121] = 0x8056, [ 122] = 0x58F0, [ 123] = 0x88FD, [ 124] = 0x897F,
+  [ 125] = 0x8AA0, [ 126] = 0x8A93, [ 127] = 0x8ACB, [ 128] = 0x901D,
+  [ 129] = 0x9192, [ 130] = 0x9752, [ 131] = 0x9759, [ 132] = 0x6589,
+  [ 133] = 0x7A0E, [ 134] = 0x8106, [ 135] = 0x96BB, [ 136] = 0x5E2D,
+  [ 137] = 0x60DC, [ 138] = 0x621A, [ 139] = 0x65A5, [ 140] = 0x6614,
+  [ 141] = 0x6790, [ 142] = 0x77F3, [ 143] = 0x7A4D, [ 144] = 0x7C4D,
+  [ 145] = 0x7E3E, [ 146] = 0x810A, [ 147] = 0x8CAC, [ 148] = 0x8D64,
+  [ 149] = 0x8DE1, [ 150] = 0x8E5F, [ 151] = 0x78A9, [ 152] = 0x5207,
+  [ 153] = 0x62D9, [ 154] = 0x63A5, [ 155] = 0x6442, [ 156] = 0x6298,
+  [ 157] = 0x8A2D, [ 158] = 0x7A83, [ 159] = 0x7BC0, [ 160] = 0x8AAC,
+  [ 161] = 0x96EA, [ 162] = 0x7D76, [ 163] = 0x820C, [ 164] = 0x8749,
+  [ 165] = 0x4ED9, [ 166] = 0x5148, [ 167] = 0x5343, [ 168] = 0x5360,
+  [ 169] = 0x5BA3, [ 170] = 0x5C02, [ 171] = 0x5C16, [ 172] = 0x5DDD,
+  [ 173] = 0x6226, [ 174] = 0x6247, [ 175] = 0x64B0, [ 176] = 0x6813,
+  [ 177] = 0x6834, [ 178] = 0x6CC9, [ 179] = 0x6D45, [ 180] = 0x6D17,
+  [ 181] = 0x67D3, [ 182] = 0x6F5C, [ 183] = 0x714E, [ 184] = 0x717D,
+  [ 185] = 0x65CB, [ 186] = 0x7A7F, [ 187] = 0x7BAD, [ 188] = 0x7DDA,
+  [ 192] = 0x7E4A, [ 193] = 0x7FA8, [ 194] = 0x817A, [ 195] = 0x821B,
+  [ 196] = 0x8239, [ 197] = 0x85A6, [ 198] = 0x8A6E, [ 199] = 0x8CCE,
+  [ 200] = 0x8DF5, [ 201] = 0x9078, [ 202] = 0x9077, [ 203] = 0x92AD,
+  [ 204] = 0x9291, [ 205] = 0x9583, [ 206] = 0x9BAE, [ 207] = 0x524D,
+  [ 208] = 0x5584, [ 209] = 0x6F38, [ 210] = 0x7136, [ 211] = 0x5168,
+  [ 212] = 0x7985, [ 213] = 0x7E55, [ 214] = 0x81B3, [ 215] = 0x7CCE,
+  [ 216] = 0x564C, [ 217] = 0x5851, [ 218] = 0x5CA8, [ 219] = 0x63AA,
+  [ 220] = 0x66FE, [ 221] = 0x66FD, [ 222] = 0x695A, [ 223] = 0x72D9,
+  [ 224] = 0x758F, [ 225] = 0x758E, [ 226] = 0x790E, [ 227] = 0x7956,
+  [ 228] = 0x79DF, [ 229] = 0x7C97, [ 230] = 0x7D20, [ 231] = 0x7D44,
+  [ 232] = 0x8607, [ 233] = 0x8A34, [ 234] = 0x963B, [ 235] = 0x9061,
+  [ 236] = 0x9F20, [ 237] = 0x50E7, [ 238] = 0x5275, [ 239] = 0x53CC,
+  [ 240] = 0x53E2, [ 241] = 0x5009, [ 242] = 0x55AA, [ 243] = 0x58EE,
+  [ 244] = 0x594F, [ 245] = 0x723D, [ 246] = 0x5B8B, [ 247] = 0x5C64,
+  [ 248] = 0x531D, [ 249] = 0x60E3, [ 250] = 0x60F3, [ 251] = 0x635C,
+  [ 252] = 0x6383, [ 253] = 0x633F, [ 254] = 0x63BB, [ 256] = 0x64CD,
+  [ 257] = 0x65E9, [ 258] = 0x66F9, [ 259] = 0x5DE3, [ 260] = 0x69CD,
+  [ 261] = 0x69FD, [ 262] = 0x6F15, [ 263] = 0x71E5, [ 264] = 0x4E89,
+  [ 265] = 0x75E9, [ 266] = 0x76F8, [ 267] = 0x7A93, [ 268] = 0x7CDF,
+  [ 269] = 0x7DCF, [ 270] = 0x7D9C, [ 271] = 0x8061, [ 272] = 0x8349,
+  [ 273] = 0x8358, [ 274] = 0x846C, [ 275] = 0x84BC, [ 276] = 0x85FB,
+  [ 277] = 0x88C5, [ 278] = 0x8D70, [ 279] = 0x9001, [ 280] = 0x906D,
+  [ 281] = 0x9397, [ 282] = 0x971C, [ 283] = 0x9A12, [ 284] = 0x50CF,
+  [ 285] = 0x5897, [ 286] = 0x618E, [ 287] = 0x81D3, [ 288] = 0x8535,
+  [ 289] = 0x8D08, [ 290] = 0x9020, [ 291] = 0x4FC3, [ 292] = 0x5074,
+  [ 293] = 0x5247, [ 294] = 0x5373, [ 295] = 0x606F, [ 296] = 0x6349,
+  [ 297] = 0x675F, [ 298] = 0x6E2C, [ 299] = 0x8DB3, [ 300] = 0x901F,
+  [ 301] = 0x4FD7, [ 302] = 0x5C5E, [ 303] = 0x8CCA, [ 304] = 0x65CF,
+  [ 305] = 0x7D9A, [ 306] = 0x5352, [ 307] = 0x8896, [ 308] = 0x5176,
+  [ 309] = 0x63C3, [ 310] = 0x5B58, [ 311] = 0x5B6B, [ 312] = 0x5C0A,
+  [ 313] = 0x640D, [ 314] = 0x6751, [ 315] = 0x905C, [ 316] = 0x4ED6,
+  [ 317] = 0x591A, [ 318] = 0x592A, [ 319] = 0x6C70, [ 320] = 0x8A51,
+  [ 321] = 0x553E, [ 322] = 0x5815, [ 323] = 0x59A5, [ 324] = 0x60F0,
+  [ 325] = 0x6253, [ 326] = 0x67C1, [ 327] = 0x8235, [ 328] = 0x6955,
+  [ 329] = 0x9640, [ 330] = 0x99C4, [ 331] = 0x9A28, [ 332] = 0x4F53,
+  [ 333] = 0x5806, [ 334] = 0x5BFE, [ 335] = 0x8010, [ 336] = 0x5CB1,
+  [ 337] = 0x5E2F, [ 338] = 0x5F85, [ 339] = 0x6020, [ 340] = 0x614B,
+  [ 341] = 0x6234, [ 342] = 0x66FF, [ 343] = 0x6CF0, [ 344] = 0x6EDE,
+  [ 345] = 0x80CE, [ 346] = 0x817F, [ 347] = 0x82D4, [ 348] = 0x888B,
+  [ 349] = 0x8CB8, [ 350] = 0x9000, [ 351] = 0x902E, [ 352] = 0x968A,
+  [ 353] = 0x9EDB, [ 354] = 0x9BDB, [ 355] = 0x4EE3, [ 356] = 0x53F0,
+  [ 357] = 0x5927, [ 358] = 0x7B2C, [ 359] = 0x918D, [ 360] = 0x984C,
+  [ 361] = 0x9DF9, [ 362] = 0x6EDD, [ 363] = 0x7027, [ 364] = 0x5353,
+  [ 365] = 0x5544, [ 366] = 0x5B85, [ 367] = 0x6258, [ 368] = 0x629E,
+  [ 369] = 0x62D3, [ 370] = 0x6CA2, [ 371] = 0x6FEF, [ 372] = 0x7422,
+  [ 373] = 0x8A17, [ 374] = 0x9438, [ 375] = 0x6FC1, [ 376] = 0x8AFE,
+  [ 377] = 0x8338, [ 378] = 0x51E7, [ 379] = 0x86F8, [ 380] = 0x53EA,
+  [ 384] = 0x53E9, [ 385] = 0x4F46, [ 386] = 0x9054, [ 387] = 0x8FB0,
+  [ 388] = 0x596A, [ 389] = 0x8131, [ 390] = 0x5DFD, [ 391] = 0x7AEA,
+  [ 392] = 0x8FBF, [ 393] = 0x68DA, [ 394] = 0x8C37, [ 395] = 0x72F8,
+  [ 396] = 0x9C48, [ 397] = 0x6A3D, [ 398] = 0x8AB0, [ 399] = 0x4E39,
+  [ 400] = 0x5358, [ 401] = 0x5606, [ 402] = 0x5766, [ 403] = 0x62C5,
+  [ 404] = 0x63A2, [ 405] = 0x65E6, [ 406] = 0x6B4E, [ 407] = 0x6DE1,
+  [ 408] = 0x6E5B, [ 409] = 0x70AD, [ 410] = 0x77ED, [ 411] = 0x7AEF,
+  [ 412] = 0x7BAA, [ 413] = 0x7DBB, [ 414] = 0x803D, [ 415] = 0x80C6,
+  [ 416] = 0x86CB, [ 417] = 0x8A95, [ 418] = 0x935B, [ 419] = 0x56E3,
+  [ 420] = 0x58C7, [ 421] = 0x5F3E, [ 422] = 0x65AD, [ 423] = 0x6696,
+  [ 424] = 0x6A80, [ 425] = 0x6BB5, [ 426] = 0x7537, [ 427] = 0x8AC7,
+  [ 428] = 0x5024, [ 429] = 0x77E5, [ 430] = 0x5730, [ 431] = 0x5F1B,
+  [ 432] = 0x6065, [ 433] = 0x667A, [ 434] = 0x6C60, [ 435] = 0x75F4,
+  [ 436] = 0x7A1A, [ 437] = 0x7F6E, [ 438] = 0x81F4, [ 439] = 0x8718,
+  [ 440] = 0x9045, [ 441] = 0x99B3, [ 442] = 0x7BC9, [ 443] = 0x755C,
+  [ 444] = 0x7AF9, [ 445] = 0x7B51, [ 446] = 0x84C4, [ 448] = 0x9010,
+  [ 449] = 0x79E9, [ 450] = 0x7A92, [ 451] = 0x8336, [ 452] = 0x5AE1,
+  [ 453] = 0x7740, [ 454] = 0x4E2D, [ 455] = 0x4EF2, [ 456] = 0x5B99,
+  [ 457] = 0x5FE0, [ 458] = 0x62BD, [ 459] = 0x663C, [ 460] = 0x67F1,
+  [ 461] = 0x6CE8, [ 462] = 0x866B, [ 463] = 0x8877, [ 464] = 0x8A3B,
+  [ 465] = 0x914E, [ 466] = 0x92F3, [ 467] = 0x99D0, [ 468] = 0x6A17,
+  [ 469] = 0x7026, [ 470] = 0x732A, [ 471] = 0x82E7, [ 472] = 0x8457,
+  [ 473] = 0x8CAF, [ 474] = 0x4E01, [ 475] = 0x5146, [ 476] = 0x51CB,
+  [ 477] = 0x558B, [ 478] = 0x5BF5, [ 479] = 0x5E16, [ 480] = 0x5E33,
+  [ 481] = 0x5E81, [ 482] = 0x5F14, [ 483] = 0x5F35, [ 484] = 0x5F6B,
+  [ 485] = 0x5FB4, [ 486] = 0x61F2, [ 487] = 0x6311, [ 488] = 0x66A2,
+  [ 489] = 0x671D, [ 490] = 0x6F6E, [ 491] = 0x7252, [ 492] = 0x753A,
+  [ 493] = 0x773A, [ 494] = 0x8074, [ 495] = 0x8139, [ 496] = 0x8178,
+  [ 497] = 0x8776, [ 498] = 0x8ABF, [ 499] = 0x8ADC, [ 500] = 0x8D85,
+  [ 501] = 0x8DF3, [ 502] = 0x929A, [ 503] = 0x9577, [ 504] = 0x9802,
+  [ 505] = 0x9CE5, [ 506] = 0x52C5, [ 507] = 0x6357, [ 508] = 0x76F4,
+  [ 509] = 0x6715, [ 510] = 0x6C88, [ 511] = 0x73CD, [ 512] = 0x8CC3,
+  [ 513] = 0x93AE, [ 514] = 0x9673, [ 515] = 0x6D25, [ 516] = 0x589C,
+  [ 517] = 0x690E, [ 518] = 0x69CC, [ 519] = 0x8FFD, [ 520] = 0x939A,
+  [ 521] = 0x75DB, [ 522] = 0x901A, [ 523] = 0x585A, [ 524] = 0x6802,
+  [ 525] = 0x63B4, [ 526] = 0x69FB, [ 527] = 0x4F43, [ 528] = 0x6F2C,
+  [ 529] = 0x67D8, [ 530] = 0x8FBB, [ 531] = 0x8526, [ 532] = 0x7DB4,
+  [ 533] = 0x9354, [ 534] = 0x693F, [ 535] = 0x6F70, [ 536] = 0x576A,
+  [ 537] = 0x58F7, [ 538] = 0x5B2C, [ 539] = 0x7D2C, [ 540] = 0x722A,
+  [ 541] = 0x540A, [ 542] = 0x91E3, [ 543] = 0x9DB4, [ 544] = 0x4EAD,
+  [ 545] = 0x4F4E, [ 546] = 0x505C, [ 547] = 0x5075, [ 548] = 0x5243,
+  [ 549] = 0x8C9E, [ 550] = 0x5448, [ 551] = 0x5824, [ 552] = 0x5B9A,
+  [ 553] = 0x5E1D, [ 554] = 0x5E95, [ 555] = 0x5EAD, [ 556] = 0x5EF7,
+  [ 557] = 0x5F1F, [ 558] = 0x608C, [ 559] = 0x62B5, [ 560] = 0x633A,
+  [ 561] = 0x63D0, [ 562] = 0x68AF, [ 563] = 0x6C40, [ 564] = 0x7887,
+  [ 565] = 0x798E, [ 566] = 0x7A0B, [ 567] = 0x7DE0, [ 568] = 0x8247,
+  [ 569] = 0x8A02, [ 570] = 0x8AE6, [ 571] = 0x8E44, [ 572] = 0x9013,
+  [ 576] = 0x90B8, [ 577] = 0x912D, [ 578] = 0x91D8, [ 579] = 0x9F0E,
+  [ 580] = 0x6CE5, [ 581] = 0x6458, [ 582] = 0x64E2, [ 583] = 0x6575,
+  [ 584] = 0x6EF4, [ 585] = 0x7684, [ 586] = 0x7B1B, [ 587] = 0x9069,
+  [ 588] = 0x93D1, [ 589] = 0x6EBA, [ 590] = 0x54F2, [ 591] = 0x5FB9,
+  [ 592] = 0x64A4, [ 593] = 0x8F4D, [ 594] = 0x8FED, [ 595] = 0x9244,
+  [ 596] = 0x5178, [ 597] = 0x586B, [ 598] = 0x5929, [ 599] = 0x5C55,
+  [ 600] = 0x5E97, [ 601] = 0x6DFB, [ 602] = 0x7E8F, [ 603] = 0x751C,
+  [ 604] = 0x8CBC, [ 605] = 0x8EE2, [ 606] = 0x985B, [ 607] = 0x70B9,
+  [ 608] = 0x4F1D, [ 609] = 0x6BBF, [ 610] = 0x6FB1, [ 611] = 0x7530,
+  [ 612] = 0x96FB, [ 613] = 0x514E, [ 614] = 0x5410, [ 615] = 0x5835,
+  [ 616] = 0x5857, [ 617] = 0x59AC, [ 618] = 0x5C60, [ 619] = 0x5F92,
+  [ 620] = 0x6597, [ 621] = 0x675C, [ 622] = 0x6E21, [ 623] = 0x767B,
+  [ 624] = 0x83DF, [ 625] = 0x8CED, [ 626] = 0x9014, [ 627] = 0x90FD,
+  [ 628] = 0x934D, [ 629] = 0x7825, [ 630] = 0x783A, [ 631] = 0x52AA,
+  [ 632] = 0x5EA6, [ 633] = 0x571F, [ 634] = 0x5974, [ 635] = 0x6012,
+  [ 636] = 0x5012, [ 637] = 0x515A, [ 638] = 0x51AC, [ 640] = 0x51CD,
+  [ 641] = 0x5200, [ 642] = 0x5510, [ 643] = 0x5854, [ 644] = 0x5858,
+  [ 645] = 0x5957, [ 646] = 0x5B95, [ 647] = 0x5CF6, [ 648] = 0x5D8B,
+  [ 649] = 0x60BC, [ 650] = 0x6295, [ 651] = 0x642D, [ 652] = 0x6771,
+  [ 653] = 0x6843, [ 654] = 0x68BC, [ 655] = 0x68DF, [ 656] = 0x76D7,
+  [ 657] = 0x6DD8, [ 658] = 0x6E6F, [ 659] = 0x6D9B, [ 660] = 0x706F,
+  [ 661] = 0x71C8, [ 662] = 0x5F53, [ 663] = 0x75D8, [ 664] = 0x7977,
+  [ 665] = 0x7B49, [ 666] = 0x7B54, [ 667] = 0x7B52, [ 668] = 0x7CD6,
+  [ 669] = 0x7D71, [ 670] = 0x5230, [ 671] = 0x8463, [ 672] = 0x8569,
+  [ 673] = 0x85E4, [ 674] = 0x8A0E, [ 675] = 0x8B04, [ 676] = 0x8C46,
+  [ 677] = 0x8E0F, [ 678] = 0x9003, [ 679] = 0x900F, [ 680] = 0x9419,
+  [ 681] = 0x9676, [ 682] = 0x982D, [ 683] = 0x9A30, [ 684] = 0x95D8,
+  [ 685] = 0x50CD, [ 686] = 0x52D5, [ 687] = 0x540C, [ 688] = 0x5802,
+  [ 689] = 0x5C0E, [ 690] = 0x61A7, [ 691] = 0x649E, [ 692] = 0x6D1E,
+  [ 693] = 0x77B3, [ 694] = 0x7AE5, [ 695] = 0x80F4, [ 696] = 0x8404,
+  [ 697] = 0x9053, [ 698] = 0x9285, [ 699] = 0x5CE0, [ 700] = 0x9D07,
+  [ 701] = 0x533F, [ 702] = 0x5F97, [ 703] = 0x5FB3, [ 704] = 0x6D9C,
+  [ 705] = 0x7279, [ 706] = 0x7763, [ 707] = 0x79BF, [ 708] = 0x7BE4,
+  [ 709] = 0x6BD2, [ 710] = 0x72EC, [ 711] = 0x8AAD, [ 712] = 0x6803,
+  [ 713] = 0x6A61, [ 714] = 0x51F8, [ 715] = 0x7A81, [ 716] = 0x6934,
+  [ 717] = 0x5C4A, [ 718] = 0x9CF6, [ 719] = 0x82EB, [ 720] = 0x5BC5,
+  [ 721] = 0x9149, [ 722] = 0x701E, [ 723] = 0x5678, [ 724] = 0x5C6F,
+  [ 725] = 0x60C7, [ 726] = 0x6566, [ 727] = 0x6C8C, [ 728] = 0x8C5A,
+  [ 729] = 0x9041, [ 730] = 0x9813, [ 731] = 0x5451, [ 732] = 0x66C7,
+  [ 733] = 0x920D, [ 734] = 0x5948, [ 735] = 0x90A3, [ 736] = 0x5185,
+  [ 737] = 0x4E4D, [ 738] = 0x51EA, [ 739] = 0x8599, [ 740] = 0x8B0E,
+  [ 741] = 0x7058, [ 742] = 0x637A, [ 743] = 0x934B, [ 744] = 0x6962,
+  [ 745] = 0x99B4, [ 746] = 0x7E04, [ 747] = 0x7577, [ 748] = 0x5357,
+  [ 749] = 0x6960, [ 750] = 0x8EDF, [ 751] = 0x96E3, [ 752] = 0x6C5D,
+  [ 753] = 0x4E8C, [ 754] = 0x5C3C, [ 755] = 0x5F10, [ 756] = 0x8FE9,
+  [ 757] = 0x5302, [ 758] = 0x8CD1, [ 759] = 0x8089, [ 760] = 0x8679,
+  [ 761] = 0x5EFF, [ 762] = 0x65E5, [ 763] = 0x4E73, [ 764] = 0x5165,
+  [ 768] = 0x5982, [ 769] = 0x5C3F, [ 770] = 0x97EE, [ 771] = 0x4EFB,
+  [ 772] = 0x598A, [ 773] = 0x5FCD, [ 774] = 0x8A8D, [ 775] = 0x6FE1,
+  [ 776] = 0x79B0, [ 777] = 0x7962, [ 778] = 0x5BE7, [ 779] = 0x8471,
+  [ 780] = 0x732B, [ 781] = 0x71B1, [ 782] = 0x5E74, [ 783] = 0x5FF5,
+  [ 784] = 0x637B, [ 785] = 0x649A, [ 786] = 0x71C3, [ 787] = 0x7C98,
+  [ 788] = 0x4E43, [ 789] = 0x5EFC, [ 790] = 0x4E4B, [ 791] = 0x57DC,
+  [ 792] = 0x56A2, [ 793] = 0x60A9, [ 794] = 0x6FC3, [ 795] = 0x7D0D,
+  [ 796] = 0x80FD, [ 797] = 0x8133, [ 798] = 0x81BF, [ 799] = 0x8FB2,
+  [ 800] = 0x8997, [ 801] = 0x86A4, [ 802] = 0x5DF4, [ 803] = 0x628A,
+  [ 804] = 0x64AD, [ 805] = 0x8987, [ 806] = 0x6777, [ 807] = 0x6CE2,
+  [ 808] = 0x6D3E, [ 809] = 0x7436, [ 810] = 0x7834, [ 811] = 0x5A46,
+  [ 812] = 0x7F75, [ 813] = 0x82AD, [ 814] = 0x99AC, [ 815] = 0x4FF3,
+  [ 816] = 0x5EC3, [ 817] = 0x62DD, [ 818] = 0x6392, [ 819] = 0x6557,
+  [ 820] = 0x676F, [ 821] = 0x76C3, [ 822] = 0x724C, [ 823] = 0x80CC,
+  [ 824] = 0x80BA, [ 825] = 0x8F29, [ 826] = 0x914D, [ 827] = 0x500D,
+  [ 828] = 0x57F9, [ 829] = 0x5A92, [ 830] = 0x6885, [ 832] = 0x6973,
+  [ 833] = 0x7164, [ 834] = 0x72FD, [ 835] = 0x8CB7, [ 836] = 0x58F2,
+  [ 837] = 0x8CE0, [ 838] = 0x966A, [ 839] = 0x9019, [ 840] = 0x877F,
+  [ 841] = 0x79E4, [ 842] = 0x77E7, [ 843] = 0x8429, [ 844] = 0x4F2F,
+  [ 845] = 0x5265, [ 846] = 0x535A, [ 847] = 0x62CD, [ 848] = 0x67CF,
+  [ 849] = 0x6CCA, [ 850] = 0x767D, [ 851] = 0x7B94, [ 852] = 0x7C95,
+  [ 853] = 0x8236, [ 854] = 0x8584, [ 855] = 0x8FEB, [ 856] = 0x66DD,
+  [ 857] = 0x6F20, [ 858] = 0x7206, [ 859] = 0x7E1B, [ 860] = 0x83AB,
+  [ 861] = 0x99C1, [ 862] = 0x9EA6, [ 863] = 0x51FD, [ 864] = 0x7BB1,
+  [ 865] = 0x7872, [ 866] = 0x7BB8, [ 867] = 0x8087, [ 868] = 0x7B48,
+  [ 869] = 0x6AE8, [ 870] = 0x5E61, [ 871] = 0x808C, [ 872] = 0x7551,
+  [ 873] = 0x7560, [ 874] = 0x516B, [ 875] = 0x9262, [ 876] = 0x6E8C,
+  [ 877] = 0x767A, [ 878] = 0x9197, [ 879] = 0x9AEA, [ 880] = 0x4F10,
+  [ 881] = 0x7F70, [ 882] = 0x629C, [ 883] = 0x7B4F, [ 884] = 0x95A5,
+  [ 885] = 0x9CE9, [ 886] = 0x567A, [ 887] = 0x5859, [ 888] = 0x86E4,
+  [ 889] = 0x96BC, [ 890] = 0x4F34, [ 891] = 0x5224, [ 892] = 0x534A,
+  [ 893] = 0x53CD, [ 894] = 0x53DB, [ 895] = 0x5E06, [ 896] = 0x642C,
+  [ 897] = 0x6591, [ 898] = 0x677F, [ 899] = 0x6C3E, [ 900] = 0x6C4E,
+  [ 901] = 0x7248, [ 902] = 0x72AF, [ 903] = 0x73ED, [ 904] = 0x7554,
+  [ 905] = 0x7E41, [ 906] = 0x822C, [ 907] = 0x85E9, [ 908] = 0x8CA9,
+  [ 909] = 0x7BC4, [ 910] = 0x91C6, [ 911] = 0x7169, [ 912] = 0x9812,
+  [ 913] = 0x98EF, [ 914] = 0x633D, [ 915] = 0x6669, [ 916] = 0x756A,
+  [ 917] = 0x76E4, [ 918] = 0x78D0, [ 919] = 0x8543, [ 920] = 0x86EE,
+  [ 921] = 0x532A, [ 922] = 0x5351, [ 923] = 0x5426, [ 924] = 0x5983,
+  [ 925] = 0x5E87, [ 926] = 0x5F7C, [ 927] = 0x60B2, [ 928] = 0x6249,
+  [ 929] = 0x6279, [ 930] = 0x62AB, [ 931] = 0x6590, [ 932] = 0x6BD4,
+  [ 933] = 0x6CCC, [ 934] = 0x75B2, [ 935] = 0x76AE, [ 936] = 0x7891,
+  [ 937] = 0x79D8, [ 938] = 0x7DCB, [ 939] = 0x7F77, [ 940] = 0x80A5,
+  [ 941] = 0x88AB, [ 942] = 0x8AB9, [ 943] = 0x8CBB, [ 944] = 0x907F,
+  [ 945] = 0x975E, [ 946] = 0x98DB, [ 947] = 0x6A0B, [ 948] = 0x7C38,
+  [ 949] = 0x5099, [ 950] = 0x5C3E, [ 951] = 0x5FAE, [ 952] = 0x6787,
+  [ 953] = 0x6BD8, [ 954] = 0x7435, [ 955] = 0x7709, [ 956] = 0x7F8E,
+  [ 960] = 0x9F3B, [ 961] = 0x67CA, [ 962] = 0x7A17, [ 963] = 0x5339,
+  [ 964] = 0x758B, [ 965] = 0x9AED, [ 966] = 0x5F66, [ 967] = 0x819D,
+  [ 968] = 0x83F1, [ 969] = 0x8098, [ 970] = 0x5F3C, [ 971] = 0x5FC5,
+  [ 972] = 0x7562, [ 973] = 0x7B46, [ 974] = 0x903C, [ 975] = 0x6867,
+  [ 976] = 0x59EB, [ 977] = 0x5A9B, [ 978] = 0x7D10, [ 979] = 0x767E,
+  [ 980] = 0x8B2C, [ 981] = 0x4FF5, [ 982] = 0x5F6A, [ 983] = 0x6A19,
+  [ 984] = 0x6C37, [ 985] = 0x6F02, [ 986] = 0x74E2, [ 987] = 0x7968,
+  [ 988] = 0x8868, [ 989] = 0x8A55, [ 990] = 0x8C79, [ 991] = 0x5EDF,
+  [ 992] = 0x63CF, [ 993] = 0x75C5, [ 994] = 0x79D2, [ 995] = 0x82D7,
+  [ 996] = 0x9328, [ 997] = 0x92F2, [ 998] = 0x849C, [ 999] = 0x86ED,
+  [1000] = 0x9C2D, [1001] = 0x54C1, [1002] = 0x5F6C, [1003] = 0x658C,
+  [1004] = 0x6D5C, [1005] = 0x7015, [1006] = 0x8CA7, [1007] = 0x8CD3,
+  [1008] = 0x983B, [1009] = 0x654F, [1010] = 0x74F6, [1011] = 0x4E0D,
+  [1012] = 0x4ED8, [1013] = 0x57E0, [1014] = 0x592B, [1015] = 0x5A66,
+  [1016] = 0x5BCC, [1017] = 0x51A8, [1018] = 0x5E03, [1019] = 0x5E9C,
+  [1020] = 0x6016, [1021] = 0x6276, [1022] = 0x6577, [1024] = 0x65A7,
+  [1025] = 0x666E, [1026] = 0x6D6E, [1027] = 0x7236, [1028] = 0x7B26,
+  [1029] = 0x8150, [1030] = 0x819A, [1031] = 0x8299, [1032] = 0x8B5C,
+  [1033] = 0x8CA0, [1034] = 0x8CE6, [1035] = 0x8D74, [1036] = 0x961C,
+  [1037] = 0x9644, [1038] = 0x4FAE, [1039] = 0x64AB, [1040] = 0x6B66,
+  [1041] = 0x821E, [1042] = 0x8461, [1043] = 0x856A, [1044] = 0x90E8,
+  [1045] = 0x5C01, [1046] = 0x6953, [1047] = 0x98A8, [1048] = 0x847A,
+  [1049] = 0x8557, [1050] = 0x4F0F, [1051] = 0x526F, [1052] = 0x5FA9,
+  [1053] = 0x5E45, [1054] = 0x670D, [1055] = 0x798F, [1056] = 0x8179,
+  [1057] = 0x8907, [1058] = 0x8986, [1059] = 0x6DF5, [1060] = 0x5F17,
+  [1061] = 0x6255, [1062] = 0x6CB8, [1063] = 0x4ECF, [1064] = 0x7269,
+  [1065] = 0x9B92, [1066] = 0x5206, [1067] = 0x543B, [1068] = 0x5674,
+  [1069] = 0x58B3, [1070] = 0x61A4, [1071] = 0x626E, [1072] = 0x711A,
+  [1073] = 0x596E, [1074] = 0x7C89, [1075] = 0x7CDE, [1076] = 0x7D1B,
+  [1077] = 0x96F0, [1078] = 0x6587, [1079] = 0x805E, [1080] = 0x4E19,
+  [1081] = 0x4F75, [1082] = 0x5175, [1083] = 0x5840, [1084] = 0x5E63,
+  [1085] = 0x5E73, [1086] = 0x5F0A, [1087] = 0x67C4, [1088] = 0x4E26,
+  [1089] = 0x853D, [1090] = 0x9589, [1091] = 0x965B, [1092] = 0x7C73,
+  [1093] = 0x9801, [1094] = 0x50FB, [1095] = 0x58C1, [1096] = 0x7656,
+  [1097] = 0x78A7, [1098] = 0x5225, [1099] = 0x77A5, [1100] = 0x8511,
+  [1101] = 0x7B86, [1102] = 0x504F, [1103] = 0x5909, [1104] = 0x7247,
+  [1105] = 0x7BC7, [1106] = 0x7DE8, [1107] = 0x8FBA, [1108] = 0x8FD4,
+  [1109] = 0x904D, [1110] = 0x4FBF, [1111] = 0x52C9, [1112] = 0x5A29,
+  [1113] = 0x5F01, [1114] = 0x97AD, [1115] = 0x4FDD, [1116] = 0x8217,
+  [1117] = 0x92EA, [1118] = 0x5703, [1119] = 0x6355, [1120] = 0x6B69,
+  [1121] = 0x752B, [1122] = 0x88DC, [1123] = 0x8F14, [1124] = 0x7A42,
+  [1125] = 0x52DF, [1126] = 0x5893, [1127] = 0x6155, [1128] = 0x620A,
+  [1129] = 0x66AE, [1130] = 0x6BCD, [1131] = 0x7C3F, [1132] = 0x83E9,
+  [1133] = 0x5023, [1134] = 0x4FF8, [1135] = 0x5305, [1136] = 0x5446,
+  [1137] = 0x5831, [1138] = 0x5949, [1139] = 0x5B9D, [1140] = 0x5CF0,
+  [1141] = 0x5CEF, [1142] = 0x5D29, [1143] = 0x5E96, [1144] = 0x62B1,
+  [1145] = 0x6367, [1146] = 0x653E, [1147] = 0x65B9, [1148] = 0x670B,
+  [1152] = 0x6CD5, [1153] = 0x6CE1, [1154] = 0x70F9, [1155] = 0x7832,
+  [1156] = 0x7E2B, [1157] = 0x80DE, [1158] = 0x82B3, [1159] = 0x840C,
+  [1160] = 0x84EC, [1161] = 0x8702, [1162] = 0x8912, [1163] = 0x8A2A,
+  [1164] = 0x8C4A, [1165] = 0x90A6, [1166] = 0x92D2, [1167] = 0x98FD,
+  [1168] = 0x9CF3, [1169] = 0x9D6C, [1170] = 0x4E4F, [1171] = 0x4EA1,
+  [1172] = 0x508D, [1173] = 0x5256, [1174] = 0x574A, [1175] = 0x59A8,
+  [1176] = 0x5E3D, [1177] = 0x5FD8, [1178] = 0x5FD9, [1179] = 0x623F,
+  [1180] = 0x66B4, [1181] = 0x671B, [1182] = 0x67D0, [1183] = 0x68D2,
+  [1184] = 0x5192, [1185] = 0x7D21, [1186] = 0x80AA, [1187] = 0x81A8,
+  [1188] = 0x8B00, [1189] = 0x8C8C, [1190] = 0x8CBF, [1191] = 0x927E,
+  [1192] = 0x9632, [1193] = 0x5420, [1194] = 0x982C, [1195] = 0x5317,
+  [1196] = 0x50D5, [1197] = 0x535C, [1198] = 0x58A8, [1199] = 0x64B2,
+  [1200] = 0x6734, [1201] = 0x7267, [1202] = 0x7766, [1203] = 0x7A46,
+  [1204] = 0x91E6, [1205] = 0x52C3, [1206] = 0x6CA1, [1207] = 0x6B86,
+  [1208] = 0x5800, [1209] = 0x5E4C, [1210] = 0x5954, [1211] = 0x672C,
+  [1212] = 0x7FFB, [1213] = 0x51E1, [1214] = 0x76C6, [1216] = 0x6469,
+  [1217] = 0x78E8, [1218] = 0x9B54, [1219] = 0x9EBB, [1220] = 0x57CB,
+  [1221] = 0x59B9, [1222] = 0x6627, [1223] = 0x679A, [1224] = 0x6BCE,
+  [1225] = 0x54E9, [1226] = 0x69D9, [1227] = 0x5E55, [1228] = 0x819C,
+  [1229] = 0x6795, [1230] = 0x9BAA, [1231] = 0x67FE, [1232] = 0x9C52,
+  [1233] = 0x685D, [1234] = 0x4EA6, [1235] = 0x4FE3, [1236] = 0x53C8,
+  [1237] = 0x62B9, [1238] = 0x672B, [1239] = 0x6CAB, [1240] = 0x8FC4,
+  [1241] = 0x4FAD, [1242] = 0x7E6D, [1243] = 0x9EBF, [1244] = 0x4E07,
+  [1245] = 0x6162, [1246] = 0x6E80, [1247] = 0x6F2B, [1248] = 0x8513,
+  [1249] = 0x5473, [1250] = 0x672A, [1251] = 0x9B45, [1252] = 0x5DF3,
+  [1253] = 0x7B95, [1254] = 0x5CAC, [1255] = 0x5BC6, [1256] = 0x871C,
+  [1257] = 0x6E4A, [1258] = 0x84D1, [1259] = 0x7A14, [1260] = 0x8108,
+  [1261] = 0x5999, [1262] = 0x7C8D, [1263] = 0x6C11, [1264] = 0x7720,
+  [1265] = 0x52D9, [1266] = 0x5922, [1267] = 0x7121, [1268] = 0x725F,
+  [1269] = 0x77DB, [1270] = 0x9727, [1271] = 0x9D61, [1272] = 0x690B,
+  [1273] = 0x5A7F, [1274] = 0x5A18, [1275] = 0x51A5, [1276] = 0x540D,
+  [1277] = 0x547D, [1278] = 0x660E, [1279] = 0x76DF, [1280] = 0x8FF7,
+  [1281] = 0x9298, [1282] = 0x9CF4, [1283] = 0x59EA, [1284] = 0x725D,
+  [1285] = 0x6EC5, [1286] = 0x514D, [1287] = 0x68C9, [1288] = 0x7DBF,
+  [1289] = 0x7DEC, [1290] = 0x9762, [1291] = 0x9EBA, [1292] = 0x6478,
+  [1293] = 0x6A21, [1294] = 0x8302, [1295] = 0x5984, [1296] = 0x5B5F,
+  [1297] = 0x6BDB, [1298] = 0x731B, [1299] = 0x76F2, [1300] = 0x7DB2,
+  [1301] = 0x8017, [1302] = 0x8499, [1303] = 0x5132, [1304] = 0x6728,
+  [1305] = 0x9ED9, [1306] = 0x76EE, [1307] = 0x6762, [1308] = 0x52FF,
+  [1309] = 0x9905, [1310] = 0x5C24, [1311] = 0x623B, [1312] = 0x7C7E,
+  [1313] = 0x8CB0, [1314] = 0x554F, [1315] = 0x60B6, [1316] = 0x7D0B,
+  [1317] = 0x9580, [1318] = 0x5301, [1319] = 0x4E5F, [1320] = 0x51B6,
+  [1321] = 0x591C, [1322] = 0x723A, [1323] = 0x8036, [1324] = 0x91CE,
+  [1325] = 0x5F25, [1326] = 0x77E2, [1327] = 0x5384, [1328] = 0x5F79,
+  [1329] = 0x7D04, [1330] = 0x85AC, [1331] = 0x8A33, [1332] = 0x8E8D,
+  [1333] = 0x9756, [1334] = 0x67F3, [1335] = 0x85AE, [1336] = 0x9453,
+  [1337] = 0x6109, [1338] = 0x6108, [1339] = 0x6CB9, [1340] = 0x7652,
+  [1344] = 0x8AED, [1345] = 0x8F38, [1346] = 0x552F, [1347] = 0x4F51,
+  [1348] = 0x512A, [1349] = 0x52C7, [1350] = 0x53CB, [1351] = 0x5BA5,
+  [1352] = 0x5E7D, [1353] = 0x60A0, [1354] = 0x6182, [1355] = 0x63D6,
+  [1356] = 0x6709, [1357] = 0x67DA, [1358] = 0x6E67, [1359] = 0x6D8C,
+  [1360] = 0x7336, [1361] = 0x7337, [1362] = 0x7531, [1363] = 0x7950,
+  [1364] = 0x88D5, [1365] = 0x8A98, [1366] = 0x904A, [1367] = 0x9091,
+  [1368] = 0x90F5, [1369] = 0x96C4, [1370] = 0x878D, [1371] = 0x5915,
+  [1372] = 0x4E88, [1373] = 0x4F59, [1374] = 0x4E0E, [1375] = 0x8A89,
+  [1376] = 0x8F3F, [1377] = 0x9810, [1378] = 0x50AD, [1379] = 0x5E7C,
+  [1380] = 0x5996, [1381] = 0x5BB9, [1382] = 0x5EB8, [1383] = 0x63DA,
+  [1384] = 0x63FA, [1385] = 0x64C1, [1386] = 0x66DC, [1387] = 0x694A,
+  [1388] = 0x69D8, [1389] = 0x6D0B, [1390] = 0x6EB6, [1391] = 0x7194,
+  [1392] = 0x7528, [1393] = 0x7AAF, [1394] = 0x7F8A, [1395] = 0x8000,
+  [1396] = 0x8449, [1397] = 0x84C9, [1398] = 0x8981, [1399] = 0x8B21,
+  [1400] = 0x8E0A, [1401] = 0x9065, [1402] = 0x967D, [1403] = 0x990A,
+  [1404] = 0x617E, [1405] = 0x6291, [1406] = 0x6B32, [1408] = 0x6C83,
+  [1409] = 0x6D74, [1410] = 0x7FCC, [1411] = 0x7FFC, [1412] = 0x6DC0,
+  [1413] = 0x7F85, [1414] = 0x87BA, [1415] = 0x88F8, [1416] = 0x6765,
+  [1417] = 0x83B1, [1418] = 0x983C, [1419] = 0x96F7, [1420] = 0x6D1B,
+  [1421] = 0x7D61, [1422] = 0x843D, [1423] = 0x916A, [1424] = 0x4E71,
+  [1425] = 0x5375, [1426] = 0x5D50, [1427] = 0x6B04, [1428] = 0x6FEB,
+  [1429] = 0x85CD, [1430] = 0x862D, [1431] = 0x89A7, [1432] = 0x5229,
+  [1433] = 0x540F, [1434] = 0x5C65, [1435] = 0x674E, [1436] = 0x68A8,
+  [1437] = 0x7406, [1438] = 0x7483, [1439] = 0x75E2, [1440] = 0x88CF,
+  [1441] = 0x88E1, [1442] = 0x91CC, [1443] = 0x96E2, [1444] = 0x9678,
+  [1445] = 0x5F8B, [1446] = 0x7387, [1447] = 0x7ACB, [1448] = 0x844E,
+  [1449] = 0x63A0, [1450] = 0x7565, [1451] = 0x5289, [1452] = 0x6D41,
+  [1453] = 0x6E9C, [1454] = 0x7409, [1455] = 0x7559, [1456] = 0x786B,
+  [1457] = 0x7C92, [1458] = 0x9686, [1459] = 0x7ADC, [1460] = 0x9F8D,
+  [1461] = 0x4FB6, [1462] = 0x616E, [1463] = 0x65C5, [1464] = 0x865C,
+  [1465] = 0x4E86, [1466] = 0x4EAE, [1467] = 0x50DA, [1468] = 0x4E21,
+  [1469] = 0x51CC, [1470] = 0x5BEE, [1471] = 0x6599, [1472] = 0x6881,
+  [1473] = 0x6DBC, [1474] = 0x731F, [1475] = 0x7642, [1476] = 0x77AD,
+  [1477] = 0x7A1C, [1478] = 0x7CE7, [1479] = 0x826F, [1480] = 0x8AD2,
+  [1481] = 0x907C, [1482] = 0x91CF, [1483] = 0x9675, [1484] = 0x9818,
+  [1485] = 0x529B, [1486] = 0x7DD1, [1487] = 0x502B, [1488] = 0x5398,
+  [1489] = 0x6797, [1490] = 0x6DCB, [1491] = 0x71D0, [1492] = 0x7433,
+  [1493] = 0x81E8, [1494] = 0x8F2A, [1495] = 0x96A3, [1496] = 0x9C57,
+  [1497] = 0x9E9F, [1498] = 0x7460, [1499] = 0x5841, [1500] = 0x6D99,
+  [1501] = 0x7D2F, [1502] = 0x985E, [1503] = 0x4EE4, [1504] = 0x4F36,
+  [1505] = 0x4F8B, [1506] = 0x51B7, [1507] = 0x52B1, [1508] = 0x5DBA,
+  [1509] = 0x601C, [1510] = 0x73B2, [1511] = 0x793C, [1512] = 0x82D3,
+  [1513] = 0x9234, [1514] = 0x96B7, [1515] = 0x96F6, [1516] = 0x970A,
+  [1517] = 0x9E97, [1518] = 0x9F62, [1519] = 0x66A6, [1520] = 0x6B74,
+  [1521] = 0x5217, [1522] = 0x52A3, [1523] = 0x70C8, [1524] = 0x88C2,
+  [1525] = 0x5EC9, [1526] = 0x604B, [1527] = 0x6190, [1528] = 0x6F23,
+  [1529] = 0x7149, [1530] = 0x7C3E, [1531] = 0x7DF4, [1532] = 0x806F,
+  [1536] = 0x84EE, [1537] = 0x9023, [1538] = 0x932C, [1539] = 0x5442,
+  [1540] = 0x9B6F, [1541] = 0x6AD3, [1542] = 0x7089, [1543] = 0x8CC2,
+  [1544] = 0x8DEF, [1545] = 0x9732, [1546] = 0x52B4, [1547] = 0x5A41,
+  [1548] = 0x5ECA, [1549] = 0x5F04, [1550] = 0x6717, [1551] = 0x697C,
+  [1552] = 0x6994, [1553] = 0x6D6A, [1554] = 0x6F0F, [1555] = 0x7262,
+  [1556] = 0x72FC, [1557] = 0x7BED, [1558] = 0x8001, [1559] = 0x807E,
+  [1560] = 0x874B, [1561] = 0x90CE, [1562] = 0x516D, [1563] = 0x9E93,
+  [1564] = 0x7984, [1565] = 0x808B, [1566] = 0x9332, [1567] = 0x8AD6,
+  [1568] = 0x502D, [1569] = 0x548C, [1570] = 0x8A71, [1571] = 0x6B6A,
+  [1572] = 0x8CC4, [1573] = 0x8107, [1574] = 0x60D1, [1575] = 0x67A0,
+  [1576] = 0x9DF2, [1577] = 0x4E99, [1578] = 0x4E98, [1579] = 0x9C10,
+  [1580] = 0x8A6B, [1581] = 0x85C1, [1582] = 0x8568, [1583] = 0x6900,
+  [1584] = 0x6E7E, [1585] = 0x7897, [1586] = 0x8155, [1631] = 0x5F0C,
+  [1632] = 0x4E10, [1633] = 0x4E15, [1634] = 0x4E2A, [1635] = 0x4E31,
+  [1636] = 0x4E36, [1637] = 0x4E3C, [1638] = 0x4E3F, [1639] = 0x4E42,
+  [1640] = 0x4E56, [1641] = 0x4E58, [1642] = 0x4E82, [1643] = 0x4E85,
+  [1644] = 0x8C6B, [1645] = 0x4E8A, [1646] = 0x8212, [1647] = 0x5F0D,
+  [1648] = 0x4E8E, [1649] = 0x4E9E, [1650] = 0x4E9F, [1651] = 0x4EA0,
+  [1652] = 0x4EA2, [1653] = 0x4EB0, [1654] = 0x4EB3, [1655] = 0x4EB6,
+  [1656] = 0x4ECE, [1657] = 0x4ECD, [1658] = 0x4EC4, [1659] = 0x4EC6,
+  [1660] = 0x4EC2, [1661] = 0x4ED7, [1662] = 0x4EDE, [1663] = 0x4EED,
+  [1664] = 0x4EDF, [1665] = 0x4EF7, [1666] = 0x4F09, [1667] = 0x4F5A,
+  [1668] = 0x4F30, [1669] = 0x4F5B, [1670] = 0x4F5D, [1671] = 0x4F57,
+  [1672] = 0x4F47, [1673] = 0x4F76, [1674] = 0x4F88, [1675] = 0x4F8F,
+  [1676] = 0x4F98, [1677] = 0x4F7B, [1678] = 0x4F69, [1679] = 0x4F70,
+  [1680] = 0x4F91, [1681] = 0x4F6F, [1682] = 0x4F86, [1683] = 0x4F96,
+  [1684] = 0x5118, [1685] = 0x4FD4, [1686] = 0x4FDF, [1687] = 0x4FCE,
+  [1688] = 0x4FD8, [1689] = 0x4FDB, [1690] = 0x4FD1, [1691] = 0x4FDA,
+  [1692] = 0x4FD0, [1693] = 0x4FE4, [1694] = 0x4FE5, [1695] = 0x501A,
+  [1696] = 0x5028, [1697] = 0x5014, [1698] = 0x502A, [1699] = 0x5025,
+  [1700] = 0x5005, [1701] = 0x4F1C, [1702] = 0x4FF6, [1703] = 0x5021,
+  [1704] = 0x5029, [1705] = 0x502C, [1706] = 0x4FFE, [1707] = 0x4FEF,
+  [1708] = 0x5011, [1709] = 0x5006, [1710] = 0x5043, [1711] = 0x5047,
+  [1712] = 0x6703, [1713] = 0x5055, [1714] = 0x5050, [1715] = 0x5048,
+  [1716] = 0x505A, [1717] = 0x5056, [1718] = 0x506C, [1719] = 0x5078,
+  [1720] = 0x5080, [1721] = 0x509A, [1722] = 0x5085, [1723] = 0x50B4,
+  [1724] = 0x50B2, [1728] = 0x50C9, [1729] = 0x50CA, [1730] = 0x50B3,
+  [1731] = 0x50C2, [1732] = 0x50D6, [1733] = 0x50DE, [1734] = 0x50E5,
+  [1735] = 0x50ED, [1736] = 0x50E3, [1737] = 0x50EE, [1738] = 0x50F9,
+  [1739] = 0x50F5, [1740] = 0x5109, [1741] = 0x5101, [1742] = 0x5102,
+  [1743] = 0x5116, [1744] = 0x5115, [1745] = 0x5114, [1746] = 0x511A,
+  [1747] = 0x5121, [1748] = 0x513A, [1749] = 0x5137, [1750] = 0x513C,
+  [1751] = 0x513B, [1752] = 0x513F, [1753] = 0x5140, [1754] = 0x5152,
+  [1755] = 0x514C, [1756] = 0x5154, [1757] = 0x5162, [1758] = 0x7AF8,
+  [1759] = 0x5169, [1760] = 0x516A, [1761] = 0x516E, [1762] = 0x5180,
+  [1763] = 0x5182, [1764] = 0x56D8, [1765] = 0x518C, [1766] = 0x5189,
+  [1767] = 0x518F, [1768] = 0x5191, [1769] = 0x5193, [1770] = 0x5195,
+  [1771] = 0x5196, [1772] = 0x51A4, [1773] = 0x51A6, [1774] = 0x51A2,
+  [1775] = 0x51A9, [1776] = 0x51AA, [1777] = 0x51AB, [1778] = 0x51B3,
+  [1779] = 0x51B1, [1780] = 0x51B2, [1781] = 0x51B0, [1782] = 0x51B5,
+  [1783] = 0x51BD, [1784] = 0x51C5, [1785] = 0x51C9, [1786] = 0x51DB,
+  [1787] = 0x51E0, [1788] = 0x8655, [1789] = 0x51E9, [1790] = 0x51ED,
+  [1792] = 0x51F0, [1793] = 0x51F5, [1794] = 0x51FE, [1795] = 0x5204,
+  [1796] = 0x520B, [1797] = 0x5214, [1798] = 0x520E, [1799] = 0x5227,
+  [1800] = 0x522A, [1801] = 0x522E, [1802] = 0x5233, [1803] = 0x5239,
+  [1804] = 0x524F, [1805] = 0x5244, [1806] = 0x524B, [1807] = 0x524C,
+  [1808] = 0x525E, [1809] = 0x5254, [1810] = 0x526A, [1811] = 0x5274,
+  [1812] = 0x5269, [1813] = 0x5273, [1814] = 0x527F, [1815] = 0x527D,
+  [1816] = 0x528D, [1817] = 0x5294, [1818] = 0x5292, [1819] = 0x5271,
+  [1820] = 0x5288, [1821] = 0x5291, [1822] = 0x8FA8, [1823] = 0x8FA7,
+  [1824] = 0x52AC, [1825] = 0x52AD, [1826] = 0x52BC, [1827] = 0x52B5,
+  [1828] = 0x52C1, [1829] = 0x52CD, [1830] = 0x52D7, [1831] = 0x52DE,
+  [1832] = 0x52E3, [1833] = 0x52E6, [1834] = 0x98ED, [1835] = 0x52E0,
+  [1836] = 0x52F3, [1837] = 0x52F5, [1838] = 0x52F8, [1839] = 0x52F9,
+  [1840] = 0x5306, [1841] = 0x5308, [1842] = 0x7538, [1843] = 0x530D,
+  [1844] = 0x5310, [1845] = 0x530F, [1846] = 0x5315, [1847] = 0x531A,
+  [1848] = 0x5323, [1849] = 0x532F, [1850] = 0x5331, [1851] = 0x5333,
+  [1852] = 0x5338, [1853] = 0x5340, [1854] = 0x5346, [1855] = 0x5345,
+  [1856] = 0x4E17, [1857] = 0x5349, [1858] = 0x534D, [1859] = 0x51D6,
+  [1860] = 0x535E, [1861] = 0x5369, [1862] = 0x536E, [1863] = 0x5918,
+  [1864] = 0x537B, [1865] = 0x5377, [1866] = 0x5382, [1867] = 0x5396,
+  [1868] = 0x53A0, [1869] = 0x53A6, [1870] = 0x53A5, [1871] = 0x53AE,
+  [1872] = 0x53B0, [1873] = 0x53B6, [1874] = 0x53C3, [1875] = 0x7C12,
+  [1876] = 0x96D9, [1877] = 0x53DF, [1878] = 0x66FC, [1879] = 0x71EE,
+  [1880] = 0x53EE, [1881] = 0x53E8, [1882] = 0x53ED, [1883] = 0x53FA,
+  [1884] = 0x5401, [1885] = 0x543D, [1886] = 0x5440, [1887] = 0x542C,
+  [1888] = 0x542D, [1889] = 0x543C, [1890] = 0x542E, [1891] = 0x5436,
+  [1892] = 0x5429, [1893] = 0x541D, [1894] = 0x544E, [1895] = 0x548F,
+  [1896] = 0x5475, [1897] = 0x548E, [1898] = 0x545F, [1899] = 0x5471,
+  [1900] = 0x5477, [1901] = 0x5470, [1902] = 0x5492, [1903] = 0x547B,
+  [1904] = 0x5480, [1905] = 0x5476, [1906] = 0x5484, [1907] = 0x5490,
+  [1908] = 0x5486, [1909] = 0x54C7, [1910] = 0x54A2, [1911] = 0x54B8,
+  [1912] = 0x54A5, [1913] = 0x54AC, [1914] = 0x54C4, [1915] = 0x54C8,
+  [1916] = 0x54A8, [1920] = 0x54AB, [1921] = 0x54C2, [1922] = 0x54A4,
+  [1923] = 0x54BE, [1924] = 0x54BC, [1925] = 0x54D8, [1926] = 0x54E5,
+  [1927] = 0x54E6, [1928] = 0x550F, [1929] = 0x5514, [1930] = 0x54FD,
+  [1931] = 0x54EE, [1932] = 0x54ED, [1933] = 0x54FA, [1934] = 0x54E2,
+  [1935] = 0x5539, [1936] = 0x5540, [1937] = 0x5563, [1938] = 0x554C,
+  [1939] = 0x552E, [1940] = 0x555C, [1941] = 0x5545, [1942] = 0x5556,
+  [1943] = 0x5557, [1944] = 0x5538, [1945] = 0x5533, [1946] = 0x555D,
+  [1947] = 0x5599, [1948] = 0x5580, [1949] = 0x54AF, [1950] = 0x558A,
+  [1951] = 0x559F, [1952] = 0x557B, [1953] = 0x557E, [1954] = 0x5598,
+  [1955] = 0x559E, [1956] = 0x55AE, [1957] = 0x557C, [1958] = 0x5583,
+  [1959] = 0x55A9, [1960] = 0x5587, [1961] = 0x55A8, [1962] = 0x55DA,
+  [1963] = 0x55C5, [1964] = 0x55DF, [1965] = 0x55C4, [1966] = 0x55DC,
+  [1967] = 0x55E4, [1968] = 0x55D4, [1969] = 0x5614, [1970] = 0x55F7,
+  [1971] = 0x5616, [1972] = 0x55FE, [1973] = 0x55FD, [1974] = 0x561B,
+  [1975] = 0x55F9, [1976] = 0x564E, [1977] = 0x5650, [1978] = 0x71DF,
+  [1979] = 0x5634, [1980] = 0x5636, [1981] = 0x5632, [1982] = 0x5638,
+  [1984] = 0x566B, [1985] = 0x5664, [1986] = 0x562F, [1987] = 0x566C,
+  [1988] = 0x566A, [1989] = 0x5686, [1990] = 0x5680, [1991] = 0x568A,
+  [1992] = 0x56A0, [1993] = 0x5694, [1994] = 0x568F, [1995] = 0x56A5,
+  [1996] = 0x56AE, [1997] = 0x56B6, [1998] = 0x56B4, [1999] = 0x56C2,
+  [2000] = 0x56BC, [2001] = 0x56C1, [2002] = 0x56C3, [2003] = 0x56C0,
+  [2004] = 0x56C8, [2005] = 0x56CE, [2006] = 0x56D1, [2007] = 0x56D3,
+  [2008] = 0x56D7, [2009] = 0x56EE, [2010] = 0x56F9, [2011] = 0x5700,
+  [2012] = 0x56FF, [2013] = 0x5704, [2014] = 0x5709, [2015] = 0x5708,
+  [2016] = 0x570B, [2017] = 0x570D, [2018] = 0x5713, [2019] = 0x5718,
+  [2020] = 0x5716, [2021] = 0x55C7, [2022] = 0x571C, [2023] = 0x5726,
+  [2024] = 0x5737, [2025] = 0x5738, [2026] = 0x574E, [2027] = 0x573B,
+  [2028] = 0x5740, [2029] = 0x574F, [2030] = 0x5769, [2031] = 0x57C0,
+  [2032] = 0x5788, [2033] = 0x5761, [2034] = 0x577F, [2035] = 0x5789,
+  [2036] = 0x5793, [2037] = 0x57A0, [2038] = 0x57B3, [2039] = 0x57A4,
+  [2040] = 0x57AA, [2041] = 0x57B0, [2042] = 0x57C3, [2043] = 0x57C6,
+  [2044] = 0x57D4, [2045] = 0x57D2, [2046] = 0x57D3, [2047] = 0x580A,
+  [2048] = 0x57D6, [2049] = 0x57E3, [2050] = 0x580B, [2051] = 0x5819,
+  [2052] = 0x581D, [2053] = 0x5872, [2054] = 0x5821, [2055] = 0x5862,
+  [2056] = 0x584B, [2057] = 0x5870, [2058] = 0x6BC0, [2059] = 0x5852,
+  [2060] = 0x583D, [2061] = 0x5879, [2062] = 0x5885, [2063] = 0x58B9,
+  [2064] = 0x589F, [2065] = 0x58AB, [2066] = 0x58BA, [2067] = 0x58DE,
+  [2068] = 0x58BB, [2069] = 0x58B8, [2070] = 0x58AE, [2071] = 0x58C5,
+  [2072] = 0x58D3, [2073] = 0x58D1, [2074] = 0x58D7, [2075] = 0x58D9,
+  [2076] = 0x58D8, [2077] = 0x58E5, [2078] = 0x58DC, [2079] = 0x58E4,
+  [2080] = 0x58DF, [2081] = 0x58EF, [2082] = 0x58FA, [2083] = 0x58F9,
+  [2084] = 0x58FB, [2085] = 0x58FC, [2086] = 0x58FD, [2087] = 0x5902,
+  [2088] = 0x590A, [2089] = 0x5910, [2090] = 0x591B, [2091] = 0x68A6,
+  [2092] = 0x5925, [2093] = 0x592C, [2094] = 0x592D, [2095] = 0x5932,
+  [2096] = 0x5938, [2097] = 0x593E, [2098] = 0x7AD2, [2099] = 0x5955,
+  [2100] = 0x5950, [2101] = 0x594E, [2102] = 0x595A, [2103] = 0x5958,
+  [2104] = 0x5962, [2105] = 0x5960, [2106] = 0x5967, [2107] = 0x596C,
+  [2108] = 0x5969, [2112] = 0x5978, [2113] = 0x5981, [2114] = 0x599D,
+  [2115] = 0x4F5E, [2116] = 0x4FAB, [2117] = 0x59A3, [2118] = 0x59B2,
+  [2119] = 0x59C6, [2120] = 0x59E8, [2121] = 0x59DC, [2122] = 0x598D,
+  [2123] = 0x59D9, [2124] = 0x59DA, [2125] = 0x5A25, [2126] = 0x5A1F,
+  [2127] = 0x5A11, [2128] = 0x5A1C, [2129] = 0x5A09, [2130] = 0x5A1A,
+  [2131] = 0x5A40, [2132] = 0x5A6C, [2133] = 0x5A49, [2134] = 0x5A35,
+  [2135] = 0x5A36, [2136] = 0x5A62, [2137] = 0x5A6A, [2138] = 0x5A9A,
+  [2139] = 0x5ABC, [2140] = 0x5ABE, [2141] = 0x5ACB, [2142] = 0x5AC2,
+  [2143] = 0x5ABD, [2144] = 0x5AE3, [2145] = 0x5AD7, [2146] = 0x5AE6,
+  [2147] = 0x5AE9, [2148] = 0x5AD6, [2149] = 0x5AFA, [2150] = 0x5AFB,
+  [2151] = 0x5B0C, [2152] = 0x5B0B, [2153] = 0x5B16, [2154] = 0x5B32,
+  [2155] = 0x5AD0, [2156] = 0x5B2A, [2157] = 0x5B36, [2158] = 0x5B3E,
+  [2159] = 0x5B43, [2160] = 0x5B45, [2161] = 0x5B40, [2162] = 0x5B51,
+  [2163] = 0x5B55, [2164] = 0x5B5A, [2165] = 0x5B5B, [2166] = 0x5B65,
+  [2167] = 0x5B69, [2168] = 0x5B70, [2169] = 0x5B73, [2170] = 0x5B75,
+  [2171] = 0x5B78, [2172] = 0x6588, [2173] = 0x5B7A, [2174] = 0x5B80,
+  [2176] = 0x5B83, [2177] = 0x5BA6, [2178] = 0x5BB8, [2179] = 0x5BC3,
+  [2180] = 0x5BC7, [2181] = 0x5BC9, [2182] = 0x5BD4, [2183] = 0x5BD0,
+  [2184] = 0x5BE4, [2185] = 0x5BE6, [2186] = 0x5BE2, [2187] = 0x5BDE,
+  [2188] = 0x5BE5, [2189] = 0x5BEB, [2190] = 0x5BF0, [2191] = 0x5BF6,
+  [2192] = 0x5BF3, [2193] = 0x5C05, [2194] = 0x5C07, [2195] = 0x5C08,
+  [2196] = 0x5C0D, [2197] = 0x5C13, [2198] = 0x5C20, [2199] = 0x5C22,
+  [2200] = 0x5C28, [2201] = 0x5C38, [2202] = 0x5C39, [2203] = 0x5C41,
+  [2204] = 0x5C46, [2205] = 0x5C4E, [2206] = 0x5C53, [2207] = 0x5C50,
+  [2208] = 0x5C4F, [2209] = 0x5B71, [2210] = 0x5C6C, [2211] = 0x5C6E,
+  [2212] = 0x4E62, [2213] = 0x5C76, [2214] = 0x5C79, [2215] = 0x5C8C,
+  [2216] = 0x5C91, [2217] = 0x5C94, [2218] = 0x599B, [2219] = 0x5CAB,
+  [2220] = 0x5CBB, [2221] = 0x5CB6, [2222] = 0x5CBC, [2223] = 0x5CB7,
+  [2224] = 0x5CC5, [2225] = 0x5CBE, [2226] = 0x5CC7, [2227] = 0x5CD9,
+  [2228] = 0x5CE9, [2229] = 0x5CFD, [2230] = 0x5CFA, [2231] = 0x5CED,
+  [2232] = 0x5D8C, [2233] = 0x5CEA, [2234] = 0x5D0B, [2235] = 0x5D15,
+  [2236] = 0x5D17, [2237] = 0x5D5C, [2238] = 0x5D1F, [2239] = 0x5D1B,
+  [2240] = 0x5D11, [2241] = 0x5D14, [2242] = 0x5D22, [2243] = 0x5D1A,
+  [2244] = 0x5D19, [2245] = 0x5D18, [2246] = 0x5D4C, [2247] = 0x5D52,
+  [2248] = 0x5D4E, [2249] = 0x5D4B, [2250] = 0x5D6C, [2251] = 0x5D73,
+  [2252] = 0x5D76, [2253] = 0x5D87, [2254] = 0x5D84, [2255] = 0x5D82,
+  [2256] = 0x5DA2, [2257] = 0x5D9D, [2258] = 0x5DAC, [2259] = 0x5DAE,
+  [2260] = 0x5DBD, [2261] = 0x5D90, [2262] = 0x5DB7, [2263] = 0x5DBC,
+  [2264] = 0x5DC9, [2265] = 0x5DCD, [2266] = 0x5DD3, [2267] = 0x5DD2,
+  [2268] = 0x5DD6, [2269] = 0x5DDB, [2270] = 0x5DEB, [2271] = 0x5DF2,
+  [2272] = 0x5DF5, [2273] = 0x5E0B, [2274] = 0x5E1A, [2275] = 0x5E19,
+  [2276] = 0x5E11, [2277] = 0x5E1B, [2278] = 0x5E36, [2279] = 0x5E37,
+  [2280] = 0x5E44, [2281] = 0x5E43, [2282] = 0x5E40, [2283] = 0x5E4E,
+  [2284] = 0x5E57, [2285] = 0x5E54, [2286] = 0x5E5F, [2287] = 0x5E62,
+  [2288] = 0x5E64, [2289] = 0x5E47, [2290] = 0x5E75, [2291] = 0x5E76,
+  [2292] = 0x5E7A, [2293] = 0x9EBC, [2294] = 0x5E7F, [2295] = 0x5EA0,
+  [2296] = 0x5EC1, [2297] = 0x5EC2, [2298] = 0x5EC8, [2299] = 0x5ED0,
+  [2300] = 0x5ECF, [2304] = 0x5ED6, [2305] = 0x5EE3, [2306] = 0x5EDD,
+  [2307] = 0x5EDA, [2308] = 0x5EDB, [2309] = 0x5EE2, [2310] = 0x5EE1,
+  [2311] = 0x5EE8, [2312] = 0x5EE9, [2313] = 0x5EEC, [2314] = 0x5EF1,
+  [2315] = 0x5EF3, [2316] = 0x5EF0, [2317] = 0x5EF4, [2318] = 0x5EF8,
+  [2319] = 0x5EFE, [2320] = 0x5F03, [2321] = 0x5F09, [2322] = 0x5F5D,
+  [2323] = 0x5F5C, [2324] = 0x5F0B, [2325] = 0x5F11, [2326] = 0x5F16,
+  [2327] = 0x5F29, [2328] = 0x5F2D, [2329] = 0x5F38, [2330] = 0x5F41,
+  [2331] = 0x5F48, [2332] = 0x5F4C, [2333] = 0x5F4E, [2334] = 0x5F2F,
+  [2335] = 0x5F51, [2336] = 0x5F56, [2337] = 0x5F57, [2338] = 0x5F59,
+  [2339] = 0x5F61, [2340] = 0x5F6D, [2341] = 0x5F73, [2342] = 0x5F77,
+  [2343] = 0x5F83, [2344] = 0x5F82, [2345] = 0x5F7F, [2346] = 0x5F8A,
+  [2347] = 0x5F88, [2348] = 0x5F91, [2349] = 0x5F87, [2350] = 0x5F9E,
+  [2351] = 0x5F99, [2352] = 0x5F98, [2353] = 0x5FA0, [2354] = 0x5FA8,
+  [2355] = 0x5FAD, [2356] = 0x5FBC, [2357] = 0x5FD6, [2358] = 0x5FFB,
+  [2359] = 0x5FE4, [2360] = 0x5FF8, [2361] = 0x5FF1, [2362] = 0x5FDD,
+  [2363] = 0x60B3, [2364] = 0x5FFF, [2365] = 0x6021, [2366] = 0x6060,
+  [2368] = 0x6019, [2369] = 0x6010, [2370] = 0x6029, [2371] = 0x600E,
+  [2372] = 0x6031, [2373] = 0x601B, [2374] = 0x6015, [2375] = 0x602B,
+  [2376] = 0x6026, [2377] = 0x600F, [2378] = 0x603A, [2379] = 0x605A,
+  [2380] = 0x6041, [2381] = 0x606A, [2382] = 0x6077, [2383] = 0x605F,
+  [2384] = 0x604A, [2385] = 0x6046, [2386] = 0x604D, [2387] = 0x6063,
+  [2388] = 0x6043, [2389] = 0x6064, [2390] = 0x6042, [2391] = 0x606C,
+  [2392] = 0x606B, [2393] = 0x6059, [2394] = 0x6081, [2395] = 0x608D,
+  [2396] = 0x60E7, [2397] = 0x6083, [2398] = 0x609A, [2399] = 0x6084,
+  [2400] = 0x609B, [2401] = 0x6096, [2402] = 0x6097, [2403] = 0x6092,
+  [2404] = 0x60A7, [2405] = 0x608B, [2406] = 0x60E1, [2407] = 0x60B8,
+  [2408] = 0x60E0, [2409] = 0x60D3, [2410] = 0x60B4, [2411] = 0x5FF0,
+  [2412] = 0x60BD, [2413] = 0x60C6, [2414] = 0x60B5, [2415] = 0x60D8,
+  [2416] = 0x614D, [2417] = 0x6115, [2418] = 0x6106, [2419] = 0x60F6,
+  [2420] = 0x60F7, [2421] = 0x6100, [2422] = 0x60F4, [2423] = 0x60FA,
+  [2424] = 0x6103, [2425] = 0x6121, [2426] = 0x60FB, [2427] = 0x60F1,
+  [2428] = 0x610D, [2429] = 0x610E, [2430] = 0x6147, [2431] = 0x613E,
+  [2432] = 0x6128, [2433] = 0x6127, [2434] = 0x614A, [2435] = 0x613F,
+  [2436] = 0x613C, [2437] = 0x612C, [2438] = 0x6134, [2439] = 0x613D,
+  [2440] = 0x6142, [2441] = 0x6144, [2442] = 0x6173, [2443] = 0x6177,
+  [2444] = 0x6158, [2445] = 0x6159, [2446] = 0x615A, [2447] = 0x616B,
+  [2448] = 0x6174, [2449] = 0x616F, [2450] = 0x6165, [2451] = 0x6171,
+  [2452] = 0x615F, [2453] = 0x615D, [2454] = 0x6153, [2455] = 0x6175,
+  [2456] = 0x6199, [2457] = 0x6196, [2458] = 0x6187, [2459] = 0x61AC,
+  [2460] = 0x6194, [2461] = 0x619A, [2462] = 0x618A, [2463] = 0x6191,
+  [2464] = 0x61AB, [2465] = 0x61AE, [2466] = 0x61CC, [2467] = 0x61CA,
+  [2468] = 0x61C9, [2469] = 0x61F7, [2470] = 0x61C8, [2471] = 0x61C3,
+  [2472] = 0x61C6, [2473] = 0x61BA, [2474] = 0x61CB, [2475] = 0x7F79,
+  [2476] = 0x61CD, [2477] = 0x61E6, [2478] = 0x61E3, [2479] = 0x61F6,
+  [2480] = 0x61FA, [2481] = 0x61F4, [2482] = 0x61FF, [2483] = 0x61FD,
+  [2484] = 0x61FC, [2485] = 0x61FE, [2486] = 0x6200, [2487] = 0x6208,
+  [2488] = 0x6209, [2489] = 0x620D, [2490] = 0x620C, [2491] = 0x6214,
+  [2492] = 0x621B, [2496] = 0x621E, [2497] = 0x6221, [2498] = 0x622A,
+  [2499] = 0x622E, [2500] = 0x6230, [2501] = 0x6232, [2502] = 0x6233,
+  [2503] = 0x6241, [2504] = 0x624E, [2505] = 0x625E, [2506] = 0x6263,
+  [2507] = 0x625B, [2508] = 0x6260, [2509] = 0x6268, [2510] = 0x627C,
+  [2511] = 0x6282, [2512] = 0x6289, [2513] = 0x627E, [2514] = 0x6292,
+  [2515] = 0x6293, [2516] = 0x6296, [2517] = 0x62D4, [2518] = 0x6283,
+  [2519] = 0x6294, [2520] = 0x62D7, [2521] = 0x62D1, [2522] = 0x62BB,
+  [2523] = 0x62CF, [2524] = 0x62FF, [2525] = 0x62C6, [2526] = 0x64D4,
+  [2527] = 0x62C8, [2528] = 0x62DC, [2529] = 0x62CC, [2530] = 0x62CA,
+  [2531] = 0x62C2, [2532] = 0x62C7, [2533] = 0x629B, [2534] = 0x62C9,
+  [2535] = 0x630C, [2536] = 0x62EE, [2537] = 0x62F1, [2538] = 0x6327,
+  [2539] = 0x6302, [2540] = 0x6308, [2541] = 0x62EF, [2542] = 0x62F5,
+  [2543] = 0x6350, [2544] = 0x633E, [2545] = 0x634D, [2546] = 0x641C,
+  [2547] = 0x634F, [2548] = 0x6396, [2549] = 0x638E, [2550] = 0x6380,
+  [2551] = 0x63AB, [2552] = 0x6376, [2553] = 0x63A3, [2554] = 0x638F,
+  [2555] = 0x6389, [2556] = 0x639F, [2557] = 0x63B5, [2558] = 0x636B,
+  [2560] = 0x6369, [2561] = 0x63BE, [2562] = 0x63E9, [2563] = 0x63C0,
+  [2564] = 0x63C6, [2565] = 0x63E3, [2566] = 0x63C9, [2567] = 0x63D2,
+  [2568] = 0x63F6, [2569] = 0x63C4, [2570] = 0x6416, [2571] = 0x6434,
+  [2572] = 0x6406, [2573] = 0x6413, [2574] = 0x6426, [2575] = 0x6436,
+  [2576] = 0x651D, [2577] = 0x6417, [2578] = 0x6428, [2579] = 0x640F,
+  [2580] = 0x6467, [2581] = 0x646F, [2582] = 0x6476, [2583] = 0x644E,
+  [2584] = 0x652A, [2585] = 0x6495, [2586] = 0x6493, [2587] = 0x64A5,
+  [2588] = 0x64A9, [2589] = 0x6488, [2590] = 0x64BC, [2591] = 0x64DA,
+  [2592] = 0x64D2, [2593] = 0x64C5, [2594] = 0x64C7, [2595] = 0x64BB,
+  [2596] = 0x64D8, [2597] = 0x64C2, [2598] = 0x64F1, [2599] = 0x64E7,
+  [2600] = 0x8209, [2601] = 0x64E0, [2602] = 0x64E1, [2603] = 0x62AC,
+  [2604] = 0x64E3, [2605] = 0x64EF, [2606] = 0x652C, [2607] = 0x64F6,
+  [2608] = 0x64F4, [2609] = 0x64F2, [2610] = 0x64FA, [2611] = 0x6500,
+  [2612] = 0x64FD, [2613] = 0x6518, [2614] = 0x651C, [2615] = 0x6505,
+  [2616] = 0x6524, [2617] = 0x6523, [2618] = 0x652B, [2619] = 0x6534,
+  [2620] = 0x6535, [2621] = 0x6537, [2622] = 0x6536, [2623] = 0x6538,
+  [2624] = 0x754B, [2625] = 0x6548, [2626] = 0x6556, [2627] = 0x6555,
+  [2628] = 0x654D, [2629] = 0x6558, [2630] = 0x655E, [2631] = 0x655D,
+  [2632] = 0x6572, [2633] = 0x6578, [2634] = 0x6582, [2635] = 0x6583,
+  [2636] = 0x8B8A, [2637] = 0x659B, [2638] = 0x659F, [2639] = 0x65AB,
+  [2640] = 0x65B7, [2641] = 0x65C3, [2642] = 0x65C6, [2643] = 0x65C1,
+  [2644] = 0x65C4, [2645] = 0x65CC, [2646] = 0x65D2, [2647] = 0x65DB,
+  [2648] = 0x65D9, [2649] = 0x65E0, [2650] = 0x65E1, [2651] = 0x65F1,
+  [2652] = 0x6772, [2653] = 0x660A, [2654] = 0x6603, [2655] = 0x65FB,
+  [2656] = 0x6773, [2657] = 0x6635, [2658] = 0x6636, [2659] = 0x6634,
+  [2660] = 0x661C, [2661] = 0x664F, [2662] = 0x6644, [2663] = 0x6649,
+  [2664] = 0x6641, [2665] = 0x665E, [2666] = 0x665D, [2667] = 0x6664,
+  [2668] = 0x6667, [2669] = 0x6668, [2670] = 0x665F, [2671] = 0x6662,
+  [2672] = 0x6670, [2673] = 0x6683, [2674] = 0x6688, [2675] = 0x668E,
+  [2676] = 0x6689, [2677] = 0x6684, [2678] = 0x6698, [2679] = 0x669D,
+  [2680] = 0x66C1, [2681] = 0x66B9, [2682] = 0x66C9, [2683] = 0x66BE,
+  [2684] = 0x66BC, [2688] = 0x66C4, [2689] = 0x66B8, [2690] = 0x66D6,
+  [2691] = 0x66DA, [2692] = 0x66E0, [2693] = 0x663F, [2694] = 0x66E6,
+  [2695] = 0x66E9, [2696] = 0x66F0, [2697] = 0x66F5, [2698] = 0x66F7,
+  [2699] = 0x670F, [2700] = 0x6716, [2701] = 0x671E, [2702] = 0x6726,
+  [2703] = 0x6727, [2704] = 0x9738, [2705] = 0x672E, [2706] = 0x673F,
+  [2707] = 0x6736, [2708] = 0x6741, [2709] = 0x6738, [2710] = 0x6737,
+  [2711] = 0x6746, [2712] = 0x675E, [2713] = 0x6760, [2714] = 0x6759,
+  [2715] = 0x6763, [2716] = 0x6764, [2717] = 0x6789, [2718] = 0x6770,
+  [2719] = 0x67A9, [2720] = 0x677C, [2721] = 0x676A, [2722] = 0x678C,
+  [2723] = 0x678B, [2724] = 0x67A6, [2725] = 0x67A1, [2726] = 0x6785,
+  [2727] = 0x67B7, [2728] = 0x67EF, [2729] = 0x67B4, [2730] = 0x67EC,
+  [2731] = 0x67B3, [2732] = 0x67E9, [2733] = 0x67B8, [2734] = 0x67E4,
+  [2735] = 0x67DE, [2736] = 0x67DD, [2737] = 0x67E2, [2738] = 0x67EE,
+  [2739] = 0x67B9, [2740] = 0x67CE, [2741] = 0x67C6, [2742] = 0x67E7,
+  [2743] = 0x6A9C, [2744] = 0x681E, [2745] = 0x6846, [2746] = 0x6829,
+  [2747] = 0x6840, [2748] = 0x684D, [2749] = 0x6832, [2750] = 0x684E,
+  [2752] = 0x68B3, [2753] = 0x682B, [2754] = 0x6859, [2755] = 0x6863,
+  [2756] = 0x6877, [2757] = 0x687F, [2758] = 0x689F, [2759] = 0x688F,
+  [2760] = 0x68AD, [2761] = 0x6894, [2762] = 0x689D, [2763] = 0x689B,
+  [2764] = 0x6883, [2765] = 0x6AAE, [2766] = 0x68B9, [2767] = 0x6874,
+  [2768] = 0x68B5, [2769] = 0x68A0, [2770] = 0x68BA, [2771] = 0x690F,
+  [2772] = 0x688D, [2773] = 0x687E, [2774] = 0x6901, [2775] = 0x68CA,
+  [2776] = 0x6908, [2777] = 0x68D8, [2778] = 0x6922, [2779] = 0x6926,
+  [2780] = 0x68E1, [2781] = 0x690C, [2782] = 0x68CD, [2783] = 0x68D4,
+  [2784] = 0x68E7, [2785] = 0x68D5, [2786] = 0x6936, [2787] = 0x6912,
+  [2788] = 0x6904, [2789] = 0x68D7, [2790] = 0x68E3, [2791] = 0x6925,
+  [2792] = 0x68F9, [2793] = 0x68E0, [2794] = 0x68EF, [2795] = 0x6928,
+  [2796] = 0x692A, [2797] = 0x691A, [2798] = 0x6923, [2799] = 0x6921,
+  [2800] = 0x68C6, [2801] = 0x6979, [2802] = 0x6977, [2803] = 0x695C,
+  [2804] = 0x6978, [2805] = 0x696B, [2806] = 0x6954, [2807] = 0x697E,
+  [2808] = 0x696E, [2809] = 0x6939, [2810] = 0x6974, [2811] = 0x693D,
+  [2812] = 0x6959, [2813] = 0x6930, [2814] = 0x6961, [2815] = 0x695E,
+  [2816] = 0x695D, [2817] = 0x6981, [2818] = 0x696A, [2819] = 0x69B2,
+  [2820] = 0x69AE, [2821] = 0x69D0, [2822] = 0x69BF, [2823] = 0x69C1,
+  [2824] = 0x69D3, [2825] = 0x69BE, [2826] = 0x69CE, [2827] = 0x5BE8,
+  [2828] = 0x69CA, [2829] = 0x69DD, [2830] = 0x69BB, [2831] = 0x69C3,
+  [2832] = 0x69A7, [2833] = 0x6A2E, [2834] = 0x6991, [2835] = 0x69A0,
+  [2836] = 0x699C, [2837] = 0x6995, [2838] = 0x69B4, [2839] = 0x69DE,
+  [2840] = 0x69E8, [2841] = 0x6A02, [2842] = 0x6A1B, [2843] = 0x69FF,
+  [2844] = 0x6B0A, [2845] = 0x69F9, [2846] = 0x69F2, [2847] = 0x69E7,
+  [2848] = 0x6A05, [2849] = 0x69B1, [2850] = 0x6A1E, [2851] = 0x69ED,
+  [2852] = 0x6A14, [2853] = 0x69EB, [2854] = 0x6A0A, [2855] = 0x6A12,
+  [2856] = 0x6AC1, [2857] = 0x6A23, [2858] = 0x6A13, [2859] = 0x6A44,
+  [2860] = 0x6A0C, [2861] = 0x6A72, [2862] = 0x6A36, [2863] = 0x6A78,
+  [2864] = 0x6A47, [2865] = 0x6A62, [2866] = 0x6A59, [2867] = 0x6A66,
+  [2868] = 0x6A48, [2869] = 0x6A38, [2870] = 0x6A22, [2871] = 0x6A90,
+  [2872] = 0x6A8D, [2873] = 0x6AA0, [2874] = 0x6A84, [2875] = 0x6AA2,
+  [2876] = 0x6AA3, [2880] = 0x6A97, [2881] = 0x8617, [2882] = 0x6ABB,
+  [2883] = 0x6AC3, [2884] = 0x6AC2, [2885] = 0x6AB8, [2886] = 0x6AB3,
+  [2887] = 0x6AAC, [2888] = 0x6ADE, [2889] = 0x6AD1, [2890] = 0x6ADF,
+  [2891] = 0x6AAA, [2892] = 0x6ADA, [2893] = 0x6AEA, [2894] = 0x6AFB,
+  [2895] = 0x6B05, [2896] = 0x8616, [2897] = 0x6AFA, [2898] = 0x6B12,
+  [2899] = 0x6B16, [2900] = 0x9B31, [2901] = 0x6B1F, [2902] = 0x6B38,
+  [2903] = 0x6B37, [2904] = 0x76DC, [2905] = 0x6B39, [2906] = 0x98EE,
+  [2907] = 0x6B47, [2908] = 0x6B43, [2909] = 0x6B49, [2910] = 0x6B50,
+  [2911] = 0x6B59, [2912] = 0x6B54, [2913] = 0x6B5B, [2914] = 0x6B5F,
+  [2915] = 0x6B61, [2916] = 0x6B78, [2917] = 0x6B79, [2918] = 0x6B7F,
+  [2919] = 0x6B80, [2920] = 0x6B84, [2921] = 0x6B83, [2922] = 0x6B8D,
+  [2923] = 0x6B98, [2924] = 0x6B95, [2925] = 0x6B9E, [2926] = 0x6BA4,
+  [2927] = 0x6BAA, [2928] = 0x6BAB, [2929] = 0x6BAF, [2930] = 0x6BB2,
+  [2931] = 0x6BB1, [2932] = 0x6BB3, [2933] = 0x6BB7, [2934] = 0x6BBC,
+  [2935] = 0x6BC6, [2936] = 0x6BCB, [2937] = 0x6BD3, [2938] = 0x6BDF,
+  [2939] = 0x6BEC, [2940] = 0x6BEB, [2941] = 0x6BF3, [2942] = 0x6BEF,
+  [2944] = 0x9EBE, [2945] = 0x6C08, [2946] = 0x6C13, [2947] = 0x6C14,
+  [2948] = 0x6C1B, [2949] = 0x6C24, [2950] = 0x6C23, [2951] = 0x6C5E,
+  [2952] = 0x6C55, [2953] = 0x6C62, [2954] = 0x6C6A, [2955] = 0x6C82,
+  [2956] = 0x6C8D, [2957] = 0x6C9A, [2958] = 0x6C81, [2959] = 0x6C9B,
+  [2960] = 0x6C7E, [2961] = 0x6C68, [2962] = 0x6C73, [2963] = 0x6C92,
+  [2964] = 0x6C90, [2965] = 0x6CC4, [2966] = 0x6CF1, [2967] = 0x6CD3,
+  [2968] = 0x6CBD, [2969] = 0x6CD7, [2970] = 0x6CC5, [2971] = 0x6CDD,
+  [2972] = 0x6CAE, [2973] = 0x6CB1, [2974] = 0x6CBE, [2975] = 0x6CBA,
+  [2976] = 0x6CDB, [2977] = 0x6CEF, [2978] = 0x6CD9, [2979] = 0x6CEA,
+  [2980] = 0x6D1F, [2981] = 0x884D, [2982] = 0x6D36, [2983] = 0x6D2B,
+  [2984] = 0x6D3D, [2985] = 0x6D38, [2986] = 0x6D19, [2987] = 0x6D35,
+  [2988] = 0x6D33, [2989] = 0x6D12, [2990] = 0x6D0C, [2991] = 0x6D63,
+  [2992] = 0x6D93, [2993] = 0x6D64, [2994] = 0x6D5A, [2995] = 0x6D79,
+  [2996] = 0x6D59, [2997] = 0x6D8E, [2998] = 0x6D95, [2999] = 0x6FE4,
+  [3000] = 0x6D85, [3001] = 0x6DF9, [3002] = 0x6E15, [3003] = 0x6E0A,
+  [3004] = 0x6DB5, [3005] = 0x6DC7, [3006] = 0x6DE6, [3007] = 0x6DB8,
+  [3008] = 0x6DC6, [3009] = 0x6DEC, [3010] = 0x6DDE, [3011] = 0x6DCC,
+  [3012] = 0x6DE8, [3013] = 0x6DD2, [3014] = 0x6DC5, [3015] = 0x6DFA,
+  [3016] = 0x6DD9, [3017] = 0x6DE4, [3018] = 0x6DD5, [3019] = 0x6DEA,
+  [3020] = 0x6DEE, [3021] = 0x6E2D, [3022] = 0x6E6E, [3023] = 0x6E2E,
+  [3024] = 0x6E19, [3025] = 0x6E72, [3026] = 0x6E5F, [3027] = 0x6E3E,
+  [3028] = 0x6E23, [3029] = 0x6E6B, [3030] = 0x6E2B, [3031] = 0x6E76,
+  [3032] = 0x6E4D, [3033] = 0x6E1F, [3034] = 0x6E43, [3035] = 0x6E3A,
+  [3036] = 0x6E4E, [3037] = 0x6E24, [3038] = 0x6EFF, [3039] = 0x6E1D,
+  [3040] = 0x6E38, [3041] = 0x6E82, [3042] = 0x6EAA, [3043] = 0x6E98,
+  [3044] = 0x6EC9, [3045] = 0x6EB7, [3046] = 0x6ED3, [3047] = 0x6EBD,
+  [3048] = 0x6EAF, [3049] = 0x6EC4, [3050] = 0x6EB2, [3051] = 0x6ED4,
+  [3052] = 0x6ED5, [3053] = 0x6E8F, [3054] = 0x6EA5, [3055] = 0x6EC2,
+  [3056] = 0x6E9F, [3057] = 0x6F41, [3058] = 0x6F11, [3059] = 0x704C,
+  [3060] = 0x6EEC, [3061] = 0x6EF8, [3062] = 0x6EFE, [3063] = 0x6F3F,
+  [3064] = 0x6EF2, [3065] = 0x6F31, [3066] = 0x6EEF, [3067] = 0x6F32,
+  [3068] = 0x6ECC
+};
+
+
+/* The following table can be generated from the file
+	unix/mappings/eastasia/jis/shiftjis.txt
+   from the Unicode CD (also available on their FTP server) using
+   the command
+
+	egrep '^0x8[89][[:xdigit:]][[:xdigit:]]' \
+	  /mnt/cdrom/unix/mappings/eastasia/jis/shiftjis.txt | perl ~/sjis.pl
+
+   where sjis.pl contains:
+
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  $n = 0;
+  while (<>) {
+    local($sjis, $ucs, %rest) = split;
+    $sjis = hex($sjis) - 0xe040;
+    local($sidx) = int($sjis / 256) * 192 + ($sjis % 256);
+    printf "\n " if (($n % 4) == 0);
+    ++$n;
+    printf " [%4d] = %s,", $sidx, $ucs;
+  }
+  print "\n";
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+static const uint16_t cjk_block4[3069] =
+{
+
+  [   0] = 0x6F3E, [   1] = 0x6F13, [   2] = 0x6EF7, [   3] = 0x6F86,
+  [   4] = 0x6F7A, [   5] = 0x6F78, [   6] = 0x6F81, [   7] = 0x6F80,
+  [   8] = 0x6F6F, [   9] = 0x6F5B, [  10] = 0x6FF3, [  11] = 0x6F6D,
+  [  12] = 0x6F82, [  13] = 0x6F7C, [  14] = 0x6F58, [  15] = 0x6F8E,
+  [  16] = 0x6F91, [  17] = 0x6FC2, [  18] = 0x6F66, [  19] = 0x6FB3,
+  [  20] = 0x6FA3, [  21] = 0x6FA1, [  22] = 0x6FA4, [  23] = 0x6FB9,
+  [  24] = 0x6FC6, [  25] = 0x6FAA, [  26] = 0x6FDF, [  27] = 0x6FD5,
+  [  28] = 0x6FEC, [  29] = 0x6FD4, [  30] = 0x6FD8, [  31] = 0x6FF1,
+  [  32] = 0x6FEE, [  33] = 0x6FDB, [  34] = 0x7009, [  35] = 0x700B,
+  [  36] = 0x6FFA, [  37] = 0x7011, [  38] = 0x7001, [  39] = 0x700F,
+  [  40] = 0x6FFE, [  41] = 0x701B, [  42] = 0x701A, [  43] = 0x6F74,
+  [  44] = 0x701D, [  45] = 0x7018, [  46] = 0x701F, [  47] = 0x7030,
+  [  48] = 0x703E, [  49] = 0x7032, [  50] = 0x7051, [  51] = 0x7063,
+  [  52] = 0x7099, [  53] = 0x7092, [  54] = 0x70AF, [  55] = 0x70F1,
+  [  56] = 0x70AC, [  57] = 0x70B8, [  58] = 0x70B3, [  59] = 0x70AE,
+  [  60] = 0x70DF, [  61] = 0x70CB, [  62] = 0x70DD, [  64] = 0x70D9,
+  [  65] = 0x7109, [  66] = 0x70FD, [  67] = 0x711C, [  68] = 0x7119,
+  [  69] = 0x7165, [  70] = 0x7155, [  71] = 0x7188, [  72] = 0x7166,
+  [  73] = 0x7162, [  74] = 0x714C, [  75] = 0x7156, [  76] = 0x716C,
+  [  77] = 0x718F, [  78] = 0x71FB, [  79] = 0x7184, [  80] = 0x7195,
+  [  81] = 0x71A8, [  82] = 0x71AC, [  83] = 0x71D7, [  84] = 0x71B9,
+  [  85] = 0x71BE, [  86] = 0x71D2, [  87] = 0x71C9, [  88] = 0x71D4,
+  [  89] = 0x71CE, [  90] = 0x71E0, [  91] = 0x71EC, [  92] = 0x71E7,
+  [  93] = 0x71F5, [  94] = 0x71FC, [  95] = 0x71F9, [  96] = 0x71FF,
+  [  97] = 0x720D, [  98] = 0x7210, [  99] = 0x721B, [ 100] = 0x7228,
+  [ 101] = 0x722D, [ 102] = 0x722C, [ 103] = 0x7230, [ 104] = 0x7232,
+  [ 105] = 0x723B, [ 106] = 0x723C, [ 107] = 0x723F, [ 108] = 0x7240,
+  [ 109] = 0x7246, [ 110] = 0x724B, [ 111] = 0x7258, [ 112] = 0x7274,
+  [ 113] = 0x727E, [ 114] = 0x7282, [ 115] = 0x7281, [ 116] = 0x7287,
+  [ 117] = 0x7292, [ 118] = 0x7296, [ 119] = 0x72A2, [ 120] = 0x72A7,
+  [ 121] = 0x72B9, [ 122] = 0x72B2, [ 123] = 0x72C3, [ 124] = 0x72C6,
+  [ 125] = 0x72C4, [ 126] = 0x72CE, [ 127] = 0x72D2, [ 128] = 0x72E2,
+  [ 129] = 0x72E0, [ 130] = 0x72E1, [ 131] = 0x72F9, [ 132] = 0x72F7,
+  [ 133] = 0x500F, [ 134] = 0x7317, [ 135] = 0x730A, [ 136] = 0x731C,
+  [ 137] = 0x7316, [ 138] = 0x731D, [ 139] = 0x7334, [ 140] = 0x732F,
+  [ 141] = 0x7329, [ 142] = 0x7325, [ 143] = 0x733E, [ 144] = 0x734E,
+  [ 145] = 0x734F, [ 146] = 0x9ED8, [ 147] = 0x7357, [ 148] = 0x736A,
+  [ 149] = 0x7368, [ 150] = 0x7370, [ 151] = 0x7378, [ 152] = 0x7375,
+  [ 153] = 0x737B, [ 154] = 0x737A, [ 155] = 0x73C8, [ 156] = 0x73B3,
+  [ 157] = 0x73CE, [ 158] = 0x73BB, [ 159] = 0x73C0, [ 160] = 0x73E5,
+  [ 161] = 0x73EE, [ 162] = 0x73DE, [ 163] = 0x74A2, [ 164] = 0x7405,
+  [ 165] = 0x746F, [ 166] = 0x7425, [ 167] = 0x73F8, [ 168] = 0x7432,
+  [ 169] = 0x743A, [ 170] = 0x7455, [ 171] = 0x743F, [ 172] = 0x745F,
+  [ 173] = 0x7459, [ 174] = 0x7441, [ 175] = 0x745C, [ 176] = 0x7469,
+  [ 177] = 0x7470, [ 178] = 0x7463, [ 179] = 0x746A, [ 180] = 0x7476,
+  [ 181] = 0x747E, [ 182] = 0x748B, [ 183] = 0x749E, [ 184] = 0x74A7,
+  [ 185] = 0x74CA, [ 186] = 0x74CF, [ 187] = 0x74D4, [ 188] = 0x73F1,
+  [ 192] = 0x74E0, [ 193] = 0x74E3, [ 194] = 0x74E7, [ 195] = 0x74E9,
+  [ 196] = 0x74EE, [ 197] = 0x74F2, [ 198] = 0x74F0, [ 199] = 0x74F1,
+  [ 200] = 0x74F8, [ 201] = 0x74F7, [ 202] = 0x7504, [ 203] = 0x7503,
+  [ 204] = 0x7505, [ 205] = 0x750C, [ 206] = 0x750E, [ 207] = 0x750D,
+  [ 208] = 0x7515, [ 209] = 0x7513, [ 210] = 0x751E, [ 211] = 0x7526,
+  [ 212] = 0x752C, [ 213] = 0x753C, [ 214] = 0x7544, [ 215] = 0x754D,
+  [ 216] = 0x754A, [ 217] = 0x7549, [ 218] = 0x755B, [ 219] = 0x7546,
+  [ 220] = 0x755A, [ 221] = 0x7569, [ 222] = 0x7564, [ 223] = 0x7567,
+  [ 224] = 0x756B, [ 225] = 0x756D, [ 226] = 0x7578, [ 227] = 0x7576,
+  [ 228] = 0x7586, [ 229] = 0x7587, [ 230] = 0x7574, [ 231] = 0x758A,
+  [ 232] = 0x7589, [ 233] = 0x7582, [ 234] = 0x7594, [ 235] = 0x759A,
+  [ 236] = 0x759D, [ 237] = 0x75A5, [ 238] = 0x75A3, [ 239] = 0x75C2,
+  [ 240] = 0x75B3, [ 241] = 0x75C3, [ 242] = 0x75B5, [ 243] = 0x75BD,
+  [ 244] = 0x75B8, [ 245] = 0x75BC, [ 246] = 0x75B1, [ 247] = 0x75CD,
+  [ 248] = 0x75CA, [ 249] = 0x75D2, [ 250] = 0x75D9, [ 251] = 0x75E3,
+  [ 252] = 0x75DE, [ 253] = 0x75FE, [ 254] = 0x75FF, [ 256] = 0x75FC,
+  [ 257] = 0x7601, [ 258] = 0x75F0, [ 259] = 0x75FA, [ 260] = 0x75F2,
+  [ 261] = 0x75F3, [ 262] = 0x760B, [ 263] = 0x760D, [ 264] = 0x7609,
+  [ 265] = 0x761F, [ 266] = 0x7627, [ 267] = 0x7620, [ 268] = 0x7621,
+  [ 269] = 0x7622, [ 270] = 0x7624, [ 271] = 0x7634, [ 272] = 0x7630,
+  [ 273] = 0x763B, [ 274] = 0x7647, [ 275] = 0x7648, [ 276] = 0x7646,
+  [ 277] = 0x765C, [ 278] = 0x7658, [ 279] = 0x7661, [ 280] = 0x7662,
+  [ 281] = 0x7668, [ 282] = 0x7669, [ 283] = 0x766A, [ 284] = 0x7667,
+  [ 285] = 0x766C, [ 286] = 0x7670, [ 287] = 0x7672, [ 288] = 0x7676,
+  [ 289] = 0x7678, [ 290] = 0x767C, [ 291] = 0x7680, [ 292] = 0x7683,
+  [ 293] = 0x7688, [ 294] = 0x768B, [ 295] = 0x768E, [ 296] = 0x7696,
+  [ 297] = 0x7693, [ 298] = 0x7699, [ 299] = 0x769A, [ 300] = 0x76B0,
+  [ 301] = 0x76B4, [ 302] = 0x76B8, [ 303] = 0x76B9, [ 304] = 0x76BA,
+  [ 305] = 0x76C2, [ 306] = 0x76CD, [ 307] = 0x76D6, [ 308] = 0x76D2,
+  [ 309] = 0x76DE, [ 310] = 0x76E1, [ 311] = 0x76E5, [ 312] = 0x76E7,
+  [ 313] = 0x76EA, [ 314] = 0x862F, [ 315] = 0x76FB, [ 316] = 0x7708,
+  [ 317] = 0x7707, [ 318] = 0x7704, [ 319] = 0x7729, [ 320] = 0x7724,
+  [ 321] = 0x771E, [ 322] = 0x7725, [ 323] = 0x7726, [ 324] = 0x771B,
+  [ 325] = 0x7737, [ 326] = 0x7738, [ 327] = 0x7747, [ 328] = 0x775A,
+  [ 329] = 0x7768, [ 330] = 0x776B, [ 331] = 0x775B, [ 332] = 0x7765,
+  [ 333] = 0x777F, [ 334] = 0x777E, [ 335] = 0x7779, [ 336] = 0x778E,
+  [ 337] = 0x778B, [ 338] = 0x7791, [ 339] = 0x77A0, [ 340] = 0x779E,
+  [ 341] = 0x77B0, [ 342] = 0x77B6, [ 343] = 0x77B9, [ 344] = 0x77BF,
+  [ 345] = 0x77BC, [ 346] = 0x77BD, [ 347] = 0x77BB, [ 348] = 0x77C7,
+  [ 349] = 0x77CD, [ 350] = 0x77D7, [ 351] = 0x77DA, [ 352] = 0x77DC,
+  [ 353] = 0x77E3, [ 354] = 0x77EE, [ 355] = 0x77FC, [ 356] = 0x780C,
+  [ 357] = 0x7812, [ 358] = 0x7926, [ 359] = 0x7820, [ 360] = 0x792A,
+  [ 361] = 0x7845, [ 362] = 0x788E, [ 363] = 0x7874, [ 364] = 0x7886,
+  [ 365] = 0x787C, [ 366] = 0x789A, [ 367] = 0x788C, [ 368] = 0x78A3,
+  [ 369] = 0x78B5, [ 370] = 0x78AA, [ 371] = 0x78AF, [ 372] = 0x78D1,
+  [ 373] = 0x78C6, [ 374] = 0x78CB, [ 375] = 0x78D4, [ 376] = 0x78BE,
+  [ 377] = 0x78BC, [ 378] = 0x78C5, [ 379] = 0x78CA, [ 380] = 0x78EC,
+  [ 384] = 0x78E7, [ 385] = 0x78DA, [ 386] = 0x78FD, [ 387] = 0x78F4,
+  [ 388] = 0x7907, [ 389] = 0x7912, [ 390] = 0x7911, [ 391] = 0x7919,
+  [ 392] = 0x792C, [ 393] = 0x792B, [ 394] = 0x7940, [ 395] = 0x7960,
+  [ 396] = 0x7957, [ 397] = 0x795F, [ 398] = 0x795A, [ 399] = 0x7955,
+  [ 400] = 0x7953, [ 401] = 0x797A, [ 402] = 0x797F, [ 403] = 0x798A,
+  [ 404] = 0x799D, [ 405] = 0x79A7, [ 406] = 0x9F4B, [ 407] = 0x79AA,
+  [ 408] = 0x79AE, [ 409] = 0x79B3, [ 410] = 0x79B9, [ 411] = 0x79BA,
+  [ 412] = 0x79C9, [ 413] = 0x79D5, [ 414] = 0x79E7, [ 415] = 0x79EC,
+  [ 416] = 0x79E1, [ 417] = 0x79E3, [ 418] = 0x7A08, [ 419] = 0x7A0D,
+  [ 420] = 0x7A18, [ 421] = 0x7A19, [ 422] = 0x7A20, [ 423] = 0x7A1F,
+  [ 424] = 0x7980, [ 425] = 0x7A31, [ 426] = 0x7A3B, [ 427] = 0x7A3E,
+  [ 428] = 0x7A37, [ 429] = 0x7A43, [ 430] = 0x7A57, [ 431] = 0x7A49,
+  [ 432] = 0x7A61, [ 433] = 0x7A62, [ 434] = 0x7A69, [ 435] = 0x9F9D,
+  [ 436] = 0x7A70, [ 437] = 0x7A79, [ 438] = 0x7A7D, [ 439] = 0x7A88,
+  [ 440] = 0x7A97, [ 441] = 0x7A95, [ 442] = 0x7A98, [ 443] = 0x7A96,
+  [ 444] = 0x7AA9, [ 445] = 0x7AC8, [ 446] = 0x7AB0, [ 448] = 0x7AB6,
+  [ 449] = 0x7AC5, [ 450] = 0x7AC4, [ 451] = 0x7ABF, [ 452] = 0x9083,
+  [ 453] = 0x7AC7, [ 454] = 0x7ACA, [ 455] = 0x7ACD, [ 456] = 0x7ACF,
+  [ 457] = 0x7AD5, [ 458] = 0x7AD3, [ 459] = 0x7AD9, [ 460] = 0x7ADA,
+  [ 461] = 0x7ADD, [ 462] = 0x7AE1, [ 463] = 0x7AE2, [ 464] = 0x7AE6,
+  [ 465] = 0x7AED, [ 466] = 0x7AF0, [ 467] = 0x7B02, [ 468] = 0x7B0F,
+  [ 469] = 0x7B0A, [ 470] = 0x7B06, [ 471] = 0x7B33, [ 472] = 0x7B18,
+  [ 473] = 0x7B19, [ 474] = 0x7B1E, [ 475] = 0x7B35, [ 476] = 0x7B28,
+  [ 477] = 0x7B36, [ 478] = 0x7B50, [ 479] = 0x7B7A, [ 480] = 0x7B04,
+  [ 481] = 0x7B4D, [ 482] = 0x7B0B, [ 483] = 0x7B4C, [ 484] = 0x7B45,
+  [ 485] = 0x7B75, [ 486] = 0x7B65, [ 487] = 0x7B74, [ 488] = 0x7B67,
+  [ 489] = 0x7B70, [ 490] = 0x7B71, [ 491] = 0x7B6C, [ 492] = 0x7B6E,
+  [ 493] = 0x7B9D, [ 494] = 0x7B98, [ 495] = 0x7B9F, [ 496] = 0x7B8D,
+  [ 497] = 0x7B9C, [ 498] = 0x7B9A, [ 499] = 0x7B8B, [ 500] = 0x7B92,
+  [ 501] = 0x7B8F, [ 502] = 0x7B5D, [ 503] = 0x7B99, [ 504] = 0x7BCB,
+  [ 505] = 0x7BC1, [ 506] = 0x7BCC, [ 507] = 0x7BCF, [ 508] = 0x7BB4,
+  [ 509] = 0x7BC6, [ 510] = 0x7BDD, [ 511] = 0x7BE9, [ 512] = 0x7C11,
+  [ 513] = 0x7C14, [ 514] = 0x7BE6, [ 515] = 0x7BE5, [ 516] = 0x7C60,
+  [ 517] = 0x7C00, [ 518] = 0x7C07, [ 519] = 0x7C13, [ 520] = 0x7BF3,
+  [ 521] = 0x7BF7, [ 522] = 0x7C17, [ 523] = 0x7C0D, [ 524] = 0x7BF6,
+  [ 525] = 0x7C23, [ 526] = 0x7C27, [ 527] = 0x7C2A, [ 528] = 0x7C1F,
+  [ 529] = 0x7C37, [ 530] = 0x7C2B, [ 531] = 0x7C3D, [ 532] = 0x7C4C,
+  [ 533] = 0x7C43, [ 534] = 0x7C54, [ 535] = 0x7C4F, [ 536] = 0x7C40,
+  [ 537] = 0x7C50, [ 538] = 0x7C58, [ 539] = 0x7C5F, [ 540] = 0x7C64,
+  [ 541] = 0x7C56, [ 542] = 0x7C65, [ 543] = 0x7C6C, [ 544] = 0x7C75,
+  [ 545] = 0x7C83, [ 546] = 0x7C90, [ 547] = 0x7CA4, [ 548] = 0x7CAD,
+  [ 549] = 0x7CA2, [ 550] = 0x7CAB, [ 551] = 0x7CA1, [ 552] = 0x7CA8,
+  [ 553] = 0x7CB3, [ 554] = 0x7CB2, [ 555] = 0x7CB1, [ 556] = 0x7CAE,
+  [ 557] = 0x7CB9, [ 558] = 0x7CBD, [ 559] = 0x7CC0, [ 560] = 0x7CC5,
+  [ 561] = 0x7CC2, [ 562] = 0x7CD8, [ 563] = 0x7CD2, [ 564] = 0x7CDC,
+  [ 565] = 0x7CE2, [ 566] = 0x9B3B, [ 567] = 0x7CEF, [ 568] = 0x7CF2,
+  [ 569] = 0x7CF4, [ 570] = 0x7CF6, [ 571] = 0x7CFA, [ 572] = 0x7D06,
+  [ 576] = 0x7D02, [ 577] = 0x7D1C, [ 578] = 0x7D15, [ 579] = 0x7D0A,
+  [ 580] = 0x7D45, [ 581] = 0x7D4B, [ 582] = 0x7D2E, [ 583] = 0x7D32,
+  [ 584] = 0x7D3F, [ 585] = 0x7D35, [ 586] = 0x7D46, [ 587] = 0x7D73,
+  [ 588] = 0x7D56, [ 589] = 0x7D4E, [ 590] = 0x7D72, [ 591] = 0x7D68,
+  [ 592] = 0x7D6E, [ 593] = 0x7D4F, [ 594] = 0x7D63, [ 595] = 0x7D93,
+  [ 596] = 0x7D89, [ 597] = 0x7D5B, [ 598] = 0x7D8F, [ 599] = 0x7D7D,
+  [ 600] = 0x7D9B, [ 601] = 0x7DBA, [ 602] = 0x7DAE, [ 603] = 0x7DA3,
+  [ 604] = 0x7DB5, [ 605] = 0x7DC7, [ 606] = 0x7DBD, [ 607] = 0x7DAB,
+  [ 608] = 0x7E3D, [ 609] = 0x7DA2, [ 610] = 0x7DAF, [ 611] = 0x7DDC,
+  [ 612] = 0x7DB8, [ 613] = 0x7D9F, [ 614] = 0x7DB0, [ 615] = 0x7DD8,
+  [ 616] = 0x7DDD, [ 617] = 0x7DE4, [ 618] = 0x7DDE, [ 619] = 0x7DFB,
+  [ 620] = 0x7DF2, [ 621] = 0x7DE1, [ 622] = 0x7E05, [ 623] = 0x7E0A,
+  [ 624] = 0x7E23, [ 625] = 0x7E21, [ 626] = 0x7E12, [ 627] = 0x7E31,
+  [ 628] = 0x7E1F, [ 629] = 0x7E09, [ 630] = 0x7E0B, [ 631] = 0x7E22,
+  [ 632] = 0x7E46, [ 633] = 0x7E66, [ 634] = 0x7E3B, [ 635] = 0x7E35,
+  [ 636] = 0x7E39, [ 637] = 0x7E43, [ 638] = 0x7E37, [ 640] = 0x7E32,
+  [ 641] = 0x7E3A, [ 642] = 0x7E67, [ 643] = 0x7E5D, [ 644] = 0x7E56,
+  [ 645] = 0x7E5E, [ 646] = 0x7E59, [ 647] = 0x7E5A, [ 648] = 0x7E79,
+  [ 649] = 0x7E6A, [ 650] = 0x7E69, [ 651] = 0x7E7C, [ 652] = 0x7E7B,
+  [ 653] = 0x7E83, [ 654] = 0x7DD5, [ 655] = 0x7E7D, [ 656] = 0x8FAE,
+  [ 657] = 0x7E7F, [ 658] = 0x7E88, [ 659] = 0x7E89, [ 660] = 0x7E8C,
+  [ 661] = 0x7E92, [ 662] = 0x7E90, [ 663] = 0x7E93, [ 664] = 0x7E94,
+  [ 665] = 0x7E96, [ 666] = 0x7E8E, [ 667] = 0x7E9B, [ 668] = 0x7E9C,
+  [ 669] = 0x7F38, [ 670] = 0x7F3A, [ 671] = 0x7F45, [ 672] = 0x7F4C,
+  [ 673] = 0x7F4D, [ 674] = 0x7F4E, [ 675] = 0x7F50, [ 676] = 0x7F51,
+  [ 677] = 0x7F55, [ 678] = 0x7F54, [ 679] = 0x7F58, [ 680] = 0x7F5F,
+  [ 681] = 0x7F60, [ 682] = 0x7F68, [ 683] = 0x7F69, [ 684] = 0x7F67,
+  [ 685] = 0x7F78, [ 686] = 0x7F82, [ 687] = 0x7F86, [ 688] = 0x7F83,
+  [ 689] = 0x7F88, [ 690] = 0x7F87, [ 691] = 0x7F8C, [ 692] = 0x7F94,
+  [ 693] = 0x7F9E, [ 694] = 0x7F9D, [ 695] = 0x7F9A, [ 696] = 0x7FA3,
+  [ 697] = 0x7FAF, [ 698] = 0x7FB2, [ 699] = 0x7FB9, [ 700] = 0x7FAE,
+  [ 701] = 0x7FB6, [ 702] = 0x7FB8, [ 703] = 0x8B71, [ 704] = 0x7FC5,
+  [ 705] = 0x7FC6, [ 706] = 0x7FCA, [ 707] = 0x7FD5, [ 708] = 0x7FD4,
+  [ 709] = 0x7FE1, [ 710] = 0x7FE6, [ 711] = 0x7FE9, [ 712] = 0x7FF3,
+  [ 713] = 0x7FF9, [ 714] = 0x98DC, [ 715] = 0x8006, [ 716] = 0x8004,
+  [ 717] = 0x800B, [ 718] = 0x8012, [ 719] = 0x8018, [ 720] = 0x8019,
+  [ 721] = 0x801C, [ 722] = 0x8021, [ 723] = 0x8028, [ 724] = 0x803F,
+  [ 725] = 0x803B, [ 726] = 0x804A, [ 727] = 0x8046, [ 728] = 0x8052,
+  [ 729] = 0x8058, [ 730] = 0x805A, [ 731] = 0x805F, [ 732] = 0x8062,
+  [ 733] = 0x8068, [ 734] = 0x8073, [ 735] = 0x8072, [ 736] = 0x8070,
+  [ 737] = 0x8076, [ 738] = 0x8079, [ 739] = 0x807D, [ 740] = 0x807F,
+  [ 741] = 0x8084, [ 742] = 0x8086, [ 743] = 0x8085, [ 744] = 0x809B,
+  [ 745] = 0x8093, [ 746] = 0x809A, [ 747] = 0x80AD, [ 748] = 0x5190,
+  [ 749] = 0x80AC, [ 750] = 0x80DB, [ 751] = 0x80E5, [ 752] = 0x80D9,
+  [ 753] = 0x80DD, [ 754] = 0x80C4, [ 755] = 0x80DA, [ 756] = 0x80D6,
+  [ 757] = 0x8109, [ 758] = 0x80EF, [ 759] = 0x80F1, [ 760] = 0x811B,
+  [ 761] = 0x8129, [ 762] = 0x8123, [ 763] = 0x812F, [ 764] = 0x814B,
+  [ 768] = 0x968B, [ 769] = 0x8146, [ 770] = 0x813E, [ 771] = 0x8153,
+  [ 772] = 0x8151, [ 773] = 0x80FC, [ 774] = 0x8171, [ 775] = 0x816E,
+  [ 776] = 0x8165, [ 777] = 0x8166, [ 778] = 0x8174, [ 779] = 0x8183,
+  [ 780] = 0x8188, [ 781] = 0x818A, [ 782] = 0x8180, [ 783] = 0x8182,
+  [ 784] = 0x81A0, [ 785] = 0x8195, [ 786] = 0x81A4, [ 787] = 0x81A3,
+  [ 788] = 0x815F, [ 789] = 0x8193, [ 790] = 0x81A9, [ 791] = 0x81B0,
+  [ 792] = 0x81B5, [ 793] = 0x81BE, [ 794] = 0x81B8, [ 795] = 0x81BD,
+  [ 796] = 0x81C0, [ 797] = 0x81C2, [ 798] = 0x81BA, [ 799] = 0x81C9,
+  [ 800] = 0x81CD, [ 801] = 0x81D1, [ 802] = 0x81D9, [ 803] = 0x81D8,
+  [ 804] = 0x81C8, [ 805] = 0x81DA, [ 806] = 0x81DF, [ 807] = 0x81E0,
+  [ 808] = 0x81E7, [ 809] = 0x81FA, [ 810] = 0x81FB, [ 811] = 0x81FE,
+  [ 812] = 0x8201, [ 813] = 0x8202, [ 814] = 0x8205, [ 815] = 0x8207,
+  [ 816] = 0x820A, [ 817] = 0x820D, [ 818] = 0x8210, [ 819] = 0x8216,
+  [ 820] = 0x8229, [ 821] = 0x822B, [ 822] = 0x8238, [ 823] = 0x8233,
+  [ 824] = 0x8240, [ 825] = 0x8259, [ 826] = 0x8258, [ 827] = 0x825D,
+  [ 828] = 0x825A, [ 829] = 0x825F, [ 830] = 0x8264, [ 832] = 0x8262,
+  [ 833] = 0x8268, [ 834] = 0x826A, [ 835] = 0x826B, [ 836] = 0x822E,
+  [ 837] = 0x8271, [ 838] = 0x8277, [ 839] = 0x8278, [ 840] = 0x827E,
+  [ 841] = 0x828D, [ 842] = 0x8292, [ 843] = 0x82AB, [ 844] = 0x829F,
+  [ 845] = 0x82BB, [ 846] = 0x82AC, [ 847] = 0x82E1, [ 848] = 0x82E3,
+  [ 849] = 0x82DF, [ 850] = 0x82D2, [ 851] = 0x82F4, [ 852] = 0x82F3,
+  [ 853] = 0x82FA, [ 854] = 0x8393, [ 855] = 0x8303, [ 856] = 0x82FB,
+  [ 857] = 0x82F9, [ 858] = 0x82DE, [ 859] = 0x8306, [ 860] = 0x82DC,
+  [ 861] = 0x8309, [ 862] = 0x82D9, [ 863] = 0x8335, [ 864] = 0x8334,
+  [ 865] = 0x8316, [ 866] = 0x8332, [ 867] = 0x8331, [ 868] = 0x8340,
+  [ 869] = 0x8339, [ 870] = 0x8350, [ 871] = 0x8345, [ 872] = 0x832F,
+  [ 873] = 0x832B, [ 874] = 0x8317, [ 875] = 0x8318, [ 876] = 0x8385,
+  [ 877] = 0x839A, [ 878] = 0x83AA, [ 879] = 0x839F, [ 880] = 0x83A2,
+  [ 881] = 0x8396, [ 882] = 0x8323, [ 883] = 0x838E, [ 884] = 0x8387,
+  [ 885] = 0x838A, [ 886] = 0x837C, [ 887] = 0x83B5, [ 888] = 0x8373,
+  [ 889] = 0x8375, [ 890] = 0x83A0, [ 891] = 0x8389, [ 892] = 0x83A8,
+  [ 893] = 0x83F4, [ 894] = 0x8413, [ 895] = 0x83EB, [ 896] = 0x83CE,
+  [ 897] = 0x83FD, [ 898] = 0x8403, [ 899] = 0x83D8, [ 900] = 0x840B,
+  [ 901] = 0x83C1, [ 902] = 0x83F7, [ 903] = 0x8407, [ 904] = 0x83E0,
+  [ 905] = 0x83F2, [ 906] = 0x840D, [ 907] = 0x8422, [ 908] = 0x8420,
+  [ 909] = 0x83BD, [ 910] = 0x8438, [ 911] = 0x8506, [ 912] = 0x83FB,
+  [ 913] = 0x846D, [ 914] = 0x842A, [ 915] = 0x843C, [ 916] = 0x855A,
+  [ 917] = 0x8484, [ 918] = 0x8477, [ 919] = 0x846B, [ 920] = 0x84AD,
+  [ 921] = 0x846E, [ 922] = 0x8482, [ 923] = 0x8469, [ 924] = 0x8446,
+  [ 925] = 0x842C, [ 926] = 0x846F, [ 927] = 0x8479, [ 928] = 0x8435,
+  [ 929] = 0x84CA, [ 930] = 0x8462, [ 931] = 0x84B9, [ 932] = 0x84BF,
+  [ 933] = 0x849F, [ 934] = 0x84D9, [ 935] = 0x84CD, [ 936] = 0x84BB,
+  [ 937] = 0x84DA, [ 938] = 0x84D0, [ 939] = 0x84C1, [ 940] = 0x84C6,
+  [ 941] = 0x84D6, [ 942] = 0x84A1, [ 943] = 0x8521, [ 944] = 0x84FF,
+  [ 945] = 0x84F4, [ 946] = 0x8517, [ 947] = 0x8518, [ 948] = 0x852C,
+  [ 949] = 0x851F, [ 950] = 0x8515, [ 951] = 0x8514, [ 952] = 0x84FC,
+  [ 953] = 0x8540, [ 954] = 0x8563, [ 955] = 0x8558, [ 956] = 0x8548,
+  [ 960] = 0x8541, [ 961] = 0x8602, [ 962] = 0x854B, [ 963] = 0x8555,
+  [ 964] = 0x8580, [ 965] = 0x85A4, [ 966] = 0x8588, [ 967] = 0x8591,
+  [ 968] = 0x858A, [ 969] = 0x85A8, [ 970] = 0x856D, [ 971] = 0x8594,
+  [ 972] = 0x859B, [ 973] = 0x85EA, [ 974] = 0x8587, [ 975] = 0x859C,
+  [ 976] = 0x8577, [ 977] = 0x857E, [ 978] = 0x8590, [ 979] = 0x85C9,
+  [ 980] = 0x85BA, [ 981] = 0x85CF, [ 982] = 0x85B9, [ 983] = 0x85D0,
+  [ 984] = 0x85D5, [ 985] = 0x85DD, [ 986] = 0x85E5, [ 987] = 0x85DC,
+  [ 988] = 0x85F9, [ 989] = 0x860A, [ 990] = 0x8613, [ 991] = 0x860B,
+  [ 992] = 0x85FE, [ 993] = 0x85FA, [ 994] = 0x8606, [ 995] = 0x8622,
+  [ 996] = 0x861A, [ 997] = 0x8630, [ 998] = 0x863F, [ 999] = 0x864D,
+  [1000] = 0x4E55, [1001] = 0x8654, [1002] = 0x865F, [1003] = 0x8667,
+  [1004] = 0x8671, [1005] = 0x8693, [1006] = 0x86A3, [1007] = 0x86A9,
+  [1008] = 0x86AA, [1009] = 0x868B, [1010] = 0x868C, [1011] = 0x86B6,
+  [1012] = 0x86AF, [1013] = 0x86C4, [1014] = 0x86C6, [1015] = 0x86B0,
+  [1016] = 0x86C9, [1017] = 0x8823, [1018] = 0x86AB, [1019] = 0x86D4,
+  [1020] = 0x86DE, [1021] = 0x86E9, [1022] = 0x86EC, [1024] = 0x86DF,
+  [1025] = 0x86DB, [1026] = 0x86EF, [1027] = 0x8712, [1028] = 0x8706,
+  [1029] = 0x8708, [1030] = 0x8700, [1031] = 0x8703, [1032] = 0x86FB,
+  [1033] = 0x8711, [1034] = 0x8709, [1035] = 0x870D, [1036] = 0x86F9,
+  [1037] = 0x870A, [1038] = 0x8734, [1039] = 0x873F, [1040] = 0x8737,
+  [1041] = 0x873B, [1042] = 0x8725, [1043] = 0x8729, [1044] = 0x871A,
+  [1045] = 0x8760, [1046] = 0x875F, [1047] = 0x8778, [1048] = 0x874C,
+  [1049] = 0x874E, [1050] = 0x8774, [1051] = 0x8757, [1052] = 0x8768,
+  [1053] = 0x876E, [1054] = 0x8759, [1055] = 0x8753, [1056] = 0x8763,
+  [1057] = 0x876A, [1058] = 0x8805, [1059] = 0x87A2, [1060] = 0x879F,
+  [1061] = 0x8782, [1062] = 0x87AF, [1063] = 0x87CB, [1064] = 0x87BD,
+  [1065] = 0x87C0, [1066] = 0x87D0, [1067] = 0x96D6, [1068] = 0x87AB,
+  [1069] = 0x87C4, [1070] = 0x87B3, [1071] = 0x87C7, [1072] = 0x87C6,
+  [1073] = 0x87BB, [1074] = 0x87EF, [1075] = 0x87F2, [1076] = 0x87E0,
+  [1077] = 0x880F, [1078] = 0x880D, [1079] = 0x87FE, [1080] = 0x87F6,
+  [1081] = 0x87F7, [1082] = 0x880E, [1083] = 0x87D2, [1084] = 0x8811,
+  [1085] = 0x8816, [1086] = 0x8815, [1087] = 0x8822, [1088] = 0x8821,
+  [1089] = 0x8831, [1090] = 0x8836, [1091] = 0x8839, [1092] = 0x8827,
+  [1093] = 0x883B, [1094] = 0x8844, [1095] = 0x8842, [1096] = 0x8852,
+  [1097] = 0x8859, [1098] = 0x885E, [1099] = 0x8862, [1100] = 0x886B,
+  [1101] = 0x8881, [1102] = 0x887E, [1103] = 0x889E, [1104] = 0x8875,
+  [1105] = 0x887D, [1106] = 0x88B5, [1107] = 0x8872, [1108] = 0x8882,
+  [1109] = 0x8897, [1110] = 0x8892, [1111] = 0x88AE, [1112] = 0x8899,
+  [1113] = 0x88A2, [1114] = 0x888D, [1115] = 0x88A4, [1116] = 0x88B0,
+  [1117] = 0x88BF, [1118] = 0x88B1, [1119] = 0x88C3, [1120] = 0x88C4,
+  [1121] = 0x88D4, [1122] = 0x88D8, [1123] = 0x88D9, [1124] = 0x88DD,
+  [1125] = 0x88F9, [1126] = 0x8902, [1127] = 0x88FC, [1128] = 0x88F4,
+  [1129] = 0x88E8, [1130] = 0x88F2, [1131] = 0x8904, [1132] = 0x890C,
+  [1133] = 0x890A, [1134] = 0x8913, [1135] = 0x8943, [1136] = 0x891E,
+  [1137] = 0x8925, [1138] = 0x892A, [1139] = 0x892B, [1140] = 0x8941,
+  [1141] = 0x8944, [1142] = 0x893B, [1143] = 0x8936, [1144] = 0x8938,
+  [1145] = 0x894C, [1146] = 0x891D, [1147] = 0x8960, [1148] = 0x895E,
+  [1152] = 0x8966, [1153] = 0x8964, [1154] = 0x896D, [1155] = 0x896A,
+  [1156] = 0x896F, [1157] = 0x8974, [1158] = 0x8977, [1159] = 0x897E,
+  [1160] = 0x8983, [1161] = 0x8988, [1162] = 0x898A, [1163] = 0x8993,
+  [1164] = 0x8998, [1165] = 0x89A1, [1166] = 0x89A9, [1167] = 0x89A6,
+  [1168] = 0x89AC, [1169] = 0x89AF, [1170] = 0x89B2, [1171] = 0x89BA,
+  [1172] = 0x89BD, [1173] = 0x89BF, [1174] = 0x89C0, [1175] = 0x89DA,
+  [1176] = 0x89DC, [1177] = 0x89DD, [1178] = 0x89E7, [1179] = 0x89F4,
+  [1180] = 0x89F8, [1181] = 0x8A03, [1182] = 0x8A16, [1183] = 0x8A10,
+  [1184] = 0x8A0C, [1185] = 0x8A1B, [1186] = 0x8A1D, [1187] = 0x8A25,
+  [1188] = 0x8A36, [1189] = 0x8A41, [1190] = 0x8A5B, [1191] = 0x8A52,
+  [1192] = 0x8A46, [1193] = 0x8A48, [1194] = 0x8A7C, [1195] = 0x8A6D,
+  [1196] = 0x8A6C, [1197] = 0x8A62, [1198] = 0x8A85, [1199] = 0x8A82,
+  [1200] = 0x8A84, [1201] = 0x8AA8, [1202] = 0x8AA1, [1203] = 0x8A91,
+  [1204] = 0x8AA5, [1205] = 0x8AA6, [1206] = 0x8A9A, [1207] = 0x8AA3,
+  [1208] = 0x8AC4, [1209] = 0x8ACD, [1210] = 0x8AC2, [1211] = 0x8ADA,
+  [1212] = 0x8AEB, [1213] = 0x8AF3, [1214] = 0x8AE7, [1216] = 0x8AE4,
+  [1217] = 0x8AF1, [1218] = 0x8B14, [1219] = 0x8AE0, [1220] = 0x8AE2,
+  [1221] = 0x8AF7, [1222] = 0x8ADE, [1223] = 0x8ADB, [1224] = 0x8B0C,
+  [1225] = 0x8B07, [1226] = 0x8B1A, [1227] = 0x8AE1, [1228] = 0x8B16,
+  [1229] = 0x8B10, [1230] = 0x8B17, [1231] = 0x8B20, [1232] = 0x8B33,
+  [1233] = 0x97AB, [1234] = 0x8B26, [1235] = 0x8B2B, [1236] = 0x8B3E,
+  [1237] = 0x8B28, [1238] = 0x8B41, [1239] = 0x8B4C, [1240] = 0x8B4F,
+  [1241] = 0x8B4E, [1242] = 0x8B49, [1243] = 0x8B56, [1244] = 0x8B5B,
+  [1245] = 0x8B5A, [1246] = 0x8B6B, [1247] = 0x8B5F, [1248] = 0x8B6C,
+  [1249] = 0x8B6F, [1250] = 0x8B74, [1251] = 0x8B7D, [1252] = 0x8B80,
+  [1253] = 0x8B8C, [1254] = 0x8B8E, [1255] = 0x8B92, [1256] = 0x8B93,
+  [1257] = 0x8B96, [1258] = 0x8B99, [1259] = 0x8B9A, [1260] = 0x8C3A,
+  [1261] = 0x8C41, [1262] = 0x8C3F, [1263] = 0x8C48, [1264] = 0x8C4C,
+  [1265] = 0x8C4E, [1266] = 0x8C50, [1267] = 0x8C55, [1268] = 0x8C62,
+  [1269] = 0x8C6C, [1270] = 0x8C78, [1271] = 0x8C7A, [1272] = 0x8C82,
+  [1273] = 0x8C89, [1274] = 0x8C85, [1275] = 0x8C8A, [1276] = 0x8C8D,
+  [1277] = 0x8C8E, [1278] = 0x8C94, [1279] = 0x8C7C, [1280] = 0x8C98,
+  [1281] = 0x621D, [1282] = 0x8CAD, [1283] = 0x8CAA, [1284] = 0x8CBD,
+  [1285] = 0x8CB2, [1286] = 0x8CB3, [1287] = 0x8CAE, [1288] = 0x8CB6,
+  [1289] = 0x8CC8, [1290] = 0x8CC1, [1291] = 0x8CE4, [1292] = 0x8CE3,
+  [1293] = 0x8CDA, [1294] = 0x8CFD, [1295] = 0x8CFA, [1296] = 0x8CFB,
+  [1297] = 0x8D04, [1298] = 0x8D05, [1299] = 0x8D0A, [1300] = 0x8D07,
+  [1301] = 0x8D0F, [1302] = 0x8D0D, [1303] = 0x8D10, [1304] = 0x9F4E,
+  [1305] = 0x8D13, [1306] = 0x8CCD, [1307] = 0x8D14, [1308] = 0x8D16,
+  [1309] = 0x8D67, [1310] = 0x8D6D, [1311] = 0x8D71, [1312] = 0x8D73,
+  [1313] = 0x8D81, [1314] = 0x8D99, [1315] = 0x8DC2, [1316] = 0x8DBE,
+  [1317] = 0x8DBA, [1318] = 0x8DCF, [1319] = 0x8DDA, [1320] = 0x8DD6,
+  [1321] = 0x8DCC, [1322] = 0x8DDB, [1323] = 0x8DCB, [1324] = 0x8DEA,
+  [1325] = 0x8DEB, [1326] = 0x8DDF, [1327] = 0x8DE3, [1328] = 0x8DFC,
+  [1329] = 0x8E08, [1330] = 0x8E09, [1331] = 0x8DFF, [1332] = 0x8E1D,
+  [1333] = 0x8E1E, [1334] = 0x8E10, [1335] = 0x8E1F, [1336] = 0x8E42,
+  [1337] = 0x8E35, [1338] = 0x8E30, [1339] = 0x8E34, [1340] = 0x8E4A,
+  [1344] = 0x8E47, [1345] = 0x8E49, [1346] = 0x8E4C, [1347] = 0x8E50,
+  [1348] = 0x8E48, [1349] = 0x8E59, [1350] = 0x8E64, [1351] = 0x8E60,
+  [1352] = 0x8E2A, [1353] = 0x8E63, [1354] = 0x8E55, [1355] = 0x8E76,
+  [1356] = 0x8E72, [1357] = 0x8E7C, [1358] = 0x8E81, [1359] = 0x8E87,
+  [1360] = 0x8E85, [1361] = 0x8E84, [1362] = 0x8E8B, [1363] = 0x8E8A,
+  [1364] = 0x8E93, [1365] = 0x8E91, [1366] = 0x8E94, [1367] = 0x8E99,
+  [1368] = 0x8EAA, [1369] = 0x8EA1, [1370] = 0x8EAC, [1371] = 0x8EB0,
+  [1372] = 0x8EC6, [1373] = 0x8EB1, [1374] = 0x8EBE, [1375] = 0x8EC5,
+  [1376] = 0x8EC8, [1377] = 0x8ECB, [1378] = 0x8EDB, [1379] = 0x8EE3,
+  [1380] = 0x8EFC, [1381] = 0x8EFB, [1382] = 0x8EEB, [1383] = 0x8EFE,
+  [1384] = 0x8F0A, [1385] = 0x8F05, [1386] = 0x8F15, [1387] = 0x8F12,
+  [1388] = 0x8F19, [1389] = 0x8F13, [1390] = 0x8F1C, [1391] = 0x8F1F,
+  [1392] = 0x8F1B, [1393] = 0x8F0C, [1394] = 0x8F26, [1395] = 0x8F33,
+  [1396] = 0x8F3B, [1397] = 0x8F39, [1398] = 0x8F45, [1399] = 0x8F42,
+  [1400] = 0x8F3E, [1401] = 0x8F4C, [1402] = 0x8F49, [1403] = 0x8F46,
+  [1404] = 0x8F4E, [1405] = 0x8F57, [1406] = 0x8F5C, [1408] = 0x8F62,
+  [1409] = 0x8F63, [1410] = 0x8F64, [1411] = 0x8F9C, [1412] = 0x8F9F,
+  [1413] = 0x8FA3, [1414] = 0x8FAD, [1415] = 0x8FAF, [1416] = 0x8FB7,
+  [1417] = 0x8FDA, [1418] = 0x8FE5, [1419] = 0x8FE2, [1420] = 0x8FEA,
+  [1421] = 0x8FEF, [1422] = 0x9087, [1423] = 0x8FF4, [1424] = 0x9005,
+  [1425] = 0x8FF9, [1426] = 0x8FFA, [1427] = 0x9011, [1428] = 0x9015,
+  [1429] = 0x9021, [1430] = 0x900D, [1431] = 0x901E, [1432] = 0x9016,
+  [1433] = 0x900B, [1434] = 0x9027, [1435] = 0x9036, [1436] = 0x9035,
+  [1437] = 0x9039, [1438] = 0x8FF8, [1439] = 0x904F, [1440] = 0x9050,
+  [1441] = 0x9051, [1442] = 0x9052, [1443] = 0x900E, [1444] = 0x9049,
+  [1445] = 0x903E, [1446] = 0x9056, [1447] = 0x9058, [1448] = 0x905E,
+  [1449] = 0x9068, [1450] = 0x906F, [1451] = 0x9076, [1452] = 0x96A8,
+  [1453] = 0x9072, [1454] = 0x9082, [1455] = 0x907D, [1456] = 0x9081,
+  [1457] = 0x9080, [1458] = 0x908A, [1459] = 0x9089, [1460] = 0x908F,
+  [1461] = 0x90A8, [1462] = 0x90AF, [1463] = 0x90B1, [1464] = 0x90B5,
+  [1465] = 0x90E2, [1466] = 0x90E4, [1467] = 0x6248, [1468] = 0x90DB,
+  [1469] = 0x9102, [1470] = 0x9112, [1471] = 0x9119, [1472] = 0x9132,
+  [1473] = 0x9130, [1474] = 0x914A, [1475] = 0x9156, [1476] = 0x9158,
+  [1477] = 0x9163, [1478] = 0x9165, [1479] = 0x9169, [1480] = 0x9173,
+  [1481] = 0x9172, [1482] = 0x918B, [1483] = 0x9189, [1484] = 0x9182,
+  [1485] = 0x91A2, [1486] = 0x91AB, [1487] = 0x91AF, [1488] = 0x91AA,
+  [1489] = 0x91B5, [1490] = 0x91B4, [1491] = 0x91BA, [1492] = 0x91C0,
+  [1493] = 0x91C1, [1494] = 0x91C9, [1495] = 0x91CB, [1496] = 0x91D0,
+  [1497] = 0x91D6, [1498] = 0x91DF, [1499] = 0x91E1, [1500] = 0x91DB,
+  [1501] = 0x91FC, [1502] = 0x91F5, [1503] = 0x91F6, [1504] = 0x921E,
+  [1505] = 0x91FF, [1506] = 0x9214, [1507] = 0x922C, [1508] = 0x9215,
+  [1509] = 0x9211, [1510] = 0x925E, [1511] = 0x9257, [1512] = 0x9245,
+  [1513] = 0x9249, [1514] = 0x9264, [1515] = 0x9248, [1516] = 0x9295,
+  [1517] = 0x923F, [1518] = 0x924B, [1519] = 0x9250, [1520] = 0x929C,
+  [1521] = 0x9296, [1522] = 0x9293, [1523] = 0x929B, [1524] = 0x925A,
+  [1525] = 0x92CF, [1526] = 0x92B9, [1527] = 0x92B7, [1528] = 0x92E9,
+  [1529] = 0x930F, [1530] = 0x92FA, [1531] = 0x9344, [1532] = 0x932E,
+  [1536] = 0x9319, [1537] = 0x9322, [1538] = 0x931A, [1539] = 0x9323,
+  [1540] = 0x933A, [1541] = 0x9335, [1542] = 0x933B, [1543] = 0x935C,
+  [1544] = 0x9360, [1545] = 0x937C, [1546] = 0x936E, [1547] = 0x9356,
+  [1548] = 0x93B0, [1549] = 0x93AC, [1550] = 0x93AD, [1551] = 0x9394,
+  [1552] = 0x93B9, [1553] = 0x93D6, [1554] = 0x93D7, [1555] = 0x93E8,
+  [1556] = 0x93E5, [1557] = 0x93D8, [1558] = 0x93C3, [1559] = 0x93DD,
+  [1560] = 0x93D0, [1561] = 0x93C8, [1562] = 0x93E4, [1563] = 0x941A,
+  [1564] = 0x9414, [1565] = 0x9413, [1566] = 0x9403, [1567] = 0x9407,
+  [1568] = 0x9410, [1569] = 0x9436, [1570] = 0x942B, [1571] = 0x9435,
+  [1572] = 0x9421, [1573] = 0x943A, [1574] = 0x9441, [1575] = 0x9452,
+  [1576] = 0x9444, [1577] = 0x945B, [1578] = 0x9460, [1579] = 0x9462,
+  [1580] = 0x945E, [1581] = 0x946A, [1582] = 0x9229, [1583] = 0x9470,
+  [1584] = 0x9475, [1585] = 0x9477, [1586] = 0x947D, [1587] = 0x945A,
+  [1588] = 0x947C, [1589] = 0x947E, [1590] = 0x9481, [1591] = 0x947F,
+  [1592] = 0x9582, [1593] = 0x9587, [1594] = 0x958A, [1595] = 0x9594,
+  [1596] = 0x9596, [1597] = 0x9598, [1598] = 0x9599, [1600] = 0x95A0,
+  [1601] = 0x95A8, [1602] = 0x95A7, [1603] = 0x95AD, [1604] = 0x95BC,
+  [1605] = 0x95BB, [1606] = 0x95B9, [1607] = 0x95BE, [1608] = 0x95CA,
+  [1609] = 0x6FF6, [1610] = 0x95C3, [1611] = 0x95CD, [1612] = 0x95CC,
+  [1613] = 0x95D5, [1614] = 0x95D4, [1615] = 0x95D6, [1616] = 0x95DC,
+  [1617] = 0x95E1, [1618] = 0x95E5, [1619] = 0x95E2, [1620] = 0x9621,
+  [1621] = 0x9628, [1622] = 0x962E, [1623] = 0x962F, [1624] = 0x9642,
+  [1625] = 0x964C, [1626] = 0x964F, [1627] = 0x964B, [1628] = 0x9677,
+  [1629] = 0x965C, [1630] = 0x965E, [1631] = 0x965D, [1632] = 0x965F,
+  [1633] = 0x9666, [1634] = 0x9672, [1635] = 0x966C, [1636] = 0x968D,
+  [1637] = 0x9698, [1638] = 0x9695, [1639] = 0x9697, [1640] = 0x96AA,
+  [1641] = 0x96A7, [1642] = 0x96B1, [1643] = 0x96B2, [1644] = 0x96B0,
+  [1645] = 0x96B4, [1646] = 0x96B6, [1647] = 0x96B8, [1648] = 0x96B9,
+  [1649] = 0x96CE, [1650] = 0x96CB, [1651] = 0x96C9, [1652] = 0x96CD,
+  [1653] = 0x894D, [1654] = 0x96DC, [1655] = 0x970D, [1656] = 0x96D5,
+  [1657] = 0x96F9, [1658] = 0x9704, [1659] = 0x9706, [1660] = 0x9708,
+  [1661] = 0x9713, [1662] = 0x970E, [1663] = 0x9711, [1664] = 0x970F,
+  [1665] = 0x9716, [1666] = 0x9719, [1667] = 0x9724, [1668] = 0x972A,
+  [1669] = 0x9730, [1670] = 0x9739, [1671] = 0x973D, [1672] = 0x973E,
+  [1673] = 0x9744, [1674] = 0x9746, [1675] = 0x9748, [1676] = 0x9742,
+  [1677] = 0x9749, [1678] = 0x975C, [1679] = 0x9760, [1680] = 0x9764,
+  [1681] = 0x9766, [1682] = 0x9768, [1683] = 0x52D2, [1684] = 0x976B,
+  [1685] = 0x9771, [1686] = 0x9779, [1687] = 0x9785, [1688] = 0x977C,
+  [1689] = 0x9781, [1690] = 0x977A, [1691] = 0x9786, [1692] = 0x978B,
+  [1693] = 0x978F, [1694] = 0x9790, [1695] = 0x979C, [1696] = 0x97A8,
+  [1697] = 0x97A6, [1698] = 0x97A3, [1699] = 0x97B3, [1700] = 0x97B4,
+  [1701] = 0x97C3, [1702] = 0x97C6, [1703] = 0x97C8, [1704] = 0x97CB,
+  [1705] = 0x97DC, [1706] = 0x97ED, [1707] = 0x9F4F, [1708] = 0x97F2,
+  [1709] = 0x7ADF, [1710] = 0x97F6, [1711] = 0x97F5, [1712] = 0x980F,
+  [1713] = 0x980C, [1714] = 0x9838, [1715] = 0x9824, [1716] = 0x9821,
+  [1717] = 0x9837, [1718] = 0x983D, [1719] = 0x9846, [1720] = 0x984F,
+  [1721] = 0x984B, [1722] = 0x986B, [1723] = 0x986F, [1724] = 0x9870,
+  [1728] = 0x9871, [1729] = 0x9874, [1730] = 0x9873, [1731] = 0x98AA,
+  [1732] = 0x98AF, [1733] = 0x98B1, [1734] = 0x98B6, [1735] = 0x98C4,
+  [1736] = 0x98C3, [1737] = 0x98C6, [1738] = 0x98E9, [1739] = 0x98EB,
+  [1740] = 0x9903, [1741] = 0x9909, [1742] = 0x9912, [1743] = 0x9914,
+  [1744] = 0x9918, [1745] = 0x9921, [1746] = 0x991D, [1747] = 0x991E,
+  [1748] = 0x9924, [1749] = 0x9920, [1750] = 0x992C, [1751] = 0x992E,
+  [1752] = 0x993D, [1753] = 0x993E, [1754] = 0x9942, [1755] = 0x9949,
+  [1756] = 0x9945, [1757] = 0x9950, [1758] = 0x994B, [1759] = 0x9951,
+  [1760] = 0x9952, [1761] = 0x994C, [1762] = 0x9955, [1763] = 0x9997,
+  [1764] = 0x9998, [1765] = 0x99A5, [1766] = 0x99AD, [1767] = 0x99AE,
+  [1768] = 0x99BC, [1769] = 0x99DF, [1770] = 0x99DB, [1771] = 0x99DD,
+  [1772] = 0x99D8, [1773] = 0x99D1, [1774] = 0x99ED, [1775] = 0x99EE,
+  [1776] = 0x99F1, [1777] = 0x99F2, [1778] = 0x99FB, [1779] = 0x99F8,
+  [1780] = 0x9A01, [1781] = 0x9A0F, [1782] = 0x9A05, [1783] = 0x99E2,
+  [1784] = 0x9A19, [1785] = 0x9A2B, [1786] = 0x9A37, [1787] = 0x9A45,
+  [1788] = 0x9A42, [1789] = 0x9A40, [1790] = 0x9A43, [1792] = 0x9A3E,
+  [1793] = 0x9A55, [1794] = 0x9A4D, [1795] = 0x9A5B, [1796] = 0x9A57,
+  [1797] = 0x9A5F, [1798] = 0x9A62, [1799] = 0x9A65, [1800] = 0x9A64,
+  [1801] = 0x9A69, [1802] = 0x9A6B, [1803] = 0x9A6A, [1804] = 0x9AAD,
+  [1805] = 0x9AB0, [1806] = 0x9ABC, [1807] = 0x9AC0, [1808] = 0x9ACF,
+  [1809] = 0x9AD1, [1810] = 0x9AD3, [1811] = 0x9AD4, [1812] = 0x9ADE,
+  [1813] = 0x9ADF, [1814] = 0x9AE2, [1815] = 0x9AE3, [1816] = 0x9AE6,
+  [1817] = 0x9AEF, [1818] = 0x9AEB, [1819] = 0x9AEE, [1820] = 0x9AF4,
+  [1821] = 0x9AF1, [1822] = 0x9AF7, [1823] = 0x9AFB, [1824] = 0x9B06,
+  [1825] = 0x9B18, [1826] = 0x9B1A, [1827] = 0x9B1F, [1828] = 0x9B22,
+  [1829] = 0x9B23, [1830] = 0x9B25, [1831] = 0x9B27, [1832] = 0x9B28,
+  [1833] = 0x9B29, [1834] = 0x9B2A, [1835] = 0x9B2E, [1836] = 0x9B2F,
+  [1837] = 0x9B32, [1838] = 0x9B44, [1839] = 0x9B43, [1840] = 0x9B4F,
+  [1841] = 0x9B4D, [1842] = 0x9B4E, [1843] = 0x9B51, [1844] = 0x9B58,
+  [1845] = 0x9B74, [1846] = 0x9B93, [1847] = 0x9B83, [1848] = 0x9B91,
+  [1849] = 0x9B96, [1850] = 0x9B97, [1851] = 0x9B9F, [1852] = 0x9BA0,
+  [1853] = 0x9BA8, [1854] = 0x9BB4, [1855] = 0x9BC0, [1856] = 0x9BCA,
+  [1857] = 0x9BB9, [1858] = 0x9BC6, [1859] = 0x9BCF, [1860] = 0x9BD1,
+  [1861] = 0x9BD2, [1862] = 0x9BE3, [1863] = 0x9BE2, [1864] = 0x9BE4,
+  [1865] = 0x9BD4, [1866] = 0x9BE1, [1867] = 0x9C3A, [1868] = 0x9BF2,
+  [1869] = 0x9BF1, [1870] = 0x9BF0, [1871] = 0x9C15, [1872] = 0x9C14,
+  [1873] = 0x9C09, [1874] = 0x9C13, [1875] = 0x9C0C, [1876] = 0x9C06,
+  [1877] = 0x9C08, [1878] = 0x9C12, [1879] = 0x9C0A, [1880] = 0x9C04,
+  [1881] = 0x9C2E, [1882] = 0x9C1B, [1883] = 0x9C25, [1884] = 0x9C24,
+  [1885] = 0x9C21, [1886] = 0x9C30, [1887] = 0x9C47, [1888] = 0x9C32,
+  [1889] = 0x9C46, [1890] = 0x9C3E, [1891] = 0x9C5A, [1892] = 0x9C60,
+  [1893] = 0x9C67, [1894] = 0x9C76, [1895] = 0x9C78, [1896] = 0x9CE7,
+  [1897] = 0x9CEC, [1898] = 0x9CF0, [1899] = 0x9D09, [1900] = 0x9D08,
+  [1901] = 0x9CEB, [1902] = 0x9D03, [1903] = 0x9D06, [1904] = 0x9D2A,
+  [1905] = 0x9D26, [1906] = 0x9DAF, [1907] = 0x9D23, [1908] = 0x9D1F,
+  [1909] = 0x9D44, [1910] = 0x9D15, [1911] = 0x9D12, [1912] = 0x9D41,
+  [1913] = 0x9D3F, [1914] = 0x9D3E, [1915] = 0x9D46, [1916] = 0x9D48,
+  [1920] = 0x9D5D, [1921] = 0x9D5E, [1922] = 0x9D64, [1923] = 0x9D51,
+  [1924] = 0x9D50, [1925] = 0x9D59, [1926] = 0x9D72, [1927] = 0x9D89,
+  [1928] = 0x9D87, [1929] = 0x9DAB, [1930] = 0x9D6F, [1931] = 0x9D7A,
+  [1932] = 0x9D9A, [1933] = 0x9DA4, [1934] = 0x9DA9, [1935] = 0x9DB2,
+  [1936] = 0x9DC4, [1937] = 0x9DC1, [1938] = 0x9DBB, [1939] = 0x9DB8,
+  [1940] = 0x9DBA, [1941] = 0x9DC6, [1942] = 0x9DCF, [1943] = 0x9DC2,
+  [1944] = 0x9DD9, [1945] = 0x9DD3, [1946] = 0x9DF8, [1947] = 0x9DE6,
+  [1948] = 0x9DED, [1949] = 0x9DEF, [1950] = 0x9DFD, [1951] = 0x9E1A,
+  [1952] = 0x9E1B, [1953] = 0x9E1E, [1954] = 0x9E75, [1955] = 0x9E79,
+  [1956] = 0x9E7D, [1957] = 0x9E81, [1958] = 0x9E88, [1959] = 0x9E8B,
+  [1960] = 0x9E8C, [1961] = 0x9E92, [1962] = 0x9E95, [1963] = 0x9E91,
+  [1964] = 0x9E9D, [1965] = 0x9EA5, [1966] = 0x9EA9, [1967] = 0x9EB8,
+  [1968] = 0x9EAA, [1969] = 0x9EAD, [1970] = 0x9761, [1971] = 0x9ECC,
+  [1972] = 0x9ECE, [1973] = 0x9ECF, [1974] = 0x9ED0, [1975] = 0x9ED4,
+  [1976] = 0x9EDC, [1977] = 0x9EDE, [1978] = 0x9EDD, [1979] = 0x9EE0,
+  [1980] = 0x9EE5, [1981] = 0x9EE8, [1982] = 0x9EEF, [1984] = 0x9EF4,
+  [1985] = 0x9EF6, [1986] = 0x9EF7, [1987] = 0x9EF9, [1988] = 0x9EFB,
+  [1989] = 0x9EFC, [1990] = 0x9EFD, [1991] = 0x9F07, [1992] = 0x9F08,
+  [1993] = 0x76B7, [1994] = 0x9F15, [1995] = 0x9F21, [1996] = 0x9F2C,
+  [1997] = 0x9F3E, [1998] = 0x9F4A, [1999] = 0x9F52, [2000] = 0x9F54,
+  [2001] = 0x9F63, [2002] = 0x9F5F, [2003] = 0x9F60, [2004] = 0x9F61,
+  [2005] = 0x9F66, [2006] = 0x9F67, [2007] = 0x9F6C, [2008] = 0x9F6A,
+  [2009] = 0x9F77, [2010] = 0x9F72, [2011] = 0x9F76, [2012] = 0x9F95,
+  [2013] = 0x9F9C, [2014] = 0x9FA0, [2015] = 0x582F, [2016] = 0x69C7,
+  [2017] = 0x9059, [2018] = 0x7464, [2019] = 0x51DC, [2020] = 0x7199,
+};
+
+
+
+
+/* The following table can be generated using
+
+   awk '/^0x/ { print $2, $1; }' < .../eastasia/jis/shiftjis.txt |
+   egrep "^0x00[[:xdigit:]][[:xdigit:]]" |
+   sort -u | perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=0;
+   while (<>) {
+     local($ucs4, $sjis, %rest) = split;
+     local($u)=hex($ucs4);
+     local($s)=hex($sjis);
+     printf ("\n ") if ($n % 3 == 0);
+     ++$n;
+     printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u,
+	     $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255);
+   }
+   printf ("\n");
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+   The only problem is that the shiftjis.txt file does not contain the
+   mapping for the characters 0x00 to 0x1f.  We add them ourself.
+*/
+static const char from_ucs4_lat1[0xf8][2] =
+{
+  [0x0000] = "\x00\x00", [0x0001] = "\x01\x00", [0x0002] = "\x02\x00",
+  [0x0003] = "\x03\x00", [0x0004] = "\x04\x00", [0x0005] = "\x05\x00",
+  [0x0006] = "\x06\x00", [0x0007] = "\x07\x00", [0x0008] = "\x08\x00",
+  [0x0009] = "\x09\x00", [0x000a] = "\x0a\x00", [0x000b] = "\x0b\x00",
+  [0x000c] = "\x0c\x00", [0x000d] = "\x0d\x00", [0x000e] = "\x0e\x00",
+  [0x000f] = "\x0f\x00", [0x0010] = "\x10\x00", [0x0011] = "\x11\x00",
+  [0x0012] = "\x12\x00", [0x0013] = "\x13\x00", [0x0014] = "\x14\x00",
+  [0x0015] = "\x15\x00", [0x0016] = "\x16\x00", [0x0017] = "\x17\x00",
+  [0x0018] = "\x18\x00", [0x0019] = "\x19\x00", [0x001a] = "\x1a\x00",
+  [0x001b] = "\x1b\x00", [0x001c] = "\x1c\x00", [0x001d] = "\x1d\x00",
+  [0x001e] = "\x1e\x00", [0x001f] = "\x1f\x00", [0x0020] = "\x20\x00",
+  [0x0021] = "\x21\x00", [0x0022] = "\x22\x00", [0x0023] = "\x23\x00",
+  [0x0024] = "\x24\x00", [0x0025] = "\x25\x00", [0x0026] = "\x26\x00",
+  [0x0027] = "\x27\x00", [0x0028] = "\x28\x00", [0x0029] = "\x29\x00",
+  [0x002a] = "\x2a\x00", [0x002b] = "\x2b\x00", [0x002c] = "\x2c\x00",
+  [0x002d] = "\x2d\x00", [0x002e] = "\x2e\x00", [0x002f] = "\x2f\x00",
+  [0x0030] = "\x30\x00", [0x0031] = "\x31\x00", [0x0032] = "\x32\x00",
+  [0x0033] = "\x33\x00", [0x0034] = "\x34\x00", [0x0035] = "\x35\x00",
+  [0x0036] = "\x36\x00", [0x0037] = "\x37\x00", [0x0038] = "\x38\x00",
+  [0x0039] = "\x39\x00", [0x003a] = "\x3a\x00", [0x003b] = "\x3b\x00",
+  [0x003c] = "\x3c\x00", [0x003d] = "\x3d\x00", [0x003e] = "\x3e\x00",
+  [0x003f] = "\x3f\x00", [0x0040] = "\x40\x00", [0x0041] = "\x41\x00",
+  [0x0042] = "\x42\x00", [0x0043] = "\x43\x00", [0x0044] = "\x44\x00",
+  [0x0045] = "\x45\x00", [0x0046] = "\x46\x00", [0x0047] = "\x47\x00",
+  [0x0048] = "\x48\x00", [0x0049] = "\x49\x00", [0x004a] = "\x4a\x00",
+  [0x004b] = "\x4b\x00", [0x004c] = "\x4c\x00", [0x004d] = "\x4d\x00",
+  [0x004e] = "\x4e\x00", [0x004f] = "\x4f\x00", [0x0050] = "\x50\x00",
+  [0x0051] = "\x51\x00", [0x0052] = "\x52\x00", [0x0053] = "\x53\x00",
+  [0x0054] = "\x54\x00", [0x0055] = "\x55\x00", [0x0056] = "\x56\x00",
+  [0x0057] = "\x57\x00", [0x0058] = "\x58\x00", [0x0059] = "\x59\x00",
+  [0x005a] = "\x5a\x00", [0x005b] = "\x5b\x00", [0x005c] = "\x81\x5f",
+  [0x005d] = "\x5d\x00", [0x005e] = "\x5e\x00", [0x005f] = "\x5f\x00",
+  [0x0060] = "\x60\x00", [0x0061] = "\x61\x00", [0x0062] = "\x62\x00",
+  [0x0063] = "\x63\x00", [0x0064] = "\x64\x00", [0x0065] = "\x65\x00",
+  [0x0066] = "\x66\x00", [0x0067] = "\x67\x00", [0x0068] = "\x68\x00",
+  [0x0069] = "\x69\x00", [0x006a] = "\x6a\x00", [0x006b] = "\x6b\x00",
+  [0x006c] = "\x6c\x00", [0x006d] = "\x6d\x00", [0x006e] = "\x6e\x00",
+  [0x006f] = "\x6f\x00", [0x0070] = "\x70\x00", [0x0071] = "\x71\x00",
+  [0x0072] = "\x72\x00", [0x0073] = "\x73\x00", [0x0074] = "\x74\x00",
+  [0x0075] = "\x75\x00", [0x0076] = "\x76\x00", [0x0077] = "\x77\x00",
+  [0x0078] = "\x78\x00", [0x0079] = "\x79\x00", [0x007a] = "\x7a\x00",
+  [0x007b] = "\x7b\x00", [0x007c] = "\x7c\x00", [0x007d] = "\x7d\x00",
+  [0x00a2] = "\x81\x91", [0x00a3] = "\x81\x92", [0x00a5] = "\x5c\x00",
+  [0x00a7] = "\x81\x98", [0x00a8] = "\x81\x4e", [0x00ac] = "\x81\xca",
+  [0x00b0] = "\x81\x8b", [0x00b1] = "\x81\x7d", [0x00b4] = "\x81\x4c",
+  [0x00b6] = "\x81\xf7", [0x00d7] = "\x81\x7e", [0x00f7] = "\x81\x80"
+};
+
+
+/* The following table can be generated using
+
+   awk '/^0x/ { print $2, $1; }' < .../eastasia/jis/shiftjis.txt |
+   egrep "^0x0[34][[:xdigit:]][[:xdigit:]]" |
+   sort -u | perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=0;
+   while (<>) {
+     local($ucs4, $sjis, %rest) = split;
+     local($u)=hex($ucs4);
+     local($s)=hex($sjis);
+     printf ("\n ") if ($n % 3 == 0);
+     ++$n;
+     printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x391,
+	     $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255);
+   }
+   printf ("\n");
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+static const char from_ucs4_greek[193][2] =
+{
+  [0x0000] = "\x83\x9f", [0x0001] = "\x83\xa0", [0x0002] = "\x83\xa1",
+  [0x0003] = "\x83\xa2", [0x0004] = "\x83\xa3", [0x0005] = "\x83\xa4",
+  [0x0006] = "\x83\xa5", [0x0007] = "\x83\xa6", [0x0008] = "\x83\xa7",
+  [0x0009] = "\x83\xa8", [0x000a] = "\x83\xa9", [0x000b] = "\x83\xaa",
+  [0x000c] = "\x83\xab", [0x000d] = "\x83\xac", [0x000e] = "\x83\xad",
+  [0x000f] = "\x83\xae", [0x0010] = "\x83\xaf", [0x0012] = "\x83\xb0",
+  [0x0013] = "\x83\xb1", [0x0014] = "\x83\xb2", [0x0015] = "\x83\xb3",
+  [0x0016] = "\x83\xb4", [0x0017] = "\x83\xb5", [0x0018] = "\x83\xb6",
+  [0x0020] = "\x83\xbf", [0x0021] = "\x83\xc0", [0x0022] = "\x83\xc1",
+  [0x0023] = "\x83\xc2", [0x0024] = "\x83\xc3", [0x0025] = "\x83\xc4",
+  [0x0026] = "\x83\xc5", [0x0027] = "\x83\xc6", [0x0028] = "\x83\xc7",
+  [0x0029] = "\x83\xc8", [0x002a] = "\x83\xc9", [0x002b] = "\x83\xca",
+  [0x002c] = "\x83\xcb", [0x002d] = "\x83\xcc", [0x002e] = "\x83\xcd",
+  [0x002f] = "\x83\xce", [0x0030] = "\x83\xcf", [0x0032] = "\x83\xd0",
+  [0x0033] = "\x83\xd1", [0x0034] = "\x83\xd2", [0x0035] = "\x83\xd3",
+  [0x0036] = "\x83\xd4", [0x0037] = "\x83\xd5", [0x0038] = "\x83\xd6",
+  [0x0070] = "\x84\x46", [0x007f] = "\x84\x40", [0x0080] = "\x84\x41",
+  [0x0081] = "\x84\x42", [0x0082] = "\x84\x43", [0x0083] = "\x84\x44",
+  [0x0084] = "\x84\x45", [0x0085] = "\x84\x47", [0x0086] = "\x84\x48",
+  [0x0087] = "\x84\x49", [0x0088] = "\x84\x4a", [0x0089] = "\x84\x4b",
+  [0x008a] = "\x84\x4c", [0x008b] = "\x84\x4d", [0x008c] = "\x84\x4e",
+  [0x008d] = "\x84\x4f", [0x008e] = "\x84\x50", [0x008f] = "\x84\x51",
+  [0x0090] = "\x84\x52", [0x0091] = "\x84\x53", [0x0092] = "\x84\x54",
+  [0x0093] = "\x84\x55", [0x0094] = "\x84\x56", [0x0095] = "\x84\x57",
+  [0x0096] = "\x84\x58", [0x0097] = "\x84\x59", [0x0098] = "\x84\x5a",
+  [0x0099] = "\x84\x5b", [0x009a] = "\x84\x5c", [0x009b] = "\x84\x5d",
+  [0x009c] = "\x84\x5e", [0x009d] = "\x84\x5f", [0x009e] = "\x84\x60",
+  [0x009f] = "\x84\x70", [0x00a0] = "\x84\x71", [0x00a1] = "\x84\x72",
+  [0x00a2] = "\x84\x73", [0x00a3] = "\x84\x74", [0x00a4] = "\x84\x75",
+  [0x00a5] = "\x84\x77", [0x00a6] = "\x84\x78", [0x00a7] = "\x84\x79",
+  [0x00a8] = "\x84\x7a", [0x00a9] = "\x84\x7b", [0x00aa] = "\x84\x7c",
+  [0x00ab] = "\x84\x7d", [0x00ac] = "\x84\x7e", [0x00ad] = "\x84\x80",
+  [0x00ae] = "\x84\x81", [0x00af] = "\x84\x82", [0x00b0] = "\x84\x83",
+  [0x00b1] = "\x84\x84", [0x00b2] = "\x84\x85", [0x00b3] = "\x84\x86",
+  [0x00b4] = "\x84\x87", [0x00b5] = "\x84\x88", [0x00b6] = "\x84\x89",
+  [0x00b7] = "\x84\x8a", [0x00b8] = "\x84\x8b", [0x00b9] = "\x84\x8c",
+  [0x00ba] = "\x84\x8d", [0x00bb] = "\x84\x8e", [0x00bc] = "\x84\x8f",
+  [0x00bd] = "\x84\x90", [0x00be] = "\x84\x91", [0x00c0] = "\x84\x76"
+};
+
+
+/* The mapping of the Kanji is horrible.  The glyphs covered by Shift JIS
+   are spreaded all around the Unicode CJK area.  We use one big table
+   since using the gaps will not buy us much.
+
+   The following table can be generated using
+
+   awk '/^0x/ { print $2, $1; }' < ...eastasia/jis/shiftjis.txt |
+   egrep "^0x[2-9][[:xdigit:]][[:xdigit:]][[:xdigit:]]" |
+   sort -u | perl tab.pl
+
+   where tab.pl is
+
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   $n=0;
+   while (<>) {
+     local($ucs4, $sjis, %rest) = split;
+     local($u)=hex($ucs4);
+     local($s)=hex($sjis);
+     printf ("\n ") if ($n % 3 == 0);
+     ++$n;
+     printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x2010,
+	     $s < 0x100 ? $s : int($s/256), $s < 0x100 ? 0 : $s&255);
+   }
+   printf ("\n");
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+static const char from_ucs4_cjk[32657][2] =
+{
+  [0x0000] = "\x81\x5d", [0x0005] = "\x81\x5c", [0x0006] = "\x81\x61",
+  [0x0008] = "\x81\x65", [0x0009] = "\x81\x66", [0x000c] = "\x81\x67",
+  [0x000d] = "\x81\x68", [0x0010] = "\x81\xf5", [0x0011] = "\x81\xf6",
+  [0x0015] = "\x81\x64", [0x0016] = "\x81\x63", [0x0020] = "\x81\xf1",
+  [0x0022] = "\x81\x8c", [0x0023] = "\x81\x8d", [0x002b] = "\x81\xa6",
+  [0x002e] = "\x7e\x00", [0x00f3] = "\x81\x8e", [0x011b] = "\x81\xf0",
+  [0x0180] = "\x81\xa9", [0x0181] = "\x81\xaa", [0x0182] = "\x81\xa8",
+  [0x0183] = "\x81\xab", [0x01c2] = "\x81\xcb", [0x01c4] = "\x81\xcc",
+  [0x01f0] = "\x81\xcd", [0x01f2] = "\x81\xdd", [0x01f3] = "\x81\xce",
+  [0x01f7] = "\x81\xde", [0x01f8] = "\x81\xb8", [0x01fb] = "\x81\xb9",
+  [0x0202] = "\x81\x7c", [0x020a] = "\x81\xe3", [0x020d] = "\x81\xe5",
+  [0x020e] = "\x81\x87", [0x0210] = "\x81\xda", [0x0217] = "\x81\xc8",
+  [0x0218] = "\x81\xc9", [0x0219] = "\x81\xbf", [0x021a] = "\x81\xbe",
+  [0x021b] = "\x81\xe7", [0x021c] = "\x81\xe8", [0x0224] = "\x81\x88",
+  [0x0225] = "\x81\xe6", [0x022d] = "\x81\xe4", [0x0242] = "\x81\xe0",
+  [0x0250] = "\x81\x82", [0x0251] = "\x81\xdf", [0x0256] = "\x81\x85",
+  [0x0257] = "\x81\x86", [0x025a] = "\x81\xe1", [0x025b] = "\x81\xe2",
+  [0x0272] = "\x81\xbc", [0x0273] = "\x81\xbd", [0x0276] = "\x81\xba",
+  [0x0277] = "\x81\xbb", [0x0295] = "\x81\xdb", [0x0302] = "\x81\xdc",
+  [0x04f0] = "\x84\x9f", [0x04f1] = "\x84\xaa", [0x04f2] = "\x84\xa0",
+  [0x04f3] = "\x84\xab", [0x04fc] = "\x84\xa1", [0x04ff] = "\x84\xac",
+  [0x0500] = "\x84\xa2", [0x0503] = "\x84\xad", [0x0504] = "\x84\xa4",
+  [0x0507] = "\x84\xaf", [0x0508] = "\x84\xa3", [0x050b] = "\x84\xae",
+  [0x050c] = "\x84\xa5", [0x050d] = "\x84\xba", [0x0510] = "\x84\xb5",
+  [0x0513] = "\x84\xb0", [0x0514] = "\x84\xa7", [0x0515] = "\x84\xbc",
+  [0x0518] = "\x84\xb7", [0x051b] = "\x84\xb2", [0x051c] = "\x84\xa6",
+  [0x051f] = "\x84\xb6", [0x0520] = "\x84\xbb", [0x0523] = "\x84\xb1",
+  [0x0524] = "\x84\xa8", [0x0527] = "\x84\xb8", [0x0528] = "\x84\xbd",
+  [0x052b] = "\x84\xb3", [0x052c] = "\x84\xa9", [0x052f] = "\x84\xb9",
+  [0x0532] = "\x84\xbe", [0x053b] = "\x84\xb4", [0x0590] = "\x81\xa1",
+  [0x0591] = "\x81\xa0", [0x05a2] = "\x81\xa3", [0x05a3] = "\x81\xa2",
+  [0x05ac] = "\x81\xa5", [0x05ad] = "\x81\xa4", [0x05b6] = "\x81\x9f",
+  [0x05b7] = "\x81\x9e", [0x05bb] = "\x81\x9b", [0x05be] = "\x81\x9d",
+  [0x05bf] = "\x81\x9c", [0x05df] = "\x81\xfc", [0x05f5] = "\x81\x9a",
+  [0x05f6] = "\x81\x99", [0x0630] = "\x81\x8a", [0x0632] = "\x81\x89",
+  [0x065a] = "\x81\xf4", [0x065d] = "\x81\xf3", [0x065f] = "\x81\xf2",
+  [0x0ff0] = "\x81\x40", [0x0ff1] = "\x81\x41", [0x0ff2] = "\x81\x42",
+  [0x0ff3] = "\x81\x56", [0x0ff5] = "\x81\x58", [0x0ff6] = "\x81\x59",
+  [0x0ff7] = "\x81\x5a", [0x0ff8] = "\x81\x71", [0x0ff9] = "\x81\x72",
+  [0x0ffa] = "\x81\x73", [0x0ffb] = "\x81\x74", [0x0ffc] = "\x81\x75",
+  [0x0ffd] = "\x81\x76", [0x0ffe] = "\x81\x77", [0x0fff] = "\x81\x78",
+  [0x1000] = "\x81\x79", [0x1001] = "\x81\x7a", [0x1002] = "\x81\xa7",
+  [0x1003] = "\x81\xac", [0x1004] = "\x81\x6b", [0x1005] = "\x81\x6c",
+  [0x100c] = "\x81\x60", [0x1031] = "\x82\x9f", [0x1032] = "\x82\xa0",
+  [0x1033] = "\x82\xa1", [0x1034] = "\x82\xa2", [0x1035] = "\x82\xa3",
+  [0x1036] = "\x82\xa4", [0x1037] = "\x82\xa5", [0x1038] = "\x82\xa6",
+  [0x1039] = "\x82\xa7", [0x103a] = "\x82\xa8", [0x103b] = "\x82\xa9",
+  [0x103c] = "\x82\xaa", [0x103d] = "\x82\xab", [0x103e] = "\x82\xac",
+  [0x103f] = "\x82\xad", [0x1040] = "\x82\xae", [0x1041] = "\x82\xaf",
+  [0x1042] = "\x82\xb0", [0x1043] = "\x82\xb1", [0x1044] = "\x82\xb2",
+  [0x1045] = "\x82\xb3", [0x1046] = "\x82\xb4", [0x1047] = "\x82\xb5",
+  [0x1048] = "\x82\xb6", [0x1049] = "\x82\xb7", [0x104a] = "\x82\xb8",
+  [0x104b] = "\x82\xb9", [0x104c] = "\x82\xba", [0x104d] = "\x82\xbb",
+  [0x104e] = "\x82\xbc", [0x104f] = "\x82\xbd", [0x1050] = "\x82\xbe",
+  [0x1051] = "\x82\xbf", [0x1052] = "\x82\xc0", [0x1053] = "\x82\xc1",
+  [0x1054] = "\x82\xc2", [0x1055] = "\x82\xc3", [0x1056] = "\x82\xc4",
+  [0x1057] = "\x82\xc5", [0x1058] = "\x82\xc6", [0x1059] = "\x82\xc7",
+  [0x105a] = "\x82\xc8", [0x105b] = "\x82\xc9", [0x105c] = "\x82\xca",
+  [0x105d] = "\x82\xcb", [0x105e] = "\x82\xcc", [0x105f] = "\x82\xcd",
+  [0x1060] = "\x82\xce", [0x1061] = "\x82\xcf", [0x1062] = "\x82\xd0",
+  [0x1063] = "\x82\xd1", [0x1064] = "\x82\xd2", [0x1065] = "\x82\xd3",
+  [0x1066] = "\x82\xd4", [0x1067] = "\x82\xd5", [0x1068] = "\x82\xd6",
+  [0x1069] = "\x82\xd7", [0x106a] = "\x82\xd8", [0x106b] = "\x82\xd9",
+  [0x106c] = "\x82\xda", [0x106d] = "\x82\xdb", [0x106e] = "\x82\xdc",
+  [0x106f] = "\x82\xdd", [0x1070] = "\x82\xde", [0x1071] = "\x82\xdf",
+  [0x1072] = "\x82\xe0", [0x1073] = "\x82\xe1", [0x1074] = "\x82\xe2",
+  [0x1075] = "\x82\xe3", [0x1076] = "\x82\xe4", [0x1077] = "\x82\xe5",
+  [0x1078] = "\x82\xe6", [0x1079] = "\x82\xe7", [0x107a] = "\x82\xe8",
+  [0x107b] = "\x82\xe9", [0x107c] = "\x82\xea", [0x107d] = "\x82\xeb",
+  [0x107e] = "\x82\xec", [0x107f] = "\x82\xed", [0x1080] = "\x82\xee",
+  [0x1081] = "\x82\xef", [0x1082] = "\x82\xf0", [0x1083] = "\x82\xf1",
+  [0x108b] = "\x81\x4a", [0x108c] = "\x81\x4b", [0x108d] = "\x81\x54",
+  [0x108e] = "\x81\x55", [0x1091] = "\x83\x40", [0x1092] = "\x83\x41",
+  [0x1093] = "\x83\x42", [0x1094] = "\x83\x43", [0x1095] = "\x83\x44",
+  [0x1096] = "\x83\x45", [0x1097] = "\x83\x46", [0x1098] = "\x83\x47",
+  [0x1099] = "\x83\x48", [0x109a] = "\x83\x49", [0x109b] = "\x83\x4a",
+  [0x109c] = "\x83\x4b", [0x109d] = "\x83\x4c", [0x109e] = "\x83\x4d",
+  [0x109f] = "\x83\x4e", [0x10a0] = "\x83\x4f", [0x10a1] = "\x83\x50",
+  [0x10a2] = "\x83\x51", [0x10a3] = "\x83\x52", [0x10a4] = "\x83\x53",
+  [0x10a5] = "\x83\x54", [0x10a6] = "\x83\x55", [0x10a7] = "\x83\x56",
+  [0x10a8] = "\x83\x57", [0x10a9] = "\x83\x58", [0x10aa] = "\x83\x59",
+  [0x10ab] = "\x83\x5a", [0x10ac] = "\x83\x5b", [0x10ad] = "\x83\x5c",
+  [0x10ae] = "\x83\x5d", [0x10af] = "\x83\x5e", [0x10b0] = "\x83\x5f",
+  [0x10b1] = "\x83\x60", [0x10b2] = "\x83\x61", [0x10b3] = "\x83\x62",
+  [0x10b4] = "\x83\x63", [0x10b5] = "\x83\x64", [0x10b6] = "\x83\x65",
+  [0x10b7] = "\x83\x66", [0x10b8] = "\x83\x67", [0x10b9] = "\x83\x68",
+  [0x10ba] = "\x83\x69", [0x10bb] = "\x83\x6a", [0x10bc] = "\x83\x6b",
+  [0x10bd] = "\x83\x6c", [0x10be] = "\x83\x6d", [0x10bf] = "\x83\x6e",
+  [0x10c0] = "\x83\x6f", [0x10c1] = "\x83\x70", [0x10c2] = "\x83\x71",
+  [0x10c3] = "\x83\x72", [0x10c4] = "\x83\x73", [0x10c5] = "\x83\x74",
+  [0x10c6] = "\x83\x75", [0x10c7] = "\x83\x76", [0x10c8] = "\x83\x77",
+  [0x10c9] = "\x83\x78", [0x10ca] = "\x83\x79", [0x10cb] = "\x83\x7a",
+  [0x10cc] = "\x83\x7b", [0x10cd] = "\x83\x7c", [0x10ce] = "\x83\x7d",
+  [0x10cf] = "\x83\x7e", [0x10d0] = "\x83\x80", [0x10d1] = "\x83\x81",
+  [0x10d2] = "\x83\x82", [0x10d3] = "\x83\x83", [0x10d4] = "\x83\x84",
+  [0x10d5] = "\x83\x85", [0x10d6] = "\x83\x86", [0x10d7] = "\x83\x87",
+  [0x10d8] = "\x83\x88", [0x10d9] = "\x83\x89", [0x10da] = "\x83\x8a",
+  [0x10db] = "\x83\x8b", [0x10dc] = "\x83\x8c", [0x10dd] = "\x83\x8d",
+  [0x10de] = "\x83\x8e", [0x10df] = "\x83\x8f", [0x10e0] = "\x83\x90",
+  [0x10e1] = "\x83\x91", [0x10e2] = "\x83\x92", [0x10e3] = "\x83\x93",
+  [0x10e4] = "\x83\x94", [0x10e5] = "\x83\x95", [0x10e6] = "\x83\x96",
+  [0x10eb] = "\x81\x45", [0x10ec] = "\x81\x5b", [0x10ed] = "\x81\x52",
+  [0x10ee] = "\x81\x53", [0x2df0] = "\x88\xea", [0x2df1] = "\x92\x9a",
+  [0x2df3] = "\x8e\xb5", [0x2df7] = "\x96\x9c", [0x2df8] = "\x8f\xe4",
+  [0x2df9] = "\x8e\x4f", [0x2dfa] = "\x8f\xe3", [0x2dfb] = "\x89\xba",
+  [0x2dfd] = "\x95\x73", [0x2dfe] = "\x97\x5e", [0x2e00] = "\x98\xa0",
+  [0x2e01] = "\x89\x4e", [0x2e04] = "\x8a\x8e", [0x2e05] = "\x98\xa1",
+  [0x2e06] = "\x90\xa2", [0x2e07] = "\x99\xc0", [0x2e08] = "\x8b\x75",
+  [0x2e09] = "\x95\xb8", [0x2e0e] = "\x8f\xe5", [0x2e11] = "\x97\xbc",
+  [0x2e16] = "\x95\xc0", [0x2e1a] = "\x98\xa2", [0x2e1d] = "\x92\x86",
+  [0x2e21] = "\x98\xa3", [0x2e22] = "\x8b\xf8", [0x2e26] = "\x98\xa4",
+  [0x2e28] = "\x8a\xdb", [0x2e29] = "\x92\x4f", [0x2e2b] = "\x8e\xe5",
+  [0x2e2c] = "\x98\xa5", [0x2e2f] = "\x98\xa6", [0x2e32] = "\x98\xa7",
+  [0x2e33] = "\x94\x54", [0x2e35] = "\x8b\x76", [0x2e3b] = "\x94\x56",
+  [0x2e3d] = "\x93\xe1", [0x2e3e] = "\x8c\xc1", [0x2e3f] = "\x96\x52",
+  [0x2e45] = "\xe5\x68", [0x2e46] = "\x98\xa8", [0x2e47] = "\x8f\xe6",
+  [0x2e48] = "\x98\xa9", [0x2e49] = "\x89\xb3", [0x2e4d] = "\x8b\xe3",
+  [0x2e4e] = "\x8c\xee", [0x2e4f] = "\x96\xe7", [0x2e52] = "\x9b\xa4",
+  [0x2e61] = "\x97\x90", [0x2e63] = "\x93\xfb", [0x2e6e] = "\x8a\xa3",
+  [0x2e70] = "\x8b\x54", [0x2e72] = "\x98\xaa", [0x2e75] = "\x98\xab",
+  [0x2e76] = "\x97\xb9", [0x2e78] = "\x97\x5c", [0x2e79] = "\x91\x88",
+  [0x2e7a] = "\x98\xad", [0x2e7b] = "\x8e\x96", [0x2e7c] = "\x93\xf1",
+  [0x2e7e] = "\x98\xb0", [0x2e81] = "\x89\x5d", [0x2e82] = "\x8c\xdd",
+  [0x2e84] = "\x8c\xdc", [0x2e85] = "\x88\xe4", [0x2e88] = "\x98\x6a",
+  [0x2e89] = "\x98\x69", [0x2e8b] = "\x8d\xb1", [0x2e8c] = "\x88\x9f",
+  [0x2e8e] = "\x98\xb1", [0x2e8f] = "\x98\xb2", [0x2e90] = "\x98\xb3",
+  [0x2e91] = "\x96\x53", [0x2e92] = "\x98\xb4", [0x2e94] = "\x8c\xf0",
+  [0x2e95] = "\x88\xe5", [0x2e96] = "\x96\x92", [0x2e98] = "\x8b\x9c",
+  [0x2e9b] = "\x8b\x9d", [0x2e9c] = "\x8b\x9e", [0x2e9d] = "\x92\xe0",
+  [0x2e9e] = "\x97\xba", [0x2ea0] = "\x98\xb5", [0x2ea3] = "\x98\xb6",
+  [0x2ea6] = "\x98\xb7", [0x2eaa] = "\x90\x6c", [0x2eb0] = "\x8f\x59",
+  [0x2eb1] = "\x90\x6d", [0x2eb2] = "\x98\xbc", [0x2eb4] = "\x98\xba",
+  [0x2eb6] = "\x98\xbb", [0x2eb7] = "\x8b\x77", [0x2eba] = "\x8d\xa1",
+  [0x2ebb] = "\x89\xee", [0x2ebd] = "\x98\xb9", [0x2ebe] = "\x98\xb8",
+  [0x2ebf] = "\x95\xa7", [0x2ec4] = "\x8e\x65", [0x2ec5] = "\x8e\x64",
+  [0x2ec6] = "\x91\xbc", [0x2ec7] = "\x98\xbd", [0x2ec8] = "\x95\x74",
+  [0x2ec9] = "\x90\xe5", [0x2ecd] = "\x81\x57", [0x2ece] = "\x98\xbe",
+  [0x2ecf] = "\x98\xc0", [0x2ed3] = "\x91\xe3", [0x2ed4] = "\x97\xdf",
+  [0x2ed5] = "\x88\xc8", [0x2edd] = "\x98\xbf", [0x2ede] = "\x89\xbc",
+  [0x2ee0] = "\x8b\xc2", [0x2ee2] = "\x92\x87", [0x2ee6] = "\x8c\x8f",
+  [0x2ee7] = "\x98\xc1", [0x2eeb] = "\x94\x43", [0x2ef1] = "\x8a\xe9",
+  [0x2ef9] = "\x98\xc2", [0x2efa] = "\x88\xc9", [0x2efd] = "\x8c\xde",
+  [0x2efe] = "\x8a\xea", [0x2eff] = "\x95\x9a", [0x2f00] = "\x94\xb0",
+  [0x2f01] = "\x8b\x78", [0x2f0a] = "\x89\xef", [0x2f0c] = "\x98\xe5",
+  [0x2f0d] = "\x93\x60", [0x2f1f] = "\x94\x8c", [0x2f20] = "\x98\xc4",
+  [0x2f24] = "\x94\xba", [0x2f26] = "\x97\xe0", [0x2f28] = "\x90\x4c",
+  [0x2f2a] = "\x8e\x66", [0x2f2c] = "\x8e\x97", [0x2f2d] = "\x89\xbe",
+  [0x2f33] = "\x92\xcf", [0x2f36] = "\x92\x41", [0x2f37] = "\x98\xc8",
+  [0x2f3d] = "\x88\xca", [0x2f3e] = "\x92\xe1", [0x2f3f] = "\x8f\x5a",
+  [0x2f40] = "\x8d\xb2", [0x2f41] = "\x97\x43", [0x2f43] = "\x91\xcc",
+  [0x2f45] = "\x89\xbd", [0x2f47] = "\x98\xc7", [0x2f49] = "\x97\x5d",
+  [0x2f4a] = "\x98\xc3", [0x2f4b] = "\x98\xc5", [0x2f4c] = "\x8d\xec",
+  [0x2f4d] = "\x98\xc6", [0x2f4e] = "\x9b\x43", [0x2f59] = "\x98\xce",
+  [0x2f5f] = "\x98\xd1", [0x2f60] = "\x98\xcf", [0x2f63] = "\x89\xc0",
+  [0x2f65] = "\x95\xb9", [0x2f66] = "\x98\xc9", [0x2f6b] = "\x98\xcd",
+  [0x2f6c] = "\x8c\xf1", [0x2f6f] = "\x8e\x67", [0x2f73] = "\x8a\xa4",
+  [0x2f76] = "\x98\xd2", [0x2f78] = "\x98\xca", [0x2f7b] = "\x97\xe1",
+  [0x2f7d] = "\x8e\x98", [0x2f7f] = "\x98\xcb", [0x2f81] = "\x98\xd0",
+  [0x2f86] = "\x98\xd3", [0x2f88] = "\x98\xcc", [0x2f8b] = "\x8b\x9f",
+  [0x2f8d] = "\x88\xcb", [0x2f90] = "\x8b\xa0", [0x2f91] = "\x89\xbf",
+  [0x2f9b] = "\x9b\x44", [0x2f9d] = "\x96\x99", [0x2f9e] = "\x95\x8e",
+  [0x2f9f] = "\x8c\xf2", [0x2fa5] = "\x90\x4e", [0x2fa6] = "\x97\xb5",
+  [0x2faf] = "\x95\xd6", [0x2fb2] = "\x8c\x57", [0x2fb3] = "\x91\xa3",
+  [0x2fb4] = "\x89\xe2", [0x2fba] = "\x8f\x72", [0x2fbe] = "\x98\xd7",
+  [0x2fc0] = "\x98\xdc", [0x2fc1] = "\x98\xda", [0x2fc4] = "\x98\xd5",
+  [0x2fc7] = "\x91\xad", [0x2fc8] = "\x98\xd8", [0x2fca] = "\x98\xdb",
+  [0x2fcb] = "\x98\xd9", [0x2fcd] = "\x95\xdb", [0x2fcf] = "\x98\xd6",
+  [0x2fd1] = "\x90\x4d", [0x2fd3] = "\x96\x93", [0x2fd4] = "\x98\xdd",
+  [0x2fd5] = "\x98\xde", [0x2fde] = "\x8f\x43", [0x2fdf] = "\x98\xeb",
+  [0x2fe3] = "\x94\x6f", [0x2fe5] = "\x95\x55", [0x2fe6] = "\x98\xe6",
+  [0x2fe8] = "\x95\xee", [0x2fea] = "\x89\xb4", [0x2fee] = "\x98\xea",
+  [0x2ff5] = "\x98\xe4", [0x2ff6] = "\x98\xed", [0x2ff9] = "\x91\x71",
+  [0x2ffb] = "\x8c\xc2", [0x2ffd] = "\x94\x7b", [0x2fff] = "\xe0\xc5",
+  [0x3001] = "\x98\xec", [0x3002] = "\x93\x7c", [0x3004] = "\x98\xe1",
+  [0x3006] = "\x8c\xf4", [0x3009] = "\x8c\xf3", [0x300a] = "\x98\xdf",
+  [0x300f] = "\x8e\xd8", [0x3011] = "\x98\xe7", [0x3013] = "\x95\xed",
+  [0x3014] = "\x92\x6c", [0x3015] = "\x98\xe3", [0x3016] = "\x8c\x91",
+  [0x3018] = "\x98\xe0", [0x3019] = "\x98\xe8", [0x301a] = "\x98\xe2",
+  [0x301b] = "\x97\xcf", [0x301c] = "\x98\xe9", [0x301d] = "\x98\x60",
+  [0x3026] = "\x8b\xe4", [0x3029] = "\x8c\x90", [0x3033] = "\x98\xee",
+  [0x3037] = "\x98\xef", [0x3038] = "\x98\xf3", [0x3039] = "\x88\xcc",
+  [0x303f] = "\x95\xce", [0x3040] = "\x98\xf2", [0x3045] = "\x98\xf1",
+  [0x3046] = "\x98\xf5", [0x304a] = "\x98\xf4", [0x304c] = "\x92\xe2",
+  [0x3055] = "\x8c\x92", [0x305c] = "\x98\xf6", [0x3062] = "\x8e\xc3",
+  [0x3064] = "\x91\xa4", [0x3065] = "\x92\xe3", [0x3066] = "\x8b\xf4",
+  [0x3068] = "\x98\xf7", [0x306d] = "\x8b\x55", [0x3070] = "\x98\xf8",
+  [0x3075] = "\x98\xfa", [0x307d] = "\x96\x54", [0x3081] = "\x8c\x86",
+  [0x3088] = "\x8e\x50", [0x3089] = "\x94\xf5", [0x308a] = "\x98\xf9",
+  [0x309c] = "\x8d\xc3", [0x309d] = "\x97\x62", [0x30a2] = "\x98\xfc",
+  [0x30a3] = "\x99\x42", [0x30a4] = "\x98\xfb", [0x30a5] = "\x8d\xc2",
+  [0x30a7] = "\x8f\x9d", [0x30ae] = "\x8c\x58", [0x30b2] = "\x99\x43",
+  [0x30b5] = "\x8b\xcd", [0x30b9] = "\x99\x40", [0x30ba] = "\x99\x41",
+  [0x30bd] = "\x93\xad", [0x30bf] = "\x91\x9c", [0x30c1] = "\x8b\xa1",
+  [0x30c5] = "\x96\x6c", [0x30c6] = "\x99\x44", [0x30ca] = "\x97\xbb",
+  [0x30ce] = "\x99\x45", [0x30d3] = "\x99\x48", [0x30d5] = "\x99\x46",
+  [0x30d7] = "\x91\x6d", [0x30dd] = "\x99\x47", [0x30de] = "\x99\x49",
+  [0x30e5] = "\x99\x4b", [0x30e9] = "\x99\x4a", [0x30eb] = "\x95\xc6",
+  [0x30f0] = "\x8b\x56", [0x30f1] = "\x99\x4d", [0x30f2] = "\x99\x4e",
+  [0x30f4] = "\x89\xad", [0x30f9] = "\x99\x4c", [0x3102] = "\x8e\xf2",
+  [0x3104] = "\x99\x51", [0x3105] = "\x99\x50", [0x3106] = "\x99\x4f",
+  [0x3108] = "\x98\xd4", [0x310a] = "\x99\x52", [0x310f] = "\x8f\x9e",
+  [0x3111] = "\x99\x53", [0x311a] = "\x97\x44", [0x3122] = "\x96\xd7",
+  [0x3127] = "\x99\x55", [0x312a] = "\x99\x54", [0x312b] = "\x99\x57",
+  [0x312c] = "\x99\x56", [0x312f] = "\x99\x58", [0x3130] = "\x99\x59",
+  [0x3131] = "\x88\xf2", [0x3133] = "\x8c\xb3", [0x3134] = "\x8c\x5a",
+  [0x3135] = "\x8f\x5b", [0x3136] = "\x92\x9b", [0x3137] = "\x8b\xa2",
+  [0x3138] = "\x90\xe6", [0x3139] = "\x8c\xf5", [0x313b] = "\x8d\x8e",
+  [0x313c] = "\x99\x5b", [0x313d] = "\x96\xc6", [0x313e] = "\x93\x65",
+  [0x3140] = "\x8e\x99", [0x3142] = "\x99\x5a", [0x3144] = "\x99\x5c",
+  [0x314a] = "\x93\x7d", [0x314c] = "\x8a\x95", [0x3152] = "\x99\x5d",
+  [0x3155] = "\x93\xfc", [0x3158] = "\x91\x53", [0x3159] = "\x99\x5f",
+  [0x315a] = "\x99\x60", [0x315b] = "\x94\xaa", [0x315c] = "\x8c\xf6",
+  [0x315d] = "\x98\x5a", [0x315e] = "\x99\x61", [0x3161] = "\x8b\xa4",
+  [0x3165] = "\x95\xba", [0x3166] = "\x91\xb4", [0x3167] = "\x8b\xef",
+  [0x3168] = "\x93\x54", [0x316c] = "\x8c\x93", [0x3170] = "\x99\x62",
+  [0x3172] = "\x99\x63", [0x3175] = "\x93\xe0", [0x3176] = "\x89\x7e",
+  [0x3179] = "\x99\x66", [0x317a] = "\x8d\xfb", [0x317c] = "\x99\x65",
+  [0x317d] = "\x8d\xc4", [0x317f] = "\x99\x67", [0x3180] = "\xe3\xec",
+  [0x3181] = "\x99\x68", [0x3182] = "\x96\x60", [0x3183] = "\x99\x69",
+  [0x3185] = "\x99\x6a", [0x3186] = "\x99\x6b", [0x3187] = "\x8f\xe7",
+  [0x3189] = "\x8e\xca", [0x3190] = "\x8a\xa5", [0x3192] = "\x99\x6e",
+  [0x3194] = "\x99\x6c", [0x3195] = "\x96\xbb", [0x3196] = "\x99\x6d",
+  [0x3198] = "\x95\x79", [0x3199] = "\x99\x6f", [0x319a] = "\x99\x70",
+  [0x319b] = "\x99\x71", [0x319c] = "\x93\x7e", [0x31a0] = "\x99\x75",
+  [0x31a1] = "\x99\x73", [0x31a2] = "\x99\x74", [0x31a3] = "\x99\x72",
+  [0x31a4] = "\x8d\xe1", [0x31a5] = "\x99\x76", [0x31a6] = "\x96\xe8",
+  [0x31a7] = "\x97\xe2", [0x31ad] = "\x99\x77", [0x31b4] = "\x90\xa6",
+  [0x31b5] = "\x99\x78", [0x31b6] = "\x8f\x79", [0x31b9] = "\x99\x79",
+  [0x31bb] = "\x92\x9c", [0x31bc] = "\x97\xbd", [0x31bd] = "\x93\x80",
+  [0x31c6] = "\x99\xc3", [0x31cb] = "\x99\x7a", [0x31cc] = "\xea\xa3",
+  [0x31cd] = "\x8b\xc3", [0x31d0] = "\x99\x7b", [0x31d1] = "\x96\x7d",
+  [0x31d6] = "\x8f\x88", [0x31d7] = "\x91\xfa", [0x31d9] = "\x99\x7d",
+  [0x31da] = "\x93\xe2", [0x31dd] = "\x99\x7e", [0x31e0] = "\x99\x80",
+  [0x31e1] = "\x8a\x4d", [0x31e5] = "\x99\x81", [0x31e6] = "\x8b\xa5",
+  [0x31e8] = "\x93\xca", [0x31e9] = "\x89\x9a", [0x31ea] = "\x8f\x6f",
+  [0x31ed] = "\x94\x9f", [0x31ee] = "\x99\x82", [0x31f0] = "\x93\x81",
+  [0x31f3] = "\x90\x6e", [0x31f4] = "\x99\x83", [0x31f6] = "\x95\xaa",
+  [0x31f7] = "\x90\xd8", [0x31f8] = "\x8a\xa0", [0x31fa] = "\x8a\xa7",
+  [0x31fb] = "\x99\x84", [0x31fe] = "\x99\x86", [0x3201] = "\x8c\x59",
+  [0x3204] = "\x99\x85", [0x3207] = "\x97\xf1", [0x320d] = "\x8f\x89",
+  [0x3214] = "\x94\xbb", [0x3215] = "\x95\xca", [0x3217] = "\x99\x87",
+  [0x3219] = "\x97\x98", [0x321a] = "\x99\x88", [0x321e] = "\x99\x89",
+  [0x3220] = "\x93\x9e", [0x3223] = "\x99\x8a", [0x3226] = "\x90\xa7",
+  [0x3227] = "\x8d\xfc", [0x3228] = "\x8c\x94", [0x3229] = "\x99\x8b",
+  [0x322a] = "\x8e\x68", [0x322b] = "\x8d\x8f", [0x3233] = "\x92\xe4",
+  [0x3234] = "\x99\x8d", [0x3237] = "\x91\xa5", [0x323a] = "\x8d\xed",
+  [0x323b] = "\x99\x8e", [0x323c] = "\x99\x8f", [0x323d] = "\x91\x4f",
+  [0x323f] = "\x99\x8c", [0x3244] = "\x99\x91", [0x3246] = "\x96\x55",
+  [0x324b] = "\x8d\x84", [0x324e] = "\x99\x90", [0x3253] = "\x8c\x95",
+  [0x3254] = "\x8d\xdc", [0x3255] = "\x94\x8d", [0x3259] = "\x99\x94",
+  [0x325a] = "\x99\x92", [0x325f] = "\x95\x9b", [0x3260] = "\x8f\xe8",
+  [0x3261] = "\x99\x9b", [0x3262] = "\x8a\x84", [0x3263] = "\x99\x95",
+  [0x3264] = "\x99\x93", [0x3265] = "\x91\x6e", [0x326d] = "\x99\x97",
+  [0x326f] = "\x99\x96", [0x3273] = "\x8a\x63", [0x3277] = "\x8c\x80",
+  [0x3278] = "\x99\x9c", [0x3279] = "\x97\xab", [0x327d] = "\x99\x98",
+  [0x3281] = "\x99\x9d", [0x3282] = "\x99\x9a", [0x3284] = "\x99\x99",
+  [0x328b] = "\x97\xcd", [0x328f] = "\x8c\xf7", [0x3290] = "\x89\xc1",
+  [0x3293] = "\x97\xf2", [0x3299] = "\x8f\x95", [0x329a] = "\x93\x77",
+  [0x329b] = "\x8d\x85", [0x329c] = "\x99\xa0", [0x329d] = "\x99\xa1",
+  [0x32a1] = "\x97\xe3", [0x32a4] = "\x98\x4a", [0x32a5] = "\x99\xa3",
+  [0x32a9] = "\x8c\xf8", [0x32ac] = "\x99\xa2", [0x32ae] = "\x8a\x4e",
+  [0x32b1] = "\x99\xa4", [0x32b3] = "\x96\x75", [0x32b5] = "\x92\xba",
+  [0x32b7] = "\x97\x45", [0x32b9] = "\x95\xd7", [0x32bd] = "\x99\xa5",
+  [0x32c2] = "\xe8\xd3", [0x32c5] = "\x93\xae", [0x32c7] = "\x99\xa6",
+  [0x32c8] = "\x8a\xa8", [0x32c9] = "\x96\xb1", [0x32cd] = "\x8f\x9f",
+  [0x32ce] = "\x99\xa7", [0x32cf] = "\x95\xe5", [0x32d0] = "\x99\xab",
+  [0x32d2] = "\x90\xa8", [0x32d3] = "\x99\xa8", [0x32d4] = "\x8b\xce",
+  [0x32d6] = "\x99\xa9", [0x32d7] = "\x8a\xa9", [0x32e2] = "\x8c\x4d",
+  [0x32e3] = "\x99\xac", [0x32e5] = "\x99\xad", [0x32e8] = "\x99\xae",
+  [0x32e9] = "\x99\xaf", [0x32ea] = "\x8e\xd9", [0x32ee] = "\x8c\xf9",
+  [0x32ef] = "\x96\xdc", [0x32f1] = "\x96\xe6", [0x32f2] = "\x93\xf5",
+  [0x32f5] = "\x95\xef", [0x32f6] = "\x99\xb0", [0x32f8] = "\x99\xb1",
+  [0x32fd] = "\x99\xb3", [0x32ff] = "\x99\xb5", [0x3300] = "\x99\xb4",
+  [0x3305] = "\x99\xb6", [0x3306] = "\x89\xbb", [0x3307] = "\x96\x6b",
+  [0x3309] = "\x8d\xfa", [0x330a] = "\x99\xb7", [0x330d] = "\x91\x78",
+  [0x3310] = "\x8f\xa0", [0x3311] = "\x8b\xa7", [0x3313] = "\x99\xb8",
+  [0x331a] = "\x94\xd9", [0x331f] = "\x99\xb9", [0x3321] = "\x99\xba",
+  [0x3323] = "\x99\xbb", [0x3328] = "\x99\xbc", [0x3329] = "\x95\x43",
+  [0x332a] = "\x8b\xe6", [0x332b] = "\x88\xe3", [0x332f] = "\x93\xbd",
+  [0x3330] = "\x99\xbd", [0x3331] = "\x8f\x5c", [0x3333] = "\x90\xe7",
+  [0x3335] = "\x99\xbf", [0x3336] = "\x99\xbe", [0x3337] = "\x8f\xa1",
+  [0x3338] = "\x8c\xdf", [0x3339] = "\x99\xc1", [0x333a] = "\x94\xbc",
+  [0x333d] = "\x99\xc2", [0x3341] = "\x94\xda", [0x3342] = "\x91\xb2",
+  [0x3343] = "\x91\xec", [0x3344] = "\x8b\xa6", [0x3347] = "\x93\xec",
+  [0x3348] = "\x92\x50", [0x334a] = "\x94\x8e", [0x334c] = "\x96\x6d",
+  [0x334e] = "\x99\xc4", [0x3350] = "\x90\xe8", [0x3356] = "\x8c\x54",
+  [0x3359] = "\x99\xc5", [0x335e] = "\x99\xc6", [0x335f] = "\x89\x4b",
+  [0x3360] = "\x88\xf3", [0x3361] = "\x8a\xeb", [0x3363] = "\x91\xa6",
+  [0x3364] = "\x8b\x70", [0x3365] = "\x97\x91", [0x3367] = "\x99\xc9",
+  [0x3368] = "\x89\xb5", [0x336b] = "\x99\xc8", [0x336f] = "\x8b\xa8",
+  [0x3372] = "\x99\xca", [0x3374] = "\x96\xef", [0x3386] = "\x99\xcb",
+  [0x3388] = "\x97\xd0", [0x338a] = "\x8c\xfa", [0x338f] = "\x8c\xb4",
+  [0x3390] = "\x99\xcc", [0x3395] = "\x99\xce", [0x3396] = "\x99\xcd",
+  [0x3398] = "\x90\x7e", [0x3399] = "\x89\x58", [0x339d] = "\x89\x7d",
+  [0x339e] = "\x99\xcf", [0x33a0] = "\x99\xd0", [0x33a3] = "\x8c\xb5",
+  [0x33a6] = "\x99\xd1", [0x33ab] = "\x8b\x8e", [0x33b2] = "\x8e\x51",
+  [0x33b3] = "\x99\xd2", [0x33b8] = "\x96\x94", [0x33b9] = "\x8d\xb3",
+  [0x33ba] = "\x8b\x79", [0x33bb] = "\x97\x46", [0x33bc] = "\x91\x6f",
+  [0x33bd] = "\x94\xbd", [0x33be] = "\x8e\xfb", [0x33c4] = "\x8f\x66",
+  [0x33c6] = "\x8e\xe6", [0x33c7] = "\x8e\xf3", [0x33c9] = "\x8f\x96",
+  [0x33cb] = "\x94\xbe", [0x33cf] = "\x99\xd5", [0x33d1] = "\x89\x62",
+  [0x33d2] = "\x91\x70", [0x33d3] = "\x8c\xfb", [0x33d4] = "\x8c\xc3",
+  [0x33d5] = "\x8b\xe5", [0x33d8] = "\x99\xd9", [0x33d9] = "\x92\x40",
+  [0x33da] = "\x91\xfc", [0x33db] = "\x8b\xa9", [0x33dc] = "\x8f\xa2",
+  [0x33dd] = "\x99\xda", [0x33de] = "\x99\xd8", [0x33df] = "\x89\xc2",
+  [0x33e0] = "\x91\xe4", [0x33e1] = "\x8e\xb6", [0x33e2] = "\x8e\x6a",
+  [0x33e3] = "\x89\x45", [0x33e6] = "\x8a\x90", [0x33e7] = "\x8d\x86",
+  [0x33e8] = "\x8e\x69", [0x33ea] = "\x99\xdb", [0x33f1] = "\x99\xdc",
+  [0x33f3] = "\x8b\x68", [0x33f4] = "\x8a\x65", [0x33f8] = "\x8d\x87",
+  [0x33f9] = "\x8b\x67", [0x33fa] = "\x92\xdd", [0x33fb] = "\x89\x44",
+  [0x33fc] = "\x93\xaf", [0x33fd] = "\x96\xbc", [0x33fe] = "\x8d\x40",
+  [0x33ff] = "\x97\x99", [0x3400] = "\x93\x66", [0x3401] = "\x8c\xfc",
+  [0x340b] = "\x8c\x4e", [0x340d] = "\x99\xe5", [0x340f] = "\x8b\xe1",
+  [0x3410] = "\x96\x69", [0x3416] = "\x94\xdb", [0x3419] = "\x99\xe4",
+  [0x341b] = "\x8a\xdc", [0x341c] = "\x99\xdf", [0x341d] = "\x99\xe0",
+  [0x341e] = "\x99\xe2", [0x3426] = "\x99\xe3", [0x3428] = "\x8b\x7a",
+  [0x3429] = "\x90\x81", [0x342b] = "\x95\xab", [0x342c] = "\x99\xe1",
+  [0x342d] = "\x99\xdd", [0x342e] = "\x8c\xe1", [0x3430] = "\x99\xde",
+  [0x3432] = "\x98\x43", [0x3436] = "\x95\xf0", [0x3438] = "\x92\xe6",
+  [0x3439] = "\x8c\xe0", [0x343a] = "\x8d\x90", [0x343e] = "\x99\xe6",
+  [0x3441] = "\x93\xdb", [0x344f] = "\x99\xea", [0x3458] = "\x8e\xfc",
+  [0x345a] = "\x8e\xf4", [0x3460] = "\x99\xed", [0x3461] = "\x99\xeb",
+  [0x3463] = "\x96\xa1", [0x3465] = "\x99\xe8", [0x3466] = "\x99\xf1",
+  [0x3467] = "\x99\xec", [0x346b] = "\x99\xef", [0x346c] = "\x8c\xc4",
+  [0x346d] = "\x96\xbd", [0x3470] = "\x99\xf0", [0x3474] = "\x99\xf2",
+  [0x3476] = "\x99\xf4", [0x347b] = "\x8d\xee", [0x347c] = "\x98\x61",
+  [0x347e] = "\x99\xe9", [0x347f] = "\x99\xe7", [0x3480] = "\x99\xf3",
+  [0x3482] = "\x99\xee", [0x3492] = "\x99\xf6", [0x3494] = "\x9a\x42",
+  [0x3495] = "\x99\xf8", [0x3498] = "\x99\xfc", [0x349b] = "\x9a\x40",
+  [0x349c] = "\x99\xf9", [0x349f] = "\x9a\x5d", [0x34a2] = "\x8d\xe7",
+  [0x34a3] = "\x8a\x50", [0x34a8] = "\x99\xf7", [0x34ac] = "\x9a\x44",
+  [0x34ad] = "\x88\xf4", [0x34ae] = "\x9a\x43", [0x34b0] = "\x88\xa3",
+  [0x34b1] = "\x95\x69", [0x34b2] = "\x9a\x41", [0x34b4] = "\x99\xfa",
+  [0x34b7] = "\x99\xf5", [0x34b8] = "\x99\xfb", [0x34b9] = "\x8d\xc6",
+  [0x34c8] = "\x9a\x45", [0x34d1] = "\x88\xf5", [0x34d2] = "\x9a\x4e",
+  [0x34d5] = "\x9a\x46", [0x34d6] = "\x9a\x47", [0x34d8] = "\x8f\xa3",
+  [0x34d9] = "\x96\x89", [0x34dd] = "\x9a\x4c", [0x34de] = "\x9a\x4b",
+  [0x34e2] = "\x93\x4e", [0x34ea] = "\x9a\x4d", [0x34ed] = "\x9a\x4a",
+  [0x34f4] = "\x89\x53", [0x34f6] = "\x8d\xb4", [0x34f7] = "\x90\x4f",
+  [0x34ff] = "\x9a\x48", [0x3500] = "\x93\x82", [0x3504] = "\x9a\x49",
+  [0x3506] = "\x88\xa0", [0x351e] = "\x9a\x53", [0x351f] = "\x97\x42",
+  [0x3521] = "\x8f\xa5", [0x3523] = "\x9a\x59", [0x3528] = "\x9a\x58",
+  [0x3529] = "\x9a\x4f", [0x352e] = "\x91\xc1", [0x3530] = "\x9a\x50",
+  [0x3534] = "\x91\xed", [0x3535] = "\x9a\x55", [0x3536] = "\x8f\xa4",
+  [0x353c] = "\x9a\x52", [0x353f] = "\x96\xe2", [0x3543] = "\x8c\x5b",
+  [0x3546] = "\x9a\x56", [0x3547] = "\x9a\x57", [0x354c] = "\x9a\x54",
+  [0x354d] = "\x9a\x5a", [0x3553] = "\x9a\x51", [0x356b] = "\x9a\x60",
+  [0x356c] = "\x9a\x65", [0x356e] = "\x9a\x61", [0x3570] = "\x9a\x5c",
+  [0x3573] = "\x9a\x66", [0x3574] = "\x91\x50", [0x3577] = "\x9a\x68",
+  [0x3579] = "\x8d\x41", [0x357a] = "\x9a\x5e", [0x357b] = "\x92\x9d",
+  [0x3588] = "\x9a\x62", [0x3589] = "\x9a\x5b", [0x358a] = "\x8a\xab",
+  [0x358c] = "\x8a\xec", [0x358d] = "\x8a\x85", [0x358e] = "\x9a\x63",
+  [0x358f] = "\x9a\x5f", [0x3597] = "\x8c\x96", [0x3598] = "\x9a\x69",
+  [0x3599] = "\x9a\x67", [0x359a] = "\x91\x72", [0x359b] = "\x8b\x69",
+  [0x359c] = "\x8b\xaa", [0x359e] = "\x9a\x64", [0x35a0] = "\x8b\xf2",
+  [0x35a6] = "\x89\x63", [0x35b4] = "\x9a\x6d", [0x35b5] = "\x9a\x6b",
+  [0x35b7] = "\x9a\xa5", [0x35c4] = "\x9a\x70", [0x35ca] = "\x9a\x6a",
+  [0x35cc] = "\x9a\x6e", [0x35cf] = "\x9a\x6c", [0x35d3] = "\x8e\x6b",
+  [0x35d4] = "\x9a\x6f", [0x35e7] = "\x9a\x72", [0x35e9] = "\x9a\x77",
+  [0x35ed] = "\x9a\x75", [0x35ee] = "\x9a\x74", [0x35f6] = "\x92\x51",
+  [0x35f9] = "\x89\xc3", [0x3604] = "\x9a\x71", [0x3606] = "\x9a\x73",
+  [0x3607] = "\x8f\xa6", [0x3608] = "\x89\x52", [0x360b] = "\x9a\x76",
+  [0x3619] = "\x89\xdc", [0x361f] = "\x9a\x82", [0x3621] = "\x8f\xfa",
+  [0x3622] = "\x9a\x7d", [0x3624] = "\x9a\x7b", [0x3626] = "\x9a\x7c",
+  [0x3628] = "\x9a\x7e", [0x3632] = "\x89\x5c", [0x363c] = "\x91\x58",
+  [0x363e] = "\x9a\x78", [0x3640] = "\x9a\x79", [0x364b] = "\x8a\x9a",
+  [0x3654] = "\x9a\x81", [0x3658] = "\x8a\xed", [0x365a] = "\x9a\x84",
+  [0x365b] = "\x9a\x80", [0x365c] = "\x9a\x83", [0x3664] = "\x95\xac",
+  [0x3668] = "\x93\xd3", [0x366a] = "\x94\xb6", [0x3670] = "\x9a\x86",
+  [0x3676] = "\x9a\x85", [0x3677] = "\x8a\x64", [0x367a] = "\x9a\x87",
+  [0x367f] = "\x9a\x8a", [0x3684] = "\x9a\x89", [0x3690] = "\x9a\x88",
+  [0x3692] = "\x94\x58", [0x3695] = "\x9a\x8b", [0x369e] = "\x9a\x8c",
+  [0x36a4] = "\x9a\x8e", [0x36a6] = "\x9a\x8d", [0x36ac] = "\x9a\x90",
+  [0x36b0] = "\x9a\x93", [0x36b1] = "\x9a\x91", [0x36b2] = "\x9a\x8f",
+  [0x36b3] = "\x9a\x92", [0x36b8] = "\x9a\x94", [0x36be] = "\x9a\x95",
+  [0x36c1] = "\x9a\x96", [0x36c3] = "\x9a\x97", [0x36c7] = "\x9a\x98",
+  [0x36c8] = "\x99\x64", [0x36ca] = "\x8e\xfa", [0x36cb] = "\x8e\x6c",
+  [0x36ce] = "\x89\xf1", [0x36d0] = "\x88\xf6", [0x36d3] = "\x92\x63",
+  [0x36de] = "\x9a\x99", [0x36e0] = "\x8d\xa2", [0x36e2] = "\x88\xcd",
+  [0x36e3] = "\x90\x7d", [0x36e9] = "\x9a\x9a", [0x36ea] = "\x8c\xc5",
+  [0x36ed] = "\x8d\x91", [0x36ef] = "\x9a\x9c", [0x36f0] = "\x9a\x9b",
+  [0x36f3] = "\x95\xde", [0x36f4] = "\x9a\x9d", [0x36f8] = "\x9a\x9f",
+  [0x36f9] = "\x9a\x9e", [0x36fb] = "\x9a\xa0", [0x36fd] = "\x9a\xa1",
+  [0x36ff] = "\x8c\x97", [0x3702] = "\x89\x80", [0x3703] = "\x9a\xa2",
+  [0x3706] = "\x9a\xa4", [0x3708] = "\x9a\xa3", [0x370c] = "\x9a\xa6",
+  [0x370f] = "\x93\x79", [0x3716] = "\x9a\xa7", [0x3717] = "\x88\xb3",
+  [0x3718] = "\x8d\xdd", [0x371d] = "\x8c\x5c", [0x3720] = "\x92\x6e",
+  [0x3727] = "\x9a\xa8", [0x3728] = "\x9a\xa9", [0x372b] = "\x9a\xab",
+  [0x3730] = "\x9a\xac", [0x3732] = "\x8d\xe2", [0x3737] = "\x8b\xcf",
+  [0x373a] = "\x96\x56", [0x373e] = "\x9a\xaa", [0x373f] = "\x9a\xad",
+  [0x3740] = "\x8d\xbf", [0x3741] = "\x8d\x42", [0x3751] = "\x9a\xb1",
+  [0x3754] = "\x8d\xa3", [0x3756] = "\x92\x52", [0x3759] = "\x9a\xae",
+  [0x375a] = "\x92\xd8", [0x376f] = "\x9a\xb2", [0x3772] = "\x90\x82",
+  [0x3778] = "\x9a\xb0", [0x3779] = "\x9a\xb3", [0x377b] = "\x8c\x5e",
+  [0x3783] = "\x9a\xb4", [0x3790] = "\x9a\xb5", [0x3792] = "\x8d\x43",
+  [0x3793] = "\x8a\x5f", [0x3794] = "\x9a\xb7", [0x379a] = "\x9a\xb8",
+  [0x37a0] = "\x9a\xb9", [0x37a3] = "\x9a\xb6", [0x37b0] = "\x9a\xaf",
+  [0x37b3] = "\x9a\xba", [0x37b6] = "\x9a\xbb", [0x37bb] = "\x96\x84",
+  [0x37be] = "\x8f\xe9", [0x37c2] = "\x9a\xbd", [0x37c3] = "\x9a\xbe",
+  [0x37c4] = "\x9a\xbc", [0x37c6] = "\x9a\xc0", [0x37cc] = "\x94\x57",
+  [0x37cf] = "\x88\xe6", [0x37d0] = "\x95\x75", [0x37d3] = "\x9a\xc1",
+  [0x37e4] = "\x8f\xfb", [0x37e7] = "\x8e\xb7", [0x37e9] = "\x94\x7c",
+  [0x37ea] = "\x8a\xee", [0x37ec] = "\x8d\xe9", [0x37f0] = "\x96\x78",
+  [0x37f2] = "\x93\xb0", [0x37f5] = "\x8c\x98", [0x37f6] = "\x91\xcd",
+  [0x37fa] = "\x9a\xbf", [0x37fb] = "\x9a\xc2", [0x3805] = "\x91\xc2",
+  [0x3809] = "\x9a\xc3", [0x380d] = "\x9a\xc4", [0x3811] = "\x9a\xc6",
+  [0x3814] = "\x92\xe7", [0x381a] = "\x8a\xac", [0x381f] = "\xea\x9f",
+  [0x3820] = "\x89\x81", [0x3821] = "\x95\xf1", [0x3824] = "\x8f\xea",
+  [0x3825] = "\x93\x67", [0x382a] = "\x8d\xe4", [0x382d] = "\x9a\xcc",
+  [0x3830] = "\x95\xbb", [0x3831] = "\x97\xdb", [0x383a] = "\x89\xf2",
+  [0x383b] = "\x9a\xc8", [0x3841] = "\x91\x59", [0x3842] = "\x9a\xcb",
+  [0x3844] = "\x93\x83", [0x3847] = "\x93\x68", [0x3848] = "\x93\x84",
+  [0x3849] = "\x94\xb7", [0x384a] = "\x92\xcb", [0x384e] = "\x8d\xc7",
+  [0x3852] = "\x9a\xc7", [0x3859] = "\x89\x96", [0x385b] = "\x93\x55",
+  [0x3860] = "\x9a\xc9", [0x3862] = "\x9a\xc5", [0x3865] = "\x90\x6f",
+  [0x3869] = "\x9a\xcd", [0x386e] = "\x8f\x6d", [0x3873] = "\x8b\xab",
+  [0x3875] = "\x9a\xce", [0x3883] = "\x95\xe6", [0x3887] = "\x91\x9d",
+  [0x388c] = "\x92\xc4", [0x388f] = "\x9a\xd0", [0x3898] = "\x96\x6e",
+  [0x389b] = "\x9a\xd1", [0x389e] = "\x9a\xd6", [0x38a3] = "\x95\xad",
+  [0x38a8] = "\x9a\xd5", [0x38a9] = "\x9a\xcf", [0x38aa] = "\x9a\xd2",
+  [0x38ab] = "\x9a\xd4", [0x38ae] = "\x8d\xa4", [0x38b1] = "\x95\xc7",
+  [0x38b5] = "\x9a\xd7", [0x38b7] = "\x92\x64", [0x38ba] = "\x89\xf3",
+  [0x38bc] = "\x8f\xeb", [0x38c1] = "\x9a\xd9", [0x38c3] = "\x9a\xd8",
+  [0x38c5] = "\x8d\x88", [0x38c7] = "\x9a\xda", [0x38c8] = "\x9a\xdc",
+  [0x38c9] = "\x9a\xdb", [0x38cc] = "\x9a\xde", [0x38ce] = "\x9a\xd3",
+  [0x38cf] = "\x9a\xe0", [0x38d4] = "\x9a\xdf", [0x38d5] = "\x9a\xdd",
+  [0x38db] = "\x8e\x6d", [0x38dc] = "\x90\x70", [0x38de] = "\x91\x73",
+  [0x38df] = "\x9a\xe1", [0x38e0] = "\x90\xba", [0x38e1] = "\x88\xeb",
+  [0x38e2] = "\x94\x84", [0x38e7] = "\x92\xd9", [0x38e9] = "\x9a\xe3",
+  [0x38ea] = "\x9a\xe2", [0x38eb] = "\x9a\xe4", [0x38ec] = "\x9a\xe5",
+  [0x38ed] = "\x9a\xe6", [0x38f2] = "\x9a\xe7", [0x38f9] = "\x95\xcf",
+  [0x38fa] = "\x9a\xe8", [0x38ff] = "\x89\xc4", [0x3900] = "\x9a\xe9",
+  [0x3905] = "\x97\x5b", [0x3906] = "\x8a\x4f", [0x3908] = "\x99\xc7",
+  [0x3909] = "\x8f\x67", [0x390a] = "\x91\xbd", [0x390b] = "\x9a\xea",
+  [0x390c] = "\x96\xe9", [0x3912] = "\x96\xb2", [0x3915] = "\x9a\xec",
+  [0x3917] = "\x91\xe5", [0x3919] = "\x93\x56", [0x391a] = "\x91\xbe",
+  [0x391b] = "\x95\x76", [0x391c] = "\x9a\xed", [0x391d] = "\x9a\xee",
+  [0x391e] = "\x89\x9b", [0x3921] = "\x8e\xb8", [0x3922] = "\x9a\xef",
+  [0x3927] = "\x88\xce", [0x3928] = "\x9a\xf0", [0x392e] = "\x9a\xf1",
+  [0x3934] = "\x89\x82", [0x3937] = "\x8a\xef", [0x3938] = "\x93\xde",
+  [0x3939] = "\x95\xf2", [0x393e] = "\x9a\xf5", [0x393f] = "\x91\x74",
+  [0x3940] = "\x9a\xf4", [0x3941] = "\x8c\x5f", [0x3944] = "\x96\x7a",
+  [0x3945] = "\x9a\xf3", [0x3947] = "\x93\x85", [0x3948] = "\x9a\xf7",
+  [0x394a] = "\x9a\xf6", [0x3950] = "\x9a\xf9", [0x3952] = "\x9a\xf8",
+  [0x3955] = "\x89\x9c", [0x3957] = "\x9a\xfa", [0x3958] = "\x8f\xa7",
+  [0x3959] = "\x9a\xfc", [0x395a] = "\x92\x44", [0x395c] = "\x9a\xfb",
+  [0x395e] = "\x95\xb1", [0x3963] = "\x8f\x97", [0x3964] = "\x93\x7a",
+  [0x3968] = "\x9b\x40", [0x396d] = "\x8d\x44", [0x3971] = "\x9b\x41",
+  [0x3972] = "\x94\x40", [0x3973] = "\x94\xdc", [0x3974] = "\x96\xcf",
+  [0x397a] = "\x94\x44", [0x397d] = "\x9b\x4a", [0x3983] = "\x8b\x57",
+  [0x3986] = "\x97\x64", [0x3989] = "\x96\xad", [0x398b] = "\x9b\xaa",
+  [0x398d] = "\x9b\x42", [0x3993] = "\x9b\x45", [0x3995] = "\x91\xc3",
+  [0x3998] = "\x96\x57", [0x399c] = "\x93\x69", [0x39a2] = "\x9b\x46",
+  [0x39a9] = "\x96\x85", [0x39ab] = "\x8d\xc8", [0x39ae] = "\x8f\xa8",
+  [0x39b6] = "\x9b\x47", [0x39b9] = "\x8e\x6f", [0x39bb] = "\x8e\x6e",
+  [0x39c0] = "\x88\xb7", [0x39c1] = "\x8c\xc6", [0x39c3] = "\x90\xa9",
+  [0x39c4] = "\x88\xcf", [0x39c9] = "\x9b\x4b", [0x39ca] = "\x9b\x4c",
+  [0x39cc] = "\x9b\x49", [0x39d5] = "\x89\x57", [0x39d6] = "\x8a\xad",
+  [0x39d8] = "\x9b\x48", [0x39da] = "\x96\xc3", [0x39db] = "\x95\x50",
+  [0x39e6] = "\x88\xa6", [0x39eb] = "\x88\xf7", [0x39ef] = "\x8e\x70",
+  [0x39f1] = "\x88\xd0", [0x39f3] = "\x88\xa1", [0x39f9] = "\x9b\x51",
+  [0x3a01] = "\x9b\x4f", [0x3a08] = "\x96\xba", [0x3a0a] = "\x9b\x52",
+  [0x3a0c] = "\x9b\x50", [0x3a0f] = "\x9b\x4e", [0x3a10] = "\x90\x50",
+  [0x3a15] = "\x9b\x4d", [0x3a19] = "\x95\xd8", [0x3a1f] = "\x8c\xe2",
+  [0x3a25] = "\x9b\x56", [0x3a26] = "\x9b\x57", [0x3a2c] = "\x8f\xa9",
+  [0x3a30] = "\x9b\x53", [0x3a31] = "\x98\x4b", [0x3a36] = "\x94\x6b",
+  [0x3a39] = "\x9b\x55", [0x3a4a] = "\x8d\xa5", [0x3a52] = "\x9b\x58",
+  [0x3a56] = "\x95\x77", [0x3a5a] = "\x9b\x59", [0x3a5c] = "\x9b\x54",
+  [0x3a6f] = "\x96\xb9", [0x3a82] = "\x94\x7d", [0x3a8a] = "\x9b\x5a",
+  [0x3a8b] = "\x95\x51", [0x3aac] = "\x9b\x5b", [0x3aad] = "\x9b\x5f",
+  [0x3aae] = "\x9b\x5c", [0x3ab1] = "\x89\xc5", [0x3ab2] = "\x9b\x5e",
+  [0x3ab9] = "\x8e\xb9", [0x3abb] = "\x9b\x5d", [0x3abc] = "\x8c\x99",
+  [0x3ac0] = "\x9b\x6b", [0x3ac6] = "\x9b\x64", [0x3ac7] = "\x9b\x61",
+  [0x3ad1] = "\x92\x84", [0x3ad3] = "\x9b\x60", [0x3ad6] = "\x9b\x62",
+  [0x3ad9] = "\x9b\x63", [0x3aea] = "\x9b\x65", [0x3aeb] = "\x9b\x66",
+  [0x3af9] = "\x8a\xf0", [0x3afb] = "\x9b\x68", [0x3afc] = "\x9b\x67",
+  [0x3b06] = "\x9b\x69", [0x3b12] = "\x8f\xec", [0x3b1a] = "\x9b\x6c",
+  [0x3b1c] = "\x92\xda", [0x3b20] = "\x89\x64", [0x3b22] = "\x9b\x6a",
+  [0x3b26] = "\x9b\x6d", [0x3b2e] = "\x9b\x6e", [0x3b30] = "\x9b\x71",
+  [0x3b33] = "\x9b\x6f", [0x3b35] = "\x9b\x70", [0x3b40] = "\x8e\x71",
+  [0x3b41] = "\x9b\x72", [0x3b44] = "\x8d\x45", [0x3b45] = "\x9b\x73",
+  [0x3b47] = "\x8e\x9a", [0x3b48] = "\x91\xb6", [0x3b4a] = "\x9b\x74",
+  [0x3b4b] = "\x9b\x75", [0x3b4c] = "\x8e\x79", [0x3b4d] = "\x8d\x46",
+  [0x3b4f] = "\x96\xd0", [0x3b53] = "\x8b\x47", [0x3b54] = "\x8c\xc7",
+  [0x3b55] = "\x9b\x76", [0x3b56] = "\x8a\x77", [0x3b59] = "\x9b\x77",
+  [0x3b5b] = "\x91\xb7", [0x3b60] = "\x9b\x78", [0x3b61] = "\x9b\xa1",
+  [0x3b63] = "\x9b\x79", [0x3b65] = "\x9b\x7a", [0x3b68] = "\x9b\x7b",
+  [0x3b6a] = "\x9b\x7d", [0x3b70] = "\x9b\x7e", [0x3b73] = "\x9b\x80",
+  [0x3b75] = "\x91\xee", [0x3b77] = "\x89\x46", [0x3b78] = "\x8e\xe7",
+  [0x3b79] = "\x88\xc0", [0x3b7b] = "\x91\x76", [0x3b7c] = "\x8a\xae",
+  [0x3b7d] = "\x8e\xb3", [0x3b7f] = "\x8d\x47", [0x3b85] = "\x93\x86",
+  [0x3b87] = "\x8f\x40", [0x3b88] = "\x8a\xaf", [0x3b89] = "\x92\x88",
+  [0x3b8a] = "\x92\xe8", [0x3b8b] = "\x88\xb6", [0x3b8c] = "\x8b\x58",
+  [0x3b8d] = "\x95\xf3", [0x3b8f] = "\x8e\xc0", [0x3b92] = "\x8b\x71",
+  [0x3b93] = "\x90\xe9", [0x3b94] = "\x8e\xba", [0x3b95] = "\x97\x47",
+  [0x3b96] = "\x9b\x81", [0x3b9e] = "\x8b\x7b", [0x3ba0] = "\x8d\xc9",
+  [0x3ba3] = "\x8a\x51", [0x3ba4] = "\x89\x83", [0x3ba5] = "\x8f\xaa",
+  [0x3ba6] = "\x89\xc6", [0x3ba8] = "\x9b\x82", [0x3ba9] = "\x97\x65",
+  [0x3baf] = "\x8f\x68", [0x3bb2] = "\x8e\xe2", [0x3bb3] = "\x9b\x83",
+  [0x3bb4] = "\x8a\xf1", [0x3bb5] = "\x93\xd0", [0x3bb6] = "\x96\xa7",
+  [0x3bb7] = "\x9b\x84", [0x3bb9] = "\x9b\x85", [0x3bbc] = "\x95\x78",
+  [0x3bc0] = "\x9b\x87", [0x3bc2] = "\x8a\xa6", [0x3bc3] = "\x8b\xf5",
+  [0x3bc4] = "\x9b\x86", [0x3bcb] = "\x8a\xb0", [0x3bcd] = "\x90\x51",
+  [0x3bce] = "\x9b\x8b", [0x3bcf] = "\x8e\x40", [0x3bd1] = "\x89\xc7",
+  [0x3bd2] = "\x9b\x8a", [0x3bd4] = "\x9b\x88", [0x3bd5] = "\x9b\x8c",
+  [0x3bd6] = "\x9b\x89", [0x3bd7] = "\x94\x4a", [0x3bd8] = "\x9e\xcb",
+  [0x3bd9] = "\x90\x52", [0x3bdb] = "\x9b\x8d", [0x3bde] = "\x97\xbe",
+  [0x3be0] = "\x9b\x8e", [0x3be3] = "\x9b\x90", [0x3be5] = "\x92\x9e",
+  [0x3be6] = "\x9b\x8f", [0x3be8] = "\x90\xa1", [0x3bea] = "\x8e\x9b",
+  [0x3bee] = "\x91\xce", [0x3bef] = "\x8e\xf5", [0x3bf1] = "\x95\x95",
+  [0x3bf2] = "\x90\xea", [0x3bf4] = "\x8e\xcb", [0x3bf5] = "\x9b\x91",
+  [0x3bf6] = "\x8f\xab", [0x3bf7] = "\x9b\x92", [0x3bf8] = "\x9b\x93",
+  [0x3bf9] = "\x88\xd1", [0x3bfa] = "\x91\xb8", [0x3bfb] = "\x90\x71",
+  [0x3bfd] = "\x9b\x94", [0x3bfe] = "\x93\xb1", [0x3bff] = "\x8f\xac",
+  [0x3c01] = "\x8f\xad", [0x3c03] = "\x9b\x95", [0x3c06] = "\x90\xeb",
+  [0x3c0a] = "\x8f\xae", [0x3c10] = "\x9b\x96", [0x3c12] = "\x9b\x97",
+  [0x3c14] = "\x96\xde", [0x3c18] = "\x9b\x98", [0x3c1d] = "\x8b\xc4",
+  [0x3c21] = "\x8f\x41", [0x3c28] = "\x9b\x99", [0x3c29] = "\x9b\x9a",
+  [0x3c2a] = "\x8e\xda", [0x3c2b] = "\x90\x4b", [0x3c2c] = "\x93\xf2",
+  [0x3c2d] = "\x90\x73", [0x3c2e] = "\x94\xf6", [0x3c2f] = "\x94\x41",
+  [0x3c30] = "\x8b\xc7", [0x3c31] = "\x9b\x9b", [0x3c35] = "\x8b\x8f",
+  [0x3c36] = "\x9b\x9c", [0x3c38] = "\x8b\xfc", [0x3c3a] = "\x93\xcd",
+  [0x3c3b] = "\x89\xae", [0x3c3d] = "\x8e\x72", [0x3c3e] = "\x9b\x9d",
+  [0x3c3f] = "\x9b\xa0", [0x3c40] = "\x9b\x9f", [0x3c41] = "\x8b\xfb",
+  [0x3c43] = "\x9b\x9e", [0x3c45] = "\x93\x57", [0x3c4e] = "\x91\xae",
+  [0x3c50] = "\x93\x6a", [0x3c51] = "\x8e\xc6", [0x3c54] = "\x91\x77",
+  [0x3c55] = "\x97\x9a", [0x3c5c] = "\x9b\xa2", [0x3c5e] = "\x9b\xa3",
+  [0x3c5f] = "\x93\xd4", [0x3c61] = "\x8e\x52", [0x3c66] = "\x9b\xa5",
+  [0x3c69] = "\x9b\xa6", [0x3c7c] = "\x9b\xa7", [0x3c80] = "\x8a\xf2",
+  [0x3c81] = "\x9b\xa8", [0x3c84] = "\x9b\xa9", [0x3c91] = "\x89\xaa",
+  [0x3c98] = "\x91\x5a", [0x3c99] = "\x8a\xe2", [0x3c9b] = "\x9b\xab",
+  [0x3c9c] = "\x96\xa6", [0x3ca1] = "\x91\xd0", [0x3ca3] = "\x8a\x78",
+  [0x3ca6] = "\x9b\xad", [0x3ca7] = "\x9b\xaf", [0x3ca8] = "\x8a\xdd",
+  [0x3cab] = "\x9b\xac", [0x3cac] = "\x9b\xae", [0x3cae] = "\x9b\xb1",
+  [0x3cb5] = "\x9b\xb0", [0x3cb7] = "\x9b\xb2", [0x3cc9] = "\x9b\xb3",
+  [0x3cd0] = "\x93\xbb", [0x3cd1] = "\x8b\xac", [0x3cd8] = "\x89\xe3",
+  [0x3cd9] = "\x9b\xb4", [0x3cda] = "\x9b\xb9", [0x3cdd] = "\x9b\xb7",
+  [0x3cdf] = "\x95\xf5", [0x3ce0] = "\x95\xf4", [0x3ce6] = "\x93\x87",
+  [0x3cea] = "\x9b\xb6", [0x3ceb] = "\x8f\x73", [0x3ced] = "\x9b\xb5",
+  [0x3cf7] = "\x90\x92", [0x3cfb] = "\x9b\xba", [0x3cfe] = "\x8d\xe8",
+  [0x3d01] = "\x9b\xc0", [0x3d04] = "\x9b\xc1", [0x3d05] = "\x9b\xbb",
+  [0x3d06] = "\x8a\x52", [0x3d07] = "\x9b\xbc", [0x3d08] = "\x9b\xc5",
+  [0x3d09] = "\x9b\xc4", [0x3d0a] = "\x9b\xc3", [0x3d0b] = "\x9b\xbf",
+  [0x3d0f] = "\x9b\xbe", [0x3d12] = "\x9b\xc2", [0x3d19] = "\x95\xf6",
+  [0x3d3b] = "\x9b\xc9", [0x3d3c] = "\x9b\xc6", [0x3d3e] = "\x9b\xc8",
+  [0x3d40] = "\x97\x92", [0x3d42] = "\x9b\xc7", [0x3d4c] = "\x9b\xbd",
+  [0x3d59] = "\x90\x93", [0x3d5c] = "\x9b\xca", [0x3d5f] = "\x8d\xb5",
+  [0x3d63] = "\x9b\xcb", [0x3d66] = "\x9b\xcc", [0x3d72] = "\x9b\xcf",
+  [0x3d74] = "\x9b\xce", [0x3d77] = "\x9b\xcd", [0x3d7b] = "\x93\x88",
+  [0x3d7c] = "\x9b\xb8", [0x3d80] = "\x9b\xd5", [0x3d8d] = "\x9b\xd1",
+  [0x3d92] = "\x9b\xd0", [0x3d9c] = "\x9b\xd2", [0x3d9e] = "\x9b\xd3",
+  [0x3da7] = "\x9b\xd6", [0x3daa] = "\x97\xe4", [0x3dac] = "\x9b\xd7",
+  [0x3dad] = "\x9b\xd4", [0x3db9] = "\x9b\xd8", [0x3dbc] = "\x8a\xde",
+  [0x3dbd] = "\x9b\xd9", [0x3dc2] = "\x9b\xdb", [0x3dc3] = "\x9b\xda",
+  [0x3dc6] = "\x9b\xdc", [0x3dcb] = "\x9b\xdd", [0x3dcd] = "\x90\xec",
+  [0x3dce] = "\x8f\x42", [0x3dd1] = "\x8f\x84", [0x3dd3] = "\x91\x83",
+  [0x3dd5] = "\x8d\x48", [0x3dd6] = "\x8d\xb6", [0x3dd7] = "\x8d\x49",
+  [0x3dd8] = "\x8b\x90", [0x3ddb] = "\x9b\xde", [0x3dde] = "\x8d\xb7",
+  [0x3de1] = "\x8c\xc8", [0x3de2] = "\x9b\xdf", [0x3de3] = "\x96\xa4",
+  [0x3de4] = "\x94\x62", [0x3de5] = "\x9b\xe0", [0x3de7] = "\x8d\x4a",
+  [0x3deb] = "\x8a\xaa", [0x3ded] = "\x92\x46", [0x3dee] = "\x8b\xd0",
+  [0x3df2] = "\x8e\x73", [0x3df3] = "\x95\x7a", [0x3df6] = "\x94\xbf",
+  [0x3dfb] = "\x9b\xe1", [0x3dfc] = "\x8a\xf3", [0x3e01] = "\x9b\xe4",
+  [0x3e06] = "\x92\x9f", [0x3e09] = "\x9b\xe3", [0x3e0a] = "\x9b\xe2",
+  [0x3e0b] = "\x9b\xe5", [0x3e0d] = "\x92\xe9", [0x3e15] = "\x90\x83",
+  [0x3e1b] = "\x8e\x74", [0x3e1d] = "\x90\xc8", [0x3e1f] = "\x91\xd1",
+  [0x3e20] = "\x8b\x41", [0x3e23] = "\x92\xa0", [0x3e26] = "\x9b\xe6",
+  [0x3e27] = "\x9b\xe7", [0x3e28] = "\x8f\xed", [0x3e2d] = "\x96\x58",
+  [0x3e30] = "\x9b\xea", [0x3e33] = "\x9b\xe9", [0x3e34] = "\x9b\xe8",
+  [0x3e35] = "\x95\x9d", [0x3e37] = "\x9b\xf1", [0x3e3c] = "\x96\x79",
+  [0x3e3e] = "\x9b\xeb", [0x3e44] = "\x9b\xed", [0x3e45] = "\x96\x8b",
+  [0x3e47] = "\x9b\xec", [0x3e4f] = "\x9b\xee", [0x3e51] = "\x94\xa6",
+  [0x3e52] = "\x9b\xef", [0x3e53] = "\x95\xbc", [0x3e54] = "\x9b\xf0",
+  [0x3e62] = "\x8a\xb1", [0x3e63] = "\x95\xbd", [0x3e64] = "\x94\x4e",
+  [0x3e65] = "\x9b\xf2", [0x3e66] = "\x9b\xf3", [0x3e68] = "\x8d\x4b",
+  [0x3e69] = "\x8a\xb2", [0x3e6a] = "\x9b\xf4", [0x3e6b] = "\x8c\xb6",
+  [0x3e6c] = "\x97\x63", [0x3e6d] = "\x97\x48", [0x3e6e] = "\x8a\xf4",
+  [0x3e6f] = "\x9b\xf6", [0x3e71] = "\x92\xa1", [0x3e73] = "\x8d\x4c",
+  [0x3e74] = "\x8f\xaf", [0x3e77] = "\x94\xdd", [0x3e7a] = "\x8f\xb0",
+  [0x3e7f] = "\x8f\x98", [0x3e85] = "\x92\xea", [0x3e86] = "\x95\xf7",
+  [0x3e87] = "\x93\x58", [0x3e8a] = "\x8d\x4d", [0x3e8c] = "\x95\x7b",
+  [0x3e90] = "\x9b\xf7", [0x3e96] = "\x93\x78", [0x3e97] = "\x8d\xc0",
+  [0x3e9b] = "\x8c\xc9", [0x3e9d] = "\x92\xeb", [0x3ea5] = "\x88\xc1",
+  [0x3ea6] = "\x8f\x8e", [0x3ea7] = "\x8d\x4e", [0x3ea8] = "\x97\x66",
+  [0x3eb1] = "\x9b\xf8", [0x3eb2] = "\x9b\xf9", [0x3eb3] = "\x94\x70",
+  [0x3eb8] = "\x9b\xfa", [0x3eb9] = "\x97\xf5", [0x3eba] = "\x98\x4c",
+  [0x3ebf] = "\x9b\xfc", [0x3ec0] = "\x9b\xfb", [0x3ec3] = "\x8a\x66",
+  [0x3ec6] = "\x9c\x40", [0x3eca] = "\x9c\x43", [0x3ecb] = "\x9c\x44",
+  [0x3ecd] = "\x9c\x42", [0x3ecf] = "\x95\x5f", [0x3ed0] = "\x8f\xb1",
+  [0x3ed1] = "\x9c\x46", [0x3ed2] = "\x9c\x45", [0x3ed3] = "\x9c\x41",
+  [0x3ed8] = "\x9c\x47", [0x3ed9] = "\x9c\x48", [0x3edc] = "\x9c\x49",
+  [0x3ee0] = "\x9c\x4c", [0x3ee1] = "\x9c\x4a", [0x3ee3] = "\x9c\x4b",
+  [0x3ee4] = "\x9c\x4d", [0x3ee6] = "\x89\x84", [0x3ee7] = "\x92\xec",
+  [0x3ee8] = "\x9c\x4e", [0x3eea] = "\x8c\x9a", [0x3eeb] = "\x89\xf4",
+  [0x3eec] = "\x94\x55", [0x3eee] = "\x9c\x4f", [0x3eef] = "\x93\xf9",
+  [0x3ef1] = "\x95\xd9", [0x3ef3] = "\x9c\x50", [0x3ef4] = "\x98\x4d",
+  [0x3ef9] = "\x9c\x51", [0x3efa] = "\x95\xbe", [0x3efb] = "\x9c\x54",
+  [0x3efc] = "\x98\x9f", [0x3efd] = "\x98\xaf", [0x3eff] = "\x8e\xae",
+  [0x3f00] = "\x93\xf3", [0x3f01] = "\x9c\x55", [0x3f03] = "\x8b\x7c",
+  [0x3f04] = "\x92\xa2", [0x3f05] = "\x88\xf8", [0x3f06] = "\x9c\x56",
+  [0x3f07] = "\x95\xa4", [0x3f08] = "\x8d\x4f", [0x3f0b] = "\x92\x6f",
+  [0x3f0f] = "\x92\xed", [0x3f15] = "\x96\xed", [0x3f16] = "\x8c\xb7",
+  [0x3f17] = "\x8c\xca", [0x3f19] = "\x9c\x57", [0x3f1d] = "\x9c\x58",
+  [0x3f1f] = "\x9c\x5e", [0x3f21] = "\x8e\xe3", [0x3f25] = "\x92\xa3",
+  [0x3f27] = "\x8b\xad", [0x3f28] = "\x9c\x59", [0x3f2c] = "\x95\x4a",
+  [0x3f2e] = "\x92\x65", [0x3f31] = "\x9c\x5a", [0x3f38] = "\x9c\x5b",
+  [0x3f3a] = "\x8b\xae", [0x3f3c] = "\x9c\x5c", [0x3f3e] = "\x9c\x5d",
+  [0x3f41] = "\x9c\x5f", [0x3f43] = "\x93\x96", [0x3f46] = "\x9c\x60",
+  [0x3f47] = "\x9c\x61", [0x3f49] = "\x9c\x62", [0x3f4c] = "\x9c\x53",
+  [0x3f4d] = "\x9c\x52", [0x3f51] = "\x9c\x63", [0x3f52] = "\x8c\x60",
+  [0x3f56] = "\x95\x46", [0x3f59] = "\x8d\xca", [0x3f5a] = "\x95\x56",
+  [0x3f5b] = "\x92\xa4", [0x3f5c] = "\x95\x6a", [0x3f5d] = "\x9c\x64",
+  [0x3f60] = "\x8f\xb2", [0x3f61] = "\x89\x65", [0x3f63] = "\x9c\x65",
+  [0x3f67] = "\x9c\x66", [0x3f69] = "\x96\xf0", [0x3f6c] = "\x94\xde",
+  [0x3f6f] = "\x9c\x69", [0x3f70] = "\x89\x9d", [0x3f71] = "\x90\xaa",
+  [0x3f72] = "\x9c\x68", [0x3f73] = "\x9c\x67", [0x3f74] = "\x8c\x61",
+  [0x3f75] = "\x91\xd2", [0x3f77] = "\x9c\x6d", [0x3f78] = "\x9c\x6b",
+  [0x3f7a] = "\x9c\x6a", [0x3f7b] = "\x97\xa5", [0x3f7c] = "\x8c\xe3",
+  [0x3f80] = "\x8f\x99", [0x3f81] = "\x9c\x6c", [0x3f82] = "\x93\x6b",
+  [0x3f83] = "\x8f\x5d", [0x3f87] = "\x93\xbe", [0x3f88] = "\x9c\x70",
+  [0x3f89] = "\x9c\x6f", [0x3f8e] = "\x9c\x6e", [0x3f90] = "\x9c\x71",
+  [0x3f91] = "\x8c\xe4", [0x3f98] = "\x9c\x72", [0x3f99] = "\x95\x9c",
+  [0x3f9a] = "\x8f\x7a", [0x3f9d] = "\x9c\x73", [0x3f9e] = "\x94\xf7",
+  [0x3fa3] = "\x93\xbf", [0x3fa4] = "\x92\xa5", [0x3fa9] = "\x93\x4f",
+  [0x3fac] = "\x9c\x74", [0x3fad] = "\x8b\x4a", [0x3fb3] = "\x90\x53",
+  [0x3fb5] = "\x95\x4b", [0x3fbc] = "\x8a\xf5", [0x3fbd] = "\x94\x45",
+  [0x3fc6] = "\x9c\x75", [0x3fc7] = "\x8e\x75", [0x3fc8] = "\x96\x59",
+  [0x3fc9] = "\x96\x5a", [0x3fcc] = "\x89\x9e", [0x3fcd] = "\x9c\x7a",
+  [0x3fd0] = "\x92\x89", [0x3fd4] = "\x9c\x77", [0x3fdb] = "\x89\xf5",
+  [0x3fe0] = "\x9c\xab", [0x3fe1] = "\x9c\x79", [0x3fe5] = "\x94\x4f",
+  [0x3fe8] = "\x9c\x78", [0x3feb] = "\x9c\x76", [0x3fed] = "\x8d\x9a",
+  [0x3fef] = "\x9c\x7c", [0x3ffe] = "\x9c\x83", [0x3fff] = "\x9c\x89",
+  [0x4000] = "\x9c\x81", [0x4002] = "\x93\x7b", [0x4005] = "\x9c\x86",
+  [0x4006] = "\x95\x7c", [0x4009] = "\x9c\x80", [0x400b] = "\x9c\x85",
+  [0x400c] = "\x97\xe5", [0x400d] = "\x8e\x76", [0x4010] = "\x91\xd3",
+  [0x4011] = "\x9c\x7d", [0x4015] = "\x8b\x7d", [0x4016] = "\x9c\x88",
+  [0x4017] = "\x90\xab", [0x4018] = "\x89\x85", [0x4019] = "\x9c\x82",
+  [0x401a] = "\x89\xf6", [0x401b] = "\x9c\x87", [0x401f] = "\x8b\xaf",
+  [0x4021] = "\x9c\x84", [0x402a] = "\x9c\x8a", [0x4031] = "\x9c\x8c",
+  [0x4032] = "\x9c\x96", [0x4033] = "\x9c\x94", [0x4036] = "\x9c\x91",
+  [0x403a] = "\x9c\x90", [0x403b] = "\x97\xf6", [0x403d] = "\x9c\x92",
+  [0x4040] = "\x8b\xb0", [0x4042] = "\x8d\x50", [0x4045] = "\x8f\x9a",
+  [0x4049] = "\x9c\x99", [0x404a] = "\x9c\x8b", [0x404f] = "\x9c\x8f",
+  [0x4050] = "\x9c\x7e", [0x4052] = "\x89\xf8", [0x4053] = "\x9c\x93",
+  [0x4054] = "\x9c\x95", [0x4055] = "\x92\x70", [0x4058] = "\x8d\xa6",
+  [0x4059] = "\x89\xb6", [0x405a] = "\x9c\x8d", [0x405b] = "\x9c\x98",
+  [0x405c] = "\x9c\x97", [0x405d] = "\x8b\xb1", [0x405f] = "\x91\xa7",
+  [0x4060] = "\x8a\x86", [0x4065] = "\x8c\x62", [0x4067] = "\x9c\x8e",
+  [0x4071] = "\x9c\x9a", [0x4073] = "\x9c\x9d", [0x4074] = "\x9c\x9f",
+  [0x4079] = "\x8e\xbb", [0x407b] = "\x9c\xa5", [0x407c] = "\x92\xee",
+  [0x407d] = "\x9c\x9b", [0x4082] = "\x9c\xa3", [0x4084] = "\x89\xf7",
+  [0x4086] = "\x9c\xa1", [0x4087] = "\x9c\xa2", [0x408a] = "\x9c\x9e",
+  [0x408b] = "\x9c\xa0", [0x408f] = "\x8c\xe5", [0x4090] = "\x97\x49",
+  [0x4093] = "\x8a\xb3", [0x4096] = "\x89\x78", [0x4097] = "\x9c\xa4",
+  [0x4099] = "\x94\x59", [0x409a] = "\x88\xab", [0x40a2] = "\x94\xdf",
+  [0x40a3] = "\x9c\x7b", [0x40a4] = "\x9c\xaa", [0x40a5] = "\x9c\xae",
+  [0x40a6] = "\x96\xe3", [0x40a8] = "\x9c\xa7", [0x40ac] = "\x93\x89",
+  [0x40ad] = "\x9c\xac", [0x40b5] = "\x8f\xee", [0x40b6] = "\x9c\xad",
+  [0x40b7] = "\x93\xd5", [0x40c1] = "\x98\x66", [0x40c3] = "\x9c\xa9",
+  [0x40c8] = "\x9c\xaf", [0x40ca] = "\x8d\x9b", [0x40cc] = "\x90\xc9",
+  [0x40cf] = "\x88\xd2", [0x40d0] = "\x9c\xa8", [0x40d1] = "\x9c\xa6",
+  [0x40d3] = "\x91\x79", [0x40d7] = "\x9c\x9c", [0x40d8] = "\x8e\x53",
+  [0x40e0] = "\x91\xc4", [0x40e1] = "\x9c\xbb", [0x40e3] = "\x91\x7a",
+  [0x40e4] = "\x9c\xb6", [0x40e6] = "\x9c\xb3", [0x40e7] = "\x9c\xb4",
+  [0x40e9] = "\x8e\xe4", [0x40ea] = "\x9c\xb7", [0x40eb] = "\x9c\xba",
+  [0x40f0] = "\x9c\xb5", [0x40f1] = "\x8f\x44", [0x40f3] = "\x9c\xb8",
+  [0x40f6] = "\x9c\xb2", [0x40f8] = "\x96\xfa", [0x40f9] = "\x96\xf9",
+  [0x40fd] = "\x9c\xbc", [0x40fe] = "\x9c\xbd", [0x40ff] = "\x88\xd3",
+  [0x4105] = "\x9c\xb1", [0x410a] = "\x8b\xf0", [0x410b] = "\x88\xa4",
+  [0x410f] = "\x8a\xb4", [0x4111] = "\x9c\xb9", [0x4117] = "\x9c\xc1",
+  [0x4118] = "\x9c\xc0", [0x411c] = "\x9c\xc5", [0x4124] = "\x9c\xc6",
+  [0x412c] = "\x9c\xc4", [0x412d] = "\x9c\xc7", [0x412e] = "\x9c\xbf",
+  [0x412f] = "\x9c\xc3", [0x4132] = "\x9c\xc8", [0x4134] = "\x9c\xc9",
+  [0x4137] = "\x9c\xbe", [0x4138] = "\x8e\x9c", [0x413a] = "\x9c\xc2",
+  [0x413b] = "\x91\xd4", [0x413c] = "\x8d\x51", [0x413d] = "\x9c\xb0",
+  [0x413e] = "\x90\x54", [0x4143] = "\x9c\xd6", [0x4145] = "\x95\xe7",
+  [0x4148] = "\x9c\xcc", [0x4149] = "\x9c\xcd", [0x414a] = "\x9c\xce",
+  [0x414d] = "\x9c\xd5", [0x414f] = "\x9c\xd4", [0x4152] = "\x96\x9d",
+  [0x4153] = "\x8a\xb5", [0x4155] = "\x9c\xd2", [0x4157] = "\x8c\x64",
+  [0x4158] = "\x8a\x53", [0x415b] = "\x9c\xcf", [0x415e] = "\x97\xb6",
+  [0x415f] = "\x9c\xd1", [0x4160] = "\x88\xd4", [0x4161] = "\x9c\xd3",
+  [0x4163] = "\x9c\xca", [0x4164] = "\x9c\xd0", [0x4165] = "\x9c\xd7",
+  [0x4166] = "\x8c\x63", [0x4167] = "\x9c\xcb", [0x416e] = "\x97\x7c",
+  [0x4172] = "\x97\x4a", [0x4177] = "\x9c\xda", [0x417a] = "\x9c\xde",
+  [0x417e] = "\x91\x9e", [0x4180] = "\x97\xf7", [0x4181] = "\x9c\xdf",
+  [0x4184] = "\x9c\xdc", [0x4186] = "\x9c\xd9", [0x4189] = "\x9c\xd8",
+  [0x418a] = "\x9c\xdd", [0x4194] = "\x95\xae", [0x4197] = "\x93\xb2",
+  [0x4199] = "\x8c\x65", [0x419b] = "\x9c\xe0", [0x419c] = "\x9c\xdb",
+  [0x419e] = "\x9c\xe1", [0x41a2] = "\x8c\x9b", [0x41a6] = "\x89\xaf",
+  [0x41aa] = "\x9c\xe9", [0x41ae] = "\x8a\xb6", [0x41b3] = "\x9c\xe7",
+  [0x41b6] = "\x9c\xe8", [0x41b7] = "\x8d\xa7", [0x41b8] = "\x9c\xe6",
+  [0x41b9] = "\x9c\xe4", [0x41ba] = "\x9c\xe3", [0x41bb] = "\x9c\xea",
+  [0x41bc] = "\x9c\xe2", [0x41bd] = "\x9c\xec", [0x41c0] = "\x89\xf9",
+  [0x41d3] = "\x9c\xee", [0x41d6] = "\x9c\xed", [0x41e2] = "\x92\xa6",
+  [0x41e4] = "\x9c\xf1", [0x41e6] = "\x9c\xef", [0x41e7] = "\x9c\xe5",
+  [0x41e8] = "\x8c\x9c", [0x41ea] = "\x9c\xf0", [0x41ec] = "\x9c\xf4",
+  [0x41ed] = "\x9c\xf3", [0x41ee] = "\x9c\xf5", [0x41ef] = "\x9c\xf2",
+  [0x41f0] = "\x9c\xf6", [0x41f8] = "\x9c\xf7", [0x41f9] = "\x9c\xf8",
+  [0x41fa] = "\x95\xe8", [0x41fc] = "\x9c\xfa", [0x41fd] = "\x9c\xf9",
+  [0x41fe] = "\x8f\x5e", [0x4200] = "\x90\xac", [0x4201] = "\x89\xe4",
+  [0x4202] = "\x89\xfa", [0x4204] = "\x9c\xfb", [0x4206] = "\x88\xbd",
+  [0x420a] = "\x90\xca", [0x420b] = "\x9c\xfc", [0x420d] = "\xe6\xc1",
+  [0x420e] = "\x9d\x40", [0x420f] = "\x8c\x81", [0x4211] = "\x9d\x41",
+  [0x4216] = "\x90\xed", [0x421a] = "\x9d\x42", [0x421e] = "\x9d\x43",
+  [0x421f] = "\x8b\x59", [0x4220] = "\x9d\x44", [0x4222] = "\x9d\x45",
+  [0x4223] = "\x9d\x46", [0x4224] = "\x91\xd5", [0x4228] = "\x8c\xcb",
+  [0x422b] = "\x96\xdf", [0x422f] = "\x96\x5b", [0x4230] = "\x8f\x8a",
+  [0x4231] = "\x9d\x47", [0x4237] = "\x90\xee", [0x4238] = "\xe7\xbb",
+  [0x4239] = "\x94\xe0", [0x423b] = "\x8e\xe8", [0x423d] = "\x8d\xcb",
+  [0x423e] = "\x9d\x48", [0x4243] = "\x91\xc5", [0x4245] = "\x95\xa5",
+  [0x4248] = "\x91\xef", [0x424b] = "\x9d\x4b", [0x424e] = "\x9d\x49",
+  [0x4250] = "\x9d\x4c", [0x4253] = "\x9d\x4a", [0x4258] = "\x9d\x4d",
+  [0x425e] = "\x95\xaf", [0x4261] = "\x88\xb5", [0x4266] = "\x95\x7d",
+  [0x4269] = "\x94\xe1", [0x426c] = "\x9d\x4e", [0x426e] = "\x9d\x51",
+  [0x426f] = "\x8f\xb3", [0x4270] = "\x8b\x5a", [0x4272] = "\x9d\x4f",
+  [0x4273] = "\x9d\x56", [0x4274] = "\x8f\xb4", [0x4279] = "\x9d\x50",
+  [0x427a] = "\x94\x63", [0x4281] = "\x97\x7d", [0x4282] = "\x9d\x52",
+  [0x4283] = "\x9d\x53", [0x4284] = "\x9d\x57", [0x4285] = "\x93\x8a",
+  [0x4286] = "\x9d\x54", [0x4287] = "\x8d\x52", [0x4288] = "\x90\xdc",
+  [0x428b] = "\x9d\x65", [0x428c] = "\x94\xb2", [0x428e] = "\x91\xf0",
+  [0x429b] = "\x94\xe2", [0x429c] = "\x9d\xab", [0x42a1] = "\x95\xf8",
+  [0x42a5] = "\x92\xef", [0x42a9] = "\x96\x95", [0x42ab] = "\x9d\x5a",
+  [0x42ac] = "\x89\x9f", [0x42ad] = "\x92\x8a", [0x42b2] = "\x9d\x63",
+  [0x42b5] = "\x92\x53", [0x42b6] = "\x9d\x5d", [0x42b7] = "\x9d\x64",
+  [0x42b8] = "\x9d\x5f", [0x42b9] = "\x9d\x66", [0x42ba] = "\x9d\x62",
+  [0x42bc] = "\x9d\x61", [0x42bd] = "\x94\x8f", [0x42bf] = "\x9d\x5b",
+  [0x42c0] = "\x89\xfb", [0x42c1] = "\x9d\x59", [0x42c2] = "\x8b\x91",
+  [0x42c3] = "\x91\xf1", [0x42c4] = "\x9d\x55", [0x42c7] = "\x9d\x58",
+  [0x42c8] = "\x8d\x53", [0x42c9] = "\x90\xd9", [0x42cb] = "\x8f\xb5",
+  [0x42cc] = "\x9d\x60", [0x42cd] = "\x94\x71", [0x42d0] = "\x8b\x92",
+  [0x42d1] = "\x8a\x67", [0x42dc] = "\x8a\x87", [0x42dd] = "\x90\x40",
+  [0x42de] = "\x9d\x68", [0x42df] = "\x9d\x6d", [0x42e1] = "\x9d\x69",
+  [0x42e3] = "\x8c\x9d", [0x42e5] = "\x9d\x6e", [0x42e6] = "\x8e\x41",
+  [0x42e7] = "\x8d\x89", [0x42ee] = "\x8f\x45", [0x42ef] = "\x9d\x5c",
+  [0x42f1] = "\x8e\x9d", [0x42f2] = "\x9d\x6b", [0x42f7] = "\x8e\x77",
+  [0x42f8] = "\x9d\x6c", [0x42f9] = "\x88\xc2", [0x42fc] = "\x9d\x67",
+  [0x4301] = "\x92\xa7", [0x4309] = "\x8b\x93", [0x430f] = "\x8b\xb2",
+  [0x4317] = "\x9d\x6a", [0x4318] = "\x88\xa5", [0x431b] = "\x8d\xc1",
+  [0x431f] = "\x90\x55", [0x432a] = "\x92\xf0", [0x432d] = "\x94\xd2",
+  [0x432e] = "\x9d\x70", [0x432f] = "\x91\x7d", [0x4339] = "\x91\xa8",
+  [0x433c] = "\x8e\x4a", [0x433d] = "\x9d\x71", [0x433f] = "\x9d\x73",
+  [0x4340] = "\x9d\x6f", [0x4345] = "\x95\xdf", [0x4347] = "\x92\xbb",
+  [0x434c] = "\x91\x7b", [0x4357] = "\x95\xf9", [0x4358] = "\x8e\xcc",
+  [0x4359] = "\x9d\x80", [0x435b] = "\x9d\x7e", [0x435e] = "\x90\x98",
+  [0x4362] = "\x8c\x9e", [0x4366] = "\x9d\x78", [0x4367] = "\x8f\xb7",
+  [0x436a] = "\x93\xe6", [0x436b] = "\x94\x50", [0x4370] = "\x9d\x76",
+  [0x4373] = "\x91\x7c", [0x4378] = "\x8e\xf6", [0x4379] = "\x9d\x7b",
+  [0x437c] = "\x8f\xb6", [0x437e] = "\x9d\x75", [0x437f] = "\x9d\x7a",
+  [0x4382] = "\x94\x72", [0x4386] = "\x9d\x74", [0x4388] = "\x8c\x40",
+  [0x438b] = "\x8a\x7c", [0x438f] = "\x9d\x7c", [0x4390] = "\x97\xa9",
+  [0x4391] = "\x8d\xcc", [0x4392] = "\x92\x54", [0x4393] = "\x9d\x79",
+  [0x4395] = "\x90\xda", [0x4397] = "\x8d\x54", [0x4398] = "\x90\x84",
+  [0x4399] = "\x89\x86", [0x439a] = "\x91\x5b", [0x439b] = "\x9d\x77",
+  [0x439c] = "\x8b\x64", [0x43a2] = "\x8c\x66", [0x43a4] = "\x92\xcd",
+  [0x43a5] = "\x9d\x7d", [0x43ab] = "\x91\x7e", [0x43ae] = "\x9d\x81",
+  [0x43b0] = "\x9d\x83", [0x43b3] = "\x91\xb5", [0x43b4] = "\x9d\x89",
+  [0x43b6] = "\x9d\x84", [0x43b9] = "\x9d\x86", [0x43bf] = "\x95\x60",
+  [0x43c0] = "\x92\xf1", [0x43c2] = "\x9d\x87", [0x43c6] = "\x97\x4b",
+  [0x43ca] = "\x97\x67", [0x43cb] = "\x8a\xb7", [0x43d1] = "\x88\xac",
+  [0x43d3] = "\x9d\x85", [0x43d9] = "\x9d\x82", [0x43de] = "\x8a\xf6",
+  [0x43e4] = "\x89\x87", [0x43e6] = "\x9d\x88", [0x43ea] = "\x97\x68",
+  [0x43f6] = "\x9d\x8c", [0x43fd] = "\x91\xb9", [0x43ff] = "\x9d\x93",
+  [0x4403] = "\x9d\x8d", [0x4406] = "\x9d\x8a", [0x4407] = "\x9d\x91",
+  [0x440c] = "\x9d\x72", [0x4416] = "\x9d\x8e", [0x4418] = "\x9d\x92",
+  [0x441c] = "\x94\xc0", [0x441d] = "\x93\x8b", [0x4424] = "\x9d\x8b",
+  [0x4426] = "\x9d\x8f", [0x442a] = "\x8c\x67", [0x442e] = "\x8d\xef",
+  [0x4432] = "\x90\xdb", [0x443e] = "\x9d\x97", [0x4448] = "\x93\x45",
+  [0x4457] = "\x9d\x94", [0x4459] = "\x96\x80", [0x445f] = "\x9d\x95",
+  [0x4466] = "\x9d\x96", [0x4468] = "\x96\xcc", [0x446a] = "\x90\xa0",
+  [0x4473] = "\x8c\x82", [0x4478] = "\x9d\x9d", [0x4482] = "\x8e\x54",
+  [0x4483] = "\x9d\x9a", [0x4485] = "\x9d\x99", [0x448a] = "\x94\x51",
+  [0x448e] = "\x93\xb3", [0x4494] = "\x93\x50", [0x4495] = "\x9d\x9b",
+  [0x4499] = "\x9d\x9c", [0x449b] = "\x95\x8f", [0x449d] = "\x94\x64",
+  [0x449e] = "\x8e\x42", [0x44a0] = "\x90\xef", [0x44a2] = "\x96\x6f",
+  [0x44a9] = "\x8a\x68", [0x44ab] = "\x9d\xa3", [0x44ac] = "\x9d\x9e",
+  [0x44b1] = "\x97\x69", [0x44b2] = "\x9d\xa5", [0x44b5] = "\x9d\xa1",
+  [0x44b7] = "\x9d\xa2", [0x44bd] = "\x91\x80", [0x44c2] = "\x9d\xa0",
+  [0x44c4] = "\x9d\x5e", [0x44c8] = "\x9d\xa4", [0x44ca] = "\x9d\x9f",
+  [0x44d0] = "\x9d\xa9", [0x44d1] = "\x9d\xaa", [0x44d2] = "\x93\x46",
+  [0x44d3] = "\x9d\xac", [0x44d6] = "\x8e\x43", [0x44d7] = "\x9d\xa7",
+  [0x44dc] = "\x8b\x5b", [0x44df] = "\x9d\xad", [0x44e1] = "\x9d\xa6",
+  [0x44e2] = "\x9d\xb1", [0x44e4] = "\x9d\xb0", [0x44e6] = "\x9d\xaf",
+  [0x44ea] = "\x9d\xb2", [0x44ed] = "\x9d\xb4", [0x44ee] = "\x8f\xef",
+  [0x44f0] = "\x9d\xb3", [0x44f5] = "\x9d\xb7", [0x4508] = "\x9d\xb5",
+  [0x450c] = "\x9d\xb6", [0x450d] = "\x9d\x90", [0x4513] = "\x9d\xb9",
+  [0x4514] = "\x9d\xb8", [0x451a] = "\x9d\x98", [0x451b] = "\x9d\xba",
+  [0x451c] = "\x9d\xae", [0x451f] = "\x8e\x78", [0x4524] = "\x9d\xbb",
+  [0x4525] = "\x9d\xbc", [0x4526] = "\x9d\xbe", [0x4527] = "\x9d\xbd",
+  [0x4528] = "\x9d\xbf", [0x4529] = "\x89\xfc", [0x452b] = "\x8d\x55",
+  [0x452e] = "\x95\xfa", [0x452f] = "\x90\xad", [0x4535] = "\x8c\xcc",
+  [0x4538] = "\x9d\xc1", [0x453d] = "\x9d\xc4", [0x453f] = "\x95\x71",
+  [0x4541] = "\x8b\x7e", [0x4545] = "\x9d\xc3", [0x4546] = "\x9d\xc2",
+  [0x4547] = "\x94\x73", [0x4548] = "\x9d\xc5", [0x4549] = "\x8b\xb3",
+  [0x454d] = "\x9d\xc7", [0x454e] = "\x9d\xc6", [0x4552] = "\x8a\xb8",
+  [0x4553] = "\x8e\x55", [0x4556] = "\x93\xd6", [0x455c] = "\x8c\x68",
+  [0x4560] = "\x90\x94", [0x4562] = "\x9d\xc8", [0x4564] = "\x90\xae",
+  [0x4565] = "\x93\x47", [0x4567] = "\x95\x7e", [0x4568] = "\x9d\xc9",
+  [0x4572] = "\x9d\xca", [0x4573] = "\x9d\xcb", [0x4577] = "\x95\xb6",
+  [0x4578] = "\x9b\x7c", [0x4579] = "\x90\xc4", [0x457c] = "\x95\x6b",
+  [0x457e] = "\x8d\xd6", [0x4580] = "\x94\xe3", [0x4581] = "\x94\xc1",
+  [0x4587] = "\x93\x6c", [0x4589] = "\x97\xbf", [0x458b] = "\x9d\xcd",
+  [0x458c] = "\x8e\xce", [0x458f] = "\x9d\xce", [0x4591] = "\x88\xb4",
+  [0x4594] = "\x8b\xd2", [0x4595] = "\x90\xcb", [0x4597] = "\x95\x80",
+  [0x459b] = "\x9d\xcf", [0x459c] = "\x8e\x61", [0x459d] = "\x92\x66",
+  [0x459f] = "\x8e\x7a", [0x45a0] = "\x90\x56", [0x45a7] = "\x9d\xd0",
+  [0x45a9] = "\x95\xfb", [0x45ac] = "\x89\x97", [0x45ad] = "\x8e\x7b",
+  [0x45b1] = "\x9d\xd3", [0x45b3] = "\x9d\xd1", [0x45b4] = "\x9d\xd4",
+  [0x45b5] = "\x97\xb7", [0x45b6] = "\x9d\xd2", [0x45bb] = "\x90\xf9",
+  [0x45bc] = "\x9d\xd5", [0x45bf] = "\x91\xb0", [0x45c2] = "\x9d\xd6",
+  [0x45c7] = "\x8a\xf8", [0x45c9] = "\x9d\xd8", [0x45cb] = "\x9d\xd7",
+  [0x45d0] = "\x9d\xd9", [0x45d1] = "\x9d\xda", [0x45d2] = "\x8a\xf9",
+  [0x45d5] = "\x93\xfa", [0x45d6] = "\x92\x55", [0x45d7] = "\x8b\x8c",
+  [0x45d8] = "\x8e\x7c", [0x45d9] = "\x91\x81", [0x45dc] = "\x8f\x7b",
+  [0x45dd] = "\x88\xae", [0x45e1] = "\x9d\xdb", [0x45ea] = "\x89\xa0",
+  [0x45eb] = "\x9d\xdf", [0x45f2] = "\x8d\x56", [0x45f3] = "\x9d\xde",
+  [0x45f6] = "\x8d\xa9", [0x45f7] = "\x8f\xb8", [0x45fa] = "\x9d\xdd",
+  [0x45fc] = "\x8f\xb9", [0x45fe] = "\x96\xbe", [0x45ff] = "\x8d\xa8",
+  [0x4603] = "\x88\xd5", [0x4604] = "\x90\xcc", [0x460c] = "\x9d\xe4",
+  [0x460f] = "\x90\xaf", [0x4610] = "\x89\x66", [0x4615] = "\x8f\x74",
+  [0x4617] = "\x96\x86", [0x4618] = "\x8d\xf0", [0x461d] = "\x8f\xba",
+  [0x461f] = "\x90\xa5", [0x4624] = "\x9d\xe3", [0x4625] = "\x9d\xe1",
+  [0x4626] = "\x9d\xe2", [0x462c] = "\x92\x8b", [0x462f] = "\x9e\x45",
+  [0x4631] = "\x9d\xe8", [0x4632] = "\x8e\x9e", [0x4633] = "\x8d\x57",
+  [0x4634] = "\x9d\xe6", [0x4639] = "\x9d\xe7", [0x463b] = "\x90\x57",
+  [0x463f] = "\x9d\xe5", [0x4642] = "\x8e\x4e", [0x464d] = "\x9d\xea",
+  [0x464e] = "\x9d\xe9", [0x464f] = "\x9d\xee", [0x4652] = "\x9d\xef",
+  [0x4654] = "\x9d\xeb", [0x4656] = "\x8a\x41", [0x4657] = "\x9d\xec",
+  [0x4658] = "\x9d\xed", [0x4659] = "\x94\xd3", [0x465e] = "\x95\x81",
+  [0x465f] = "\x8c\x69", [0x4660] = "\x9d\xf0", [0x4664] = "\x90\xb0",
+  [0x4666] = "\x8f\xbb", [0x466a] = "\x92\x71", [0x4671] = "\x8b\xc5",
+  [0x4673] = "\x9d\xf1", [0x4674] = "\x9d\xf5", [0x4677] = "\x89\xc9",
+  [0x4678] = "\x9d\xf2", [0x4679] = "\x9d\xf4", [0x467e] = "\x9d\xf3",
+  [0x4681] = "\x8f\x8b", [0x4686] = "\x92\x67", [0x4687] = "\x88\xc3",
+  [0x4688] = "\x9d\xf6", [0x468d] = "\x9d\xf7", [0x4692] = "\x92\xa8",
+  [0x4696] = "\x97\xef", [0x469b] = "\x8e\x62", [0x469e] = "\x95\xe9",
+  [0x46a4] = "\x96\x5c", [0x46a8] = "\x9e\x41", [0x46a9] = "\x9d\xf9",
+  [0x46ac] = "\x9d\xfc", [0x46ae] = "\x9d\xfb", [0x46b1] = "\x9d\xf8",
+  [0x46b4] = "\x9e\x40", [0x46b7] = "\x93\xdc", [0x46b9] = "\x9d\xfa",
+  [0x46c6] = "\x9e\x42", [0x46c9] = "\x8f\x8c", [0x46ca] = "\x9e\x43",
+  [0x46cc] = "\x97\x6a", [0x46cd] = "\x94\x98", [0x46d0] = "\x9e\x44",
+  [0x46d6] = "\x9e\x46", [0x46d9] = "\x9e\x47", [0x46e0] = "\x9e\x48",
+  [0x46e2] = "\x8b\xc8", [0x46e3] = "\x89\x67", [0x46e4] = "\x8d\x58",
+  [0x46e5] = "\x9e\x49", [0x46e7] = "\x9e\x4a", [0x46e8] = "\x8f\x91",
+  [0x46e9] = "\x91\x82", [0x46ec] = "\x99\xd6", [0x46ed] = "\x91\x5d",
+  [0x46ee] = "\x91\x5c", [0x46ef] = "\x91\xd6", [0x46f0] = "\x8d\xc5",
+  [0x46f3] = "\x98\xf0", [0x46f8] = "\x8c\x8e", [0x46f9] = "\x97\x4c",
+  [0x46fb] = "\x95\xfc", [0x46fd] = "\x95\x9e", [0x46ff] = "\x9e\x4b",
+  [0x4704] = "\x8d\xf1", [0x4705] = "\x92\xbd", [0x4706] = "\x9e\x4c",
+  [0x4707] = "\x98\x4e", [0x470b] = "\x96\x5d", [0x470d] = "\x92\xa9",
+  [0x470e] = "\x9e\x4d", [0x470f] = "\x8a\xfa", [0x4716] = "\x9e\x4e",
+  [0x4717] = "\x9e\x4f", [0x4718] = "\x96\xd8", [0x471a] = "\x96\xa2",
+  [0x471b] = "\x96\x96", [0x471c] = "\x96\x7b", [0x471d] = "\x8e\x44",
+  [0x471e] = "\x9e\x51", [0x4721] = "\x8e\xe9", [0x4724] = "\x96\x70",
+  [0x4726] = "\x9e\x53", [0x4727] = "\x9e\x56", [0x4728] = "\x9e\x55",
+  [0x472a] = "\x8a\xf7", [0x472d] = "\x8b\x80", [0x472f] = "\x9e\x52",
+  [0x4731] = "\x9e\x54", [0x4736] = "\x9e\x57", [0x4739] = "\x90\x99",
+  [0x473e] = "\x97\x9b", [0x473f] = "\x88\xc7", [0x4740] = "\x8d\xde",
+  [0x4741] = "\x91\xba", [0x4743] = "\x8e\xdb", [0x4746] = "\x8f\xf1",
+  [0x4749] = "\x9e\x5a", [0x474c] = "\x93\x6d", [0x474e] = "\x9e\x58",
+  [0x474f] = "\x91\xa9", [0x4750] = "\x9e\x59", [0x4751] = "\x8f\xf0",
+  [0x4752] = "\x96\xdb", [0x4753] = "\x9e\x5b", [0x4754] = "\x9e\x5c",
+  [0x4755] = "\x97\x88", [0x475a] = "\x9e\x61", [0x475d] = "\x8d\x59",
+  [0x475f] = "\x94\x74", [0x4760] = "\x9e\x5e", [0x4761] = "\x93\x8c",
+  [0x4762] = "\x9d\xdc", [0x4763] = "\x9d\xe0", [0x4765] = "\x8b\x6e",
+  [0x4767] = "\x94\x66", [0x476c] = "\x9e\x60", [0x476e] = "\x8f\xbc",
+  [0x476f] = "\x94\xc2", [0x4775] = "\x9e\x66", [0x4777] = "\x94\xf8",
+  [0x4779] = "\x9e\x5d", [0x477b] = "\x9e\x63", [0x477c] = "\x9e\x62",
+  [0x4780] = "\x90\xcd", [0x4785] = "\x96\x8d", [0x4787] = "\x97\xd1",
+  [0x478a] = "\x96\x87", [0x478c] = "\x89\xca", [0x478d] = "\x8e\x7d",
+  [0x4790] = "\x98\x67", [0x4791] = "\x9e\x65", [0x4792] = "\x90\x95",
+  [0x4796] = "\x9e\x64", [0x4799] = "\x9e\x5f", [0x479f] = "\x8c\xcd",
+  [0x47a3] = "\x9e\x6b", [0x47a4] = "\x9e\x69", [0x47a6] = "\x89\xcb",
+  [0x47a7] = "\x9e\x67", [0x47a8] = "\x9e\x6d", [0x47a9] = "\x9e\x73",
+  [0x47b1] = "\x91\xc6", [0x47b4] = "\x95\xbf", [0x47b6] = "\x9e\x75",
+  [0x47ba] = "\x95\x41", [0x47be] = "\x9e\x74", [0x47bf] = "\x94\x90",
+  [0x47c0] = "\x96\x5e", [0x47c1] = "\x8a\xb9", [0x47c3] = "\x90\xf5",
+  [0x47c4] = "\x8f\x5f", [0x47c8] = "\x92\xd1", [0x47ca] = "\x97\x4d",
+  [0x47cd] = "\x9e\x70", [0x47ce] = "\x9e\x6f", [0x47d2] = "\x9e\x71",
+  [0x47d4] = "\x9e\x6e", [0x47d7] = "\x9e\x76", [0x47d9] = "\x9e\x6c",
+  [0x47dc] = "\x9e\x6a", [0x47de] = "\x9e\x72", [0x47df] = "\x9e\x68",
+  [0x47e1] = "\x92\x8c", [0x47e3] = "\x96\xf6", [0x47e4] = "\x8e\xc4",
+  [0x47e5] = "\x8d\xf2", [0x47eb] = "\x8d\xb8", [0x47ee] = "\x96\x8f",
+  [0x47ef] = "\x8a\x60", [0x47f2] = "\x92\xcc", [0x47f3] = "\x93\xc8",
+  [0x47f4] = "\x89\x68", [0x4803] = "\x90\xf0", [0x4806] = "\x90\xb2",
+  [0x4807] = "\x8c\x49", [0x480e] = "\x9e\x78", [0x4811] = "\x8d\x5a",
+  [0x4812] = "\x8a\x9c", [0x4819] = "\x9e\x7a", [0x481a] = "\x8a\x94",
+  [0x481b] = "\x9e\x81", [0x4822] = "\x9e\x7d", [0x4824] = "\x90\xf1",
+  [0x4828] = "\x8a\x6a", [0x4829] = "\x8d\xaa", [0x482c] = "\x8a\x69",
+  [0x482d] = "\x8d\xcd", [0x4830] = "\x9e\x7b", [0x4831] = "\x8c\x85",
+  [0x4832] = "\x8c\x6a", [0x4833] = "\x93\x8d", [0x4836] = "\x9e\x79",
+  [0x4838] = "\x88\xc4", [0x483d] = "\x9e\x7c", [0x483e] = "\x9e\x7e",
+  [0x4840] = "\x8b\xcb", [0x4841] = "\x8c\x4b", [0x4843] = "\x8a\xba",
+  [0x4844] = "\x8b\x6a", [0x4849] = "\x9e\x82", [0x484c] = "\x8d\xf7",
+  [0x484d] = "\x96\x91", [0x484f] = "\x8e\x56", [0x4853] = "\x9e\x83",
+  [0x4857] = "\x95\x4f", [0x4864] = "\x9e\x8f", [0x4866] = "\x89\xb1",
+  [0x4867] = "\x9e\x84", [0x486e] = "\x9e\x95", [0x486f] = "\x9e\x85",
+  [0x4871] = "\x97\xc0", [0x4873] = "\x9e\x8c", [0x4875] = "\x94\x7e",
+  [0x487d] = "\x9e\x94", [0x487f] = "\x9e\x87", [0x4883] = "\x88\xb2",
+  [0x4884] = "\x9e\x89", [0x4887] = "\x8d\x5b", [0x488b] = "\x9e\x8b",
+  [0x488d] = "\x9e\x8a", [0x488f] = "\x9e\x86", [0x4890] = "\x9e\x91",
+  [0x4892] = "\x8f\xbd", [0x4896] = "\x9a\xeb", [0x4897] = "\x8c\xe6",
+  [0x4898] = "\x97\x9c", [0x489d] = "\x9e\x88", [0x489f] = "\x92\xf2",
+  [0x48a0] = "\x8a\x42", [0x48a1] = "\x8d\xab", [0x48a3] = "\x9e\x80",
+  [0x48a5] = "\x9e\x90", [0x48a6] = "\x8a\x81", [0x48a9] = "\x9e\x8e",
+  [0x48aa] = "\x9e\x92", [0x48ac] = "\x93\x8e", [0x48b4] = "\x8a\xfc",
+  [0x48b6] = "\x9e\xb0", [0x48b9] = "\x96\xc7", [0x48ba] = "\x9e\x97",
+  [0x48bb] = "\x8a\xfb", [0x48bd] = "\x9e\x9e", [0x48c2] = "\x96\x5f",
+  [0x48c4] = "\x9e\x9f", [0x48c5] = "\x9e\xa1", [0x48c7] = "\x9e\xa5",
+  [0x48c8] = "\x9e\x99", [0x48ca] = "\x92\x49", [0x48cf] = "\x93\x8f",
+  [0x48d0] = "\x9e\xa9", [0x48d1] = "\x9e\x9c", [0x48d3] = "\x9e\xa6",
+  [0x48d7] = "\x9e\xa0", [0x48de] = "\x90\x58", [0x48df] = "\x9e\xaa",
+  [0x48e2] = "\x90\xb1", [0x48e9] = "\x9e\xa8", [0x48ea] = "\x8a\xbb",
+  [0x48f0] = "\x98\x6f", [0x48f1] = "\x9e\x96", [0x48f4] = "\x9e\xa4",
+  [0x48f5] = "\x88\xd6", [0x48f8] = "\x9e\x98", [0x48fb] = "\x96\xb8",
+  [0x48fc] = "\x9e\x9d", [0x48fd] = "\x90\x41", [0x48fe] = "\x92\xc5",
+  [0x48ff] = "\x9e\x93", [0x4902] = "\x9e\xa3", [0x4909] = "\x90\x9a",
+  [0x490a] = "\x9e\xad", [0x490b] = "\x8a\x91", [0x490c] = "\x8c\x9f",
+  [0x4911] = "\x9e\xaf", [0x4912] = "\x9e\x9a", [0x4913] = "\x9e\xae",
+  [0x4915] = "\x9e\xa7", [0x4916] = "\x9e\x9b", [0x4918] = "\x9e\xab",
+  [0x491a] = "\x9e\xac", [0x4920] = "\x9e\xbd", [0x4924] = "\x93\xcc",
+  [0x4926] = "\x9e\xa2", [0x4929] = "\x9e\xb9", [0x492d] = "\x9e\xbb",
+  [0x492f] = "\x92\xd6", [0x493a] = "\x97\x6b", [0x4943] = "\x95\x96",
+  [0x4944] = "\x9e\xb6", [0x4945] = "\x91\xc8", [0x4949] = "\x9e\xbc",
+  [0x494a] = "\x91\x5e", [0x494c] = "\x9e\xb3", [0x494d] = "\x9e\xc0",
+  [0x494e] = "\x9e\xbf", [0x4950] = "\x93\xed", [0x4951] = "\x9e\xbe",
+  [0x4952] = "\x93\xe8", [0x495a] = "\x9e\xc2", [0x495b] = "\x9e\xb5",
+  [0x495d] = "\x8b\xc6", [0x495e] = "\x9e\xb8", [0x495f] = "\x8f\x7c",
+  [0x4963] = "\x94\x80", [0x4964] = "\x9e\xba", [0x4965] = "\x8b\xc9",
+  [0x4967] = "\x9e\xb2", [0x4968] = "\x9e\xb4", [0x4969] = "\x9e\xb1",
+  [0x496c] = "\x98\x4f", [0x496d] = "\x8a\x79", [0x496e] = "\x9e\xb7",
+  [0x4971] = "\x9e\xc1", [0x4972] = "\x8a\x54", [0x497a] = "\x8d\xe5",
+  [0x497e] = "\x89\x7c", [0x4981] = "\x9e\xd2", [0x4984] = "\x98\x50",
+  [0x4985] = "\x9e\xd5", [0x498b] = "\x90\x59", [0x498c] = "\x9e\xd4",
+  [0x4990] = "\x9e\xd3", [0x4997] = "\x9e\xd0", [0x499e] = "\x9e\xc4",
+  [0x49a1] = "\x9e\xe1", [0x49a2] = "\x9e\xc3", [0x49a4] = "\x9e\xd6",
+  [0x49ab] = "\x9e\xce", [0x49ae] = "\x9e\xc9", [0x49af] = "\x9e\xc6",
+  [0x49b1] = "\x9e\xc7", [0x49b3] = "\x9e\xcf", [0x49b7] = "\xea\xa0",
+  [0x49ba] = "\x9e\xcc", [0x49bb] = "\x8d\x5c", [0x49bc] = "\x92\xc6",
+  [0x49bd] = "\x91\x84", [0x49be] = "\x9e\xca", [0x49c0] = "\x9e\xc5",
+  [0x49c3] = "\x9e\xc8", [0x49c8] = "\x97\x6c", [0x49c9] = "\x96\x8a",
+  [0x49cd] = "\x9e\xcd", [0x49ce] = "\x9e\xd7", [0x49d7] = "\x9e\xdf",
+  [0x49d8] = "\x9e\xd8", [0x49db] = "\x9e\xe5", [0x49dd] = "\x9e\xe3",
+  [0x49e2] = "\x9e\xde", [0x49e9] = "\x9e\xdd", [0x49eb] = "\x92\xce",
+  [0x49ed] = "\x91\x85", [0x49ef] = "\x9e\xdb", [0x49f2] = "\x9e\xd9",
+  [0x49f5] = "\x9e\xe0", [0x49fa] = "\x9e\xe6", [0x49fb] = "\x94\xf3",
+  [0x49fc] = "\x9e\xec", [0x4a02] = "\x9e\xe7", [0x4a03] = "\x9e\xea",
+  [0x4a04] = "\x9e\xe4", [0x4a07] = "\x92\x94", [0x4a09] = "\x95\x57",
+  [0x4a0b] = "\x9e\xda", [0x4a0e] = "\x9e\xe2", [0x4a0f] = "\x8f\xbe",
+  [0x4a11] = "\x96\xcd", [0x4a12] = "\x9e\xf6", [0x4a13] = "\x9e\xe9",
+  [0x4a19] = "\x8c\xa0", [0x4a1a] = "\x89\xa1", [0x4a1b] = "\x8a\x7e",
+  [0x4a1e] = "\x9e\xd1", [0x4a25] = "\x8f\xbf", [0x4a26] = "\x9e\xee",
+  [0x4a28] = "\x9e\xf5", [0x4a29] = "\x8e\xf7", [0x4a2a] = "\x8a\x92",
+  [0x4a2d] = "\x92\x4d", [0x4a34] = "\x9e\xeb", [0x4a37] = "\x9e\xf0",
+  [0x4a38] = "\x9e\xf4", [0x4a3b] = "\x8b\xb4", [0x4a48] = "\x8b\x6b",
+  [0x4a49] = "\x9e\xf2", [0x4a4f] = "\x8b\x40", [0x4a51] = "\x93\xc9",
+  [0x4a52] = "\x9e\xf1", [0x4a56] = "\x9e\xf3", [0x4a62] = "\x9e\xed",
+  [0x4a68] = "\x9e\xef", [0x4a6f] = "\x8a\x80", [0x4a70] = "\x92\x68",
+  [0x4a74] = "\x9e\xfa", [0x4a7d] = "\x9e\xf8", [0x4a7e] = "\x8c\xe7",
+  [0x4a80] = "\x9e\xf7", [0x4a87] = "\x9f\x40", [0x4a8c] = "\x9e\x77",
+  [0x4a90] = "\x9e\xf9", [0x4a92] = "\x9e\xfb", [0x4a93] = "\x9e\xfc",
+  [0x4a9a] = "\x9f\x4b", [0x4a9c] = "\x9f\x47", [0x4a9e] = "\x9e\x8d",
+  [0x4aa3] = "\x9f\x46", [0x4aa8] = "\x9f\x45", [0x4aab] = "\x9f\x42",
+  [0x4ab1] = "\x9e\xe8", [0x4ab2] = "\x9f\x44", [0x4ab3] = "\x9f\x43",
+  [0x4ac1] = "\x9f\x49", [0x4ac3] = "\x98\x45", [0x4aca] = "\x9f\x4c",
+  [0x4acb] = "\x8b\xf9", [0x4ace] = "\x9f\x48", [0x4acf] = "\x9f\x4a",
+  [0x4ad8] = "\x94\xa5", [0x4ada] = "\x9f\x4d", [0x4aea] = "\x9f\x51",
+  [0x4aeb] = "\x9f\x4e", [0x4af4] = "\x97\x93", [0x4af5] = "\x9f\x4f",
+  [0x4afa] = "\x9e\xdc", [0x4b02] = "\x9f\x52", [0x4b06] = "\x9f\x53",
+  [0x4b0d] = "\x89\x54", [0x4b0f] = "\x9f\x55", [0x4b10] = "\x8c\x87",
+  [0x4b11] = "\x8e\x9f", [0x4b13] = "\x8b\xd3", [0x4b17] = "\x89\xa2",
+  [0x4b22] = "\x97\x7e", [0x4b27] = "\x9f\x57", [0x4b28] = "\x9f\x56",
+  [0x4b29] = "\x9f\x59", [0x4b2a] = "\x8b\x5c", [0x4b2d] = "\x8b\xd4",
+  [0x4b2e] = "\x8a\xbc", [0x4b33] = "\x9f\x5c", [0x4b37] = "\x9f\x5b",
+  [0x4b39] = "\x9f\x5d", [0x4b3c] = "\x89\xcc", [0x4b3e] = "\x92\x56",
+  [0x4b40] = "\x9f\x5e", [0x4b43] = "\x8a\xbd", [0x4b44] = "\x9f\x60",
+  [0x4b49] = "\x9f\x5f", [0x4b4b] = "\x9f\x61", [0x4b4f] = "\x9f\x62",
+  [0x4b51] = "\x9f\x63", [0x4b52] = "\x8e\x7e", [0x4b53] = "\x90\xb3",
+  [0x4b54] = "\x8d\x9f", [0x4b56] = "\x95\x90", [0x4b59] = "\x95\xe0",
+  [0x4b5a] = "\x98\x63", [0x4b5f] = "\x8e\x95", [0x4b63] = "\x8d\xce",
+  [0x4b64] = "\x97\xf0", [0x4b68] = "\x9f\x64", [0x4b69] = "\x9f\x65",
+  [0x4b6b] = "\x8e\x80", [0x4b6f] = "\x9f\x66", [0x4b70] = "\x9f\x67",
+  [0x4b73] = "\x9f\x69", [0x4b74] = "\x9f\x68", [0x4b76] = "\x96\x77",
+  [0x4b79] = "\x8f\x7d", [0x4b7a] = "\x8e\xea", [0x4b7b] = "\x8e\x63",
+  [0x4b7d] = "\x9f\x6a", [0x4b85] = "\x9f\x6c", [0x4b86] = "\x90\x42",
+  [0x4b88] = "\x9f\x6b", [0x4b8e] = "\x9f\x6d", [0x4b94] = "\x9f\x6e",
+  [0x4b9a] = "\x9f\x6f", [0x4b9b] = "\x9f\x70", [0x4b9f] = "\x9f\x71",
+  [0x4ba1] = "\x9f\x73", [0x4ba2] = "\x9f\x72", [0x4ba3] = "\x9f\x74",
+  [0x4ba4] = "\x89\xa3", [0x4ba5] = "\x92\x69", [0x4ba7] = "\x9f\x75",
+  [0x4baa] = "\x8e\x45", [0x4bab] = "\x8a\x6b", [0x4bac] = "\x9f\x76",
+  [0x4baf] = "\x93\x61", [0x4bb0] = "\x9a\xca", [0x4bb5] = "\x8b\x42",
+  [0x4bb6] = "\x9f\x77", [0x4bbb] = "\x9f\x78", [0x4bbd] = "\x95\xea",
+  [0x4bbe] = "\x96\x88", [0x4bc2] = "\x93\xc5", [0x4bc3] = "\x9f\x79",
+  [0x4bc4] = "\x94\xe4", [0x4bc8] = "\x94\xf9", [0x4bcb] = "\x96\xd1",
+  [0x4bcf] = "\x9f\x7a", [0x4bdb] = "\x9f\x7c", [0x4bdc] = "\x9f\x7b",
+  [0x4bdf] = "\x9f\x7e", [0x4be3] = "\x9f\x7d", [0x4bf8] = "\x9f\x81",
+  [0x4bff] = "\x8e\x81", [0x4c01] = "\x96\xaf", [0x4c03] = "\x9f\x82",
+  [0x4c04] = "\x9f\x83", [0x4c07] = "\x8b\x43", [0x4c0b] = "\x9f\x84",
+  [0x4c13] = "\x9f\x86", [0x4c14] = "\x9f\x85", [0x4c24] = "\x90\x85",
+  [0x4c27] = "\x95\x58", [0x4c28] = "\x89\x69", [0x4c2e] = "\x94\xc3",
+  [0x4c30] = "\x92\xf3", [0x4c31] = "\x8f\x60", [0x4c32] = "\x8b\x81",
+  [0x4c3e] = "\x94\xc4", [0x4c40] = "\x8e\xac", [0x4c45] = "\x9f\x88",
+  [0x4c47] = "\x8a\xbe", [0x4c4a] = "\x89\x98", [0x4c4d] = "\x93\xf0",
+  [0x4c4e] = "\x9f\x87", [0x4c4f] = "\x8d\x5d", [0x4c50] = "\x92\x72",
+  [0x4c52] = "\x9f\x89", [0x4c58] = "\x9f\x91", [0x4c5a] = "\x9f\x8a",
+  [0x4c60] = "\x91\xbf", [0x4c62] = "\x8b\x82", [0x4c63] = "\x9f\x92",
+  [0x4c6a] = "\x8c\x88", [0x4c6d] = "\x8b\x44", [0x4c6e] = "\x9f\x90",
+  [0x4c71] = "\x9f\x8e", [0x4c72] = "\x9f\x8b", [0x4c73] = "\x97\x80",
+  [0x4c78] = "\x92\xbe", [0x4c7c] = "\x93\xd7", [0x4c7d] = "\x9f\x8c",
+  [0x4c80] = "\x9f\x94", [0x4c82] = "\x9f\x93", [0x4c83] = "\x8c\x42",
+  [0x4c86] = "\x89\xab", [0x4c89] = "\x8d\xb9", [0x4c8a] = "\x9f\x8d",
+  [0x4c8b] = "\x9f\x8f", [0x4c91] = "\x96\x76", [0x4c92] = "\x91\xf2",
+  [0x4c9b] = "\x96\x97", [0x4c9e] = "\x9f\x9c", [0x4ca1] = "\x9f\x9d",
+  [0x4ca3] = "\x89\xcd", [0x4ca8] = "\x95\xa6", [0x4ca9] = "\x96\xfb",
+  [0x4caa] = "\x9f\x9f", [0x4cab] = "\x8e\xa1", [0x4cac] = "\x8f\xc0",
+  [0x4cad] = "\x9f\x98", [0x4cae] = "\x9f\x9e", [0x4caf] = "\x89\x88",
+  [0x4cb1] = "\x8b\xb5", [0x4cb4] = "\x9f\x95", [0x4cb5] = "\x9f\x9a",
+  [0x4cb9] = "\x90\xf2", [0x4cba] = "\x94\x91", [0x4cbc] = "\x94\xe5",
+  [0x4cc3] = "\x9f\x97", [0x4cc5] = "\x96\x40", [0x4cc7] = "\x9f\x99",
+  [0x4cc9] = "\x9f\xa2", [0x4ccb] = "\x9f\xa0", [0x4ccd] = "\x9f\x9b",
+  [0x4cd1] = "\x96\x41", [0x4cd2] = "\x94\x67", [0x4cd3] = "\x8b\x83",
+  [0x4cd5] = "\x93\x44", [0x4cd8] = "\x92\x8d", [0x4cda] = "\x9f\xa3",
+  [0x4cdf] = "\x9f\xa1", [0x4ce0] = "\x91\xd7", [0x4ce1] = "\x9f\x96",
+  [0x4ce3] = "\x89\x6a", [0x4cfb] = "\x97\x6d", [0x4cfc] = "\x9f\xae",
+  [0x4d02] = "\x9f\xad", [0x4d07] = "\x90\xf4", [0x4d09] = "\x9f\xaa",
+  [0x4d0b] = "\x97\x8c", [0x4d0e] = "\x93\xb4", [0x4d0f] = "\x9f\xa4",
+  [0x4d15] = "\x92\xc3", [0x4d19] = "\x89\x6b", [0x4d1a] = "\x8d\x5e",
+  [0x4d1b] = "\x9f\xa7", [0x4d22] = "\x8f\x46", [0x4d23] = "\x9f\xac",
+  [0x4d25] = "\x9f\xab", [0x4d26] = "\x9f\xa6", [0x4d28] = "\x9f\xa9",
+  [0x4d2b] = "\x8a\x88", [0x4d2d] = "\x9f\xa8", [0x4d2e] = "\x94\x68",
+  [0x4d31] = "\x97\xac", [0x4d34] = "\x8f\xf2", [0x4d35] = "\x90\xf3",
+  [0x4d49] = "\x9f\xb4", [0x4d4a] = "\x9f\xb2", [0x4d4c] = "\x95\x6c",
+  [0x4d53] = "\x9f\xaf", [0x4d54] = "\x9f\xb1", [0x4d56] = "\x89\x59",
+  [0x4d59] = "\x8d\x5f", [0x4d5a] = "\x98\x51", [0x4d5c] = "\x8a\x5c",
+  [0x4d5e] = "\x95\x82", [0x4d64] = "\x97\x81", [0x4d67] = "\x8a\x43",
+  [0x4d68] = "\x90\x5a", [0x4d69] = "\x9f\xb3", [0x4d75] = "\x9f\xb8",
+  [0x4d78] = "\x8f\xc1", [0x4d7c] = "\x97\x4f", [0x4d7e] = "\x9f\xb5",
+  [0x4d83] = "\x9f\xb0", [0x4d85] = "\x9f\xb6", [0x4d89] = "\x97\xdc",
+  [0x4d8b] = "\x93\x93", [0x4d8c] = "\x93\xc0", [0x4d9f] = "\x8a\x55",
+  [0x4da2] = "\x89\x74", [0x4da5] = "\x9f\xbc", [0x4da8] = "\x9f\xbf",
+  [0x4dac] = "\x97\xc1", [0x4db0] = "\x97\x84", [0x4db5] = "\x9f\xc6",
+  [0x4db6] = "\x9f\xc0", [0x4db7] = "\x9f\xbd", [0x4dbb] = "\x97\xd2",
+  [0x4dbc] = "\x9f\xc3", [0x4dc1] = "\x8f\x69", [0x4dc2] = "\x9f\xc5",
+  [0x4dc5] = "\x9f\xca", [0x4dc8] = "\x93\x91", [0x4dc9] = "\x9f\xc8",
+  [0x4dce] = "\x9f\xc2", [0x4dd1] = "\x92\x57", [0x4dd4] = "\x9f\xc9",
+  [0x4dd6] = "\x9f\xbe", [0x4dd8] = "\x9f\xc4", [0x4dda] = "\x9f\xcb",
+  [0x4ddb] = "\x88\xfa", [0x4ddc] = "\x9f\xc1", [0x4dde] = "\x9f\xcc",
+  [0x4de1] = "\x90\x5b", [0x4de3] = "\x8f\x7e", [0x4de5] = "\x95\xa3",
+  [0x4de7] = "\x8d\xac", [0x4de9] = "\x9f\xb9", [0x4dea] = "\x9f\xc7",
+  [0x4deb] = "\x93\x59", [0x4df5] = "\x90\xb4", [0x4df7] = "\x8a\x89",
+  [0x4df8] = "\x8d\xcf", [0x4df9] = "\x8f\xc2", [0x4dfa] = "\x9f\xbb",
+  [0x4dfb] = "\x8f\x61", [0x4e03] = "\x8c\x6b", [0x4e05] = "\x9f\xba",
+  [0x4e09] = "\x9f\xd0", [0x4e0a] = "\x8f\x8d", [0x4e0b] = "\x8c\xb8",
+  [0x4e0d] = "\x9f\xdf", [0x4e0f] = "\x9f\xd9", [0x4e10] = "\x8b\x94",
+  [0x4e11] = "\x93\x6e", [0x4e13] = "\x9f\xd4", [0x4e14] = "\x9f\xdd",
+  [0x4e15] = "\x88\xad", [0x4e16] = "\x89\x51", [0x4e19] = "\x89\xb7",
+  [0x4e1b] = "\x9f\xd6", [0x4e1c] = "\x91\xaa", [0x4e1d] = "\x9f\xcd",
+  [0x4e1e] = "\x9f\xcf", [0x4e1f] = "\x8d\x60", [0x4e28] = "\x9f\xe0",
+  [0x4e2a] = "\x9f\xdb", [0x4e2e] = "\x9f\xd3", [0x4e33] = "\x9f\xda",
+  [0x4e3a] = "\x96\xa9", [0x4e3d] = "\x9f\xd8", [0x4e3e] = "\x9f\xdc",
+  [0x4e46] = "\x8c\xce", [0x4e48] = "\x8f\xc3", [0x4e4b] = "\x92\x58",
+  [0x4e4f] = "\x9f\xd2", [0x4e57] = "\x97\x4e", [0x4e5b] = "\x9f\xd5",
+  [0x4e5e] = "\x9f\xce", [0x4e5f] = "\x93\x92", [0x4e62] = "\x9f\xd1",
+  [0x4e66] = "\x9f\xd7", [0x4e6e] = "\x98\x70", [0x4e6f] = "\x8e\xbc",
+  [0x4e70] = "\x96\x9e", [0x4e72] = "\x9f\xe1", [0x4e7c] = "\x94\xac",
+  [0x4e7f] = "\x9f\xed", [0x4e80] = "\x8c\xb9", [0x4e86] = "\x8f\x80",
+  [0x4e88] = "\x9f\xe3", [0x4e8c] = "\x97\xad", [0x4e8d] = "\x8d\x61",
+  [0x4e8f] = "\x9f\xf0", [0x4e92] = "\x88\xec", [0x4e95] = "\x9f\xee",
+  [0x4e9a] = "\x9f\xe2", [0x4e9f] = "\x9f\xe8", [0x4ea2] = "\x9f\xea",
+  [0x4ea6] = "\x97\x6e", [0x4ea7] = "\x9f\xe5", [0x4eaa] = "\x93\x4d",
+  [0x4ead] = "\x9f\xe7", [0x4eb2] = "\x9f\xef", [0x4eb4] = "\x9f\xe9",
+  [0x4eb5] = "\x96\xc5", [0x4eb9] = "\x9f\xe4", [0x4ebb] = "\x8e\xa0",
+  [0x4ebc] = "\x9f\xfc", [0x4ec1] = "\x8a\x8a", [0x4ec3] = "\x9f\xe6",
+  [0x4ec4] = "\x9f\xeb", [0x4ec5] = "\x9f\xec", [0x4ecd] = "\x91\xea",
+  [0x4ece] = "\x91\xd8", [0x4edc] = "\x9f\xf4", [0x4edf] = "\x9f\xfa",
+  [0x4ee2] = "\x9f\xf8", [0x4ee4] = "\x93\x48", [0x4ee7] = "\xe0\x42",
+  [0x4ee8] = "\x9f\xf5", [0x4eee] = "\x9f\xf6", [0x4eef] = "\x9f\xde",
+  [0x4ef1] = "\x8b\x99", [0x4ef2] = "\x95\x59", [0x4ef6] = "\x8e\xbd",
+  [0x4ef9] = "\x8d\x97", [0x4eff] = "\x98\x52", [0x4f01] = "\x9f\xf2",
+  [0x4f03] = "\xe0\x41", [0x4f04] = "\x89\x89", [0x4f05] = "\x91\x86",
+  [0x4f10] = "\x94\x99", [0x4f12] = "\x8a\xbf", [0x4f13] = "\x97\xf8",
+  [0x4f1b] = "\x96\x9f", [0x4f1c] = "\x92\xd0", [0x4f21] = "\x9f\xf9",
+  [0x4f22] = "\x9f\xfb", [0x4f28] = "\x91\x51", [0x4f2e] = "\xe0\x40",
+  [0x4f2f] = "\x9f\xf7", [0x4f31] = "\x9f\xf1", [0x4f35] = "\x8a\xc1",
+  [0x4f44] = "\x8c\x89", [0x4f48] = "\xe0\x4e", [0x4f4b] = "\xe0\x49",
+  [0x4f4c] = "\x90\xf6", [0x4f4f] = "\x8a\x83", [0x4f54] = "\x8f\x81",
+  [0x4f56] = "\xe0\x52", [0x4f5d] = "\xe0\x4b", [0x4f5e] = "\x92\xaa",
+  [0x4f5f] = "\xe0\x48", [0x4f60] = "\x92\xd7", [0x4f64] = "\xe0\x6b",
+  [0x4f68] = "\xe0\x45", [0x4f6a] = "\xe0\x44", [0x4f6c] = "\xe0\x4d",
+  [0x4f70] = "\xe0\x47", [0x4f71] = "\xe0\x46", [0x4f72] = "\xe0\x4c",
+  [0x4f74] = "\x90\x9f", [0x4f76] = "\xe0\x43", [0x4f7e] = "\xe0\x4f",
+  [0x4f81] = "\xe0\x50", [0x4f87] = "\x8a\xc0", [0x4f91] = "\xe0\x55",
+  [0x4f93] = "\xe0\x54", [0x4f94] = "\xe0\x56", [0x4f9a] = "\xe0\x59",
+  [0x4fa1] = "\x93\x62", [0x4fa3] = "\xe0\x53", [0x4fa9] = "\xe0\x57",
+  [0x4fb0] = "\x8c\x83", [0x4fb1] = "\x91\xf7", [0x4fb2] = "\xe0\x51",
+  [0x4fb3] = "\x94\x5a", [0x4fb6] = "\xe0\x58", [0x4fc4] = "\xe0\x5d",
+  [0x4fc5] = "\xe0\x5b", [0x4fc8] = "\xe0\x5e", [0x4fcb] = "\xe0\x61",
+  [0x4fcf] = "\xe0\x5a", [0x4fd0] = "\x8d\x8a", [0x4fd1] = "\x94\x47",
+  [0x4fd4] = "\x9f\xb7", [0x4fdb] = "\x97\x94", [0x4fdc] = "\xe0\x5c",
+  [0x4fde] = "\xe0\x60", [0x4fdf] = "\x91\xf3", [0x4fe1] = "\xe0\x5f",
+  [0x4fe3] = "\xe0\x4a", [0x4fe6] = "\xe8\x89", [0x4fea] = "\xe0\x64",
+  [0x4fee] = "\xe0\x68", [0x4ff1] = "\xe0\x66", [0x4ff9] = "\xe0\x62",
+  [0x4ffb] = "\xe0\x63", [0x4fff] = "\xe0\x67", [0x5001] = "\xe0\x65",
+  [0x5005] = "\x95\x6d", [0x5008] = "\xe0\x6d", [0x500a] = "\xe0\x6a",
+  [0x500b] = "\xe0\x69", [0x500d] = "\xe0\x6c", [0x500e] = "\x93\xd2",
+  [0x500f] = "\xe0\x6e", [0x5016] = "\x92\x95", [0x5017] = "\x91\xeb",
+  [0x501c] = "\x90\xa3", [0x5020] = "\xe0\x6f", [0x5022] = "\xe0\x71",
+  [0x502e] = "\xe0\x70", [0x503c] = "\x9f\xf3", [0x5041] = "\xe0\x72",
+  [0x5048] = "\x93\xe5", [0x5053] = "\xe0\x73", [0x505b] = "\x89\xce",
+  [0x505f] = "\x93\x94", [0x5060] = "\x8a\x44", [0x5068] = "\x8b\x84",
+  [0x506c] = "\x8e\xdc", [0x506d] = "\x8d\xd0", [0x5079] = "\x98\x46",
+  [0x507a] = "\x90\x86", [0x507e] = "\x89\x8a", [0x5082] = "\xe0\x75",
+  [0x5089] = "\xe0\x74", [0x509c] = "\xe0\x78", [0x509d] = "\x92\x59",
+  [0x509e] = "\xe0\x7b", [0x509f] = "\xe0\x76", [0x50a3] = "\xe0\x7a",
+  [0x50a8] = "\xe0\x79", [0x50a9] = "\x93\x5f", [0x50aa] = "\x88\xd7",
+  [0x50b8] = "\x97\xf3", [0x50bb] = "\xe0\x7d", [0x50bf] = "\x89\x47",
+  [0x50c9] = "\xe0\x80", [0x50cd] = "\xe0\x7e", [0x50cf] = "\xe0\x7c",
+  [0x50e1] = "\xe0\x77", [0x50e9] = "\x96\x42", [0x50ed] = "\xe0\x82",
+  [0x50f9] = "\xe0\x81", [0x5104] = "\x89\x8b", [0x5109] = "\xe0\x84",
+  [0x510a] = "\x95\xb0", [0x510c] = "\xe0\x83", [0x5111] = "\x96\xb3",
+  [0x5116] = "\x8f\xc5", [0x5126] = "\x91\x52", [0x512c] = "\x8f\xc4",
+  [0x5139] = "\x97\xf9", [0x513c] = "\xe0\x8a", [0x513e] = "\x90\xf7",
+  [0x5145] = "\xe0\x86", [0x5146] = "\xe0\x8b", [0x5149] = "\x89\x8c",
+  [0x5152] = "\xe0\x89", [0x5154] = "\x94\x81", [0x5155] = "\xe0\x85",
+  [0x5156] = "\xe0\x88", [0x5157] = "\x8f\xc6", [0x5159] = "\x94\xcf",
+  [0x515c] = "\xe0\x8c", [0x515e] = "\x8e\xcf", [0x516d] = "\x90\xf8",
+  [0x5174] = "\xe0\x8f", [0x5178] = "\xe0\x87", [0x517a] = "\x8c\x46",
+  [0x517f] = "\xe0\x8d", [0x5184] = "\x97\x6f", [0x5185] = "\xe0\x90",
+  [0x5189] = "\xea\xa4", [0x518f] = "\x8f\x6e", [0x5198] = "\xe0\x91",
+  [0x519c] = "\xe0\x92", [0x51a1] = "\x94\x4d", [0x51a9] = "\xe0\x94",
+  [0x51ae] = "\xe0\x95", [0x51b3] = "\x94\x52", [0x51b8] = "\x93\x95",
+  [0x51b9] = "\xe0\x97", [0x51be] = "\xe0\x99", [0x51c0] = "\x97\xd3",
+  [0x51c2] = "\xe0\x96", [0x51c4] = "\xe0\x98", [0x51c5] = "\x89\x8d",
+  [0x51c7] = "\xe0\x93", [0x51cf] = "\x9a\x7a", [0x51d0] = "\xe0\x9a",
+  [0x51d5] = "\x91\x87", [0x51d6] = "\x8e\x57", [0x51d7] = "\xe0\x9c",
+  [0x51dc] = "\xe0\x9b", [0x51dd] = "\x90\x43", [0x51de] = "\x99\xd7",
+  [0x51e5] = "\xe0\x9d", [0x51e9] = "\xe0\x9f", [0x51eb] = "\xe0\x8e",
+  [0x51ec] = "\xe0\x9e", [0x51ef] = "\xe0\xa0", [0x51f6] = "\x94\x9a",
+  [0x51fd] = "\xe0\xa1", [0x5200] = "\xe0\xa2", [0x520b] = "\xe0\xa3",
+  [0x5218] = "\xe0\xa4", [0x521a] = "\x92\xdc", [0x521c] = "\xe0\xa6",
+  [0x521d] = "\xe0\xa5", [0x5220] = "\xe0\xa7", [0x5222] = "\xe0\xa8",
+  [0x5225] = "\x8e\xdd", [0x5226] = "\x95\x83", [0x522a] = "\x96\xea",
+  [0x522b] = "\xe0\xa9", [0x522c] = "\xe0\xaa", [0x522d] = "\x91\x75",
+  [0x522e] = "\x8e\xa2", [0x522f] = "\xe0\xab", [0x5230] = "\xe0\xac",
+  [0x5236] = "\xe0\xad", [0x5237] = "\x95\xd0", [0x5238] = "\x94\xc5",
+  [0x523b] = "\xe0\xae", [0x523c] = "\x94\x76", [0x5242] = "\x92\xab",
+  [0x5248] = "\xe0\xaf", [0x5249] = "\x89\xe5", [0x524b] = "\x8b\x8d",
+  [0x524d] = "\x96\xc4", [0x524f] = "\x96\xb4", [0x5251] = "\x89\xb2",
+  [0x5252] = "\x98\x53", [0x5257] = "\x96\x71", [0x5259] = "\x95\xa8",
+  [0x5262] = "\x90\xb5", [0x5264] = "\xe0\xb0", [0x5269] = "\x93\xc1",
+  [0x526d] = "\x8c\xa1", [0x526e] = "\xe0\xb1", [0x5270] = "\x8d\xd2",
+  [0x5271] = "\xe0\xb3", [0x5272] = "\xe0\xb2", [0x5277] = "\xe0\xb4",
+  [0x5282] = "\xe0\xb5", [0x5286] = "\xe0\xb6", [0x5290] = "\x8b\x5d",
+  [0x5292] = "\xe0\xb7", [0x5297] = "\xe0\xb8", [0x529c] = "\x8c\xa2",
+  [0x529f] = "\x94\xc6", [0x52a2] = "\xe0\xba", [0x52a6] = "\x8f\xf3",
+  [0x52a9] = "\xe0\xb9", [0x52b2] = "\x8b\xb6", [0x52b3] = "\xe0\xbb",
+  [0x52b4] = "\xe0\xbd", [0x52b6] = "\xe0\xbc", [0x52be] = "\xe0\xbe",
+  [0x52c0] = "\x8c\xcf", [0x52c2] = "\xe0\xbf", [0x52c7] = "\x8b\xe7",
+  [0x52c9] = "\x91\x5f", [0x52cb] = "\x8d\x9d", [0x52d0] = "\xe0\xc1",
+  [0x52d1] = "\xe0\xc2", [0x52d2] = "\xe0\xc0", [0x52d9] = "\x8e\xeb",
+  [0x52dc] = "\x93\xc6", [0x52dd] = "\x8b\xb7", [0x52e7] = "\xe0\xc4",
+  [0x52e8] = "\x92\x4b", [0x52e9] = "\xe0\xc3", [0x52ec] = "\x98\x54",
+  [0x52ed] = "\x94\x82", [0x52fa] = "\xe0\xc7", [0x5306] = "\xe0\xc9",
+  [0x5307] = "\xe0\xc6", [0x530b] = "\x96\xd2", [0x530c] = "\xe0\xc8",
+  [0x530d] = "\xe0\xca", [0x530f] = "\x97\xc2", [0x5315] = "\xe0\xce",
+  [0x5319] = "\xe0\xcd", [0x531a] = "\x92\x96", [0x531b] = "\x94\x4c",
+  [0x531e] = "\x8c\xa3", [0x531f] = "\xe0\xcc", [0x5324] = "\xe0\xcb",
+  [0x5326] = "\x97\x50", [0x5327] = "\x97\x51", [0x532e] = "\xe0\xcf",
+  [0x532f] = "\x89\x8e", [0x5334] = "\x8d\x96", [0x5335] = "\x8e\x82",
+  [0x533e] = "\xe0\xd0", [0x533f] = "\xe0\xd1", [0x5347] = "\xe0\xd3",
+  [0x5353] = "\x8f\x62", [0x5358] = "\xe0\xd5", [0x535a] = "\xe0\xd4",
+  [0x5360] = "\xe0\xd6", [0x5362] = "\x8a\x6c", [0x5365] = "\xe0\xd8",
+  [0x5368] = "\xe0\xd7", [0x536a] = "\xe0\xda", [0x536b] = "\xe0\xd9",
+  [0x5374] = "\x8c\xba", [0x5377] = "\x97\xa6", [0x5379] = "\x8b\xca",
+  [0x537b] = "\x89\xa4", [0x5386] = "\x8b\xe8", [0x5399] = "\x8a\xdf",
+  [0x53a2] = "\x97\xe6", [0x53a3] = "\xe0\xdc", [0x53ab] = "\xe0\xde",
+  [0x53b0] = "\xe0\xdf", [0x53b2] = "\x89\xcf", [0x53b8] = "\xe0\xdb",
+  [0x53ba] = "\x8e\x58", [0x53bd] = "\x92\xbf", [0x53be] = "\xe0\xdd",
+  [0x53ce] = "\xe0\xe2", [0x53d0] = "\x8e\xec", [0x53d5] = "\xe0\xe0",
+  [0x53da] = "\x8c\x5d", [0x53dd] = "\x94\xc7", [0x53de] = "\xe0\xe1",
+  [0x53e1] = "\xe0\xfc", [0x53e8] = "\xe0\xe7", [0x53ee] = "\x8c\xbb",
+  [0x53f3] = "\x8b\x85", [0x53f5] = "\xe0\xe4", [0x53f6] = "\x97\x9d",
+  [0x53f9] = "\x97\xae", [0x5412] = "\x91\xf4", [0x5415] = "\xe0\xe6",
+  [0x5422] = "\xe0\xe8", [0x5423] = "\x97\xd4", [0x5424] = "\x8b\xd5",
+  [0x5425] = "\x94\xfa", [0x5426] = "\x94\x69", [0x542a] = "\xe0\xe9",
+  [0x542f] = "\xe0\xeb", [0x5431] = "\xe0\xee", [0x5445] = "\xe0\xea",
+  [0x5449] = "\xe0\xed", [0x544a] = "\x8c\xe8", [0x544b] = "\x89\x6c",
+  [0x544c] = "\xe0\xef", [0x544e] = "\x90\x90", [0x544f] = "\xe0\xec",
+  [0x5450] = "\x97\xda", [0x5453] = "\xe0\xf2", [0x5454] = "\xea\xa2",
+  [0x5459] = "\xe0\xf0", [0x545a] = "\xe0\xf3", [0x545f] = "\xe0\xe5",
+  [0x5460] = "\xe0\xf1", [0x5463] = "\x8d\xba", [0x5466] = "\xe0\xf4",
+  [0x546e] = "\xe0\xf5", [0x5473] = "\x97\x9e", [0x547b] = "\xe0\xf6",
+  [0x548e] = "\xe0\xf7", [0x5492] = "\xe0\xe3", [0x5497] = "\xe0\xf8",
+  [0x54a0] = "\x8a\xc2", [0x54ad] = "\x8e\xa3", [0x54ba] = "\xe0\xf9",
+  [0x54bf] = "\xe0\xfa", [0x54c4] = "\xe0\xfb", [0x54cc] = "\x89\x5a",
+  [0x54d0] = "\xe1\x40", [0x54d2] = "\x95\x5a", [0x54d3] = "\xe1\x41",
+  [0x54d6] = "\x8a\xa2", [0x54d7] = "\xe1\x42", [0x54d9] = "\xe1\x43",
+  [0x54de] = "\xe1\x44", [0x54e0] = "\xe1\x46", [0x54e1] = "\xe1\x47",
+  [0x54e2] = "\xe1\x45", [0x54e6] = "\x95\x72", [0x54e7] = "\xe1\x49",
+  [0x54e8] = "\xe1\x48", [0x54f3] = "\xe1\x4b", [0x54f4] = "\xe1\x4a",
+  [0x54f5] = "\xe1\x4c", [0x54fc] = "\xe1\x4d", [0x54fd] = "\xe1\x4f",
+  [0x54fe] = "\xe1\x4e", [0x5501] = "\x8d\x99", [0x5503] = "\xe1\x51",
+  [0x5505] = "\xe1\x50", [0x5508] = "\x8a\xc3", [0x550a] = "\x90\x72",
+  [0x550c] = "\x93\x5b", [0x550e] = "\xe1\x52", [0x550f] = "\x90\xb6",
+  [0x5513] = "\x8e\x59", [0x5515] = "\x89\x99", [0x5516] = "\xe1\x53",
+  [0x5518] = "\x97\x70", [0x551b] = "\x95\xe1", [0x551c] = "\xe1\x54",
+  [0x5520] = "\x93\x63", [0x5521] = "\x97\x52", [0x5522] = "\x8d\x62",
+  [0x5523] = "\x90\x5c", [0x5527] = "\x92\x6a", [0x5528] = "\x99\xb2",
+  [0x552a] = "\x92\xac", [0x552b] = "\x89\xe6", [0x552c] = "\xe1\x55",
+  [0x5534] = "\xe1\x56", [0x5536] = "\xe1\x5b", [0x5539] = "\xe1\x59",
+  [0x553a] = "\xe1\x58", [0x553b] = "\x9d\xc0", [0x553c] = "\x8a\x45",
+  [0x553d] = "\xe1\x57", [0x553f] = "\x88\xd8", [0x5541] = "\x94\xa8",
+  [0x5544] = "\x94\xc8", [0x5549] = "\x97\xaf", [0x554a] = "\xe1\x5c",
+  [0x554b] = "\xe1\x5a", [0x554c] = "\x92\x7b", [0x554d] = "\x90\xa4",
+  [0x5550] = "\x94\xa9", [0x5552] = "\x95\x4c", [0x5554] = "\xe1\x5e",
+  [0x5555] = "\x97\xaa", [0x5556] = "\x8c\x6c", [0x5557] = "\xe1\x5f",
+  [0x5559] = "\xe1\x5d", [0x555a] = "\x94\xd4", [0x555b] = "\xe1\x60",
+  [0x555d] = "\xe1\x61", [0x5560] = "\x88\xd9", [0x5563] = "\x8f\xf4",
+  [0x5564] = "\xe1\x66", [0x5566] = "\xe1\x63", [0x5567] = "\x93\xeb",
+  [0x5568] = "\xe1\x62", [0x556f] = "\x8b\x45", [0x5572] = "\xe1\x69",
+  [0x5576] = "\xe1\x64", [0x5577] = "\xe1\x65", [0x5579] = "\xe1\x68",
+  [0x557a] = "\xe1\x67", [0x557b] = "\x95\x44", [0x557e] = "\x91\x61",
+  [0x557f] = "\x91\x60", [0x5581] = "\x8b\x5e", [0x5584] = "\xe1\x6a",
+  [0x558a] = "\xe1\x6b", [0x558d] = "\xe1\x6c", [0x5593] = "\xe1\x6e",
+  [0x5595] = "\xe1\x6d", [0x559b] = "\x89\x75", [0x55a1] = "\xe1\x76",
+  [0x55a2] = "\x94\xe6", [0x55a3] = "\xe1\x70", [0x55a5] = "\xe1\x72",
+  [0x55a8] = "\xe1\x74", [0x55a9] = "\x90\x5d", [0x55ac] = "\xe1\x75",
+  [0x55ad] = "\xe1\x73", [0x55ae] = "\x8e\xbe", [0x55b2] = "\xe1\x6f",
+  [0x55b3] = "\xe1\x71", [0x55b5] = "\x95\x61", [0x55b7] = "\x8f\xc7",
+  [0x55ba] = "\xe1\x78", [0x55bd] = "\xe1\x77", [0x55c2] = "\xe1\x79",
+  [0x55c4] = "\x8e\xa4", [0x55c5] = "\x8d\xad", [0x55c8] = "\x93\x97",
+  [0x55c9] = "\xe1\x7a", [0x55cb] = "\x92\xc9", [0x55ce] = "\xe1\x7c",
+  [0x55d2] = "\x97\x9f", [0x55d3] = "\xe1\x7b", [0x55d9] = "\x91\x89",
+  [0x55e0] = "\xe1\x82", [0x55e2] = "\xe1\x84", [0x55e3] = "\xe1\x85",
+  [0x55e4] = "\x92\x73", [0x55ea] = "\xe1\x83", [0x55ec] = "\xe1\x80",
+  [0x55ee] = "\xe1\x7d", [0x55ef] = "\xe1\x7e", [0x55f1] = "\xe1\x81",
+  [0x55f9] = "\xe1\x88", [0x55fb] = "\xe1\x86", [0x55fd] = "\xe1\x87",
+  [0x560f] = "\xe1\x89", [0x5610] = "\xe1\x8b", [0x5611] = "\xe1\x8c",
+  [0x5612] = "\xe1\x8d", [0x5614] = "\xe1\x8e", [0x5617] = "\xe1\x8a",
+  [0x5620] = "\xe1\x90", [0x5624] = "\xe1\x8f", [0x562b] = "\xe1\x91",
+  [0x5632] = "\x97\xc3", [0x5636] = "\xe1\x94", [0x5637] = "\xe1\x92",
+  [0x5638] = "\xe1\x93", [0x563c] = "\x8a\xe0", [0x5642] = "\x96\xfc",
+  [0x5646] = "\x95\xc8", [0x5648] = "\xe1\x96", [0x564c] = "\xe1\x95",
+  [0x5651] = "\xe1\x97", [0x5652] = "\xe1\x98", [0x5657] = "\xe1\x9c",
+  [0x5658] = "\xe1\x99", [0x5659] = "\xe1\x9a", [0x565a] = "\xe1\x9b",
+  [0x565c] = "\xe1\x9d", [0x5660] = "\xe1\x9e", [0x5662] = "\xe1\x9f",
+  [0x5666] = "\xe1\xa0", [0x5668] = "\xe1\xa1", [0x566a] = "\x94\xad",
+  [0x566b] = "\x93\x6f", [0x566c] = "\xe1\xa2", [0x566d] = "\x94\x92",
+  [0x566e] = "\x95\x53", [0x5670] = "\xe1\xa3", [0x5673] = "\xe1\xa4",
+  [0x5674] = "\x93\x49", [0x5676] = "\x8a\x46", [0x5677] = "\x8d\x63",
+  [0x5678] = "\xe1\xa5", [0x567b] = "\xe1\xa6", [0x567e] = "\xe1\xa7",
+  [0x5680] = "\x8e\x48", [0x5683] = "\xe1\xa9", [0x5686] = "\xe1\xa8",
+  [0x5689] = "\xe1\xaa", [0x568a] = "\xe1\xab", [0x569e] = "\x94\xe7",
+  [0x56a0] = "\xe1\xac", [0x56a4] = "\xe1\xad", [0x56a7] = "\xea\x89",
+  [0x56a8] = "\xe1\xae", [0x56a9] = "\xe1\xaf", [0x56aa] = "\xe1\xb0",
+  [0x56af] = "\x8e\x4d", [0x56b2] = "\xe1\xb1", [0x56b3] = "\x94\x75",
+  [0x56b6] = "\x96\x7e", [0x56b8] = "\x89\x6d", [0x56ba] = "\x89\x76",
+  [0x56bd] = "\xe1\xb2", [0x56c2] = "\xe1\xb4", [0x56c6] = "\xe1\xb3",
+  [0x56c7] = "\x93\x90", [0x56cb] = "\x90\xb7", [0x56cc] = "\x9f\x58",
+  [0x56ce] = "\xe1\xb5", [0x56cf] = "\x96\xbf", [0x56d1] = "\xe1\xb6",
+  [0x56d3] = "\x8a\xc4", [0x56d4] = "\x94\xd5", [0x56d5] = "\xe1\xb7",
+  [0x56d7] = "\xe1\xb8", [0x56da] = "\xe1\xb9", [0x56de] = "\x96\xda",
+  [0x56e2] = "\x96\xd3", [0x56e4] = "\x92\xbc", [0x56e8] = "\x91\x8a",
+  [0x56eb] = "\xe1\xbb", [0x56ee] = "\x8f\x82", [0x56f1] = "\x8f\xc8",
+  [0x56f4] = "\xe1\xbe", [0x56f7] = "\xe1\xbd", [0x56f8] = "\xe1\xbc",
+  [0x56f9] = "\x94\xfb", [0x56fb] = "\x8a\xc5", [0x56fc] = "\x8c\xa7",
+  [0x570b] = "\xe1\xc4", [0x570e] = "\xe1\xc1", [0x570f] = "\x90\x5e",
+  [0x5710] = "\x96\xb0", [0x5714] = "\xe1\xc0", [0x5715] = "\xe1\xc2",
+  [0x5716] = "\xe1\xc3", [0x5719] = "\xe1\xbf", [0x5727] = "\xe1\xc5",
+  [0x5728] = "\xe1\xc6", [0x572a] = "\x92\xad", [0x572c] = "\x8a\xe1",
+  [0x5730] = "\x92\x85", [0x5737] = "\xe1\xc7", [0x574a] = "\xe1\xc8",
+  [0x574b] = "\xe1\xcb", [0x5751] = "\x90\x87", [0x5753] = "\x93\xc2",
+  [0x5755] = "\xe1\xcc", [0x5756] = "\x96\x72", [0x5758] = "\xe1\xc9",
+  [0x575b] = "\xe1\xca", [0x5769] = "\xe1\xcf", [0x576e] = "\xe1\xce",
+  [0x576f] = "\xe1\xcd", [0x577b] = "\xe1\xd1", [0x577e] = "\xe1\xd0",
+  [0x5781] = "\xe1\xd2", [0x578e] = "\xe1\xd4", [0x5790] = "\xe1\xd3",
+  [0x5795] = "\x95\xcb", [0x579c] = "\x8f\x75", [0x579d] = "\x97\xc4",
+  [0x57a0] = "\xe1\xd5", [0x57a3] = "\x93\xb5", [0x57a6] = "\xe1\xd6",
+  [0x57a9] = "\xe1\xd7", [0x57ab] = "\xe1\xdb", [0x57ac] = "\xe1\xd9",
+  [0x57ad] = "\xe1\xda", [0x57af] = "\xe1\xd8", [0x57b7] = "\xe1\xdc",
+  [0x57bd] = "\xe1\xdd", [0x57c7] = "\xe1\xde", [0x57ca] = "\xe1\xdf",
+  [0x57cb] = "\x96\xb5", [0x57cc] = "\xe1\xe0", [0x57d2] = "\x96\xee",
+  [0x57d3] = "\xe1\xe1", [0x57d5] = "\x92\x6d", [0x57d7] = "\x94\x8a",
+  [0x57d9] = "\x8b\xe9", [0x57dd] = "\x92\x5a", [0x57de] = "\xe1\xe2",
+  [0x57df] = "\x8b\xb8", [0x57e3] = "\x90\xce", [0x57ec] = "\xe1\xe3",
+  [0x57f2] = "\x8d\xbb", [0x57fc] = "\xe1\xe4", [0x5802] = "\xe1\xe5",
+  [0x5804] = "\x8c\xa4", [0x5805] = "\x8d\xd3", [0x5810] = "\xe1\xe7",
+  [0x5815] = "\x93\x75", [0x5816] = "\x8d\xd4", [0x5817] = "\x8b\x6d",
+  [0x5822] = "\x96\x43", [0x5824] = "\x94\x6a", [0x582a] = "\x93\x76",
+  [0x582f] = "\x8d\x7b", [0x5835] = "\xe1\xe9", [0x584d] = "\x8f\xc9",
+  [0x585b] = "\x97\xb0", [0x585c] = "\x8d\x64", [0x585f] = "\x8c\xa5",
+  [0x5862] = "\x94\xa1", [0x5864] = "\xe1\xeb", [0x586c] = "\xe1\xed",
+  [0x5871] = "\x8c\xe9", [0x5876] = "\xe1\xec", [0x5877] = "\x92\xf4",
+  [0x587c] = "\xe1\xef", [0x587d] = "\x8a\x56", [0x587e] = "\xe1\xea",
+  [0x5881] = "\x94\xe8", [0x5883] = "\x89\x4f", [0x5885] = "\x8d\xea",
+  [0x5887] = "\x98\x71", [0x588a] = "\xe1\xee", [0x5893] = "\xe1\xf0",
+  [0x5897] = "\x95\xc9", [0x5899] = "\x90\xd7", [0x589a] = "\xe1\xf2",
+  [0x589f] = "\xe1\xf3", [0x58a5] = "\xe1\xf1", [0x58aa] = "\x8a\x6d",
+  [0x58ac] = "\xe1\xf9", [0x58ae] = "\xe1\xf8", [0x58b1] = "\x8e\xa5",
+  [0x58b5] = "\xe1\xfa", [0x58b6] = "\xe1\xf5", [0x58ba] = "\xe1\xfb",
+  [0x58bb] = "\xe1\xf6", [0x58c0] = "\x94\xd6", [0x58c1] = "\xe1\xf4",
+  [0x58c4] = "\xe1\xf7", [0x58ca] = "\xe2\x41", [0x58d7] = "\xe2\x40",
+  [0x58d8] = "\x96\x81", [0x58dc] = "\xe1\xfc", [0x58df] = "\x88\xe9",
+  [0x58e4] = "\xe2\x43", [0x58ed] = "\xe2\x42", [0x58f1] = "\x8f\xca",
+  [0x58f7] = "\xe2\x44", [0x58fe] = "\x91\x62", [0x5901] = "\xe2\x46",
+  [0x5902] = "\xe2\x45", [0x5909] = "\xe2\x47", [0x5916] = "\xe1\xe6",
+  [0x591a] = "\xe1\xe8", [0x591b] = "\xe2\x49", [0x591c] = "\xe2\x48",
+  [0x592a] = "\x8e\xa6", [0x592c] = "\x97\xe7", [0x592e] = "\x8e\xd0",
+  [0x5930] = "\xe2\x4a", [0x5931] = "\x8c\x56", [0x5937] = "\x8b\x5f",
+  [0x5938] = "\x8b\x46", [0x5939] = "\x8e\x83", [0x5940] = "\x97\x53",
+  [0x5943] = "\xe2\x50", [0x5945] = "\xe2\x4f", [0x5946] = "\x91\x63",
+  [0x5947] = "\xe2\x4c", [0x594a] = "\xe2\x4e", [0x594d] = "\x8f\x6a",
+  [0x594e] = "\x90\x5f", [0x594f] = "\xe2\x4d", [0x5950] = "\xe2\x4b",
+  [0x5952] = "\x94\x49", [0x5955] = "\x8f\xcb", [0x5958] = "\x95\x5b",
+  [0x595d] = "\x8d\xd5", [0x5967] = "\x93\x98", [0x596a] = "\xe2\x51",
+  [0x596f] = "\xe2\x52", [0x5970] = "\xe2\x68", [0x5971] = "\x8b\xd6",
+  [0x5974] = "\x98\x5c", [0x5975] = "\x91\x54", [0x597a] = "\xe2\x53",
+  [0x597d] = "\x89\xd0", [0x597e] = "\x92\xf5", [0x597f] = "\x95\x9f",
+  [0x598d] = "\xe2\x54", [0x5996] = "\x8b\x9a", [0x5997] = "\xe2\x55",
+  [0x599a] = "\xe2\x57", [0x599e] = "\xe2\x58", [0x59a0] = "\x94\x48",
+  [0x59a3] = "\xe2\x59", [0x59a9] = "\xe2\x5a", [0x59aa] = "\xe2\x5b",
+  [0x59ad] = "\x8b\xd7", [0x59ae] = "\x89\xd1", [0x59af] = "\x93\xc3",
+  [0x59b0] = "\x8f\x47", [0x59b1] = "\x8e\x84", [0x59b9] = "\xe2\x5c",
+  [0x59bb] = "\x8f\x48", [0x59c1] = "\x89\xc8", [0x59c2] = "\x95\x62",
+  [0x59c5] = "\xe2\x5d", [0x59c8] = "\x94\xe9", [0x59cf] = "\x91\x64",
+  [0x59d1] = "\xe2\x60", [0x59d3] = "\xe2\x61", [0x59d4] = "\x94\x89",
+  [0x59d6] = "\x90\x60", [0x59d7] = "\xe2\x5e", [0x59d9] = "\x92\x81",
+  [0x59dc] = "\xe2\x5f", [0x59e0] = "\x8f\xcc", [0x59eb] = "\x88\xda",
+  [0x59f0] = "\x8b\x48", [0x59f8] = "\xe2\x62", [0x59fb] = "\x92\xf6",
+  [0x59fd] = "\xe2\x63", [0x59fe] = "\x90\xc5", [0x5a04] = "\x96\xab",
+  [0x5a07] = "\x95\x42", [0x5a08] = "\xe2\x64", [0x5a09] = "\xe2\x65",
+  [0x5a0a] = "\x92\x74", [0x5a0c] = "\x97\xc5", [0x5a0f] = "\xe2\x67",
+  [0x5a10] = "\xe2\x66", [0x5a1e] = "\x8e\xed", [0x5a21] = "\xe2\x69",
+  [0x5a22] = "\x88\xee", [0x5a27] = "\xe2\x6c", [0x5a2b] = "\xe2\x6a",
+  [0x5a2c] = "\x89\xd2", [0x5a2d] = "\x8c\x6d", [0x5a2e] = "\xe2\x6b",
+  [0x5a2f] = "\x8d\x65", [0x5a30] = "\x8d\x92", [0x5a32] = "\x95\xe4",
+  [0x5a33] = "\xe2\x6d", [0x5a36] = "\x96\x73", [0x5a39] = "\xe2\x6f",
+  [0x5a3d] = "\x90\xcf", [0x5a3e] = "\x89\x6e", [0x5a3f] = "\x89\xb8",
+  [0x5a40] = "\x88\xaa", [0x5a47] = "\xe2\x6e", [0x5a51] = "\xe2\x70",
+  [0x5a52] = "\xe2\x71", [0x5a53] = "\x8f\xf5", [0x5a59] = "\xe2\x72",
+  [0x5a5b] = "\x8a\x6e", [0x5a60] = "\xe2\x74", [0x5a64] = "\x8c\x8a",
+  [0x5a66] = "\x8b\x86", [0x5a69] = "\xe2\x75", [0x5a6a] = "\x8b\xf3",
+  [0x5a6d] = "\xe2\x76", [0x5a6f] = "\x90\xfa", [0x5a71] = "\x93\xcb",
+  [0x5a73] = "\x90\xde", [0x5a74] = "\x8d\xf3", [0x5a78] = "\xe2\x77",
+  [0x5a82] = "\x92\x82", [0x5a83] = "\x91\x8b", [0x5a85] = "\xe2\x79",
+  [0x5a86] = "\xe2\x7b", [0x5a87] = "\xe2\x78", [0x5a88] = "\xe2\x7a",
+  [0x5a8f] = "\x8c\x41", [0x5a99] = "\xe2\x7c", [0x5a9a] = "\x8c\x45",
+  [0x5a9e] = "\x8b\x87", [0x5a9f] = "\x97\x71", [0x5aa0] = "\xe2\x7e",
+  [0x5aa6] = "\xe2\x80", [0x5aaa] = "\x89\x4d", [0x5aaf] = "\xe2\x83",
+  [0x5ab3] = "\x8a\x96", [0x5ab4] = "\xe2\x82", [0x5ab5] = "\xe2\x81",
+  [0x5ab7] = "\xe2\x85", [0x5ab8] = "\xe2\x7d", [0x5aba] = "\xe2\x86",
+  [0x5abb] = "\x97\xa7", [0x5abd] = "\xe2\x87", [0x5abf] = "\xe2\x88",
+  [0x5ac2] = "\x9a\xf2", [0x5ac3] = "\xe2\x8a", [0x5ac5] = "\xe2\x89",
+  [0x5ac9] = "\xe2\x8b", [0x5aca] = "\xe2\x8c", [0x5acc] = "\x97\xb3",
+  [0x5acd] = "\xe2\x8d", [0x5acf] = "\xe8\xed", [0x5ad0] = "\x8f\xcd",
+  [0x5ad1] = "\xe2\x8e", [0x5ad2] = "\xe2\x8f", [0x5ad3] = "\x8f\x76",
+  [0x5ad5] = "\x93\xb6", [0x5ad6] = "\xe2\x90", [0x5ada] = "\x92\x47",
+  [0x5add] = "\xe2\x91", [0x5adf] = "\x92\x5b", [0x5ae0] = "\xe2\x92",
+  [0x5ae6] = "\x8b\xa3", [0x5ae8] = "\x99\x5e", [0x5ae9] = "\x92\x7c",
+  [0x5aea] = "\x8e\xb1", [0x5aef] = "\x8a\xc6", [0x5af2] = "\xe2\x93",
+  [0x5af4] = "\xe2\xa0", [0x5af6] = "\xe2\x96", [0x5af8] = "\x8b\x88",
+  [0x5afa] = "\xe2\x95", [0x5afb] = "\xe2\xa2", [0x5aff] = "\xe2\x94",
+  [0x5b01] = "\x8f\xce", [0x5b08] = "\xe2\x98", [0x5b09] = "\xe2\x99",
+  [0x5b0b] = "\x93\x4a", [0x5b0e] = "\xe2\x9a", [0x5b10] = "\x8a\x7d",
+  [0x5b15] = "\x90\x79", [0x5b16] = "\x95\x84", [0x5b18] = "\xe2\x9c",
+  [0x5b1c] = "\x91\xe6", [0x5b23] = "\xe2\x97", [0x5b25] = "\xe2\x9b",
+  [0x5b26] = "\xe2\x9d", [0x5b29] = "\x8d\xf9", [0x5b35] = "\xe2\xa4",
+  [0x5b36] = "\x95\x4d", [0x5b38] = "\x94\xa4", [0x5b39] = "\x93\x99",
+  [0x5b3b] = "\x8b\xd8", [0x5b3c] = "\xe2\xa3", [0x5b3d] = "\xe2\xa1",
+  [0x5b3f] = "\x94\xb3", [0x5b40] = "\xe2\x9e", [0x5b41] = "\x92\x7d",
+  [0x5b42] = "\x93\x9b", [0x5b44] = "\x93\x9a", [0x5b46] = "\x8d\xf4",
+  [0x5b4d] = "\xe2\xb6", [0x5b55] = "\xe2\xa6", [0x5b57] = "\xe2\xa8",
+  [0x5b5c] = "\xe2\xab", [0x5b5e] = "\xe2\xac", [0x5b60] = "\xe2\xa9",
+  [0x5b61] = "\xe2\xaa", [0x5b64] = "\xe2\xa7", [0x5b65] = "\xe2\xa5",
+  [0x5b6a] = "\xe2\x9f", [0x5b76] = "\x95\xcd", [0x5b77] = "\x89\xd3",
+  [0x5b7b] = "\xe2\xb3", [0x5b7d] = "\xe2\xb0", [0x5b7f] = "\xe2\xb5",
+  [0x5b82] = "\xe2\xb4", [0x5b84] = "\x94\x93", [0x5b85] = "\x96\xa5",
+  [0x5b87] = "\x8e\x5a", [0x5b88] = "\xe2\xae", [0x5b89] = "\xe2\xb7",
+  [0x5b8a] = "\xe2\xb2", [0x5b8c] = "\xe2\xb1", [0x5b8d] = "\xe2\xad",
+  [0x5b8f] = "\xe2\xaf", [0x5b91] = "\x8a\xc7", [0x5b9a] = "\x92\x5c",
+  [0x5b9d] = "\x90\xfb", [0x5ba1] = "\x94\xa0", [0x5ba4] = "\xe2\xbc",
+  [0x5ba8] = "\x94\xa2", [0x5bb0] = "\x90\xdf", [0x5bb1] = "\xe2\xb9",
+  [0x5bb4] = "\x94\xcd", [0x5bb6] = "\xe2\xbd", [0x5bb7] = "\x95\xd1",
+  [0x5bb9] = "\x92\x7a", [0x5bbb] = "\xe2\xb8", [0x5bbc] = "\xe2\xba",
+  [0x5bbf] = "\xe2\xbb", [0x5bcd] = "\xe2\xbe", [0x5bd0] = "\x8e\xc2",
+  [0x5bd4] = "\x93\xc4", [0x5bd5] = "\xe2\xc3", [0x5bd6] = "\xe2\xc2",
+  [0x5bd9] = "\xe2\xbf", [0x5bdd] = "\x98\x55", [0x5be3] = "\xe2\xc8",
+  [0x5be6] = "\xe2\xcc", [0x5be7] = "\xe2\xc9", [0x5bf0] = "\xe2\xc5",
+  [0x5bf7] = "\xe2\xc6", [0x5bfd] = "\xe2\xcb", [0x5c01] = "\xe2\xc0",
+  [0x5c02] = "\x99\xd3", [0x5c03] = "\xe2\xc7", [0x5c04] = "\xe2\xc1",
+  [0x5c07] = "\xe2\xca", [0x5c0f] = "\xe2\xd0", [0x5c11] = "\x8a\xc8",
+  [0x5c13] = "\xe2\xcd", [0x5c17] = "\xe2\xce", [0x5c1a] = "\xe2\xcf",
+  [0x5c1b] = "\xe2\xd2", [0x5c27] = "\xe2\xd1", [0x5c28] = "\x94\xf4",
+  [0x5c2d] = "\xe2\xd3", [0x5c2e] = "\x97\xfa", [0x5c2f] = "\x95\xeb",
+  [0x5c30] = "\xe2\xd8", [0x5c33] = "\xe2\xd5", [0x5c3c] = "\xe2\xd4",
+  [0x5c3d] = "\x90\xd0", [0x5c3f] = "\xe2\xd7", [0x5c40] = "\xe2\xd9",
+  [0x5c44] = "\xe2\xd6", [0x5c46] = "\xe2\xdd", [0x5c48] = "\xe2\xda",
+  [0x5c4f] = "\xe2\xdb", [0x5c50] = "\xe2\xc4", [0x5c54] = "\xe2\xdc",
+  [0x5c55] = "\xe2\xde", [0x5c5c] = "\xe2\xdf", [0x5c63] = "\x95\xc4",
+  [0x5c65] = "\xe2\xe0", [0x5c6e] = "\x96\xe0", [0x5c71] = "\x8b\xcc",
+  [0x5c72] = "\x8c\x48", [0x5c73] = "\xe2\xe1", [0x5c79] = "\x95\xb2",
+  [0x5c7b] = "\x90\x88", [0x5c7d] = "\x96\xae", [0x5c80] = "\xe2\xe2",
+  [0x5c82] = "\x97\xb1", [0x5c85] = "\x94\x94", [0x5c87] = "\x91\x65",
+  [0x5c88] = "\x94\x53", [0x5c8b] = "\x8f\x6c", [0x5c8f] = "\x88\xbe",
+  [0x5c91] = "\xe2\xe7", [0x5c92] = "\xe2\xe5", [0x5c94] = "\xe2\xe3",
+  [0x5c95] = "\x8a\x9f", [0x5c97] = "\x8f\xcf", [0x5c98] = "\xe2\xe8",
+  [0x5c9b] = "\xe2\xe6", [0x5c9d] = "\xe2\xe4", [0x5c9e] = "\xe2\xec",
+  [0x5ca1] = "\xe2\xeb", [0x5ca2] = "\xe2\xea", [0x5ca3] = "\xe2\xe9",
+  [0x5ca9] = "\xe2\xed", [0x5cad] = "\xe2\xee", [0x5cae] = "\x90\xb8",
+  [0x5cb0] = "\xe2\xef", [0x5cb2] = "\xe2\xf1", [0x5cb5] = "\xe2\xf0",
+  [0x5cba] = "\x8c\xd0", [0x5cbe] = "\x91\x57", [0x5cc2] = "\xe2\xf3",
+  [0x5cc6] = "\x93\x9c", [0x5cc8] = "\xe2\xf2", [0x5ccc] = "\xe2\xf4",
+  [0x5cce] = "\x95\xb3", [0x5ccf] = "\x91\x8c", [0x5cd0] = "\x8d\x66",
+  [0x5cd2] = "\xe2\xf5", [0x5cd7] = "\x97\xc6", [0x5cdf] = "\xe2\xf7",
+  [0x5ce2] = "\xe2\xf8", [0x5ce4] = "\xe2\xf9", [0x5ce6] = "\xe2\xfa",
+  [0x5ce8] = "\x8e\x85", [0x5cea] = "\xe2\xfb", [0x5ceb] = "\x8c\x6e",
+  [0x5cee] = "\x8b\x8a", [0x5cf0] = "\x8b\x49", [0x5cf2] = "\xe3\x40",
+  [0x5cf4] = "\x96\xf1", [0x5cf5] = "\x8d\x67", [0x5cf6] = "\xe2\xfc",
+  [0x5cfa] = "\xe3\x43", [0x5cfb] = "\x96\xe4", [0x5cfd] = "\x94\x5b",
+  [0x5d00] = "\x95\x52", [0x5d04] = "\x8f\x83", [0x5d05] = "\xe3\x42",
+  [0x5d07] = "\x8e\xd1", [0x5d08] = "\x8d\x68", [0x5d09] = "\x8e\x86",
+  [0x5d0a] = "\x8b\x89", [0x5d0b] = "\x95\xb4", [0x5d0c] = "\xe3\x41",
+  [0x5d10] = "\x91\x66", [0x5d11] = "\x96\x61", [0x5d12] = "\x8d\xf5",
+  [0x5d1b] = "\x8e\x87", [0x5d1c] = "\x92\xdb", [0x5d1e] = "\xe3\x46",
+  [0x5d1f] = "\x97\xdd", [0x5d20] = "\x8d\xd7", [0x5d22] = "\xe3\x47",
+  [0x5d23] = "\x90\x61", [0x5d25] = "\xe3\x49", [0x5d29] = "\x8f\xd0",
+  [0x5d2a] = "\x8d\xae", [0x5d2f] = "\xe3\x48", [0x5d32] = "\x8f\x49",
+  [0x5d33] = "\x8c\xbc", [0x5d34] = "\x91\x67", [0x5d35] = "\xe3\x44",
+  [0x5d36] = "\xe3\x4a", [0x5d3b] = "\xe3\x45", [0x5d3c] = "\x8c\x6f",
+  [0x5d3e] = "\xe3\x4d", [0x5d3f] = "\xe3\x51", [0x5d40] = "\x8c\x8b",
+  [0x5d46] = "\xe3\x4c", [0x5d4b] = "\xe3\x55", [0x5d4e] = "\x8d\x69",
+  [0x5d51] = "\x97\x8d", [0x5d52] = "\x88\xba", [0x5d53] = "\xe3\x52",
+  [0x5d56] = "\x8b\x8b", [0x5d58] = "\xe3\x4f", [0x5d5e] = "\xe3\x50",
+  [0x5d61] = "\x93\x9d", [0x5d62] = "\xe3\x4e", [0x5d63] = "\xe3\x4b",
+  [0x5d65] = "\x8a\x47", [0x5d66] = "\x90\xe2", [0x5d69] = "\x8c\xa6",
+  [0x5d6d] = "\xe3\x57", [0x5d79] = "\xe3\x54", [0x5d7f] = "\xe3\x56",
+  [0x5d83] = "\xe3\x53", [0x5d89] = "\x8c\x70", [0x5d8a] = "\x91\xb1",
+  [0x5d8b] = "\xe3\x58", [0x5d8c] = "\x91\x8e", [0x5d8f] = "\xe3\x65",
+  [0x5d92] = "\xe3\x61", [0x5d93] = "\xe3\x5b", [0x5d9b] = "\xe3\x5f",
+  [0x5d9c] = "\x8e\xf8", [0x5d9d] = "\x88\xdb", [0x5d9e] = "\xe3\x5a",
+  [0x5d9f] = "\xe3\x62", [0x5da0] = "\xe3\x66", [0x5da1] = "\x8d\x6a",
+  [0x5da2] = "\x96\xd4", [0x5da4] = "\x92\xd4", [0x5da5] = "\xe3\x5c",
+  [0x5da8] = "\xe3\x64", [0x5daa] = "\xe3\x59", [0x5dab] = "\x92\x5d",
+  [0x5dad] = "\xe3\x5e", [0x5dae] = "\x88\xbb", [0x5daf] = "\x96\xc8",
+  [0x5db7] = "\xe3\x5d", [0x5dba] = "\x8b\xd9", [0x5dbb] = "\x94\xea",
+  [0x5dbf] = "\x91\x8d", [0x5dc1] = "\x97\xce", [0x5dc2] = "\x8f\x8f",
+  [0x5dc5] = "\xe3\x8e", [0x5dc8] = "\xe3\x67", [0x5dca] = "\x90\xfc",
+  [0x5dcc] = "\xe3\x63", [0x5dcd] = "\xe3\x68", [0x5dce] = "\xe3\x6a",
+  [0x5dd0] = "\x92\xf7", [0x5dd1] = "\xe3\x6d", [0x5dd4] = "\xe3\x69",
+  [0x5dd8] = "\x95\xd2", [0x5dd9] = "\x8a\xc9", [0x5ddc] = "\x96\xc9",
+  [0x5ddf] = "\x88\xdc", [0x5de2] = "\xe3\x6c", [0x5de4] = "\x97\xfb",
+  [0x5deb] = "\xe3\x6b", [0x5df1] = "\x89\x8f", [0x5df4] = "\x93\xea",
+  [0x5df5] = "\xe3\x6e", [0x5df9] = "\xe3\x75", [0x5dfa] = "\xe3\x6f",
+  [0x5dfb] = "\xe3\x76", [0x5e02] = "\xe3\x72", [0x5e0b] = "\x94\x9b",
+  [0x5e0e] = "\x8e\xc8", [0x5e0f] = "\xe3\x74", [0x5e11] = "\xe3\x71",
+  [0x5e12] = "\xe3\x77", [0x5e13] = "\xe3\x70", [0x5e16] = "\x8f\x63",
+  [0x5e1b] = "\x96\x44", [0x5e1e] = "\x8f\x6b", [0x5e21] = "\xe3\x73",
+  [0x5e22] = "\xe3\x80", [0x5e25] = "\xe3\x7b", [0x5e27] = "\xe3\x7e",
+  [0x5e29] = "\xe3\x7c", [0x5e2a] = "\xe3\x81", [0x5e2b] = "\xe3\x7a",
+  [0x5e2d] = "\xe3\x60", [0x5e2e] = "\x90\xd1", [0x5e31] = "\x94\xc9",
+  [0x5e33] = "\xe3\x7d", [0x5e36] = "\xe3\x78", [0x5e3a] = "\x91\x40",
+  [0x5e3b] = "\x8c\x71", [0x5e3d] = "\x8f\x4a", [0x5e44] = "\x90\x44",
+  [0x5e45] = "\x91\x55", [0x5e46] = "\xe3\x84", [0x5e49] = "\xe3\x86",
+  [0x5e4a] = "\xe3\x87", [0x5e4d] = "\xe3\x83", [0x5e4e] = "\xe3\x85",
+  [0x5e56] = "\xe3\x79", [0x5e57] = "\xe3\x82", [0x5e59] = "\xe3\x8a",
+  [0x5e5a] = "\xe3\x89", [0x5e5d] = "\x96\x9a", [0x5e60] = "\x8c\x4a",
+  [0x5e69] = "\xe3\x88", [0x5e6b] = "\xe3\x8c", [0x5e6c] = "\xe3\x8b",
+  [0x5e6d] = "\xe3\x8f", [0x5e6f] = "\xe3\x91", [0x5e72] = "\x8e\x5b",
+  [0x5e73] = "\xe3\x8d", [0x5e78] = "\xe3\x92", [0x5e79] = "\xe3\x93",
+  [0x5e7c] = "\xe3\x94", [0x5e7e] = "\xe3\x9a", [0x5e7f] = "\x93\x5a",
+  [0x5e80] = "\xe3\x96", [0x5e82] = "\xe3\x95", [0x5e83] = "\xe3\x97",
+  [0x5e84] = "\xe3\x98", [0x5e86] = "\xe3\x99", [0x5e8b] = "\xe3\x9b",
+  [0x5e8c] = "\xe3\x9c", [0x5f26] = "\x8a\xca", [0x5f28] = "\xe3\x9d",
+  [0x5f2a] = "\xe3\x9e", [0x5f35] = "\xe3\x9f", [0x5f3c] = "\xe3\xa0",
+  [0x5f3d] = "\xe3\xa1", [0x5f3e] = "\xe3\xa2", [0x5f40] = "\xe3\xa3",
+  [0x5f41] = "\xe3\xa4", [0x5f44] = "\xe3\xa6", [0x5f45] = "\xe3\xa5",
+  [0x5f48] = "\xe3\xa7", [0x5f4f] = "\xe3\xa8", [0x5f50] = "\xe3\xa9",
+  [0x5f57] = "\xe3\xac", [0x5f58] = "\xe3\xaa", [0x5f59] = "\xe3\xab",
+  [0x5f5a] = "\x8d\xdf", [0x5f5b] = "\x8c\x72", [0x5f5e] = "\x92\x75",
+  [0x5f60] = "\x94\xb1", [0x5f62] = "\x8f\x90", [0x5f65] = "\x94\x6c",
+  [0x5f67] = "\x94\xeb", [0x5f68] = "\xe3\xad", [0x5f69] = "\x9c\xeb",
+  [0x5f72] = "\xe3\xae", [0x5f73] = "\xe3\xb0", [0x5f75] = "\x97\x85",
+  [0x5f76] = "\xe3\xaf", [0x5f77] = "\xe3\xb2", [0x5f78] = "\xe3\xb1",
+  [0x5f7a] = "\x97\x72", [0x5f7c] = "\xe3\xb3", [0x5f7e] = "\x94\xfc",
+  [0x5f84] = "\xe3\xb4", [0x5f8a] = "\xe3\xb7", [0x5f8d] = "\xe3\xb6",
+  [0x5f8e] = "\xe3\xb5", [0x5f93] = "\xe3\xb8", [0x5f94] = "\x8c\x51",
+  [0x5f98] = "\x91\x41", [0x5f99] = "\x8b\x60", [0x5f9e] = "\xe3\xbc",
+  [0x5f9f] = "\xe3\xb9", [0x5fa2] = "\xe3\xba", [0x5fa6] = "\xe3\xbd",
+  [0x5fa8] = "\xe3\xbe", [0x5fa9] = "\xe3\xbb", [0x5fad] = "\x89\x48",
+  [0x5fb1] = "\x89\xa5", [0x5fb5] = "\xe3\xc0", [0x5fb6] = "\xe3\xc1",
+  [0x5fba] = "\xe3\xc2", [0x5fbc] = "\x97\x82", [0x5fc2] = "\x8f\x4b",
+  [0x5fc4] = "\xe3\xc4", [0x5fc5] = "\xe3\xc3", [0x5fd0] = "\x90\x89",
+  [0x5fd1] = "\xe3\xc5", [0x5fd6] = "\xe3\xc6", [0x5fd9] = "\xe3\xc7",
+  [0x5fdb] = "\x8a\xe3", [0x5fe0] = "\x8a\xcb", [0x5fe3] = "\xe3\xc8",
+  [0x5fe9] = "\xe3\xc9", [0x5feb] = "\x96\x7c", [0x5fec] = "\x97\x83",
+  [0x5ff0] = "\x97\x73", [0x5ff1] = "\x98\x56", [0x5ff3] = "\x8d\x6c",
+  [0x5ff4] = "\xe3\xcc", [0x5ff5] = "\x8e\xd2", [0x5ff6] = "\xe3\xcb",
+  [0x5ffb] = "\xe3\xcd", [0x5ffc] = "\x8e\xa7", [0x6000] = "\x91\xcf",
+  [0x6002] = "\xe3\xce", [0x6005] = "\x8d\x6b", [0x6007] = "\x96\xd5",
+  [0x6008] = "\xe3\xcf", [0x6009] = "\xe3\xd0", [0x600c] = "\xe3\xd1",
+  [0x6011] = "\xe3\xd2", [0x6018] = "\xe3\xd3", [0x6023] = "\x8e\xa8",
+  [0x6026] = "\x96\xeb", [0x602b] = "\xe3\xd5", [0x602d] = "\x92\x5e",
+  [0x602f] = "\xe3\xd4", [0x6036] = "\xe3\xd7", [0x603a] = "\xe3\xd6",
+  [0x6042] = "\xe3\xd8", [0x6046] = "\x90\xb9", [0x6048] = "\xe3\xd9",
+  [0x604a] = "\xe3\xda", [0x604e] = "\x95\xb7", [0x604f] = "\xe3\xdb",
+  [0x6051] = "\x91\x8f", [0x6052] = "\xe3\xdc", [0x6058] = "\xe3\xdd",
+  [0x605f] = "\x97\xfc", [0x6060] = "\xe3\xe0", [0x6062] = "\xe3\xdf",
+  [0x6063] = "\xe3\xde", [0x6064] = "\x92\xae", [0x6066] = "\xe3\xe1",
+  [0x6067] = "\x90\x45", [0x6069] = "\xe3\xe2", [0x606d] = "\xe3\xe3",
+  [0x606e] = "\x98\x57", [0x606f] = "\xe3\xe4", [0x6074] = "\xe3\xe5",
+  [0x6075] = "\xe3\xe7", [0x6076] = "\xe3\xe6", [0x6077] = "\x94\xa3",
+  [0x6079] = "\x93\xf7", [0x607b] = "\x98\x5d", [0x607c] = "\x94\xa7",
+  [0x6083] = "\xe3\xe9", [0x6086] = "\x8f\xd1", [0x6088] = "\x95\x49",
+  [0x608a] = "\xe3\xea", [0x608b] = "\xe3\xe8", [0x608d] = "\x8a\xcc",
+  [0x6091] = "\x8c\xd2", [0x6092] = "\x8e\x88", [0x6095] = "\x94\xec",
+  [0x6099] = "\x8c\xa8", [0x609a] = "\x96\x62", [0x609c] = "\xe3\xed",
+  [0x609d] = "\xe3\xeb", [0x609f] = "\x8d\x6d", [0x60a1] = "\x8d\x6e",
+  [0x60a2] = "\x88\xe7", [0x60a4] = "\x8d\xe6", [0x60aa] = "\x94\x78",
+  [0x60b3] = "\x88\xdd", [0x60b4] = "\xe3\xf2", [0x60b6] = "\x92\x5f",
+  [0x60bc] = "\x94\x77", [0x60be] = "\x91\xd9", [0x60c6] = "\xe3\xf4",
+  [0x60c9] = "\xe3\xf0", [0x60ca] = "\xe3\xf3", [0x60cb] = "\xe3\xee",
+  [0x60cd] = "\xe3\xf1", [0x60ce] = "\x96\x45", [0x60d1] = "\x8c\xd3",
+  [0x60d4] = "\x88\xfb", [0x60d5] = "\xe3\xef", [0x60df] = "\xe3\xf6",
+  [0x60e1] = "\xe3\xf7", [0x60e4] = "\x93\xb7", [0x60e8] = "\x8b\xb9",
+  [0x60ec] = "\xe4\x45", [0x60ed] = "\x94\x5c", [0x60f2] = "\x8e\x89",
+  [0x60f5] = "\x8b\xba", [0x60f6] = "\x90\xc6", [0x60f7] = "\x98\x65",
+  [0x60f8] = "\x96\xac", [0x60f9] = "\xe3\xf5", [0x60fa] = "\x90\xd2",
+  [0x610a] = "\x8b\x72", [0x610b] = "\xe3\xf8", [0x6113] = "\xe3\xfa",
+  [0x6119] = "\xe3\xf9", [0x611f] = "\xe3\xfb", [0x6121] = "\x92\x45",
+  [0x6123] = "\x94\x5d", [0x6129] = "\x92\xaf", [0x612e] = "\xe4\x42",
+  [0x6136] = "\xe4\x41", [0x613b] = "\xe3\xfc", [0x613e] = "\x90\x74",
+  [0x6140] = "\x95\x85", [0x6141] = "\xe4\x44", [0x6143] = "\xe4\x43",
+  [0x6144] = "\x8d\x6f", [0x6145] = "\x98\x72", [0x614f] = "\xe4\x54",
+  [0x6155] = "\xe4\x48", [0x6156] = "\xe4\x49", [0x615b] = "\x8e\xee",
+  [0x615e] = "\xe4\x47", [0x6160] = "\x8d\x98", [0x6161] = "\xe4\x46",
+  [0x6164] = "\xe4\x4a", [0x6168] = "\x92\xb0", [0x6169] = "\x95\xa0",
+  [0x616a] = "\x91\x42", [0x616f] = "\x91\xda", [0x6170] = "\xe4\x4e",
+  [0x6172] = "\xe4\x4f", [0x6173] = "\xe4\x4b", [0x6178] = "\xe4\x4c",
+  [0x617a] = "\xe4\x4d", [0x617f] = "\x8d\x70", [0x6183] = "\xe4\x55",
+  [0x6185] = "\xe4\x51", [0x618a] = "\x95\x86", [0x618c] = "\x96\x8c",
+  [0x618d] = "\x95\x47", [0x6190] = "\xe4\x50", [0x6193] = "\xe4\x53",
+  [0x6194] = "\xe4\x52", [0x6198] = "\x96\x63", [0x6199] = "\xe4\x56",
+  [0x61a0] = "\xe4\x57", [0x61a3] = "\x91\x56", [0x61a5] = "\xe4\x58",
+  [0x61a8] = "\xe4\x5a", [0x61aa] = "\xe4\x5e", [0x61ad] = "\xe4\x5b",
+  [0x61ae] = "\xe4\x59", [0x61af] = "\x94\x5e", [0x61b0] = "\xe4\x5c",
+  [0x61b2] = "\xe4\x5d", [0x61b6] = "\x89\xb0", [0x61b8] = "\xe4\x64",
+  [0x61b9] = "\xe4\x5f", [0x61bd] = "\xe4\x60", [0x61c1] = "\xe4\x61",
+  [0x61c3] = "\x91\x9f", [0x61c8] = "\xe4\x63", [0x61c9] = "\xe4\x62",
+  [0x61ca] = "\xe4\x65", [0x61cf] = "\xe4\x66", [0x61d0] = "\xe4\x67",
+  [0x61d3] = "\x90\x62", [0x61d5] = "\x89\xe7", [0x61d7] = "\xe4\x68",
+  [0x61d8] = "\x97\xd5", [0x61da] = "\x8e\xa9", [0x61dd] = "\x8f\x4c",
+  [0x61e3] = "\x8e\x8a", [0x61e4] = "\x92\x76", [0x61ea] = "\xe4\x69",
+  [0x61eb] = "\xe4\x6a", [0x61ec] = "\x89\x50", [0x61ee] = "\xe4\x6b",
+  [0x61f1] = "\xe4\x6c", [0x61f2] = "\xe4\x6d", [0x61f5] = "\xe4\x6e",
+  [0x61f7] = "\xe4\x6f", [0x61f8] = "\x8b\xbb", [0x61f9] = "\x9d\xa8",
+  [0x61fa] = "\xe4\x70", [0x61fc] = "\x90\xe3", [0x61fd] = "\xe4\x71",
+  [0x61fe] = "\x8e\xc9", [0x6200] = "\xe4\x72", [0x6202] = "\x98\xae",
+  [0x6206] = "\xe4\x73", [0x6207] = "\x95\xdc", [0x6208] = "\x8a\xda",
+  [0x620b] = "\x91\x43", [0x620c] = "\x8f\x77", [0x620e] = "\x95\x91",
+  [0x620f] = "\x8f\x4d", [0x6219] = "\xe4\x74", [0x621a] = "\x8d\x71",
+  [0x621b] = "\xe4\x75", [0x621c] = "\x94\xca", [0x621e] = "\xe4\x84",
+  [0x6223] = "\xe4\x77", [0x6225] = "\x91\xc7", [0x6226] = "\x94\x95",
+  [0x6227] = "\x8c\xbd", [0x6228] = "\xe4\x76", [0x6229] = "\x91\x44",
+  [0x6230] = "\xe4\x78", [0x6237] = "\x92\xf8", [0x6248] = "\xe4\x7a",
+  [0x6249] = "\xe4\x79", [0x624a] = "\xe4\x7c", [0x624d] = "\xe4\x7b",
+  [0x624f] = "\xe4\x7d", [0x6252] = "\xe4\x80", [0x6254] = "\xe4\x7e",
+  [0x6256] = "\x8a\xcd", [0x6258] = "\xe4\x81", [0x625a] = "\xe4\x82",
+  [0x625b] = "\xe4\x83", [0x625e] = "\x8d\xaf", [0x625f] = "\x97\xc7",
+  [0x6261] = "\xe4\x85", [0x6262] = "\x90\x46", [0x6266] = "\x89\x90",
+  [0x6267] = "\xe4\x86", [0x6268] = "\xe4\x87", [0x626e] = "\xe4\x88",
+  [0x627b] = "\x88\xf0", [0x627d] = "\xe4\x89", [0x6282] = "\xe4\x8a",
+  [0x6289] = "\x95\x87", [0x628d] = "\x8e\xc5", [0x628f] = "\xe4\x8c",
+  [0x6295] = "\x8a\x48", [0x6296] = "\x88\xb0", [0x629b] = "\xe4\x8b",
+  [0x629c] = "\xe4\x8e", [0x629d] = "\x94\x6d", [0x629f] = "\x90\x63",
+  [0x62a1] = "\x89\xd4", [0x62a3] = "\x96\x46", [0x62a8] = "\x8c\x7c",
+  [0x62a9] = "\x8b\xda", [0x62ab] = "\xe4\x8d", [0x62ad] = "\x89\xe8",
+  [0x62b5] = "\x8a\xa1", [0x62c1] = "\x89\x91", [0x62c2] = "\xe4\x92",
+  [0x62c3] = "\x97\xe8", [0x62c4] = "\x91\xdb", [0x62c7] = "\x95\x63",
+  [0x62c9] = "\xe4\x9e", [0x62cb] = "\x89\xd5", [0x62cc] = "\xe4\x9c",
+  [0x62ce] = "\xe4\x9a", [0x62cf] = "\xe4\x91", [0x62d1] = "\xe4\x8f",
+  [0x62d3] = "\xe4\x90", [0x62d5] = "\x8e\xe1", [0x62d6] = "\x8b\xea",
+  [0x62d7] = "\x92\x97", [0x62db] = "\x93\xcf", [0x62e1] = "\x89\x70",
+  [0x62e3] = "\xe4\x94", [0x62e4] = "\xe4\x93", [0x62e9] = "\xe4\x99",
+  [0x62ea] = "\xe4\x95", [0x62eb] = "\xe4\x98", [0x62f2] = "\x96\xce",
+  [0x62f3] = "\xe4\x97", [0x62f4] = "\x89\xd6", [0x62f5] = "\x8a\x9d",
+  [0x62f6] = "\xe4\x9b", [0x62f9] = "\xe4\x9d", [0x62fe] = "\x8c\x73",
+  [0x6306] = "\xe4\xa1", [0x6307] = "\xe4\xaa", [0x6308] = "\xe4\xab",
+  [0x630c] = "\x88\xa9", [0x6313] = "\xe4\xb2", [0x6318] = "\x88\xef",
+  [0x631b] = "\xe4\xa9", [0x631f] = "\xe4\xa8", [0x6321] = "\xe4\xa3",
+  [0x6322] = "\xe4\xa2", [0x6324] = "\xe4\xa0", [0x6325] = "\xe4\x9f",
+  [0x6326] = "\x92\x83", [0x6328] = "\x91\xf9", [0x6329] = "\xe4\xa5",
+  [0x6330] = "\xe4\xa4", [0x6335] = "\xe4\xa7", [0x6339] = "\x91\x90",
+  [0x633a] = "\x8c\x74", [0x633f] = "\x89\x60", [0x6340] = "\xe4\xa6",
+  [0x6342] = "\x8d\x72", [0x6348] = "\x91\x91", [0x6363] = "\xe4\xb8",
+  [0x6365] = "\xe4\xb9", [0x6367] = "\x89\xd7", [0x636b] = "\x89\xac",
+  [0x636c] = "\xe4\xb6", [0x6375] = "\xe4\xac", [0x6377] = "\xe4\xb4",
+  [0x6379] = "\xe4\xbb", [0x637a] = "\xe4\xb5", [0x637e] = "\xe4\xb3",
+  [0x6383] = "\xe4\x96", [0x6386] = "\xe4\xb1", [0x638a] = "\xe4\xad",
+  [0x638e] = "\x8a\xce", [0x638f] = "\xe4\xaf", [0x6390] = "\xe4\xba",
+  [0x6392] = "\xe4\xb0", [0x6398] = "\xe4\xbc", [0x639a] = "\xe4\xae",
+  [0x639b] = "\x94\x9c", [0x63a1] = "\x97\x89", [0x63a5] = "\xe4\xb7",
+  [0x63ad] = "\xe4\xcd", [0x63b1] = "\xe4\xc5", [0x63b5] = "\x90\x9b",
+  [0x63ba] = "\x8b\x65", [0x63bc] = "\x8b\xdb", [0x63be] = "\xe4\xc0",
+  [0x63c3] = "\x89\xd9", [0x63c6] = "\x8f\xd2", [0x63c8] = "\xe4\xc3",
+  [0x63cc] = "\x8d\xd8", [0x63cf] = "\x93\x70", [0x63d0] = "\xe4\xc8",
+  [0x63d9] = "\x95\xec", [0x63db] = "\xe4\xbf", [0x63df] = "\x89\xd8",
+  [0x63e0] = "\x8c\xd4", [0x63e1] = "\x95\x48", [0x63e2] = "\xe4\xc9",
+  [0x63e4] = "\xe4\xbd", [0x63e7] = "\xe4\xc6", [0x63eb] = "\xe4\xd0",
+  [0x63ed] = "\xe4\xc1", [0x63f3] = "\xe4\xc2", [0x63f4] = "\x93\xb8",
+  [0x63f7] = "\xe4\xc7", [0x63fb] = "\xe4\xc4", [0x63fc] = "\x96\x47",
+  [0x63fd] = "\xe4\xca", [0x63fe] = "\x88\xde", [0x6403] = "\xe4\xbe",
+  [0x6410] = "\xe4\xcc", [0x6412] = "\xe4\xcb", [0x6419] = "\x94\x8b",
+  [0x641a] = "\xe4\xd2", [0x641c] = "\xe4\xdd", [0x6421] = "\x8a\x9e",
+  [0x6425] = "\xe4\xe0", [0x6428] = "\xe4\xce", [0x642c] = "\xe4\xd3",
+  [0x642d] = "\x97\x8e", [0x6436] = "\xe4\xdc", [0x6439] = "\x97\x74",
+  [0x643e] = "\x97\xa8", [0x6447] = "\x92\x98", [0x644b] = "\x8a\x8b",
+  [0x6451] = "\x95\x92", [0x6452] = "\xe4\xe2", [0x6453] = "\x93\x9f",
+  [0x6456] = "\x88\xaf", [0x6459] = "\xe4\xdb", [0x645b] = "\xe4\xd7",
+  [0x645c] = "\x91\x92", [0x645d] = "\xe4\xd1", [0x645e] = "\xe4\xd9",
+  [0x645f] = "\xe4\xde", [0x6461] = "\x94\x4b", [0x6465] = "\x88\xa8",
+  [0x6467] = "\xe4\xd6", [0x6469] = "\xe4\xdf", [0x646a] = "\x95\x98",
+  [0x6472] = "\xe4\xda", [0x6474] = "\xe4\xd5", [0x647b] = "\x8f\xd3",
+  [0x6480] = "\x8f\x4e", [0x6484] = "\x8e\xaa", [0x6489] = "\x96\xd6",
+  [0x648c] = "\x95\x66", [0x648f] = "\xe4\xe5", [0x6491] = "\xe4\xee",
+  [0x649d] = "\xe4\xd8", [0x64a2] = "\x8a\x97", [0x64a8] = "\x8f\xf6",
+  [0x64a9] = "\xe4\xe3", [0x64ab] = "\xe4\xe8", [0x64ac] = "\x91\x93",
+  [0x64af] = "\xe4\xe4", [0x64b1] = "\xe4\xeb", [0x64b4] = "\x92\x7e",
+  [0x64b6] = "\xe4\xec", [0x64b9] = "\x97\x75", [0x64ba] = "\xe4\xe1",
+  [0x64bb] = "\x8a\x57", [0x64bd] = "\xe4\xe7", [0x64c0] = "\xe4\xea",
+  [0x64c1] = "\x96\xaa", [0x64c6] = "\xe4\xed", [0x64c9] = "\xe4\xe6",
+  [0x64ca] = "\xe4\xe9", [0x64dc] = "\x96\x48", [0x64de] = "\x98\x40",
+  [0x64e4] = "\xe4\xf1", [0x64ec] = "\xe4\xf8", [0x64ef] = "\xe4\xf0",
+  [0x64f0] = "\x8e\xc1", [0x64f6] = "\xe4\xcf", [0x6501] = "\x95\xcc",
+  [0x6503] = "\x96\xa0", [0x6504] = "\xe4\xf7", [0x6505] = "\xe4\xf6",
+  [0x6507] = "\xe4\xf2", [0x6508] = "\xe4\xf3", [0x650a] = "\x89\x55",
+  [0x650f] = "\xe4\xf5", [0x6511] = "\xe4\xef", [0x6516] = "\x92\xd3",
+  [0x651c] = "\xe4\xf4", [0x651d] = "\x88\xfc", [0x6525] = "\x91\xa0",
+  [0x652d] = "\x95\xc1", [0x6530] = "\xe4\xf9", [0x6531] = "\xe5\x40",
+  [0x6533] = "\x94\xd7", [0x6538] = "\xe4\xfc", [0x6539] = "\x8f\xd4",
+  [0x653a] = "\x8e\xc7", [0x653b] = "\xe5\x42", [0x653e] = "\x8b\xbc",
+  [0x6545] = "\xe5\x43", [0x6547] = "\x95\x99", [0x6548] = "\xe4\xfb",
+  [0x654a] = "\xe4\xd4", [0x6553] = "\xe4\xfa", [0x6558] = "\x98\x6e",
+  [0x6559] = "\x93\xa0", [0x655a] = "\x95\x93", [0x655d] = "\xe5\x4a",
+  [0x6567] = "\xe5\x50", [0x656e] = "\xe5\x51", [0x6570] = "\xe5\x44",
+  [0x6574] = "\x94\x96", [0x6577] = "\xe5\x4e", [0x6578] = "\xe5\x46",
+  [0x657a] = "\xe5\x48", [0x6580] = "\xe5\x52", [0x6581] = "\xe5\x47",
+  [0x6584] = "\xe5\x4b", [0x6587] = "\x89\x92", [0x6589] = "\x93\xe3",
+  [0x658b] = "\xe5\x4c", [0x658c] = "\xe5\x4f", [0x6594] = "\xe5\x45",
+  [0x6596] = "\x91\x45", [0x6598] = "\xe5\x49", [0x6599] = "\x8e\x46",
+  [0x659a] = "\x90\x64", [0x659b] = "\x8c\x4f", [0x659c] = "\x96\xf2",
+  [0x659e] = "\x96\xf7", [0x659f] = "\x8f\x92", [0x65a9] = "\xe5\x56",
+  [0x65aa] = "\xe5\x54", [0x65b1] = "\x98\x6d", [0x65b9] = "\xe5\x53",
+  [0x65bd] = "\x97\x95", [0x65bf] = "\xe5\x55", [0x65c0] = "\xe5\x57",
+  [0x65c5] = "\xe5\x58", [0x65cc] = "\xe5\x5b", [0x65cd] = "\xe5\x59",
+  [0x65d4] = "\x93\xa1", [0x65d5] = "\xe5\x5a", [0x65d9] = "\x94\xcb",
+  [0x65da] = "\xe5\x4d", [0x65e7] = "\x8f\x93", [0x65e9] = "\xe5\x5c",
+  [0x65ea] = "\xe5\x61", [0x65eb] = "\x91\x94", [0x65ee] = "\xe5\x60",
+  [0x65f2] = "\xe5\x41", [0x65f6] = "\xe5\x62", [0x65f7] = "\x91\x68",
+  [0x65fa] = "\xe5\x5d", [0x65fb] = "\xe5\x5f", [0x6603] = "\xe5\x5e",
+  [0x6606] = "\x9f\x50", [0x6607] = "\x9f\x41", [0x660a] = "\xe5\x64",
+  [0x6612] = "\xe5\x63", [0x661d] = "\x97\x96", [0x661f] = "\xe1\xba",
+  [0x6620] = "\xe5\x65", [0x662f] = "\xe5\x66", [0x663d] = "\xe5\x67",
+  [0x663e] = "\x8c\xd5", [0x6640] = "\x8b\x73", [0x6644] = "\xe5\x69",
+  [0x6645] = "\x99\x7c", [0x664a] = "\x8b\x95", [0x664c] = "\x97\xb8",
+  [0x664e] = "\x8b\xf1", [0x664f] = "\xe5\x6a", [0x6657] = "\xe5\x6b",
+  [0x665b] = "\x92\x8e", [0x6661] = "\xe5\x6c", [0x6669] = "\x93\xf8",
+  [0x666b] = "\x88\xb8", [0x667a] = "\x89\xe1", [0x667b] = "\xe5\x71",
+  [0x667c] = "\xe5\x72", [0x6683] = "\xe5\x6d", [0x6685] = "\x8e\x5c",
+  [0x6693] = "\xe5\x6e", [0x6694] = "\x94\x61", [0x6699] = "\xe5\x6f",
+  [0x669a] = "\xe5\x70", [0x669b] = "\xe5\x7a", [0x669f] = "\xe5\x74",
+  [0x66a0] = "\xe5\x77", [0x66a6] = "\xe5\x73", [0x66b4] = "\xe5\x75",
+  [0x66b6] = "\xe5\x76", [0x66b7] = "\x8e\xd6", [0x66b9] = "\xe5\x78",
+  [0x66bb] = "\x92\x60", [0x66bd] = "\x8c\x75", [0x66be] = "\x8a\x61",
+  [0x66c4] = "\xe5\x7b", [0x66c9] = "\x8a\x5e", [0x66cb] = "\xe5\x81",
+  [0x66ce] = "\xe5\x7c", [0x66cf] = "\xe5\x80", [0x66d4] = "\x94\xb8",
+  [0x66d9] = "\xe5\x7d", [0x66dc] = "\xe5\x7e", [0x66dd] = "\x95\x67",
+  [0x66de] = "\x94\xd8", [0x66df] = "\xe5\x82", [0x66e8] = "\x91\xfb",
+  [0x66e9] = "\xe5\x8c", [0x66eb] = "\xe5\x88", [0x66ee] = "\x89\xe9",
+  [0x66f0] = "\xe5\x86", [0x66f2] = "\x96\x49", [0x66f3] = "\xe5\x87",
+  [0x66f6] = "\xe5\x84", [0x66f8] = "\xe5\x85", [0x66f9] = "\xe5\x8a",
+  [0x66fa] = "\xe5\x8d", [0x66fd] = "\xe5\x8b", [0x6701] = "\xe5\x89",
+  [0x6702] = "\xe5\x83", [0x6708] = "\x92\x77", [0x670a] = "\xe5\x94",
+  [0x670c] = "\x96\xa8", [0x6715] = "\xe5\x92", [0x6719] = "\xe5\x93",
+  [0x6724] = "\xe5\x8e", [0x6727] = "\xe5\x90", [0x672b] = "\xe5\x91",
+  [0x672f] = "\xe5\x8f", [0x6739] = "\x90\xe4", [0x673b] = "\x98\x58",
+  [0x673c] = "\xe5\x98", [0x673e] = "\xe5\x99", [0x6743] = "\xe5\x9f",
+  [0x6745] = "\x90\x49", [0x6747] = "\xe5\x9b", [0x6749] = "\xe5\x9e",
+  [0x674f] = "\xe5\x96", [0x6750] = "\xe5\x95", [0x6753] = "\xe5\xa0",
+  [0x6756] = "\x89\xda", [0x6758] = "\xe5\x9c", [0x675a] = "\xe5\xa1",
+  [0x675e] = "\xe5\x9d", [0x6764] = "\xe5\x9a", [0x6766] = "\x92\xb1",
+  [0x6768] = "\xe5\x97", [0x676f] = "\x94\x88", [0x6772] = "\xe5\xa5",
+  [0x677d] = "\x97\x5a", [0x678f] = "\xe5\xa4", [0x6792] = "\xe5\xa3",
+  [0x679b] = "\xe5\xac", [0x679f] = "\xe5\xa6", [0x67a3] = "\xe5\xae",
+  [0x67aa] = "\x97\x86", [0x67ab] = "\xe5\xb1", [0x67ad] = "\xe5\xa8",
+  [0x67b0] = "\xe5\xa9", [0x67b4] = "\xe5\xad", [0x67b6] = "\xe5\xb0",
+  [0x67b7] = "\xe5\xaf", [0x67bb] = "\xe5\xa7", [0x67c0] = "\xe5\xaa",
+  [0x67c2] = "\xe5\xbb", [0x67d0] = "\xe5\xb4", [0x67df] = "\xe5\xb2",
+  [0x67e2] = "\xe5\xb3", [0x67e6] = "\xe5\xb8", [0x67e7] = "\xe5\xb9",
+  [0x67e9] = "\x8a\x49", [0x67eb] = "\x8b\x61", [0x67ee] = "\xe5\xb7",
+  [0x67f5] = "\xe5\xa2", [0x67fd] = "\xe5\xb6", [0x67fe] = "\xe5\xba",
+  [0x67ff] = "\xe5\xb5", [0x6801] = "\xe5\xbc", [0x6805] = "\xe5\xbe",
+  [0x6806] = "\xe5\xbd", [0x6811] = "\xe5\xc0", [0x6812] = "\xe5\xbf",
+  [0x6813] = "\xe5\x79", [0x6817] = "\xe5\xc4", [0x6821] = "\xe5\xc1",
+  [0x6826] = "\xe5\xc2", [0x6829] = "\xe5\xc3", [0x682b] = "\xe5\xc5",
+  [0x6830] = "\x8c\x8c", [0x6832] = "\xe5\xc7", [0x6834] = "\xe5\xc6",
+  [0x6836] = "\x8f\x4f", [0x683c] = "\x8d\x73", [0x683d] = "\x9f\xa5",
+  [0x6842] = "\xe5\xc8", [0x6843] = "\x8f\x70", [0x6847] = "\x8a\x58",
+  [0x6849] = "\xe5\xc9", [0x684b] = "\x89\x71", [0x684d] = "\x8f\xd5",
+  [0x684e] = "\xe5\xca", [0x6851] = "\x8d\x74", [0x6852] = "\xe5\xcb",
+  [0x6853] = "\x88\xdf", [0x6858] = "\x95\x5c", [0x685b] = "\xe5\xcc",
+  [0x6860] = "\x90\x8a", [0x6862] = "\xe5\xd3", [0x6865] = "\xe5\xd0",
+  [0x6867] = "\x92\x8f", [0x686d] = "\xe5\xd1", [0x686e] = "\xe5\xce",
+  [0x686f] = "\x8b\xdc", [0x6871] = "\xe5\xcd", [0x6872] = "\xe5\xd4",
+  [0x6878] = "\x8c\x55", [0x687b] = "\x91\xdc", [0x687d] = "\xe5\xda",
+  [0x6882] = "\xe5\xd6", [0x6886] = "\x91\xb3", [0x6887] = "\xe5\xd5",
+  [0x6889] = "\xe5\xd8", [0x688e] = "\xe5\xcf", [0x6892] = "\xe5\xd9",
+  [0x6894] = "\xe5\xdb", [0x689b] = "\x94\xed", [0x689e] = "\xe5\xd7",
+  [0x68a0] = "\xe5\xdc", [0x68a1] = "\xe5\xde", [0x68a4] = "\x8c\xd1",
+  [0x68a5] = "\xe5\xd2", [0x68a7] = "\x88\xbf", [0x68af] = "\xe5\xdd",
+  [0x68b1] = "\x8d\xd9", [0x68b2] = "\x97\xf4", [0x68b3] = "\xe5\xdf",
+  [0x68b4] = "\xe5\xe0", [0x68b5] = "\x91\x95", [0x68bf] = "\x97\xa0",
+  [0x68c4] = "\xe5\xe1", [0x68c5] = "\x97\x54", [0x68c8] = "\xe5\xe2",
+  [0x68c9] = "\xe5\xe3", [0x68cc] = "\x95\xe2", [0x68cd] = "\xe5\xe4",
+  [0x68cf] = "\x8d\xbe", [0x68d1] = "\x97\xa1", [0x68d8] = "\xe5\xe9",
+  [0x68e2] = "\xe5\xea", [0x68e3] = "\x8f\xd6", [0x68e4] = "\xe5\xe8",
+  [0x68e8] = "\x97\x87", [0x68e9] = "\xe5\xe5", [0x68ec] = "\xe5\xe7",
+  [0x68ed] = "\x90\xbb", [0x68ee] = "\x90\x9e", [0x68f2] = "\xe5\xe6",
+  [0x68f4] = "\xe5\xeb", [0x68f7] = "\x95\xa1", [0x68fa] = "\xe5\xed",
+  [0x68fc] = "\xe5\xec", [0x6900] = "\x8a\x8c", [0x6902] = "\x96\x4a",
+  [0x6903] = "\xe5\xee", [0x690d] = "\xe5\xfa", [0x690e] = "\xe5\xf0",
+  [0x6915] = "\xe5\xf1", [0x691a] = "\xe5\xf2", [0x691b] = "\xe5\xf3",
+  [0x6926] = "\xe5\xf7", [0x6928] = "\xe5\xf8", [0x692b] = "\xe5\xf6",
+  [0x6931] = "\xe5\xf4", [0x6933] = "\xe5\xef", [0x6934] = "\xe5\xf5",
+  [0x693c] = "\xe5\xf9", [0x693d] = "\xe8\xb5", [0x6946] = "\x89\xa6",
+  [0x694e] = "\xe5\xfc", [0x694f] = "\x8b\xdd", [0x6950] = "\xe5\xfb",
+  [0x6954] = "\xe6\x41", [0x6956] = "\xe6\x40", [0x695a] = "\xe6\x43",
+  [0x695d] = "\xe6\x42", [0x695f] = "\xe6\x44", [0x6962] = "\x8f\x50",
+  [0x6964] = "\xe6\x45", [0x6967] = "\xe6\x46", [0x696e] = "\xe6\x47",
+  [0x696f] = "\x90\xbc", [0x6971] = "\x97\x76", [0x6973] = "\xe6\x48",
+  [0x6976] = "\x95\xa2", [0x6977] = "\x94\x65", [0x6978] = "\xe6\x49",
+  [0x697a] = "\xe6\x4a", [0x697b] = "\x8c\xa9", [0x697f] = "\x8b\x4b",
+  [0x6983] = "\xe6\x4b", [0x6986] = "\x8e\x8b", [0x6987] = "\x94\x60",
+  [0x6988] = "\xe6\x4c", [0x698a] = "\x8a\x6f", [0x6991] = "\xe6\x4d",
+  [0x6996] = "\xe6\x4f", [0x6997] = "\x97\x97", [0x6999] = "\xe6\x4e",
+  [0x699a] = "\x90\x65", [0x699c] = "\xe6\x50", [0x699f] = "\xe6\x51",
+  [0x69a2] = "\xe6\x52", [0x69a3] = "\x8a\xcf", [0x69aa] = "\xe6\x53",
+  [0x69ad] = "\xe6\x54", [0x69af] = "\xe6\x55", [0x69b0] = "\xe6\x56",
+  [0x69c2] = "\x8a\x70", [0x69ca] = "\xe6\x57", [0x69cc] = "\xe6\x58",
+  [0x69cd] = "\xe6\x59", [0x69d3] = "\x89\xf0", [0x69d6] = "\x90\x47",
+  [0x69d7] = "\xe6\x5a", [0x69e4] = "\xe6\x5b", [0x69e8] = "\xe6\x5c",
+  [0x69f0] = "\x8c\xbe", [0x69f2] = "\x92\xf9", [0x69f3] = "\xe6\x5d",
+  [0x69f8] = "\x8c\x76", [0x69fa] = "\x90\x75", [0x69fc] = "\xe6\x60",
+  [0x69fe] = "\x93\xa2", [0x6a00] = "\xe6\x5f", [0x6a03] = "\x8c\x50",
+  [0x6a06] = "\xe6\x5e", [0x6a07] = "\x91\xf5", [0x6a08] = "\x8b\x4c",
+  [0x6a0b] = "\xe6\x61", [0x6a0d] = "\xe6\x62", [0x6a0f] = "\x8f\xd7",
+  [0x6a13] = "\x8c\x8d", [0x6a15] = "\xe6\x63", [0x6a1a] = "\x96\x4b",
+  [0x6a1d] = "\x90\xdd", [0x6a21] = "\x8b\x96", [0x6a23] = "\x96\xf3",
+  [0x6a24] = "\x91\x69", [0x6a26] = "\xe6\x64", [0x6a2a] = "\x90\x66",
+  [0x6a2b] = "\x92\x90", [0x6a2c] = "\x8f\xd8", [0x6a31] = "\xe6\x65",
+  [0x6a36] = "\xe6\x68", [0x6a38] = "\xe6\x69", [0x6a40] = "\x8d\xbc",
+  [0x6a41] = "\x91\xc0", [0x6a42] = "\xe6\x67", [0x6a44] = "\x8f\xd9",
+  [0x6a45] = "\x95\x5d", [0x6a4b] = "\xe6\x66", [0x6a4e] = "\x8e\x8c",
+  [0x6a50] = "\x89\x72", [0x6a52] = "\xe6\x6d", [0x6a53] = "\x8c\x77",
+  [0x6a56] = "\x8e\x8e", [0x6a59] = "\x8e\x8d", [0x6a5b] = "\x98\x6c",
+  [0x6a5c] = "\xe6\x6c", [0x6a5d] = "\xe6\x6b", [0x6a5e] = "\x91\x46",
+  [0x6a60] = "\x8b\x6c", [0x6a61] = "\x98\x62", [0x6a62] = "\x8a\x59",
+  [0x6a63] = "\x8f\xda", [0x6a6c] = "\xe6\x6a", [0x6a72] = "\xe6\x6f",
+  [0x6a74] = "\xe6\x70", [0x6a75] = "\xe6\x6e", [0x6a77] = "\x8c\xd6",
+  [0x6a79] = "\x97\x5f", [0x6a7c] = "\x8e\x8f", [0x6a7d] = "\x94\x46",
+  [0x6a81] = "\xe6\x73", [0x6a83] = "\x90\xbe", [0x6a85] = "\x92\x61",
+  [0x6a88] = "\x97\x55", [0x6a8a] = "\xe6\x76", [0x6a8e] = "\x8c\xea",
+  [0x6a90] = "\x90\xbd", [0x6a91] = "\xe6\x72", [0x6a93] = "\xe6\x77",
+  [0x6a94] = "\x8c\xeb", [0x6a95] = "\xe6\x74", [0x6a96] = "\xe6\x75",
+  [0x6a98] = "\xe6\x71", [0x6a9c] = "\x90\xe0", [0x6a9d] = "\x93\xc7",
+  [0x6aa0] = "\x92\x4e", [0x6aa2] = "\x89\xdb", [0x6aa9] = "\x94\xee",
+  [0x6aac] = "\x8b\x62", [0x6aaf] = "\x92\xb2", [0x6ab2] = "\xe6\x7a",
+  [0x6ab4] = "\xe6\x78", [0x6ab7] = "\x92\x6b", [0x6abb] = "\x90\xbf",
+  [0x6abc] = "\x8a\xd0", [0x6abd] = "\xe6\x79", [0x6abf] = "\x90\x7a",
+  [0x6ac2] = "\x97\xc8", [0x6ac6] = "\x98\x5f", [0x6aca] = "\xe6\x7b",
+  [0x6acb] = "\xe6\x87", [0x6acc] = "\x92\xb3", [0x6ace] = "\xe6\x86",
+  [0x6ad0] = "\xe6\x83", [0x6ad1] = "\xe6\x8b", [0x6ad2] = "\xe6\x84",
+  [0x6ad4] = "\xe6\x80", [0x6ad6] = "\x92\xfa", [0x6ad7] = "\xe6\x7e",
+  [0x6adb] = "\xe6\x7c", [0x6add] = "\x97\x40", [0x6ade] = "\x8e\x90",
+  [0x6ae1] = "\xe6\x81", [0x6ae3] = "\xe6\x7d", [0x6ae7] = "\xe6\x85",
+  [0x6ae8] = "\x8f\x94", [0x6aea] = "\x8c\xbf", [0x6aee] = "\x91\xf8",
+  [0x6af0] = "\x96\x64", [0x6af1] = "\x89\x79", [0x6af2] = "\x88\xe0",
+  [0x6af4] = "\x93\xa3", [0x6af7] = "\xe6\x89", [0x6afc] = "\xe6\x88",
+  [0x6afe] = "\x93\xe4", [0x6b00] = "\xe6\x8d", [0x6b04] = "\xe6\x82",
+  [0x6b06] = "\xe6\x8c", [0x6b07] = "\xe6\x8e", [0x6b09] = "\x8c\xaa",
+  [0x6b0a] = "\xe6\x8a", [0x6b0b] = "\x8d\x75", [0x6b0d] = "\x8e\xd3",
+  [0x6b10] = "\xe6\x8f", [0x6b11] = "\x97\x77", [0x6b16] = "\xe6\x92",
+  [0x6b18] = "\xe6\x95", [0x6b1b] = "\xe6\x93", [0x6b1c] = "\x95\x54",
+  [0x6b23] = "\xe6\x90", [0x6b29] = "\x8b\xde", [0x6b2e] = "\xe6\x94",
+  [0x6b31] = "\xe6\x96", [0x6b39] = "\xe6\x9a", [0x6b3c] = "\xe6\x97",
+  [0x6b3e] = "\xe6\x99", [0x6b3f] = "\xe6\x98", [0x6b46] = "\xe6\x9b",
+  [0x6b48] = "\x8e\xaf", [0x6b4a] = "\xe6\x9d", [0x6b4b] = "\xe6\x9c",
+  [0x6b4c] = "\x95\x88", [0x6b4f] = "\xe6\x9f", [0x6b56] = "\x8c\x78",
+  [0x6b5b] = "\xe6\x9e", [0x6b5c] = "\xe6\xa0", [0x6b5f] = "\xe6\xa1",
+  [0x6b60] = "\x8b\x63", [0x6b61] = "\xe3\xbf", [0x6b62] = "\x8f\xf7",
+  [0x6b64] = "\xe6\xa2", [0x6b67] = "\x8c\xec", [0x6b6d] = "\xe6\xa3",
+  [0x6b70] = "\xe6\xa4", [0x6b73] = "\x8e\x5d", [0x6b7a] = "\x9d\xcc",
+  [0x6b7c] = "\xe6\xa5", [0x6b7e] = "\xe6\xa6", [0x6b80] = "\x8f\x51",
+  [0x6b82] = "\xe6\xa7", [0x6b83] = "\xe6\xa8", [0x6b86] = "\xe6\xa9",
+  [0x6b89] = "\xe6\xaa", [0x6b8a] = "\xe6\xab", [0x6c27] = "\x92\x4a",
+  [0x6c2a] = "\xe6\xac", [0x6c2f] = "\xe6\xae", [0x6c31] = "\xe6\xad",
+  [0x6c36] = "\x93\xa4", [0x6c38] = "\xe6\xaf", [0x6c3a] = "\x96\x4c",
+  [0x6c3c] = "\xe6\xb0", [0x6c3e] = "\xe6\xb1", [0x6c40] = "\xe6\xb2",
+  [0x6c45] = "\xe6\xb3", [0x6c4a] = "\x93\xd8", [0x6c51] = "\x8f\xdb",
+  [0x6c52] = "\xe6\xb4", [0x6c5a] = "\x8d\x8b", [0x6c5b] = "\x98\xac",
+  [0x6c5c] = "\xe6\xb5", [0x6c68] = "\xe6\xb6", [0x6c69] = "\x95\x5e",
+  [0x6c6a] = "\xe6\xb7", [0x6c6c] = "\xe6\xbf", [0x6c72] = "\xe6\xb8",
+  [0x6c75] = "\xe6\xba", [0x6c79] = "\xe6\xb9", [0x6c7a] = "\xe6\xbb",
+  [0x6c7c] = "\x96\x65", [0x6c7d] = "\xe6\xbc", [0x6c7e] = "\xe6\xbd",
+  [0x6c84] = "\xe6\xbe", [0x6c88] = "\xe6\xc0", [0x6c8d] = "\x8a\x4c",
+  [0x6c8e] = "\x92\xe5", [0x6c90] = "\x95\x89", [0x6c91] = "\x8d\xe0",
+  [0x6c92] = "\x8d\x76", [0x6c97] = "\x95\x6e", [0x6c98] = "\x89\xdd",
+  [0x6c99] = "\x94\xcc", [0x6c9a] = "\xe6\xc3", [0x6c9b] = "\x8a\xd1",
+  [0x6c9c] = "\x90\xd3", [0x6c9d] = "\xe6\xc2", [0x6c9e] = "\xe6\xc7",
+  [0x6c9f] = "\x92\x99", [0x6ca0] = "\x96\xe1", [0x6ca2] = "\xe6\xc5",
+  [0x6ca3] = "\xe6\xc6", [0x6ca4] = "\x8b\x4d", [0x6ca6] = "\xe6\xc8",
+  [0x6ca7] = "\x94\x83", [0x6ca8] = "\x91\xdd", [0x6cab] = "\x94\xef",
+  [0x6cac] = "\x93\x5c", [0x6cad] = "\xe6\xc4", [0x6caf] = "\x96\x66",
+  [0x6cb0] = "\x89\xea", [0x6cb1] = "\xe6\xca", [0x6cb2] = "\x98\x47",
+  [0x6cb3] = "\x92\xc0", [0x6cb4] = "\x98\x64", [0x6cb7] = "\x8e\x91",
+  [0x6cb8] = "\xe6\xc9", [0x6cba] = "\x91\xaf", [0x6cbd] = "\xe6\xda",
+  [0x6cbe] = "\x91\x47", [0x6cc1] = "\x93\xf6", [0x6cc3] = "\x95\x6f",
+  [0x6cca] = "\xe6\xcd", [0x6ccb] = "\x8e\x5e", [0x6ccc] = "\x8e\x92",
+  [0x6cce] = "\x8f\xdc", [0x6cd0] = "\x94\x85", [0x6cd2] = "\x8c\xab",
+  [0x6cd3] = "\xe6\xcc", [0x6cd4] = "\xe6\xcb", [0x6cd6] = "\x95\x8a",
+  [0x6cda] = "\x8e\xbf", [0x6cdd] = "\x93\x71", [0x6cea] = "\xe6\xcf",
+  [0x6ceb] = "\xe6\xd0", [0x6cec] = "\x8d\x77", [0x6ced] = "\xe6\xce",
+  [0x6cf4] = "\xe6\xd1", [0x6cf5] = "\xe6\xd2", [0x6cf7] = "\xe6\xd4",
+  [0x6cf8] = "\x91\xa1", [0x6cfa] = "\xe6\xd3", [0x6cfb] = "\x8a\xe4",
+  [0x6cfd] = "\xe6\xd6", [0x6cff] = "\xe6\xd5", [0x6d00] = "\xe6\xd7",
+  [0x6d03] = "\xe6\xd9", [0x6d04] = "\xe6\xdb", [0x6d06] = "\xe6\xdc",
+  [0x6d54] = "\x90\xd4", [0x6d56] = "\x8e\xcd", [0x6d57] = "\xe6\xdd",
+  [0x6d5b] = "\x8a\x71", [0x6d5d] = "\xe6\xde", [0x6d60] = "\x91\x96",
+  [0x6d61] = "\xe6\xdf", [0x6d63] = "\xe6\xe0", [0x6d64] = "\x95\x8b",
+  [0x6d67] = "\x8b\x4e", [0x6d71] = "\xe6\xe1", [0x6d75] = "\x92\xb4",
+  [0x6d7a] = "\x89\x7a", [0x6d89] = "\xe6\xe2", [0x6d93] = "\x8e\xef",
+  [0x6d98] = "\x90\x96", [0x6da3] = "\x91\xab", [0x6daa] = "\xe6\xe5",
+  [0x6dae] = "\xe6\xe4", [0x6db2] = "\xe6\xe3", [0x6dbb] = "\xe6\xeb",
+  [0x6dbc] = "\xe6\xe9", [0x6dbf] = "\xe6\xe6", [0x6dc6] = "\xe6\xe8",
+  [0x6dca] = "\xe6\xe7", [0x6dcb] = "\xe6\xea", [0x6dcd] = "\x8b\x97",
+  [0x6dcf] = "\xe6\xee", [0x6dd1] = "\x90\xd5", [0x6dd3] = "\xe6\xef",
+  [0x6dd8] = "\x8c\xd7", [0x6dda] = "\xe6\xec", [0x6ddb] = "\xe6\xed",
+  [0x6ddf] = "\x98\x48", [0x6de3] = "\x92\xb5", [0x6de5] = "\x91\x48",
+  [0x6dec] = "\xe6\xf0", [0x6def] = "\xe6\xf3", [0x6df8] = "\xe6\xf1",
+  [0x6df9] = "\xe6\xf2", [0x6dfa] = "\x97\x78", [0x6dff] = "\x93\xa5",
+  [0x6e00] = "\xe6\xf6", [0x6e0d] = "\xe6\xf4", [0x6e0e] = "\xe6\xf5",
+  [0x6e0f] = "\xe6\xf7", [0x6e1a] = "\xe7\x48", [0x6e20] = "\xe6\xfa",
+  [0x6e24] = "\xe6\xfb", [0x6e25] = "\xe6\xf9", [0x6e32] = "\xe6\xf8",
+  [0x6e34] = "\x92\xfb", [0x6e37] = "\xe7\x40", [0x6e38] = "\xe7\x44",
+  [0x6e39] = "\xe7\x41", [0x6e3a] = "\xe6\xfc", [0x6e3c] = "\xe7\x42",
+  [0x6e40] = "\xe7\x43", [0x6e45] = "\xe7\x4a", [0x6e49] = "\xe7\x45",
+  [0x6e4f] = "\x90\xd6", [0x6e50] = "\xe7\x47", [0x6e53] = "\xe7\x49",
+  [0x6e54] = "\xe7\x46", [0x6e62] = "\xe7\x4c", [0x6e64] = "\x8f\x52",
+  [0x6e66] = "\xe7\x4b", [0x6e6c] = "\xe7\x4d", [0x6e71] = "\xe7\x4e",
+  [0x6e74] = "\xe7\x51", [0x6e75] = "\xe7\x50", [0x6e77] = "\xe7\x4f",
+  [0x6e7a] = "\xe7\x53", [0x6e7b] = "\xe7\x52", [0x6e7d] = "\x96\xf4",
+  [0x6e81] = "\xe7\x55", [0x6e83] = "\xe7\x54", [0x6e84] = "\xe7\x56",
+  [0x6e89] = "\xe7\x57", [0x6e91] = "\xe7\x59", [0x6e9a] = "\xe7\x58",
+  [0x6e9b] = "\x90\x67", [0x6e9c] = "\xe7\x5a", [0x6e9f] = "\x8b\xeb",
+  [0x6ea0] = "\xe7\x5b", [0x6ea1] = "\xe7\x5d", [0x6eae] = "\xe7\x5e",
+  [0x6eb5] = "\xe7\x5f", [0x6eb6] = "\xe7\x5c", [0x6eb8] = "\xe7\x60",
+  [0x6eba] = "\x8e\xd4", [0x6ebb] = "\xe7\x61", [0x6ebc] = "\x8b\x4f",
+  [0x6ebd] = "\x8c\x52", [0x6ec2] = "\x8c\xac", [0x6ecb] = "\xe7\x62",
+  [0x6ecf] = "\x93\xee", [0x6ed2] = "\x93\x5d", [0x6ed3] = "\xe7\x63",
+  [0x6edb] = "\xe7\x66", [0x6ee8] = "\x8e\xb2", [0x6eeb] = "\xe7\x65",
+  [0x6eec] = "\xe7\x64", [0x6eed] = "\x8c\x79", [0x6eee] = "\xe7\x67",
+  [0x6ef3] = "\x8a\x72", [0x6ef5] = "\xe7\x69", [0x6ef9] = "\x8d\xda",
+  [0x6efa] = "\xe7\x68", [0x6efc] = "\xe7\x71", [0x6f02] = "\xe7\x6b",
+  [0x6f03] = "\xe7\x6d", [0x6f04] = "\x95\xe3", [0x6f05] = "\xe7\x6a",
+  [0x6f09] = "\xe7\x6c", [0x6f0b] = "\xe7\x70", [0x6f0c] = "\xe7\x6e",
+  [0x6f0d] = "\x8b\x50", [0x6f0f] = "\xe7\x6f", [0x6f16] = "\xe7\x72",
+  [0x6f19] = "\x94\x79", [0x6f1a] = "\x97\xd6", [0x6f1f] = "\x8f\x53",
+  [0x6f23] = "\xe7\x73", [0x6f28] = "\x97\x41", [0x6f29] = "\xe7\x75",
+  [0x6f2b] = "\xe7\x74", [0x6f2e] = "\xe7\x78", [0x6f2f] = "\x97\x60",
+  [0x6f32] = "\xe7\x77", [0x6f34] = "\x8a\x8d", [0x6f35] = "\xe7\x76",
+  [0x6f36] = "\xe7\x7b", [0x6f39] = "\xe7\x7a", [0x6f3c] = "\xe7\x79",
+  [0x6f3d] = "\x93\x51", [0x6f3e] = "\xe7\x7c", [0x6f47] = "\xe7\x7d",
+  [0x6f4c] = "\xe7\x7e", [0x6f4f] = "\x8d\x8c", [0x6f51] = "\x8c\x44",
+  [0x6f52] = "\xe7\x80", [0x6f53] = "\xe7\x81", [0x6f54] = "\xe7\x82",
+  [0x6f8b] = "\x90\x68", [0x6f8c] = "\xe7\x83", [0x6f8e] = "\x8e\xab",
+  [0x6f8f] = "\xe7\x84", [0x6f93] = "\xe7\x85", [0x6f97] = "\x99\x9f",
+  [0x6f98] = "\x99\x9e", [0x6f9d] = "\xe7\x86", [0x6f9e] = "\xe3\x90",
+  [0x6f9f] = "\xe7\x87", [0x6fa0] = "\x92\x43", [0x6fa1] = "\x90\x4a",
+  [0x6fa2] = "\x94\x5f", [0x6fa7] = "\xe7\x88", [0x6faa] = "\x95\xd3",
+  [0x6fab] = "\x92\xd2", [0x6fac] = "\x8d\x9e", [0x6faf] = "\x92\x48",
+  [0x6fb2] = "\x89\x49", [0x6fb4] = "\x96\x98", [0x6fb5] = "\x90\x76",
+  [0x6fbe] = "\x8c\x7d", [0x6fc1] = "\x8b\xdf", [0x6fc4] = "\x95\xd4",
+  [0x6fca] = "\xe7\x89", [0x6fd2] = "\xe7\x8b", [0x6fd5] = "\xe7\x8a",
+  [0x6fd6] = "\x89\xde", [0x6fd9] = "\x93\xf4", [0x6fda] = "\xe7\x8c",
+  [0x6fdb] = "\x94\x97", [0x6fdd] = "\x93\x52", [0x6fdf] = "\xe7\x8d",
+  [0x6fe0] = "\x8f\x71", [0x6fe4] = "\xe7\x8f", [0x6fe7] = "\x96\xc0",
+  [0x6fe8] = "\xe7\x9e", [0x6fe9] = "\xe7\x91", [0x6fea] = "\xe7\x92",
+  [0x6fed] = "\x92\xc7", [0x6ff0] = "\x91\xde", [0x6ff1] = "\x91\x97",
+  [0x6ff3] = "\x93\xa6", [0x6ff5] = "\xe7\x90", [0x6ff6] = "\x8b\x74",
+  [0x6ffb] = "\xe7\x99", [0x6ffd] = "\xe7\x96", [0x6ffe] = "\xe7\xa3",
+  [0x6fff] = "\x93\xa7", [0x7000] = "\x92\x80", [0x7001] = "\xe7\x93",
+  [0x7003] = "\x92\xfc", [0x7004] = "\x93\x72", [0x7005] = "\xe7\x94",
+  [0x7006] = "\xe7\x98", [0x7007] = "\x90\x80", [0x7009] = "\x94\x87",
+  [0x700a] = "\x92\xca", [0x700d] = "\x90\xc0", [0x700e] = "\xe7\x97",
+  [0x700f] = "\x91\xac", [0x7010] = "\x91\xa2", [0x7011] = "\xe7\x95",
+  [0x7012] = "\x88\xa7", [0x7013] = "\x98\x41", [0x7017] = "\xe7\x9a",
+  [0x701e] = "\x91\xdf", [0x7021] = "\x8f\x54", [0x7022] = "\x90\x69",
+  [0x7025] = "\xe7\x9c", [0x7026] = "\xe7\x9b", [0x7028] = "\x88\xed",
+  [0x7029] = "\xe7\x9d", [0x702c] = "\x95\x4e", [0x702e] = "\xe7\xa5",
+  [0x7031] = "\x93\xd9", [0x7032] = "\x90\x8b", [0x7035] = "\x92\x78",
+  [0x7037] = "\x8b\xf6", [0x7039] = "\xe7\xa4", [0x703a] = "\x97\x56",
+  [0x703b] = "\x89\x5e", [0x703d] = "\x95\xd5", [0x703e] = "\x89\xdf",
+  [0x703f] = "\xe7\x9f", [0x7040] = "\xe7\xa0", [0x7041] = "\xe7\xa1",
+  [0x7042] = "\xe7\xa2", [0x7043] = "\x93\xb9", [0x7044] = "\x92\x42",
+  [0x7045] = "\x88\xe1", [0x7046] = "\xe7\xa6", [0x7048] = "\xe7\xa7",
+  [0x7049] = "\xea\xa1", [0x704c] = "\x91\xbb", [0x704e] = "\xe7\xa8",
+  [0x7050] = "\x89\x93", [0x7051] = "\x91\x6b", [0x7053] = "\x8c\xad",
+  [0x7055] = "\x97\x79", [0x7058] = "\xe7\xa9", [0x7059] = "\x93\x4b",
+  [0x705d] = "\x91\x98", [0x705e] = "\x8e\xd5", [0x705f] = "\xe7\xaa",
+  [0x7062] = "\xe7\xad", [0x7065] = "\x8f\x85", [0x7066] = "\xe7\xab",
+  [0x7067] = "\x91\x4a", [0x7068] = "\x91\x49", [0x706a] = "\x88\xe2",
+  [0x706c] = "\x97\xc9", [0x706d] = "\xe7\xaf", [0x706f] = "\x94\xf0",
+  [0x7070] = "\xe7\xb1", [0x7071] = "\xe7\xb0", [0x7072] = "\xe7\xae",
+  [0x7073] = "\xe2\x84", [0x7074] = "\x8a\xd2", [0x7077] = "\xe7\x8e",
+  [0x7079] = "\xe7\xb3", [0x707a] = "\xe7\xb2", [0x707f] = "\xe7\xb4",
+  [0x7081] = "\x97\x57", [0x7093] = "\x93\xdf", [0x7096] = "\x96\x4d",
+  [0x7098] = "\xe7\xb5", [0x709a] = "\x8e\xd7", [0x709f] = "\xe7\xb6",
+  [0x70a1] = "\xe7\xb7", [0x70a5] = "\xe7\xb8", [0x70a8] = "\x93\x40",
+  [0x70b1] = "\x88\xe8", [0x70ba] = "\x8d\x78", [0x70be] = "\x98\x59",
+  [0x70cb] = "\xe7\xbc", [0x70d1] = "\x8c\x53", [0x70d2] = "\xe7\xb9",
+  [0x70d4] = "\xe7\xba", [0x70d8] = "\x95\x94", [0x70dd] = "\x8a\x73",
+  [0x70e5] = "\x97\x58", [0x70e7] = "\x8b\xbd", [0x70ed] = "\x93\x73",
+  [0x70f2] = "\xe7\xbd", [0x7102] = "\xe7\xbe", [0x7109] = "\xe7\xbf",
+  [0x711d] = "\x93\x41", [0x7120] = "\xe7\xc1", [0x7122] = "\xe7\xc0",
+  [0x7139] = "\x93\xd1", [0x713a] = "\xe7\xc2", [0x713b] = "\x8f\x55",
+  [0x713c] = "\x8e\xde", [0x713d] = "\x94\x7a", [0x713e] = "\x92\x91",
+  [0x7142] = "\x8e\xf0", [0x7144] = "\x90\x8c", [0x7146] = "\xe7\xc3",
+  [0x7148] = "\xe7\xc4", [0x7152] = "\x90\x7c", [0x7153] = "\xe7\xc5",
+  [0x7155] = "\xe7\xc6", [0x7159] = "\xe7\xc7", [0x715a] = "\x97\x8f",
+  [0x715c] = "\x8f\x56", [0x7162] = "\xe7\xc9", [0x7163] = "\xe7\xc8",
+  [0x7165] = "\x8d\x79", [0x7167] = "\x8d\x93", [0x7168] = "\x8e\x5f",
+  [0x7172] = "\xe7\xcc", [0x7177] = "\x8f\x86", [0x7179] = "\xe7\xcb",
+  [0x717b] = "\xe7\xca", [0x717d] = "\x91\xe7", [0x7180] = "\x8c\xed",
+  [0x7182] = "\x90\xc1", [0x7187] = "\x94\xae", [0x718c] = "\x8f\x58",
+  [0x7192] = "\xe7\xcd", [0x7194] = "\x8f\xdd", [0x719a] = "\xe7\xd0",
+  [0x719b] = "\xe7\xce", [0x719f] = "\xe7\xcf", [0x71a4] = "\xe7\xd2",
+  [0x71a5] = "\xe7\xd1", [0x71a8] = "\x8f\xf8", [0x71aa] = "\xe7\xd3",
+  [0x71b0] = "\xe7\xd4", [0x71b1] = "\xe7\xd5", [0x71b6] = "\x94\xce",
+  [0x71b7] = "\x8d\xd1", [0x71b8] = "\x8e\xdf", [0x71b9] = "\xe7\xd6",
+  [0x71bb] = "\xe7\xd7", [0x71bc] = "\x97\xa2", [0x71bd] = "\x8f\x64",
+  [0x71be] = "\x96\xec", [0x71bf] = "\x97\xca", [0x71c0] = "\xe7\xd8",
+  [0x71c1] = "\x8b\xe0", [0x71c6] = "\xe7\xd9", [0x71c8] = "\x93\x42",
+  [0x71cb] = "\xe7\xdc", [0x71cc] = "\x8a\x98", [0x71cd] = "\x90\x6a",
+  [0x71cf] = "\xe7\xda", [0x71d1] = "\xe7\xdb", [0x71d3] = "\x92\xde",
+  [0x71d6] = "\x96\x74", [0x71d7] = "\x8b\xfa", [0x71e5] = "\xe7\xde",
+  [0x71e6] = "\xe7\xdf", [0x71ec] = "\xe7\xdd", [0x71ef] = "\xe7\xe1",
+  [0x71fd] = "\x93\xdd", [0x71fe] = "\x8a\x62", [0x7201] = "\xe7\xe5",
+  [0x7204] = "\xe7\xe2", [0x7205] = "\xe7\xe4", [0x720e] = "\xe7\xe0",
+  [0x7219] = "\xe8\x6e", [0x721c] = "\xe7\xe3", [0x7224] = "\x97\xe9",
+  [0x7227] = "\x8c\xd8", [0x722f] = "\xe7\xed", [0x7234] = "\x93\x53",
+  [0x7235] = "\xe7\xe8", [0x7238] = "\xe7\xeb", [0x7239] = "\xe7\xe9",
+  [0x723b] = "\xe7\xee", [0x7240] = "\xe7\xef", [0x7247] = "\xe7\xe7",
+  [0x724a] = "\xe7\xf4", [0x724b] = "\x89\x94", [0x724e] = "\xe7\xe6",
+  [0x7252] = "\x94\xab", [0x7254] = "\xe7\xea", [0x7256] = "\x8f\xde",
+  [0x7261] = "\x8d\x7a", [0x726e] = "\x96\x67", [0x7270] = "\x8b\xe2",
+  [0x7273] = "\x8f\x65", [0x7275] = "\x93\xba", [0x7281] = "\x91\x4c",
+  [0x7283] = "\xe7\xf2", [0x7285] = "\xe7\xec", [0x7286] = "\xe7\xf1",
+  [0x7288] = "\x96\xc1", [0x728a] = "\x92\xb6", [0x728b] = "\xe7\xf3",
+  [0x728c] = "\xe7\xf0", [0x729d] = "\x91\x4b", [0x72a7] = "\xe7\xf7",
+  [0x72a9] = "\xe7\xf6", [0x72bf] = "\xe7\xf5", [0x72c2] = "\x96\x4e",
+  [0x72d4] = "\x8f\x9b", [0x72d9] = "\xe7\xf8", [0x72da] = "\x95\xdd",
+  [0x72dd] = "\x89\x73", [0x72e2] = "\x95\x65", [0x72e3] = "\x92\x92",
+  [0x72e8] = "\x8b\x98", [0x72ea] = "\xe7\xfa", [0x72ec] = "\x8d\x7c",
+  [0x72f6] = "\x8e\x4b", [0x72ff] = "\xe7\xf9", [0x7300] = "\x90\x8d",
+  [0x7308] = "\x90\x8e", [0x7309] = "\xe8\x40", [0x730a] = "\xe8\x42",
+  [0x7310] = "\x8f\xf9", [0x7312] = "\xe8\x41", [0x7313] = "\xe8\x43",
+  [0x7316] = "\x8b\xd1", [0x7318] = "\x95\x64", [0x731b] = "\x8e\xe0",
+  [0x731c] = "\x98\x42", [0x731e] = "\xe7\xfc", [0x731f] = "\x8d\xf6",
+  [0x7322] = "\x98\x5e", [0x7325] = "\xe8\x45", [0x732a] = "\xe8\x44",
+  [0x732b] = "\xe8\x46", [0x7334] = "\xe7\xfb", [0x733b] = "\x93\xe7",
+  [0x733d] = "\x93\x74", [0x7344] = "\x92\xd5", [0x7346] = "\xe8\x4b",
+  [0x734b] = "\x92\x62", [0x734c] = "\xe8\x47", [0x7350] = "\xe8\x48",
+  [0x735c] = "\x8c\x4c", [0x735e] = "\xe8\x4a", [0x7365] = "\x8c\xae",
+  [0x736c] = "\xe8\x49", [0x736e] = "\x8f\xdf", [0x737c] = "\x8a\x99",
+  [0x7384] = "\xe8\x4f", [0x7386] = "\x8d\xbd", [0x7387] = "\x91\x99",
+  [0x738a] = "\x92\xc8", [0x7397] = "\x8a\x5a", [0x739c] = "\xe8\x4d",
+  [0x739d] = "\xe8\x4e", [0x739e] = "\x92\xc1", [0x73a0] = "\xe8\x4c",
+  [0x73a9] = "\xe8\x50", [0x73b3] = "\xe8\x56", [0x73b8] = "\xe8\x59",
+  [0x73c0] = "\xe8\x58", [0x73c1] = "\x93\x4c", [0x73c6] = "\xe8\x51",
+  [0x73c7] = "\xe8\x52", [0x73c8] = "\xe8\x55", [0x73cd] = "\xe8\x57",
+  [0x73d1] = "\x8b\xbe", [0x73d4] = "\xe8\x5a", [0x73d5] = "\xe8\x54",
+  [0x73d8] = "\xe8\x53", [0x73f3] = "\xe8\x5e", [0x73f7] = "\xe8\x5f",
+  [0x7400] = "\xe8\x60", [0x7403] = "\xe8\x5d", [0x7404] = "\xe8\x5c",
+  [0x7408] = "\x8f\xe0", [0x7409] = "\x93\xa8", [0x740a] = "\xe8\x5b",
+  [0x7411] = "\xe8\x64", [0x741b] = "\xe8\x62", [0x7425] = "\xe8\x63",
+  [0x7426] = "\xe8\x61", [0x7428] = "\x91\xf6", [0x742a] = "\xe8\x65",
+  [0x7431] = "\xe8\x66", [0x7434] = "\xe8\x68", [0x7441] = "\x8a\xd3",
+  [0x7442] = "\xe8\x67", [0x7443] = "\x96\xf8", [0x744a] = "\xe8\x73",
+  [0x744b] = "\xe8\x69", [0x744e] = "\xe8\x6c", [0x7450] = "\xe8\x6a",
+  [0x7452] = "\xe8\x6b", [0x745a] = "\xe8\x6d", [0x7460] = "\xe8\x6f",
+  [0x7465] = "\xe8\x70", [0x7467] = "\xe8\x71", [0x746c] = "\xe8\x74",
+  [0x746d] = "\xe8\x72", [0x746e] = "\xe8\x75", [0x746f] = "\xe8\x77",
+  [0x7471] = "\xe8\x76", [0x7567] = "\x92\xb7", [0x7570] = "\x96\xe5",
+  [0x7572] = "\xe8\x78", [0x7573] = "\x91\x4d", [0x7577] = "\xe8\x79",
+  [0x7579] = "\x95\xc2", [0x757a] = "\xe8\x7a", [0x757b] = "\x8a\x4a",
+  [0x757f] = "\x89\x5b", [0x7581] = "\x8a\xd5", [0x7583] = "\x8a\xd4",
+  [0x7584] = "\xe8\x7b", [0x7586] = "\xe8\x7c", [0x7588] = "\xe8\x7d",
+  [0x7589] = "\xe8\x7e", [0x7590] = "\xe8\x80", [0x7592] = "\x8a\xd6",
+  [0x7593] = "\x8a\x74", [0x7594] = "\x8d\x7d", [0x7595] = "\x94\xb4",
+  [0x7597] = "\xe8\x82", [0x7598] = "\xe8\x81", [0x759d] = "\xe8\x83",
+  [0x75a2] = "\x89\x7b", [0x75a9] = "\xe8\x86", [0x75ab] = "\xe8\x85",
+  [0x75ac] = "\xe8\x84", [0x75ae] = "\xe8\x87", [0x75b3] = "\xe8\x8a",
+  [0x75b7] = "\x88\xc5", [0x75ba] = "\xe8\x88", [0x75bc] = "\xe8\x8c",
+  [0x75bd] = "\xe8\x8b", [0x75c4] = "\xe8\x8e", [0x75c5] = "\xe8\x8d",
+  [0x75c6] = "\xe8\x8f", [0x75c8] = "\x93\xac", [0x75cc] = "\xe8\x90",
+  [0x75d1] = "\xe8\x91", [0x75d2] = "\xe8\x93", [0x75d5] = "\xe8\x92",
+  [0x760c] = "\x95\x8c", [0x7611] = "\xe8\x94", [0x7618] = "\xe8\x95",
+  [0x761a] = "\x8d\xe3", [0x761e] = "\xe8\x96", [0x761f] = "\xe8\x97",
+  [0x7622] = "\x96\x68", [0x762b] = "\x91\x6a", [0x762f] = "\x88\xa2",
+  [0x7630] = "\x91\xc9", [0x7632] = "\xe8\x98", [0x7634] = "\x95\x8d",
+  [0x763b] = "\xe8\x9b", [0x763c] = "\xe8\x99", [0x763d] = "\x8d\x7e",
+  [0x763f] = "\xe8\x9a", [0x7640] = "\x8c\xc0", [0x764b] = "\x95\xc3",
+  [0x764c] = "\xe8\x9d", [0x764d] = "\xe8\x9f", [0x764e] = "\xe8\x9e",
+  [0x764f] = "\xe8\xa0", [0x7652] = "\x89\x40", [0x7653] = "\x90\x77",
+  [0x7654] = "\x8f\x9c", [0x7655] = "\x8a\xd7", [0x7656] = "\xe8\xa1",
+  [0x765a] = "\x94\x86", [0x765c] = "\xe8\xa3", [0x7660] = "\x89\x41",
+  [0x7662] = "\xe8\xa2", [0x7663] = "\x92\xc2", [0x7665] = "\x97\xcb",
+  [0x7666] = "\x93\xa9", [0x7667] = "\xe8\x9c", [0x7668] = "\x97\xa4",
+  [0x766a] = "\x8c\xaf", [0x766d] = "\x97\x7a", [0x7675] = "\x8b\xf7",
+  [0x7676] = "\x97\xb2", [0x7678] = "\x8c\x47", [0x767a] = "\x91\xe0",
+  [0x767b] = "\xe4\x40", [0x767d] = "\xe8\xa4", [0x767e] = "\x8a\x4b",
+  [0x767f] = "\x90\x8f", [0x7684] = "\x8a\x75", [0x7685] = "\xe8\xa6",
+  [0x7687] = "\xe8\xa7", [0x7688] = "\xe8\xa5", [0x7689] = "\x8c\x84",
+  [0x768b] = "\x8d\xdb", [0x768c] = "\x8f\xe1", [0x7690] = "\x89\x42",
+  [0x7693] = "\x97\xd7", [0x7697] = "\xe8\xa9", [0x7698] = "\xe7\xac",
+  [0x769a] = "\xe8\xa8", [0x76a0] = "\xe8\xac", [0x76a1] = "\xe8\xaa",
+  [0x76a2] = "\xe8\xab", [0x76a4] = "\xe8\xad", [0x76a6] = "\xe8\xae",
+  [0x76a7] = "\x97\xea", [0x76a8] = "\xe8\xaf", [0x76a9] = "\xe8\xb0",
+  [0x76ab] = "\x90\xc7", [0x76ac] = "\x94\xb9", [0x76b0] = "\x90\x9d",
+  [0x76b1] = "\x8a\xe5", [0x76b4] = "\x97\x59", [0x76b5] = "\x89\xeb",
+  [0x76b6] = "\x8f\x57", [0x76b7] = "\x8c\xd9", [0x76b9] = "\xe8\xb3",
+  [0x76bb] = "\xe8\xb2", [0x76bc] = "\x8e\x93", [0x76bd] = "\xe8\xb4",
+  [0x76be] = "\xe8\xb1", [0x76c1] = "\x8e\x47", [0x76c5] = "\xe8\xb8",
+  [0x76c6] = "\xe5\xab", [0x76c9] = "\x99\xd4", [0x76cb] = "\x90\x97",
+  [0x76cc] = "\xe8\xb6", [0x76d2] = "\x97\xa3", [0x76d3] = "\x93\xef",
+  [0x76d8] = "\x89\x4a", [0x76da] = "\x90\xe1", [0x76db] = "\x8e\xb4",
+  [0x76e0] = "\x95\xb5", [0x76e2] = "\x89\x5f", [0x76e6] = "\x97\xeb",
+  [0x76e7] = "\x97\x8b", [0x76e9] = "\xe8\xb9", [0x76eb] = "\x93\x64",
+  [0x76f0] = "\x8e\xf9", [0x76f4] = "\xe8\xba", [0x76f6] = "\xe8\xbb",
+  [0x76f7] = "\x90\x6b", [0x76f8] = "\xe8\xbc", [0x76fa] = "\x97\xec",
+  [0x76fd] = "\xe8\xb7", [0x76fe] = "\xe8\xbe", [0x76ff] = "\xe8\xc0",
+  [0x7701] = "\xe8\xbf", [0x7703] = "\xe8\xbd", [0x7706] = "\xe8\xc1",
+  [0x7709] = "\xe8\xc2", [0x770c] = "\x91\x9a", [0x770e] = "\x89\xe0",
+  [0x7714] = "\xe8\xc3", [0x7717] = "\x96\xb6", [0x771a] = "\xe8\xc4",
+  [0x7720] = "\xe8\xc5", [0x7722] = "\x98\x49", [0x7728] = "\x9e\x50",
+  [0x7729] = "\xe8\xc6", [0x772d] = "\xe8\xc7", [0x772e] = "\xe8\xc8",
+  [0x7732] = "\xe8\xcc", [0x7734] = "\xe8\xc9", [0x7736] = "\xe8\xca",
+  [0x7738] = "\xe8\xcb", [0x7739] = "\xe8\xcd", [0x7742] = "\x90\xc2",
+  [0x7746] = "\x96\xf5", [0x7749] = "\x90\xc3", [0x774c] = "\xe8\xce",
+  [0x774e] = "\x94\xf1", [0x7750] = "\xe8\xcf", [0x7751] = "\xea\x72",
+  [0x7752] = "\x96\xca", [0x7754] = "\xe8\xd0", [0x7756] = "\xe8\xd1",
+  [0x7758] = "\xe8\xd2", [0x7759] = "\x8a\x76", [0x775b] = "\xe8\xd4",
+  [0x775d] = "\x90\x78", [0x7761] = "\xe8\xd5", [0x7764] = "\x8c\x43",
+  [0x7769] = "\xe8\xd6", [0x776a] = "\xe8\xda", [0x776c] = "\xe8\xd8",
+  [0x7771] = "\xe8\xd9", [0x7774] = "\x8a\x93", [0x7775] = "\xe8\xd7",
+  [0x7776] = "\xe8\xdb", [0x777b] = "\xe8\xdc", [0x777d] = "\x88\xc6",
+  [0x777f] = "\xe8\xdd", [0x7780] = "\xe8\xde", [0x7788] = "\x8f\xe2",
+  [0x778c] = "\xe8\xdf", [0x7790] = "\x8b\x66", [0x7793] = "\xe8\xe2",
+  [0x7796] = "\xe8\xe1", [0x7798] = "\xe8\xe0", [0x779b] = "\xe6\x91",
+  [0x779d] = "\x95\xda", [0x77a3] = "\xe8\xe3", [0x77a4] = "\xe8\xe4",
+  [0x77b3] = "\xe8\xe5", [0x77b6] = "\xe8\xe6", [0x77b8] = "\xe8\xe7",
+  [0x77bb] = "\xe8\xe8", [0x77c3] = "\x8a\xd8", [0x77cc] = "\xe8\xe9",
+  [0x77dd] = "\xe8\xea", [0x77de] = "\x94\x42", [0x77e2] = "\xe8\xec",
+  [0x77e3] = "\x89\xb9", [0x77e5] = "\xe8\xef", [0x77e6] = "\xe8\xee",
+  [0x77eb] = "\x89\x43", [0x77ef] = "\x8b\xbf", [0x77f1] = "\x95\xc5",
+  [0x77f2] = "\x92\xb8", [0x77f3] = "\x8d\xa0", [0x77f5] = "\x8d\x80",
+  [0x77f6] = "\x8f\x87", [0x77f8] = "\x90\x7b", [0x77fc] = "\xe8\xf1",
+  [0x77ff] = "\xe8\xf0", [0x7800] = "\x97\x61", [0x7801] = "\x8a\xe6",
+  [0x7802] = "\x94\xd0", [0x7803] = "\x93\xda", [0x7807] = "\x90\x9c",
+  [0x7808] = "\x97\xcc", [0x780a] = "\x8c\x7a", [0x7811] = "\xe8\xf4",
+  [0x7814] = "\xe8\xf3", [0x781c] = "\x96\x6a", [0x781d] = "\x93\xaa",
+  [0x7824] = "\x89\x6f", [0x7827] = "\xe8\xf5", [0x7828] = "\xe8\xf2",
+  [0x782b] = "\x95\x70", [0x782c] = "\x97\x8a", [0x782d] = "\xe8\xf6",
+  [0x7836] = "\xe8\xf7", [0x783b] = "\xe8\xf9", [0x783c] = "\x91\xe8",
+  [0x783d] = "\x8a\x7a", [0x783e] = "\x8a\x7b", [0x783f] = "\xe8\xf8",
+  [0x7844] = "\x8a\xe7", [0x7845] = "\x8c\xb0", [0x7848] = "\x8a\xe8",
+  [0x784b] = "\x93\x5e", [0x784e] = "\x97\xde", [0x7857] = "\x8c\xda",
+  [0x785b] = "\xe8\xfa", [0x785f] = "\xe8\xfb", [0x7860] = "\xe8\xfc",
+  [0x7861] = "\xe9\x40", [0x7863] = "\xe9\x42", [0x7864] = "\xe9\x41",
+  [0x7898] = "\x95\x97", [0x789a] = "\xe9\x43", [0x789f] = "\xe9\x44",
+  [0x78a1] = "\xe9\x45", [0x78a6] = "\xe9\x46", [0x78b3] = "\xe9\x48",
+  [0x78b4] = "\xe9\x47", [0x78b6] = "\xe9\x49", [0x78cb] = "\x94\xf2",
+  [0x78cc] = "\xe3\xca", [0x78cf] = "\x90\x48", [0x78d2] = "\x8b\x51",
+  [0x78d9] = "\xe9\x4a", [0x78db] = "\xe9\x4b", [0x78dd] = "\x99\xaa",
+  [0x78de] = "\x9f\x5a", [0x78df] = "\x94\xd1", [0x78e2] = "\x88\xf9",
+  [0x78e4] = "\x88\xb9", [0x78ec] = "\x8e\x94", [0x78ed] = "\x96\x4f",
+  [0x78ee] = "\x8f\xfc", [0x78f3] = "\xe9\x4c", [0x78f5] = "\x96\xdd",
+  [0x78f9] = "\xe9\x4d", [0x78fa] = "\x97\x7b", [0x78fc] = "\x89\x61",
+  [0x7900] = "\x8e\x60", [0x7902] = "\xe9\x4e", [0x7903] = "\x89\xec",
+  [0x7904] = "\xe9\x4f", [0x7908] = "\xe9\x50", [0x790d] = "\xe9\x52",
+  [0x790e] = "\xe9\x53", [0x7910] = "\xe9\x55", [0x7911] = "\xe9\x51",
+  [0x7914] = "\xe9\x54", [0x7918] = "\x8a\xd9", [0x791c] = "\xe9\x56",
+  [0x791e] = "\xe9\x57", [0x792d] = "\xe9\x58", [0x792e] = "\xe9\x59",
+  [0x7932] = "\xe9\x5a", [0x7935] = "\xe9\x5c", [0x7939] = "\xe9\x5b",
+  [0x793b] = "\xe9\x5e", [0x793c] = "\xe9\x61", [0x7940] = "\xe9\x5d",
+  [0x7941] = "\xe9\x5f", [0x7942] = "\xe9\x60", [0x7945] = "\xe9\x62",
+  [0x7947] = "\x8b\xc0", [0x7986] = "\x8e\xf1", [0x7987] = "\xe9\x63",
+  [0x7988] = "\xe9\x64", [0x7989] = "\x8d\x81", [0x7995] = "\xe9\x65",
+  [0x7998] = "\x8a\x5d", [0x799c] = "\x94\x6e", [0x799d] = "\xe9\x66",
+  [0x799e] = "\xe9\x67", [0x79a3] = "\x92\x79", [0x79a4] = "\x93\xe9",
+  [0x79ac] = "\xe9\x68", [0x79b1] = "\x94\x9d", [0x79b4] = "\x91\xca",
+  [0x79b5] = "\x89\x77", [0x79b6] = "\x8b\xec", [0x79b8] = "\x8b\xed",
+  [0x79c0] = "\x92\x93", [0x79c1] = "\xe9\x6d", [0x79c2] = "\x8b\xee",
+  [0x79c5] = "\x89\xed", [0x79c8] = "\xe9\x6c", [0x79cb] = "\xe9\x6a",
+  [0x79cd] = "\xe9\x6b", [0x79cf] = "\xe9\x69", [0x79d2] = "\xe9\x77",
+  [0x79dd] = "\xe9\x6e", [0x79de] = "\xe9\x6f", [0x79e1] = "\xe9\x70",
+  [0x79e2] = "\xe9\x71", [0x79e8] = "\xe9\x73", [0x79eb] = "\xe9\x72",
+  [0x79ef] = "\x8f\x78", [0x79f1] = "\xe9\x74", [0x79f5] = "\xe9\x76",
+  [0x79fe] = "\x8b\x52", [0x79ff] = "\xe9\x75", [0x7a02] = "\x91\x9b",
+  [0x7a03] = "\x8c\xb1", [0x7a09] = "\xe9\x78", [0x7a18] = "\x91\xcb",
+  [0x7a1b] = "\xe9\x79", [0x7a20] = "\x93\xab", [0x7a27] = "\xe9\x7a",
+  [0x7a2e] = "\xe9\x80", [0x7a30] = "\xe9\x7d", [0x7a32] = "\xe9\x7c",
+  [0x7a33] = "\xe9\x7e", [0x7a35] = "\xe9\x7b", [0x7a3d] = "\xe9\x82",
+  [0x7a45] = "\xe9\x81", [0x7a47] = "\xe9\x84", [0x7a4a] = "\x8b\xc1",
+  [0x7a4b] = "\xe9\x83", [0x7a4f] = "\xe9\x85", [0x7a52] = "\xe9\x86",
+  [0x7a54] = "\xe9\x88", [0x7a55] = "\xe9\x87", [0x7a59] = "\xe9\x89",
+  [0x7a5a] = "\xe9\x8b", [0x7a5b] = "\xe9\x8a", [0x7a98] = "\x8d\x9c",
+  [0x7a9d] = "\xe9\x8c", [0x7aa0] = "\xe9\x8d", [0x7aa8] = "\x8a\x5b",
+  [0x7aac] = "\xe9\x8e", [0x7ab0] = "\xe9\x8f", [0x7ab4] = "\x90\x91",
+  [0x7abf] = "\xe9\x90", [0x7ac1] = "\xe9\x91", [0x7ac3] = "\xe9\x92",
+  [0x7ac4] = "\xe9\x93", [0x7ac8] = "\x8d\x82", [0x7ace] = "\xe9\x94",
+  [0x7acf] = "\xe9\x95", [0x7ad2] = "\xe9\x96", [0x7ad3] = "\xe9\x97",
+  [0x7ad6] = "\xe9\x98", [0x7ada] = "\x94\xaf", [0x7adb] = "\xe9\x9a",
+  [0x7add] = "\x95\x45", [0x7ade] = "\xe9\x9b", [0x7adf] = "\xe9\x99",
+  [0x7ae1] = "\xe9\x9d", [0x7ae4] = "\xe9\x9c", [0x7ae7] = "\xe9\x9e",
+  [0x7aeb] = "\xe9\x9f", [0x7af6] = "\xe9\xa0", [0x7b08] = "\xe9\xa1",
+  [0x7b0a] = "\xe9\xa2", [0x7b0f] = "\xe9\xa3", [0x7b12] = "\xe9\xa4",
+  [0x7b13] = "\xe9\xa5", [0x7b15] = "\xe9\xa6", [0x7b17] = "\xe9\xa7",
+  [0x7b18] = "\xe9\xa8", [0x7b19] = "\xe9\xa9", [0x7b1a] = "\xe9\xaa",
+  [0x7b1e] = "\xe9\xab", [0x7b1f] = "\xe9\xac", [0x7b21] = "\x9f\x54",
+  [0x7b22] = "\xe9\xad", [0x7b2b] = "\xe2\xf6", [0x7b2c] = "\x8b\x53",
+  [0x7b31] = "\x8a\x40", [0x7b32] = "\x8d\xb0", [0x7b33] = "\xe9\xaf",
+  [0x7b34] = "\xe9\xae", [0x7b35] = "\x96\xa3", [0x7b3d] = "\xe9\xb1",
+  [0x7b3e] = "\xe9\xb2", [0x7b3f] = "\xe9\xb0", [0x7b41] = "\xe9\xb3",
+  [0x7b44] = "\x96\x82", [0x7b48] = "\xe9\xb4", [0x7b4a] = "\x8b\x9b",
+  [0x7b5f] = "\x98\x44", [0x7b64] = "\xe9\xb5", [0x7b73] = "\xe9\xb7",
+  [0x7b7e] = "\x88\xbc", [0x7b81] = "\xe9\xb8", [0x7b82] = "\x95\xa9",
+  [0x7b83] = "\xe9\xb6", [0x7b86] = "\xe9\xb9", [0x7b87] = "\xe9\xba",
+  [0x7b8f] = "\xe9\xbb", [0x7b90] = "\xe9\xbc", [0x7b98] = "\xe9\xbd",
+  [0x7b9a] = "\x96\x8e", [0x7b9b] = "\x8e\x4c", [0x7b9d] = "\x8d\xf8",
+  [0x7b9e] = "\x91\x4e", [0x7ba4] = "\xe9\xbe", [0x7ba9] = "\xe9\xc1",
+  [0x7bb0] = "\xe9\xbf", [0x7bb6] = "\xe9\xc2", [0x7bb9] = "\x8c\xef",
+  [0x7bba] = "\xe9\xc0", [0x7bbf] = "\xe9\xc3", [0x7bc1] = "\xe9\xc4",
+  [0x7bc2] = "\xe9\xc5", [0x7bc4] = "\xe9\xc9", [0x7bc6] = "\x8e\x49",
+  [0x7bcb] = "\x91\xe2", [0x7bd1] = "\xe9\xca", [0x7bd2] = "\xe9\xc7",
+  [0x7bd3] = "\xe9\xc6", [0x7bd4] = "\xe9\xc8", [0x7bd8] = "\x8c\x7e",
+  [0x7be0] = "\xe9\xce", [0x7be1] = "\xe9\xcd", [0x7be2] = "\xe9\xcc",
+  [0x7be5] = "\x88\xb1", [0x7bf4] = "\xe9\xd8", [0x7bf6] = "\xe9\xd4",
+  [0x7bf8] = "\xe9\xd5", [0x7bf9] = "\xe9\xd1", [0x7bfa] = "\xe9\xd7",
+  [0x7bfc] = "\xe9\xd3", [0x7bfd] = "\x8a\x82", [0x7c00] = "\x98\x6b",
+  [0x7c02] = "\xe9\xd6", [0x7c03] = "\xe9\xd2", [0x7c04] = "\xe9\xd0",
+  [0x7c05] = "\xe9\xcf", [0x7c0b] = "\xe9\xda", [0x7c11] = "\xe9\xdd",
+  [0x7c14] = "\xe9\xdc", [0x7c15] = "\xe9\xdb", [0x7c1d] = "\x95\x68",
+  [0x7c1e] = "\xe9\xd9", [0x7c1f] = "\x88\xf1", [0x7c20] = "\xe9\xde",
+  [0x7c22] = "\xe9\xe0", [0x7c29] = "\x8a\x8f", [0x7c2a] = "\xe9\xcb",
+  [0x7c2b] = "\x89\x56", [0x7c2e] = "\xe9\xe2", [0x7c36] = "\xe9\xe1",
+  [0x7c37] = "\xe9\xdf", [0x7c38] = "\x92\x4c", [0x7c42] = "\x96\x90",
+  [0x7c47] = "\x97\xd8", [0x7c4a] = "\xe9\xe3", [0x7c50] = "\xe9\xe4",
+  [0x7c57] = "\xe9\xe5", [0x7c66] = "\xe9\xe6", [0x7c68] = "\xe9\xe7",
+  [0x7cd5] = "\x92\xb9", [0x7cd7] = "\xe9\xe8", [0x7cd9] = "\x94\xb5",
+  [0x7cdb] = "\xe9\xed", [0x7cdc] = "\xe9\xe9", [0x7ce0] = "\xe9\xea",
+  [0x7ce3] = "\x96\x50", [0x7ce4] = "\x96\xc2", [0x7ce6] = "\x93\xce",
+  [0x7cf3] = "\xe9\xee", [0x7cf6] = "\xe9\xef", [0x7cf7] = "\x93\xbc",
+  [0x7cf8] = "\xe9\xec", [0x7cf9] = "\xe9\xeb", [0x7cfe] = "\x89\xa8",
+  [0x7d02] = "\xe9\xf7", [0x7d05] = "\xe9\xf6", [0x7d0b] = "\x89\x95",
+  [0x7d0f] = "\xe9\xf4", [0x7d13] = "\xe9\xf3", [0x7d16] = "\xe9\xf1",
+  [0x7d18] = "\x8a\x9b", [0x7d1a] = "\xe9\xf0", [0x7d1b] = "\x8e\xb0",
+  [0x7d1c] = "\x89\xa7", [0x7d2b] = "\x8d\x83", [0x7d2e] = "\xe9\xfa",
+  [0x7d2f] = "\xe9\xf9", [0x7d31] = "\xe9\xf8", [0x7d34] = "\xe9\xf5",
+  [0x7d36] = "\xe9\xfb", [0x7d38] = "\xe9\xfc", [0x7d40] = "\xea\x44",
+  [0x7d41] = "\xea\x43", [0x7d49] = "\xea\x45", [0x7d4c] = "\x89\x4c",
+  [0x7d4d] = "\xea\x40", [0x7d4e] = "\xea\x41", [0x7d50] = "\x8d\x94",
+  [0x7d51] = "\x96\xb7", [0x7d54] = "\xea\x42", [0x7d5c] = "\x96\x51",
+  [0x7d5f] = "\xea\x4a", [0x7d62] = "\xea\x46", [0x7d6a] = "\xea\x4b",
+  [0x7d77] = "\xea\x48", [0x7d79] = "\xea\x47", [0x7d7f] = "\x8c\x7b",
+  [0x7d8a] = "\xea\x4c", [0x7d94] = "\xea\x4d", [0x7d99] = "\xea\x4e",
+  [0x7d9b] = "\xea\x49", [0x7d9f] = "\xe9\xf2", [0x7da2] = "\xea\x4f",
+  [0x7da4] = "\x92\xdf", [0x7da8] = "\xea\x53", [0x7daa] = "\xea\x54",
+  [0x7dab] = "\xea\x52", [0x7db1] = "\xea\x51", [0x7db2] = "\xea\x57",
+  [0x7db4] = "\xea\x50", [0x7db6] = "\xea\x55", [0x7dbf] = "\xea\x56",
+  [0x7dc3] = "\xea\x59", [0x7dc9] = "\xea\x58", [0x7dd6] = "\xea\x5b",
+  [0x7ddd] = "\xea\x5c", [0x7ddf] = "\xea\x5d", [0x7de2] = "\x98\x68",
+  [0x7de8] = "\xea\x5a", [0x7de9] = "\x91\xe9", [0x7dea] = "\x8d\xeb",
+  [0x7ded] = "\xea\x5e", [0x7e0a] = "\xea\x5f", [0x7e0b] = "\xea\x60",
+  [0x7e0e] = "\xea\x61", [0x7e65] = "\xea\x62", [0x7e68] = "\x8c\xb2",
+  [0x7e69] = "\xea\x63", [0x7e6d] = "\xea\x64", [0x7e6f] = "\x8e\xad",
+  [0x7e71] = "\xea\x65", [0x7e78] = "\xea\x66", [0x7e7b] = "\xea\x67",
+  [0x7e7c] = "\xea\x68", [0x7e81] = "\xea\x6b", [0x7e82] = "\xea\x69",
+  [0x7e83] = "\x98\x5b", [0x7e85] = "\xea\x6a", [0x7e87] = "\x97\xed",
+  [0x7e8d] = "\xea\x6c", [0x7e8f] = "\x97\xd9", [0x7e95] = "\xea\x6d",
+  [0x7e96] = "\x94\x9e", [0x7e99] = "\xea\x6e", [0x7e9a] = "\xea\x70",
+  [0x7e9d] = "\xea\x71", [0x7ea8] = "\xea\x6f", [0x7ea9] = "\x8d\x8d",
+  [0x7eaa] = "\x96\xcb", [0x7eab] = "\x96\x83", [0x7eac] = "\x9b\xf5",
+  [0x7eae] = "\x9f\x80", [0x7eaf] = "\x96\x9b", [0x7eb4] = "\x89\xa9",
+  [0x7ebc] = "\xea\x73", [0x7ebd] = "\x8b\x6f", [0x7ebe] = "\xea\x74",
+  [0x7ebf] = "\xea\x75", [0x7ec0] = "\xea\x76", [0x7ec2] = "\x8d\x95",
+  [0x7ec4] = "\xea\x77", [0x7ec8] = "\xe0\xd2", [0x7ec9] = "\x96\xd9",
+  [0x7ecb] = "\x91\xe1", [0x7ecc] = "\xea\x78", [0x7ecd] = "\xea\x7a",
+  [0x7ece] = "\xea\x79", [0x7ed0] = "\xea\x7b", [0x7ed5] = "\xea\x7c",
+  [0x7ed8] = "\xea\x7d", [0x7edf] = "\xea\x7e", [0x7ee4] = "\xea\x80",
+  [0x7ee6] = "\xea\x81", [0x7ee7] = "\xea\x82", [0x7ee9] = "\xea\x83",
+  [0x7eeb] = "\xea\x84", [0x7eec] = "\xea\x85", [0x7eed] = "\xea\x86",
+  [0x7ef7] = "\xea\x87", [0x7ef8] = "\xea\x88", [0x7efe] = "\x93\x43",
+  [0x7f03] = "\x8c\xdb", [0x7f05] = "\xea\x8a", [0x7f10] = "\x91\x6c",
+  [0x7f11] = "\xea\x8b", [0x7f1c] = "\xea\x8c", [0x7f2b] = "\x95\x40",
+  [0x7f2e] = "\xea\x8d", [0x7f3a] = "\xea\x8e", [0x7f3b] = "\xe2\x56",
+  [0x7f3e] = "\xe6\xd8", [0x7f3f] = "\xe8\xeb", [0x7f42] = "\xea\x8f",
+  [0x7f44] = "\xea\x90", [0x7f4f] = "\xea\x92", [0x7f50] = "\xea\x93",
+  [0x7f51] = "\xea\x94", [0x7f52] = "\x97\xee", [0x7f53] = "\xea\x91",
+  [0x7f56] = "\xea\x95", [0x7f57] = "\xea\x96", [0x7f5a] = "\xea\x98",
+  [0x7f5c] = "\xea\x97", [0x7f62] = "\xea\x9a", [0x7f66] = "\xea\x9b",
+  [0x7f67] = "\xea\x99", [0x7f7d] = "\x97\xb4", [0x7f85] = "\xea\x9c",
+  [0x7f8c] = "\xea\x9d", [0x7f8d] = "\xe2\x73", [0x7f90] = "\xea\x9e"
+};
+
+
+/* Direction of the transformation.  */
+enum direction
+{
+  illegal,
+  to_sjis,
+  from_sjis
+};
+
+struct sjis_data
+{
+  enum direction dir;
+};
+
+
+int
+gconv_init (struct gconv_step *step, struct gconv_step_data *data)
+{
+  /* Determine which direction.  */
+  struct sjis_data *new_data;
+  enum direction dir;
+  int result;
+
+  if (__strcasestr (step->from_name, "SJIS") != NULL)
+    dir = from_sjis;
+  else if (__strcasestr (step->to_name, "SJIS") != NULL)
+    dir = to_sjis;
+  else
+    dir = illegal;
+
+  result = GCONV_NOCONV;
+  if (dir != illegal
+      && ((new_data
+	   = (struct sjis_data *) malloc (sizeof (struct sjis_data)))
+	  != NULL))
+    {
+      new_data->dir = dir;
+      data->data = new_data;
+      result = GCONV_OK;
+    }
+
+  return result;
+}
+
+
+void
+gconv_end (struct gconv_step_data *data)
+{
+  free (data->data);
+}
+
+
+int
+gconv (struct gconv_step *step, struct gconv_step_data *data,
+       const char *inbuf, size_t *inbufsize, size_t *written, int do_flush)
+{
+  struct gconv_step *next_step = step + 1;
+  struct gconv_step_data *next_data = data + 1;
+  gconv_fct fct = next_step->fct;
+  size_t do_write;
+  int result;
+
+  /* If the function is called with no input this means we have to reset
+     to the initial state.  The possibly partly converted input is
+     dropped.  */
+  if (do_flush)
+    {
+      do_write = 0;
+
+      /* Call the steps down the chain if there are any.  */
+      if (data->is_last)
+	result = GCONV_OK;
+      else
+	{
+	  struct gconv_step *next_step = step + 1;
+	  struct gconv_step_data *next_data = data + 1;
+
+	  result = (*fct) (next_step, next_data, NULL, 0, written, 1);
+
+	  /* Clear output buffer.  */
+	  data->outbufavail = 0;
+	}
+    }
+  else
+    {
+      enum direction dir = ((struct sjis_data *) data->data)->dir;
+
+      do_write = 0;
+
+      do
+	{
+	  result = GCONV_OK;
+
+	  if (dir == from_sjis)
+	    {
+	      size_t inchars = *inbufsize;
+	      size_t outwchars = data->outbufavail;
+	      char *outbuf = data->outbuf;
+	      size_t cnt = 0;
+
+	      while (cnt < inchars
+		     && (outwchars + sizeof (wchar_t) <= data->outbufsize))
+		{
+		  int inchar = inbuf[cnt];
+		  wchar_t ch;
+
+		  if (inchar == 0x5c)
+		    ch = L'\xa5';
+		  else if (inchar == 0x7e)
+		    ch = 0x203e;
+		  else if (inchar < 0x7e)
+		    ch = (wchar_t) inchar;
+		  else if (inchar >= 0xa1 && inchar <= 0xdf)
+		    ch = halfkana_to_ucs4[inchar - 0xa1];
+		  else if (inchar > 0xea || inchar == 0xa0 || inchar == 0x7f
+			   || inchar == 0x80)
+		    /* These are illegal.  */
+		    ch = L'\0';
+		  else
+		    {
+		      /* Two-byte character.  First test whether the next
+			 character is also available.  */
+		      int inchar2;
+		      int idx;
+
+		      if (cnt + 1 >= inchars)
+			{
+			  /* The second character is not available.  Store
+			     the intermediate result.  */
+			  result = GCONV_INCOMPLETE_INPUT;
+			  break;
+			}
+
+		      inchar2 = inbuf[++cnt];
+		      idx = inchar * 256 + inchar2;
+		      if (idx < 0x8140 || (idx > 0x84be && idx < 0x889f)
+			  || (idx > 0x89fc && idx < 0x9040)
+			  || (idx > 0x9ffc && idx < 0xe040) || idx > 0xeaa4)
+			/* This is illegal.  */
+			ch = L'\0';
+		      else
+			{
+			  /* We could pack the data a bit more dense.
+			     The second byte will never be 0x7f and it
+			     will also be never >0xfc.  But this would
+			     mean yet more `if's.  */
+			  if (idx <= 0x84be)
+			    ch = cjk_block1[(inchar - 0x81) * 192
+					   + inchar2 - 0x40];
+			  else if (idx <= 0x89fc)
+			    ch = cjk_block2[(inchar - 0x88) * 192
+					   + inchar2 - 0x9f];
+			  else if (idx <= 0x9ffc)
+			    ch = cjk_block3[(inchar - 0x90) * 192
+					   + inchar2 - 0x40];
+			  else
+			    ch = cjk_block4[(inchar - 0xe0) * 192
+					   + inchar2 - 0x40];
+			}
+
+		      if (ch == L'\0')
+			--cnt;
+		    }
+
+		  if (ch == L'\0' && inbuf[cnt] != '\0')
+		    {
+		      /* This is an illegal character.  */
+		      result = GCONV_ILLEGAL_INPUT;
+		      break;
+		    }
+
+		  *((wchar_t *) (outbuf + outwchars)) = ch;
+		  ++do_write;
+		  outwchars += sizeof (wchar_t);
+		  ++cnt;
+		}
+	      *inbufsize -= cnt;
+	      data->outbufavail = outwchars;
+	    }
+	  else
+	    {
+	      size_t inwchars = *inbufsize;
+	      size_t outchars = data->outbufavail;
+	      char *outbuf = data->outbuf;
+	      size_t cnt = 0;
+	      int extra = 0;
+
+	      while (inwchars >= cnt + sizeof (wchar_t)
+		     && outchars < data->outbufsize)
+		{
+		  int ch = *((wchar_t *) (inbuf + cnt));
+		  const char *cp;
+
+		  if (ch >= (sizeof (from_ucs4_lat1)
+			     / sizeof (from_ucs4_lat1[0])))
+		    {
+		      if (ch >= 0x0391 && ch <= 0x0451)
+			cp = from_ucs4_greek[ch - 0x391];
+		      else if (ch >= 0x2010 && ch <= 0x9fa0)
+			cp = from_ucs4_cjk[ch - 0x02010];
+		      else
+			/* Illegal character.  */
+			break;
+		    }
+		  else
+		    cp = from_ucs4_lat1[ch];
+
+		  if (cp[0] == '\0' && ch != 0)
+		    /* Illegal character.  */
+		    break;
+
+		  outbuf[outchars] = cp[0];
+		  /* Now test for a possible second byte and write this
+		     if possible.  */
+		  if (cp[1] != '\0')
+		    {
+		      if (outchars + 1 >= data->outbufsize)
+			{
+			  /* The result does not fit into the buffer.  */
+			  extra = 1;
+			  break;
+			}
+		      outbuf[++outchars] = cp[1];
+		    }
+
+		  ++do_write;
+		  ++outchars;
+		  cnt += sizeof (wchar_t);
+		}
+	      *inbufsize -= cnt;
+	      data->outbufavail = outchars;
+
+	      if (outchars + extra < data->outbufsize)
+		{
+		  /* If there is still room in the output buffer something
+		     is wrong with the input.  */
+		  if (inwchars >= cnt + sizeof (wchar_t))
+		    {
+		      /* An error occurred.  */
+		      result = GCONV_ILLEGAL_INPUT;
+		      break;
+		    }
+		  if (inwchars != cnt)
+		    {
+		      /* There are some unprocessed bytes at the end of the
+			 input buffer.  */
+		      result = GCONV_INCOMPLETE_INPUT;
+		      break;
+		    }
+		}
+	    }
+
+	  if (result != GCONV_OK)
+	    break;
+
+	  if (data->is_last)
+	    {
+	      /* This is the last step.  */
+	      result = (*inbufsize > (dir == from_sjis
+				      ? 0 : sizeof (wchar_t) - 1)
+			? GCONV_FULL_OUTPUT : GCONV_EMPTY_INPUT);
+	      break;
+	    }
+
+	  /* Status so far.  */
+	  result = GCONV_EMPTY_INPUT;
+
+	  if (data->outbufavail > 0)
+	    {
+	      /* Call the functions below in the chain.  */
+	      size_t newavail = data->outbufavail;
+
+	      result = (*fct) (next_step, next_data, data->outbuf, &newavail,
+			       written, 0);
+
+	      /* Correct the output buffer.  */
+	      if (newavail != data->outbufavail && newavail > 0)
+		{
+		  memmove (data->outbuf,
+			   &data->outbuf[data->outbufavail - newavail],
+			   newavail);
+		  data->outbufavail = newavail;
+		}
+	    }
+	}
+      while (*inbufsize > 0 && result == GCONV_EMPTY_INPUT);
+    }
+
+  if (written != NULL && data->is_last)
+    *written = do_write;
+
+  return result;
+}
diff --git a/iconvdata/t61.c b/iconvdata/t61.c
index 915b672d3e..c5bbc42a50 100644
--- a/iconvdata/t61.c
+++ b/iconvdata/t61.c
@@ -489,6 +489,10 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 			ch = L'\0';
 		      else
 			ch = to_ucs4_comb[inchar - 0xc1][inchar2 - 0x20];
+
+		      if (ch == L'\0')
+			/* Undo the increment for illegal characters.  */
+			--cnt;
 		    }
 		  else
 		    ch = to_ucs4[inchar];
diff --git a/libio/stdio.h b/libio/stdio.h
index 5ba8a30da6..99b61aae01 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -630,7 +630,7 @@ ferror_unlocked (FILE *__stream)
 /* Print a message describing the meaning of the value of errno.  */
 extern void perror __P ((__const char *__s));
 
-/* These variables normally should not be used directly.  The `strftime'
+/* These variables normally should not be used directly.  The `strerror'
    function provides all the needed functionality.  */
 #ifdef	__USE_BSD
 extern int sys_nerr;
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index 416615a1b9..27c83cc0a7 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -44,7 +44,7 @@
 #include "charmap-kw.h"
 
 
-void *xmalloc (size_t __n);
+extern void *xmalloc (size_t __n);
 
 /* Prototypes for local functions.  */
 static struct charset_t *parse_charmap (const char *filename);
@@ -63,18 +63,23 @@ charmap_read (const char *filename)
     {
       if (euidaccess (filename, R_OK) >= 0)
 	pathnfile = filename;
-      else
+      else if (filename[0] != '/')
 	{
 	  char *cp = xmalloc (strlen (filename) + sizeof CHARMAP_PATH + 1);
 	  stpcpy (stpcpy (stpcpy (cp, CHARMAP_PATH), "/"), filename);
 
 	  pathnfile = (const char *) cp;
 	}
+      else
+	pathnfile = NULL;
 
-      result = parse_charmap (pathnfile);
+      if (pathnfile != NULL)
+	{
+	  result = parse_charmap (pathnfile);
 
-      if (result == NULL && !be_quiet)
-	error (0, errno, _("character map file `%s' not found"), filename);
+	  if (result == NULL && !be_quiet)
+	    error (0, errno, _("character map file `%s' not found"), filename);
+	}
     }
 
   if (result == NULL)
@@ -111,31 +116,40 @@ charmap_read (const char *filename)
 		      {
 			char junk[BUFSIZ];
 
-			if (fscanf (fp, " <code_set_name> %as", &name) == 1)
-			  break;
+			if (fscanf (fp, " <code_set_name> %as", &name) == 1
+			    || fscanf (fp, "%% alias %as", &name) == 1)
+			  {
+			    if (strcasecmp (name, filename) == 0)
+			      break;
+
+			    free (name);
+			    name = NULL;
+			  }
+
+			if (fgets (junk, sizeof junk, fp) != NULL)
+			  {
+			    if (strstr (junk, "CHARMAP") != NULL)
+			      /* We cannot expect more aliases from now on.  */
+			      break;
 
-			while (fgets (junk, sizeof junk, fp) != NULL
-			       && strchr (junk, '\n') == NULL)
-			  continue;
+			    while (strchr (junk, '\n') == NULL
+				   && fgets (junk, sizeof junk, fp) != NULL)
+			      continue;
+			  }
 		      }
 
 		    fclose (fp);
 
 		    if (name != NULL)
 		      {
-			if (strcmp (name, filename) == 0)
-			  {
-			    result = parse_charmap (buf);
-
-			    free (buf);
+			result = parse_charmap (buf);
 
-			    if (result)
-			      return result;
+			free (buf);
 
-			    break;
-			  }
+			if (result)
+			  return result;
 
-			free (name);
+			break;
 		      }
 		  }
 	      }
diff --git a/manual/Makefile b/manual/Makefile
index 3546841118..34f894e49e 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -27,9 +27,13 @@ GAWK = gawk
 INSTALL_INFO = install-info
 
 .PHONY: all dvi info
-all: dvi info
+all: dvi
 dvi: libc.dvi
+
+ifneq ($(strip $(MAKEINFO)),)
+all: info
 info: libc.info dir-add.info
+endif
 
 # Get glibc's configuration info.
 ifneq (,$(wildcard ../Makeconfig))
diff --git a/math/libm-test.c b/math/libm-test.c
index b7f265c038..a4b31a6929 100644
--- a/math/libm-test.c
+++ b/math/libm-test.c
@@ -53,11 +53,11 @@
    scalb, scalbn, signbit, sin, sincos, sinh, sqrt, tan, tanh, trunc
 
    and for the following complex math functions:
-   cacos, cacosh, casin, casinh, catan, catanh,
-   ccos, ccosh, cexp, clog, cpow, csin, csinh, csqrt, ctanh.
+   cabs, cacos, cacosh, carg, casin, casinh, catan, catanh,
+   ccos, ccosh, cexp, clog, cpow, csin, csinh, csqrt, ctan, ctanh.
 
    At the moment the following functions aren't tested:
-   cabs, carg, conj, cproj, cimag, creal, ctan, drem,
+   conj, cproj, cimag, creal, drem,
    j0, j1, jn, y0, y1, yn,
    significand,
    nan, comparison macros (isless,isgreater,...).
@@ -4044,6 +4044,145 @@ catanh_test (void)
 
 
 static void
+ctan_test (void)
+{
+  __complex__ MATHTYPE result;
+
+  result = FUNC(ctan) (BUILD_COMPLEX (0, 0));
+  check ("real(ctan(0 + i0)) = 0", __real__ result, 0);
+  check ("imag(ctan(0 + i0)) = 0", __imag__ result, 0);
+  result = FUNC(ctan) (BUILD_COMPLEX (0, minus_zero));
+  check ("real(ctan(0 - i0)) = 0", __real__ result, 0);
+  check ("imag(ctan(0 - i0)) = -0", __imag__ result, minus_zero);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, 0));
+  check ("real(ctan(-0 + i0)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-0 + i0)) = 0", __imag__ result, 0);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, minus_zero));
+  check ("real(ctan(-0 - i0)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-0 - i0)) = -0", __imag__ result, minus_zero);
+
+
+  result = FUNC(ctan) (BUILD_COMPLEX (0, plus_infty));
+  check ("real(ctan(0 + i Inf)) = 0", __real__ result, 0);
+  check ("imag(ctan(0 + i Inf)) = 1", __imag__ result, 1);
+  result = FUNC(ctan) (BUILD_COMPLEX (1, plus_infty));
+  check ("real(ctan(1 + i Inf)) = 0", __real__ result, 0);
+  check ("imag(ctan(1 + i Inf)) = 1", __imag__ result, 1);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, plus_infty));
+  check ("real(ctan(-0 + i Inf)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-0 + i Inf)) = 1", __imag__ result, 1);
+  result = FUNC(ctan) (BUILD_COMPLEX (-1, plus_infty));
+  check ("real(ctan(-1 + i Inf)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-1 + i Inf)) = 1", __imag__ result, 1);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (0, minus_infty));
+  check ("real(ctan(0 - i Inf)) = 0", __real__ result, 0);
+  check ("imag(ctan(0 - i Inf)) = -1", __imag__ result, -1);
+  result = FUNC(ctan) (BUILD_COMPLEX (1, minus_infty));
+  check ("real(ctan(1 - i Inf)) = 0", __real__ result, 0);
+  check ("imag(ctan(1 - i Inf)) = -1", __imag__ result, -1);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, minus_infty));
+  check ("real(ctan(-0 - i Inf)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-0 - i Inf)) = -1", __imag__ result, -1);
+  result = FUNC(ctan) (BUILD_COMPLEX (-1, minus_infty));
+  check ("real(ctan(-1 - i Inf)) = -0", __real__ result, minus_zero);
+  check ("imag(ctan(-1 - i Inf)) = -1", __imag__ result, -1);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, 0));
+  check_isnan_exc ("real(ctan(Inf + i 0)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(Inf + i 0)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, 2));
+  check_isnan_exc ("real(ctan(Inf + i 2)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(Inf + i 2)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, 0));
+  check_isnan_exc ("real(ctan(-Inf + i 0)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(-Inf + i 0)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, 2));
+  check_isnan_exc ("real(ctan(- Inf + i 2)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(- Inf + i 2)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, minus_zero));
+  check_isnan_exc ("real(ctan(Inf - i 0)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(Inf - i 0)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (plus_infty, -2));
+  check_isnan_exc ("real(ctan(Inf - i 2)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(Inf - i 2)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, minus_zero));
+  check_isnan_exc ("real(ctan(-Inf - i 0)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(-Inf - i 0)) = NaN plus invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_infty, -2));
+  check_isnan_exc ("real(ctan(-Inf - i 2)) = NaN plus invalid exception",
+		   __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(-Inf - i 2)) = NaN plus invalid exception",
+	       __imag__ result);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, plus_infty));
+  check ("real(ctan(NaN + i Inf)) = +-0", FUNC(fabs) (__real__ result), 0);
+  check ("imag(ctan(NaN + i Inf)) = 1", __imag__ result, 1);
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, minus_infty));
+  check ("real(ctan(NaN - i Inf)) = +-0", FUNC(fabs) (__real__ result), 0);
+  check ("imag(ctan(NaN - i Inf)) = -1", __imag__ result, -1);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (0, nan_value));
+  check ("real(ctan(0 + i NaN)) = 0", __real__ result, 0);
+  check_isnan ("imag(ctan(0 + i NaN)) = NaN", __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (minus_zero, nan_value));
+  check ("real(ctan(-0 + i NaN)) = -0", __real__ result, minus_zero);
+  check_isnan ("imag(ctan(-0 + i NaN)) = NaN", __imag__ result);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (0.5, nan_value));
+  check_isnan_maybe_exc ("real(ctan(0.5 + i NaN)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(0.5 + i NaN)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (-4.5, nan_value));
+  check_isnan_maybe_exc ("real(ctan(-4.5 + i NaN)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(-4.5 + i NaN)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, 0));
+  check_isnan_maybe_exc ("real(ctan(NaN + i 0)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(NaN + i 0)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, 5));
+  check_isnan_maybe_exc ("real(ctan(NaN + i 5)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(NaN + i 5)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, minus_zero));
+  check_isnan_maybe_exc ("real(ctan(NaN - i 0)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctan(NaN - i 0)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, -0.25));
+  check_isnan_maybe_exc ("real(ctan(NaN -i 0.25)) = NaN plus maybe invalid exception",
+			 __real__ result, INVALID_EXCEPTION);
+  check_isnan ("imag(ctanh(NaN -i 0.25)) = NaN plus maybe invalid exception",
+	       __imag__ result);
+
+  result = FUNC(ctan) (BUILD_COMPLEX (nan_value, nan_value));
+  check_isnan ("real(ctan(NaN + i NaN)) = NaN", __real__ result);
+  check_isnan ("imag(ctan(NaN + i NaN)) = NaN", __imag__ result);
+
+}
+
+
+static void
 ctanh_test (void)
 {
   __complex__ MATHTYPE result;
@@ -4176,6 +4315,11 @@ ctanh_test (void)
   result = FUNC(ctanh) (BUILD_COMPLEX (nan_value, nan_value));
   check_isnan ("real(ctanh(NaN + i NaN)) = NaN", __real__ result);
   check_isnan ("imag(ctanh(NaN + i NaN)) = NaN", __imag__ result);
+
+  result = FUNC(ctanh) (BUILD_COMPLEX (0, M_PI_4));
+  check ("real(ctanh (0 + i pi/4)) == 0", __real__ result, 0);
+  check_eps ("imag(ctanh (0 + i pi/4)) == 1", __imag__ result, 1,
+	     CHOOSE (0, 0, 2e-7));
 }
 
 
@@ -4622,6 +4766,10 @@ csqrt_test (void)
   result = FUNC(csqrt) (BUILD_COMPLEX (nan_value, nan_value));
   check_isnan ("real(csqrt(NaN + i NaN)) = NaN", __real__ result);
   check_isnan ("imag(csqrt(NaN + i NaN)) = NaN", __imag__ result);
+
+  result = FUNC(csqrt) (BUILD_COMPLEX (-1, 0));
+  check ("real(csqrt(1 + i0) = 0", __real__ result, 0);
+  check ("imag(csqrt(1 + i0) = 1", __imag__ result, 1);
 }
 
 
@@ -4643,6 +4791,133 @@ cpow_test (void)
 
 
 static void
+cabs_test (void)
+{
+  /* cabs (x + iy) is specified as hypot (x,y) */
+  MATHTYPE a;
+  a = random_greater (0);
+  check_isinfp_ext ("cabs (+inf + i x) == +inf",
+		    FUNC(cabs) (BUILD_COMPLEX (plus_infty, a)), a);
+  check_isinfp_ext ("cabs (-inf + i x) == +inf",
+		    FUNC(cabs) (BUILD_COMPLEX (minus_infty, a)), a);
+
+  check_isinfp ("cabs (+inf+ iNaN) == +inf",
+		FUNC(cabs) (BUILD_COMPLEX(minus_infty, nan_value)));
+  check_isinfp ("cabs (-inf+ iNaN) == +inf",
+		FUNC(cabs) (BUILD_COMPLEX(minus_infty, nan_value)));
+
+  check_isnan ("cabs (NaN+ iNaN) == NaN",
+	       FUNC(cabs) (BUILD_COMPLEX(nan_value, nan_value)));
+
+  a = FUNC(cabs) (BUILD_COMPLEX (12.4L, 0.7L));
+  check ("cabs (x,y) == cabs (y,x)",
+	 FUNC(cabs) (BUILD_COMPLEX(0.7L, 12.4L)), a);
+  check ("cabs (x,y) == cabs (-x,y)",
+	 FUNC(cabs) (BUILD_COMPLEX(-12.4L, 0.7L)), a);
+  check ("cabs (x,y) == cabs (-y,x)",
+	 FUNC(cabs) (BUILD_COMPLEX(-0.7L, 12.4L)), a);
+  check ("cabs (x,y) == cabs (-x,-y)",
+	 FUNC(cabs) (BUILD_COMPLEX(-12.4L, -0.7L)), a);
+  check ("cabs (x,y) == cabs (-y,-x)",
+	 FUNC(cabs) (BUILD_COMPLEX(-0.7L, -12.4L)), a);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-0.7L, 0)), 0.7L);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(0.7L, 0)), 0.7L);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-1.0L, 0)), 1.0L);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(1.0L, 0)), 1.0L);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(-5.7e7L, 0)),
+	 5.7e7L);
+  check ("cabs (x,0) == fabs (x)", FUNC(cabs) (BUILD_COMPLEX(5.7e7L, 0)),
+	 5.7e7L);
+
+}
+
+
+static void
+carg_test (void)
+{
+  /* carg (x + iy) is specified as atan2 (y, x) */
+  MATHTYPE x;
+
+  x = random_greater (0);
+  check ("carg (x + i 0) == 0 for x > 0",
+	 FUNC(carg) (BUILD_COMPLEX(x, 0)), 0);
+  x = random_greater (0);
+  check ("carg (x - i 0) == -0 for x > 0",
+	 FUNC(carg) (BUILD_COMPLEX(x, minus_zero)), minus_zero);
+
+  check ("carg (+0 + i 0) == +0", FUNC(carg) (BUILD_COMPLEX(0, 0)), 0);
+  check ("carg (+0 - i 0) == -0", FUNC(carg) (BUILD_COMPLEX(0, minus_zero)),
+	 minus_zero);
+
+  x = -random_greater (0);
+  check ("carg (x + i 0) == +pi for x < 0", FUNC(carg) (BUILD_COMPLEX(x, 0)),
+	 M_PI);
+
+  x = -random_greater (0);
+  check ("carg (x - i 0) == -pi for x < 0",
+	 FUNC(carg) (BUILD_COMPLEX(x, minus_zero)), -M_PI);
+
+  check ("carg (-0 + i 0) == +pi", FUNC(carg) (BUILD_COMPLEX(minus_zero, 0)),
+	 M_PI);
+  check ("carg (-0 - i 0) == -pi",
+	 FUNC(carg) (BUILD_COMPLEX(minus_zero, minus_zero)), -M_PI);
+
+  x = random_greater (0);
+  check ("carg (+0 + i y) == pi/2 for y > 0", FUNC(carg) (BUILD_COMPLEX(0, x)),
+	 M_PI_2);
+
+  x = random_greater (0);
+  check ("carg (-0 + i y) == pi/2 for y > 0",
+	 FUNC(carg) (BUILD_COMPLEX(minus_zero, x)), M_PI_2);
+
+  x = random_less (0);
+  check ("carg (+0 + i y) == -pi/2 for y < 0", FUNC(carg) (BUILD_COMPLEX(0, x)),
+	 -M_PI_2);
+
+  x = random_less (0);
+  check ("carg (-0 + i y) == -pi/2 for y < 0",
+	 FUNC(carg) (BUILD_COMPLEX(minus_zero, x)), -M_PI_2);
+
+  x = random_greater (0);
+  check ("carg (inf + i y) == +0 for finite y > 0",
+	 FUNC(carg) (BUILD_COMPLEX(plus_infty, x)), 0);
+
+  x = -random_greater (0);
+  check ("carg (inf + i y) == -0 for finite y < 0",
+	 FUNC(carg) (BUILD_COMPLEX(plus_infty, x)), minus_zero);
+
+  x = random_value (-1e4, 1e4);
+  check ("carg(x + i inf) == pi/2 for finite x",
+         FUNC(carg) (BUILD_COMPLEX(x, plus_infty)), M_PI_2);
+
+  x = random_value (-1e4, 1e4);
+  check ("carg(x - i inf) == -pi/2 for finite x",
+         FUNC(carg) (BUILD_COMPLEX(x, minus_infty)), -M_PI_2);
+
+  x = random_greater (0);
+  check ("carg (-inf + i y) == +pi for finite y > 0",
+	 FUNC(carg) (BUILD_COMPLEX(minus_infty, x)), M_PI);
+
+  x = -random_greater (0);
+  check ("carg (-inf + i y) == -pi for finite y < 0",
+	 FUNC(carg) (BUILD_COMPLEX(minus_infty, x)), -M_PI);
+
+  check ("carg (+inf + i inf) == +pi/4",
+	 FUNC(carg) (BUILD_COMPLEX(plus_infty, plus_infty)), M_PI_4);
+
+  check ("carg (+inf -i inf) == -pi/4",
+	 FUNC(carg) (BUILD_COMPLEX(plus_infty, minus_infty)), -M_PI_4);
+
+  check ("carg (-inf +i inf) == +3*pi/4",
+	 FUNC(carg) (BUILD_COMPLEX(minus_infty, plus_infty)), 3 * M_PI_4);
+
+  check ("carg (-inf -i inf) == -3*pi/4",
+	 FUNC(carg) (BUILD_COMPLEX(minus_infty, minus_infty)), -3 * M_PI_4);
+
+}
+
+
+static void
 nearbyint_test (void)
 {
   check ("nearbyint(+0) = 0", FUNC(nearbyint) (0.0), 0.0);
@@ -5266,6 +5541,8 @@ main (int argc, char *argv[])
   fmax_test ();
 
   /* complex functions */
+  cabs_test ();
+  carg_test ();
   cexp_test ();
   csin_test ();
   csinh_test ();
@@ -5279,9 +5556,12 @@ main (int argc, char *argv[])
   casinh_test ();
   catan_test ();
   catanh_test ();
+  ctan_test ();
   ctanh_test ();
   csqrt_test ();
   cpow_test ();
+
+  /* multiply and add */
   fma_test ();
 
   /* special tests */
diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h
index 48f01e2d74..aff545636f 100644
--- a/misc/sys/syslog.h
+++ b/misc/sys/syslog.h
@@ -146,10 +146,6 @@ CODE facilitynames[] =
   };
 #endif
 
-#ifdef KERNEL
-#define	LOG_PRINTF	-1	/* pseudo-priority to indicate use of printf */
-#endif
-
 /*
  * arguments to setlogmask.
  */
@@ -169,24 +165,8 @@ CODE facilitynames[] =
 #define	LOG_NOWAIT	0x10	/* don't wait for console forks: DEPRECATED */
 #define	LOG_PERROR	0x20	/* log to stderr as well */
 
-#ifndef KERNEL
-
-#if 0
-/*
- * Don't use va_list in the vsyslog() prototype.   Va_list is typedef'd in two
- * places (<machine/varargs.h> and <machine/stdarg.h>), so if we include one
- * of them here we may collide with the utility's includes.  It's unreasonable
- * for utilities to have to include one of them to include syslog.h, so we get
- * _BSD_VA_LIST_ from <machine/ansi.h> and use it.
- */
-#include <machine/ansi.h>
-#elif !defined (_BSD_VA_LIST_)
-/* In GNU we don't have a <machine/ansi.h> and it would be too painful to
-   emulate one.  */
 #define __need___va_list
 #include <stdarg.h>
-#define _BSD_VA_LIST_ __gnuc_va_list
-#endif
 
 #include <sys/cdefs.h>
 
@@ -206,10 +186,9 @@ extern int setlogmask __P ((int __mask));
 extern void syslog __P ((int __pri, __const char *__fmt, ...));
 
 /* Generate a log message using FMT and using arguments pointed to by AP.  */
-extern void vsyslog __P ((int __pri, __const char *__fmt, _BSD_VA_LIST_ __ap));
+extern void vsyslog __P ((int __pri, __const char *__fmt,
+			  __gnuc_va_list __ap));
 
 __END_DECLS
 
-#endif /* !KERNEL */
-
 #endif /* sys/syslog.h */
diff --git a/posix/sys/wait.h b/posix/sys/wait.h
index 9b5025ab83..bc2298f667 100644
--- a/posix/sys/wait.h
+++ b/posix/sys/wait.h
@@ -38,7 +38,7 @@ __BEGIN_DECLS
 /* Lots of hair to allow traditional BSD use of `union wait'
    as well as POSIX.1 use of `int' for the status word.  */
 
-# ifdef	__GNUC__
+# if defined __GNUC__ && !defined __cplusplus
 #  define __WAIT_INT(status)						      \
   (__extension__ ({ union { __typeof(status) __in; int __i; } __u;	      \
 		    __u.__in = (status); __u.__i; }))
diff --git a/sysdeps/alpha/__longjmp.S b/sysdeps/alpha/__longjmp.S
index 34731172e1..7b639f5155 100644
--- a/sysdeps/alpha/__longjmp.S
+++ b/sysdeps/alpha/__longjmp.S
@@ -19,6 +19,8 @@
 #define __ASSEMBLY__
 
 #include <sysdep.h>
+#define _ASM
+#define _SETJMP_H
 #include <bits/setjmp.h>
 
 
diff --git a/sysdeps/alpha/setjmp.S b/sysdeps/alpha/setjmp.S
index ae3ceb517d..894bb9ecf0 100644
--- a/sysdeps/alpha/setjmp.S
+++ b/sysdeps/alpha/setjmp.S
@@ -19,6 +19,8 @@
 #define __ASSEMBLY__
 
 #include <sysdep.h>
+#define _ASM
+#define _SETJMP_H
 #include <bits/setjmp.h>
 
        .ent __sigsetjmp
diff --git a/sysdeps/generic/bits/confname.h b/sysdeps/generic/bits/confname.h
index 4653887468..3991fb1df4 100644
--- a/sysdeps/generic/bits/confname.h
+++ b/sysdeps/generic/bits/confname.h
@@ -326,11 +326,12 @@ enum
 /* Values for the NAME argument to `confstr'.  */
 enum
   {
-    _CS_PATH,			/* The default search path.  */
+    _CS_PATH			/* The default search path.  */
 #define _CS_PATH		_CS_PATH
 
 #if (defined __USE_FILE_OFFSET64 || defined __USE_LARGEFILE64 \
      || defined __USE_LARGEFILE)
+    ,
     _CS_LFS_CFLAGS = 1000,
 # define _CS_LFS_CFLAGS		_CS_LFS_CFLAGS
     _CS_LFS_LDFLAGS,
@@ -345,11 +346,12 @@ enum
 # define _CS_LFS64_LDFLAGS	_CS_LFS64_LDFLAGS
     _CS_LFS64_LIBS,
 # define _CS_LFS64_LIBS		_CS_LFS64_LIBS
-    _CS_LFS64_LINTFLAGS,
+    _CS_LFS64_LINTFLAGS
 # define _CS_LFS64_LINTFLAGS	_CS_LFS64_LINTFLAGS
 #endif
 
 #ifdef __USE_UNIX98
+    ,
     _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
 # define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
     _CS_XBS5_ILP32_OFF32_LDFLAGS,
@@ -380,7 +382,7 @@ enum
 # define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
     _CS_XBS5_LPBIG_OFFBIG_LIBS,
 # define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
-    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
+    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 # define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 #endif
   };
diff --git a/sysdeps/libm-ieee754/s_ctan.c b/sysdeps/libm-ieee754/s_ctan.c
index c68c3ad3e4..f1ce9688bb 100644
--- a/sysdeps/libm-ieee754/s_ctan.c
+++ b/sysdeps/libm-ieee754/s_ctan.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctan (__complex__ double x)
 	{
 	  __real__ res = __nan ("");
 	  __imag__ res = __nan ("");
+
+#ifdef FE_INVALID
+	  if (__isinf (__real__ x))
+	    feraiseexcept (FE_INVALID);
+#endif
 	}
     }
   else
diff --git a/sysdeps/libm-ieee754/s_ctanf.c b/sysdeps/libm-ieee754/s_ctanf.c
index 4209587b37..750d3511b9 100644
--- a/sysdeps/libm-ieee754/s_ctanf.c
+++ b/sysdeps/libm-ieee754/s_ctanf.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctanf (__complex__ float x)
 	{
 	  __real__ res = __nanf ("");
 	  __imag__ res = __nanf ("");
+
+#ifdef FE_INVALID
+	  if (__isinff (__real__ x))
+	    feraiseexcept (FE_INVALID);
+#endif
 	}
     }
   else
diff --git a/sysdeps/libm-ieee754/s_ctanl.c b/sysdeps/libm-ieee754/s_ctanl.c
index 88c02da2ea..31ab3b48a6 100644
--- a/sysdeps/libm-ieee754/s_ctanl.c
+++ b/sysdeps/libm-ieee754/s_ctanl.c
@@ -19,6 +19,7 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <complex.h>
+#include <fenv.h>
 #include <math.h>
 
 #include "math_private.h"
@@ -44,6 +45,11 @@ __ctanl (__complex__ long double x)
 	{
 	  __real__ res = __nanl ("");
 	  __imag__ res = __nanl ("");
+
+#ifdef FE_INVALID
+	  if (__isinfl (__real__ x))
+	    feraiseexcept (FE_INVALID);
+#endif
 	}
     }
   else
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index c7fda3eb2c..ef4cb84191 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -190,8 +190,8 @@ extern char *alloca ();
 # define __getcwd getcwd
 #endif
 
-#ifndef GETCWD_STORAGE_CLASS
-# define GETCWD_STORAGE_CLASS
+#ifndef GETCWD_RETURN_TYPE
+# define GETCWD_RETURN_TYPE char *
 #endif
 
 /* Get the pathname of the current working directory, and put it in SIZE
@@ -200,8 +200,7 @@ extern char *alloca ();
    NULL, an array is allocated with `malloc'; the array is SIZE bytes long,
    unless SIZE <= 0, in which case it is as big as necessary.  */
 
-GETCWD_STORAGE_CLASS
-char *
+GETCWD_RETURN_TYPE
 __getcwd (buf, size)
      char *buf;
      size_t size;
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index 70baab50ee..340f8c641b 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -39,7 +39,6 @@ sys/io.h
 sys/kd.h
 sys/kdaemon.h
 sys/klog.h
-sys/module.h
 sys/mount.h
 sys/mtio.h
 sys/prctl.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 7331b38588..253bc26e94 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -12,7 +12,7 @@ ifeq ($(subdir),misc)
 sysdep_routines += sysctl clone llseek
 
 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
-		  sys/module.h sys/io.h sys/klog.h sys/kdaemon.h \
+		  sys/io.h sys/klog.h sys/kdaemon.h \
 		  sys/user.h sys/sysmacros.h sys/procfs.h sys/prctl.h \
 		  sys/debugreg.h sys/kd.h sys/soundcard.h sys/vt.h \
 		  sys/quota.h sys/fsuid.h bits/mman.h \
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
index 093ac25096..6a99146b5a 100644
--- a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
@@ -22,7 +22,7 @@
 /* The following corresponds to the values from the Linux 2.1.20 kernel.  */
 
 /* We need the definition of tcflag_t, cc_t, and speed_t.  */
-#include <bits/termios.h>
+#include <termios.h>
 
 #define __KERNEL_NCCS 19
 
diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list
index 9e4cd39a8f..d3bc033b3d 100644
--- a/sysdeps/unix/sysv/linux/alpha/syscalls.list
+++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list
@@ -20,7 +20,7 @@ osf_sigprocmask	-	osf_sigprocmask	2	__osf_sigprocmask
 getpeername	-	getpeername	3	__getpeername	getpeername
 getpriority	-	getpriority	2	__getpriority	getpriority
 mmap		-	mmap		6	__mmap		mmap
-llseek		EXTRA	lseek		3	llseek
+llseek		EXTRA	lseek		3	__llseek	llseek lseek64
 pread		EXTRA	pread		4	__pread		pread __pread64 pread64
 pwrite		EXTRA	pwrite		4	__pwrite	pwrite __pwrite64 pwrite64
 
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index 1d3817f68d..bfa7aae571 100644
--- a/sysdeps/unix/sysv/linux/bits/in.h
+++ b/sysdeps/unix/sysv/linux/bits/in.h
@@ -57,8 +57,10 @@ struct ip_mreq
 /* IPV6 socket options.  */
 #define IPV6_ADDRFORM		1
 #define IPV6_PKTINFO		2
-#define IPV6_RXHOPOPTS		3
-#define IPV6_RXDSTOPTS		4
+#define IPV6_RXHOPOPTS		3 /* obsolete name */
+#define IPV6_RXDSTOPTS		4 /* obsolete name */
+#define IPV6_HOPOPTS		IPV6_RXHOPOPTS  /* new name */
+#define IPV6_DSTOPTS		IPV6_RXDSTOPTS  /* new name */
 #define IPV6_RXSRCRT		5
 #define IPV6_PKTOPTIONS		6
 #define IPV6_CHECKSUM		7
diff --git a/sysdeps/unix/sysv/linux/getcwd.c b/sysdeps/unix/sysv/linux/getcwd.c
index f3406d7916..ed649f8fef 100644
--- a/sysdeps/unix/sysv/linux/getcwd.c
+++ b/sysdeps/unix/sysv/linux/getcwd.c
@@ -110,6 +110,6 @@ __getcwd (char *buf, size_t size)
 weak_alias (__getcwd, getcwd)
 
 /* Get the code for the generic version.  */
-#define GETCWD_STORAGE_CLASS	static internal_function
+#define GETCWD_RETURN_TYPE	static char * internal_function
 #define __getcwd		generic_getcwd
 #include <sysdeps/posix/getcwd.c>
diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h
index 80f4516344..efb0c84e5d 100644
--- a/sysdeps/unix/sysv/linux/net/if_arp.h
+++ b/sysdeps/unix/sysv/linux/net/if_arp.h
@@ -92,7 +92,6 @@ struct arphdr
 #define ARPHRD_PPP	512
 #define ARPHRD_HDLC	513		/* (Cisco) HDLC.  */
 #define ARPHRD_LAPB	516		/* LAPB.  */
-#define ARPHRD_ASH	517		/* ASH.  */
 
 #define ARPHRD_TUNNEL	768		/* IPIP tunnel.  */
 #define ARPHRD_TUNNEL6	769		/* IPIP6 tunnel.  */
@@ -101,8 +100,13 @@ struct arphdr
 #define ARPHRD_LOOPBACK	772		/* Loopback device.  */
 #define ARPHRD_LOCALTLK 773		/* Localtalk device.  */
 #define ARPHRD_FDDI	774		/* Fiber Distributed Data Interface. */
-#define ARPHRD_BIF      775             /* AP1000 BIF.  */
+#define ARPHRD_BIF	775             /* AP1000 BIF.  */
 #define ARPHRD_SIT	776		/* sit0 device - IPv6-in-IPv4.  */
+#define ARPHRD_IPDDP	777		/* IP-in-DDP tunnel.  */
+#define ARPHRD_IPGRE	778		/* GRE over IP.  */
+#define ARPHRD_PIMREG	779		/* PIMSM register interface.  */
+#define ARPHRD_HIPPI	780		/* High Performance Parallel I'face. */
+#define ARPHRD_ASH	781		/* (Nexus Electronics) Ash.  */
 
 
 /* ARP ioctl request.  */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index d1a40be33c..1bd2b159e8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
@@ -74,8 +74,8 @@ struct termios {
 #define ICRNL	0000400
 #define IXON	0001000
 #define IXOFF	0002000
-#if !defined KERNEL || defined __USE_BSD
-  /* POSIX.1 doesn't want these... */
+/* POSIX.1 doesn't want these... */
+#ifdef __USE_BSD
 # define IXANY		0004000
 # define IUCLC		0010000
 # define IMAXBEL	0020000
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index 7047e47a02..c797f49a84 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
@@ -34,10 +34,6 @@ struct termios
     tcflag_t c_lflag;		/* local mode flags */
     cc_t c_line;		/* line discipline */
     cc_t c_cc[NCCS];		/* control characters */
-#ifdef __KERNEL__
-# define SIZEOF_USER_TERMIOS sizeof (struct termios) - (2*sizeof (cc_t))
-    cc_t _x_cc[2];		/* We need them to hold vmin/vtime */
-#endif
   };
 
 /* c_cc characters */
@@ -61,16 +57,9 @@ struct termios
 #define VWERASE  14
 #define VLNEXT   15
 
-/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is
- * shared with eof/eol
- */
-#ifdef __KERNEL__
-# define VMIN     16
-# define VTIME    17
-#else
-# define VMIN     VEOF
-# define VTIME    VEOL
-#endif
+/* User apps assume vmin/vtime is shared with eof/eol */
+#define VMIN     VEOF
+#define VTIME    VEOL
 
 /* c_iflag bits */
 #define IGNBRK	0x00000001
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
index d0bee8fa07..6491a9ccac 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
@@ -1,7 +1,7 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
 # Whee! 64-bit systems naturally implement llseek.
-llseek		EXTRA	lseek		3	llseek
+llseek		EXTRA	lseek		3	__llseek	llseek lseek64
 pread		EXTRA	pread		4	__pread		pread __pread64 pread64
 pwrite		EXTRA	pwrite		4	__pwrite	pwrite __pwrite64 pwrite64
 
diff --git a/sysdeps/unix/sysv/linux/sys/module.h b/sysdeps/unix/sysv/linux/sys/module.h
deleted file mode 100644
index 0b47da29e7..0000000000
--- a/sysdeps/unix/sysv/linux/sys/module.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef	_SYS_MODULE_H
-
-#define	_SYS_MODULE_H	1
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-#include <linux/module.h>
-
-__BEGIN_DECLS
-
-/* Return number of kernel symbols if TABLE == NULL, otherwise, return
-   kernel symbols in TABLE.  TABLE must be large enough to hold all
-   kernel symbols.  */
-extern int get_kernel_syms __P ((struct kernel_sym *__table));
-
-/* Create a new module of name MODULE_NAME and of size SIZE bytes.
-   The return address is the starting address of the new module or -1L
-   if the module cannot be created (the return value needs to be cast
-   to (long) to detect the error condition).  */
-extern unsigned long int create_module __P ((__const char *__module_name,
-					     size_t __size));
-
-/* Initialize the module called MODULE_NAME with the CONTENTSSIZE
-   bytes starting at address CONTENTS.  CONTENTS normally contains the
-   text and data segment of the module (the bss is implicitly zeroed).
-   After copying the contents, the function pointed to by
-   ROUTINES.init is executed.  When the module is no longer needed,
-   ROUTINES.cleanup is executed.  SYMTAB is NULL if the module does
-   not want to export symbols by itself, or a pointer to a symbol
-   table if the module wants to register its own symbols.  */
-extern int init_module __P ((__const char *__module_name,
-			     __const void *__contents, size_t __contentssize,
-			     struct mod_routines *__routines,
-			     struct symbol_table *__symtab));
-
-/* Delete the module named MODULE_NAME from the kernel.  */
-extern int delete_module __P ((__const char *__module_name));
-
-__END_DECLS
-
-#endif /* sys/module.h */
diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c
index 69c67705c3..63859e158a 100644
--- a/wcsmbs/wcrtomb.c
+++ b/wcsmbs/wcrtomb.c
@@ -40,7 +40,6 @@ static mbstate_t internal;
 size_t
 __wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
 {
-  char fake[1];
   size_t written = 0;
 
   if (ps == NULL)