about summary refs log tree commit diff
path: root/libidn
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-08 03:55:39 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-08 03:55:39 +0000
commit01859b1c24e97f30325a3ce189739e66811c40a4 (patch)
treefe28156316ba2d86a0e9c9cf07b8a0c667af0fa0 /libidn
parent001836c8c1ebbd81661c7d1c95e35e99a7f39606 (diff)
downloadglibc-01859b1c24e97f30325a3ce189739e66811c40a4.tar.gz
glibc-01859b1c24e97f30325a3ce189739e66811c40a4.tar.xz
glibc-01859b1c24e97f30325a3ce189739e66811c40a4.zip
ChangeLog for libidn.
2004-03-07  Simon Josefsson  <jas@extundo.com>

	* Banner: New file.
	* Makefile: New file.
	* Version: New file.
	* configure: New file.
	* idn-stub.c: New file.
	* gunibreak.h: New file.  Copied from Libidn.
	* gunicomp.h: New file.  Copied from Libidn.
	* gunidecomp.h: New file.  Copied from Libidn.
	* idna.h: New file.  Copied from Libidn.
	* idna.c: New file.  Copied from Libidn.
	* nfkc.c: New file.  Copied from Libidn.
	* profiles.c: New file.  Copied from Libidn.
	* punycode.c: New file.  Copied from Libidn.
	* punycode.h: New file.  Copied from Libidn.
	* rfc3454.c: New file.  Copied from Libidn.
	* stringprep.c: New file.  Copied from Libidn.
	* stringprep.h: New file.  Copied from Libidn.
	* toutf8.c: New file.  Copied from Libidn.  Modified for use in glibc.
Diffstat (limited to 'libidn')
-rw-r--r--libidn/Banner1
-rw-r--r--libidn/ChangeLog20
-rw-r--r--libidn/Makefile34
-rw-r--r--libidn/Versions5
-rw-r--r--libidn/configure2
-rw-r--r--libidn/gunicomp.h658
-rw-r--r--libidn/gunidecomp.h10362
-rw-r--r--libidn/idn-int.h286
-rw-r--r--libidn/idn-stub.c86
-rw-r--r--libidn/idna.c797
-rw-r--r--libidn/idna.h98
-rw-r--r--libidn/nfkc.c1058
-rw-r--r--libidn/profiles.c310
-rw-r--r--libidn/punycode.c456
-rw-r--r--libidn/punycode.h216
-rw-r--r--libidn/rfc3454.c3544
-rw-r--r--libidn/stringprep.c667
-rw-r--r--libidn/stringprep.h211
-rwxr-xr-xlibidn/sysdeps/unix/configure2
-rw-r--r--libidn/toutf8.c283
20 files changed, 19096 insertions, 0 deletions
diff --git a/libidn/Banner b/libidn/Banner
new file mode 100644
index 0000000000..c31e75722d
--- /dev/null
+++ b/libidn/Banner
@@ -0,0 +1 @@
+GNU Libidn by Simon Josefsson
diff --git a/libidn/ChangeLog b/libidn/ChangeLog
new file mode 100644
index 0000000000..e5c052966b
--- /dev/null
+++ b/libidn/ChangeLog
@@ -0,0 +1,20 @@
+2004-03-07  Simon Josefsson  <jas@extundo.com>
+
+	* Banner: New file.
+	* Makefile: New file.
+	* Version: New file.
+	* configure: New file.
+	* idn-stub.c: New file.
+	* gunibreak.h: New file.  Copied from Libidn.
+	* gunicomp.h: New file.  Copied from Libidn.
+	* gunidecomp.h: New file.  Copied from Libidn.
+	* idna.h: New file.  Copied from Libidn.
+	* idna.c: New file.  Copied from Libidn.
+	* nfkc.c: New file.  Copied from Libidn.
+	* profiles.c: New file.  Copied from Libidn.
+	* punycode.c: New file.  Copied from Libidn.
+	* punycode.h: New file.  Copied from Libidn.
+	* rfc3454.c: New file.  Copied from Libidn.
+	* stringprep.c: New file.  Copied from Libidn.
+	* stringprep.h: New file.  Copied from Libidn.
+	* toutf8.c: New file.  Copied from Libidn.  Modified for use in glibc.
diff --git a/libidn/Makefile b/libidn/Makefile
new file mode 100644
index 0000000000..64a0b23590
--- /dev/null
+++ b/libidn/Makefile
@@ -0,0 +1,34 @@
+# Copyright (C) 2003, 2004 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 Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 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
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
+
+# Makefile for libidn subdirectory of GNU C Library.
+
+subdir	:= libidn
+
+distribute := punycode.h stringprep.h idna.h
+
+routines = idn-stub
+
+extra-libs		= libcidn
+extra-libs-others	= $(extra-libs)
+
+libcidn-routines := punycode toutf8 nfkc stringprep rfc3454 profiles idna
+
+include ../Rules
+
+$(objpfx)libcidn.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
diff --git a/libidn/Versions b/libidn/Versions
new file mode 100644
index 0000000000..3803a5bb91
--- /dev/null
+++ b/libidn/Versions
@@ -0,0 +1,5 @@
+libcidn {
+  GLIBC_PRIVATE {
+    idna_to_ascii_lz;
+  }
+}
diff --git a/libidn/configure b/libidn/configure
new file mode 100644
index 0000000000..d40d2d7ba2
--- /dev/null
+++ b/libidn/configure
@@ -0,0 +1,2 @@
+# This is only to keep the GNU C library configure mechanism happy.
+exit 0
diff --git a/libidn/gunicomp.h b/libidn/gunicomp.h
new file mode 100644
index 0000000000..36429ba289
--- /dev/null
+++ b/libidn/gunicomp.h
@@ -0,0 +1,658 @@
+#define COMPOSE_FIRST_START 1
+#define COMPOSE_FIRST_SINGLE_START 147
+#define COMPOSE_SECOND_START 357
+#define COMPOSE_SECOND_SINGLE_START 388
+
+#define COMPOSE_TABLE_LAST 48
+
+static const guint16 compose_data[][256] = {
+  { /* page 0, index 0 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, 0, 0, 1, 2, 3, 4, 5, 
+    150, 6, 7, 8, 151, 9, 10, 11, 12, 13, 14, 0, 15, 16, 17, 18, 19, 20, 21, 
+    22, 23, 0, 0, 0, 0, 0, 0, 24, 25, 26, 27, 28, 152, 29, 30, 31, 32, 33, 
+    34, 35, 36, 37, 38, 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 153, 154, 
+    50, 155, 0, 0, 51, 0, 0, 0, 0, 156, 0, 0, 0, 0, 52, 53, 157, 0, 158, 0, 
+    0, 0, 54, 0, 0, 0, 0, 0, 55, 0, 159, 160, 56, 161, 0, 0, 57, 0, 0, 0, 0, 
+    162, 0, 0, 0, 0, 58, 59, 163, 0, 164, 0, 0, 0, 60, 0, 0, 0
+  },
+  { /* page 1, index 1 */
+    0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 166, 0, 
+    0, 0, 0, 167, 168, 0, 0, 0, 0, 0, 0, 169, 170, 171, 172, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 
+    68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 174, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0
+  },
+  { /* page 2, index 2 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 0, 0, 0, 0, 
+    181, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 3, index 3 */
+    357, 358, 359, 360, 361, 0, 362, 363, 364, 365, 366, 367, 368, 0, 0, 369, 
+    0, 370, 0, 371, 372, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 374, 
+    375, 376, 377, 378, 379, 0, 0, 0, 0, 380, 381, 0, 382, 383, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 
+    72, 0, 73, 0, 74, 0, 0, 0, 0, 0, 75, 0, 184, 0, 0, 0, 76, 0, 0, 0, 77, 0, 
+    0, 185, 0, 186, 0, 0, 78, 0, 0, 0, 79, 0, 80, 0, 81, 0, 0, 0, 0, 0, 82, 
+    0, 83, 0, 0, 0, 84, 0, 0, 0, 85, 86, 87, 0, 0, 187, 0, 0, 0, 88, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 4, index 4 */
+    0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 189, 0, 90, 
+    91, 190, 92, 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, 93, 0, 0, 0, 193, 0, 0, 0, 
+    194, 0, 195, 0, 0, 94, 0, 0, 196, 0, 95, 96, 197, 97, 0, 198, 0, 0, 0, 
+    199, 0, 0, 0, 0, 98, 0, 0, 0, 200, 0, 0, 0, 201, 0, 202, 0, 0, 0, 0, 0, 
+    0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 207, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 6, index 5 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    210, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 388, 389, 390, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, 
+    0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 9, index 6 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 
+    216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 
+    0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 11, index 7 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 
+    101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 395, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 396, 0, 0, 0, 0, 0, 0, 0, 102, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 12, index 8 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 
+    0, 0, 398, 0, 0, 0, 103, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 
+    400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 13, index 9 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 104, 
+    223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 105, 0, 0, 224, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 16, index 10 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 30, index 11 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, 0, 0, 
+    0, 0, 0, 0, 230, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 235, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 31, index 12 */
+    108, 109, 236, 237, 238, 239, 240, 241, 110, 111, 242, 243, 244, 245, 
+    246, 247, 112, 113, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 0, 0, 116, 
+    117, 248, 249, 250, 251, 252, 253, 118, 119, 254, 255, 256, 257, 258, 
+    259, 120, 121, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 0, 0, 124, 125, 0, 
+    0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 0, 0, 0, 0, 0, 
+    130, 0, 0, 0, 0, 0, 0, 131, 132, 260, 261, 262, 263, 264, 265, 133, 134, 
+    266, 267, 268, 269, 270, 271, 272, 0, 0, 0, 273, 0, 0, 0, 0, 0, 0, 0, 
+    274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 
+    0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 136, 0
+  },
+  { /* page 33, index 13 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    278, 0, 279, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 282, 0, 
+    283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 34, index 14 */
+    0, 0, 0, 284, 0, 0, 0, 0, 285, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 288, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 290, 
+    0, 291, 0, 0, 292, 0, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 295, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 297, 298, 0, 0, 299, 300, 0, 0, 301, 302, 303, 304, 0, 0, 0, 0, 
+    305, 306, 0, 0, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 310, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 0, 314, 
+    0, 0, 0, 0, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 48, index 15 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, 
+    0, 0, 0, 320, 0, 321, 0, 322, 0, 323, 0, 324, 0, 325, 0, 326, 0, 327, 0, 
+    328, 0, 329, 0, 330, 0, 331, 0, 0, 332, 0, 333, 0, 334, 0, 0, 0, 0, 0, 0, 
+    137, 0, 0, 138, 0, 0, 139, 0, 0, 140, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, 
+    0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 337, 0, 338, 0, 339, 
+    0, 340, 0, 341, 0, 342, 0, 343, 0, 344, 0, 345, 0, 346, 0, 347, 0, 348, 
+    0, 0, 349, 0, 350, 0, 351, 0, 0, 0, 0, 0, 0, 142, 0, 0, 143, 0, 0, 144, 
+    0, 0, 145, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 352, 353, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 0
+  }
+};
+
+static const gint16 compose_table[COMPOSE_TABLE_LAST + 1] = {
+  0 /* page 0 */,
+  1 /* page 1 */,
+  2 /* page 2 */,
+  3 /* page 3 */,
+  4 /* page 4 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  5 /* page 6 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  6 /* page 9 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  7 /* page 11 */,
+  8 /* page 12 */,
+  9 /* page 13 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  10 /* page 16 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  11 /* page 30 */,
+  12 /* page 31 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  13 /* page 33 */,
+  14 /* page 34 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  15 /* page 48 */
+};
+
+static const guint16 compose_first_single[][2] = {
+ { 0x0338, 0x226e },
+ { 0x0338, 0x2260 },
+ { 0x0338, 0x226f },
+ { 0x0307, 0x1e1e },
+ { 0x0302, 0x0134 },
+ { 0x0307, 0x1e1f },
+ { 0x0304, 0x01de },
+ { 0x0301, 0x01fa },
+ { 0x0301, 0x1e08 },
+ { 0x0301, 0x1e2e },
+ { 0x0304, 0x022a },
+ { 0x0301, 0x01fe },
+ { 0x0304, 0x01df },
+ { 0x0301, 0x01fb },
+ { 0x0301, 0x1e09 },
+ { 0x0301, 0x1e2f },
+ { 0x0304, 0x022b },
+ { 0x0301, 0x01ff },
+ { 0x0307, 0x1e64 },
+ { 0x0307, 0x1e65 },
+ { 0x0307, 0x1e66 },
+ { 0x0307, 0x1e67 },
+ { 0x0301, 0x1e78 },
+ { 0x0301, 0x1e79 },
+ { 0x0308, 0x1e7a },
+ { 0x0308, 0x1e7b },
+ { 0x0307, 0x1e9b },
+ { 0x030c, 0x01ee },
+ { 0x0304, 0x01ec },
+ { 0x0304, 0x01ed },
+ { 0x0304, 0x01e0 },
+ { 0x0304, 0x01e1 },
+ { 0x0306, 0x1e1c },
+ { 0x0306, 0x1e1d },
+ { 0x0304, 0x0230 },
+ { 0x0304, 0x0231 },
+ { 0x030c, 0x01ef },
+ { 0x0314, 0x1fec },
+ { 0x0345, 0x1fb4 },
+ { 0x0345, 0x1fc4 },
+ { 0x0345, 0x1ff4 },
+ { 0x0308, 0x0407 },
+ { 0x0301, 0x0403 },
+ { 0x0308, 0x04de },
+ { 0x0301, 0x040c },
+ { 0x0308, 0x04e6 },
+ { 0x0308, 0x04f4 },
+ { 0x0308, 0x04f8 },
+ { 0x0308, 0x04ec },
+ { 0x0301, 0x0453 },
+ { 0x0308, 0x04df },
+ { 0x0301, 0x045c },
+ { 0x0308, 0x04e7 },
+ { 0x0308, 0x04f5 },
+ { 0x0308, 0x04f9 },
+ { 0x0308, 0x04ed },
+ { 0x0308, 0x0457 },
+ { 0x030f, 0x0476 },
+ { 0x030f, 0x0477 },
+ { 0x0308, 0x04da },
+ { 0x0308, 0x04db },
+ { 0x0308, 0x04ea },
+ { 0x0308, 0x04eb },
+ { 0x0654, 0x0624 },
+ { 0x0654, 0x0626 },
+ { 0x0654, 0x06c2 },
+ { 0x0654, 0x06d3 },
+ { 0x0654, 0x06c0 },
+ { 0x093c, 0x0929 },
+ { 0x093c, 0x0931 },
+ { 0x093c, 0x0934 },
+ { 0x0bd7, 0x0b94 },
+ { 0x0bbe, 0x0bcb },
+ { 0x0c56, 0x0c48 },
+ { 0x0cd5, 0x0cc0 },
+ { 0x0cd5, 0x0ccb },
+ { 0x0d3e, 0x0d4b },
+ { 0x0dca, 0x0ddd },
+ { 0x102e, 0x1026 },
+ { 0x0304, 0x1e38 },
+ { 0x0304, 0x1e39 },
+ { 0x0304, 0x1e5c },
+ { 0x0304, 0x1e5d },
+ { 0x0307, 0x1e68 },
+ { 0x0307, 0x1e69 },
+ { 0x0302, 0x1ec6 },
+ { 0x0302, 0x1ec7 },
+ { 0x0302, 0x1ed8 },
+ { 0x0302, 0x1ed9 },
+ { 0x0345, 0x1f82 },
+ { 0x0345, 0x1f83 },
+ { 0x0345, 0x1f84 },
+ { 0x0345, 0x1f85 },
+ { 0x0345, 0x1f86 },
+ { 0x0345, 0x1f87 },
+ { 0x0345, 0x1f8a },
+ { 0x0345, 0x1f8b },
+ { 0x0345, 0x1f8c },
+ { 0x0345, 0x1f8d },
+ { 0x0345, 0x1f8e },
+ { 0x0345, 0x1f8f },
+ { 0x0345, 0x1f92 },
+ { 0x0345, 0x1f93 },
+ { 0x0345, 0x1f94 },
+ { 0x0345, 0x1f95 },
+ { 0x0345, 0x1f96 },
+ { 0x0345, 0x1f97 },
+ { 0x0345, 0x1f9a },
+ { 0x0345, 0x1f9b },
+ { 0x0345, 0x1f9c },
+ { 0x0345, 0x1f9d },
+ { 0x0345, 0x1f9e },
+ { 0x0345, 0x1f9f },
+ { 0x0345, 0x1fa2 },
+ { 0x0345, 0x1fa3 },
+ { 0x0345, 0x1fa4 },
+ { 0x0345, 0x1fa5 },
+ { 0x0345, 0x1fa6 },
+ { 0x0345, 0x1fa7 },
+ { 0x0345, 0x1faa },
+ { 0x0345, 0x1fab },
+ { 0x0345, 0x1fac },
+ { 0x0345, 0x1fad },
+ { 0x0345, 0x1fae },
+ { 0x0345, 0x1faf },
+ { 0x0345, 0x1fb2 },
+ { 0x0345, 0x1fc2 },
+ { 0x0345, 0x1ff2 },
+ { 0x0345, 0x1fb7 },
+ { 0x0345, 0x1fc7 },
+ { 0x0345, 0x1ff7 },
+ { 0x0338, 0x219a },
+ { 0x0338, 0x219b },
+ { 0x0338, 0x21ae },
+ { 0x0338, 0x21cd },
+ { 0x0338, 0x21cf },
+ { 0x0338, 0x21ce },
+ { 0x0338, 0x2204 },
+ { 0x0338, 0x2209 },
+ { 0x0338, 0x220c },
+ { 0x0338, 0x2224 },
+ { 0x0338, 0x2226 },
+ { 0x0338, 0x2241 },
+ { 0x0338, 0x2244 },
+ { 0x0338, 0x2247 },
+ { 0x0338, 0x2249 },
+ { 0x0338, 0x226d },
+ { 0x0338, 0x2262 },
+ { 0x0338, 0x2270 },
+ { 0x0338, 0x2271 },
+ { 0x0338, 0x2274 },
+ { 0x0338, 0x2275 },
+ { 0x0338, 0x2278 },
+ { 0x0338, 0x2279 },
+ { 0x0338, 0x2280 },
+ { 0x0338, 0x2281 },
+ { 0x0338, 0x22e0 },
+ { 0x0338, 0x22e1 },
+ { 0x0338, 0x2284 },
+ { 0x0338, 0x2285 },
+ { 0x0338, 0x2288 },
+ { 0x0338, 0x2289 },
+ { 0x0338, 0x22e2 },
+ { 0x0338, 0x22e3 },
+ { 0x0338, 0x22ac },
+ { 0x0338, 0x22ad },
+ { 0x0338, 0x22ae },
+ { 0x0338, 0x22af },
+ { 0x0338, 0x22ea },
+ { 0x0338, 0x22eb },
+ { 0x0338, 0x22ec },
+ { 0x0338, 0x22ed },
+ { 0x3099, 0x3094 },
+ { 0x3099, 0x304c },
+ { 0x3099, 0x304e },
+ { 0x3099, 0x3050 },
+ { 0x3099, 0x3052 },
+ { 0x3099, 0x3054 },
+ { 0x3099, 0x3056 },
+ { 0x3099, 0x3058 },
+ { 0x3099, 0x305a },
+ { 0x3099, 0x305c },
+ { 0x3099, 0x305e },
+ { 0x3099, 0x3060 },
+ { 0x3099, 0x3062 },
+ { 0x3099, 0x3065 },
+ { 0x3099, 0x3067 },
+ { 0x3099, 0x3069 },
+ { 0x3099, 0x309e },
+ { 0x3099, 0x30f4 },
+ { 0x3099, 0x30ac },
+ { 0x3099, 0x30ae },
+ { 0x3099, 0x30b0 },
+ { 0x3099, 0x30b2 },
+ { 0x3099, 0x30b4 },
+ { 0x3099, 0x30b6 },
+ { 0x3099, 0x30b8 },
+ { 0x3099, 0x30ba },
+ { 0x3099, 0x30bc },
+ { 0x3099, 0x30be },
+ { 0x3099, 0x30c0 },
+ { 0x3099, 0x30c2 },
+ { 0x3099, 0x30c5 },
+ { 0x3099, 0x30c7 },
+ { 0x3099, 0x30c9 },
+ { 0x3099, 0x30f7 },
+ { 0x3099, 0x30f8 },
+ { 0x3099, 0x30f9 },
+ { 0x3099, 0x30fa },
+ { 0x3099, 0x30fe }
+};
+static const guint16 compose_second_single[][2] = {
+ { 0x0627, 0x0622 },
+ { 0x0627, 0x0623 },
+ { 0x0627, 0x0625 },
+ { 0x09c7, 0x09cb },
+ { 0x09c7, 0x09cc },
+ { 0x0b47, 0x0b4b },
+ { 0x0b47, 0x0b48 },
+ { 0x0b47, 0x0b4c },
+ { 0x0bc6, 0x0bca },
+ { 0x0bc6, 0x0bcc },
+ { 0x0cc6, 0x0cca },
+ { 0x0cc6, 0x0cc7 },
+ { 0x0cc6, 0x0cc8 },
+ { 0x0d46, 0x0d4a },
+ { 0x0d46, 0x0d4c },
+ { 0x0dd9, 0x0dda },
+ { 0x0dd9, 0x0ddc },
+ { 0x0dd9, 0x0dde }
+};
+static const guint16 compose_array[146][31] = {
+ { 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x0100, 0x0102, 0x0226, 0x00c4, 0x1ea2, 0x00c5,      0, 0x01cd, 0x0200, 0x0202,      0,      0,      0, 0x1ea0,      0, 0x1e00,      0,      0, 0x0104,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e02,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e04,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e06,      0,      0,      0,      0 },
+ {      0, 0x0106, 0x0108,      0,      0,      0, 0x010a,      0,      0,      0,      0, 0x010c,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x00c7,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e0a,      0,      0,      0,      0, 0x010e,      0,      0,      0,      0,      0, 0x1e0c,      0,      0,      0, 0x1e10,      0, 0x1e12,      0,      0, 0x1e0e,      0,      0,      0,      0 },
+ { 0x00c8, 0x00c9, 0x00ca, 0x1ebc, 0x0112, 0x0114, 0x0116, 0x00cb, 0x1eba,      0,      0, 0x011a, 0x0204, 0x0206,      0,      0,      0, 0x1eb8,      0,      0,      0, 0x0228, 0x0118, 0x1e18,      0, 0x1e1a,      0,      0,      0,      0,      0 },
+ {      0, 0x01f4, 0x011c,      0, 0x1e20, 0x011e, 0x0120,      0,      0,      0,      0, 0x01e6,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x0122,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0, 0x0124,      0,      0,      0, 0x1e22, 0x1e26,      0,      0,      0, 0x021e,      0,      0,      0,      0,      0, 0x1e24,      0,      0,      0, 0x1e28,      0,      0, 0x1e2a,      0,      0,      0,      0,      0,      0 },
+ { 0x00cc, 0x00cd, 0x00ce, 0x0128, 0x012a, 0x012c, 0x0130, 0x00cf, 0x1ec8,      0,      0, 0x01cf, 0x0208, 0x020a,      0,      0,      0, 0x1eca,      0,      0,      0,      0, 0x012e,      0,      0, 0x1e2c,      0,      0,      0,      0,      0 },
+ {      0, 0x1e30,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x01e8,      0,      0,      0,      0,      0, 0x1e32,      0,      0,      0, 0x0136,      0,      0,      0,      0, 0x1e34,      0,      0,      0,      0 },
+ {      0, 0x0139,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x013d,      0,      0,      0,      0,      0, 0x1e36,      0,      0,      0, 0x013b,      0, 0x1e3c,      0,      0, 0x1e3a,      0,      0,      0,      0 },
+ {      0, 0x1e3e,      0,      0,      0,      0, 0x1e40,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e42,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x01f8, 0x0143,      0, 0x00d1,      0,      0, 0x1e44,      0,      0,      0,      0, 0x0147,      0,      0,      0,      0,      0, 0x1e46,      0,      0,      0, 0x0145,      0, 0x1e4a,      0,      0, 0x1e48,      0,      0,      0,      0 },
+ { 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x014c, 0x014e, 0x022e, 0x00d6, 0x1ece,      0, 0x0150, 0x01d1, 0x020c, 0x020e,      0,      0, 0x01a0, 0x1ecc,      0,      0,      0,      0, 0x01ea,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x1e54,      0,      0,      0,      0, 0x1e56,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x0154,      0,      0,      0,      0, 0x1e58,      0,      0,      0,      0, 0x0158, 0x0210, 0x0212,      0,      0,      0, 0x1e5a,      0,      0,      0, 0x0156,      0,      0,      0,      0, 0x1e5e,      0,      0,      0,      0 },
+ {      0, 0x015a, 0x015c,      0,      0,      0, 0x1e60,      0,      0,      0,      0, 0x0160,      0,      0,      0,      0,      0, 0x1e62,      0,      0, 0x0218, 0x015e,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e6a,      0,      0,      0,      0, 0x0164,      0,      0,      0,      0,      0, 0x1e6c,      0,      0, 0x021a, 0x0162,      0, 0x1e70,      0,      0, 0x1e6e,      0,      0,      0,      0 },
+ { 0x00d9, 0x00da, 0x00db, 0x0168, 0x016a, 0x016c,      0, 0x00dc, 0x1ee6, 0x016e, 0x0170, 0x01d3, 0x0214, 0x0216,      0,      0, 0x01af, 0x1ee4, 0x1e72,      0,      0,      0, 0x0172, 0x1e76,      0, 0x1e74,      0,      0,      0,      0,      0 },
+ {      0,      0,      0, 0x1e7c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e7e,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e80, 0x1e82, 0x0174,      0,      0,      0, 0x1e86, 0x1e84,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e88,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e8a, 0x1e8c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ef2, 0x00dd, 0x0176, 0x1ef8, 0x0232,      0, 0x1e8e, 0x0178, 0x1ef6,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ef4,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x0179, 0x1e90,      0,      0,      0, 0x017b,      0,      0,      0,      0, 0x017d,      0,      0,      0,      0,      0, 0x1e92,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e94,      0,      0,      0,      0 },
+ { 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x0101, 0x0103, 0x0227, 0x00e4, 0x1ea3, 0x00e5,      0, 0x01ce, 0x0201, 0x0203,      0,      0,      0, 0x1ea1,      0, 0x1e01,      0,      0, 0x0105,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e03,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e05,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e07,      0,      0,      0,      0 },
+ {      0, 0x0107, 0x0109,      0,      0,      0, 0x010b,      0,      0,      0,      0, 0x010d,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x00e7,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e0b,      0,      0,      0,      0, 0x010f,      0,      0,      0,      0,      0, 0x1e0d,      0,      0,      0, 0x1e11,      0, 0x1e13,      0,      0, 0x1e0f,      0,      0,      0,      0 },
+ { 0x00e8, 0x00e9, 0x00ea, 0x1ebd, 0x0113, 0x0115, 0x0117, 0x00eb, 0x1ebb,      0,      0, 0x011b, 0x0205, 0x0207,      0,      0,      0, 0x1eb9,      0,      0,      0, 0x0229, 0x0119, 0x1e19,      0, 0x1e1b,      0,      0,      0,      0,      0 },
+ {      0, 0x01f5, 0x011d,      0, 0x1e21, 0x011f, 0x0121,      0,      0,      0,      0, 0x01e7,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x0123,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0, 0x0125,      0,      0,      0, 0x1e23, 0x1e27,      0,      0,      0, 0x021f,      0,      0,      0,      0,      0, 0x1e25,      0,      0,      0, 0x1e29,      0,      0, 0x1e2b,      0, 0x1e96,      0,      0,      0,      0 },
+ { 0x00ec, 0x00ed, 0x00ee, 0x0129, 0x012b, 0x012d,      0, 0x00ef, 0x1ec9,      0,      0, 0x01d0, 0x0209, 0x020b,      0,      0,      0, 0x1ecb,      0,      0,      0,      0, 0x012f,      0,      0, 0x1e2d,      0,      0,      0,      0,      0 },
+ {      0,      0, 0x0135,      0,      0,      0,      0,      0,      0,      0,      0, 0x01f0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x1e31,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x01e9,      0,      0,      0,      0,      0, 0x1e33,      0,      0,      0, 0x0137,      0,      0,      0,      0, 0x1e35,      0,      0,      0,      0 },
+ {      0, 0x013a,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x013e,      0,      0,      0,      0,      0, 0x1e37,      0,      0,      0, 0x013c,      0, 0x1e3d,      0,      0, 0x1e3b,      0,      0,      0,      0 },
+ {      0, 0x1e3f,      0,      0,      0,      0, 0x1e41,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e43,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x01f9, 0x0144,      0, 0x00f1,      0,      0, 0x1e45,      0,      0,      0,      0, 0x0148,      0,      0,      0,      0,      0, 0x1e47,      0,      0,      0, 0x0146,      0, 0x1e4b,      0,      0, 0x1e49,      0,      0,      0,      0 },
+ { 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x014d, 0x014f, 0x022f, 0x00f6, 0x1ecf,      0, 0x0151, 0x01d2, 0x020d, 0x020f,      0,      0, 0x01a1, 0x1ecd,      0,      0,      0,      0, 0x01eb,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x1e55,      0,      0,      0,      0, 0x1e57,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x0155,      0,      0,      0,      0, 0x1e59,      0,      0,      0,      0, 0x0159, 0x0211, 0x0213,      0,      0,      0, 0x1e5b,      0,      0,      0, 0x0157,      0,      0,      0,      0, 0x1e5f,      0,      0,      0,      0 },
+ {      0, 0x015b, 0x015d,      0,      0,      0, 0x1e61,      0,      0,      0,      0, 0x0161,      0,      0,      0,      0,      0, 0x1e63,      0,      0, 0x0219, 0x015f,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e6b, 0x1e97,      0,      0,      0, 0x0165,      0,      0,      0,      0,      0, 0x1e6d,      0,      0, 0x021b, 0x0163,      0, 0x1e71,      0,      0, 0x1e6f,      0,      0,      0,      0 },
+ { 0x00f9, 0x00fa, 0x00fb, 0x0169, 0x016b, 0x016d,      0, 0x00fc, 0x1ee7, 0x016f, 0x0171, 0x01d4, 0x0215, 0x0217,      0,      0, 0x01b0, 0x1ee5, 0x1e73,      0,      0,      0, 0x0173, 0x1e77,      0, 0x1e75,      0,      0,      0,      0,      0 },
+ {      0,      0,      0, 0x1e7d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e7f,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e81, 0x1e83, 0x0175,      0,      0,      0, 0x1e87, 0x1e85,      0, 0x1e98,      0,      0,      0,      0,      0,      0,      0, 0x1e89,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0, 0x1e8b, 0x1e8d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ef3, 0x00fd, 0x0177, 0x1ef9, 0x0233,      0, 0x1e8f, 0x00ff, 0x1ef7, 0x1e99,      0,      0,      0,      0,      0,      0,      0, 0x1ef5,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x017a, 0x1e91,      0,      0,      0, 0x017c,      0,      0,      0,      0, 0x017e,      0,      0,      0,      0,      0, 0x1e93,      0,      0,      0,      0,      0,      0,      0,      0, 0x1e95,      0,      0,      0,      0 },
+ { 0x1fed, 0x0385,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fc1,      0,      0,      0 },
+ { 0x1ea6, 0x1ea4,      0, 0x1eaa,      0,      0,      0,      0, 0x1ea8,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x01fc,      0,      0, 0x01e2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ec0, 0x1ebe,      0, 0x1ec4,      0,      0,      0,      0, 0x1ec2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ed2, 0x1ed0,      0, 0x1ed6,      0,      0,      0,      0, 0x1ed4,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x1e4c,      0,      0, 0x022c,      0,      0, 0x1e4e,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x01db, 0x01d7,      0,      0, 0x01d5,      0,      0,      0,      0,      0,      0, 0x01d9,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ea7, 0x1ea5,      0, 0x1eab,      0,      0,      0,      0, 0x1ea9,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x01fd,      0,      0, 0x01e3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ec1, 0x1ebf,      0, 0x1ec5,      0,      0,      0,      0, 0x1ec3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ed3, 0x1ed1,      0, 0x1ed7,      0,      0,      0,      0, 0x1ed5,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0, 0x1e4d,      0,      0, 0x022d,      0,      0, 0x1e4f,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x01dc, 0x01d8,      0,      0, 0x01d6,      0,      0,      0,      0,      0,      0, 0x01da,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1eb0, 0x1eae,      0, 0x1eb4,      0,      0,      0,      0, 0x1eb2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1eb1, 0x1eaf,      0, 0x1eb5,      0,      0,      0,      0, 0x1eb3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e14, 0x1e16,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e15, 0x1e17,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e50, 0x1e52,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1e51, 0x1e53,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1edc, 0x1eda,      0, 0x1ee0,      0,      0,      0,      0, 0x1ede,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ee2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1edd, 0x1edb,      0, 0x1ee1,      0,      0,      0,      0, 0x1edf,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ee3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1eea, 0x1ee8,      0, 0x1eee,      0,      0,      0,      0, 0x1eec,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ef0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1eeb, 0x1ee9,      0, 0x1eef,      0,      0,      0,      0, 0x1eed,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ef1,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1fba, 0x0386,      0,      0, 0x1fb9, 0x1fb8,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f08, 0x1f09,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fbc,      0,      0 },
+ { 0x1fc8, 0x0388,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f18, 0x1f19,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1fca, 0x0389,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f28, 0x1f29,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fcc,      0,      0 },
+ { 0x1fda, 0x038a,      0,      0, 0x1fd9, 0x1fd8,      0, 0x03aa,      0,      0,      0,      0,      0,      0, 0x1f38, 0x1f39,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ff8, 0x038c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f48, 0x1f49,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1fea, 0x038e,      0,      0, 0x1fe9, 0x1fe8,      0, 0x03ab,      0,      0,      0,      0,      0,      0,      0, 0x1f59,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1ffa, 0x038f,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f68, 0x1f69,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ffc,      0,      0 },
+ { 0x1f70, 0x03ac,      0,      0, 0x1fb1, 0x1fb0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f00, 0x1f01,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fb6, 0x1fb3,      0,      0 },
+ { 0x1f72, 0x03ad,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f10, 0x1f11,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f74, 0x03ae,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f20, 0x1f21,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fc6, 0x1fc3,      0,      0 },
+ { 0x1f76, 0x03af,      0,      0, 0x1fd1, 0x1fd0,      0, 0x03ca,      0,      0,      0,      0,      0,      0, 0x1f30, 0x1f31,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fd6,      0,      0,      0 },
+ { 0x1f78, 0x03cc,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f40, 0x1f41,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fe4, 0x1fe5,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f7a, 0x03cd,      0,      0, 0x1fe1, 0x1fe0,      0, 0x03cb,      0,      0,      0,      0,      0,      0, 0x1f50, 0x1f51,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fe6,      0,      0,      0 },
+ { 0x1f7c, 0x03ce,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f60, 0x1f61,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1ff6, 0x1ff3,      0,      0 },
+ { 0x1fd2, 0x0390,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fd7,      0,      0,      0 },
+ { 0x1fe2, 0x03b0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fe7,      0,      0,      0 },
+ {      0, 0x03d3,      0,      0,      0,      0,      0, 0x03d4,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0, 0x04d0,      0, 0x04d2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x0400,      0,      0,      0,      0, 0x04d6,      0, 0x0401,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0, 0x04c1,      0, 0x04dc,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x040d,      0,      0,      0, 0x04e2, 0x0419,      0, 0x04e4,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0, 0x04ee, 0x040e,      0, 0x04f0,      0,      0, 0x04f2,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0, 0x04d1,      0, 0x04d3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x0450,      0,      0,      0,      0, 0x04d7,      0, 0x0451,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0, 0x04c2,      0, 0x04dd,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x045d,      0,      0,      0, 0x04e3, 0x0439,      0, 0x04e5,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0, 0x04ef, 0x045e,      0, 0x04f1,      0,      0, 0x04f3,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0, 0x1eac,      0,      0, 0x1eb6,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ {      0,      0, 0x1ead,      0,      0, 0x1eb7,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f02, 0x1f04,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f06, 0x1f80,      0,      0 },
+ { 0x1f03, 0x1f05,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f07, 0x1f81,      0,      0 },
+ { 0x1f0a, 0x1f0c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f0e, 0x1f88,      0,      0 },
+ { 0x1f0b, 0x1f0d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f0f, 0x1f89,      0,      0 },
+ { 0x1f12, 0x1f14,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f13, 0x1f15,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f1a, 0x1f1c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f1b, 0x1f1d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f22, 0x1f24,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f26, 0x1f90,      0,      0 },
+ { 0x1f23, 0x1f25,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f27, 0x1f91,      0,      0 },
+ { 0x1f2a, 0x1f2c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f2e, 0x1f98,      0,      0 },
+ { 0x1f2b, 0x1f2d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f2f, 0x1f99,      0,      0 },
+ { 0x1f32, 0x1f34,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f36,      0,      0,      0 },
+ { 0x1f33, 0x1f35,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f37,      0,      0,      0 },
+ { 0x1f3a, 0x1f3c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f3e,      0,      0,      0 },
+ { 0x1f3b, 0x1f3d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f3f,      0,      0,      0 },
+ { 0x1f42, 0x1f44,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f43, 0x1f45,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f4a, 0x1f4c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f4b, 0x1f4d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0 },
+ { 0x1f52, 0x1f54,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f56,      0,      0,      0 },
+ { 0x1f53, 0x1f55,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f57,      0,      0,      0 },
+ { 0x1f5b, 0x1f5d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f5f,      0,      0,      0 },
+ { 0x1f62, 0x1f64,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f66, 0x1fa0,      0,      0 },
+ { 0x1f63, 0x1f65,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f67, 0x1fa1,      0,      0 },
+ { 0x1f6a, 0x1f6c,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f6e, 0x1fa8,      0,      0 },
+ { 0x1f6b, 0x1f6d,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1f6f, 0x1fa9,      0,      0 },
+ { 0x1fcd, 0x1fce,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fcf,      0,      0,      0 },
+ { 0x1fdd, 0x1fde,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x1fdf,      0,      0,      0 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x3070, 0x3071 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x3073, 0x3074 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x3076, 0x3077 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x3079, 0x307a },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x307c, 0x307d },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x30d0, 0x30d1 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x30d3, 0x30d4 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x30d6, 0x30d7 },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x30d9, 0x30da },
+ {      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0, 0x30dc, 0x30dd }
+};
diff --git a/libidn/gunidecomp.h b/libidn/gunidecomp.h
new file mode 100644
index 0000000000..ead1945781
--- /dev/null
+++ b/libidn/gunidecomp.h
@@ -0,0 +1,10362 @@
+/* This file is automatically generated.  DO NOT EDIT! */
+
+#ifndef DECOMP_H
+#define DECOMP_H
+
+#define G_UNICODE_LAST_CHAR 0x10ffff
+
+#define G_UNICODE_MAX_TABLE_INDEX (0x110000 / 256)
+
+#define G_UNICODE_LAST_CHAR_PART1 0x2FAFF
+
+#define G_UNICODE_LAST_PAGE_PART1 762
+
+#define G_UNICODE_NOT_PRESENT_OFFSET 65535
+
+static const guchar cclass_data[][256] = {
+  { /* page 3, index 0 */
+    230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 
+    230, 230, 230, 230, 230, 230, 230, 232, 220, 220, 220, 220, 232, 216, 
+    220, 220, 220, 220, 220, 202, 202, 220, 220, 220, 220, 202, 202, 220, 
+    220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 1, 1, 1, 1, 1, 220, 
+    220, 220, 220, 230, 230, 230, 230, 230, 230, 230, 230, 240, 230, 220, 
+    220, 220, 230, 230, 230, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 234, 234, 233, 230, 230, 230, 230, 230, 230, 230, 230, 230, 
+    230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0
+  },
+  { /* page 4, index 1 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 5, index 2 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 220, 230, 230, 230, 230, 220, 230, 230, 230, 222, 220, 230, 230, 230, 
+    230, 230, 230, 0, 220, 220, 220, 220, 220, 230, 230, 220, 230, 230, 222, 
+    228, 230, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 20, 21, 22, 0, 23, 
+    0, 24, 25, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 6, index 3 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 230, 230, 220, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 230, 230, 230, 230, 230, 230, 230, 0, 0, 230, 230, 230, 230, 220, 
+    230, 0, 0, 230, 230, 0, 220, 230, 230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 7, index 4 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    230, 220, 230, 230, 220, 230, 230, 220, 220, 220, 230, 220, 220, 230, 
+    220, 230, 230, 230, 220, 230, 220, 230, 220, 230, 220, 230, 230, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 9, index 5 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 9, 0, 0, 0, 230, 220, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 10, index 6 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 11, index 7 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 12, index 8 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 84, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 13, index 9 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 14, index 10 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 15, index 11 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 220, 0, 220, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, 
+    132, 0, 0, 0, 0, 0, 130, 130, 130, 130, 0, 0, 130, 0, 230, 230, 9, 0, 
+    230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0
+  },
+  { /* page 16, index 12 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 23, index 13 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 24, index 14 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 32, index 15 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 1, 1, 230, 230, 
+    230, 230, 1, 1, 1, 230, 230, 0, 0, 0, 0, 230, 0, 0, 0, 1, 1, 230, 220, 
+    230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 48, index 16 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 228, 232, 222, 
+    224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 251, index 17 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 254, index 18 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+  },
+  { /* page 465, index 19 */
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 216, 216, 1, 1, 1, 0, 0, 0, 226, 216, 216, 216, 216, 216, 
+    0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 220, 220, 220, 220, 220, 0, 0, 
+    230, 230, 230, 230, 230, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0
+  }
+};
+
+static const gint16 combining_class_table_part1[763] = {
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 /* page 3 */,
+  1 /* page 4 */,
+  2 /* page 5 */,
+  3 /* page 6 */,
+  4 /* page 7 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  5 /* page 9 */,
+  6 /* page 10 */,
+  7 /* page 11 */,
+  8 /* page 12 */,
+  9 /* page 13 */,
+  10 /* page 14 */,
+  11 /* page 15 */,
+  12 /* page 16 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  13 /* page 23 */,
+  14 /* page 24 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  15 /* page 32 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  16 /* page 48 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  17 /* page 251 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  18 /* page 254 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  19 /* page 465 */,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX
+};
+
+static const gint16 combining_class_table_part2[768] = {
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX,
+  0 + G_UNICODE_MAX_TABLE_INDEX
+};
+
+typedef struct
+{
+  gunichar ch;
+  guint16 canon_offset;
+  guint16 compat_offset;
+} decomposition;
+
+static const decomposition decomp_table[] =
+{
+  { 0x00a0, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x00a8, G_UNICODE_NOT_PRESENT_OFFSET, 2 },
+  { 0x00aa, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x00af, G_UNICODE_NOT_PRESENT_OFFSET, 8 },
+  { 0x00b2, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x00b3, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x00b4, G_UNICODE_NOT_PRESENT_OFFSET, 16 },
+  { 0x00b5, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x00b8, G_UNICODE_NOT_PRESENT_OFFSET, 23 },
+  { 0x00b9, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x00ba, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x00bc, G_UNICODE_NOT_PRESENT_OFFSET, 31 },
+  { 0x00bd, G_UNICODE_NOT_PRESENT_OFFSET, 37 },
+  { 0x00be, G_UNICODE_NOT_PRESENT_OFFSET, 43 },
+  { 0x00c0, 49, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c1, 53, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c2, 57, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c3, 61, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c4, 65, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c5, 69, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c7, 73, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c8, 77, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00c9, 81, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ca, 85, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00cb, 89, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00cc, 93, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00cd, 97, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ce, 101, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00cf, 105, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d1, 109, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d2, 113, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d3, 117, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d4, 121, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d5, 125, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d6, 129, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00d9, 133, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00da, 137, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00db, 141, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00dc, 145, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00dd, 149, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e0, 153, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e1, 157, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e2, 161, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e3, 165, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e4, 169, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e5, 173, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e7, 177, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e8, 181, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00e9, 185, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ea, 189, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00eb, 193, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ec, 197, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ed, 201, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ee, 205, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ef, 209, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f1, 213, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f2, 217, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f3, 221, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f4, 225, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f5, 229, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f6, 233, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00f9, 237, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00fa, 241, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00fb, 245, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00fc, 249, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00fd, 253, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x00ff, 257, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0100, 261, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0101, 265, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0102, 269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0103, 273, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0104, 277, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0105, 281, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0106, 285, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0107, 289, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0108, 293, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0109, 297, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010a, 301, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010b, 305, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010c, 309, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010d, 313, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010e, 317, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x010f, 321, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0112, 325, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0113, 329, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0114, 333, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0115, 337, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0116, 341, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0117, 345, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0118, 349, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0119, 353, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011a, 357, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011b, 361, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011c, 365, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011d, 369, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011e, 373, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x011f, 377, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0120, 381, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0121, 385, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0122, 389, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0123, 393, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0124, 397, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0125, 401, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0128, 405, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0129, 409, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012a, 413, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012b, 417, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012c, 421, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012d, 425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012e, 429, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x012f, 433, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0130, 437, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0132, G_UNICODE_NOT_PRESENT_OFFSET, 441 },
+  { 0x0133, G_UNICODE_NOT_PRESENT_OFFSET, 444 },
+  { 0x0134, 447, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0135, 451, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0136, 455, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0137, 459, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0139, 463, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013a, 467, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013b, 471, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013c, 475, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013d, 479, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013e, 483, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x013f, G_UNICODE_NOT_PRESENT_OFFSET, 487 },
+  { 0x0140, G_UNICODE_NOT_PRESENT_OFFSET, 491 },
+  { 0x0143, 495, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0144, 499, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0145, 503, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0146, 507, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0147, 511, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0148, 515, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0149, G_UNICODE_NOT_PRESENT_OFFSET, 519 },
+  { 0x014c, 523, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x014d, 527, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x014e, 531, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x014f, 535, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0150, 539, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0151, 543, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0154, 547, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0155, 551, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0156, 555, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0157, 559, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0158, 563, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0159, 567, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015a, 571, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015b, 575, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015c, 579, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015d, 583, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015e, 587, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x015f, 591, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0160, 595, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0161, 599, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0162, 603, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0163, 607, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0164, 611, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0165, 615, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0168, 619, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0169, 623, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016a, 627, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016b, 631, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016c, 635, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016d, 639, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016e, 643, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x016f, 647, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0170, 651, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0171, 655, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0172, 659, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0173, 663, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0174, 667, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0175, 671, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0176, 675, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0177, 679, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0178, 683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0179, 687, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017a, 691, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017b, 695, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017c, 699, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017d, 703, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017e, 707, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x017f, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x01a0, 713, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01a1, 717, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01af, 721, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01b0, 725, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01c4, G_UNICODE_NOT_PRESENT_OFFSET, 729 },
+  { 0x01c5, G_UNICODE_NOT_PRESENT_OFFSET, 734 },
+  { 0x01c6, G_UNICODE_NOT_PRESENT_OFFSET, 739 },
+  { 0x01c7, G_UNICODE_NOT_PRESENT_OFFSET, 744 },
+  { 0x01c8, G_UNICODE_NOT_PRESENT_OFFSET, 747 },
+  { 0x01c9, G_UNICODE_NOT_PRESENT_OFFSET, 750 },
+  { 0x01ca, G_UNICODE_NOT_PRESENT_OFFSET, 753 },
+  { 0x01cb, G_UNICODE_NOT_PRESENT_OFFSET, 756 },
+  { 0x01cc, G_UNICODE_NOT_PRESENT_OFFSET, 759 },
+  { 0x01cd, 762, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ce, 766, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01cf, 770, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d0, 774, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d1, 778, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d2, 782, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d3, 786, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d4, 790, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d5, 794, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d6, 800, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d7, 806, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d8, 812, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01d9, 818, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01da, 824, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01db, 830, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01dc, 836, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01de, 842, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01df, 848, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e0, 854, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e1, 860, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e2, 866, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e3, 871, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e6, 876, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e7, 880, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e8, 884, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01e9, 888, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ea, 892, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01eb, 896, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ec, 900, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ed, 906, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ee, 912, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ef, 917, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01f0, 922, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01f1, G_UNICODE_NOT_PRESENT_OFFSET, 926 },
+  { 0x01f2, G_UNICODE_NOT_PRESENT_OFFSET, 929 },
+  { 0x01f3, G_UNICODE_NOT_PRESENT_OFFSET, 932 },
+  { 0x01f4, 935, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01f5, 939, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01f8, 943, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01f9, 947, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01fa, 951, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01fb, 957, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01fc, 963, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01fd, 968, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01fe, 973, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x01ff, 978, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0200, 983, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0201, 987, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0202, 991, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0203, 995, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0204, 999, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0205, 1003, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0206, 1007, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0207, 1011, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0208, 1015, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0209, 1019, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020a, 1023, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020b, 1027, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020c, 1031, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020d, 1035, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020e, 1039, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x020f, 1043, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0210, 1047, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0211, 1051, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0212, 1055, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0213, 1059, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0214, 1063, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0215, 1067, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0216, 1071, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0217, 1075, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0218, 1079, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0219, 1083, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x021a, 1087, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x021b, 1091, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x021e, 1095, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x021f, 1099, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0226, 1103, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0227, 1107, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0228, 1111, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0229, 1115, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022a, 1119, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022b, 1125, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022c, 1131, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022d, 1137, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022e, 1143, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x022f, 1147, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0230, 1151, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0231, 1157, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0232, 1163, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0233, 1167, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x02b0, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x02b1, G_UNICODE_NOT_PRESENT_OFFSET, 1173 },
+  { 0x02b2, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x02b3, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x02b4, G_UNICODE_NOT_PRESENT_OFFSET, 1180 },
+  { 0x02b5, G_UNICODE_NOT_PRESENT_OFFSET, 1183 },
+  { 0x02b6, G_UNICODE_NOT_PRESENT_OFFSET, 1186 },
+  { 0x02b7, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x02b8, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x02d8, G_UNICODE_NOT_PRESENT_OFFSET, 1193 },
+  { 0x02d9, G_UNICODE_NOT_PRESENT_OFFSET, 1197 },
+  { 0x02da, G_UNICODE_NOT_PRESENT_OFFSET, 1201 },
+  { 0x02db, G_UNICODE_NOT_PRESENT_OFFSET, 1205 },
+  { 0x02dc, G_UNICODE_NOT_PRESENT_OFFSET, 1209 },
+  { 0x02dd, G_UNICODE_NOT_PRESENT_OFFSET, 1213 },
+  { 0x02e0, G_UNICODE_NOT_PRESENT_OFFSET, 1217 },
+  { 0x02e1, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x02e2, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x02e3, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x02e4, G_UNICODE_NOT_PRESENT_OFFSET, 1224 },
+  { 0x0340, 1227, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0341, 1230, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0343, 1233, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0344, 1236, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0374, 1241, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x037a, G_UNICODE_NOT_PRESENT_OFFSET, 1244 },
+  { 0x037e, 1248, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0384, G_UNICODE_NOT_PRESENT_OFFSET, 16 },
+  { 0x0385, 1250, 1255 },
+  { 0x0386, 1261, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0387, 1266, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0388, 1269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0389, 1274, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x038a, 1279, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x038c, 1284, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x038e, 1289, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x038f, 1294, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0390, 1299, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03aa, 1306, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ab, 1311, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ac, 1316, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ad, 1321, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ae, 1326, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03af, 1331, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03b0, 1336, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ca, 1343, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03cb, 1348, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03cc, 1353, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03cd, 1358, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03ce, 1363, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x03d0, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x03d1, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x03d2, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x03d3, 1377, 1289 },
+  { 0x03d4, 1382, 1311 },
+  { 0x03d5, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x03d6, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x03f0, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x03f1, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x03f2, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x03f4, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x03f5, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x0400, 1408, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0401, 1413, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0403, 1418, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0407, 1423, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x040c, 1428, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x040d, 1433, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x040e, 1438, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0419, 1443, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0439, 1448, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0450, 1453, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0451, 1458, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0453, 1463, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0457, 1468, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x045c, 1473, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x045d, 1478, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x045e, 1483, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0476, 1488, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0477, 1493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04c1, 1498, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04c2, 1503, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d0, 1508, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d1, 1513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d2, 1518, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d3, 1523, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d6, 1528, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04d7, 1533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04da, 1538, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04db, 1543, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04dc, 1548, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04dd, 1553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04de, 1558, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04df, 1563, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e2, 1568, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e3, 1573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e4, 1578, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e5, 1583, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e6, 1588, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04e7, 1593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04ea, 1598, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04eb, 1603, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04ec, 1608, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04ed, 1613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04ee, 1618, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04ef, 1623, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f0, 1628, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f1, 1633, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f2, 1638, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f3, 1643, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f4, 1648, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f5, 1653, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f8, 1658, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x04f9, 1663, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0587, G_UNICODE_NOT_PRESENT_OFFSET, 1668 },
+  { 0x0622, 1673, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0623, 1678, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0624, 1683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0625, 1688, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0626, 1693, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0675, G_UNICODE_NOT_PRESENT_OFFSET, 1698 },
+  { 0x0676, G_UNICODE_NOT_PRESENT_OFFSET, 1703 },
+  { 0x0677, G_UNICODE_NOT_PRESENT_OFFSET, 1708 },
+  { 0x0678, G_UNICODE_NOT_PRESENT_OFFSET, 1713 },
+  { 0x06c0, 1718, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x06c2, 1723, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x06d3, 1728, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0929, 1733, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0931, 1740, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0934, 1747, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0958, 1754, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0959, 1761, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095a, 1768, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095b, 1775, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095c, 1782, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095d, 1789, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095e, 1796, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x095f, 1803, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x09cb, 1810, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x09cc, 1817, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x09dc, 1824, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x09dd, 1831, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x09df, 1838, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a33, 1845, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a36, 1852, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a59, 1859, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a5a, 1866, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a5b, 1873, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0a5e, 1880, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b48, 1887, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b4b, 1894, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b4c, 1901, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b5c, 1908, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b5d, 1915, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0b94, 1922, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0bca, 1929, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0bcb, 1936, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0bcc, 1943, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0c48, 1950, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0cc0, 1957, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0cc7, 1964, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0cc8, 1971, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0cca, 1978, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0ccb, 1985, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0d4a, 1995, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0d4b, 2002, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0d4c, 2009, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0dda, 2016, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0ddc, 2023, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0ddd, 2030, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0dde, 2040, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0e33, G_UNICODE_NOT_PRESENT_OFFSET, 2047 },
+  { 0x0eb3, G_UNICODE_NOT_PRESENT_OFFSET, 2054 },
+  { 0x0edc, G_UNICODE_NOT_PRESENT_OFFSET, 2061 },
+  { 0x0edd, G_UNICODE_NOT_PRESENT_OFFSET, 2068 },
+  { 0x0f0c, G_UNICODE_NOT_PRESENT_OFFSET, 2075 },
+  { 0x0f43, 2079, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f4d, 2086, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f52, 2093, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f57, 2100, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f5c, 2107, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f69, 2114, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f73, 2121, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f75, 2128, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f76, 2135, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f77, G_UNICODE_NOT_PRESENT_OFFSET, 2142 },
+  { 0x0f78, 2152, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f79, G_UNICODE_NOT_PRESENT_OFFSET, 2159 },
+  { 0x0f81, 2169, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f93, 2176, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0f9d, 2183, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0fa2, 2190, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0fa7, 2197, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0fac, 2204, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x0fb9, 2211, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1026, 2218, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e00, 2225, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e01, 2229, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e02, 2233, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e03, 2237, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e04, 2241, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e05, 2245, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e06, 2249, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e07, 2253, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e08, 2257, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e09, 2263, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0a, 2269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0b, 2273, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0c, 2277, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0d, 2281, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0e, 2285, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e0f, 2289, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e10, 2293, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e11, 2297, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e12, 2301, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e13, 2305, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e14, 2309, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e15, 2315, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e16, 2321, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e17, 2327, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e18, 2333, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e19, 2337, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1a, 2341, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1b, 2345, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1c, 2349, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1d, 2355, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1e, 2361, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e1f, 2365, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e20, 2369, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e21, 2373, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e22, 2377, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e23, 2381, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e24, 2385, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e25, 2389, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e26, 2393, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e27, 2397, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e28, 2401, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e29, 2405, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2a, 2409, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2b, 2413, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2c, 2417, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2d, 2421, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2e, 2425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e2f, 2431, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e30, 2437, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e31, 2441, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e32, 2445, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e33, 2449, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e34, 2453, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e35, 2457, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e36, 2461, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e37, 2465, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e38, 2469, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e39, 2475, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3a, 2481, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3b, 2485, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3c, 2489, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3d, 2493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3e, 2497, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e3f, 2501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e40, 2505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e41, 2509, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e42, 2513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e43, 2517, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e44, 2521, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e45, 2525, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e46, 2529, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e47, 2533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e48, 2537, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e49, 2541, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4a, 2545, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4b, 2549, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4c, 2553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4d, 2559, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4e, 2565, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e4f, 2571, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e50, 2577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e51, 2583, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e52, 2589, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e53, 2595, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e54, 2601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e55, 2605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e56, 2609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e57, 2613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e58, 2617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e59, 2621, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5a, 2625, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5b, 2629, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5c, 2633, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5d, 2639, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5e, 2645, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e5f, 2649, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e60, 2653, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e61, 2657, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e62, 2661, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e63, 2665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e64, 2669, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e65, 2675, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e66, 2681, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e67, 2687, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e68, 2693, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e69, 2699, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6a, 2705, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6b, 2709, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6c, 2713, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6d, 2717, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6e, 2721, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e6f, 2725, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e70, 2729, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e71, 2733, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e72, 2737, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e73, 2741, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e74, 2745, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e75, 2749, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e76, 2753, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e77, 2757, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e78, 2761, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e79, 2767, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7a, 2773, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7b, 2779, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7c, 2785, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7d, 2789, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7e, 2793, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e7f, 2797, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e80, 2801, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e81, 2805, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e82, 2809, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e83, 2813, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e84, 2817, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e85, 2821, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e86, 2825, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e87, 2829, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e88, 2833, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e89, 2837, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8a, 2841, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8b, 2845, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8c, 2849, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8d, 2853, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8e, 2857, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e8f, 2861, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e90, 2865, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e91, 2869, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e92, 2873, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e93, 2877, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e94, 2881, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e95, 2885, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e96, 2889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e97, 2893, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e98, 2897, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e99, 2901, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1e9a, G_UNICODE_NOT_PRESENT_OFFSET, 2905 },
+  { 0x1e9b, 2909, 2657 },
+  { 0x1ea0, 2914, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea1, 2918, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea2, 2922, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea3, 2926, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea4, 2930, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea5, 2936, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea6, 2942, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea7, 2948, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea8, 2954, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ea9, 2960, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eaa, 2966, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eab, 2972, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eac, 2978, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ead, 2984, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eae, 2990, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eaf, 2996, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb0, 3002, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb1, 3008, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb2, 3014, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb3, 3020, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb4, 3026, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb5, 3032, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb6, 3038, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb7, 3044, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb8, 3050, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eb9, 3054, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eba, 3058, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ebb, 3062, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ebc, 3066, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ebd, 3070, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ebe, 3074, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ebf, 3080, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec0, 3086, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec1, 3092, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec2, 3098, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec3, 3104, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec4, 3110, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec5, 3116, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec6, 3122, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec7, 3128, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec8, 3134, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ec9, 3138, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eca, 3142, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ecb, 3146, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ecc, 3150, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ecd, 3154, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ece, 3158, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ecf, 3162, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed0, 3166, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed1, 3172, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed2, 3178, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed3, 3184, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed4, 3190, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed5, 3196, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed6, 3202, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed7, 3208, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed8, 3214, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ed9, 3220, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eda, 3226, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1edb, 3232, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1edc, 3238, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1edd, 3244, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ede, 3250, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1edf, 3256, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee0, 3262, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee1, 3268, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee2, 3274, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee3, 3280, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee4, 3286, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee5, 3290, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee6, 3294, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee7, 3298, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee8, 3302, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ee9, 3308, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eea, 3314, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eeb, 3320, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eec, 3326, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eed, 3332, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eee, 3338, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1eef, 3344, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef0, 3350, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef1, 3356, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef2, 3362, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef3, 3366, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef4, 3370, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef5, 3374, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef6, 3378, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef7, 3382, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef8, 3386, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ef9, 3390, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f00, 3394, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f01, 3399, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f02, 3404, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f03, 3411, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f04, 3418, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f05, 3425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f06, 3432, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f07, 3439, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f08, 3446, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f09, 3451, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0a, 3456, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0b, 3463, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0c, 3470, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0d, 3477, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0e, 3484, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f0f, 3491, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f10, 3498, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f11, 3503, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f12, 3508, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f13, 3515, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f14, 3522, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f15, 3529, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f18, 3536, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f19, 3541, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f1a, 3546, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f1b, 3553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f1c, 3560, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f1d, 3567, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f20, 3574, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f21, 3579, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f22, 3584, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f23, 3591, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f24, 3598, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f25, 3605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f26, 3612, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f27, 3619, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f28, 3626, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f29, 3631, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2a, 3636, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2b, 3643, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2c, 3650, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2d, 3657, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2e, 3664, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f2f, 3671, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f30, 3678, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f31, 3683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f32, 3688, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f33, 3695, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f34, 3702, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f35, 3709, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f36, 3716, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f37, 3723, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f38, 3730, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f39, 3735, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3a, 3740, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3b, 3747, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3c, 3754, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3d, 3761, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3e, 3768, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f3f, 3775, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f40, 3782, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f41, 3787, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f42, 3792, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f43, 3799, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f44, 3806, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f45, 3813, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f48, 3820, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f49, 3825, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f4a, 3830, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f4b, 3837, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f4c, 3844, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f4d, 3851, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f50, 3858, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f51, 3863, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f52, 3868, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f53, 3875, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f54, 3882, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f55, 3889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f56, 3896, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f57, 3903, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f59, 3910, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f5b, 3915, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f5d, 3922, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f5f, 3929, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f60, 3936, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f61, 3941, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f62, 3946, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f63, 3953, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f64, 3960, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f65, 3967, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f66, 3974, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f67, 3981, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f68, 3988, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f69, 3993, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6a, 3998, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6b, 4005, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6c, 4012, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6d, 4019, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6e, 4026, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f6f, 4033, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f70, 4040, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f71, 1316, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f72, 4045, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f73, 1321, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f74, 4050, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f75, 1326, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f76, 4055, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f77, 1331, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f78, 4060, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f79, 1353, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f7a, 4065, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f7b, 1358, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f7c, 4070, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f7d, 1363, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f80, 4075, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f81, 4082, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f82, 4089, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f83, 4098, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f84, 4107, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f85, 4116, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f86, 4125, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f87, 4134, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f88, 4143, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f89, 4150, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8a, 4157, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8b, 4166, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8c, 4175, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8d, 4184, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8e, 4193, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f8f, 4202, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f90, 4211, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f91, 4218, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f92, 4225, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f93, 4234, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f94, 4243, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f95, 4252, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f96, 4261, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f97, 4270, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f98, 4279, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f99, 4286, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9a, 4293, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9b, 4302, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9c, 4311, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9d, 4320, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9e, 4329, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1f9f, 4338, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa0, 4347, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa1, 4354, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa2, 4361, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa3, 4370, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa4, 4379, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa5, 4388, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa6, 4397, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa7, 4406, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa8, 4415, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fa9, 4422, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1faa, 4429, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fab, 4438, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fac, 4447, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fad, 4456, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fae, 4465, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1faf, 4474, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb0, 4483, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb1, 4488, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb2, 4493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb3, 4500, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb4, 4505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb6, 4512, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb7, 4517, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb8, 4524, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fb9, 4529, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fba, 4534, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fbb, 1261, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fbc, 4539, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fbd, G_UNICODE_NOT_PRESENT_OFFSET, 4544 },
+  { 0x1fbe, 4548, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fbf, G_UNICODE_NOT_PRESENT_OFFSET, 4544 },
+  { 0x1fc0, G_UNICODE_NOT_PRESENT_OFFSET, 4551 },
+  { 0x1fc1, 4555, 4560 },
+  { 0x1fc2, 4566, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc3, 4573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc4, 4578, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc6, 4585, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc7, 4590, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc8, 4597, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fc9, 1269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fca, 4602, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fcb, 1274, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fcc, 4607, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fcd, 4612, 4618 },
+  { 0x1fce, 4624, 4630 },
+  { 0x1fcf, 4636, 4642 },
+  { 0x1fd0, 4648, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd1, 4653, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd2, 4658, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd3, 1299, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd6, 4665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd7, 4670, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd8, 4677, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fd9, 4682, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fda, 4687, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fdb, 1279, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fdd, 4692, 4698 },
+  { 0x1fde, 4704, 4710 },
+  { 0x1fdf, 4716, 4722 },
+  { 0x1fe0, 4728, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe1, 4733, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe2, 4738, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe3, 1336, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe4, 4745, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe5, 4750, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe6, 4755, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe7, 4760, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe8, 4767, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fe9, 4772, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fea, 4777, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1feb, 1289, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fec, 4782, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1fed, 4787, 4792 },
+  { 0x1fee, 1250, 1255 },
+  { 0x1fef, 4798, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff2, 4800, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff3, 4807, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff4, 4812, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff6, 4819, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff7, 4824, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff8, 4831, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ff9, 1284, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ffa, 4836, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ffb, 1294, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ffc, 4841, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1ffd, 4846, 16 },
+  { 0x1ffe, G_UNICODE_NOT_PRESENT_OFFSET, 4849 },
+  { 0x2000, 4853, 0 },
+  { 0x2001, 4857, 0 },
+  { 0x2002, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2003, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2004, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2005, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2006, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2007, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2008, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2009, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x200a, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2011, G_UNICODE_NOT_PRESENT_OFFSET, 4861 },
+  { 0x2017, G_UNICODE_NOT_PRESENT_OFFSET, 4865 },
+  { 0x2024, G_UNICODE_NOT_PRESENT_OFFSET, 4869 },
+  { 0x2025, G_UNICODE_NOT_PRESENT_OFFSET, 4871 },
+  { 0x2026, G_UNICODE_NOT_PRESENT_OFFSET, 4874 },
+  { 0x202f, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2033, G_UNICODE_NOT_PRESENT_OFFSET, 4878 },
+  { 0x2034, G_UNICODE_NOT_PRESENT_OFFSET, 4885 },
+  { 0x2036, G_UNICODE_NOT_PRESENT_OFFSET, 4895 },
+  { 0x2037, G_UNICODE_NOT_PRESENT_OFFSET, 4902 },
+  { 0x203c, G_UNICODE_NOT_PRESENT_OFFSET, 4912 },
+  { 0x203e, G_UNICODE_NOT_PRESENT_OFFSET, 4915 },
+  { 0x2047, G_UNICODE_NOT_PRESENT_OFFSET, 4919 },
+  { 0x2048, G_UNICODE_NOT_PRESENT_OFFSET, 4922 },
+  { 0x2049, G_UNICODE_NOT_PRESENT_OFFSET, 4925 },
+  { 0x2057, G_UNICODE_NOT_PRESENT_OFFSET, 4928 },
+  { 0x205f, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x2070, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x2071, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x2074, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x2075, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x2076, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x2077, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x2078, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x2079, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x207a, G_UNICODE_NOT_PRESENT_OFFSET, 4957 },
+  { 0x207b, G_UNICODE_NOT_PRESENT_OFFSET, 4959 },
+  { 0x207c, G_UNICODE_NOT_PRESENT_OFFSET, 4963 },
+  { 0x207d, G_UNICODE_NOT_PRESENT_OFFSET, 4965 },
+  { 0x207e, G_UNICODE_NOT_PRESENT_OFFSET, 4967 },
+  { 0x207f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x2080, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x2081, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x2082, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x2083, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x2084, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x2085, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x2086, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x2087, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x2088, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x2089, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x208a, G_UNICODE_NOT_PRESENT_OFFSET, 4957 },
+  { 0x208b, G_UNICODE_NOT_PRESENT_OFFSET, 4959 },
+  { 0x208c, G_UNICODE_NOT_PRESENT_OFFSET, 4963 },
+  { 0x208d, G_UNICODE_NOT_PRESENT_OFFSET, 4965 },
+  { 0x208e, G_UNICODE_NOT_PRESENT_OFFSET, 4967 },
+  { 0x20a8, G_UNICODE_NOT_PRESENT_OFFSET, 4971 },
+  { 0x2100, G_UNICODE_NOT_PRESENT_OFFSET, 4974 },
+  { 0x2101, G_UNICODE_NOT_PRESENT_OFFSET, 4978 },
+  { 0x2102, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x2103, G_UNICODE_NOT_PRESENT_OFFSET, 4984 },
+  { 0x2105, G_UNICODE_NOT_PRESENT_OFFSET, 4988 },
+  { 0x2106, G_UNICODE_NOT_PRESENT_OFFSET, 4992 },
+  { 0x2107, G_UNICODE_NOT_PRESENT_OFFSET, 4996 },
+  { 0x2109, G_UNICODE_NOT_PRESENT_OFFSET, 4999 },
+  { 0x210a, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x210b, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x210c, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x210d, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x210e, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x210f, G_UNICODE_NOT_PRESENT_OFFSET, 5007 },
+  { 0x2110, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x2111, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x2112, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x2113, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x2115, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x2116, G_UNICODE_NOT_PRESENT_OFFSET, 5016 },
+  { 0x2119, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x211a, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x211b, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x211c, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x211d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x2120, G_UNICODE_NOT_PRESENT_OFFSET, 5025 },
+  { 0x2121, G_UNICODE_NOT_PRESENT_OFFSET, 5028 },
+  { 0x2122, G_UNICODE_NOT_PRESENT_OFFSET, 5032 },
+  { 0x2124, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x2126, 5037, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2128, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x212a, 5040, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x212b, 69, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x212c, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x212d, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x212f, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x2130, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x2131, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x2133, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x2134, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x2135, G_UNICODE_NOT_PRESENT_OFFSET, 5052 },
+  { 0x2136, G_UNICODE_NOT_PRESENT_OFFSET, 5055 },
+  { 0x2137, G_UNICODE_NOT_PRESENT_OFFSET, 5058 },
+  { 0x2138, G_UNICODE_NOT_PRESENT_OFFSET, 5061 },
+  { 0x2139, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x213d, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x213e, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x213f, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x2140, G_UNICODE_NOT_PRESENT_OFFSET, 5073 },
+  { 0x2145, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x2146, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x2147, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x2148, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x2149, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x2153, G_UNICODE_NOT_PRESENT_OFFSET, 5081 },
+  { 0x2154, G_UNICODE_NOT_PRESENT_OFFSET, 5087 },
+  { 0x2155, G_UNICODE_NOT_PRESENT_OFFSET, 5093 },
+  { 0x2156, G_UNICODE_NOT_PRESENT_OFFSET, 5099 },
+  { 0x2157, G_UNICODE_NOT_PRESENT_OFFSET, 5105 },
+  { 0x2158, G_UNICODE_NOT_PRESENT_OFFSET, 5111 },
+  { 0x2159, G_UNICODE_NOT_PRESENT_OFFSET, 5117 },
+  { 0x215a, G_UNICODE_NOT_PRESENT_OFFSET, 5123 },
+  { 0x215b, G_UNICODE_NOT_PRESENT_OFFSET, 5129 },
+  { 0x215c, G_UNICODE_NOT_PRESENT_OFFSET, 5135 },
+  { 0x215d, G_UNICODE_NOT_PRESENT_OFFSET, 5141 },
+  { 0x215e, G_UNICODE_NOT_PRESENT_OFFSET, 5147 },
+  { 0x215f, G_UNICODE_NOT_PRESENT_OFFSET, 5153 },
+  { 0x2160, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x2161, G_UNICODE_NOT_PRESENT_OFFSET, 5158 },
+  { 0x2162, G_UNICODE_NOT_PRESENT_OFFSET, 5161 },
+  { 0x2163, G_UNICODE_NOT_PRESENT_OFFSET, 5165 },
+  { 0x2164, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x2165, G_UNICODE_NOT_PRESENT_OFFSET, 5170 },
+  { 0x2166, G_UNICODE_NOT_PRESENT_OFFSET, 5173 },
+  { 0x2167, G_UNICODE_NOT_PRESENT_OFFSET, 5177 },
+  { 0x2168, G_UNICODE_NOT_PRESENT_OFFSET, 5182 },
+  { 0x2169, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x216a, G_UNICODE_NOT_PRESENT_OFFSET, 5187 },
+  { 0x216b, G_UNICODE_NOT_PRESENT_OFFSET, 5190 },
+  { 0x216c, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x216d, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x216e, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x216f, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x2170, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x2171, G_UNICODE_NOT_PRESENT_OFFSET, 5194 },
+  { 0x2172, G_UNICODE_NOT_PRESENT_OFFSET, 5197 },
+  { 0x2173, G_UNICODE_NOT_PRESENT_OFFSET, 5201 },
+  { 0x2174, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x2175, G_UNICODE_NOT_PRESENT_OFFSET, 5206 },
+  { 0x2176, G_UNICODE_NOT_PRESENT_OFFSET, 5209 },
+  { 0x2177, G_UNICODE_NOT_PRESENT_OFFSET, 5213 },
+  { 0x2178, G_UNICODE_NOT_PRESENT_OFFSET, 5218 },
+  { 0x2179, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x217a, G_UNICODE_NOT_PRESENT_OFFSET, 5221 },
+  { 0x217b, G_UNICODE_NOT_PRESENT_OFFSET, 5224 },
+  { 0x217c, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x217d, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x217e, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x217f, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x219a, 5232, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x219b, 5238, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x21ae, 5244, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x21cd, 5250, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x21ce, 5256, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x21cf, 5262, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2204, 5268, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2209, 5274, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x220c, 5280, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2224, 5286, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2226, 5292, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x222c, G_UNICODE_NOT_PRESENT_OFFSET, 5298 },
+  { 0x222d, G_UNICODE_NOT_PRESENT_OFFSET, 5305 },
+  { 0x222f, G_UNICODE_NOT_PRESENT_OFFSET, 5315 },
+  { 0x2230, G_UNICODE_NOT_PRESENT_OFFSET, 5322 },
+  { 0x2241, 5332, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2244, 5338, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2247, 5344, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2249, 5350, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2260, 5356, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2262, 5360, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x226d, 5366, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x226e, 5372, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x226f, 5376, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2270, 5380, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2271, 5386, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2274, 5392, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2275, 5398, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2278, 5404, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2279, 5410, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2280, 5416, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2281, 5422, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2284, 5428, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2285, 5434, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2288, 5440, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2289, 5446, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ac, 5452, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ad, 5458, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ae, 5464, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22af, 5470, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22e0, 5476, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22e1, 5482, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22e2, 5488, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22e3, 5494, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ea, 5500, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22eb, 5506, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ec, 5512, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x22ed, 5518, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2329, 5524, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x232a, 5528, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2460, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x2461, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x2462, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x2463, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x2464, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x2465, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x2466, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x2467, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x2468, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x2469, G_UNICODE_NOT_PRESENT_OFFSET, 5532 },
+  { 0x246a, G_UNICODE_NOT_PRESENT_OFFSET, 5535 },
+  { 0x246b, G_UNICODE_NOT_PRESENT_OFFSET, 5538 },
+  { 0x246c, G_UNICODE_NOT_PRESENT_OFFSET, 5541 },
+  { 0x246d, G_UNICODE_NOT_PRESENT_OFFSET, 5544 },
+  { 0x246e, G_UNICODE_NOT_PRESENT_OFFSET, 5547 },
+  { 0x246f, G_UNICODE_NOT_PRESENT_OFFSET, 5550 },
+  { 0x2470, G_UNICODE_NOT_PRESENT_OFFSET, 5553 },
+  { 0x2471, G_UNICODE_NOT_PRESENT_OFFSET, 5556 },
+  { 0x2472, G_UNICODE_NOT_PRESENT_OFFSET, 5559 },
+  { 0x2473, G_UNICODE_NOT_PRESENT_OFFSET, 5562 },
+  { 0x2474, G_UNICODE_NOT_PRESENT_OFFSET, 5565 },
+  { 0x2475, G_UNICODE_NOT_PRESENT_OFFSET, 5569 },
+  { 0x2476, G_UNICODE_NOT_PRESENT_OFFSET, 5573 },
+  { 0x2477, G_UNICODE_NOT_PRESENT_OFFSET, 5577 },
+  { 0x2478, G_UNICODE_NOT_PRESENT_OFFSET, 5581 },
+  { 0x2479, G_UNICODE_NOT_PRESENT_OFFSET, 5585 },
+  { 0x247a, G_UNICODE_NOT_PRESENT_OFFSET, 5589 },
+  { 0x247b, G_UNICODE_NOT_PRESENT_OFFSET, 5593 },
+  { 0x247c, G_UNICODE_NOT_PRESENT_OFFSET, 5597 },
+  { 0x247d, G_UNICODE_NOT_PRESENT_OFFSET, 5601 },
+  { 0x247e, G_UNICODE_NOT_PRESENT_OFFSET, 5606 },
+  { 0x247f, G_UNICODE_NOT_PRESENT_OFFSET, 5611 },
+  { 0x2480, G_UNICODE_NOT_PRESENT_OFFSET, 5616 },
+  { 0x2481, G_UNICODE_NOT_PRESENT_OFFSET, 5621 },
+  { 0x2482, G_UNICODE_NOT_PRESENT_OFFSET, 5626 },
+  { 0x2483, G_UNICODE_NOT_PRESENT_OFFSET, 5631 },
+  { 0x2484, G_UNICODE_NOT_PRESENT_OFFSET, 5636 },
+  { 0x2485, G_UNICODE_NOT_PRESENT_OFFSET, 5641 },
+  { 0x2486, G_UNICODE_NOT_PRESENT_OFFSET, 5646 },
+  { 0x2487, G_UNICODE_NOT_PRESENT_OFFSET, 5651 },
+  { 0x2488, G_UNICODE_NOT_PRESENT_OFFSET, 5656 },
+  { 0x2489, G_UNICODE_NOT_PRESENT_OFFSET, 5659 },
+  { 0x248a, G_UNICODE_NOT_PRESENT_OFFSET, 5662 },
+  { 0x248b, G_UNICODE_NOT_PRESENT_OFFSET, 5665 },
+  { 0x248c, G_UNICODE_NOT_PRESENT_OFFSET, 5668 },
+  { 0x248d, G_UNICODE_NOT_PRESENT_OFFSET, 5671 },
+  { 0x248e, G_UNICODE_NOT_PRESENT_OFFSET, 5674 },
+  { 0x248f, G_UNICODE_NOT_PRESENT_OFFSET, 5677 },
+  { 0x2490, G_UNICODE_NOT_PRESENT_OFFSET, 5680 },
+  { 0x2491, G_UNICODE_NOT_PRESENT_OFFSET, 5683 },
+  { 0x2492, G_UNICODE_NOT_PRESENT_OFFSET, 5687 },
+  { 0x2493, G_UNICODE_NOT_PRESENT_OFFSET, 5691 },
+  { 0x2494, G_UNICODE_NOT_PRESENT_OFFSET, 5695 },
+  { 0x2495, G_UNICODE_NOT_PRESENT_OFFSET, 5699 },
+  { 0x2496, G_UNICODE_NOT_PRESENT_OFFSET, 5703 },
+  { 0x2497, G_UNICODE_NOT_PRESENT_OFFSET, 5707 },
+  { 0x2498, G_UNICODE_NOT_PRESENT_OFFSET, 5711 },
+  { 0x2499, G_UNICODE_NOT_PRESENT_OFFSET, 5715 },
+  { 0x249a, G_UNICODE_NOT_PRESENT_OFFSET, 5719 },
+  { 0x249b, G_UNICODE_NOT_PRESENT_OFFSET, 5723 },
+  { 0x249c, G_UNICODE_NOT_PRESENT_OFFSET, 5727 },
+  { 0x249d, G_UNICODE_NOT_PRESENT_OFFSET, 5731 },
+  { 0x249e, G_UNICODE_NOT_PRESENT_OFFSET, 5735 },
+  { 0x249f, G_UNICODE_NOT_PRESENT_OFFSET, 5739 },
+  { 0x24a0, G_UNICODE_NOT_PRESENT_OFFSET, 5743 },
+  { 0x24a1, G_UNICODE_NOT_PRESENT_OFFSET, 5747 },
+  { 0x24a2, G_UNICODE_NOT_PRESENT_OFFSET, 5751 },
+  { 0x24a3, G_UNICODE_NOT_PRESENT_OFFSET, 5755 },
+  { 0x24a4, G_UNICODE_NOT_PRESENT_OFFSET, 5759 },
+  { 0x24a5, G_UNICODE_NOT_PRESENT_OFFSET, 5763 },
+  { 0x24a6, G_UNICODE_NOT_PRESENT_OFFSET, 5767 },
+  { 0x24a7, G_UNICODE_NOT_PRESENT_OFFSET, 5771 },
+  { 0x24a8, G_UNICODE_NOT_PRESENT_OFFSET, 5775 },
+  { 0x24a9, G_UNICODE_NOT_PRESENT_OFFSET, 5779 },
+  { 0x24aa, G_UNICODE_NOT_PRESENT_OFFSET, 5783 },
+  { 0x24ab, G_UNICODE_NOT_PRESENT_OFFSET, 5787 },
+  { 0x24ac, G_UNICODE_NOT_PRESENT_OFFSET, 5791 },
+  { 0x24ad, G_UNICODE_NOT_PRESENT_OFFSET, 5795 },
+  { 0x24ae, G_UNICODE_NOT_PRESENT_OFFSET, 5799 },
+  { 0x24af, G_UNICODE_NOT_PRESENT_OFFSET, 5803 },
+  { 0x24b0, G_UNICODE_NOT_PRESENT_OFFSET, 5807 },
+  { 0x24b1, G_UNICODE_NOT_PRESENT_OFFSET, 5811 },
+  { 0x24b2, G_UNICODE_NOT_PRESENT_OFFSET, 5815 },
+  { 0x24b3, G_UNICODE_NOT_PRESENT_OFFSET, 5819 },
+  { 0x24b4, G_UNICODE_NOT_PRESENT_OFFSET, 5823 },
+  { 0x24b5, G_UNICODE_NOT_PRESENT_OFFSET, 5827 },
+  { 0x24b6, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x24b7, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x24b8, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x24b9, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x24ba, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x24bb, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x24bc, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x24bd, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x24be, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x24bf, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x24c0, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x24c1, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x24c2, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x24c3, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x24c4, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x24c5, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x24c6, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x24c7, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x24c8, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x24c9, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x24ca, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x24cb, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x24cc, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x24cd, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x24ce, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x24cf, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x24d0, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x24d1, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x24d2, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x24d3, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x24d4, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x24d5, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x24d6, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x24d7, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x24d8, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x24d9, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x24da, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x24db, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x24dc, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x24dd, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x24de, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x24df, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x24e0, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x24e1, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x24e2, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x24e3, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x24e4, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x24e5, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x24e6, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x24e7, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x24e8, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x24e9, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x24ea, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x2a0c, G_UNICODE_NOT_PRESENT_OFFSET, 5865 },
+  { 0x2a74, G_UNICODE_NOT_PRESENT_OFFSET, 5878 },
+  { 0x2a75, G_UNICODE_NOT_PRESENT_OFFSET, 5882 },
+  { 0x2a76, G_UNICODE_NOT_PRESENT_OFFSET, 5885 },
+  { 0x2adc, 5889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2e9f, G_UNICODE_NOT_PRESENT_OFFSET, 5895 },
+  { 0x2ef3, G_UNICODE_NOT_PRESENT_OFFSET, 5899 },
+  { 0x2f00, G_UNICODE_NOT_PRESENT_OFFSET, 5903 },
+  { 0x2f01, G_UNICODE_NOT_PRESENT_OFFSET, 5907 },
+  { 0x2f02, G_UNICODE_NOT_PRESENT_OFFSET, 5911 },
+  { 0x2f03, G_UNICODE_NOT_PRESENT_OFFSET, 5915 },
+  { 0x2f04, G_UNICODE_NOT_PRESENT_OFFSET, 5919 },
+  { 0x2f05, G_UNICODE_NOT_PRESENT_OFFSET, 5923 },
+  { 0x2f06, G_UNICODE_NOT_PRESENT_OFFSET, 5927 },
+  { 0x2f07, G_UNICODE_NOT_PRESENT_OFFSET, 5931 },
+  { 0x2f08, G_UNICODE_NOT_PRESENT_OFFSET, 5935 },
+  { 0x2f09, G_UNICODE_NOT_PRESENT_OFFSET, 5939 },
+  { 0x2f0a, G_UNICODE_NOT_PRESENT_OFFSET, 5943 },
+  { 0x2f0b, G_UNICODE_NOT_PRESENT_OFFSET, 5947 },
+  { 0x2f0c, G_UNICODE_NOT_PRESENT_OFFSET, 5951 },
+  { 0x2f0d, G_UNICODE_NOT_PRESENT_OFFSET, 5955 },
+  { 0x2f0e, G_UNICODE_NOT_PRESENT_OFFSET, 5959 },
+  { 0x2f0f, G_UNICODE_NOT_PRESENT_OFFSET, 5963 },
+  { 0x2f10, G_UNICODE_NOT_PRESENT_OFFSET, 5967 },
+  { 0x2f11, G_UNICODE_NOT_PRESENT_OFFSET, 5971 },
+  { 0x2f12, G_UNICODE_NOT_PRESENT_OFFSET, 5975 },
+  { 0x2f13, G_UNICODE_NOT_PRESENT_OFFSET, 5979 },
+  { 0x2f14, G_UNICODE_NOT_PRESENT_OFFSET, 5983 },
+  { 0x2f15, G_UNICODE_NOT_PRESENT_OFFSET, 5987 },
+  { 0x2f16, G_UNICODE_NOT_PRESENT_OFFSET, 5991 },
+  { 0x2f17, G_UNICODE_NOT_PRESENT_OFFSET, 5995 },
+  { 0x2f18, G_UNICODE_NOT_PRESENT_OFFSET, 5999 },
+  { 0x2f19, G_UNICODE_NOT_PRESENT_OFFSET, 6003 },
+  { 0x2f1a, G_UNICODE_NOT_PRESENT_OFFSET, 6007 },
+  { 0x2f1b, G_UNICODE_NOT_PRESENT_OFFSET, 6011 },
+  { 0x2f1c, G_UNICODE_NOT_PRESENT_OFFSET, 6015 },
+  { 0x2f1d, G_UNICODE_NOT_PRESENT_OFFSET, 6019 },
+  { 0x2f1e, G_UNICODE_NOT_PRESENT_OFFSET, 6023 },
+  { 0x2f1f, G_UNICODE_NOT_PRESENT_OFFSET, 6027 },
+  { 0x2f20, G_UNICODE_NOT_PRESENT_OFFSET, 6031 },
+  { 0x2f21, G_UNICODE_NOT_PRESENT_OFFSET, 6035 },
+  { 0x2f22, G_UNICODE_NOT_PRESENT_OFFSET, 6039 },
+  { 0x2f23, G_UNICODE_NOT_PRESENT_OFFSET, 6043 },
+  { 0x2f24, G_UNICODE_NOT_PRESENT_OFFSET, 6047 },
+  { 0x2f25, G_UNICODE_NOT_PRESENT_OFFSET, 6051 },
+  { 0x2f26, G_UNICODE_NOT_PRESENT_OFFSET, 6055 },
+  { 0x2f27, G_UNICODE_NOT_PRESENT_OFFSET, 6059 },
+  { 0x2f28, G_UNICODE_NOT_PRESENT_OFFSET, 6063 },
+  { 0x2f29, G_UNICODE_NOT_PRESENT_OFFSET, 6067 },
+  { 0x2f2a, G_UNICODE_NOT_PRESENT_OFFSET, 6071 },
+  { 0x2f2b, G_UNICODE_NOT_PRESENT_OFFSET, 6075 },
+  { 0x2f2c, G_UNICODE_NOT_PRESENT_OFFSET, 6079 },
+  { 0x2f2d, G_UNICODE_NOT_PRESENT_OFFSET, 6083 },
+  { 0x2f2e, G_UNICODE_NOT_PRESENT_OFFSET, 6087 },
+  { 0x2f2f, G_UNICODE_NOT_PRESENT_OFFSET, 6091 },
+  { 0x2f30, G_UNICODE_NOT_PRESENT_OFFSET, 6095 },
+  { 0x2f31, G_UNICODE_NOT_PRESENT_OFFSET, 6099 },
+  { 0x2f32, G_UNICODE_NOT_PRESENT_OFFSET, 6103 },
+  { 0x2f33, G_UNICODE_NOT_PRESENT_OFFSET, 6107 },
+  { 0x2f34, G_UNICODE_NOT_PRESENT_OFFSET, 6111 },
+  { 0x2f35, G_UNICODE_NOT_PRESENT_OFFSET, 6115 },
+  { 0x2f36, G_UNICODE_NOT_PRESENT_OFFSET, 6119 },
+  { 0x2f37, G_UNICODE_NOT_PRESENT_OFFSET, 6123 },
+  { 0x2f38, G_UNICODE_NOT_PRESENT_OFFSET, 6127 },
+  { 0x2f39, G_UNICODE_NOT_PRESENT_OFFSET, 6131 },
+  { 0x2f3a, G_UNICODE_NOT_PRESENT_OFFSET, 6135 },
+  { 0x2f3b, G_UNICODE_NOT_PRESENT_OFFSET, 6139 },
+  { 0x2f3c, G_UNICODE_NOT_PRESENT_OFFSET, 6143 },
+  { 0x2f3d, G_UNICODE_NOT_PRESENT_OFFSET, 6147 },
+  { 0x2f3e, G_UNICODE_NOT_PRESENT_OFFSET, 6151 },
+  { 0x2f3f, G_UNICODE_NOT_PRESENT_OFFSET, 6155 },
+  { 0x2f40, G_UNICODE_NOT_PRESENT_OFFSET, 6159 },
+  { 0x2f41, G_UNICODE_NOT_PRESENT_OFFSET, 6163 },
+  { 0x2f42, G_UNICODE_NOT_PRESENT_OFFSET, 6167 },
+  { 0x2f43, G_UNICODE_NOT_PRESENT_OFFSET, 6171 },
+  { 0x2f44, G_UNICODE_NOT_PRESENT_OFFSET, 6175 },
+  { 0x2f45, G_UNICODE_NOT_PRESENT_OFFSET, 6179 },
+  { 0x2f46, G_UNICODE_NOT_PRESENT_OFFSET, 6183 },
+  { 0x2f47, G_UNICODE_NOT_PRESENT_OFFSET, 6187 },
+  { 0x2f48, G_UNICODE_NOT_PRESENT_OFFSET, 6191 },
+  { 0x2f49, G_UNICODE_NOT_PRESENT_OFFSET, 6195 },
+  { 0x2f4a, G_UNICODE_NOT_PRESENT_OFFSET, 6199 },
+  { 0x2f4b, G_UNICODE_NOT_PRESENT_OFFSET, 6203 },
+  { 0x2f4c, G_UNICODE_NOT_PRESENT_OFFSET, 6207 },
+  { 0x2f4d, G_UNICODE_NOT_PRESENT_OFFSET, 6211 },
+  { 0x2f4e, G_UNICODE_NOT_PRESENT_OFFSET, 6215 },
+  { 0x2f4f, G_UNICODE_NOT_PRESENT_OFFSET, 6219 },
+  { 0x2f50, G_UNICODE_NOT_PRESENT_OFFSET, 6223 },
+  { 0x2f51, G_UNICODE_NOT_PRESENT_OFFSET, 6227 },
+  { 0x2f52, G_UNICODE_NOT_PRESENT_OFFSET, 6231 },
+  { 0x2f53, G_UNICODE_NOT_PRESENT_OFFSET, 6235 },
+  { 0x2f54, G_UNICODE_NOT_PRESENT_OFFSET, 6239 },
+  { 0x2f55, G_UNICODE_NOT_PRESENT_OFFSET, 6243 },
+  { 0x2f56, G_UNICODE_NOT_PRESENT_OFFSET, 6247 },
+  { 0x2f57, G_UNICODE_NOT_PRESENT_OFFSET, 6251 },
+  { 0x2f58, G_UNICODE_NOT_PRESENT_OFFSET, 6255 },
+  { 0x2f59, G_UNICODE_NOT_PRESENT_OFFSET, 6259 },
+  { 0x2f5a, G_UNICODE_NOT_PRESENT_OFFSET, 6263 },
+  { 0x2f5b, G_UNICODE_NOT_PRESENT_OFFSET, 6267 },
+  { 0x2f5c, G_UNICODE_NOT_PRESENT_OFFSET, 6271 },
+  { 0x2f5d, G_UNICODE_NOT_PRESENT_OFFSET, 6275 },
+  { 0x2f5e, G_UNICODE_NOT_PRESENT_OFFSET, 6279 },
+  { 0x2f5f, G_UNICODE_NOT_PRESENT_OFFSET, 6283 },
+  { 0x2f60, G_UNICODE_NOT_PRESENT_OFFSET, 6287 },
+  { 0x2f61, G_UNICODE_NOT_PRESENT_OFFSET, 6291 },
+  { 0x2f62, G_UNICODE_NOT_PRESENT_OFFSET, 6295 },
+  { 0x2f63, G_UNICODE_NOT_PRESENT_OFFSET, 6299 },
+  { 0x2f64, G_UNICODE_NOT_PRESENT_OFFSET, 6303 },
+  { 0x2f65, G_UNICODE_NOT_PRESENT_OFFSET, 6307 },
+  { 0x2f66, G_UNICODE_NOT_PRESENT_OFFSET, 6311 },
+  { 0x2f67, G_UNICODE_NOT_PRESENT_OFFSET, 6315 },
+  { 0x2f68, G_UNICODE_NOT_PRESENT_OFFSET, 6319 },
+  { 0x2f69, G_UNICODE_NOT_PRESENT_OFFSET, 6323 },
+  { 0x2f6a, G_UNICODE_NOT_PRESENT_OFFSET, 6327 },
+  { 0x2f6b, G_UNICODE_NOT_PRESENT_OFFSET, 6331 },
+  { 0x2f6c, G_UNICODE_NOT_PRESENT_OFFSET, 6335 },
+  { 0x2f6d, G_UNICODE_NOT_PRESENT_OFFSET, 6339 },
+  { 0x2f6e, G_UNICODE_NOT_PRESENT_OFFSET, 6343 },
+  { 0x2f6f, G_UNICODE_NOT_PRESENT_OFFSET, 6347 },
+  { 0x2f70, G_UNICODE_NOT_PRESENT_OFFSET, 6351 },
+  { 0x2f71, G_UNICODE_NOT_PRESENT_OFFSET, 6355 },
+  { 0x2f72, G_UNICODE_NOT_PRESENT_OFFSET, 6359 },
+  { 0x2f73, G_UNICODE_NOT_PRESENT_OFFSET, 6363 },
+  { 0x2f74, G_UNICODE_NOT_PRESENT_OFFSET, 6367 },
+  { 0x2f75, G_UNICODE_NOT_PRESENT_OFFSET, 6371 },
+  { 0x2f76, G_UNICODE_NOT_PRESENT_OFFSET, 6375 },
+  { 0x2f77, G_UNICODE_NOT_PRESENT_OFFSET, 6379 },
+  { 0x2f78, G_UNICODE_NOT_PRESENT_OFFSET, 6383 },
+  { 0x2f79, G_UNICODE_NOT_PRESENT_OFFSET, 6387 },
+  { 0x2f7a, G_UNICODE_NOT_PRESENT_OFFSET, 6391 },
+  { 0x2f7b, G_UNICODE_NOT_PRESENT_OFFSET, 6395 },
+  { 0x2f7c, G_UNICODE_NOT_PRESENT_OFFSET, 6399 },
+  { 0x2f7d, G_UNICODE_NOT_PRESENT_OFFSET, 6403 },
+  { 0x2f7e, G_UNICODE_NOT_PRESENT_OFFSET, 6407 },
+  { 0x2f7f, G_UNICODE_NOT_PRESENT_OFFSET, 6411 },
+  { 0x2f80, G_UNICODE_NOT_PRESENT_OFFSET, 6415 },
+  { 0x2f81, G_UNICODE_NOT_PRESENT_OFFSET, 6419 },
+  { 0x2f82, G_UNICODE_NOT_PRESENT_OFFSET, 6423 },
+  { 0x2f83, G_UNICODE_NOT_PRESENT_OFFSET, 6427 },
+  { 0x2f84, G_UNICODE_NOT_PRESENT_OFFSET, 6431 },
+  { 0x2f85, G_UNICODE_NOT_PRESENT_OFFSET, 6435 },
+  { 0x2f86, G_UNICODE_NOT_PRESENT_OFFSET, 6439 },
+  { 0x2f87, G_UNICODE_NOT_PRESENT_OFFSET, 6443 },
+  { 0x2f88, G_UNICODE_NOT_PRESENT_OFFSET, 6447 },
+  { 0x2f89, G_UNICODE_NOT_PRESENT_OFFSET, 6451 },
+  { 0x2f8a, G_UNICODE_NOT_PRESENT_OFFSET, 6455 },
+  { 0x2f8b, G_UNICODE_NOT_PRESENT_OFFSET, 6459 },
+  { 0x2f8c, G_UNICODE_NOT_PRESENT_OFFSET, 6463 },
+  { 0x2f8d, G_UNICODE_NOT_PRESENT_OFFSET, 6467 },
+  { 0x2f8e, G_UNICODE_NOT_PRESENT_OFFSET, 6471 },
+  { 0x2f8f, G_UNICODE_NOT_PRESENT_OFFSET, 6475 },
+  { 0x2f90, G_UNICODE_NOT_PRESENT_OFFSET, 6479 },
+  { 0x2f91, G_UNICODE_NOT_PRESENT_OFFSET, 6483 },
+  { 0x2f92, G_UNICODE_NOT_PRESENT_OFFSET, 6487 },
+  { 0x2f93, G_UNICODE_NOT_PRESENT_OFFSET, 6491 },
+  { 0x2f94, G_UNICODE_NOT_PRESENT_OFFSET, 6495 },
+  { 0x2f95, G_UNICODE_NOT_PRESENT_OFFSET, 6499 },
+  { 0x2f96, G_UNICODE_NOT_PRESENT_OFFSET, 6503 },
+  { 0x2f97, G_UNICODE_NOT_PRESENT_OFFSET, 6507 },
+  { 0x2f98, G_UNICODE_NOT_PRESENT_OFFSET, 6511 },
+  { 0x2f99, G_UNICODE_NOT_PRESENT_OFFSET, 6515 },
+  { 0x2f9a, G_UNICODE_NOT_PRESENT_OFFSET, 6519 },
+  { 0x2f9b, G_UNICODE_NOT_PRESENT_OFFSET, 6523 },
+  { 0x2f9c, G_UNICODE_NOT_PRESENT_OFFSET, 6527 },
+  { 0x2f9d, G_UNICODE_NOT_PRESENT_OFFSET, 6531 },
+  { 0x2f9e, G_UNICODE_NOT_PRESENT_OFFSET, 6535 },
+  { 0x2f9f, G_UNICODE_NOT_PRESENT_OFFSET, 6539 },
+  { 0x2fa0, G_UNICODE_NOT_PRESENT_OFFSET, 6543 },
+  { 0x2fa1, G_UNICODE_NOT_PRESENT_OFFSET, 6547 },
+  { 0x2fa2, G_UNICODE_NOT_PRESENT_OFFSET, 6551 },
+  { 0x2fa3, G_UNICODE_NOT_PRESENT_OFFSET, 6555 },
+  { 0x2fa4, G_UNICODE_NOT_PRESENT_OFFSET, 6559 },
+  { 0x2fa5, G_UNICODE_NOT_PRESENT_OFFSET, 6563 },
+  { 0x2fa6, G_UNICODE_NOT_PRESENT_OFFSET, 6567 },
+  { 0x2fa7, G_UNICODE_NOT_PRESENT_OFFSET, 6571 },
+  { 0x2fa8, G_UNICODE_NOT_PRESENT_OFFSET, 6575 },
+  { 0x2fa9, G_UNICODE_NOT_PRESENT_OFFSET, 6579 },
+  { 0x2faa, G_UNICODE_NOT_PRESENT_OFFSET, 6583 },
+  { 0x2fab, G_UNICODE_NOT_PRESENT_OFFSET, 6587 },
+  { 0x2fac, G_UNICODE_NOT_PRESENT_OFFSET, 6591 },
+  { 0x2fad, G_UNICODE_NOT_PRESENT_OFFSET, 6595 },
+  { 0x2fae, G_UNICODE_NOT_PRESENT_OFFSET, 6599 },
+  { 0x2faf, G_UNICODE_NOT_PRESENT_OFFSET, 6603 },
+  { 0x2fb0, G_UNICODE_NOT_PRESENT_OFFSET, 6607 },
+  { 0x2fb1, G_UNICODE_NOT_PRESENT_OFFSET, 6611 },
+  { 0x2fb2, G_UNICODE_NOT_PRESENT_OFFSET, 6615 },
+  { 0x2fb3, G_UNICODE_NOT_PRESENT_OFFSET, 6619 },
+  { 0x2fb4, G_UNICODE_NOT_PRESENT_OFFSET, 6623 },
+  { 0x2fb5, G_UNICODE_NOT_PRESENT_OFFSET, 6627 },
+  { 0x2fb6, G_UNICODE_NOT_PRESENT_OFFSET, 6631 },
+  { 0x2fb7, G_UNICODE_NOT_PRESENT_OFFSET, 6635 },
+  { 0x2fb8, G_UNICODE_NOT_PRESENT_OFFSET, 6639 },
+  { 0x2fb9, G_UNICODE_NOT_PRESENT_OFFSET, 6643 },
+  { 0x2fba, G_UNICODE_NOT_PRESENT_OFFSET, 6647 },
+  { 0x2fbb, G_UNICODE_NOT_PRESENT_OFFSET, 6651 },
+  { 0x2fbc, G_UNICODE_NOT_PRESENT_OFFSET, 6655 },
+  { 0x2fbd, G_UNICODE_NOT_PRESENT_OFFSET, 6659 },
+  { 0x2fbe, G_UNICODE_NOT_PRESENT_OFFSET, 6663 },
+  { 0x2fbf, G_UNICODE_NOT_PRESENT_OFFSET, 6667 },
+  { 0x2fc0, G_UNICODE_NOT_PRESENT_OFFSET, 6671 },
+  { 0x2fc1, G_UNICODE_NOT_PRESENT_OFFSET, 6675 },
+  { 0x2fc2, G_UNICODE_NOT_PRESENT_OFFSET, 6679 },
+  { 0x2fc3, G_UNICODE_NOT_PRESENT_OFFSET, 6683 },
+  { 0x2fc4, G_UNICODE_NOT_PRESENT_OFFSET, 6687 },
+  { 0x2fc5, G_UNICODE_NOT_PRESENT_OFFSET, 6691 },
+  { 0x2fc6, G_UNICODE_NOT_PRESENT_OFFSET, 6695 },
+  { 0x2fc7, G_UNICODE_NOT_PRESENT_OFFSET, 6699 },
+  { 0x2fc8, G_UNICODE_NOT_PRESENT_OFFSET, 6703 },
+  { 0x2fc9, G_UNICODE_NOT_PRESENT_OFFSET, 6707 },
+  { 0x2fca, G_UNICODE_NOT_PRESENT_OFFSET, 6711 },
+  { 0x2fcb, G_UNICODE_NOT_PRESENT_OFFSET, 6715 },
+  { 0x2fcc, G_UNICODE_NOT_PRESENT_OFFSET, 6719 },
+  { 0x2fcd, G_UNICODE_NOT_PRESENT_OFFSET, 6723 },
+  { 0x2fce, G_UNICODE_NOT_PRESENT_OFFSET, 6727 },
+  { 0x2fcf, G_UNICODE_NOT_PRESENT_OFFSET, 6731 },
+  { 0x2fd0, G_UNICODE_NOT_PRESENT_OFFSET, 6735 },
+  { 0x2fd1, G_UNICODE_NOT_PRESENT_OFFSET, 6739 },
+  { 0x2fd2, G_UNICODE_NOT_PRESENT_OFFSET, 6743 },
+  { 0x2fd3, G_UNICODE_NOT_PRESENT_OFFSET, 6747 },
+  { 0x2fd4, G_UNICODE_NOT_PRESENT_OFFSET, 6751 },
+  { 0x2fd5, G_UNICODE_NOT_PRESENT_OFFSET, 6755 },
+  { 0x3000, G_UNICODE_NOT_PRESENT_OFFSET, 0 },
+  { 0x3036, G_UNICODE_NOT_PRESENT_OFFSET, 6759 },
+  { 0x3038, G_UNICODE_NOT_PRESENT_OFFSET, 5995 },
+  { 0x3039, G_UNICODE_NOT_PRESENT_OFFSET, 6763 },
+  { 0x303a, G_UNICODE_NOT_PRESENT_OFFSET, 6767 },
+  { 0x304c, 6771, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x304e, 6778, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3050, 6785, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3052, 6792, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3054, 6799, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3056, 6806, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3058, 6813, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x305a, 6820, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x305c, 6827, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x305e, 6834, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3060, 6841, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3062, 6848, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3065, 6855, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3067, 6862, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3069, 6869, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3070, 6876, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3071, 6883, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3073, 6890, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3074, 6897, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3076, 6904, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3077, 6911, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3079, 6918, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x307a, 6925, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x307c, 6932, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x307d, 6939, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x3094, 6946, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x309b, G_UNICODE_NOT_PRESENT_OFFSET, 6953 },
+  { 0x309c, G_UNICODE_NOT_PRESENT_OFFSET, 6958 },
+  { 0x309e, 6963, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x309f, G_UNICODE_NOT_PRESENT_OFFSET, 6970 },
+  { 0x30ac, 6977, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30ae, 6984, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30b0, 6991, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30b2, 6998, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30b4, 7005, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30b6, 7012, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30b8, 7019, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30ba, 7026, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30bc, 7033, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30be, 7040, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30c0, 7047, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30c2, 7054, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30c5, 7061, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30c7, 7068, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30c9, 7075, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d0, 7082, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d1, 7089, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d3, 7096, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d4, 7103, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d6, 7110, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d7, 7117, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30d9, 7124, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30da, 7131, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30dc, 7138, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30dd, 7145, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30f4, 7152, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30f7, 7159, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30f8, 7166, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30f9, 7173, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30fa, 7180, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30fe, 7187, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x30ff, G_UNICODE_NOT_PRESENT_OFFSET, 7194 },
+  { 0x3131, G_UNICODE_NOT_PRESENT_OFFSET, 7201 },
+  { 0x3132, G_UNICODE_NOT_PRESENT_OFFSET, 7205 },
+  { 0x3133, G_UNICODE_NOT_PRESENT_OFFSET, 7209 },
+  { 0x3134, G_UNICODE_NOT_PRESENT_OFFSET, 7213 },
+  { 0x3135, G_UNICODE_NOT_PRESENT_OFFSET, 7217 },
+  { 0x3136, G_UNICODE_NOT_PRESENT_OFFSET, 7221 },
+  { 0x3137, G_UNICODE_NOT_PRESENT_OFFSET, 7225 },
+  { 0x3138, G_UNICODE_NOT_PRESENT_OFFSET, 7229 },
+  { 0x3139, G_UNICODE_NOT_PRESENT_OFFSET, 7233 },
+  { 0x313a, G_UNICODE_NOT_PRESENT_OFFSET, 7237 },
+  { 0x313b, G_UNICODE_NOT_PRESENT_OFFSET, 7241 },
+  { 0x313c, G_UNICODE_NOT_PRESENT_OFFSET, 7245 },
+  { 0x313d, G_UNICODE_NOT_PRESENT_OFFSET, 7249 },
+  { 0x313e, G_UNICODE_NOT_PRESENT_OFFSET, 7253 },
+  { 0x313f, G_UNICODE_NOT_PRESENT_OFFSET, 7257 },
+  { 0x3140, G_UNICODE_NOT_PRESENT_OFFSET, 7261 },
+  { 0x3141, G_UNICODE_NOT_PRESENT_OFFSET, 7265 },
+  { 0x3142, G_UNICODE_NOT_PRESENT_OFFSET, 7269 },
+  { 0x3143, G_UNICODE_NOT_PRESENT_OFFSET, 7273 },
+  { 0x3144, G_UNICODE_NOT_PRESENT_OFFSET, 7277 },
+  { 0x3145, G_UNICODE_NOT_PRESENT_OFFSET, 7281 },
+  { 0x3146, G_UNICODE_NOT_PRESENT_OFFSET, 7285 },
+  { 0x3147, G_UNICODE_NOT_PRESENT_OFFSET, 7289 },
+  { 0x3148, G_UNICODE_NOT_PRESENT_OFFSET, 7293 },
+  { 0x3149, G_UNICODE_NOT_PRESENT_OFFSET, 7297 },
+  { 0x314a, G_UNICODE_NOT_PRESENT_OFFSET, 7301 },
+  { 0x314b, G_UNICODE_NOT_PRESENT_OFFSET, 7305 },
+  { 0x314c, G_UNICODE_NOT_PRESENT_OFFSET, 7309 },
+  { 0x314d, G_UNICODE_NOT_PRESENT_OFFSET, 7313 },
+  { 0x314e, G_UNICODE_NOT_PRESENT_OFFSET, 7317 },
+  { 0x314f, G_UNICODE_NOT_PRESENT_OFFSET, 7321 },
+  { 0x3150, G_UNICODE_NOT_PRESENT_OFFSET, 7325 },
+  { 0x3151, G_UNICODE_NOT_PRESENT_OFFSET, 7329 },
+  { 0x3152, G_UNICODE_NOT_PRESENT_OFFSET, 7333 },
+  { 0x3153, G_UNICODE_NOT_PRESENT_OFFSET, 7337 },
+  { 0x3154, G_UNICODE_NOT_PRESENT_OFFSET, 7341 },
+  { 0x3155, G_UNICODE_NOT_PRESENT_OFFSET, 7345 },
+  { 0x3156, G_UNICODE_NOT_PRESENT_OFFSET, 7349 },
+  { 0x3157, G_UNICODE_NOT_PRESENT_OFFSET, 7353 },
+  { 0x3158, G_UNICODE_NOT_PRESENT_OFFSET, 7357 },
+  { 0x3159, G_UNICODE_NOT_PRESENT_OFFSET, 7361 },
+  { 0x315a, G_UNICODE_NOT_PRESENT_OFFSET, 7365 },
+  { 0x315b, G_UNICODE_NOT_PRESENT_OFFSET, 7369 },
+  { 0x315c, G_UNICODE_NOT_PRESENT_OFFSET, 7373 },
+  { 0x315d, G_UNICODE_NOT_PRESENT_OFFSET, 7377 },
+  { 0x315e, G_UNICODE_NOT_PRESENT_OFFSET, 7381 },
+  { 0x315f, G_UNICODE_NOT_PRESENT_OFFSET, 7385 },
+  { 0x3160, G_UNICODE_NOT_PRESENT_OFFSET, 7389 },
+  { 0x3161, G_UNICODE_NOT_PRESENT_OFFSET, 7393 },
+  { 0x3162, G_UNICODE_NOT_PRESENT_OFFSET, 7397 },
+  { 0x3163, G_UNICODE_NOT_PRESENT_OFFSET, 7401 },
+  { 0x3164, G_UNICODE_NOT_PRESENT_OFFSET, 7405 },
+  { 0x3165, G_UNICODE_NOT_PRESENT_OFFSET, 7409 },
+  { 0x3166, G_UNICODE_NOT_PRESENT_OFFSET, 7413 },
+  { 0x3167, G_UNICODE_NOT_PRESENT_OFFSET, 7417 },
+  { 0x3168, G_UNICODE_NOT_PRESENT_OFFSET, 7421 },
+  { 0x3169, G_UNICODE_NOT_PRESENT_OFFSET, 7425 },
+  { 0x316a, G_UNICODE_NOT_PRESENT_OFFSET, 7429 },
+  { 0x316b, G_UNICODE_NOT_PRESENT_OFFSET, 7433 },
+  { 0x316c, G_UNICODE_NOT_PRESENT_OFFSET, 7437 },
+  { 0x316d, G_UNICODE_NOT_PRESENT_OFFSET, 7441 },
+  { 0x316e, G_UNICODE_NOT_PRESENT_OFFSET, 7445 },
+  { 0x316f, G_UNICODE_NOT_PRESENT_OFFSET, 7449 },
+  { 0x3170, G_UNICODE_NOT_PRESENT_OFFSET, 7453 },
+  { 0x3171, G_UNICODE_NOT_PRESENT_OFFSET, 7457 },
+  { 0x3172, G_UNICODE_NOT_PRESENT_OFFSET, 7461 },
+  { 0x3173, G_UNICODE_NOT_PRESENT_OFFSET, 7465 },
+  { 0x3174, G_UNICODE_NOT_PRESENT_OFFSET, 7469 },
+  { 0x3175, G_UNICODE_NOT_PRESENT_OFFSET, 7473 },
+  { 0x3176, G_UNICODE_NOT_PRESENT_OFFSET, 7477 },
+  { 0x3177, G_UNICODE_NOT_PRESENT_OFFSET, 7481 },
+  { 0x3178, G_UNICODE_NOT_PRESENT_OFFSET, 7485 },
+  { 0x3179, G_UNICODE_NOT_PRESENT_OFFSET, 7489 },
+  { 0x317a, G_UNICODE_NOT_PRESENT_OFFSET, 7493 },
+  { 0x317b, G_UNICODE_NOT_PRESENT_OFFSET, 7497 },
+  { 0x317c, G_UNICODE_NOT_PRESENT_OFFSET, 7501 },
+  { 0x317d, G_UNICODE_NOT_PRESENT_OFFSET, 7505 },
+  { 0x317e, G_UNICODE_NOT_PRESENT_OFFSET, 7509 },
+  { 0x317f, G_UNICODE_NOT_PRESENT_OFFSET, 7513 },
+  { 0x3180, G_UNICODE_NOT_PRESENT_OFFSET, 7517 },
+  { 0x3181, G_UNICODE_NOT_PRESENT_OFFSET, 7521 },
+  { 0x3182, G_UNICODE_NOT_PRESENT_OFFSET, 7525 },
+  { 0x3183, G_UNICODE_NOT_PRESENT_OFFSET, 7529 },
+  { 0x3184, G_UNICODE_NOT_PRESENT_OFFSET, 7533 },
+  { 0x3185, G_UNICODE_NOT_PRESENT_OFFSET, 7537 },
+  { 0x3186, G_UNICODE_NOT_PRESENT_OFFSET, 7541 },
+  { 0x3187, G_UNICODE_NOT_PRESENT_OFFSET, 7545 },
+  { 0x3188, G_UNICODE_NOT_PRESENT_OFFSET, 7549 },
+  { 0x3189, G_UNICODE_NOT_PRESENT_OFFSET, 7553 },
+  { 0x318a, G_UNICODE_NOT_PRESENT_OFFSET, 7557 },
+  { 0x318b, G_UNICODE_NOT_PRESENT_OFFSET, 7561 },
+  { 0x318c, G_UNICODE_NOT_PRESENT_OFFSET, 7565 },
+  { 0x318d, G_UNICODE_NOT_PRESENT_OFFSET, 7569 },
+  { 0x318e, G_UNICODE_NOT_PRESENT_OFFSET, 7573 },
+  { 0x3192, G_UNICODE_NOT_PRESENT_OFFSET, 5903 },
+  { 0x3193, G_UNICODE_NOT_PRESENT_OFFSET, 5927 },
+  { 0x3194, G_UNICODE_NOT_PRESENT_OFFSET, 7577 },
+  { 0x3195, G_UNICODE_NOT_PRESENT_OFFSET, 7581 },
+  { 0x3196, G_UNICODE_NOT_PRESENT_OFFSET, 7585 },
+  { 0x3197, G_UNICODE_NOT_PRESENT_OFFSET, 7589 },
+  { 0x3198, G_UNICODE_NOT_PRESENT_OFFSET, 7593 },
+  { 0x3199, G_UNICODE_NOT_PRESENT_OFFSET, 7597 },
+  { 0x319a, G_UNICODE_NOT_PRESENT_OFFSET, 5919 },
+  { 0x319b, G_UNICODE_NOT_PRESENT_OFFSET, 7601 },
+  { 0x319c, G_UNICODE_NOT_PRESENT_OFFSET, 7605 },
+  { 0x319d, G_UNICODE_NOT_PRESENT_OFFSET, 7609 },
+  { 0x319e, G_UNICODE_NOT_PRESENT_OFFSET, 7613 },
+  { 0x319f, G_UNICODE_NOT_PRESENT_OFFSET, 5935 },
+  { 0x3200, G_UNICODE_NOT_PRESENT_OFFSET, 7617 },
+  { 0x3201, G_UNICODE_NOT_PRESENT_OFFSET, 7623 },
+  { 0x3202, G_UNICODE_NOT_PRESENT_OFFSET, 7629 },
+  { 0x3203, G_UNICODE_NOT_PRESENT_OFFSET, 7635 },
+  { 0x3204, G_UNICODE_NOT_PRESENT_OFFSET, 7641 },
+  { 0x3205, G_UNICODE_NOT_PRESENT_OFFSET, 7647 },
+  { 0x3206, G_UNICODE_NOT_PRESENT_OFFSET, 7653 },
+  { 0x3207, G_UNICODE_NOT_PRESENT_OFFSET, 7659 },
+  { 0x3208, G_UNICODE_NOT_PRESENT_OFFSET, 7665 },
+  { 0x3209, G_UNICODE_NOT_PRESENT_OFFSET, 7671 },
+  { 0x320a, G_UNICODE_NOT_PRESENT_OFFSET, 7677 },
+  { 0x320b, G_UNICODE_NOT_PRESENT_OFFSET, 7683 },
+  { 0x320c, G_UNICODE_NOT_PRESENT_OFFSET, 7689 },
+  { 0x320d, G_UNICODE_NOT_PRESENT_OFFSET, 7695 },
+  { 0x320e, G_UNICODE_NOT_PRESENT_OFFSET, 7701 },
+  { 0x320f, G_UNICODE_NOT_PRESENT_OFFSET, 7710 },
+  { 0x3210, G_UNICODE_NOT_PRESENT_OFFSET, 7719 },
+  { 0x3211, G_UNICODE_NOT_PRESENT_OFFSET, 7728 },
+  { 0x3212, G_UNICODE_NOT_PRESENT_OFFSET, 7737 },
+  { 0x3213, G_UNICODE_NOT_PRESENT_OFFSET, 7746 },
+  { 0x3214, G_UNICODE_NOT_PRESENT_OFFSET, 7755 },
+  { 0x3215, G_UNICODE_NOT_PRESENT_OFFSET, 7764 },
+  { 0x3216, G_UNICODE_NOT_PRESENT_OFFSET, 7773 },
+  { 0x3217, G_UNICODE_NOT_PRESENT_OFFSET, 7782 },
+  { 0x3218, G_UNICODE_NOT_PRESENT_OFFSET, 7791 },
+  { 0x3219, G_UNICODE_NOT_PRESENT_OFFSET, 7800 },
+  { 0x321a, G_UNICODE_NOT_PRESENT_OFFSET, 7809 },
+  { 0x321b, G_UNICODE_NOT_PRESENT_OFFSET, 7818 },
+  { 0x321c, G_UNICODE_NOT_PRESENT_OFFSET, 7827 },
+  { 0x3220, G_UNICODE_NOT_PRESENT_OFFSET, 7836 },
+  { 0x3221, G_UNICODE_NOT_PRESENT_OFFSET, 7842 },
+  { 0x3222, G_UNICODE_NOT_PRESENT_OFFSET, 7848 },
+  { 0x3223, G_UNICODE_NOT_PRESENT_OFFSET, 7854 },
+  { 0x3224, G_UNICODE_NOT_PRESENT_OFFSET, 7860 },
+  { 0x3225, G_UNICODE_NOT_PRESENT_OFFSET, 7866 },
+  { 0x3226, G_UNICODE_NOT_PRESENT_OFFSET, 7872 },
+  { 0x3227, G_UNICODE_NOT_PRESENT_OFFSET, 7878 },
+  { 0x3228, G_UNICODE_NOT_PRESENT_OFFSET, 7884 },
+  { 0x3229, G_UNICODE_NOT_PRESENT_OFFSET, 7890 },
+  { 0x322a, G_UNICODE_NOT_PRESENT_OFFSET, 7896 },
+  { 0x322b, G_UNICODE_NOT_PRESENT_OFFSET, 7902 },
+  { 0x322c, G_UNICODE_NOT_PRESENT_OFFSET, 7908 },
+  { 0x322d, G_UNICODE_NOT_PRESENT_OFFSET, 7914 },
+  { 0x322e, G_UNICODE_NOT_PRESENT_OFFSET, 7920 },
+  { 0x322f, G_UNICODE_NOT_PRESENT_OFFSET, 7926 },
+  { 0x3230, G_UNICODE_NOT_PRESENT_OFFSET, 7932 },
+  { 0x3231, G_UNICODE_NOT_PRESENT_OFFSET, 7938 },
+  { 0x3232, G_UNICODE_NOT_PRESENT_OFFSET, 7944 },
+  { 0x3233, G_UNICODE_NOT_PRESENT_OFFSET, 7950 },
+  { 0x3234, G_UNICODE_NOT_PRESENT_OFFSET, 7956 },
+  { 0x3235, G_UNICODE_NOT_PRESENT_OFFSET, 7962 },
+  { 0x3236, G_UNICODE_NOT_PRESENT_OFFSET, 7968 },
+  { 0x3237, G_UNICODE_NOT_PRESENT_OFFSET, 7974 },
+  { 0x3238, G_UNICODE_NOT_PRESENT_OFFSET, 7980 },
+  { 0x3239, G_UNICODE_NOT_PRESENT_OFFSET, 7986 },
+  { 0x323a, G_UNICODE_NOT_PRESENT_OFFSET, 7992 },
+  { 0x323b, G_UNICODE_NOT_PRESENT_OFFSET, 7998 },
+  { 0x323c, G_UNICODE_NOT_PRESENT_OFFSET, 8004 },
+  { 0x323d, G_UNICODE_NOT_PRESENT_OFFSET, 8010 },
+  { 0x323e, G_UNICODE_NOT_PRESENT_OFFSET, 8016 },
+  { 0x323f, G_UNICODE_NOT_PRESENT_OFFSET, 8022 },
+  { 0x3240, G_UNICODE_NOT_PRESENT_OFFSET, 8028 },
+  { 0x3241, G_UNICODE_NOT_PRESENT_OFFSET, 8034 },
+  { 0x3242, G_UNICODE_NOT_PRESENT_OFFSET, 8040 },
+  { 0x3243, G_UNICODE_NOT_PRESENT_OFFSET, 8046 },
+  { 0x3251, G_UNICODE_NOT_PRESENT_OFFSET, 8052 },
+  { 0x3252, G_UNICODE_NOT_PRESENT_OFFSET, 8055 },
+  { 0x3253, G_UNICODE_NOT_PRESENT_OFFSET, 8058 },
+  { 0x3254, G_UNICODE_NOT_PRESENT_OFFSET, 8061 },
+  { 0x3255, G_UNICODE_NOT_PRESENT_OFFSET, 8064 },
+  { 0x3256, G_UNICODE_NOT_PRESENT_OFFSET, 8067 },
+  { 0x3257, G_UNICODE_NOT_PRESENT_OFFSET, 8070 },
+  { 0x3258, G_UNICODE_NOT_PRESENT_OFFSET, 8073 },
+  { 0x3259, G_UNICODE_NOT_PRESENT_OFFSET, 8076 },
+  { 0x325a, G_UNICODE_NOT_PRESENT_OFFSET, 8079 },
+  { 0x325b, G_UNICODE_NOT_PRESENT_OFFSET, 8082 },
+  { 0x325c, G_UNICODE_NOT_PRESENT_OFFSET, 8085 },
+  { 0x325d, G_UNICODE_NOT_PRESENT_OFFSET, 8088 },
+  { 0x325e, G_UNICODE_NOT_PRESENT_OFFSET, 8091 },
+  { 0x325f, G_UNICODE_NOT_PRESENT_OFFSET, 8094 },
+  { 0x3260, G_UNICODE_NOT_PRESENT_OFFSET, 7201 },
+  { 0x3261, G_UNICODE_NOT_PRESENT_OFFSET, 7213 },
+  { 0x3262, G_UNICODE_NOT_PRESENT_OFFSET, 7225 },
+  { 0x3263, G_UNICODE_NOT_PRESENT_OFFSET, 7233 },
+  { 0x3264, G_UNICODE_NOT_PRESENT_OFFSET, 7265 },
+  { 0x3265, G_UNICODE_NOT_PRESENT_OFFSET, 7269 },
+  { 0x3266, G_UNICODE_NOT_PRESENT_OFFSET, 7281 },
+  { 0x3267, G_UNICODE_NOT_PRESENT_OFFSET, 7289 },
+  { 0x3268, G_UNICODE_NOT_PRESENT_OFFSET, 7293 },
+  { 0x3269, G_UNICODE_NOT_PRESENT_OFFSET, 7301 },
+  { 0x326a, G_UNICODE_NOT_PRESENT_OFFSET, 7305 },
+  { 0x326b, G_UNICODE_NOT_PRESENT_OFFSET, 7309 },
+  { 0x326c, G_UNICODE_NOT_PRESENT_OFFSET, 7313 },
+  { 0x326d, G_UNICODE_NOT_PRESENT_OFFSET, 7317 },
+  { 0x326e, G_UNICODE_NOT_PRESENT_OFFSET, 8097 },
+  { 0x326f, G_UNICODE_NOT_PRESENT_OFFSET, 8104 },
+  { 0x3270, G_UNICODE_NOT_PRESENT_OFFSET, 8111 },
+  { 0x3271, G_UNICODE_NOT_PRESENT_OFFSET, 8118 },
+  { 0x3272, G_UNICODE_NOT_PRESENT_OFFSET, 8125 },
+  { 0x3273, G_UNICODE_NOT_PRESENT_OFFSET, 8132 },
+  { 0x3274, G_UNICODE_NOT_PRESENT_OFFSET, 8139 },
+  { 0x3275, G_UNICODE_NOT_PRESENT_OFFSET, 8146 },
+  { 0x3276, G_UNICODE_NOT_PRESENT_OFFSET, 8153 },
+  { 0x3277, G_UNICODE_NOT_PRESENT_OFFSET, 8160 },
+  { 0x3278, G_UNICODE_NOT_PRESENT_OFFSET, 8167 },
+  { 0x3279, G_UNICODE_NOT_PRESENT_OFFSET, 8174 },
+  { 0x327a, G_UNICODE_NOT_PRESENT_OFFSET, 8181 },
+  { 0x327b, G_UNICODE_NOT_PRESENT_OFFSET, 8188 },
+  { 0x3280, G_UNICODE_NOT_PRESENT_OFFSET, 5903 },
+  { 0x3281, G_UNICODE_NOT_PRESENT_OFFSET, 5927 },
+  { 0x3282, G_UNICODE_NOT_PRESENT_OFFSET, 7577 },
+  { 0x3283, G_UNICODE_NOT_PRESENT_OFFSET, 7581 },
+  { 0x3284, G_UNICODE_NOT_PRESENT_OFFSET, 8195 },
+  { 0x3285, G_UNICODE_NOT_PRESENT_OFFSET, 8199 },
+  { 0x3286, G_UNICODE_NOT_PRESENT_OFFSET, 8203 },
+  { 0x3287, G_UNICODE_NOT_PRESENT_OFFSET, 5947 },
+  { 0x3288, G_UNICODE_NOT_PRESENT_OFFSET, 8207 },
+  { 0x3289, G_UNICODE_NOT_PRESENT_OFFSET, 5995 },
+  { 0x328a, G_UNICODE_NOT_PRESENT_OFFSET, 6195 },
+  { 0x328b, G_UNICODE_NOT_PRESENT_OFFSET, 6243 },
+  { 0x328c, G_UNICODE_NOT_PRESENT_OFFSET, 6239 },
+  { 0x328d, G_UNICODE_NOT_PRESENT_OFFSET, 6199 },
+  { 0x328e, G_UNICODE_NOT_PRESENT_OFFSET, 6567 },
+  { 0x328f, G_UNICODE_NOT_PRESENT_OFFSET, 6027 },
+  { 0x3290, G_UNICODE_NOT_PRESENT_OFFSET, 6187 },
+  { 0x3291, G_UNICODE_NOT_PRESENT_OFFSET, 8211 },
+  { 0x3292, G_UNICODE_NOT_PRESENT_OFFSET, 8215 },
+  { 0x3293, G_UNICODE_NOT_PRESENT_OFFSET, 8219 },
+  { 0x3294, G_UNICODE_NOT_PRESENT_OFFSET, 8223 },
+  { 0x3295, G_UNICODE_NOT_PRESENT_OFFSET, 8227 },
+  { 0x3296, G_UNICODE_NOT_PRESENT_OFFSET, 8231 },
+  { 0x3297, G_UNICODE_NOT_PRESENT_OFFSET, 8235 },
+  { 0x3298, G_UNICODE_NOT_PRESENT_OFFSET, 8239 },
+  { 0x3299, G_UNICODE_NOT_PRESENT_OFFSET, 8243 },
+  { 0x329a, G_UNICODE_NOT_PRESENT_OFFSET, 8247 },
+  { 0x329b, G_UNICODE_NOT_PRESENT_OFFSET, 6051 },
+  { 0x329c, G_UNICODE_NOT_PRESENT_OFFSET, 8251 },
+  { 0x329d, G_UNICODE_NOT_PRESENT_OFFSET, 8255 },
+  { 0x329e, G_UNICODE_NOT_PRESENT_OFFSET, 8259 },
+  { 0x329f, G_UNICODE_NOT_PRESENT_OFFSET, 8263 },
+  { 0x32a0, G_UNICODE_NOT_PRESENT_OFFSET, 8267 },
+  { 0x32a1, G_UNICODE_NOT_PRESENT_OFFSET, 8271 },
+  { 0x32a2, G_UNICODE_NOT_PRESENT_OFFSET, 8275 },
+  { 0x32a3, G_UNICODE_NOT_PRESENT_OFFSET, 8279 },
+  { 0x32a4, G_UNICODE_NOT_PRESENT_OFFSET, 7585 },
+  { 0x32a5, G_UNICODE_NOT_PRESENT_OFFSET, 7589 },
+  { 0x32a6, G_UNICODE_NOT_PRESENT_OFFSET, 7593 },
+  { 0x32a7, G_UNICODE_NOT_PRESENT_OFFSET, 8283 },
+  { 0x32a8, G_UNICODE_NOT_PRESENT_OFFSET, 8287 },
+  { 0x32a9, G_UNICODE_NOT_PRESENT_OFFSET, 8291 },
+  { 0x32aa, G_UNICODE_NOT_PRESENT_OFFSET, 8295 },
+  { 0x32ab, G_UNICODE_NOT_PRESENT_OFFSET, 8299 },
+  { 0x32ac, G_UNICODE_NOT_PRESENT_OFFSET, 8303 },
+  { 0x32ad, G_UNICODE_NOT_PRESENT_OFFSET, 8307 },
+  { 0x32ae, G_UNICODE_NOT_PRESENT_OFFSET, 8311 },
+  { 0x32af, G_UNICODE_NOT_PRESENT_OFFSET, 8315 },
+  { 0x32b0, G_UNICODE_NOT_PRESENT_OFFSET, 8319 },
+  { 0x32b1, G_UNICODE_NOT_PRESENT_OFFSET, 8323 },
+  { 0x32b2, G_UNICODE_NOT_PRESENT_OFFSET, 8326 },
+  { 0x32b3, G_UNICODE_NOT_PRESENT_OFFSET, 8329 },
+  { 0x32b4, G_UNICODE_NOT_PRESENT_OFFSET, 8332 },
+  { 0x32b5, G_UNICODE_NOT_PRESENT_OFFSET, 8335 },
+  { 0x32b6, G_UNICODE_NOT_PRESENT_OFFSET, 8338 },
+  { 0x32b7, G_UNICODE_NOT_PRESENT_OFFSET, 8341 },
+  { 0x32b8, G_UNICODE_NOT_PRESENT_OFFSET, 8344 },
+  { 0x32b9, G_UNICODE_NOT_PRESENT_OFFSET, 8347 },
+  { 0x32ba, G_UNICODE_NOT_PRESENT_OFFSET, 8350 },
+  { 0x32bb, G_UNICODE_NOT_PRESENT_OFFSET, 8353 },
+  { 0x32bc, G_UNICODE_NOT_PRESENT_OFFSET, 8356 },
+  { 0x32bd, G_UNICODE_NOT_PRESENT_OFFSET, 8359 },
+  { 0x32be, G_UNICODE_NOT_PRESENT_OFFSET, 8362 },
+  { 0x32bf, G_UNICODE_NOT_PRESENT_OFFSET, 8365 },
+  { 0x32c0, G_UNICODE_NOT_PRESENT_OFFSET, 8368 },
+  { 0x32c1, G_UNICODE_NOT_PRESENT_OFFSET, 8373 },
+  { 0x32c2, G_UNICODE_NOT_PRESENT_OFFSET, 8378 },
+  { 0x32c3, G_UNICODE_NOT_PRESENT_OFFSET, 8383 },
+  { 0x32c4, G_UNICODE_NOT_PRESENT_OFFSET, 8388 },
+  { 0x32c5, G_UNICODE_NOT_PRESENT_OFFSET, 8393 },
+  { 0x32c6, G_UNICODE_NOT_PRESENT_OFFSET, 8398 },
+  { 0x32c7, G_UNICODE_NOT_PRESENT_OFFSET, 8403 },
+  { 0x32c8, G_UNICODE_NOT_PRESENT_OFFSET, 8408 },
+  { 0x32c9, G_UNICODE_NOT_PRESENT_OFFSET, 8413 },
+  { 0x32ca, G_UNICODE_NOT_PRESENT_OFFSET, 8419 },
+  { 0x32cb, G_UNICODE_NOT_PRESENT_OFFSET, 8425 },
+  { 0x32d0, G_UNICODE_NOT_PRESENT_OFFSET, 8431 },
+  { 0x32d1, G_UNICODE_NOT_PRESENT_OFFSET, 8435 },
+  { 0x32d2, G_UNICODE_NOT_PRESENT_OFFSET, 8439 },
+  { 0x32d3, G_UNICODE_NOT_PRESENT_OFFSET, 8443 },
+  { 0x32d4, G_UNICODE_NOT_PRESENT_OFFSET, 8447 },
+  { 0x32d5, G_UNICODE_NOT_PRESENT_OFFSET, 8451 },
+  { 0x32d6, G_UNICODE_NOT_PRESENT_OFFSET, 8455 },
+  { 0x32d7, G_UNICODE_NOT_PRESENT_OFFSET, 8459 },
+  { 0x32d8, G_UNICODE_NOT_PRESENT_OFFSET, 8463 },
+  { 0x32d9, G_UNICODE_NOT_PRESENT_OFFSET, 8467 },
+  { 0x32da, G_UNICODE_NOT_PRESENT_OFFSET, 8471 },
+  { 0x32db, G_UNICODE_NOT_PRESENT_OFFSET, 8475 },
+  { 0x32dc, G_UNICODE_NOT_PRESENT_OFFSET, 8479 },
+  { 0x32dd, G_UNICODE_NOT_PRESENT_OFFSET, 8483 },
+  { 0x32de, G_UNICODE_NOT_PRESENT_OFFSET, 8487 },
+  { 0x32df, G_UNICODE_NOT_PRESENT_OFFSET, 8491 },
+  { 0x32e0, G_UNICODE_NOT_PRESENT_OFFSET, 8495 },
+  { 0x32e1, G_UNICODE_NOT_PRESENT_OFFSET, 8499 },
+  { 0x32e2, G_UNICODE_NOT_PRESENT_OFFSET, 8503 },
+  { 0x32e3, G_UNICODE_NOT_PRESENT_OFFSET, 8507 },
+  { 0x32e4, G_UNICODE_NOT_PRESENT_OFFSET, 8511 },
+  { 0x32e5, G_UNICODE_NOT_PRESENT_OFFSET, 8515 },
+  { 0x32e6, G_UNICODE_NOT_PRESENT_OFFSET, 8519 },
+  { 0x32e7, G_UNICODE_NOT_PRESENT_OFFSET, 8523 },
+  { 0x32e8, G_UNICODE_NOT_PRESENT_OFFSET, 8527 },
+  { 0x32e9, G_UNICODE_NOT_PRESENT_OFFSET, 8531 },
+  { 0x32ea, G_UNICODE_NOT_PRESENT_OFFSET, 8535 },
+  { 0x32eb, G_UNICODE_NOT_PRESENT_OFFSET, 8539 },
+  { 0x32ec, G_UNICODE_NOT_PRESENT_OFFSET, 8543 },
+  { 0x32ed, G_UNICODE_NOT_PRESENT_OFFSET, 8547 },
+  { 0x32ee, G_UNICODE_NOT_PRESENT_OFFSET, 8551 },
+  { 0x32ef, G_UNICODE_NOT_PRESENT_OFFSET, 8555 },
+  { 0x32f0, G_UNICODE_NOT_PRESENT_OFFSET, 8559 },
+  { 0x32f1, G_UNICODE_NOT_PRESENT_OFFSET, 8563 },
+  { 0x32f2, G_UNICODE_NOT_PRESENT_OFFSET, 8567 },
+  { 0x32f3, G_UNICODE_NOT_PRESENT_OFFSET, 8571 },
+  { 0x32f4, G_UNICODE_NOT_PRESENT_OFFSET, 8575 },
+  { 0x32f5, G_UNICODE_NOT_PRESENT_OFFSET, 8579 },
+  { 0x32f6, G_UNICODE_NOT_PRESENT_OFFSET, 8583 },
+  { 0x32f7, G_UNICODE_NOT_PRESENT_OFFSET, 8587 },
+  { 0x32f8, G_UNICODE_NOT_PRESENT_OFFSET, 8591 },
+  { 0x32f9, G_UNICODE_NOT_PRESENT_OFFSET, 8595 },
+  { 0x32fa, G_UNICODE_NOT_PRESENT_OFFSET, 8599 },
+  { 0x32fb, G_UNICODE_NOT_PRESENT_OFFSET, 8603 },
+  { 0x32fc, G_UNICODE_NOT_PRESENT_OFFSET, 8607 },
+  { 0x32fd, G_UNICODE_NOT_PRESENT_OFFSET, 8611 },
+  { 0x32fe, G_UNICODE_NOT_PRESENT_OFFSET, 8615 },
+  { 0x3300, G_UNICODE_NOT_PRESENT_OFFSET, 8619 },
+  { 0x3301, G_UNICODE_NOT_PRESENT_OFFSET, 8635 },
+  { 0x3302, G_UNICODE_NOT_PRESENT_OFFSET, 8648 },
+  { 0x3303, G_UNICODE_NOT_PRESENT_OFFSET, 8664 },
+  { 0x3304, G_UNICODE_NOT_PRESENT_OFFSET, 8674 },
+  { 0x3305, G_UNICODE_NOT_PRESENT_OFFSET, 8690 },
+  { 0x3306, G_UNICODE_NOT_PRESENT_OFFSET, 8700 },
+  { 0x3307, G_UNICODE_NOT_PRESENT_OFFSET, 8710 },
+  { 0x3308, G_UNICODE_NOT_PRESENT_OFFSET, 8729 },
+  { 0x3309, G_UNICODE_NOT_PRESENT_OFFSET, 8742 },
+  { 0x330a, G_UNICODE_NOT_PRESENT_OFFSET, 8752 },
+  { 0x330b, G_UNICODE_NOT_PRESENT_OFFSET, 8762 },
+  { 0x330c, G_UNICODE_NOT_PRESENT_OFFSET, 8772 },
+  { 0x330d, G_UNICODE_NOT_PRESENT_OFFSET, 8785 },
+  { 0x330e, G_UNICODE_NOT_PRESENT_OFFSET, 8798 },
+  { 0x330f, G_UNICODE_NOT_PRESENT_OFFSET, 8811 },
+  { 0x3310, G_UNICODE_NOT_PRESENT_OFFSET, 8824 },
+  { 0x3311, G_UNICODE_NOT_PRESENT_OFFSET, 8837 },
+  { 0x3312, G_UNICODE_NOT_PRESENT_OFFSET, 8850 },
+  { 0x3313, G_UNICODE_NOT_PRESENT_OFFSET, 8863 },
+  { 0x3314, G_UNICODE_NOT_PRESENT_OFFSET, 8882 },
+  { 0x3315, G_UNICODE_NOT_PRESENT_OFFSET, 8889 },
+  { 0x3316, G_UNICODE_NOT_PRESENT_OFFSET, 8908 },
+  { 0x3317, G_UNICODE_NOT_PRESENT_OFFSET, 8927 },
+  { 0x3318, G_UNICODE_NOT_PRESENT_OFFSET, 8943 },
+  { 0x3319, G_UNICODE_NOT_PRESENT_OFFSET, 8956 },
+  { 0x331a, G_UNICODE_NOT_PRESENT_OFFSET, 8975 },
+  { 0x331b, G_UNICODE_NOT_PRESENT_OFFSET, 8994 },
+  { 0x331c, G_UNICODE_NOT_PRESENT_OFFSET, 9007 },
+  { 0x331d, G_UNICODE_NOT_PRESENT_OFFSET, 9017 },
+  { 0x331e, G_UNICODE_NOT_PRESENT_OFFSET, 9027 },
+  { 0x331f, G_UNICODE_NOT_PRESENT_OFFSET, 9040 },
+  { 0x3320, G_UNICODE_NOT_PRESENT_OFFSET, 9053 },
+  { 0x3321, G_UNICODE_NOT_PRESENT_OFFSET, 9069 },
+  { 0x3322, G_UNICODE_NOT_PRESENT_OFFSET, 9085 },
+  { 0x3323, G_UNICODE_NOT_PRESENT_OFFSET, 9095 },
+  { 0x3324, G_UNICODE_NOT_PRESENT_OFFSET, 9105 },
+  { 0x3325, G_UNICODE_NOT_PRESENT_OFFSET, 9118 },
+  { 0x3326, G_UNICODE_NOT_PRESENT_OFFSET, 9128 },
+  { 0x3327, G_UNICODE_NOT_PRESENT_OFFSET, 9138 },
+  { 0x3328, G_UNICODE_NOT_PRESENT_OFFSET, 9145 },
+  { 0x3329, G_UNICODE_NOT_PRESENT_OFFSET, 9152 },
+  { 0x332a, G_UNICODE_NOT_PRESENT_OFFSET, 9162 },
+  { 0x332b, G_UNICODE_NOT_PRESENT_OFFSET, 9172 },
+  { 0x332c, G_UNICODE_NOT_PRESENT_OFFSET, 9191 },
+  { 0x332d, G_UNICODE_NOT_PRESENT_OFFSET, 9204 },
+  { 0x332e, G_UNICODE_NOT_PRESENT_OFFSET, 9220 },
+  { 0x332f, G_UNICODE_NOT_PRESENT_OFFSET, 9239 },
+  { 0x3330, G_UNICODE_NOT_PRESENT_OFFSET, 9252 },
+  { 0x3331, G_UNICODE_NOT_PRESENT_OFFSET, 9262 },
+  { 0x3332, G_UNICODE_NOT_PRESENT_OFFSET, 9272 },
+  { 0x3333, G_UNICODE_NOT_PRESENT_OFFSET, 9291 },
+  { 0x3334, G_UNICODE_NOT_PRESENT_OFFSET, 9304 },
+  { 0x3335, G_UNICODE_NOT_PRESENT_OFFSET, 9323 },
+  { 0x3336, G_UNICODE_NOT_PRESENT_OFFSET, 9333 },
+  { 0x3337, G_UNICODE_NOT_PRESENT_OFFSET, 9349 },
+  { 0x3338, G_UNICODE_NOT_PRESENT_OFFSET, 9359 },
+  { 0x3339, G_UNICODE_NOT_PRESENT_OFFSET, 9372 },
+  { 0x333a, G_UNICODE_NOT_PRESENT_OFFSET, 9382 },
+  { 0x333b, G_UNICODE_NOT_PRESENT_OFFSET, 9395 },
+  { 0x333c, G_UNICODE_NOT_PRESENT_OFFSET, 9411 },
+  { 0x333d, G_UNICODE_NOT_PRESENT_OFFSET, 9424 },
+  { 0x333e, G_UNICODE_NOT_PRESENT_OFFSET, 9440 },
+  { 0x333f, G_UNICODE_NOT_PRESENT_OFFSET, 9453 },
+  { 0x3340, G_UNICODE_NOT_PRESENT_OFFSET, 9460 },
+  { 0x3341, G_UNICODE_NOT_PRESENT_OFFSET, 9476 },
+  { 0x3342, G_UNICODE_NOT_PRESENT_OFFSET, 9486 },
+  { 0x3343, G_UNICODE_NOT_PRESENT_OFFSET, 9496 },
+  { 0x3344, G_UNICODE_NOT_PRESENT_OFFSET, 9509 },
+  { 0x3345, G_UNICODE_NOT_PRESENT_OFFSET, 9519 },
+  { 0x3346, G_UNICODE_NOT_PRESENT_OFFSET, 9529 },
+  { 0x3347, G_UNICODE_NOT_PRESENT_OFFSET, 9539 },
+  { 0x3348, G_UNICODE_NOT_PRESENT_OFFSET, 9555 },
+  { 0x3349, G_UNICODE_NOT_PRESENT_OFFSET, 9568 },
+  { 0x334a, G_UNICODE_NOT_PRESENT_OFFSET, 9575 },
+  { 0x334b, G_UNICODE_NOT_PRESENT_OFFSET, 9594 },
+  { 0x334c, G_UNICODE_NOT_PRESENT_OFFSET, 9604 },
+  { 0x334d, G_UNICODE_NOT_PRESENT_OFFSET, 9620 },
+  { 0x334e, G_UNICODE_NOT_PRESENT_OFFSET, 9633 },
+  { 0x334f, G_UNICODE_NOT_PRESENT_OFFSET, 9646 },
+  { 0x3350, G_UNICODE_NOT_PRESENT_OFFSET, 9656 },
+  { 0x3351, G_UNICODE_NOT_PRESENT_OFFSET, 9666 },
+  { 0x3352, G_UNICODE_NOT_PRESENT_OFFSET, 9679 },
+  { 0x3353, G_UNICODE_NOT_PRESENT_OFFSET, 9686 },
+  { 0x3354, G_UNICODE_NOT_PRESENT_OFFSET, 9699 },
+  { 0x3355, G_UNICODE_NOT_PRESENT_OFFSET, 9715 },
+  { 0x3356, G_UNICODE_NOT_PRESENT_OFFSET, 9722 },
+  { 0x3357, G_UNICODE_NOT_PRESENT_OFFSET, 9741 },
+  { 0x3358, G_UNICODE_NOT_PRESENT_OFFSET, 9751 },
+  { 0x3359, G_UNICODE_NOT_PRESENT_OFFSET, 9756 },
+  { 0x335a, G_UNICODE_NOT_PRESENT_OFFSET, 9761 },
+  { 0x335b, G_UNICODE_NOT_PRESENT_OFFSET, 9766 },
+  { 0x335c, G_UNICODE_NOT_PRESENT_OFFSET, 9771 },
+  { 0x335d, G_UNICODE_NOT_PRESENT_OFFSET, 9776 },
+  { 0x335e, G_UNICODE_NOT_PRESENT_OFFSET, 9781 },
+  { 0x335f, G_UNICODE_NOT_PRESENT_OFFSET, 9786 },
+  { 0x3360, G_UNICODE_NOT_PRESENT_OFFSET, 9791 },
+  { 0x3361, G_UNICODE_NOT_PRESENT_OFFSET, 9796 },
+  { 0x3362, G_UNICODE_NOT_PRESENT_OFFSET, 9801 },
+  { 0x3363, G_UNICODE_NOT_PRESENT_OFFSET, 9807 },
+  { 0x3364, G_UNICODE_NOT_PRESENT_OFFSET, 9813 },
+  { 0x3365, G_UNICODE_NOT_PRESENT_OFFSET, 9819 },
+  { 0x3366, G_UNICODE_NOT_PRESENT_OFFSET, 9825 },
+  { 0x3367, G_UNICODE_NOT_PRESENT_OFFSET, 9831 },
+  { 0x3368, G_UNICODE_NOT_PRESENT_OFFSET, 9837 },
+  { 0x3369, G_UNICODE_NOT_PRESENT_OFFSET, 9843 },
+  { 0x336a, G_UNICODE_NOT_PRESENT_OFFSET, 9849 },
+  { 0x336b, G_UNICODE_NOT_PRESENT_OFFSET, 9855 },
+  { 0x336c, G_UNICODE_NOT_PRESENT_OFFSET, 9861 },
+  { 0x336d, G_UNICODE_NOT_PRESENT_OFFSET, 9867 },
+  { 0x336e, G_UNICODE_NOT_PRESENT_OFFSET, 9873 },
+  { 0x336f, G_UNICODE_NOT_PRESENT_OFFSET, 9879 },
+  { 0x3370, G_UNICODE_NOT_PRESENT_OFFSET, 9885 },
+  { 0x3371, G_UNICODE_NOT_PRESENT_OFFSET, 9891 },
+  { 0x3372, G_UNICODE_NOT_PRESENT_OFFSET, 9895 },
+  { 0x3373, G_UNICODE_NOT_PRESENT_OFFSET, 9898 },
+  { 0x3374, G_UNICODE_NOT_PRESENT_OFFSET, 9901 },
+  { 0x3375, G_UNICODE_NOT_PRESENT_OFFSET, 9905 },
+  { 0x3376, G_UNICODE_NOT_PRESENT_OFFSET, 9908 },
+  { 0x337b, G_UNICODE_NOT_PRESENT_OFFSET, 9911 },
+  { 0x337c, G_UNICODE_NOT_PRESENT_OFFSET, 9918 },
+  { 0x337d, G_UNICODE_NOT_PRESENT_OFFSET, 9925 },
+  { 0x337e, G_UNICODE_NOT_PRESENT_OFFSET, 9932 },
+  { 0x337f, G_UNICODE_NOT_PRESENT_OFFSET, 9939 },
+  { 0x3380, G_UNICODE_NOT_PRESENT_OFFSET, 9952 },
+  { 0x3381, G_UNICODE_NOT_PRESENT_OFFSET, 9955 },
+  { 0x3382, G_UNICODE_NOT_PRESENT_OFFSET, 9958 },
+  { 0x3383, G_UNICODE_NOT_PRESENT_OFFSET, 9962 },
+  { 0x3384, G_UNICODE_NOT_PRESENT_OFFSET, 9965 },
+  { 0x3385, G_UNICODE_NOT_PRESENT_OFFSET, 9968 },
+  { 0x3386, G_UNICODE_NOT_PRESENT_OFFSET, 9971 },
+  { 0x3387, G_UNICODE_NOT_PRESENT_OFFSET, 9974 },
+  { 0x3388, G_UNICODE_NOT_PRESENT_OFFSET, 9977 },
+  { 0x3389, G_UNICODE_NOT_PRESENT_OFFSET, 9981 },
+  { 0x338a, G_UNICODE_NOT_PRESENT_OFFSET, 9986 },
+  { 0x338b, G_UNICODE_NOT_PRESENT_OFFSET, 9989 },
+  { 0x338c, G_UNICODE_NOT_PRESENT_OFFSET, 9992 },
+  { 0x338d, G_UNICODE_NOT_PRESENT_OFFSET, 9996 },
+  { 0x338e, G_UNICODE_NOT_PRESENT_OFFSET, 10000 },
+  { 0x338f, G_UNICODE_NOT_PRESENT_OFFSET, 10003 },
+  { 0x3390, G_UNICODE_NOT_PRESENT_OFFSET, 10006 },
+  { 0x3391, G_UNICODE_NOT_PRESENT_OFFSET, 10009 },
+  { 0x3392, G_UNICODE_NOT_PRESENT_OFFSET, 10013 },
+  { 0x3393, G_UNICODE_NOT_PRESENT_OFFSET, 10017 },
+  { 0x3394, G_UNICODE_NOT_PRESENT_OFFSET, 10021 },
+  { 0x3395, G_UNICODE_NOT_PRESENT_OFFSET, 10025 },
+  { 0x3396, G_UNICODE_NOT_PRESENT_OFFSET, 10029 },
+  { 0x3397, G_UNICODE_NOT_PRESENT_OFFSET, 10032 },
+  { 0x3398, G_UNICODE_NOT_PRESENT_OFFSET, 10035 },
+  { 0x3399, G_UNICODE_NOT_PRESENT_OFFSET, 10038 },
+  { 0x339a, G_UNICODE_NOT_PRESENT_OFFSET, 10041 },
+  { 0x339b, G_UNICODE_NOT_PRESENT_OFFSET, 10044 },
+  { 0x339c, G_UNICODE_NOT_PRESENT_OFFSET, 10048 },
+  { 0x339d, G_UNICODE_NOT_PRESENT_OFFSET, 10051 },
+  { 0x339e, G_UNICODE_NOT_PRESENT_OFFSET, 10054 },
+  { 0x339f, G_UNICODE_NOT_PRESENT_OFFSET, 10057 },
+  { 0x33a0, G_UNICODE_NOT_PRESENT_OFFSET, 10061 },
+  { 0x33a1, G_UNICODE_NOT_PRESENT_OFFSET, 10065 },
+  { 0x33a2, G_UNICODE_NOT_PRESENT_OFFSET, 10068 },
+  { 0x33a3, G_UNICODE_NOT_PRESENT_OFFSET, 10072 },
+  { 0x33a4, G_UNICODE_NOT_PRESENT_OFFSET, 10076 },
+  { 0x33a5, G_UNICODE_NOT_PRESENT_OFFSET, 10080 },
+  { 0x33a6, G_UNICODE_NOT_PRESENT_OFFSET, 10083 },
+  { 0x33a7, G_UNICODE_NOT_PRESENT_OFFSET, 10087 },
+  { 0x33a8, G_UNICODE_NOT_PRESENT_OFFSET, 10093 },
+  { 0x33a9, G_UNICODE_NOT_PRESENT_OFFSET, 10100 },
+  { 0x33aa, G_UNICODE_NOT_PRESENT_OFFSET, 10103 },
+  { 0x33ab, G_UNICODE_NOT_PRESENT_OFFSET, 10107 },
+  { 0x33ac, G_UNICODE_NOT_PRESENT_OFFSET, 10111 },
+  { 0x33ad, G_UNICODE_NOT_PRESENT_OFFSET, 10115 },
+  { 0x33ae, G_UNICODE_NOT_PRESENT_OFFSET, 10119 },
+  { 0x33af, G_UNICODE_NOT_PRESENT_OFFSET, 10127 },
+  { 0x33b0, G_UNICODE_NOT_PRESENT_OFFSET, 10136 },
+  { 0x33b1, G_UNICODE_NOT_PRESENT_OFFSET, 10139 },
+  { 0x33b2, G_UNICODE_NOT_PRESENT_OFFSET, 10142 },
+  { 0x33b3, G_UNICODE_NOT_PRESENT_OFFSET, 10146 },
+  { 0x33b4, G_UNICODE_NOT_PRESENT_OFFSET, 10149 },
+  { 0x33b5, G_UNICODE_NOT_PRESENT_OFFSET, 10152 },
+  { 0x33b6, G_UNICODE_NOT_PRESENT_OFFSET, 10155 },
+  { 0x33b7, G_UNICODE_NOT_PRESENT_OFFSET, 10159 },
+  { 0x33b8, G_UNICODE_NOT_PRESENT_OFFSET, 10162 },
+  { 0x33b9, G_UNICODE_NOT_PRESENT_OFFSET, 10165 },
+  { 0x33ba, G_UNICODE_NOT_PRESENT_OFFSET, 10168 },
+  { 0x33bb, G_UNICODE_NOT_PRESENT_OFFSET, 10171 },
+  { 0x33bc, G_UNICODE_NOT_PRESENT_OFFSET, 10174 },
+  { 0x33bd, G_UNICODE_NOT_PRESENT_OFFSET, 10178 },
+  { 0x33be, G_UNICODE_NOT_PRESENT_OFFSET, 10181 },
+  { 0x33bf, G_UNICODE_NOT_PRESENT_OFFSET, 10184 },
+  { 0x33c0, G_UNICODE_NOT_PRESENT_OFFSET, 10187 },
+  { 0x33c1, G_UNICODE_NOT_PRESENT_OFFSET, 10191 },
+  { 0x33c2, G_UNICODE_NOT_PRESENT_OFFSET, 10195 },
+  { 0x33c3, G_UNICODE_NOT_PRESENT_OFFSET, 10200 },
+  { 0x33c4, G_UNICODE_NOT_PRESENT_OFFSET, 10203 },
+  { 0x33c5, G_UNICODE_NOT_PRESENT_OFFSET, 10206 },
+  { 0x33c6, G_UNICODE_NOT_PRESENT_OFFSET, 10209 },
+  { 0x33c7, G_UNICODE_NOT_PRESENT_OFFSET, 10216 },
+  { 0x33c8, G_UNICODE_NOT_PRESENT_OFFSET, 10220 },
+  { 0x33c9, G_UNICODE_NOT_PRESENT_OFFSET, 10223 },
+  { 0x33ca, G_UNICODE_NOT_PRESENT_OFFSET, 10226 },
+  { 0x33cb, G_UNICODE_NOT_PRESENT_OFFSET, 10229 },
+  { 0x33cc, G_UNICODE_NOT_PRESENT_OFFSET, 10232 },
+  { 0x33cd, G_UNICODE_NOT_PRESENT_OFFSET, 10235 },
+  { 0x33ce, G_UNICODE_NOT_PRESENT_OFFSET, 10238 },
+  { 0x33cf, G_UNICODE_NOT_PRESENT_OFFSET, 10241 },
+  { 0x33d0, G_UNICODE_NOT_PRESENT_OFFSET, 10244 },
+  { 0x33d1, G_UNICODE_NOT_PRESENT_OFFSET, 10247 },
+  { 0x33d2, G_UNICODE_NOT_PRESENT_OFFSET, 10250 },
+  { 0x33d3, G_UNICODE_NOT_PRESENT_OFFSET, 10254 },
+  { 0x33d4, G_UNICODE_NOT_PRESENT_OFFSET, 10257 },
+  { 0x33d5, G_UNICODE_NOT_PRESENT_OFFSET, 10260 },
+  { 0x33d6, G_UNICODE_NOT_PRESENT_OFFSET, 10264 },
+  { 0x33d7, G_UNICODE_NOT_PRESENT_OFFSET, 10268 },
+  { 0x33d8, G_UNICODE_NOT_PRESENT_OFFSET, 10271 },
+  { 0x33d9, G_UNICODE_NOT_PRESENT_OFFSET, 10276 },
+  { 0x33da, G_UNICODE_NOT_PRESENT_OFFSET, 10280 },
+  { 0x33db, G_UNICODE_NOT_PRESENT_OFFSET, 10283 },
+  { 0x33dc, G_UNICODE_NOT_PRESENT_OFFSET, 10286 },
+  { 0x33dd, G_UNICODE_NOT_PRESENT_OFFSET, 10289 },
+  { 0x33e0, G_UNICODE_NOT_PRESENT_OFFSET, 10292 },
+  { 0x33e1, G_UNICODE_NOT_PRESENT_OFFSET, 10297 },
+  { 0x33e2, G_UNICODE_NOT_PRESENT_OFFSET, 10302 },
+  { 0x33e3, G_UNICODE_NOT_PRESENT_OFFSET, 10307 },
+  { 0x33e4, G_UNICODE_NOT_PRESENT_OFFSET, 10312 },
+  { 0x33e5, G_UNICODE_NOT_PRESENT_OFFSET, 10317 },
+  { 0x33e6, G_UNICODE_NOT_PRESENT_OFFSET, 10322 },
+  { 0x33e7, G_UNICODE_NOT_PRESENT_OFFSET, 10327 },
+  { 0x33e8, G_UNICODE_NOT_PRESENT_OFFSET, 10332 },
+  { 0x33e9, G_UNICODE_NOT_PRESENT_OFFSET, 10337 },
+  { 0x33ea, G_UNICODE_NOT_PRESENT_OFFSET, 10343 },
+  { 0x33eb, G_UNICODE_NOT_PRESENT_OFFSET, 10349 },
+  { 0x33ec, G_UNICODE_NOT_PRESENT_OFFSET, 10355 },
+  { 0x33ed, G_UNICODE_NOT_PRESENT_OFFSET, 10361 },
+  { 0x33ee, G_UNICODE_NOT_PRESENT_OFFSET, 10367 },
+  { 0x33ef, G_UNICODE_NOT_PRESENT_OFFSET, 10373 },
+  { 0x33f0, G_UNICODE_NOT_PRESENT_OFFSET, 10379 },
+  { 0x33f1, G_UNICODE_NOT_PRESENT_OFFSET, 10385 },
+  { 0x33f2, G_UNICODE_NOT_PRESENT_OFFSET, 10391 },
+  { 0x33f3, G_UNICODE_NOT_PRESENT_OFFSET, 10397 },
+  { 0x33f4, G_UNICODE_NOT_PRESENT_OFFSET, 10403 },
+  { 0x33f5, G_UNICODE_NOT_PRESENT_OFFSET, 10409 },
+  { 0x33f6, G_UNICODE_NOT_PRESENT_OFFSET, 10415 },
+  { 0x33f7, G_UNICODE_NOT_PRESENT_OFFSET, 10421 },
+  { 0x33f8, G_UNICODE_NOT_PRESENT_OFFSET, 10427 },
+  { 0x33f9, G_UNICODE_NOT_PRESENT_OFFSET, 10433 },
+  { 0x33fa, G_UNICODE_NOT_PRESENT_OFFSET, 10439 },
+  { 0x33fb, G_UNICODE_NOT_PRESENT_OFFSET, 10445 },
+  { 0x33fc, G_UNICODE_NOT_PRESENT_OFFSET, 10451 },
+  { 0x33fd, G_UNICODE_NOT_PRESENT_OFFSET, 10457 },
+  { 0x33fe, G_UNICODE_NOT_PRESENT_OFFSET, 10463 },
+  { 0xf900, 10469, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf901, 10473, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf902, 6535, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf903, 10477, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf904, 10481, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf905, 10485, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf906, 10489, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf907, 6751, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf908, 6751, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf909, 10493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90a, 6567, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90b, 10497, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90c, 10501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90d, 10505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90e, 10509, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf90f, 10513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf910, 10517, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf911, 10521, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf912, 10525, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf913, 10529, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf914, 10533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf915, 10537, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf916, 10541, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf917, 10545, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf918, 10549, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf919, 10553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91a, 10557, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91b, 10561, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91c, 10565, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91d, 10569, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91e, 10573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf91f, 10577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf920, 10581, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf921, 10585, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf922, 10589, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf923, 10593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf924, 10597, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf925, 10601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf926, 10605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf927, 10609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf928, 10613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf929, 10617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92a, 10621, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92b, 10625, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92c, 10629, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92d, 10633, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92e, 10637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf92f, 10641, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf930, 10645, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf931, 10649, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf932, 10653, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf933, 10657, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf934, 6399, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf935, 10661, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf936, 10665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf937, 10669, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf938, 10673, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf939, 10677, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93a, 10681, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93b, 10685, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93c, 10689, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93d, 10693, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93e, 10697, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf93f, 10701, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf940, 6691, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf941, 10705, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf942, 10709, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf943, 10713, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf944, 10717, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf945, 10721, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf946, 10725, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf947, 10729, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf948, 10733, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf949, 10737, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94a, 10741, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94b, 10745, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94c, 10749, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94d, 10753, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94e, 10757, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf94f, 10761, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf950, 10765, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf951, 10769, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf952, 10773, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf953, 10777, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf954, 10781, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf955, 10785, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf956, 10789, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf957, 10793, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf958, 10797, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf959, 10801, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95a, 10805, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95b, 10809, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95c, 10533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95d, 10813, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95e, 10817, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf95f, 10821, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf960, 10825, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf961, 10829, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf962, 10833, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf963, 10837, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf964, 10841, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf965, 10845, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf966, 10849, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf967, 10853, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf968, 10857, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf969, 10861, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96a, 10865, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96b, 10869, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96c, 10873, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96d, 10877, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96e, 10881, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf96f, 10885, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf970, 10889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf971, 6543, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf972, 10893, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf973, 10897, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf974, 10901, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf975, 10905, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf976, 10909, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf977, 10913, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf978, 10917, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf979, 10921, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97a, 10925, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97b, 10929, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97c, 10933, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97d, 10937, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97e, 10941, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf97f, 10945, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf980, 10949, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf981, 6051, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf982, 10953, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf983, 10957, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf984, 10961, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf985, 10965, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf986, 10969, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf987, 10973, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf988, 10977, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf989, 10981, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98a, 5975, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98b, 10985, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98c, 10989, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98d, 10993, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98e, 10997, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf98f, 11001, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf990, 11005, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf991, 11009, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf992, 11013, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf993, 11017, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf994, 11021, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf995, 11025, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf996, 11029, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf997, 11033, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf998, 11037, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf999, 11041, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99a, 11045, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99b, 11049, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99c, 11053, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99d, 11057, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99e, 11061, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf99f, 11065, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a0, 11069, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a1, 10885, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a2, 11073, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a3, 11077, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a4, 11081, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a5, 11085, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a6, 11089, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a7, 11093, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a8, 11097, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9a9, 11101, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9aa, 10821, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ab, 11105, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ac, 11109, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ad, 11113, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ae, 11117, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9af, 11121, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b0, 11125, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b1, 11129, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b2, 11133, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b3, 11137, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b4, 11141, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b5, 11145, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b6, 11149, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b7, 11153, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b8, 11157, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9b9, 11161, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ba, 11165, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9bb, 11169, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9bc, 11173, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9bd, 11177, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9be, 11181, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9bf, 10533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c0, 11185, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c1, 11189, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c2, 11193, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c3, 11197, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c4, 6747, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c5, 11201, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c6, 11205, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c7, 11209, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c8, 11213, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9c9, 11217, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ca, 11221, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9cb, 11225, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9cc, 11229, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9cd, 11233, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ce, 11237, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9cf, 11241, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d0, 11245, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d1, 8199, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d2, 11249, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d3, 11253, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d4, 11257, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d5, 11261, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d6, 11265, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d7, 11269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d8, 11273, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9d9, 11277, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9da, 11281, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9db, 10829, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9dc, 11285, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9dd, 11289, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9de, 11293, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9df, 11297, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e0, 11301, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e1, 11305, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e2, 11309, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e3, 11313, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e4, 11317, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e5, 11321, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e6, 11325, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e7, 11329, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e8, 11333, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9e9, 6563, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ea, 11337, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9eb, 11341, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ec, 11345, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ed, 11349, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ee, 11353, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ef, 11357, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f0, 11361, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f1, 11365, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f2, 11369, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f3, 11373, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f4, 11377, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f5, 11381, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f6, 11385, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f7, 6367, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f8, 11389, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9f9, 11393, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9fa, 11397, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9fb, 11401, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9fc, 11405, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9fd, 11409, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9fe, 11413, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xf9ff, 11417, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa00, 11421, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa01, 11425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa02, 11429, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa03, 11433, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa04, 11437, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa05, 11441, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa06, 11445, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa07, 11449, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa08, 6475, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa09, 11453, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa0a, 6487, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa0b, 11457, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa0c, 11461, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa0d, 11465, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa10, 11469, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa12, 11473, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa15, 11477, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa16, 11481, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa17, 11485, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa18, 11489, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa19, 11493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa1a, 11497, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa1b, 11501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa1c, 11505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa1d, 11509, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa1e, 6395, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa20, 11513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa22, 11517, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa25, 11521, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa26, 11525, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa2a, 11529, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa2b, 11533, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa2c, 11537, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa2d, 11541, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa30, 11545, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa31, 11549, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa32, 11553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa33, 11557, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa34, 11561, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa35, 11565, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa36, 11569, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa37, 11573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa38, 11577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa39, 11581, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3a, 11585, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3b, 11589, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3c, 6079, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3d, 11593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3e, 11597, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa3f, 11601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa40, 11605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa41, 11609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa42, 11613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa43, 11617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa44, 11621, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa45, 11625, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa46, 11629, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa47, 11633, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa48, 11637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa49, 11641, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4a, 11645, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4b, 11649, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4c, 8219, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4d, 11653, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4e, 11657, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa4f, 11661, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa50, 11665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa51, 8235, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa52, 11669, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa53, 11673, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa54, 11677, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa55, 11681, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa56, 11685, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa57, 11029, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa58, 11689, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa59, 11693, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5a, 11697, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5b, 11701, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5c, 11705, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5d, 11709, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5e, 11709, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa5f, 11713, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa60, 11717, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa61, 11721, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa62, 11725, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa63, 11729, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa64, 11733, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa65, 11737, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa66, 11741, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa67, 11521, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa68, 11745, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa69, 11749, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfa6a, 11753, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb00, G_UNICODE_NOT_PRESENT_OFFSET, 11757 },
+  { 0xfb01, G_UNICODE_NOT_PRESENT_OFFSET, 11760 },
+  { 0xfb02, G_UNICODE_NOT_PRESENT_OFFSET, 11763 },
+  { 0xfb03, G_UNICODE_NOT_PRESENT_OFFSET, 11766 },
+  { 0xfb04, G_UNICODE_NOT_PRESENT_OFFSET, 11770 },
+  { 0xfb05, G_UNICODE_NOT_PRESENT_OFFSET, 11774 },
+  { 0xfb06, G_UNICODE_NOT_PRESENT_OFFSET, 11774 },
+  { 0xfb13, G_UNICODE_NOT_PRESENT_OFFSET, 11777 },
+  { 0xfb14, G_UNICODE_NOT_PRESENT_OFFSET, 11782 },
+  { 0xfb15, G_UNICODE_NOT_PRESENT_OFFSET, 11787 },
+  { 0xfb16, G_UNICODE_NOT_PRESENT_OFFSET, 11792 },
+  { 0xfb17, G_UNICODE_NOT_PRESENT_OFFSET, 11797 },
+  { 0xfb1d, 11802, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb1f, 11807, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb20, G_UNICODE_NOT_PRESENT_OFFSET, 11812 },
+  { 0xfb21, G_UNICODE_NOT_PRESENT_OFFSET, 5052 },
+  { 0xfb22, G_UNICODE_NOT_PRESENT_OFFSET, 5061 },
+  { 0xfb23, G_UNICODE_NOT_PRESENT_OFFSET, 11815 },
+  { 0xfb24, G_UNICODE_NOT_PRESENT_OFFSET, 11818 },
+  { 0xfb25, G_UNICODE_NOT_PRESENT_OFFSET, 11821 },
+  { 0xfb26, G_UNICODE_NOT_PRESENT_OFFSET, 11824 },
+  { 0xfb27, G_UNICODE_NOT_PRESENT_OFFSET, 11827 },
+  { 0xfb28, G_UNICODE_NOT_PRESENT_OFFSET, 11830 },
+  { 0xfb29, G_UNICODE_NOT_PRESENT_OFFSET, 4957 },
+  { 0xfb2a, 11833, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb2b, 11838, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb2c, 11843, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb2d, 11850, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb2e, 11857, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb2f, 11862, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb30, 11867, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb31, 11872, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb32, 11877, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb33, 11882, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb34, 11887, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb35, 11892, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb36, 11897, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb38, 11902, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb39, 11907, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb3a, 11912, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb3b, 11917, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb3c, 11922, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb3e, 11927, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb40, 11932, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb41, 11937, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb43, 11942, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb44, 11947, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb46, 11952, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb47, 11957, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb48, 11962, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb49, 11967, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4a, 11972, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4b, 11977, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4c, 11982, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4d, 11987, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4e, 11992, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0xfb4f, G_UNICODE_NOT_PRESENT_OFFSET, 11997 },
+  { 0xfb50, G_UNICODE_NOT_PRESENT_OFFSET, 12002 },
+  { 0xfb51, G_UNICODE_NOT_PRESENT_OFFSET, 12002 },
+  { 0xfb52, G_UNICODE_NOT_PRESENT_OFFSET, 12005 },
+  { 0xfb53, G_UNICODE_NOT_PRESENT_OFFSET, 12005 },
+  { 0xfb54, G_UNICODE_NOT_PRESENT_OFFSET, 12005 },
+  { 0xfb55, G_UNICODE_NOT_PRESENT_OFFSET, 12005 },
+  { 0xfb56, G_UNICODE_NOT_PRESENT_OFFSET, 12008 },
+  { 0xfb57, G_UNICODE_NOT_PRESENT_OFFSET, 12008 },
+  { 0xfb58, G_UNICODE_NOT_PRESENT_OFFSET, 12008 },
+  { 0xfb59, G_UNICODE_NOT_PRESENT_OFFSET, 12008 },
+  { 0xfb5a, G_UNICODE_NOT_PRESENT_OFFSET, 12011 },
+  { 0xfb5b, G_UNICODE_NOT_PRESENT_OFFSET, 12011 },
+  { 0xfb5c, G_UNICODE_NOT_PRESENT_OFFSET, 12011 },
+  { 0xfb5d, G_UNICODE_NOT_PRESENT_OFFSET, 12011 },
+  { 0xfb5e, G_UNICODE_NOT_PRESENT_OFFSET, 12014 },
+  { 0xfb5f, G_UNICODE_NOT_PRESENT_OFFSET, 12014 },
+  { 0xfb60, G_UNICODE_NOT_PRESENT_OFFSET, 12014 },
+  { 0xfb61, G_UNICODE_NOT_PRESENT_OFFSET, 12014 },
+  { 0xfb62, G_UNICODE_NOT_PRESENT_OFFSET, 12017 },
+  { 0xfb63, G_UNICODE_NOT_PRESENT_OFFSET, 12017 },
+  { 0xfb64, G_UNICODE_NOT_PRESENT_OFFSET, 12017 },
+  { 0xfb65, G_UNICODE_NOT_PRESENT_OFFSET, 12017 },
+  { 0xfb66, G_UNICODE_NOT_PRESENT_OFFSET, 12020 },
+  { 0xfb67, G_UNICODE_NOT_PRESENT_OFFSET, 12020 },
+  { 0xfb68, G_UNICODE_NOT_PRESENT_OFFSET, 12020 },
+  { 0xfb69, G_UNICODE_NOT_PRESENT_OFFSET, 12020 },
+  { 0xfb6a, G_UNICODE_NOT_PRESENT_OFFSET, 12023 },
+  { 0xfb6b, G_UNICODE_NOT_PRESENT_OFFSET, 12023 },
+  { 0xfb6c, G_UNICODE_NOT_PRESENT_OFFSET, 12023 },
+  { 0xfb6d, G_UNICODE_NOT_PRESENT_OFFSET, 12023 },
+  { 0xfb6e, G_UNICODE_NOT_PRESENT_OFFSET, 12026 },
+  { 0xfb6f, G_UNICODE_NOT_PRESENT_OFFSET, 12026 },
+  { 0xfb70, G_UNICODE_NOT_PRESENT_OFFSET, 12026 },
+  { 0xfb71, G_UNICODE_NOT_PRESENT_OFFSET, 12026 },
+  { 0xfb72, G_UNICODE_NOT_PRESENT_OFFSET, 12029 },
+  { 0xfb73, G_UNICODE_NOT_PRESENT_OFFSET, 12029 },
+  { 0xfb74, G_UNICODE_NOT_PRESENT_OFFSET, 12029 },
+  { 0xfb75, G_UNICODE_NOT_PRESENT_OFFSET, 12029 },
+  { 0xfb76, G_UNICODE_NOT_PRESENT_OFFSET, 12032 },
+  { 0xfb77, G_UNICODE_NOT_PRESENT_OFFSET, 12032 },
+  { 0xfb78, G_UNICODE_NOT_PRESENT_OFFSET, 12032 },
+  { 0xfb79, G_UNICODE_NOT_PRESENT_OFFSET, 12032 },
+  { 0xfb7a, G_UNICODE_NOT_PRESENT_OFFSET, 12035 },
+  { 0xfb7b, G_UNICODE_NOT_PRESENT_OFFSET, 12035 },
+  { 0xfb7c, G_UNICODE_NOT_PRESENT_OFFSET, 12035 },
+  { 0xfb7d, G_UNICODE_NOT_PRESENT_OFFSET, 12035 },
+  { 0xfb7e, G_UNICODE_NOT_PRESENT_OFFSET, 12038 },
+  { 0xfb7f, G_UNICODE_NOT_PRESENT_OFFSET, 12038 },
+  { 0xfb80, G_UNICODE_NOT_PRESENT_OFFSET, 12038 },
+  { 0xfb81, G_UNICODE_NOT_PRESENT_OFFSET, 12038 },
+  { 0xfb82, G_UNICODE_NOT_PRESENT_OFFSET, 12041 },
+  { 0xfb83, G_UNICODE_NOT_PRESENT_OFFSET, 12041 },
+  { 0xfb84, G_UNICODE_NOT_PRESENT_OFFSET, 12044 },
+  { 0xfb85, G_UNICODE_NOT_PRESENT_OFFSET, 12044 },
+  { 0xfb86, G_UNICODE_NOT_PRESENT_OFFSET, 12047 },
+  { 0xfb87, G_UNICODE_NOT_PRESENT_OFFSET, 12047 },
+  { 0xfb88, G_UNICODE_NOT_PRESENT_OFFSET, 12050 },
+  { 0xfb89, G_UNICODE_NOT_PRESENT_OFFSET, 12050 },
+  { 0xfb8a, G_UNICODE_NOT_PRESENT_OFFSET, 12053 },
+  { 0xfb8b, G_UNICODE_NOT_PRESENT_OFFSET, 12053 },
+  { 0xfb8c, G_UNICODE_NOT_PRESENT_OFFSET, 12056 },
+  { 0xfb8d, G_UNICODE_NOT_PRESENT_OFFSET, 12056 },
+  { 0xfb8e, G_UNICODE_NOT_PRESENT_OFFSET, 12059 },
+  { 0xfb8f, G_UNICODE_NOT_PRESENT_OFFSET, 12059 },
+  { 0xfb90, G_UNICODE_NOT_PRESENT_OFFSET, 12059 },
+  { 0xfb91, G_UNICODE_NOT_PRESENT_OFFSET, 12059 },
+  { 0xfb92, G_UNICODE_NOT_PRESENT_OFFSET, 12062 },
+  { 0xfb93, G_UNICODE_NOT_PRESENT_OFFSET, 12062 },
+  { 0xfb94, G_UNICODE_NOT_PRESENT_OFFSET, 12062 },
+  { 0xfb95, G_UNICODE_NOT_PRESENT_OFFSET, 12062 },
+  { 0xfb96, G_UNICODE_NOT_PRESENT_OFFSET, 12065 },
+  { 0xfb97, G_UNICODE_NOT_PRESENT_OFFSET, 12065 },
+  { 0xfb98, G_UNICODE_NOT_PRESENT_OFFSET, 12065 },
+  { 0xfb99, G_UNICODE_NOT_PRESENT_OFFSET, 12065 },
+  { 0xfb9a, G_UNICODE_NOT_PRESENT_OFFSET, 12068 },
+  { 0xfb9b, G_UNICODE_NOT_PRESENT_OFFSET, 12068 },
+  { 0xfb9c, G_UNICODE_NOT_PRESENT_OFFSET, 12068 },
+  { 0xfb9d, G_UNICODE_NOT_PRESENT_OFFSET, 12068 },
+  { 0xfb9e, G_UNICODE_NOT_PRESENT_OFFSET, 12071 },
+  { 0xfb9f, G_UNICODE_NOT_PRESENT_OFFSET, 12071 },
+  { 0xfba0, G_UNICODE_NOT_PRESENT_OFFSET, 12074 },
+  { 0xfba1, G_UNICODE_NOT_PRESENT_OFFSET, 12074 },
+  { 0xfba2, G_UNICODE_NOT_PRESENT_OFFSET, 12074 },
+  { 0xfba3, G_UNICODE_NOT_PRESENT_OFFSET, 12074 },
+  { 0xfba4, G_UNICODE_NOT_PRESENT_OFFSET, 1718 },
+  { 0xfba5, G_UNICODE_NOT_PRESENT_OFFSET, 1718 },
+  { 0xfba6, G_UNICODE_NOT_PRESENT_OFFSET, 12077 },
+  { 0xfba7, G_UNICODE_NOT_PRESENT_OFFSET, 12077 },
+  { 0xfba8, G_UNICODE_NOT_PRESENT_OFFSET, 12077 },
+  { 0xfba9, G_UNICODE_NOT_PRESENT_OFFSET, 12077 },
+  { 0xfbaa, G_UNICODE_NOT_PRESENT_OFFSET, 12080 },
+  { 0xfbab, G_UNICODE_NOT_PRESENT_OFFSET, 12080 },
+  { 0xfbac, G_UNICODE_NOT_PRESENT_OFFSET, 12080 },
+  { 0xfbad, G_UNICODE_NOT_PRESENT_OFFSET, 12080 },
+  { 0xfbae, G_UNICODE_NOT_PRESENT_OFFSET, 12083 },
+  { 0xfbaf, G_UNICODE_NOT_PRESENT_OFFSET, 12083 },
+  { 0xfbb0, G_UNICODE_NOT_PRESENT_OFFSET, 1728 },
+  { 0xfbb1, G_UNICODE_NOT_PRESENT_OFFSET, 1728 },
+  { 0xfbd3, G_UNICODE_NOT_PRESENT_OFFSET, 12086 },
+  { 0xfbd4, G_UNICODE_NOT_PRESENT_OFFSET, 12086 },
+  { 0xfbd5, G_UNICODE_NOT_PRESENT_OFFSET, 12086 },
+  { 0xfbd6, G_UNICODE_NOT_PRESENT_OFFSET, 12086 },
+  { 0xfbd7, G_UNICODE_NOT_PRESENT_OFFSET, 12089 },
+  { 0xfbd8, G_UNICODE_NOT_PRESENT_OFFSET, 12089 },
+  { 0xfbd9, G_UNICODE_NOT_PRESENT_OFFSET, 12092 },
+  { 0xfbda, G_UNICODE_NOT_PRESENT_OFFSET, 12092 },
+  { 0xfbdb, G_UNICODE_NOT_PRESENT_OFFSET, 12095 },
+  { 0xfbdc, G_UNICODE_NOT_PRESENT_OFFSET, 12095 },
+  { 0xfbdd, G_UNICODE_NOT_PRESENT_OFFSET, 1708 },
+  { 0xfbde, G_UNICODE_NOT_PRESENT_OFFSET, 12098 },
+  { 0xfbdf, G_UNICODE_NOT_PRESENT_OFFSET, 12098 },
+  { 0xfbe0, G_UNICODE_NOT_PRESENT_OFFSET, 12101 },
+  { 0xfbe1, G_UNICODE_NOT_PRESENT_OFFSET, 12101 },
+  { 0xfbe2, G_UNICODE_NOT_PRESENT_OFFSET, 12104 },
+  { 0xfbe3, G_UNICODE_NOT_PRESENT_OFFSET, 12104 },
+  { 0xfbe4, G_UNICODE_NOT_PRESENT_OFFSET, 12107 },
+  { 0xfbe5, G_UNICODE_NOT_PRESENT_OFFSET, 12107 },
+  { 0xfbe6, G_UNICODE_NOT_PRESENT_OFFSET, 12107 },
+  { 0xfbe7, G_UNICODE_NOT_PRESENT_OFFSET, 12107 },
+  { 0xfbe8, G_UNICODE_NOT_PRESENT_OFFSET, 12110 },
+  { 0xfbe9, G_UNICODE_NOT_PRESENT_OFFSET, 12110 },
+  { 0xfbea, G_UNICODE_NOT_PRESENT_OFFSET, 12113 },
+  { 0xfbeb, G_UNICODE_NOT_PRESENT_OFFSET, 12113 },
+  { 0xfbec, G_UNICODE_NOT_PRESENT_OFFSET, 12120 },
+  { 0xfbed, G_UNICODE_NOT_PRESENT_OFFSET, 12120 },
+  { 0xfbee, G_UNICODE_NOT_PRESENT_OFFSET, 12127 },
+  { 0xfbef, G_UNICODE_NOT_PRESENT_OFFSET, 12127 },
+  { 0xfbf0, G_UNICODE_NOT_PRESENT_OFFSET, 12134 },
+  { 0xfbf1, G_UNICODE_NOT_PRESENT_OFFSET, 12134 },
+  { 0xfbf2, G_UNICODE_NOT_PRESENT_OFFSET, 12141 },
+  { 0xfbf3, G_UNICODE_NOT_PRESENT_OFFSET, 12141 },
+  { 0xfbf4, G_UNICODE_NOT_PRESENT_OFFSET, 12148 },
+  { 0xfbf5, G_UNICODE_NOT_PRESENT_OFFSET, 12148 },
+  { 0xfbf6, G_UNICODE_NOT_PRESENT_OFFSET, 12155 },
+  { 0xfbf7, G_UNICODE_NOT_PRESENT_OFFSET, 12155 },
+  { 0xfbf8, G_UNICODE_NOT_PRESENT_OFFSET, 12155 },
+  { 0xfbf9, G_UNICODE_NOT_PRESENT_OFFSET, 12162 },
+  { 0xfbfa, G_UNICODE_NOT_PRESENT_OFFSET, 12162 },
+  { 0xfbfb, G_UNICODE_NOT_PRESENT_OFFSET, 12162 },
+  { 0xfbfc, G_UNICODE_NOT_PRESENT_OFFSET, 12169 },
+  { 0xfbfd, G_UNICODE_NOT_PRESENT_OFFSET, 12169 },
+  { 0xfbfe, G_UNICODE_NOT_PRESENT_OFFSET, 12169 },
+  { 0xfbff, G_UNICODE_NOT_PRESENT_OFFSET, 12169 },
+  { 0xfc00, G_UNICODE_NOT_PRESENT_OFFSET, 12172 },
+  { 0xfc01, G_UNICODE_NOT_PRESENT_OFFSET, 12179 },
+  { 0xfc02, G_UNICODE_NOT_PRESENT_OFFSET, 12186 },
+  { 0xfc03, G_UNICODE_NOT_PRESENT_OFFSET, 12162 },
+  { 0xfc04, G_UNICODE_NOT_PRESENT_OFFSET, 12193 },
+  { 0xfc05, G_UNICODE_NOT_PRESENT_OFFSET, 12200 },
+  { 0xfc06, G_UNICODE_NOT_PRESENT_OFFSET, 12205 },
+  { 0xfc07, G_UNICODE_NOT_PRESENT_OFFSET, 12210 },
+  { 0xfc08, G_UNICODE_NOT_PRESENT_OFFSET, 12215 },
+  { 0xfc09, G_UNICODE_NOT_PRESENT_OFFSET, 12220 },
+  { 0xfc0a, G_UNICODE_NOT_PRESENT_OFFSET, 12225 },
+  { 0xfc0b, G_UNICODE_NOT_PRESENT_OFFSET, 12230 },
+  { 0xfc0c, G_UNICODE_NOT_PRESENT_OFFSET, 12235 },
+  { 0xfc0d, G_UNICODE_NOT_PRESENT_OFFSET, 12240 },
+  { 0xfc0e, G_UNICODE_NOT_PRESENT_OFFSET, 12245 },
+  { 0xfc0f, G_UNICODE_NOT_PRESENT_OFFSET, 12250 },
+  { 0xfc10, G_UNICODE_NOT_PRESENT_OFFSET, 12255 },
+  { 0xfc11, G_UNICODE_NOT_PRESENT_OFFSET, 12260 },
+  { 0xfc12, G_UNICODE_NOT_PRESENT_OFFSET, 12265 },
+  { 0xfc13, G_UNICODE_NOT_PRESENT_OFFSET, 12270 },
+  { 0xfc14, G_UNICODE_NOT_PRESENT_OFFSET, 12275 },
+  { 0xfc15, G_UNICODE_NOT_PRESENT_OFFSET, 12280 },
+  { 0xfc16, G_UNICODE_NOT_PRESENT_OFFSET, 12285 },
+  { 0xfc17, G_UNICODE_NOT_PRESENT_OFFSET, 12290 },
+  { 0xfc18, G_UNICODE_NOT_PRESENT_OFFSET, 12295 },
+  { 0xfc19, G_UNICODE_NOT_PRESENT_OFFSET, 12300 },
+  { 0xfc1a, G_UNICODE_NOT_PRESENT_OFFSET, 12305 },
+  { 0xfc1b, G_UNICODE_NOT_PRESENT_OFFSET, 12310 },
+  { 0xfc1c, G_UNICODE_NOT_PRESENT_OFFSET, 12315 },
+  { 0xfc1d, G_UNICODE_NOT_PRESENT_OFFSET, 12320 },
+  { 0xfc1e, G_UNICODE_NOT_PRESENT_OFFSET, 12325 },
+  { 0xfc1f, G_UNICODE_NOT_PRESENT_OFFSET, 12330 },
+  { 0xfc20, G_UNICODE_NOT_PRESENT_OFFSET, 12335 },
+  { 0xfc21, G_UNICODE_NOT_PRESENT_OFFSET, 12340 },
+  { 0xfc22, G_UNICODE_NOT_PRESENT_OFFSET, 12345 },
+  { 0xfc23, G_UNICODE_NOT_PRESENT_OFFSET, 12350 },
+  { 0xfc24, G_UNICODE_NOT_PRESENT_OFFSET, 12355 },
+  { 0xfc25, G_UNICODE_NOT_PRESENT_OFFSET, 12360 },
+  { 0xfc26, G_UNICODE_NOT_PRESENT_OFFSET, 12365 },
+  { 0xfc27, G_UNICODE_NOT_PRESENT_OFFSET, 12370 },
+  { 0xfc28, G_UNICODE_NOT_PRESENT_OFFSET, 12375 },
+  { 0xfc29, G_UNICODE_NOT_PRESENT_OFFSET, 12380 },
+  { 0xfc2a, G_UNICODE_NOT_PRESENT_OFFSET, 12385 },
+  { 0xfc2b, G_UNICODE_NOT_PRESENT_OFFSET, 12390 },
+  { 0xfc2c, G_UNICODE_NOT_PRESENT_OFFSET, 12395 },
+  { 0xfc2d, G_UNICODE_NOT_PRESENT_OFFSET, 12400 },
+  { 0xfc2e, G_UNICODE_NOT_PRESENT_OFFSET, 12405 },
+  { 0xfc2f, G_UNICODE_NOT_PRESENT_OFFSET, 12410 },
+  { 0xfc30, G_UNICODE_NOT_PRESENT_OFFSET, 12415 },
+  { 0xfc31, G_UNICODE_NOT_PRESENT_OFFSET, 12420 },
+  { 0xfc32, G_UNICODE_NOT_PRESENT_OFFSET, 12425 },
+  { 0xfc33, G_UNICODE_NOT_PRESENT_OFFSET, 12430 },
+  { 0xfc34, G_UNICODE_NOT_PRESENT_OFFSET, 12435 },
+  { 0xfc35, G_UNICODE_NOT_PRESENT_OFFSET, 12440 },
+  { 0xfc36, G_UNICODE_NOT_PRESENT_OFFSET, 12445 },
+  { 0xfc37, G_UNICODE_NOT_PRESENT_OFFSET, 12450 },
+  { 0xfc38, G_UNICODE_NOT_PRESENT_OFFSET, 12455 },
+  { 0xfc39, G_UNICODE_NOT_PRESENT_OFFSET, 12460 },
+  { 0xfc3a, G_UNICODE_NOT_PRESENT_OFFSET, 12465 },
+  { 0xfc3b, G_UNICODE_NOT_PRESENT_OFFSET, 12470 },
+  { 0xfc3c, G_UNICODE_NOT_PRESENT_OFFSET, 12475 },
+  { 0xfc3d, G_UNICODE_NOT_PRESENT_OFFSET, 12480 },
+  { 0xfc3e, G_UNICODE_NOT_PRESENT_OFFSET, 12485 },
+  { 0xfc3f, G_UNICODE_NOT_PRESENT_OFFSET, 12490 },
+  { 0xfc40, G_UNICODE_NOT_PRESENT_OFFSET, 12495 },
+  { 0xfc41, G_UNICODE_NOT_PRESENT_OFFSET, 12500 },
+  { 0xfc42, G_UNICODE_NOT_PRESENT_OFFSET, 12505 },
+  { 0xfc43, G_UNICODE_NOT_PRESENT_OFFSET, 12510 },
+  { 0xfc44, G_UNICODE_NOT_PRESENT_OFFSET, 12515 },
+  { 0xfc45, G_UNICODE_NOT_PRESENT_OFFSET, 12520 },
+  { 0xfc46, G_UNICODE_NOT_PRESENT_OFFSET, 12525 },
+  { 0xfc47, G_UNICODE_NOT_PRESENT_OFFSET, 12530 },
+  { 0xfc48, G_UNICODE_NOT_PRESENT_OFFSET, 12535 },
+  { 0xfc49, G_UNICODE_NOT_PRESENT_OFFSET, 12540 },
+  { 0xfc4a, G_UNICODE_NOT_PRESENT_OFFSET, 12545 },
+  { 0xfc4b, G_UNICODE_NOT_PRESENT_OFFSET, 12550 },
+  { 0xfc4c, G_UNICODE_NOT_PRESENT_OFFSET, 12555 },
+  { 0xfc4d, G_UNICODE_NOT_PRESENT_OFFSET, 12560 },
+  { 0xfc4e, G_UNICODE_NOT_PRESENT_OFFSET, 12565 },
+  { 0xfc4f, G_UNICODE_NOT_PRESENT_OFFSET, 12570 },
+  { 0xfc50, G_UNICODE_NOT_PRESENT_OFFSET, 12575 },
+  { 0xfc51, G_UNICODE_NOT_PRESENT_OFFSET, 12580 },
+  { 0xfc52, G_UNICODE_NOT_PRESENT_OFFSET, 12585 },
+  { 0xfc53, G_UNICODE_NOT_PRESENT_OFFSET, 12590 },
+  { 0xfc54, G_UNICODE_NOT_PRESENT_OFFSET, 12595 },
+  { 0xfc55, G_UNICODE_NOT_PRESENT_OFFSET, 12600 },
+  { 0xfc56, G_UNICODE_NOT_PRESENT_OFFSET, 12605 },
+  { 0xfc57, G_UNICODE_NOT_PRESENT_OFFSET, 12610 },
+  { 0xfc58, G_UNICODE_NOT_PRESENT_OFFSET, 12615 },
+  { 0xfc59, G_UNICODE_NOT_PRESENT_OFFSET, 12620 },
+  { 0xfc5a, G_UNICODE_NOT_PRESENT_OFFSET, 12625 },
+  { 0xfc5b, G_UNICODE_NOT_PRESENT_OFFSET, 12630 },
+  { 0xfc5c, G_UNICODE_NOT_PRESENT_OFFSET, 12635 },
+  { 0xfc5d, G_UNICODE_NOT_PRESENT_OFFSET, 12640 },
+  { 0xfc5e, G_UNICODE_NOT_PRESENT_OFFSET, 12645 },
+  { 0xfc5f, G_UNICODE_NOT_PRESENT_OFFSET, 12651 },
+  { 0xfc60, G_UNICODE_NOT_PRESENT_OFFSET, 12657 },
+  { 0xfc61, G_UNICODE_NOT_PRESENT_OFFSET, 12663 },
+  { 0xfc62, G_UNICODE_NOT_PRESENT_OFFSET, 12669 },
+  { 0xfc63, G_UNICODE_NOT_PRESENT_OFFSET, 12675 },
+  { 0xfc64, G_UNICODE_NOT_PRESENT_OFFSET, 12681 },
+  { 0xfc65, G_UNICODE_NOT_PRESENT_OFFSET, 12688 },
+  { 0xfc66, G_UNICODE_NOT_PRESENT_OFFSET, 12186 },
+  { 0xfc67, G_UNICODE_NOT_PRESENT_OFFSET, 12695 },
+  { 0xfc68, G_UNICODE_NOT_PRESENT_OFFSET, 12162 },
+  { 0xfc69, G_UNICODE_NOT_PRESENT_OFFSET, 12193 },
+  { 0xfc6a, G_UNICODE_NOT_PRESENT_OFFSET, 12702 },
+  { 0xfc6b, G_UNICODE_NOT_PRESENT_OFFSET, 12707 },
+  { 0xfc6c, G_UNICODE_NOT_PRESENT_OFFSET, 12215 },
+  { 0xfc6d, G_UNICODE_NOT_PRESENT_OFFSET, 12712 },
+  { 0xfc6e, G_UNICODE_NOT_PRESENT_OFFSET, 12220 },
+  { 0xfc6f, G_UNICODE_NOT_PRESENT_OFFSET, 12225 },
+  { 0xfc70, G_UNICODE_NOT_PRESENT_OFFSET, 12717 },
+  { 0xfc71, G_UNICODE_NOT_PRESENT_OFFSET, 12722 },
+  { 0xfc72, G_UNICODE_NOT_PRESENT_OFFSET, 12245 },
+  { 0xfc73, G_UNICODE_NOT_PRESENT_OFFSET, 12727 },
+  { 0xfc74, G_UNICODE_NOT_PRESENT_OFFSET, 12250 },
+  { 0xfc75, G_UNICODE_NOT_PRESENT_OFFSET, 12255 },
+  { 0xfc76, G_UNICODE_NOT_PRESENT_OFFSET, 12732 },
+  { 0xfc77, G_UNICODE_NOT_PRESENT_OFFSET, 12737 },
+  { 0xfc78, G_UNICODE_NOT_PRESENT_OFFSET, 12265 },
+  { 0xfc79, G_UNICODE_NOT_PRESENT_OFFSET, 12742 },
+  { 0xfc7a, G_UNICODE_NOT_PRESENT_OFFSET, 12270 },
+  { 0xfc7b, G_UNICODE_NOT_PRESENT_OFFSET, 12275 },
+  { 0xfc7c, G_UNICODE_NOT_PRESENT_OFFSET, 12420 },
+  { 0xfc7d, G_UNICODE_NOT_PRESENT_OFFSET, 12425 },
+  { 0xfc7e, G_UNICODE_NOT_PRESENT_OFFSET, 12440 },
+  { 0xfc7f, G_UNICODE_NOT_PRESENT_OFFSET, 12445 },
+  { 0xfc80, G_UNICODE_NOT_PRESENT_OFFSET, 12450 },
+  { 0xfc81, G_UNICODE_NOT_PRESENT_OFFSET, 12470 },
+  { 0xfc82, G_UNICODE_NOT_PRESENT_OFFSET, 12475 },
+  { 0xfc83, G_UNICODE_NOT_PRESENT_OFFSET, 12480 },
+  { 0xfc84, G_UNICODE_NOT_PRESENT_OFFSET, 12485 },
+  { 0xfc85, G_UNICODE_NOT_PRESENT_OFFSET, 12505 },
+  { 0xfc86, G_UNICODE_NOT_PRESENT_OFFSET, 12510 },
+  { 0xfc87, G_UNICODE_NOT_PRESENT_OFFSET, 12515 },
+  { 0xfc88, G_UNICODE_NOT_PRESENT_OFFSET, 12747 },
+  { 0xfc89, G_UNICODE_NOT_PRESENT_OFFSET, 12535 },
+  { 0xfc8a, G_UNICODE_NOT_PRESENT_OFFSET, 12752 },
+  { 0xfc8b, G_UNICODE_NOT_PRESENT_OFFSET, 12757 },
+  { 0xfc8c, G_UNICODE_NOT_PRESENT_OFFSET, 12565 },
+  { 0xfc8d, G_UNICODE_NOT_PRESENT_OFFSET, 12762 },
+  { 0xfc8e, G_UNICODE_NOT_PRESENT_OFFSET, 12570 },
+  { 0xfc8f, G_UNICODE_NOT_PRESENT_OFFSET, 12575 },
+  { 0xfc90, G_UNICODE_NOT_PRESENT_OFFSET, 12640 },
+  { 0xfc91, G_UNICODE_NOT_PRESENT_OFFSET, 12767 },
+  { 0xfc92, G_UNICODE_NOT_PRESENT_OFFSET, 12772 },
+  { 0xfc93, G_UNICODE_NOT_PRESENT_OFFSET, 12615 },
+  { 0xfc94, G_UNICODE_NOT_PRESENT_OFFSET, 12777 },
+  { 0xfc95, G_UNICODE_NOT_PRESENT_OFFSET, 12620 },
+  { 0xfc96, G_UNICODE_NOT_PRESENT_OFFSET, 12625 },
+  { 0xfc97, G_UNICODE_NOT_PRESENT_OFFSET, 12172 },
+  { 0xfc98, G_UNICODE_NOT_PRESENT_OFFSET, 12179 },
+  { 0xfc99, G_UNICODE_NOT_PRESENT_OFFSET, 12782 },
+  { 0xfc9a, G_UNICODE_NOT_PRESENT_OFFSET, 12186 },
+  { 0xfc9b, G_UNICODE_NOT_PRESENT_OFFSET, 12789 },
+  { 0xfc9c, G_UNICODE_NOT_PRESENT_OFFSET, 12200 },
+  { 0xfc9d, G_UNICODE_NOT_PRESENT_OFFSET, 12205 },
+  { 0xfc9e, G_UNICODE_NOT_PRESENT_OFFSET, 12210 },
+  { 0xfc9f, G_UNICODE_NOT_PRESENT_OFFSET, 12215 },
+  { 0xfca0, G_UNICODE_NOT_PRESENT_OFFSET, 12796 },
+  { 0xfca1, G_UNICODE_NOT_PRESENT_OFFSET, 12230 },
+  { 0xfca2, G_UNICODE_NOT_PRESENT_OFFSET, 12235 },
+  { 0xfca3, G_UNICODE_NOT_PRESENT_OFFSET, 12240 },
+  { 0xfca4, G_UNICODE_NOT_PRESENT_OFFSET, 12245 },
+  { 0xfca5, G_UNICODE_NOT_PRESENT_OFFSET, 12801 },
+  { 0xfca6, G_UNICODE_NOT_PRESENT_OFFSET, 12265 },
+  { 0xfca7, G_UNICODE_NOT_PRESENT_OFFSET, 12280 },
+  { 0xfca8, G_UNICODE_NOT_PRESENT_OFFSET, 12285 },
+  { 0xfca9, G_UNICODE_NOT_PRESENT_OFFSET, 12290 },
+  { 0xfcaa, G_UNICODE_NOT_PRESENT_OFFSET, 12295 },
+  { 0xfcab, G_UNICODE_NOT_PRESENT_OFFSET, 12300 },
+  { 0xfcac, G_UNICODE_NOT_PRESENT_OFFSET, 12310 },
+  { 0xfcad, G_UNICODE_NOT_PRESENT_OFFSET, 12315 },
+  { 0xfcae, G_UNICODE_NOT_PRESENT_OFFSET, 12320 },
+  { 0xfcaf, G_UNICODE_NOT_PRESENT_OFFSET, 12325 },
+  { 0xfcb0, G_UNICODE_NOT_PRESENT_OFFSET, 12330 },
+  { 0xfcb1, G_UNICODE_NOT_PRESENT_OFFSET, 12335 },
+  { 0xfcb2, G_UNICODE_NOT_PRESENT_OFFSET, 12806 },
+  { 0xfcb3, G_UNICODE_NOT_PRESENT_OFFSET, 12340 },
+  { 0xfcb4, G_UNICODE_NOT_PRESENT_OFFSET, 12345 },
+  { 0xfcb5, G_UNICODE_NOT_PRESENT_OFFSET, 12350 },
+  { 0xfcb6, G_UNICODE_NOT_PRESENT_OFFSET, 12355 },
+  { 0xfcb7, G_UNICODE_NOT_PRESENT_OFFSET, 12360 },
+  { 0xfcb8, G_UNICODE_NOT_PRESENT_OFFSET, 12365 },
+  { 0xfcb9, G_UNICODE_NOT_PRESENT_OFFSET, 12375 },
+  { 0xfcba, G_UNICODE_NOT_PRESENT_OFFSET, 12380 },
+  { 0xfcbb, G_UNICODE_NOT_PRESENT_OFFSET, 12385 },
+  { 0xfcbc, G_UNICODE_NOT_PRESENT_OFFSET, 12390 },
+  { 0xfcbd, G_UNICODE_NOT_PRESENT_OFFSET, 12395 },
+  { 0xfcbe, G_UNICODE_NOT_PRESENT_OFFSET, 12400 },
+  { 0xfcbf, G_UNICODE_NOT_PRESENT_OFFSET, 12405 },
+  { 0xfcc0, G_UNICODE_NOT_PRESENT_OFFSET, 12410 },
+  { 0xfcc1, G_UNICODE_NOT_PRESENT_OFFSET, 12415 },
+  { 0xfcc2, G_UNICODE_NOT_PRESENT_OFFSET, 12430 },
+  { 0xfcc3, G_UNICODE_NOT_PRESENT_OFFSET, 12435 },
+  { 0xfcc4, G_UNICODE_NOT_PRESENT_OFFSET, 12455 },
+  { 0xfcc5, G_UNICODE_NOT_PRESENT_OFFSET, 12460 },
+  { 0xfcc6, G_UNICODE_NOT_PRESENT_OFFSET, 12465 },
+  { 0xfcc7, G_UNICODE_NOT_PRESENT_OFFSET, 12470 },
+  { 0xfcc8, G_UNICODE_NOT_PRESENT_OFFSET, 12475 },
+  { 0xfcc9, G_UNICODE_NOT_PRESENT_OFFSET, 12490 },
+  { 0xfcca, G_UNICODE_NOT_PRESENT_OFFSET, 12495 },
+  { 0xfccb, G_UNICODE_NOT_PRESENT_OFFSET, 12500 },
+  { 0xfccc, G_UNICODE_NOT_PRESENT_OFFSET, 12505 },
+  { 0xfccd, G_UNICODE_NOT_PRESENT_OFFSET, 12811 },
+  { 0xfcce, G_UNICODE_NOT_PRESENT_OFFSET, 12520 },
+  { 0xfccf, G_UNICODE_NOT_PRESENT_OFFSET, 12525 },
+  { 0xfcd0, G_UNICODE_NOT_PRESENT_OFFSET, 12530 },
+  { 0xfcd1, G_UNICODE_NOT_PRESENT_OFFSET, 12535 },
+  { 0xfcd2, G_UNICODE_NOT_PRESENT_OFFSET, 12550 },
+  { 0xfcd3, G_UNICODE_NOT_PRESENT_OFFSET, 12555 },
+  { 0xfcd4, G_UNICODE_NOT_PRESENT_OFFSET, 12560 },
+  { 0xfcd5, G_UNICODE_NOT_PRESENT_OFFSET, 12565 },
+  { 0xfcd6, G_UNICODE_NOT_PRESENT_OFFSET, 12816 },
+  { 0xfcd7, G_UNICODE_NOT_PRESENT_OFFSET, 12580 },
+  { 0xfcd8, G_UNICODE_NOT_PRESENT_OFFSET, 12585 },
+  { 0xfcd9, G_UNICODE_NOT_PRESENT_OFFSET, 12821 },
+  { 0xfcda, G_UNICODE_NOT_PRESENT_OFFSET, 12600 },
+  { 0xfcdb, G_UNICODE_NOT_PRESENT_OFFSET, 12605 },
+  { 0xfcdc, G_UNICODE_NOT_PRESENT_OFFSET, 12610 },
+  { 0xfcdd, G_UNICODE_NOT_PRESENT_OFFSET, 12615 },
+  { 0xfcde, G_UNICODE_NOT_PRESENT_OFFSET, 12826 },
+  { 0xfcdf, G_UNICODE_NOT_PRESENT_OFFSET, 12186 },
+  { 0xfce0, G_UNICODE_NOT_PRESENT_OFFSET, 12789 },
+  { 0xfce1, G_UNICODE_NOT_PRESENT_OFFSET, 12215 },
+  { 0xfce2, G_UNICODE_NOT_PRESENT_OFFSET, 12796 },
+  { 0xfce3, G_UNICODE_NOT_PRESENT_OFFSET, 12245 },
+  { 0xfce4, G_UNICODE_NOT_PRESENT_OFFSET, 12801 },
+  { 0xfce5, G_UNICODE_NOT_PRESENT_OFFSET, 12265 },
+  { 0xfce6, G_UNICODE_NOT_PRESENT_OFFSET, 12831 },
+  { 0xfce7, G_UNICODE_NOT_PRESENT_OFFSET, 12330 },
+  { 0xfce8, G_UNICODE_NOT_PRESENT_OFFSET, 12836 },
+  { 0xfce9, G_UNICODE_NOT_PRESENT_OFFSET, 12841 },
+  { 0xfcea, G_UNICODE_NOT_PRESENT_OFFSET, 12846 },
+  { 0xfceb, G_UNICODE_NOT_PRESENT_OFFSET, 12470 },
+  { 0xfcec, G_UNICODE_NOT_PRESENT_OFFSET, 12475 },
+  { 0xfced, G_UNICODE_NOT_PRESENT_OFFSET, 12505 },
+  { 0xfcee, G_UNICODE_NOT_PRESENT_OFFSET, 12565 },
+  { 0xfcef, G_UNICODE_NOT_PRESENT_OFFSET, 12816 },
+  { 0xfcf0, G_UNICODE_NOT_PRESENT_OFFSET, 12615 },
+  { 0xfcf1, G_UNICODE_NOT_PRESENT_OFFSET, 12826 },
+  { 0xfcf2, G_UNICODE_NOT_PRESENT_OFFSET, 12851 },
+  { 0xfcf3, G_UNICODE_NOT_PRESENT_OFFSET, 12858 },
+  { 0xfcf4, G_UNICODE_NOT_PRESENT_OFFSET, 12865 },
+  { 0xfcf5, G_UNICODE_NOT_PRESENT_OFFSET, 12872 },
+  { 0xfcf6, G_UNICODE_NOT_PRESENT_OFFSET, 12877 },
+  { 0xfcf7, G_UNICODE_NOT_PRESENT_OFFSET, 12882 },
+  { 0xfcf8, G_UNICODE_NOT_PRESENT_OFFSET, 12887 },
+  { 0xfcf9, G_UNICODE_NOT_PRESENT_OFFSET, 12892 },
+  { 0xfcfa, G_UNICODE_NOT_PRESENT_OFFSET, 12897 },
+  { 0xfcfb, G_UNICODE_NOT_PRESENT_OFFSET, 12902 },
+  { 0xfcfc, G_UNICODE_NOT_PRESENT_OFFSET, 12907 },
+  { 0xfcfd, G_UNICODE_NOT_PRESENT_OFFSET, 12912 },
+  { 0xfcfe, G_UNICODE_NOT_PRESENT_OFFSET, 12917 },
+  { 0xfcff, G_UNICODE_NOT_PRESENT_OFFSET, 12922 },
+  { 0xfd00, G_UNICODE_NOT_PRESENT_OFFSET, 12927 },
+  { 0xfd01, G_UNICODE_NOT_PRESENT_OFFSET, 12932 },
+  { 0xfd02, G_UNICODE_NOT_PRESENT_OFFSET, 12937 },
+  { 0xfd03, G_UNICODE_NOT_PRESENT_OFFSET, 12942 },
+  { 0xfd04, G_UNICODE_NOT_PRESENT_OFFSET, 12947 },
+  { 0xfd05, G_UNICODE_NOT_PRESENT_OFFSET, 12952 },
+  { 0xfd06, G_UNICODE_NOT_PRESENT_OFFSET, 12957 },
+  { 0xfd07, G_UNICODE_NOT_PRESENT_OFFSET, 12962 },
+  { 0xfd08, G_UNICODE_NOT_PRESENT_OFFSET, 12967 },
+  { 0xfd09, G_UNICODE_NOT_PRESENT_OFFSET, 12972 },
+  { 0xfd0a, G_UNICODE_NOT_PRESENT_OFFSET, 12977 },
+  { 0xfd0b, G_UNICODE_NOT_PRESENT_OFFSET, 12982 },
+  { 0xfd0c, G_UNICODE_NOT_PRESENT_OFFSET, 12841 },
+  { 0xfd0d, G_UNICODE_NOT_PRESENT_OFFSET, 12987 },
+  { 0xfd0e, G_UNICODE_NOT_PRESENT_OFFSET, 12992 },
+  { 0xfd0f, G_UNICODE_NOT_PRESENT_OFFSET, 12997 },
+  { 0xfd10, G_UNICODE_NOT_PRESENT_OFFSET, 13002 },
+  { 0xfd11, G_UNICODE_NOT_PRESENT_OFFSET, 12872 },
+  { 0xfd12, G_UNICODE_NOT_PRESENT_OFFSET, 12877 },
+  { 0xfd13, G_UNICODE_NOT_PRESENT_OFFSET, 12882 },
+  { 0xfd14, G_UNICODE_NOT_PRESENT_OFFSET, 12887 },
+  { 0xfd15, G_UNICODE_NOT_PRESENT_OFFSET, 12892 },
+  { 0xfd16, G_UNICODE_NOT_PRESENT_OFFSET, 12897 },
+  { 0xfd17, G_UNICODE_NOT_PRESENT_OFFSET, 12902 },
+  { 0xfd18, G_UNICODE_NOT_PRESENT_OFFSET, 12907 },
+  { 0xfd19, G_UNICODE_NOT_PRESENT_OFFSET, 12912 },
+  { 0xfd1a, G_UNICODE_NOT_PRESENT_OFFSET, 12917 },
+  { 0xfd1b, G_UNICODE_NOT_PRESENT_OFFSET, 12922 },
+  { 0xfd1c, G_UNICODE_NOT_PRESENT_OFFSET, 12927 },
+  { 0xfd1d, G_UNICODE_NOT_PRESENT_OFFSET, 12932 },
+  { 0xfd1e, G_UNICODE_NOT_PRESENT_OFFSET, 12937 },
+  { 0xfd1f, G_UNICODE_NOT_PRESENT_OFFSET, 12942 },
+  { 0xfd20, G_UNICODE_NOT_PRESENT_OFFSET, 12947 },
+  { 0xfd21, G_UNICODE_NOT_PRESENT_OFFSET, 12952 },
+  { 0xfd22, G_UNICODE_NOT_PRESENT_OFFSET, 12957 },
+  { 0xfd23, G_UNICODE_NOT_PRESENT_OFFSET, 12962 },
+  { 0xfd24, G_UNICODE_NOT_PRESENT_OFFSET, 12967 },
+  { 0xfd25, G_UNICODE_NOT_PRESENT_OFFSET, 12972 },
+  { 0xfd26, G_UNICODE_NOT_PRESENT_OFFSET, 12977 },
+  { 0xfd27, G_UNICODE_NOT_PRESENT_OFFSET, 12982 },
+  { 0xfd28, G_UNICODE_NOT_PRESENT_OFFSET, 12841 },
+  { 0xfd29, G_UNICODE_NOT_PRESENT_OFFSET, 12987 },
+  { 0xfd2a, G_UNICODE_NOT_PRESENT_OFFSET, 12992 },
+  { 0xfd2b, G_UNICODE_NOT_PRESENT_OFFSET, 12997 },
+  { 0xfd2c, G_UNICODE_NOT_PRESENT_OFFSET, 13002 },
+  { 0xfd2d, G_UNICODE_NOT_PRESENT_OFFSET, 12972 },
+  { 0xfd2e, G_UNICODE_NOT_PRESENT_OFFSET, 12977 },
+  { 0xfd2f, G_UNICODE_NOT_PRESENT_OFFSET, 12982 },
+  { 0xfd30, G_UNICODE_NOT_PRESENT_OFFSET, 12841 },
+  { 0xfd31, G_UNICODE_NOT_PRESENT_OFFSET, 12836 },
+  { 0xfd32, G_UNICODE_NOT_PRESENT_OFFSET, 12846 },
+  { 0xfd33, G_UNICODE_NOT_PRESENT_OFFSET, 12370 },
+  { 0xfd34, G_UNICODE_NOT_PRESENT_OFFSET, 12315 },
+  { 0xfd35, G_UNICODE_NOT_PRESENT_OFFSET, 12320 },
+  { 0xfd36, G_UNICODE_NOT_PRESENT_OFFSET, 12325 },
+  { 0xfd37, G_UNICODE_NOT_PRESENT_OFFSET, 12972 },
+  { 0xfd38, G_UNICODE_NOT_PRESENT_OFFSET, 12977 },
+  { 0xfd39, G_UNICODE_NOT_PRESENT_OFFSET, 12982 },
+  { 0xfd3a, G_UNICODE_NOT_PRESENT_OFFSET, 12370 },
+  { 0xfd3b, G_UNICODE_NOT_PRESENT_OFFSET, 12375 },
+  { 0xfd3c, G_UNICODE_NOT_PRESENT_OFFSET, 13007 },
+  { 0xfd3d, G_UNICODE_NOT_PRESENT_OFFSET, 13007 },
+  { 0xfd50, G_UNICODE_NOT_PRESENT_OFFSET, 13012 },
+  { 0xfd51, G_UNICODE_NOT_PRESENT_OFFSET, 13019 },
+  { 0xfd52, G_UNICODE_NOT_PRESENT_OFFSET, 13019 },
+  { 0xfd53, G_UNICODE_NOT_PRESENT_OFFSET, 13026 },
+  { 0xfd54, G_UNICODE_NOT_PRESENT_OFFSET, 13033 },
+  { 0xfd55, G_UNICODE_NOT_PRESENT_OFFSET, 13040 },
+  { 0xfd56, G_UNICODE_NOT_PRESENT_OFFSET, 13047 },
+  { 0xfd57, G_UNICODE_NOT_PRESENT_OFFSET, 13054 },
+  { 0xfd58, G_UNICODE_NOT_PRESENT_OFFSET, 13061 },
+  { 0xfd59, G_UNICODE_NOT_PRESENT_OFFSET, 13061 },
+  { 0xfd5a, G_UNICODE_NOT_PRESENT_OFFSET, 13068 },
+  { 0xfd5b, G_UNICODE_NOT_PRESENT_OFFSET, 13075 },
+  { 0xfd5c, G_UNICODE_NOT_PRESENT_OFFSET, 13082 },
+  { 0xfd5d, G_UNICODE_NOT_PRESENT_OFFSET, 13089 },
+  { 0xfd5e, G_UNICODE_NOT_PRESENT_OFFSET, 13096 },
+  { 0xfd5f, G_UNICODE_NOT_PRESENT_OFFSET, 13103 },
+  { 0xfd60, G_UNICODE_NOT_PRESENT_OFFSET, 13103 },
+  { 0xfd61, G_UNICODE_NOT_PRESENT_OFFSET, 13110 },
+  { 0xfd62, G_UNICODE_NOT_PRESENT_OFFSET, 13117 },
+  { 0xfd63, G_UNICODE_NOT_PRESENT_OFFSET, 13117 },
+  { 0xfd64, G_UNICODE_NOT_PRESENT_OFFSET, 13124 },
+  { 0xfd65, G_UNICODE_NOT_PRESENT_OFFSET, 13124 },
+  { 0xfd66, G_UNICODE_NOT_PRESENT_OFFSET, 13131 },
+  { 0xfd67, G_UNICODE_NOT_PRESENT_OFFSET, 13138 },
+  { 0xfd68, G_UNICODE_NOT_PRESENT_OFFSET, 13138 },
+  { 0xfd69, G_UNICODE_NOT_PRESENT_OFFSET, 13145 },
+  { 0xfd6a, G_UNICODE_NOT_PRESENT_OFFSET, 13152 },
+  { 0xfd6b, G_UNICODE_NOT_PRESENT_OFFSET, 13152 },
+  { 0xfd6c, G_UNICODE_NOT_PRESENT_OFFSET, 13159 },
+  { 0xfd6d, G_UNICODE_NOT_PRESENT_OFFSET, 13159 },
+  { 0xfd6e, G_UNICODE_NOT_PRESENT_OFFSET, 13166 },
+  { 0xfd6f, G_UNICODE_NOT_PRESENT_OFFSET, 13173 },
+  { 0xfd70, G_UNICODE_NOT_PRESENT_OFFSET, 13173 },
+  { 0xfd71, G_UNICODE_NOT_PRESENT_OFFSET, 13180 },
+  { 0xfd72, G_UNICODE_NOT_PRESENT_OFFSET, 13180 },
+  { 0xfd73, G_UNICODE_NOT_PRESENT_OFFSET, 13187 },
+  { 0xfd74, G_UNICODE_NOT_PRESENT_OFFSET, 13194 },
+  { 0xfd75, G_UNICODE_NOT_PRESENT_OFFSET, 13201 },
+  { 0xfd76, G_UNICODE_NOT_PRESENT_OFFSET, 13208 },
+  { 0xfd77, G_UNICODE_NOT_PRESENT_OFFSET, 13208 },
+  { 0xfd78, G_UNICODE_NOT_PRESENT_OFFSET, 13215 },
+  { 0xfd79, G_UNICODE_NOT_PRESENT_OFFSET, 13222 },
+  { 0xfd7a, G_UNICODE_NOT_PRESENT_OFFSET, 13229 },
+  { 0xfd7b, G_UNICODE_NOT_PRESENT_OFFSET, 13236 },
+  { 0xfd7c, G_UNICODE_NOT_PRESENT_OFFSET, 13243 },
+  { 0xfd7d, G_UNICODE_NOT_PRESENT_OFFSET, 13243 },
+  { 0xfd7e, G_UNICODE_NOT_PRESENT_OFFSET, 13250 },
+  { 0xfd7f, G_UNICODE_NOT_PRESENT_OFFSET, 13257 },
+  { 0xfd80, G_UNICODE_NOT_PRESENT_OFFSET, 13264 },
+  { 0xfd81, G_UNICODE_NOT_PRESENT_OFFSET, 13271 },
+  { 0xfd82, G_UNICODE_NOT_PRESENT_OFFSET, 13278 },
+  { 0xfd83, G_UNICODE_NOT_PRESENT_OFFSET, 13285 },
+  { 0xfd84, G_UNICODE_NOT_PRESENT_OFFSET, 13285 },
+  { 0xfd85, G_UNICODE_NOT_PRESENT_OFFSET, 13292 },
+  { 0xfd86, G_UNICODE_NOT_PRESENT_OFFSET, 13292 },
+  { 0xfd87, G_UNICODE_NOT_PRESENT_OFFSET, 13299 },
+  { 0xfd88, G_UNICODE_NOT_PRESENT_OFFSET, 13299 },
+  { 0xfd89, G_UNICODE_NOT_PRESENT_OFFSET, 13306 },
+  { 0xfd8a, G_UNICODE_NOT_PRESENT_OFFSET, 13313 },
+  { 0xfd8b, G_UNICODE_NOT_PRESENT_OFFSET, 13320 },
+  { 0xfd8c, G_UNICODE_NOT_PRESENT_OFFSET, 13327 },
+  { 0xfd8d, G_UNICODE_NOT_PRESENT_OFFSET, 13334 },
+  { 0xfd8e, G_UNICODE_NOT_PRESENT_OFFSET, 13341 },
+  { 0xfd8f, G_UNICODE_NOT_PRESENT_OFFSET, 13348 },
+  { 0xfd92, G_UNICODE_NOT_PRESENT_OFFSET, 13355 },
+  { 0xfd93, G_UNICODE_NOT_PRESENT_OFFSET, 13362 },
+  { 0xfd94, G_UNICODE_NOT_PRESENT_OFFSET, 13369 },
+  { 0xfd95, G_UNICODE_NOT_PRESENT_OFFSET, 13376 },
+  { 0xfd96, G_UNICODE_NOT_PRESENT_OFFSET, 13383 },
+  { 0xfd97, G_UNICODE_NOT_PRESENT_OFFSET, 13390 },
+  { 0xfd98, G_UNICODE_NOT_PRESENT_OFFSET, 13390 },
+  { 0xfd99, G_UNICODE_NOT_PRESENT_OFFSET, 13397 },
+  { 0xfd9a, G_UNICODE_NOT_PRESENT_OFFSET, 13404 },
+  { 0xfd9b, G_UNICODE_NOT_PRESENT_OFFSET, 13411 },
+  { 0xfd9c, G_UNICODE_NOT_PRESENT_OFFSET, 13418 },
+  { 0xfd9d, G_UNICODE_NOT_PRESENT_OFFSET, 13418 },
+  { 0xfd9e, G_UNICODE_NOT_PRESENT_OFFSET, 13425 },
+  { 0xfd9f, G_UNICODE_NOT_PRESENT_OFFSET, 13432 },
+  { 0xfda0, G_UNICODE_NOT_PRESENT_OFFSET, 13439 },
+  { 0xfda1, G_UNICODE_NOT_PRESENT_OFFSET, 13446 },
+  { 0xfda2, G_UNICODE_NOT_PRESENT_OFFSET, 13453 },
+  { 0xfda3, G_UNICODE_NOT_PRESENT_OFFSET, 13460 },
+  { 0xfda4, G_UNICODE_NOT_PRESENT_OFFSET, 13467 },
+  { 0xfda5, G_UNICODE_NOT_PRESENT_OFFSET, 13474 },
+  { 0xfda6, G_UNICODE_NOT_PRESENT_OFFSET, 13481 },
+  { 0xfda7, G_UNICODE_NOT_PRESENT_OFFSET, 13488 },
+  { 0xfda8, G_UNICODE_NOT_PRESENT_OFFSET, 13495 },
+  { 0xfda9, G_UNICODE_NOT_PRESENT_OFFSET, 13502 },
+  { 0xfdaa, G_UNICODE_NOT_PRESENT_OFFSET, 13509 },
+  { 0xfdab, G_UNICODE_NOT_PRESENT_OFFSET, 13516 },
+  { 0xfdac, G_UNICODE_NOT_PRESENT_OFFSET, 13523 },
+  { 0xfdad, G_UNICODE_NOT_PRESENT_OFFSET, 13530 },
+  { 0xfdae, G_UNICODE_NOT_PRESENT_OFFSET, 13537 },
+  { 0xfdaf, G_UNICODE_NOT_PRESENT_OFFSET, 13544 },
+  { 0xfdb0, G_UNICODE_NOT_PRESENT_OFFSET, 13551 },
+  { 0xfdb1, G_UNICODE_NOT_PRESENT_OFFSET, 13558 },
+  { 0xfdb2, G_UNICODE_NOT_PRESENT_OFFSET, 13565 },
+  { 0xfdb3, G_UNICODE_NOT_PRESENT_OFFSET, 13572 },
+  { 0xfdb4, G_UNICODE_NOT_PRESENT_OFFSET, 13250 },
+  { 0xfdb5, G_UNICODE_NOT_PRESENT_OFFSET, 13264 },
+  { 0xfdb6, G_UNICODE_NOT_PRESENT_OFFSET, 13579 },
+  { 0xfdb7, G_UNICODE_NOT_PRESENT_OFFSET, 13586 },
+  { 0xfdb8, G_UNICODE_NOT_PRESENT_OFFSET, 13593 },
+  { 0xfdb9, G_UNICODE_NOT_PRESENT_OFFSET, 13600 },
+  { 0xfdba, G_UNICODE_NOT_PRESENT_OFFSET, 13607 },
+  { 0xfdbb, G_UNICODE_NOT_PRESENT_OFFSET, 13614 },
+  { 0xfdbc, G_UNICODE_NOT_PRESENT_OFFSET, 13607 },
+  { 0xfdbd, G_UNICODE_NOT_PRESENT_OFFSET, 13593 },
+  { 0xfdbe, G_UNICODE_NOT_PRESENT_OFFSET, 13621 },
+  { 0xfdbf, G_UNICODE_NOT_PRESENT_OFFSET, 13628 },
+  { 0xfdc0, G_UNICODE_NOT_PRESENT_OFFSET, 13635 },
+  { 0xfdc1, G_UNICODE_NOT_PRESENT_OFFSET, 13642 },
+  { 0xfdc2, G_UNICODE_NOT_PRESENT_OFFSET, 13649 },
+  { 0xfdc3, G_UNICODE_NOT_PRESENT_OFFSET, 13614 },
+  { 0xfdc4, G_UNICODE_NOT_PRESENT_OFFSET, 13201 },
+  { 0xfdc5, G_UNICODE_NOT_PRESENT_OFFSET, 13131 },
+  { 0xfdc6, G_UNICODE_NOT_PRESENT_OFFSET, 13656 },
+  { 0xfdc7, G_UNICODE_NOT_PRESENT_OFFSET, 13663 },
+  { 0xfdf0, G_UNICODE_NOT_PRESENT_OFFSET, 13670 },
+  { 0xfdf1, G_UNICODE_NOT_PRESENT_OFFSET, 13677 },
+  { 0xfdf2, G_UNICODE_NOT_PRESENT_OFFSET, 13684 },
+  { 0xfdf3, G_UNICODE_NOT_PRESENT_OFFSET, 13693 },
+  { 0xfdf4, G_UNICODE_NOT_PRESENT_OFFSET, 13702 },
+  { 0xfdf5, G_UNICODE_NOT_PRESENT_OFFSET, 13711 },
+  { 0xfdf6, G_UNICODE_NOT_PRESENT_OFFSET, 13720 },
+  { 0xfdf7, G_UNICODE_NOT_PRESENT_OFFSET, 13729 },
+  { 0xfdf8, G_UNICODE_NOT_PRESENT_OFFSET, 13738 },
+  { 0xfdf9, G_UNICODE_NOT_PRESENT_OFFSET, 13747 },
+  { 0xfdfa, G_UNICODE_NOT_PRESENT_OFFSET, 13754 },
+  { 0xfdfb, G_UNICODE_NOT_PRESENT_OFFSET, 13788 },
+  { 0xfdfc, G_UNICODE_NOT_PRESENT_OFFSET, 13804 },
+  { 0xfe30, G_UNICODE_NOT_PRESENT_OFFSET, 4871 },
+  { 0xfe31, G_UNICODE_NOT_PRESENT_OFFSET, 13813 },
+  { 0xfe32, G_UNICODE_NOT_PRESENT_OFFSET, 13817 },
+  { 0xfe33, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xfe34, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xfe35, G_UNICODE_NOT_PRESENT_OFFSET, 4965 },
+  { 0xfe36, G_UNICODE_NOT_PRESENT_OFFSET, 4967 },
+  { 0xfe37, G_UNICODE_NOT_PRESENT_OFFSET, 13823 },
+  { 0xfe38, G_UNICODE_NOT_PRESENT_OFFSET, 13825 },
+  { 0xfe39, G_UNICODE_NOT_PRESENT_OFFSET, 13827 },
+  { 0xfe3a, G_UNICODE_NOT_PRESENT_OFFSET, 13831 },
+  { 0xfe3b, G_UNICODE_NOT_PRESENT_OFFSET, 13835 },
+  { 0xfe3c, G_UNICODE_NOT_PRESENT_OFFSET, 13839 },
+  { 0xfe3d, G_UNICODE_NOT_PRESENT_OFFSET, 13843 },
+  { 0xfe3e, G_UNICODE_NOT_PRESENT_OFFSET, 13847 },
+  { 0xfe3f, G_UNICODE_NOT_PRESENT_OFFSET, 5524 },
+  { 0xfe40, G_UNICODE_NOT_PRESENT_OFFSET, 5528 },
+  { 0xfe41, G_UNICODE_NOT_PRESENT_OFFSET, 13851 },
+  { 0xfe42, G_UNICODE_NOT_PRESENT_OFFSET, 13855 },
+  { 0xfe43, G_UNICODE_NOT_PRESENT_OFFSET, 13859 },
+  { 0xfe44, G_UNICODE_NOT_PRESENT_OFFSET, 13863 },
+  { 0xfe49, G_UNICODE_NOT_PRESENT_OFFSET, 4915 },
+  { 0xfe4a, G_UNICODE_NOT_PRESENT_OFFSET, 4915 },
+  { 0xfe4b, G_UNICODE_NOT_PRESENT_OFFSET, 4915 },
+  { 0xfe4c, G_UNICODE_NOT_PRESENT_OFFSET, 4915 },
+  { 0xfe4d, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xfe4e, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xfe4f, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xfe50, G_UNICODE_NOT_PRESENT_OFFSET, 13867 },
+  { 0xfe51, G_UNICODE_NOT_PRESENT_OFFSET, 13869 },
+  { 0xfe52, G_UNICODE_NOT_PRESENT_OFFSET, 4869 },
+  { 0xfe54, G_UNICODE_NOT_PRESENT_OFFSET, 1248 },
+  { 0xfe55, G_UNICODE_NOT_PRESENT_OFFSET, 13873 },
+  { 0xfe56, G_UNICODE_NOT_PRESENT_OFFSET, 13875 },
+  { 0xfe57, G_UNICODE_NOT_PRESENT_OFFSET, 13877 },
+  { 0xfe58, G_UNICODE_NOT_PRESENT_OFFSET, 13813 },
+  { 0xfe59, G_UNICODE_NOT_PRESENT_OFFSET, 4965 },
+  { 0xfe5a, G_UNICODE_NOT_PRESENT_OFFSET, 4967 },
+  { 0xfe5b, G_UNICODE_NOT_PRESENT_OFFSET, 13823 },
+  { 0xfe5c, G_UNICODE_NOT_PRESENT_OFFSET, 13825 },
+  { 0xfe5d, G_UNICODE_NOT_PRESENT_OFFSET, 13827 },
+  { 0xfe5e, G_UNICODE_NOT_PRESENT_OFFSET, 13831 },
+  { 0xfe5f, G_UNICODE_NOT_PRESENT_OFFSET, 13879 },
+  { 0xfe60, G_UNICODE_NOT_PRESENT_OFFSET, 13881 },
+  { 0xfe61, G_UNICODE_NOT_PRESENT_OFFSET, 13883 },
+  { 0xfe62, G_UNICODE_NOT_PRESENT_OFFSET, 4957 },
+  { 0xfe63, G_UNICODE_NOT_PRESENT_OFFSET, 13885 },
+  { 0xfe64, G_UNICODE_NOT_PRESENT_OFFSET, 13887 },
+  { 0xfe65, G_UNICODE_NOT_PRESENT_OFFSET, 13889 },
+  { 0xfe66, G_UNICODE_NOT_PRESENT_OFFSET, 4963 },
+  { 0xfe68, G_UNICODE_NOT_PRESENT_OFFSET, 13891 },
+  { 0xfe69, G_UNICODE_NOT_PRESENT_OFFSET, 13893 },
+  { 0xfe6a, G_UNICODE_NOT_PRESENT_OFFSET, 13895 },
+  { 0xfe6b, G_UNICODE_NOT_PRESENT_OFFSET, 13897 },
+  { 0xfe70, G_UNICODE_NOT_PRESENT_OFFSET, 13899 },
+  { 0xfe71, G_UNICODE_NOT_PRESENT_OFFSET, 13903 },
+  { 0xfe72, G_UNICODE_NOT_PRESENT_OFFSET, 13908 },
+  { 0xfe74, G_UNICODE_NOT_PRESENT_OFFSET, 13912 },
+  { 0xfe76, G_UNICODE_NOT_PRESENT_OFFSET, 13916 },
+  { 0xfe77, G_UNICODE_NOT_PRESENT_OFFSET, 13920 },
+  { 0xfe78, G_UNICODE_NOT_PRESENT_OFFSET, 13925 },
+  { 0xfe79, G_UNICODE_NOT_PRESENT_OFFSET, 13929 },
+  { 0xfe7a, G_UNICODE_NOT_PRESENT_OFFSET, 13934 },
+  { 0xfe7b, G_UNICODE_NOT_PRESENT_OFFSET, 13938 },
+  { 0xfe7c, G_UNICODE_NOT_PRESENT_OFFSET, 13943 },
+  { 0xfe7d, G_UNICODE_NOT_PRESENT_OFFSET, 13947 },
+  { 0xfe7e, G_UNICODE_NOT_PRESENT_OFFSET, 13952 },
+  { 0xfe7f, G_UNICODE_NOT_PRESENT_OFFSET, 13956 },
+  { 0xfe80, G_UNICODE_NOT_PRESENT_OFFSET, 13961 },
+  { 0xfe81, G_UNICODE_NOT_PRESENT_OFFSET, 1673 },
+  { 0xfe82, G_UNICODE_NOT_PRESENT_OFFSET, 1673 },
+  { 0xfe83, G_UNICODE_NOT_PRESENT_OFFSET, 1678 },
+  { 0xfe84, G_UNICODE_NOT_PRESENT_OFFSET, 1678 },
+  { 0xfe85, G_UNICODE_NOT_PRESENT_OFFSET, 1683 },
+  { 0xfe86, G_UNICODE_NOT_PRESENT_OFFSET, 1683 },
+  { 0xfe87, G_UNICODE_NOT_PRESENT_OFFSET, 1688 },
+  { 0xfe88, G_UNICODE_NOT_PRESENT_OFFSET, 1688 },
+  { 0xfe89, G_UNICODE_NOT_PRESENT_OFFSET, 1693 },
+  { 0xfe8a, G_UNICODE_NOT_PRESENT_OFFSET, 1693 },
+  { 0xfe8b, G_UNICODE_NOT_PRESENT_OFFSET, 1693 },
+  { 0xfe8c, G_UNICODE_NOT_PRESENT_OFFSET, 1693 },
+  { 0xfe8d, G_UNICODE_NOT_PRESENT_OFFSET, 13964 },
+  { 0xfe8e, G_UNICODE_NOT_PRESENT_OFFSET, 13964 },
+  { 0xfe8f, G_UNICODE_NOT_PRESENT_OFFSET, 13967 },
+  { 0xfe90, G_UNICODE_NOT_PRESENT_OFFSET, 13967 },
+  { 0xfe91, G_UNICODE_NOT_PRESENT_OFFSET, 13967 },
+  { 0xfe92, G_UNICODE_NOT_PRESENT_OFFSET, 13967 },
+  { 0xfe93, G_UNICODE_NOT_PRESENT_OFFSET, 13970 },
+  { 0xfe94, G_UNICODE_NOT_PRESENT_OFFSET, 13970 },
+  { 0xfe95, G_UNICODE_NOT_PRESENT_OFFSET, 13973 },
+  { 0xfe96, G_UNICODE_NOT_PRESENT_OFFSET, 13973 },
+  { 0xfe97, G_UNICODE_NOT_PRESENT_OFFSET, 13973 },
+  { 0xfe98, G_UNICODE_NOT_PRESENT_OFFSET, 13973 },
+  { 0xfe99, G_UNICODE_NOT_PRESENT_OFFSET, 13976 },
+  { 0xfe9a, G_UNICODE_NOT_PRESENT_OFFSET, 13976 },
+  { 0xfe9b, G_UNICODE_NOT_PRESENT_OFFSET, 13976 },
+  { 0xfe9c, G_UNICODE_NOT_PRESENT_OFFSET, 13976 },
+  { 0xfe9d, G_UNICODE_NOT_PRESENT_OFFSET, 13979 },
+  { 0xfe9e, G_UNICODE_NOT_PRESENT_OFFSET, 13979 },
+  { 0xfe9f, G_UNICODE_NOT_PRESENT_OFFSET, 13979 },
+  { 0xfea0, G_UNICODE_NOT_PRESENT_OFFSET, 13979 },
+  { 0xfea1, G_UNICODE_NOT_PRESENT_OFFSET, 13982 },
+  { 0xfea2, G_UNICODE_NOT_PRESENT_OFFSET, 13982 },
+  { 0xfea3, G_UNICODE_NOT_PRESENT_OFFSET, 13982 },
+  { 0xfea4, G_UNICODE_NOT_PRESENT_OFFSET, 13982 },
+  { 0xfea5, G_UNICODE_NOT_PRESENT_OFFSET, 13985 },
+  { 0xfea6, G_UNICODE_NOT_PRESENT_OFFSET, 13985 },
+  { 0xfea7, G_UNICODE_NOT_PRESENT_OFFSET, 13985 },
+  { 0xfea8, G_UNICODE_NOT_PRESENT_OFFSET, 13985 },
+  { 0xfea9, G_UNICODE_NOT_PRESENT_OFFSET, 13988 },
+  { 0xfeaa, G_UNICODE_NOT_PRESENT_OFFSET, 13988 },
+  { 0xfeab, G_UNICODE_NOT_PRESENT_OFFSET, 13991 },
+  { 0xfeac, G_UNICODE_NOT_PRESENT_OFFSET, 13991 },
+  { 0xfead, G_UNICODE_NOT_PRESENT_OFFSET, 13994 },
+  { 0xfeae, G_UNICODE_NOT_PRESENT_OFFSET, 13994 },
+  { 0xfeaf, G_UNICODE_NOT_PRESENT_OFFSET, 13997 },
+  { 0xfeb0, G_UNICODE_NOT_PRESENT_OFFSET, 13997 },
+  { 0xfeb1, G_UNICODE_NOT_PRESENT_OFFSET, 14000 },
+  { 0xfeb2, G_UNICODE_NOT_PRESENT_OFFSET, 14000 },
+  { 0xfeb3, G_UNICODE_NOT_PRESENT_OFFSET, 14000 },
+  { 0xfeb4, G_UNICODE_NOT_PRESENT_OFFSET, 14000 },
+  { 0xfeb5, G_UNICODE_NOT_PRESENT_OFFSET, 14003 },
+  { 0xfeb6, G_UNICODE_NOT_PRESENT_OFFSET, 14003 },
+  { 0xfeb7, G_UNICODE_NOT_PRESENT_OFFSET, 14003 },
+  { 0xfeb8, G_UNICODE_NOT_PRESENT_OFFSET, 14003 },
+  { 0xfeb9, G_UNICODE_NOT_PRESENT_OFFSET, 14006 },
+  { 0xfeba, G_UNICODE_NOT_PRESENT_OFFSET, 14006 },
+  { 0xfebb, G_UNICODE_NOT_PRESENT_OFFSET, 14006 },
+  { 0xfebc, G_UNICODE_NOT_PRESENT_OFFSET, 14006 },
+  { 0xfebd, G_UNICODE_NOT_PRESENT_OFFSET, 14009 },
+  { 0xfebe, G_UNICODE_NOT_PRESENT_OFFSET, 14009 },
+  { 0xfebf, G_UNICODE_NOT_PRESENT_OFFSET, 14009 },
+  { 0xfec0, G_UNICODE_NOT_PRESENT_OFFSET, 14009 },
+  { 0xfec1, G_UNICODE_NOT_PRESENT_OFFSET, 14012 },
+  { 0xfec2, G_UNICODE_NOT_PRESENT_OFFSET, 14012 },
+  { 0xfec3, G_UNICODE_NOT_PRESENT_OFFSET, 14012 },
+  { 0xfec4, G_UNICODE_NOT_PRESENT_OFFSET, 14012 },
+  { 0xfec5, G_UNICODE_NOT_PRESENT_OFFSET, 14015 },
+  { 0xfec6, G_UNICODE_NOT_PRESENT_OFFSET, 14015 },
+  { 0xfec7, G_UNICODE_NOT_PRESENT_OFFSET, 14015 },
+  { 0xfec8, G_UNICODE_NOT_PRESENT_OFFSET, 14015 },
+  { 0xfec9, G_UNICODE_NOT_PRESENT_OFFSET, 14018 },
+  { 0xfeca, G_UNICODE_NOT_PRESENT_OFFSET, 14018 },
+  { 0xfecb, G_UNICODE_NOT_PRESENT_OFFSET, 14018 },
+  { 0xfecc, G_UNICODE_NOT_PRESENT_OFFSET, 14018 },
+  { 0xfecd, G_UNICODE_NOT_PRESENT_OFFSET, 14021 },
+  { 0xfece, G_UNICODE_NOT_PRESENT_OFFSET, 14021 },
+  { 0xfecf, G_UNICODE_NOT_PRESENT_OFFSET, 14021 },
+  { 0xfed0, G_UNICODE_NOT_PRESENT_OFFSET, 14021 },
+  { 0xfed1, G_UNICODE_NOT_PRESENT_OFFSET, 14024 },
+  { 0xfed2, G_UNICODE_NOT_PRESENT_OFFSET, 14024 },
+  { 0xfed3, G_UNICODE_NOT_PRESENT_OFFSET, 14024 },
+  { 0xfed4, G_UNICODE_NOT_PRESENT_OFFSET, 14024 },
+  { 0xfed5, G_UNICODE_NOT_PRESENT_OFFSET, 14027 },
+  { 0xfed6, G_UNICODE_NOT_PRESENT_OFFSET, 14027 },
+  { 0xfed7, G_UNICODE_NOT_PRESENT_OFFSET, 14027 },
+  { 0xfed8, G_UNICODE_NOT_PRESENT_OFFSET, 14027 },
+  { 0xfed9, G_UNICODE_NOT_PRESENT_OFFSET, 14030 },
+  { 0xfeda, G_UNICODE_NOT_PRESENT_OFFSET, 14030 },
+  { 0xfedb, G_UNICODE_NOT_PRESENT_OFFSET, 14030 },
+  { 0xfedc, G_UNICODE_NOT_PRESENT_OFFSET, 14030 },
+  { 0xfedd, G_UNICODE_NOT_PRESENT_OFFSET, 14033 },
+  { 0xfede, G_UNICODE_NOT_PRESENT_OFFSET, 14033 },
+  { 0xfedf, G_UNICODE_NOT_PRESENT_OFFSET, 14033 },
+  { 0xfee0, G_UNICODE_NOT_PRESENT_OFFSET, 14033 },
+  { 0xfee1, G_UNICODE_NOT_PRESENT_OFFSET, 14036 },
+  { 0xfee2, G_UNICODE_NOT_PRESENT_OFFSET, 14036 },
+  { 0xfee3, G_UNICODE_NOT_PRESENT_OFFSET, 14036 },
+  { 0xfee4, G_UNICODE_NOT_PRESENT_OFFSET, 14036 },
+  { 0xfee5, G_UNICODE_NOT_PRESENT_OFFSET, 14039 },
+  { 0xfee6, G_UNICODE_NOT_PRESENT_OFFSET, 14039 },
+  { 0xfee7, G_UNICODE_NOT_PRESENT_OFFSET, 14039 },
+  { 0xfee8, G_UNICODE_NOT_PRESENT_OFFSET, 14039 },
+  { 0xfee9, G_UNICODE_NOT_PRESENT_OFFSET, 14042 },
+  { 0xfeea, G_UNICODE_NOT_PRESENT_OFFSET, 14042 },
+  { 0xfeeb, G_UNICODE_NOT_PRESENT_OFFSET, 14042 },
+  { 0xfeec, G_UNICODE_NOT_PRESENT_OFFSET, 14042 },
+  { 0xfeed, G_UNICODE_NOT_PRESENT_OFFSET, 14045 },
+  { 0xfeee, G_UNICODE_NOT_PRESENT_OFFSET, 14045 },
+  { 0xfeef, G_UNICODE_NOT_PRESENT_OFFSET, 12110 },
+  { 0xfef0, G_UNICODE_NOT_PRESENT_OFFSET, 12110 },
+  { 0xfef1, G_UNICODE_NOT_PRESENT_OFFSET, 14048 },
+  { 0xfef2, G_UNICODE_NOT_PRESENT_OFFSET, 14048 },
+  { 0xfef3, G_UNICODE_NOT_PRESENT_OFFSET, 14048 },
+  { 0xfef4, G_UNICODE_NOT_PRESENT_OFFSET, 14048 },
+  { 0xfef5, G_UNICODE_NOT_PRESENT_OFFSET, 14051 },
+  { 0xfef6, G_UNICODE_NOT_PRESENT_OFFSET, 14051 },
+  { 0xfef7, G_UNICODE_NOT_PRESENT_OFFSET, 14058 },
+  { 0xfef8, G_UNICODE_NOT_PRESENT_OFFSET, 14058 },
+  { 0xfef9, G_UNICODE_NOT_PRESENT_OFFSET, 14065 },
+  { 0xfefa, G_UNICODE_NOT_PRESENT_OFFSET, 14065 },
+  { 0xfefb, G_UNICODE_NOT_PRESENT_OFFSET, 14072 },
+  { 0xfefc, G_UNICODE_NOT_PRESENT_OFFSET, 14072 },
+  { 0xff01, G_UNICODE_NOT_PRESENT_OFFSET, 13877 },
+  { 0xff02, G_UNICODE_NOT_PRESENT_OFFSET, 14077 },
+  { 0xff03, G_UNICODE_NOT_PRESENT_OFFSET, 13879 },
+  { 0xff04, G_UNICODE_NOT_PRESENT_OFFSET, 13893 },
+  { 0xff05, G_UNICODE_NOT_PRESENT_OFFSET, 13895 },
+  { 0xff06, G_UNICODE_NOT_PRESENT_OFFSET, 13881 },
+  { 0xff07, G_UNICODE_NOT_PRESENT_OFFSET, 14079 },
+  { 0xff08, G_UNICODE_NOT_PRESENT_OFFSET, 4965 },
+  { 0xff09, G_UNICODE_NOT_PRESENT_OFFSET, 4967 },
+  { 0xff0a, G_UNICODE_NOT_PRESENT_OFFSET, 13883 },
+  { 0xff0b, G_UNICODE_NOT_PRESENT_OFFSET, 4957 },
+  { 0xff0c, G_UNICODE_NOT_PRESENT_OFFSET, 13867 },
+  { 0xff0d, G_UNICODE_NOT_PRESENT_OFFSET, 13885 },
+  { 0xff0e, G_UNICODE_NOT_PRESENT_OFFSET, 4869 },
+  { 0xff0f, G_UNICODE_NOT_PRESENT_OFFSET, 14081 },
+  { 0xff10, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0xff11, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0xff12, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0xff13, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0xff14, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0xff15, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0xff16, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0xff17, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0xff18, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0xff19, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0xff1a, G_UNICODE_NOT_PRESENT_OFFSET, 13873 },
+  { 0xff1b, G_UNICODE_NOT_PRESENT_OFFSET, 1248 },
+  { 0xff1c, G_UNICODE_NOT_PRESENT_OFFSET, 13887 },
+  { 0xff1d, G_UNICODE_NOT_PRESENT_OFFSET, 4963 },
+  { 0xff1e, G_UNICODE_NOT_PRESENT_OFFSET, 13889 },
+  { 0xff1f, G_UNICODE_NOT_PRESENT_OFFSET, 13875 },
+  { 0xff20, G_UNICODE_NOT_PRESENT_OFFSET, 13897 },
+  { 0xff21, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0xff22, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0xff23, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0xff24, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0xff25, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0xff26, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0xff27, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0xff28, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0xff29, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0xff2a, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0xff2b, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0xff2c, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0xff2d, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0xff2e, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0xff2f, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0xff30, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0xff31, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0xff32, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0xff33, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0xff34, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0xff35, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0xff36, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0xff37, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0xff38, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0xff39, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0xff3a, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0xff3b, G_UNICODE_NOT_PRESENT_OFFSET, 14083 },
+  { 0xff3c, G_UNICODE_NOT_PRESENT_OFFSET, 13891 },
+  { 0xff3d, G_UNICODE_NOT_PRESENT_OFFSET, 14085 },
+  { 0xff3e, G_UNICODE_NOT_PRESENT_OFFSET, 14087 },
+  { 0xff3f, G_UNICODE_NOT_PRESENT_OFFSET, 13821 },
+  { 0xff40, G_UNICODE_NOT_PRESENT_OFFSET, 4798 },
+  { 0xff41, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0xff42, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0xff43, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0xff44, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0xff45, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0xff46, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0xff47, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0xff48, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0xff49, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0xff4a, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0xff4b, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0xff4c, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0xff4d, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0xff4e, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0xff4f, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0xff50, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0xff51, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0xff52, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0xff53, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0xff54, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0xff55, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0xff56, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0xff57, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0xff58, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0xff59, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0xff5a, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0xff5b, G_UNICODE_NOT_PRESENT_OFFSET, 13823 },
+  { 0xff5c, G_UNICODE_NOT_PRESENT_OFFSET, 14089 },
+  { 0xff5d, G_UNICODE_NOT_PRESENT_OFFSET, 13825 },
+  { 0xff5e, G_UNICODE_NOT_PRESENT_OFFSET, 14091 },
+  { 0xff5f, G_UNICODE_NOT_PRESENT_OFFSET, 14093 },
+  { 0xff60, G_UNICODE_NOT_PRESENT_OFFSET, 14097 },
+  { 0xff61, G_UNICODE_NOT_PRESENT_OFFSET, 14101 },
+  { 0xff62, G_UNICODE_NOT_PRESENT_OFFSET, 13851 },
+  { 0xff63, G_UNICODE_NOT_PRESENT_OFFSET, 13855 },
+  { 0xff64, G_UNICODE_NOT_PRESENT_OFFSET, 13869 },
+  { 0xff65, G_UNICODE_NOT_PRESENT_OFFSET, 14105 },
+  { 0xff66, G_UNICODE_NOT_PRESENT_OFFSET, 8615 },
+  { 0xff67, G_UNICODE_NOT_PRESENT_OFFSET, 14109 },
+  { 0xff68, G_UNICODE_NOT_PRESENT_OFFSET, 14113 },
+  { 0xff69, G_UNICODE_NOT_PRESENT_OFFSET, 14117 },
+  { 0xff6a, G_UNICODE_NOT_PRESENT_OFFSET, 14121 },
+  { 0xff6b, G_UNICODE_NOT_PRESENT_OFFSET, 14125 },
+  { 0xff6c, G_UNICODE_NOT_PRESENT_OFFSET, 14129 },
+  { 0xff6d, G_UNICODE_NOT_PRESENT_OFFSET, 14133 },
+  { 0xff6e, G_UNICODE_NOT_PRESENT_OFFSET, 14137 },
+  { 0xff6f, G_UNICODE_NOT_PRESENT_OFFSET, 14141 },
+  { 0xff70, G_UNICODE_NOT_PRESENT_OFFSET, 14145 },
+  { 0xff71, G_UNICODE_NOT_PRESENT_OFFSET, 8431 },
+  { 0xff72, G_UNICODE_NOT_PRESENT_OFFSET, 8435 },
+  { 0xff73, G_UNICODE_NOT_PRESENT_OFFSET, 8439 },
+  { 0xff74, G_UNICODE_NOT_PRESENT_OFFSET, 8443 },
+  { 0xff75, G_UNICODE_NOT_PRESENT_OFFSET, 8447 },
+  { 0xff76, G_UNICODE_NOT_PRESENT_OFFSET, 8451 },
+  { 0xff77, G_UNICODE_NOT_PRESENT_OFFSET, 8455 },
+  { 0xff78, G_UNICODE_NOT_PRESENT_OFFSET, 8459 },
+  { 0xff79, G_UNICODE_NOT_PRESENT_OFFSET, 8463 },
+  { 0xff7a, G_UNICODE_NOT_PRESENT_OFFSET, 8467 },
+  { 0xff7b, G_UNICODE_NOT_PRESENT_OFFSET, 8471 },
+  { 0xff7c, G_UNICODE_NOT_PRESENT_OFFSET, 8475 },
+  { 0xff7d, G_UNICODE_NOT_PRESENT_OFFSET, 8479 },
+  { 0xff7e, G_UNICODE_NOT_PRESENT_OFFSET, 8483 },
+  { 0xff7f, G_UNICODE_NOT_PRESENT_OFFSET, 8487 },
+  { 0xff80, G_UNICODE_NOT_PRESENT_OFFSET, 8491 },
+  { 0xff81, G_UNICODE_NOT_PRESENT_OFFSET, 8495 },
+  { 0xff82, G_UNICODE_NOT_PRESENT_OFFSET, 8499 },
+  { 0xff83, G_UNICODE_NOT_PRESENT_OFFSET, 8503 },
+  { 0xff84, G_UNICODE_NOT_PRESENT_OFFSET, 8507 },
+  { 0xff85, G_UNICODE_NOT_PRESENT_OFFSET, 8511 },
+  { 0xff86, G_UNICODE_NOT_PRESENT_OFFSET, 8515 },
+  { 0xff87, G_UNICODE_NOT_PRESENT_OFFSET, 8519 },
+  { 0xff88, G_UNICODE_NOT_PRESENT_OFFSET, 8523 },
+  { 0xff89, G_UNICODE_NOT_PRESENT_OFFSET, 8527 },
+  { 0xff8a, G_UNICODE_NOT_PRESENT_OFFSET, 8531 },
+  { 0xff8b, G_UNICODE_NOT_PRESENT_OFFSET, 8535 },
+  { 0xff8c, G_UNICODE_NOT_PRESENT_OFFSET, 8539 },
+  { 0xff8d, G_UNICODE_NOT_PRESENT_OFFSET, 8543 },
+  { 0xff8e, G_UNICODE_NOT_PRESENT_OFFSET, 8547 },
+  { 0xff8f, G_UNICODE_NOT_PRESENT_OFFSET, 8551 },
+  { 0xff90, G_UNICODE_NOT_PRESENT_OFFSET, 8555 },
+  { 0xff91, G_UNICODE_NOT_PRESENT_OFFSET, 8559 },
+  { 0xff92, G_UNICODE_NOT_PRESENT_OFFSET, 8563 },
+  { 0xff93, G_UNICODE_NOT_PRESENT_OFFSET, 8567 },
+  { 0xff94, G_UNICODE_NOT_PRESENT_OFFSET, 8571 },
+  { 0xff95, G_UNICODE_NOT_PRESENT_OFFSET, 8575 },
+  { 0xff96, G_UNICODE_NOT_PRESENT_OFFSET, 8579 },
+  { 0xff97, G_UNICODE_NOT_PRESENT_OFFSET, 8583 },
+  { 0xff98, G_UNICODE_NOT_PRESENT_OFFSET, 8587 },
+  { 0xff99, G_UNICODE_NOT_PRESENT_OFFSET, 8591 },
+  { 0xff9a, G_UNICODE_NOT_PRESENT_OFFSET, 8595 },
+  { 0xff9b, G_UNICODE_NOT_PRESENT_OFFSET, 8599 },
+  { 0xff9c, G_UNICODE_NOT_PRESENT_OFFSET, 8603 },
+  { 0xff9d, G_UNICODE_NOT_PRESENT_OFFSET, 14149 },
+  { 0xff9e, G_UNICODE_NOT_PRESENT_OFFSET, 14153 },
+  { 0xff9f, G_UNICODE_NOT_PRESENT_OFFSET, 14157 },
+  { 0xffa0, G_UNICODE_NOT_PRESENT_OFFSET, 7405 },
+  { 0xffa1, G_UNICODE_NOT_PRESENT_OFFSET, 7201 },
+  { 0xffa2, G_UNICODE_NOT_PRESENT_OFFSET, 7205 },
+  { 0xffa3, G_UNICODE_NOT_PRESENT_OFFSET, 7209 },
+  { 0xffa4, G_UNICODE_NOT_PRESENT_OFFSET, 7213 },
+  { 0xffa5, G_UNICODE_NOT_PRESENT_OFFSET, 7217 },
+  { 0xffa6, G_UNICODE_NOT_PRESENT_OFFSET, 7221 },
+  { 0xffa7, G_UNICODE_NOT_PRESENT_OFFSET, 7225 },
+  { 0xffa8, G_UNICODE_NOT_PRESENT_OFFSET, 7229 },
+  { 0xffa9, G_UNICODE_NOT_PRESENT_OFFSET, 7233 },
+  { 0xffaa, G_UNICODE_NOT_PRESENT_OFFSET, 7237 },
+  { 0xffab, G_UNICODE_NOT_PRESENT_OFFSET, 7241 },
+  { 0xffac, G_UNICODE_NOT_PRESENT_OFFSET, 7245 },
+  { 0xffad, G_UNICODE_NOT_PRESENT_OFFSET, 7249 },
+  { 0xffae, G_UNICODE_NOT_PRESENT_OFFSET, 7253 },
+  { 0xffaf, G_UNICODE_NOT_PRESENT_OFFSET, 7257 },
+  { 0xffb0, G_UNICODE_NOT_PRESENT_OFFSET, 7261 },
+  { 0xffb1, G_UNICODE_NOT_PRESENT_OFFSET, 7265 },
+  { 0xffb2, G_UNICODE_NOT_PRESENT_OFFSET, 7269 },
+  { 0xffb3, G_UNICODE_NOT_PRESENT_OFFSET, 7273 },
+  { 0xffb4, G_UNICODE_NOT_PRESENT_OFFSET, 7277 },
+  { 0xffb5, G_UNICODE_NOT_PRESENT_OFFSET, 7281 },
+  { 0xffb6, G_UNICODE_NOT_PRESENT_OFFSET, 7285 },
+  { 0xffb7, G_UNICODE_NOT_PRESENT_OFFSET, 7289 },
+  { 0xffb8, G_UNICODE_NOT_PRESENT_OFFSET, 7293 },
+  { 0xffb9, G_UNICODE_NOT_PRESENT_OFFSET, 7297 },
+  { 0xffba, G_UNICODE_NOT_PRESENT_OFFSET, 7301 },
+  { 0xffbb, G_UNICODE_NOT_PRESENT_OFFSET, 7305 },
+  { 0xffbc, G_UNICODE_NOT_PRESENT_OFFSET, 7309 },
+  { 0xffbd, G_UNICODE_NOT_PRESENT_OFFSET, 7313 },
+  { 0xffbe, G_UNICODE_NOT_PRESENT_OFFSET, 7317 },
+  { 0xffc2, G_UNICODE_NOT_PRESENT_OFFSET, 7321 },
+  { 0xffc3, G_UNICODE_NOT_PRESENT_OFFSET, 7325 },
+  { 0xffc4, G_UNICODE_NOT_PRESENT_OFFSET, 7329 },
+  { 0xffc5, G_UNICODE_NOT_PRESENT_OFFSET, 7333 },
+  { 0xffc6, G_UNICODE_NOT_PRESENT_OFFSET, 7337 },
+  { 0xffc7, G_UNICODE_NOT_PRESENT_OFFSET, 7341 },
+  { 0xffca, G_UNICODE_NOT_PRESENT_OFFSET, 7345 },
+  { 0xffcb, G_UNICODE_NOT_PRESENT_OFFSET, 7349 },
+  { 0xffcc, G_UNICODE_NOT_PRESENT_OFFSET, 7353 },
+  { 0xffcd, G_UNICODE_NOT_PRESENT_OFFSET, 7357 },
+  { 0xffce, G_UNICODE_NOT_PRESENT_OFFSET, 7361 },
+  { 0xffcf, G_UNICODE_NOT_PRESENT_OFFSET, 7365 },
+  { 0xffd2, G_UNICODE_NOT_PRESENT_OFFSET, 7369 },
+  { 0xffd3, G_UNICODE_NOT_PRESENT_OFFSET, 7373 },
+  { 0xffd4, G_UNICODE_NOT_PRESENT_OFFSET, 7377 },
+  { 0xffd5, G_UNICODE_NOT_PRESENT_OFFSET, 7381 },
+  { 0xffd6, G_UNICODE_NOT_PRESENT_OFFSET, 7385 },
+  { 0xffd7, G_UNICODE_NOT_PRESENT_OFFSET, 7389 },
+  { 0xffda, G_UNICODE_NOT_PRESENT_OFFSET, 7393 },
+  { 0xffdb, G_UNICODE_NOT_PRESENT_OFFSET, 7397 },
+  { 0xffdc, G_UNICODE_NOT_PRESENT_OFFSET, 7401 },
+  { 0xffe0, G_UNICODE_NOT_PRESENT_OFFSET, 14161 },
+  { 0xffe1, G_UNICODE_NOT_PRESENT_OFFSET, 14164 },
+  { 0xffe2, G_UNICODE_NOT_PRESENT_OFFSET, 14167 },
+  { 0xffe3, G_UNICODE_NOT_PRESENT_OFFSET, 8 },
+  { 0xffe4, G_UNICODE_NOT_PRESENT_OFFSET, 14170 },
+  { 0xffe5, G_UNICODE_NOT_PRESENT_OFFSET, 14173 },
+  { 0xffe6, G_UNICODE_NOT_PRESENT_OFFSET, 14176 },
+  { 0xffe8, G_UNICODE_NOT_PRESENT_OFFSET, 14180 },
+  { 0xffe9, G_UNICODE_NOT_PRESENT_OFFSET, 14184 },
+  { 0xffea, G_UNICODE_NOT_PRESENT_OFFSET, 14188 },
+  { 0xffeb, G_UNICODE_NOT_PRESENT_OFFSET, 14192 },
+  { 0xffec, G_UNICODE_NOT_PRESENT_OFFSET, 14196 },
+  { 0xffed, G_UNICODE_NOT_PRESENT_OFFSET, 14200 },
+  { 0xffee, G_UNICODE_NOT_PRESENT_OFFSET, 14204 },
+  { 0x1d15e, 14208, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d15f, 14217, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d160, 14226, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d161, 14239, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d162, 14252, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d163, 14265, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d164, 14278, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1bb, 14291, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1bc, 14300, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1bd, 14309, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1be, 14322, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1bf, 14335, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d1c0, 14348, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x1d400, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d401, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d402, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d403, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d404, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d405, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d406, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d407, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d408, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d409, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d40a, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d40b, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d40c, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d40d, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d40e, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d40f, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d410, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d411, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d412, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d413, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d414, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d415, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d416, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d417, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d418, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d419, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d41a, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d41b, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d41c, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d41d, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d41e, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d41f, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d420, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d421, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d422, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d423, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d424, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d425, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d426, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d427, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d428, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d429, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d42a, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d42b, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d42c, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d42d, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d42e, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d42f, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d430, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d431, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d432, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d433, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d434, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d435, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d436, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d437, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d438, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d439, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d43a, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d43b, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d43c, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d43d, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d43e, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d43f, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d440, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d441, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d442, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d443, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d444, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d445, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d446, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d447, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d448, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d449, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d44a, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d44b, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d44c, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d44d, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d44e, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d44f, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d450, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d451, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d452, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d453, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d454, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d456, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d457, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d458, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d459, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d45a, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d45b, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d45c, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d45d, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d45e, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d45f, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d460, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d461, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d462, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d463, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d464, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d465, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d466, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d467, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d468, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d469, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d46a, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d46b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d46c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d46d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d46e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d46f, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d470, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d471, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d472, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d473, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d474, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d475, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d476, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d477, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d478, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d479, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d47a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d47b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d47c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d47d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d47e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d47f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d480, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d481, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d482, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d483, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d484, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d485, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d486, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d487, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d488, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d489, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d48a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d48b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d48c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d48d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d48e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d48f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d490, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d491, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d492, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d493, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d494, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d495, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d496, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d497, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d498, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d499, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d49a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d49b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d49c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d49e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d49f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d4a2, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d4a5, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d4a6, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d4a9, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d4aa, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d4ab, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d4ac, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d4ae, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d4af, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d4b0, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d4b1, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d4b2, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d4b3, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d4b4, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d4b5, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d4b6, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d4b7, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d4b8, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d4b9, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d4bb, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d4bd, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d4be, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d4bf, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d4c0, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d4c2, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d4c3, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d4c5, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d4c6, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d4c7, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d4c8, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d4c9, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d4ca, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d4cb, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d4cc, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d4cd, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d4ce, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d4cf, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d4d0, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d4d1, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d4d2, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d4d3, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d4d4, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d4d5, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d4d6, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d4d7, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d4d8, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d4d9, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d4da, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d4db, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d4dc, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d4dd, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d4de, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d4df, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d4e0, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d4e1, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d4e2, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d4e3, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d4e4, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d4e5, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d4e6, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d4e7, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d4e8, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d4e9, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d4ea, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d4eb, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d4ec, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d4ed, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d4ee, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d4ef, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d4f0, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d4f1, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d4f2, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d4f3, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d4f4, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d4f5, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d4f6, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d4f7, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d4f8, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d4f9, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d4fa, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d4fb, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d4fc, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d4fd, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d4fe, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d4ff, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d500, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d501, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d502, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d503, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d504, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d505, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d507, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d508, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d509, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d50a, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d50d, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d50e, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d50f, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d510, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d511, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d512, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d513, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d514, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d516, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d517, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d518, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d519, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d51a, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d51b, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d51c, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d51e, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d51f, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d520, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d521, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d522, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d523, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d524, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d525, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d526, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d527, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d528, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d529, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d52a, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d52b, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d52c, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d52d, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d52e, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d52f, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d530, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d531, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d532, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d533, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d534, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d535, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d536, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d537, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d538, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d539, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d53b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d53c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d53d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d53e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d540, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d541, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d542, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d543, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d544, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d546, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d54a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d54b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d54c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d54d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d54e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d54f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d550, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d552, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d553, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d554, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d555, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d556, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d557, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d558, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d559, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d55a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d55b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d55c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d55d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d55e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d55f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d560, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d561, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d562, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d563, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d564, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d565, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d566, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d567, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d568, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d569, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d56a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d56b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d56c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d56d, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d56e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d56f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d570, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d571, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d572, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d573, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d574, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d575, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d576, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d577, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d578, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d579, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d57a, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d57b, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d57c, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d57d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d57e, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d57f, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d580, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d581, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d582, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d583, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d584, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d585, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d586, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d587, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d588, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d589, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d58a, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d58b, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d58c, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d58d, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d58e, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d58f, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d590, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d591, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d592, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d593, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d594, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d595, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d596, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d597, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d598, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d599, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d59a, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d59b, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d59c, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d59d, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d59e, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d59f, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d5a0, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d5a1, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d5a2, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d5a3, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d5a4, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d5a5, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d5a6, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d5a7, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d5a8, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d5a9, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d5aa, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d5ab, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d5ac, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d5ad, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d5ae, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d5af, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d5b0, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d5b1, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d5b2, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d5b3, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d5b4, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d5b5, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d5b6, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d5b7, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d5b8, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d5b9, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d5ba, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d5bb, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d5bc, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d5bd, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d5be, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d5bf, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d5c0, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d5c1, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d5c2, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d5c3, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d5c4, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d5c5, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d5c6, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d5c7, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d5c8, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d5c9, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d5ca, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d5cb, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d5cc, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d5cd, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d5ce, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d5cf, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d5d0, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d5d1, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d5d2, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d5d3, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d5d4, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d5d5, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d5d6, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d5d7, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d5d8, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d5d9, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d5da, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d5db, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d5dc, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d5dd, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d5de, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d5df, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d5e0, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d5e1, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d5e2, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d5e3, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d5e4, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d5e5, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d5e6, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d5e7, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d5e8, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d5e9, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d5ea, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d5eb, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d5ec, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d5ed, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d5ee, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d5ef, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d5f0, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d5f1, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d5f2, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d5f3, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d5f4, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d5f5, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d5f6, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d5f7, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d5f8, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d5f9, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d5fa, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d5fb, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d5fc, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d5fd, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d5fe, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d5ff, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d600, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d601, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d602, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d603, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d604, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d605, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d606, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d607, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d608, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d609, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d60a, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d60b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d60c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d60d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d60e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d60f, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d610, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d611, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d612, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d613, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d614, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d615, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d616, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d617, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d618, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d619, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d61a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d61b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d61c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d61d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d61e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d61f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d620, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d621, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d622, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d623, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d624, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d625, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d626, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d627, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d628, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d629, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d62a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d62b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d62c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d62d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d62e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d62f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d630, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d631, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d632, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d633, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d634, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d635, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d636, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d637, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d638, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d639, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d63a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d63b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d63c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d63d, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d63e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d63f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d640, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d641, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d642, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d643, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d644, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d645, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d646, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d647, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d648, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d649, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d64a, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d64b, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d64c, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d64d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d64e, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d64f, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d650, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d651, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d652, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d653, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d654, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d655, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d656, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d657, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d658, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d659, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d65a, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d65b, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d65c, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d65d, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d65e, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d65f, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d660, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d661, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d662, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d663, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d664, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d665, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d666, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d667, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d668, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d669, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d66a, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d66b, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d66c, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d66d, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d66e, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d66f, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d670, G_UNICODE_NOT_PRESENT_OFFSET, 5831 },
+  { 0x1d671, G_UNICODE_NOT_PRESENT_OFFSET, 5042 },
+  { 0x1d672, G_UNICODE_NOT_PRESENT_OFFSET, 4982 },
+  { 0x1d673, G_UNICODE_NOT_PRESENT_OFFSET, 5077 },
+  { 0x1d674, G_UNICODE_NOT_PRESENT_OFFSET, 5046 },
+  { 0x1d675, G_UNICODE_NOT_PRESENT_OFFSET, 5048 },
+  { 0x1d676, G_UNICODE_NOT_PRESENT_OFFSET, 5833 },
+  { 0x1d677, G_UNICODE_NOT_PRESENT_OFFSET, 5005 },
+  { 0x1d678, G_UNICODE_NOT_PRESENT_OFFSET, 5010 },
+  { 0x1d679, G_UNICODE_NOT_PRESENT_OFFSET, 5835 },
+  { 0x1d67a, G_UNICODE_NOT_PRESENT_OFFSET, 5040 },
+  { 0x1d67b, G_UNICODE_NOT_PRESENT_OFFSET, 5012 },
+  { 0x1d67c, G_UNICODE_NOT_PRESENT_OFFSET, 5050 },
+  { 0x1d67d, G_UNICODE_NOT_PRESENT_OFFSET, 5014 },
+  { 0x1d67e, G_UNICODE_NOT_PRESENT_OFFSET, 5837 },
+  { 0x1d67f, G_UNICODE_NOT_PRESENT_OFFSET, 5019 },
+  { 0x1d680, G_UNICODE_NOT_PRESENT_OFFSET, 5021 },
+  { 0x1d681, G_UNICODE_NOT_PRESENT_OFFSET, 5023 },
+  { 0x1d682, G_UNICODE_NOT_PRESENT_OFFSET, 5839 },
+  { 0x1d683, G_UNICODE_NOT_PRESENT_OFFSET, 5841 },
+  { 0x1d684, G_UNICODE_NOT_PRESENT_OFFSET, 5843 },
+  { 0x1d685, G_UNICODE_NOT_PRESENT_OFFSET, 5168 },
+  { 0x1d686, G_UNICODE_NOT_PRESENT_OFFSET, 5845 },
+  { 0x1d687, G_UNICODE_NOT_PRESENT_OFFSET, 5185 },
+  { 0x1d688, G_UNICODE_NOT_PRESENT_OFFSET, 5847 },
+  { 0x1d689, G_UNICODE_NOT_PRESENT_OFFSET, 5035 },
+  { 0x1d68a, G_UNICODE_NOT_PRESENT_OFFSET, 6 },
+  { 0x1d68b, G_UNICODE_NOT_PRESENT_OFFSET, 5849 },
+  { 0x1d68c, G_UNICODE_NOT_PRESENT_OFFSET, 5228 },
+  { 0x1d68d, G_UNICODE_NOT_PRESENT_OFFSET, 5079 },
+  { 0x1d68e, G_UNICODE_NOT_PRESENT_OFFSET, 5044 },
+  { 0x1d68f, G_UNICODE_NOT_PRESENT_OFFSET, 5851 },
+  { 0x1d690, G_UNICODE_NOT_PRESENT_OFFSET, 5003 },
+  { 0x1d691, G_UNICODE_NOT_PRESENT_OFFSET, 1171 },
+  { 0x1d692, G_UNICODE_NOT_PRESENT_OFFSET, 4943 },
+  { 0x1d693, G_UNICODE_NOT_PRESENT_OFFSET, 1176 },
+  { 0x1d694, G_UNICODE_NOT_PRESENT_OFFSET, 5853 },
+  { 0x1d695, G_UNICODE_NOT_PRESENT_OFFSET, 1220 },
+  { 0x1d696, G_UNICODE_NOT_PRESENT_OFFSET, 5230 },
+  { 0x1d697, G_UNICODE_NOT_PRESENT_OFFSET, 4969 },
+  { 0x1d698, G_UNICODE_NOT_PRESENT_OFFSET, 29 },
+  { 0x1d699, G_UNICODE_NOT_PRESENT_OFFSET, 5855 },
+  { 0x1d69a, G_UNICODE_NOT_PRESENT_OFFSET, 5857 },
+  { 0x1d69b, G_UNICODE_NOT_PRESENT_OFFSET, 1178 },
+  { 0x1d69c, G_UNICODE_NOT_PRESENT_OFFSET, 711 },
+  { 0x1d69d, G_UNICODE_NOT_PRESENT_OFFSET, 5859 },
+  { 0x1d69e, G_UNICODE_NOT_PRESENT_OFFSET, 5861 },
+  { 0x1d69f, G_UNICODE_NOT_PRESENT_OFFSET, 5204 },
+  { 0x1d6a0, G_UNICODE_NOT_PRESENT_OFFSET, 1189 },
+  { 0x1d6a1, G_UNICODE_NOT_PRESENT_OFFSET, 1222 },
+  { 0x1d6a2, G_UNICODE_NOT_PRESENT_OFFSET, 1191 },
+  { 0x1d6a3, G_UNICODE_NOT_PRESENT_OFFSET, 5863 },
+  { 0x1d6a8, G_UNICODE_NOT_PRESENT_OFFSET, 14361 },
+  { 0x1d6a9, G_UNICODE_NOT_PRESENT_OFFSET, 14364 },
+  { 0x1d6aa, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x1d6ab, G_UNICODE_NOT_PRESENT_OFFSET, 14367 },
+  { 0x1d6ac, G_UNICODE_NOT_PRESENT_OFFSET, 14370 },
+  { 0x1d6ad, G_UNICODE_NOT_PRESENT_OFFSET, 14373 },
+  { 0x1d6ae, G_UNICODE_NOT_PRESENT_OFFSET, 14376 },
+  { 0x1d6af, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d6b0, G_UNICODE_NOT_PRESENT_OFFSET, 14379 },
+  { 0x1d6b1, G_UNICODE_NOT_PRESENT_OFFSET, 14382 },
+  { 0x1d6b2, G_UNICODE_NOT_PRESENT_OFFSET, 14385 },
+  { 0x1d6b3, G_UNICODE_NOT_PRESENT_OFFSET, 14388 },
+  { 0x1d6b4, G_UNICODE_NOT_PRESENT_OFFSET, 14391 },
+  { 0x1d6b5, G_UNICODE_NOT_PRESENT_OFFSET, 14394 },
+  { 0x1d6b6, G_UNICODE_NOT_PRESENT_OFFSET, 14397 },
+  { 0x1d6b7, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x1d6b8, G_UNICODE_NOT_PRESENT_OFFSET, 14400 },
+  { 0x1d6b9, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d6ba, G_UNICODE_NOT_PRESENT_OFFSET, 14403 },
+  { 0x1d6bb, G_UNICODE_NOT_PRESENT_OFFSET, 14406 },
+  { 0x1d6bc, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x1d6bd, G_UNICODE_NOT_PRESENT_OFFSET, 14409 },
+  { 0x1d6be, G_UNICODE_NOT_PRESENT_OFFSET, 14412 },
+  { 0x1d6bf, G_UNICODE_NOT_PRESENT_OFFSET, 14415 },
+  { 0x1d6c0, G_UNICODE_NOT_PRESENT_OFFSET, 5037 },
+  { 0x1d6c1, G_UNICODE_NOT_PRESENT_OFFSET, 14418 },
+  { 0x1d6c2, G_UNICODE_NOT_PRESENT_OFFSET, 14422 },
+  { 0x1d6c3, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x1d6c4, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x1d6c5, G_UNICODE_NOT_PRESENT_OFFSET, 14425 },
+  { 0x1d6c6, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d6c7, G_UNICODE_NOT_PRESENT_OFFSET, 14428 },
+  { 0x1d6c8, G_UNICODE_NOT_PRESENT_OFFSET, 14431 },
+  { 0x1d6c9, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d6ca, G_UNICODE_NOT_PRESENT_OFFSET, 4548 },
+  { 0x1d6cb, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d6cc, G_UNICODE_NOT_PRESENT_OFFSET, 14434 },
+  { 0x1d6cd, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x1d6ce, G_UNICODE_NOT_PRESENT_OFFSET, 14437 },
+  { 0x1d6cf, G_UNICODE_NOT_PRESENT_OFFSET, 14440 },
+  { 0x1d6d0, G_UNICODE_NOT_PRESENT_OFFSET, 14443 },
+  { 0x1d6d1, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d6d2, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d6d3, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x1d6d4, G_UNICODE_NOT_PRESENT_OFFSET, 14446 },
+  { 0x1d6d5, G_UNICODE_NOT_PRESENT_OFFSET, 14449 },
+  { 0x1d6d6, G_UNICODE_NOT_PRESENT_OFFSET, 14452 },
+  { 0x1d6d7, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d6d8, G_UNICODE_NOT_PRESENT_OFFSET, 14455 },
+  { 0x1d6d9, G_UNICODE_NOT_PRESENT_OFFSET, 14458 },
+  { 0x1d6da, G_UNICODE_NOT_PRESENT_OFFSET, 14461 },
+  { 0x1d6db, G_UNICODE_NOT_PRESENT_OFFSET, 14464 },
+  { 0x1d6dc, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d6dd, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d6de, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d6df, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d6e0, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d6e1, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d6e2, G_UNICODE_NOT_PRESENT_OFFSET, 14361 },
+  { 0x1d6e3, G_UNICODE_NOT_PRESENT_OFFSET, 14364 },
+  { 0x1d6e4, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x1d6e5, G_UNICODE_NOT_PRESENT_OFFSET, 14367 },
+  { 0x1d6e6, G_UNICODE_NOT_PRESENT_OFFSET, 14370 },
+  { 0x1d6e7, G_UNICODE_NOT_PRESENT_OFFSET, 14373 },
+  { 0x1d6e8, G_UNICODE_NOT_PRESENT_OFFSET, 14376 },
+  { 0x1d6e9, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d6ea, G_UNICODE_NOT_PRESENT_OFFSET, 14379 },
+  { 0x1d6eb, G_UNICODE_NOT_PRESENT_OFFSET, 14382 },
+  { 0x1d6ec, G_UNICODE_NOT_PRESENT_OFFSET, 14385 },
+  { 0x1d6ed, G_UNICODE_NOT_PRESENT_OFFSET, 14388 },
+  { 0x1d6ee, G_UNICODE_NOT_PRESENT_OFFSET, 14391 },
+  { 0x1d6ef, G_UNICODE_NOT_PRESENT_OFFSET, 14394 },
+  { 0x1d6f0, G_UNICODE_NOT_PRESENT_OFFSET, 14397 },
+  { 0x1d6f1, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x1d6f2, G_UNICODE_NOT_PRESENT_OFFSET, 14400 },
+  { 0x1d6f3, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d6f4, G_UNICODE_NOT_PRESENT_OFFSET, 14403 },
+  { 0x1d6f5, G_UNICODE_NOT_PRESENT_OFFSET, 14406 },
+  { 0x1d6f6, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x1d6f7, G_UNICODE_NOT_PRESENT_OFFSET, 14409 },
+  { 0x1d6f8, G_UNICODE_NOT_PRESENT_OFFSET, 14412 },
+  { 0x1d6f9, G_UNICODE_NOT_PRESENT_OFFSET, 14415 },
+  { 0x1d6fa, G_UNICODE_NOT_PRESENT_OFFSET, 5037 },
+  { 0x1d6fb, G_UNICODE_NOT_PRESENT_OFFSET, 14418 },
+  { 0x1d6fc, G_UNICODE_NOT_PRESENT_OFFSET, 14422 },
+  { 0x1d6fd, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x1d6fe, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x1d6ff, G_UNICODE_NOT_PRESENT_OFFSET, 14425 },
+  { 0x1d700, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d701, G_UNICODE_NOT_PRESENT_OFFSET, 14428 },
+  { 0x1d702, G_UNICODE_NOT_PRESENT_OFFSET, 14431 },
+  { 0x1d703, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d704, G_UNICODE_NOT_PRESENT_OFFSET, 4548 },
+  { 0x1d705, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d706, G_UNICODE_NOT_PRESENT_OFFSET, 14434 },
+  { 0x1d707, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x1d708, G_UNICODE_NOT_PRESENT_OFFSET, 14437 },
+  { 0x1d709, G_UNICODE_NOT_PRESENT_OFFSET, 14440 },
+  { 0x1d70a, G_UNICODE_NOT_PRESENT_OFFSET, 14443 },
+  { 0x1d70b, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d70c, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d70d, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x1d70e, G_UNICODE_NOT_PRESENT_OFFSET, 14446 },
+  { 0x1d70f, G_UNICODE_NOT_PRESENT_OFFSET, 14449 },
+  { 0x1d710, G_UNICODE_NOT_PRESENT_OFFSET, 14452 },
+  { 0x1d711, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d712, G_UNICODE_NOT_PRESENT_OFFSET, 14455 },
+  { 0x1d713, G_UNICODE_NOT_PRESENT_OFFSET, 14458 },
+  { 0x1d714, G_UNICODE_NOT_PRESENT_OFFSET, 14461 },
+  { 0x1d715, G_UNICODE_NOT_PRESENT_OFFSET, 14464 },
+  { 0x1d716, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d717, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d718, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d719, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d71a, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d71b, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d71c, G_UNICODE_NOT_PRESENT_OFFSET, 14361 },
+  { 0x1d71d, G_UNICODE_NOT_PRESENT_OFFSET, 14364 },
+  { 0x1d71e, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x1d71f, G_UNICODE_NOT_PRESENT_OFFSET, 14367 },
+  { 0x1d720, G_UNICODE_NOT_PRESENT_OFFSET, 14370 },
+  { 0x1d721, G_UNICODE_NOT_PRESENT_OFFSET, 14373 },
+  { 0x1d722, G_UNICODE_NOT_PRESENT_OFFSET, 14376 },
+  { 0x1d723, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d724, G_UNICODE_NOT_PRESENT_OFFSET, 14379 },
+  { 0x1d725, G_UNICODE_NOT_PRESENT_OFFSET, 14382 },
+  { 0x1d726, G_UNICODE_NOT_PRESENT_OFFSET, 14385 },
+  { 0x1d727, G_UNICODE_NOT_PRESENT_OFFSET, 14388 },
+  { 0x1d728, G_UNICODE_NOT_PRESENT_OFFSET, 14391 },
+  { 0x1d729, G_UNICODE_NOT_PRESENT_OFFSET, 14394 },
+  { 0x1d72a, G_UNICODE_NOT_PRESENT_OFFSET, 14397 },
+  { 0x1d72b, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x1d72c, G_UNICODE_NOT_PRESENT_OFFSET, 14400 },
+  { 0x1d72d, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d72e, G_UNICODE_NOT_PRESENT_OFFSET, 14403 },
+  { 0x1d72f, G_UNICODE_NOT_PRESENT_OFFSET, 14406 },
+  { 0x1d730, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x1d731, G_UNICODE_NOT_PRESENT_OFFSET, 14409 },
+  { 0x1d732, G_UNICODE_NOT_PRESENT_OFFSET, 14412 },
+  { 0x1d733, G_UNICODE_NOT_PRESENT_OFFSET, 14415 },
+  { 0x1d734, G_UNICODE_NOT_PRESENT_OFFSET, 5037 },
+  { 0x1d735, G_UNICODE_NOT_PRESENT_OFFSET, 14418 },
+  { 0x1d736, G_UNICODE_NOT_PRESENT_OFFSET, 14422 },
+  { 0x1d737, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x1d738, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x1d739, G_UNICODE_NOT_PRESENT_OFFSET, 14425 },
+  { 0x1d73a, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d73b, G_UNICODE_NOT_PRESENT_OFFSET, 14428 },
+  { 0x1d73c, G_UNICODE_NOT_PRESENT_OFFSET, 14431 },
+  { 0x1d73d, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d73e, G_UNICODE_NOT_PRESENT_OFFSET, 4548 },
+  { 0x1d73f, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d740, G_UNICODE_NOT_PRESENT_OFFSET, 14434 },
+  { 0x1d741, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x1d742, G_UNICODE_NOT_PRESENT_OFFSET, 14437 },
+  { 0x1d743, G_UNICODE_NOT_PRESENT_OFFSET, 14440 },
+  { 0x1d744, G_UNICODE_NOT_PRESENT_OFFSET, 14443 },
+  { 0x1d745, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d746, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d747, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x1d748, G_UNICODE_NOT_PRESENT_OFFSET, 14446 },
+  { 0x1d749, G_UNICODE_NOT_PRESENT_OFFSET, 14449 },
+  { 0x1d74a, G_UNICODE_NOT_PRESENT_OFFSET, 14452 },
+  { 0x1d74b, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d74c, G_UNICODE_NOT_PRESENT_OFFSET, 14455 },
+  { 0x1d74d, G_UNICODE_NOT_PRESENT_OFFSET, 14458 },
+  { 0x1d74e, G_UNICODE_NOT_PRESENT_OFFSET, 14461 },
+  { 0x1d74f, G_UNICODE_NOT_PRESENT_OFFSET, 14464 },
+  { 0x1d750, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d751, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d752, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d753, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d754, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d755, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d756, G_UNICODE_NOT_PRESENT_OFFSET, 14361 },
+  { 0x1d757, G_UNICODE_NOT_PRESENT_OFFSET, 14364 },
+  { 0x1d758, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x1d759, G_UNICODE_NOT_PRESENT_OFFSET, 14367 },
+  { 0x1d75a, G_UNICODE_NOT_PRESENT_OFFSET, 14370 },
+  { 0x1d75b, G_UNICODE_NOT_PRESENT_OFFSET, 14373 },
+  { 0x1d75c, G_UNICODE_NOT_PRESENT_OFFSET, 14376 },
+  { 0x1d75d, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d75e, G_UNICODE_NOT_PRESENT_OFFSET, 14379 },
+  { 0x1d75f, G_UNICODE_NOT_PRESENT_OFFSET, 14382 },
+  { 0x1d760, G_UNICODE_NOT_PRESENT_OFFSET, 14385 },
+  { 0x1d761, G_UNICODE_NOT_PRESENT_OFFSET, 14388 },
+  { 0x1d762, G_UNICODE_NOT_PRESENT_OFFSET, 14391 },
+  { 0x1d763, G_UNICODE_NOT_PRESENT_OFFSET, 14394 },
+  { 0x1d764, G_UNICODE_NOT_PRESENT_OFFSET, 14397 },
+  { 0x1d765, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x1d766, G_UNICODE_NOT_PRESENT_OFFSET, 14400 },
+  { 0x1d767, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d768, G_UNICODE_NOT_PRESENT_OFFSET, 14403 },
+  { 0x1d769, G_UNICODE_NOT_PRESENT_OFFSET, 14406 },
+  { 0x1d76a, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x1d76b, G_UNICODE_NOT_PRESENT_OFFSET, 14409 },
+  { 0x1d76c, G_UNICODE_NOT_PRESENT_OFFSET, 14412 },
+  { 0x1d76d, G_UNICODE_NOT_PRESENT_OFFSET, 14415 },
+  { 0x1d76e, G_UNICODE_NOT_PRESENT_OFFSET, 5037 },
+  { 0x1d76f, G_UNICODE_NOT_PRESENT_OFFSET, 14418 },
+  { 0x1d770, G_UNICODE_NOT_PRESENT_OFFSET, 14422 },
+  { 0x1d771, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x1d772, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x1d773, G_UNICODE_NOT_PRESENT_OFFSET, 14425 },
+  { 0x1d774, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d775, G_UNICODE_NOT_PRESENT_OFFSET, 14428 },
+  { 0x1d776, G_UNICODE_NOT_PRESENT_OFFSET, 14431 },
+  { 0x1d777, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d778, G_UNICODE_NOT_PRESENT_OFFSET, 4548 },
+  { 0x1d779, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d77a, G_UNICODE_NOT_PRESENT_OFFSET, 14434 },
+  { 0x1d77b, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x1d77c, G_UNICODE_NOT_PRESENT_OFFSET, 14437 },
+  { 0x1d77d, G_UNICODE_NOT_PRESENT_OFFSET, 14440 },
+  { 0x1d77e, G_UNICODE_NOT_PRESENT_OFFSET, 14443 },
+  { 0x1d77f, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d780, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d781, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x1d782, G_UNICODE_NOT_PRESENT_OFFSET, 14446 },
+  { 0x1d783, G_UNICODE_NOT_PRESENT_OFFSET, 14449 },
+  { 0x1d784, G_UNICODE_NOT_PRESENT_OFFSET, 14452 },
+  { 0x1d785, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d786, G_UNICODE_NOT_PRESENT_OFFSET, 14455 },
+  { 0x1d787, G_UNICODE_NOT_PRESENT_OFFSET, 14458 },
+  { 0x1d788, G_UNICODE_NOT_PRESENT_OFFSET, 14461 },
+  { 0x1d789, G_UNICODE_NOT_PRESENT_OFFSET, 14464 },
+  { 0x1d78a, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d78b, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d78c, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d78d, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d78e, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d78f, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d790, G_UNICODE_NOT_PRESENT_OFFSET, 14361 },
+  { 0x1d791, G_UNICODE_NOT_PRESENT_OFFSET, 14364 },
+  { 0x1d792, G_UNICODE_NOT_PRESENT_OFFSET, 5067 },
+  { 0x1d793, G_UNICODE_NOT_PRESENT_OFFSET, 14367 },
+  { 0x1d794, G_UNICODE_NOT_PRESENT_OFFSET, 14370 },
+  { 0x1d795, G_UNICODE_NOT_PRESENT_OFFSET, 14373 },
+  { 0x1d796, G_UNICODE_NOT_PRESENT_OFFSET, 14376 },
+  { 0x1d797, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d798, G_UNICODE_NOT_PRESENT_OFFSET, 14379 },
+  { 0x1d799, G_UNICODE_NOT_PRESENT_OFFSET, 14382 },
+  { 0x1d79a, G_UNICODE_NOT_PRESENT_OFFSET, 14385 },
+  { 0x1d79b, G_UNICODE_NOT_PRESENT_OFFSET, 14388 },
+  { 0x1d79c, G_UNICODE_NOT_PRESENT_OFFSET, 14391 },
+  { 0x1d79d, G_UNICODE_NOT_PRESENT_OFFSET, 14394 },
+  { 0x1d79e, G_UNICODE_NOT_PRESENT_OFFSET, 14397 },
+  { 0x1d79f, G_UNICODE_NOT_PRESENT_OFFSET, 5070 },
+  { 0x1d7a0, G_UNICODE_NOT_PRESENT_OFFSET, 14400 },
+  { 0x1d7a1, G_UNICODE_NOT_PRESENT_OFFSET, 1402 },
+  { 0x1d7a2, G_UNICODE_NOT_PRESENT_OFFSET, 14403 },
+  { 0x1d7a3, G_UNICODE_NOT_PRESENT_OFFSET, 14406 },
+  { 0x1d7a4, G_UNICODE_NOT_PRESENT_OFFSET, 1374 },
+  { 0x1d7a5, G_UNICODE_NOT_PRESENT_OFFSET, 14409 },
+  { 0x1d7a6, G_UNICODE_NOT_PRESENT_OFFSET, 14412 },
+  { 0x1d7a7, G_UNICODE_NOT_PRESENT_OFFSET, 14415 },
+  { 0x1d7a8, G_UNICODE_NOT_PRESENT_OFFSET, 5037 },
+  { 0x1d7a9, G_UNICODE_NOT_PRESENT_OFFSET, 14418 },
+  { 0x1d7aa, G_UNICODE_NOT_PRESENT_OFFSET, 14422 },
+  { 0x1d7ab, G_UNICODE_NOT_PRESENT_OFFSET, 1368 },
+  { 0x1d7ac, G_UNICODE_NOT_PRESENT_OFFSET, 5064 },
+  { 0x1d7ad, G_UNICODE_NOT_PRESENT_OFFSET, 14425 },
+  { 0x1d7ae, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d7af, G_UNICODE_NOT_PRESENT_OFFSET, 14428 },
+  { 0x1d7b0, G_UNICODE_NOT_PRESENT_OFFSET, 14431 },
+  { 0x1d7b1, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d7b2, G_UNICODE_NOT_PRESENT_OFFSET, 4548 },
+  { 0x1d7b3, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d7b4, G_UNICODE_NOT_PRESENT_OFFSET, 14434 },
+  { 0x1d7b5, G_UNICODE_NOT_PRESENT_OFFSET, 20 },
+  { 0x1d7b6, G_UNICODE_NOT_PRESENT_OFFSET, 14437 },
+  { 0x1d7b7, G_UNICODE_NOT_PRESENT_OFFSET, 14440 },
+  { 0x1d7b8, G_UNICODE_NOT_PRESENT_OFFSET, 14443 },
+  { 0x1d7b9, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d7ba, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d7bb, G_UNICODE_NOT_PRESENT_OFFSET, 1399 },
+  { 0x1d7bc, G_UNICODE_NOT_PRESENT_OFFSET, 14446 },
+  { 0x1d7bd, G_UNICODE_NOT_PRESENT_OFFSET, 14449 },
+  { 0x1d7be, G_UNICODE_NOT_PRESENT_OFFSET, 14452 },
+  { 0x1d7bf, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d7c0, G_UNICODE_NOT_PRESENT_OFFSET, 14455 },
+  { 0x1d7c1, G_UNICODE_NOT_PRESENT_OFFSET, 14458 },
+  { 0x1d7c2, G_UNICODE_NOT_PRESENT_OFFSET, 14461 },
+  { 0x1d7c3, G_UNICODE_NOT_PRESENT_OFFSET, 14464 },
+  { 0x1d7c4, G_UNICODE_NOT_PRESENT_OFFSET, 1405 },
+  { 0x1d7c5, G_UNICODE_NOT_PRESENT_OFFSET, 1371 },
+  { 0x1d7c6, G_UNICODE_NOT_PRESENT_OFFSET, 1393 },
+  { 0x1d7c7, G_UNICODE_NOT_PRESENT_OFFSET, 1387 },
+  { 0x1d7c8, G_UNICODE_NOT_PRESENT_OFFSET, 1396 },
+  { 0x1d7c9, G_UNICODE_NOT_PRESENT_OFFSET, 1390 },
+  { 0x1d7ce, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x1d7cf, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x1d7d0, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x1d7d1, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x1d7d2, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x1d7d3, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x1d7d4, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x1d7d5, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x1d7d6, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x1d7d7, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x1d7d8, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x1d7d9, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x1d7da, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x1d7db, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x1d7dc, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x1d7dd, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x1d7de, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x1d7df, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x1d7e0, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x1d7e1, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x1d7e2, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x1d7e3, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x1d7e4, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x1d7e5, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x1d7e6, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x1d7e7, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x1d7e8, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x1d7e9, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x1d7ea, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x1d7eb, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x1d7ec, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x1d7ed, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x1d7ee, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x1d7ef, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x1d7f0, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x1d7f1, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x1d7f2, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x1d7f3, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x1d7f4, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x1d7f5, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x1d7f6, G_UNICODE_NOT_PRESENT_OFFSET, 4941 },
+  { 0x1d7f7, G_UNICODE_NOT_PRESENT_OFFSET, 27 },
+  { 0x1d7f8, G_UNICODE_NOT_PRESENT_OFFSET, 12 },
+  { 0x1d7f9, G_UNICODE_NOT_PRESENT_OFFSET, 14 },
+  { 0x1d7fa, G_UNICODE_NOT_PRESENT_OFFSET, 4945 },
+  { 0x1d7fb, G_UNICODE_NOT_PRESENT_OFFSET, 4947 },
+  { 0x1d7fc, G_UNICODE_NOT_PRESENT_OFFSET, 4949 },
+  { 0x1d7fd, G_UNICODE_NOT_PRESENT_OFFSET, 4951 },
+  { 0x1d7fe, G_UNICODE_NOT_PRESENT_OFFSET, 4953 },
+  { 0x1d7ff, G_UNICODE_NOT_PRESENT_OFFSET, 4955 },
+  { 0x2f800, 14468, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f801, 14472, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f802, 14476, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f803, 14480, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f804, 14485, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f805, 11545, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f806, 14489, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f807, 14493, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f808, 14497, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f809, 14501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80a, 11549, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80b, 14505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80c, 14509, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80d, 14513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80e, 11553, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f80f, 14518, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f810, 14522, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f811, 14526, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f812, 14530, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f813, 14535, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f814, 14539, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f815, 14543, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f816, 14547, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f817, 14552, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f818, 14556, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f819, 14560, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81a, 14564, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81b, 14568, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81c, 14572, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81d, 5967, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81e, 14577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f81f, 14581, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f820, 14585, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f821, 14589, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f822, 14593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f823, 14597, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f824, 14601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f825, 14605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f826, 11557, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f827, 11561, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f828, 14609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f829, 14613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82a, 14617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82b, 10837, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82c, 14621, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82d, 11565, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82e, 14625, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f82f, 14629, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f830, 14633, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f831, 14637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f832, 14637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f833, 14637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f834, 14641, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f835, 14646, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f836, 14650, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f837, 14654, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f838, 14658, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f839, 14663, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83a, 14667, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83b, 14671, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83c, 14675, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83d, 14679, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83e, 14683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f83f, 14687, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f840, 14691, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f841, 14695, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f842, 14699, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f843, 14703, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f844, 14707, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f845, 14711, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f846, 14711, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f847, 14715, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f848, 14719, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f849, 14723, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84a, 14727, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84b, 14731, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84c, 11573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84d, 14735, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84e, 14739, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f84f, 14743, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f850, 11421, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f851, 14747, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f852, 14751, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f853, 14755, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f854, 14759, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f855, 14763, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f856, 14767, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f857, 14771, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f858, 14775, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f859, 14779, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85a, 14784, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85b, 14788, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85c, 14792, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85d, 14796, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85e, 14800, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f85f, 14804, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f860, 14808, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f861, 14813, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f862, 14818, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f863, 14822, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f864, 14826, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f865, 14830, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f866, 14834, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f867, 14838, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f868, 14842, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f869, 14847, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86a, 14851, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86b, 14851, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86c, 14855, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86d, 14860, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86e, 14864, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f86f, 10821, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f870, 14868, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f871, 14872, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f872, 14877, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f873, 14881, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f874, 14885, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f875, 6071, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f876, 14889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f877, 14893, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f878, 6079, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f879, 14897, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87a, 14901, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87b, 14905, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87c, 14910, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87d, 14914, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87e, 14919, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f87f, 14923, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f880, 14927, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f881, 14931, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f882, 14935, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f883, 14939, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f884, 14943, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f885, 14947, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f886, 14951, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f887, 14955, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f888, 14959, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f889, 14963, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88a, 14968, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88b, 14972, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88c, 14976, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88d, 14980, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88e, 10613, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f88f, 14984, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f890, 6119, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f891, 14989, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f892, 14989, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f893, 14994, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f894, 14998, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f895, 14998, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f896, 15002, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f897, 15006, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f898, 15011, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f899, 15016, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89a, 15020, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89b, 15024, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89c, 15028, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89d, 15032, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89e, 15036, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f89f, 15040, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a0, 15044, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a1, 15048, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a2, 15052, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a3, 11593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a4, 15056, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a5, 15061, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a6, 15065, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a7, 15069, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a8, 15073, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8a9, 15069, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8aa, 15077, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ab, 11601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ac, 15081, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ad, 15085, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ae, 15089, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8af, 15093, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b0, 11605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b1, 10505, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b2, 15097, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b3, 15101, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b4, 15105, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b5, 15109, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b6, 15113, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b7, 15117, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b8, 15121, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8b9, 15126, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ba, 15130, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8bb, 15134, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8bc, 15138, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8bd, 15142, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8be, 15146, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8bf, 15151, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c0, 15155, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c1, 15159, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c2, 15163, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c3, 15167, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c4, 15171, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c5, 15175, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c6, 15179, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c7, 15183, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c8, 11609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8c9, 15187, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ca, 15191, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8cb, 15196, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8cc, 15200, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8cd, 15204, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ce, 15208, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8cf, 11617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d0, 15212, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d1, 15216, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d2, 15220, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d3, 15224, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d4, 15228, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d5, 15232, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d6, 15236, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d7, 15240, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d8, 10617, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8d9, 15244, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8da, 15248, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8db, 15252, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8dc, 15256, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8dd, 15260, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8de, 15265, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8df, 15269, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e0, 15273, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e1, 15277, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e2, 11621, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e3, 15281, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e4, 15286, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e5, 15290, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e6, 15294, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e7, 15298, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e8, 15302, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8e9, 15306, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ea, 15310, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8eb, 15314, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ec, 15318, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ed, 15323, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ee, 15327, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ef, 15331, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f0, 15335, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f1, 15340, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f2, 15344, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f3, 15348, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f4, 15352, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f5, 10889, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f6, 15356, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f7, 15360, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f8, 15365, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8f9, 15370, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8fa, 15375, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8fb, 15379, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8fc, 15384, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8fd, 15388, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8fe, 15392, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f8ff, 15396, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f900, 15400, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f901, 11625, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f902, 11221, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f903, 15404, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f904, 15408, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f905, 15412, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f906, 15416, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f907, 15421, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f908, 15425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f909, 15429, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90a, 15433, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90b, 15437, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90c, 15441, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90d, 15445, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90e, 15450, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f90f, 15454, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f910, 15458, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f911, 15463, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f912, 15468, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f913, 15472, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f914, 15476, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f915, 15480, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f916, 15484, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f917, 15488, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f918, 15492, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f919, 15496, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91a, 15500, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91b, 15504, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91c, 15509, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91d, 15513, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91e, 15518, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f91f, 15522, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f920, 15526, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f921, 15530, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f922, 15534, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f923, 15538, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f924, 15543, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f925, 15547, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f926, 15551, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f927, 15556, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f928, 15561, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f929, 15565, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92a, 15569, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92b, 15573, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92c, 15577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92d, 15577, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92e, 15581, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f92f, 15585, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f930, 15589, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f931, 15593, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f932, 15597, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f933, 15601, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f934, 15605, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f935, 15609, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f936, 15614, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f937, 15618, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f938, 10833, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f939, 15623, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93a, 15628, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93b, 15632, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93c, 15637, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93d, 15642, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93e, 15647, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f93f, 15651, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f940, 15655, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f941, 15659, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f942, 15664, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f943, 15669, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f944, 15674, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f945, 15679, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f946, 15683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f947, 15683, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f948, 15687, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f949, 15691, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94a, 15695, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94b, 15699, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94c, 15703, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94d, 15707, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94e, 15712, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f94f, 10685, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f950, 15716, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f951, 15720, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f952, 15724, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f953, 11665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f954, 15729, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f955, 15734, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f956, 11501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f957, 15739, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f958, 15743, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f959, 11677, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95a, 15747, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95b, 15751, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95c, 15755, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95d, 15760, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95e, 15760, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f95f, 15765, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f960, 15769, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f961, 15773, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f962, 15778, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f963, 15782, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f964, 15786, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f965, 15790, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f966, 15795, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f967, 15799, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f968, 15803, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f969, 15807, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96a, 15811, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96b, 15815, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96c, 15820, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96d, 15824, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96e, 15828, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f96f, 15832, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f970, 15836, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f971, 15840, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f972, 15844, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f973, 15849, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f974, 15854, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f975, 15858, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f976, 15863, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f977, 15867, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f978, 15872, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f979, 15876, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97a, 11701, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97b, 15880, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97c, 15885, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97d, 15890, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97e, 15894, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f97f, 15899, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f980, 15903, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f981, 15908, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f982, 15912, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f983, 15916, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f984, 15920, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f985, 15924, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f986, 15928, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f987, 15932, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f988, 15937, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f989, 15942, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98a, 15947, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98b, 14994, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98c, 15952, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98d, 15956, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98e, 15960, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f98f, 15964, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f990, 15968, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f991, 15972, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f992, 15976, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f993, 15980, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f994, 15984, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f995, 15988, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f996, 15992, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f997, 15996, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f998, 10901, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f999, 16001, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99a, 16005, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99b, 16009, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99c, 16013, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99d, 16017, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99e, 16021, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f99f, 11713, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a0, 16025, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a1, 16029, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a2, 16033, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a3, 16037, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a4, 16041, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a5, 16046, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a6, 16051, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a7, 16056, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a8, 16060, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9a9, 16064, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9aa, 16068, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ab, 16072, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ac, 16077, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ad, 16081, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ae, 16086, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9af, 16090, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b0, 16094, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b1, 16099, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b2, 16104, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b3, 16108, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b4, 10665, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b5, 16112, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b6, 16116, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b7, 16120, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b8, 16124, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9b9, 16128, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ba, 16132, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9bb, 16136, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9bc, 16140, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9bd, 16144, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9be, 16148, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9bf, 16152, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c0, 16156, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c1, 16160, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c2, 16164, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c3, 16168, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c4, 6479, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c5, 16172, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c6, 16177, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c7, 16181, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c8, 16185, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9c9, 16189, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ca, 16193, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9cb, 16197, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9cc, 16202, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9cd, 16207, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ce, 16211, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9cf, 16215, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d0, 16219, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d1, 16223, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d2, 6507, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d3, 16227, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d4, 16232, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d5, 16236, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d6, 16240, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d7, 16244, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d8, 16248, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9d9, 16253, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9da, 16258, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9db, 16262, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9dc, 16266, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9dd, 16270, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9de, 16275, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9df, 16279, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e0, 16283, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e1, 16288, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e2, 16293, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e3, 16297, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e4, 16301, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e5, 16305, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e6, 16310, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e7, 16314, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e8, 16318, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9e9, 16322, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ea, 16326, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9eb, 16330, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ec, 16334, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ed, 16338, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ee, 16343, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ef, 16347, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f0, 16351, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f1, 16355, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f2, 16360, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f3, 16364, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f4, 16368, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f5, 16372, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f6, 16376, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f7, 16381, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f8, 16386, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9f9, 16390, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9fa, 16394, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9fb, 16398, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9fc, 16403, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9fd, 16407, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9fe, 16412, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2f9ff, 16412, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa00, 16416, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa01, 16420, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa02, 16425, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa03, 16429, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa04, 16433, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa05, 16437, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa06, 16441, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa07, 16445, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa08, 16449, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa09, 16453, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0a, 16458, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0b, 16462, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0c, 16466, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0d, 16470, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0e, 16474, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa0f, 16478, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa10, 16482, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa11, 16487, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa12, 16491, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa13, 16496, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa14, 16501, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa15, 6699, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa16, 16506, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa17, 6715, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa18, 16510, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa19, 16514, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa1a, 16518, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa1b, 16522, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa1c, 6735, G_UNICODE_NOT_PRESENT_OFFSET },
+  { 0x2fa1d, 16526, G_UNICODE_NOT_PRESENT_OFFSET }
+};
+
+static const gchar decomp_expansion_string[] = 
+  "\x20\0" /* offset 0 */
+  "\x20\xcc\x88\0" /* offset 2 */
+  "\x61\0" /* offset 6 */
+  "\x20\xcc\x84\0" /* offset 8 */
+  "\x32\0" /* offset 12 */
+  "\x33\0" /* offset 14 */
+  "\x20\xcc\x81\0" /* offset 16 */
+  "\xce\xbc\0" /* offset 20 */
+  "\x20\xcc\xa7\0" /* offset 23 */
+  "\x31\0" /* offset 27 */
+  "\x6f\0" /* offset 29 */
+  "\x31\xe2\x81\x84\x34\0" /* offset 31 */
+  "\x31\xe2\x81\x84\x32\0" /* offset 37 */
+  "\x33\xe2\x81\x84\x34\0" /* offset 43 */
+  "\x41\xcc\x80\0" /* offset 49 */
+  "\x41\xcc\x81\0" /* offset 53 */
+  "\x41\xcc\x82\0" /* offset 57 */
+  "\x41\xcc\x83\0" /* offset 61 */
+  "\x41\xcc\x88\0" /* offset 65 */
+  "\x41\xcc\x8a\0" /* offset 69 */
+  "\x43\xcc\xa7\0" /* offset 73 */
+  "\x45\xcc\x80\0" /* offset 77 */
+  "\x45\xcc\x81\0" /* offset 81 */
+  "\x45\xcc\x82\0" /* offset 85 */
+  "\x45\xcc\x88\0" /* offset 89 */
+  "\x49\xcc\x80\0" /* offset 93 */
+  "\x49\xcc\x81\0" /* offset 97 */
+  "\x49\xcc\x82\0" /* offset 101 */
+  "\x49\xcc\x88\0" /* offset 105 */
+  "\x4e\xcc\x83\0" /* offset 109 */
+  "\x4f\xcc\x80\0" /* offset 113 */
+  "\x4f\xcc\x81\0" /* offset 117 */
+  "\x4f\xcc\x82\0" /* offset 121 */
+  "\x4f\xcc\x83\0" /* offset 125 */
+  "\x4f\xcc\x88\0" /* offset 129 */
+  "\x55\xcc\x80\0" /* offset 133 */
+  "\x55\xcc\x81\0" /* offset 137 */
+  "\x55\xcc\x82\0" /* offset 141 */
+  "\x55\xcc\x88\0" /* offset 145 */
+  "\x59\xcc\x81\0" /* offset 149 */
+  "\x61\xcc\x80\0" /* offset 153 */
+  "\x61\xcc\x81\0" /* offset 157 */
+  "\x61\xcc\x82\0" /* offset 161 */
+  "\x61\xcc\x83\0" /* offset 165 */
+  "\x61\xcc\x88\0" /* offset 169 */
+  "\x61\xcc\x8a\0" /* offset 173 */
+  "\x63\xcc\xa7\0" /* offset 177 */
+  "\x65\xcc\x80\0" /* offset 181 */
+  "\x65\xcc\x81\0" /* offset 185 */
+  "\x65\xcc\x82\0" /* offset 189 */
+  "\x65\xcc\x88\0" /* offset 193 */
+  "\x69\xcc\x80\0" /* offset 197 */
+  "\x69\xcc\x81\0" /* offset 201 */
+  "\x69\xcc\x82\0" /* offset 205 */
+  "\x69\xcc\x88\0" /* offset 209 */
+  "\x6e\xcc\x83\0" /* offset 213 */
+  "\x6f\xcc\x80\0" /* offset 217 */
+  "\x6f\xcc\x81\0" /* offset 221 */
+  "\x6f\xcc\x82\0" /* offset 225 */
+  "\x6f\xcc\x83\0" /* offset 229 */
+  "\x6f\xcc\x88\0" /* offset 233 */
+  "\x75\xcc\x80\0" /* offset 237 */
+  "\x75\xcc\x81\0" /* offset 241 */
+  "\x75\xcc\x82\0" /* offset 245 */
+  "\x75\xcc\x88\0" /* offset 249 */
+  "\x79\xcc\x81\0" /* offset 253 */
+  "\x79\xcc\x88\0" /* offset 257 */
+  "\x41\xcc\x84\0" /* offset 261 */
+  "\x61\xcc\x84\0" /* offset 265 */
+  "\x41\xcc\x86\0" /* offset 269 */
+  "\x61\xcc\x86\0" /* offset 273 */
+  "\x41\xcc\xa8\0" /* offset 277 */
+  "\x61\xcc\xa8\0" /* offset 281 */
+  "\x43\xcc\x81\0" /* offset 285 */
+  "\x63\xcc\x81\0" /* offset 289 */
+  "\x43\xcc\x82\0" /* offset 293 */
+  "\x63\xcc\x82\0" /* offset 297 */
+  "\x43\xcc\x87\0" /* offset 301 */
+  "\x63\xcc\x87\0" /* offset 305 */
+  "\x43\xcc\x8c\0" /* offset 309 */
+  "\x63\xcc\x8c\0" /* offset 313 */
+  "\x44\xcc\x8c\0" /* offset 317 */
+  "\x64\xcc\x8c\0" /* offset 321 */
+  "\x45\xcc\x84\0" /* offset 325 */
+  "\x65\xcc\x84\0" /* offset 329 */
+  "\x45\xcc\x86\0" /* offset 333 */
+  "\x65\xcc\x86\0" /* offset 337 */
+  "\x45\xcc\x87\0" /* offset 341 */
+  "\x65\xcc\x87\0" /* offset 345 */
+  "\x45\xcc\xa8\0" /* offset 349 */
+  "\x65\xcc\xa8\0" /* offset 353 */
+  "\x45\xcc\x8c\0" /* offset 357 */
+  "\x65\xcc\x8c\0" /* offset 361 */
+  "\x47\xcc\x82\0" /* offset 365 */
+  "\x67\xcc\x82\0" /* offset 369 */
+  "\x47\xcc\x86\0" /* offset 373 */
+  "\x67\xcc\x86\0" /* offset 377 */
+  "\x47\xcc\x87\0" /* offset 381 */
+  "\x67\xcc\x87\0" /* offset 385 */
+  "\x47\xcc\xa7\0" /* offset 389 */
+  "\x67\xcc\xa7\0" /* offset 393 */
+  "\x48\xcc\x82\0" /* offset 397 */
+  "\x68\xcc\x82\0" /* offset 401 */
+  "\x49\xcc\x83\0" /* offset 405 */
+  "\x69\xcc\x83\0" /* offset 409 */
+  "\x49\xcc\x84\0" /* offset 413 */
+  "\x69\xcc\x84\0" /* offset 417 */
+  "\x49\xcc\x86\0" /* offset 421 */
+  "\x69\xcc\x86\0" /* offset 425 */
+  "\x49\xcc\xa8\0" /* offset 429 */
+  "\x69\xcc\xa8\0" /* offset 433 */
+  "\x49\xcc\x87\0" /* offset 437 */
+  "\x49\x4a\0" /* offset 441 */
+  "\x69\x6a\0" /* offset 444 */
+  "\x4a\xcc\x82\0" /* offset 447 */
+  "\x6a\xcc\x82\0" /* offset 451 */
+  "\x4b\xcc\xa7\0" /* offset 455 */
+  "\x6b\xcc\xa7\0" /* offset 459 */
+  "\x4c\xcc\x81\0" /* offset 463 */
+  "\x6c\xcc\x81\0" /* offset 467 */
+  "\x4c\xcc\xa7\0" /* offset 471 */
+  "\x6c\xcc\xa7\0" /* offset 475 */
+  "\x4c\xcc\x8c\0" /* offset 479 */
+  "\x6c\xcc\x8c\0" /* offset 483 */
+  "\x4c\xc2\xb7\0" /* offset 487 */
+  "\x6c\xc2\xb7\0" /* offset 491 */
+  "\x4e\xcc\x81\0" /* offset 495 */
+  "\x6e\xcc\x81\0" /* offset 499 */
+  "\x4e\xcc\xa7\0" /* offset 503 */
+  "\x6e\xcc\xa7\0" /* offset 507 */
+  "\x4e\xcc\x8c\0" /* offset 511 */
+  "\x6e\xcc\x8c\0" /* offset 515 */
+  "\xca\xbc\x6e\0" /* offset 519 */
+  "\x4f\xcc\x84\0" /* offset 523 */
+  "\x6f\xcc\x84\0" /* offset 527 */
+  "\x4f\xcc\x86\0" /* offset 531 */
+  "\x6f\xcc\x86\0" /* offset 535 */
+  "\x4f\xcc\x8b\0" /* offset 539 */
+  "\x6f\xcc\x8b\0" /* offset 543 */
+  "\x52\xcc\x81\0" /* offset 547 */
+  "\x72\xcc\x81\0" /* offset 551 */
+  "\x52\xcc\xa7\0" /* offset 555 */
+  "\x72\xcc\xa7\0" /* offset 559 */
+  "\x52\xcc\x8c\0" /* offset 563 */
+  "\x72\xcc\x8c\0" /* offset 567 */
+  "\x53\xcc\x81\0" /* offset 571 */
+  "\x73\xcc\x81\0" /* offset 575 */
+  "\x53\xcc\x82\0" /* offset 579 */
+  "\x73\xcc\x82\0" /* offset 583 */
+  "\x53\xcc\xa7\0" /* offset 587 */
+  "\x73\xcc\xa7\0" /* offset 591 */
+  "\x53\xcc\x8c\0" /* offset 595 */
+  "\x73\xcc\x8c\0" /* offset 599 */
+  "\x54\xcc\xa7\0" /* offset 603 */
+  "\x74\xcc\xa7\0" /* offset 607 */
+  "\x54\xcc\x8c\0" /* offset 611 */
+  "\x74\xcc\x8c\0" /* offset 615 */
+  "\x55\xcc\x83\0" /* offset 619 */
+  "\x75\xcc\x83\0" /* offset 623 */
+  "\x55\xcc\x84\0" /* offset 627 */
+  "\x75\xcc\x84\0" /* offset 631 */
+  "\x55\xcc\x86\0" /* offset 635 */
+  "\x75\xcc\x86\0" /* offset 639 */
+  "\x55\xcc\x8a\0" /* offset 643 */
+  "\x75\xcc\x8a\0" /* offset 647 */
+  "\x55\xcc\x8b\0" /* offset 651 */
+  "\x75\xcc\x8b\0" /* offset 655 */
+  "\x55\xcc\xa8\0" /* offset 659 */
+  "\x75\xcc\xa8\0" /* offset 663 */
+  "\x57\xcc\x82\0" /* offset 667 */
+  "\x77\xcc\x82\0" /* offset 671 */
+  "\x59\xcc\x82\0" /* offset 675 */
+  "\x79\xcc\x82\0" /* offset 679 */
+  "\x59\xcc\x88\0" /* offset 683 */
+  "\x5a\xcc\x81\0" /* offset 687 */
+  "\x7a\xcc\x81\0" /* offset 691 */
+  "\x5a\xcc\x87\0" /* offset 695 */
+  "\x7a\xcc\x87\0" /* offset 699 */
+  "\x5a\xcc\x8c\0" /* offset 703 */
+  "\x7a\xcc\x8c\0" /* offset 707 */
+  "\x73\0" /* offset 711 */
+  "\x4f\xcc\x9b\0" /* offset 713 */
+  "\x6f\xcc\x9b\0" /* offset 717 */
+  "\x55\xcc\x9b\0" /* offset 721 */
+  "\x75\xcc\x9b\0" /* offset 725 */
+  "\x44\x5a\xcc\x8c\0" /* offset 729 */
+  "\x44\x7a\xcc\x8c\0" /* offset 734 */
+  "\x64\x7a\xcc\x8c\0" /* offset 739 */
+  "\x4c\x4a\0" /* offset 744 */
+  "\x4c\x6a\0" /* offset 747 */
+  "\x6c\x6a\0" /* offset 750 */
+  "\x4e\x4a\0" /* offset 753 */
+  "\x4e\x6a\0" /* offset 756 */
+  "\x6e\x6a\0" /* offset 759 */
+  "\x41\xcc\x8c\0" /* offset 762 */
+  "\x61\xcc\x8c\0" /* offset 766 */
+  "\x49\xcc\x8c\0" /* offset 770 */
+  "\x69\xcc\x8c\0" /* offset 774 */
+  "\x4f\xcc\x8c\0" /* offset 778 */
+  "\x6f\xcc\x8c\0" /* offset 782 */
+  "\x55\xcc\x8c\0" /* offset 786 */
+  "\x75\xcc\x8c\0" /* offset 790 */
+  "\x55\xcc\x88\xcc\x84\0" /* offset 794 */
+  "\x75\xcc\x88\xcc\x84\0" /* offset 800 */
+  "\x55\xcc\x88\xcc\x81\0" /* offset 806 */
+  "\x75\xcc\x88\xcc\x81\0" /* offset 812 */
+  "\x55\xcc\x88\xcc\x8c\0" /* offset 818 */
+  "\x75\xcc\x88\xcc\x8c\0" /* offset 824 */
+  "\x55\xcc\x88\xcc\x80\0" /* offset 830 */
+  "\x75\xcc\x88\xcc\x80\0" /* offset 836 */
+  "\x41\xcc\x88\xcc\x84\0" /* offset 842 */
+  "\x61\xcc\x88\xcc\x84\0" /* offset 848 */
+  "\x41\xcc\x87\xcc\x84\0" /* offset 854 */
+  "\x61\xcc\x87\xcc\x84\0" /* offset 860 */
+  "\xc3\x86\xcc\x84\0" /* offset 866 */
+  "\xc3\xa6\xcc\x84\0" /* offset 871 */
+  "\x47\xcc\x8c\0" /* offset 876 */
+  "\x67\xcc\x8c\0" /* offset 880 */
+  "\x4b\xcc\x8c\0" /* offset 884 */
+  "\x6b\xcc\x8c\0" /* offset 888 */
+  "\x4f\xcc\xa8\0" /* offset 892 */
+  "\x6f\xcc\xa8\0" /* offset 896 */
+  "\x4f\xcc\xa8\xcc\x84\0" /* offset 900 */
+  "\x6f\xcc\xa8\xcc\x84\0" /* offset 906 */
+  "\xc6\xb7\xcc\x8c\0" /* offset 912 */
+  "\xca\x92\xcc\x8c\0" /* offset 917 */
+  "\x6a\xcc\x8c\0" /* offset 922 */
+  "\x44\x5a\0" /* offset 926 */
+  "\x44\x7a\0" /* offset 929 */
+  "\x64\x7a\0" /* offset 932 */
+  "\x47\xcc\x81\0" /* offset 935 */
+  "\x67\xcc\x81\0" /* offset 939 */
+  "\x4e\xcc\x80\0" /* offset 943 */
+  "\x6e\xcc\x80\0" /* offset 947 */
+  "\x41\xcc\x8a\xcc\x81\0" /* offset 951 */
+  "\x61\xcc\x8a\xcc\x81\0" /* offset 957 */
+  "\xc3\x86\xcc\x81\0" /* offset 963 */
+  "\xc3\xa6\xcc\x81\0" /* offset 968 */
+  "\xc3\x98\xcc\x81\0" /* offset 973 */
+  "\xc3\xb8\xcc\x81\0" /* offset 978 */
+  "\x41\xcc\x8f\0" /* offset 983 */
+  "\x61\xcc\x8f\0" /* offset 987 */
+  "\x41\xcc\x91\0" /* offset 991 */
+  "\x61\xcc\x91\0" /* offset 995 */
+  "\x45\xcc\x8f\0" /* offset 999 */
+  "\x65\xcc\x8f\0" /* offset 1003 */
+  "\x45\xcc\x91\0" /* offset 1007 */
+  "\x65\xcc\x91\0" /* offset 1011 */
+  "\x49\xcc\x8f\0" /* offset 1015 */
+  "\x69\xcc\x8f\0" /* offset 1019 */
+  "\x49\xcc\x91\0" /* offset 1023 */
+  "\x69\xcc\x91\0" /* offset 1027 */
+  "\x4f\xcc\x8f\0" /* offset 1031 */
+  "\x6f\xcc\x8f\0" /* offset 1035 */
+  "\x4f\xcc\x91\0" /* offset 1039 */
+  "\x6f\xcc\x91\0" /* offset 1043 */
+  "\x52\xcc\x8f\0" /* offset 1047 */
+  "\x72\xcc\x8f\0" /* offset 1051 */
+  "\x52\xcc\x91\0" /* offset 1055 */
+  "\x72\xcc\x91\0" /* offset 1059 */
+  "\x55\xcc\x8f\0" /* offset 1063 */
+  "\x75\xcc\x8f\0" /* offset 1067 */
+  "\x55\xcc\x91\0" /* offset 1071 */
+  "\x75\xcc\x91\0" /* offset 1075 */
+  "\x53\xcc\xa6\0" /* offset 1079 */
+  "\x73\xcc\xa6\0" /* offset 1083 */
+  "\x54\xcc\xa6\0" /* offset 1087 */
+  "\x74\xcc\xa6\0" /* offset 1091 */
+  "\x48\xcc\x8c\0" /* offset 1095 */
+  "\x68\xcc\x8c\0" /* offset 1099 */
+  "\x41\xcc\x87\0" /* offset 1103 */
+  "\x61\xcc\x87\0" /* offset 1107 */
+  "\x45\xcc\xa7\0" /* offset 1111 */
+  "\x65\xcc\xa7\0" /* offset 1115 */
+  "\x4f\xcc\x88\xcc\x84\0" /* offset 1119 */
+  "\x6f\xcc\x88\xcc\x84\0" /* offset 1125 */
+  "\x4f\xcc\x83\xcc\x84\0" /* offset 1131 */
+  "\x6f\xcc\x83\xcc\x84\0" /* offset 1137 */
+  "\x4f\xcc\x87\0" /* offset 1143 */
+  "\x6f\xcc\x87\0" /* offset 1147 */
+  "\x4f\xcc\x87\xcc\x84\0" /* offset 1151 */
+  "\x6f\xcc\x87\xcc\x84\0" /* offset 1157 */
+  "\x59\xcc\x84\0" /* offset 1163 */
+  "\x79\xcc\x84\0" /* offset 1167 */
+  "\x68\0" /* offset 1171 */
+  "\xc9\xa6\0" /* offset 1173 */
+  "\x6a\0" /* offset 1176 */
+  "\x72\0" /* offset 1178 */
+  "\xc9\xb9\0" /* offset 1180 */
+  "\xc9\xbb\0" /* offset 1183 */
+  "\xca\x81\0" /* offset 1186 */
+  "\x77\0" /* offset 1189 */
+  "\x79\0" /* offset 1191 */
+  "\x20\xcc\x86\0" /* offset 1193 */
+  "\x20\xcc\x87\0" /* offset 1197 */
+  "\x20\xcc\x8a\0" /* offset 1201 */
+  "\x20\xcc\xa8\0" /* offset 1205 */
+  "\x20\xcc\x83\0" /* offset 1209 */
+  "\x20\xcc\x8b\0" /* offset 1213 */
+  "\xc9\xa3\0" /* offset 1217 */
+  "\x6c\0" /* offset 1220 */
+  "\x78\0" /* offset 1222 */
+  "\xca\x95\0" /* offset 1224 */
+  "\xcc\x80\0" /* offset 1227 */
+  "\xcc\x81\0" /* offset 1230 */
+  "\xcc\x93\0" /* offset 1233 */
+  "\xcc\x88\xcc\x81\0" /* offset 1236 */
+  "\xca\xb9\0" /* offset 1241 */
+  "\x20\xcd\x85\0" /* offset 1244 */
+  "\x3b\0" /* offset 1248 */
+  "\xc2\xa8\xcc\x81\0" /* offset 1250 */
+  "\x20\xcc\x88\xcc\x81\0" /* offset 1255 */
+  "\xce\x91\xcc\x81\0" /* offset 1261 */
+  "\xc2\xb7\0" /* offset 1266 */
+  "\xce\x95\xcc\x81\0" /* offset 1269 */
+  "\xce\x97\xcc\x81\0" /* offset 1274 */
+  "\xce\x99\xcc\x81\0" /* offset 1279 */
+  "\xce\x9f\xcc\x81\0" /* offset 1284 */
+  "\xce\xa5\xcc\x81\0" /* offset 1289 */
+  "\xce\xa9\xcc\x81\0" /* offset 1294 */
+  "\xce\xb9\xcc\x88\xcc\x81\0" /* offset 1299 */
+  "\xce\x99\xcc\x88\0" /* offset 1306 */
+  "\xce\xa5\xcc\x88\0" /* offset 1311 */
+  "\xce\xb1\xcc\x81\0" /* offset 1316 */
+  "\xce\xb5\xcc\x81\0" /* offset 1321 */
+  "\xce\xb7\xcc\x81\0" /* offset 1326 */
+  "\xce\xb9\xcc\x81\0" /* offset 1331 */
+  "\xcf\x85\xcc\x88\xcc\x81\0" /* offset 1336 */
+  "\xce\xb9\xcc\x88\0" /* offset 1343 */
+  "\xcf\x85\xcc\x88\0" /* offset 1348 */
+  "\xce\xbf\xcc\x81\0" /* offset 1353 */
+  "\xcf\x85\xcc\x81\0" /* offset 1358 */
+  "\xcf\x89\xcc\x81\0" /* offset 1363 */
+  "\xce\xb2\0" /* offset 1368 */
+  "\xce\xb8\0" /* offset 1371 */
+  "\xce\xa5\0" /* offset 1374 */
+  "\xcf\x92\xcc\x81\0" /* offset 1377 */
+  "\xcf\x92\xcc\x88\0" /* offset 1382 */
+  "\xcf\x86\0" /* offset 1387 */
+  "\xcf\x80\0" /* offset 1390 */
+  "\xce\xba\0" /* offset 1393 */
+  "\xcf\x81\0" /* offset 1396 */
+  "\xcf\x82\0" /* offset 1399 */
+  "\xce\x98\0" /* offset 1402 */
+  "\xce\xb5\0" /* offset 1405 */
+  "\xd0\x95\xcc\x80\0" /* offset 1408 */
+  "\xd0\x95\xcc\x88\0" /* offset 1413 */
+  "\xd0\x93\xcc\x81\0" /* offset 1418 */
+  "\xd0\x86\xcc\x88\0" /* offset 1423 */
+  "\xd0\x9a\xcc\x81\0" /* offset 1428 */
+  "\xd0\x98\xcc\x80\0" /* offset 1433 */
+  "\xd0\xa3\xcc\x86\0" /* offset 1438 */
+  "\xd0\x98\xcc\x86\0" /* offset 1443 */
+  "\xd0\xb8\xcc\x86\0" /* offset 1448 */
+  "\xd0\xb5\xcc\x80\0" /* offset 1453 */
+  "\xd0\xb5\xcc\x88\0" /* offset 1458 */
+  "\xd0\xb3\xcc\x81\0" /* offset 1463 */
+  "\xd1\x96\xcc\x88\0" /* offset 1468 */
+  "\xd0\xba\xcc\x81\0" /* offset 1473 */
+  "\xd0\xb8\xcc\x80\0" /* offset 1478 */
+  "\xd1\x83\xcc\x86\0" /* offset 1483 */
+  "\xd1\xb4\xcc\x8f\0" /* offset 1488 */
+  "\xd1\xb5\xcc\x8f\0" /* offset 1493 */
+  "\xd0\x96\xcc\x86\0" /* offset 1498 */
+  "\xd0\xb6\xcc\x86\0" /* offset 1503 */
+  "\xd0\x90\xcc\x86\0" /* offset 1508 */
+  "\xd0\xb0\xcc\x86\0" /* offset 1513 */
+  "\xd0\x90\xcc\x88\0" /* offset 1518 */
+  "\xd0\xb0\xcc\x88\0" /* offset 1523 */
+  "\xd0\x95\xcc\x86\0" /* offset 1528 */
+  "\xd0\xb5\xcc\x86\0" /* offset 1533 */
+  "\xd3\x98\xcc\x88\0" /* offset 1538 */
+  "\xd3\x99\xcc\x88\0" /* offset 1543 */
+  "\xd0\x96\xcc\x88\0" /* offset 1548 */
+  "\xd0\xb6\xcc\x88\0" /* offset 1553 */
+  "\xd0\x97\xcc\x88\0" /* offset 1558 */
+  "\xd0\xb7\xcc\x88\0" /* offset 1563 */
+  "\xd0\x98\xcc\x84\0" /* offset 1568 */
+  "\xd0\xb8\xcc\x84\0" /* offset 1573 */
+  "\xd0\x98\xcc\x88\0" /* offset 1578 */
+  "\xd0\xb8\xcc\x88\0" /* offset 1583 */
+  "\xd0\x9e\xcc\x88\0" /* offset 1588 */
+  "\xd0\xbe\xcc\x88\0" /* offset 1593 */
+  "\xd3\xa8\xcc\x88\0" /* offset 1598 */
+  "\xd3\xa9\xcc\x88\0" /* offset 1603 */
+  "\xd0\xad\xcc\x88\0" /* offset 1608 */
+  "\xd1\x8d\xcc\x88\0" /* offset 1613 */
+  "\xd0\xa3\xcc\x84\0" /* offset 1618 */
+  "\xd1\x83\xcc\x84\0" /* offset 1623 */
+  "\xd0\xa3\xcc\x88\0" /* offset 1628 */
+  "\xd1\x83\xcc\x88\0" /* offset 1633 */
+  "\xd0\xa3\xcc\x8b\0" /* offset 1638 */
+  "\xd1\x83\xcc\x8b\0" /* offset 1643 */
+  "\xd0\xa7\xcc\x88\0" /* offset 1648 */
+  "\xd1\x87\xcc\x88\0" /* offset 1653 */
+  "\xd0\xab\xcc\x88\0" /* offset 1658 */
+  "\xd1\x8b\xcc\x88\0" /* offset 1663 */
+  "\xd5\xa5\xd6\x82\0" /* offset 1668 */
+  "\xd8\xa7\xd9\x93\0" /* offset 1673 */
+  "\xd8\xa7\xd9\x94\0" /* offset 1678 */
+  "\xd9\x88\xd9\x94\0" /* offset 1683 */
+  "\xd8\xa7\xd9\x95\0" /* offset 1688 */
+  "\xd9\x8a\xd9\x94\0" /* offset 1693 */
+  "\xd8\xa7\xd9\xb4\0" /* offset 1698 */
+  "\xd9\x88\xd9\xb4\0" /* offset 1703 */
+  "\xdb\x87\xd9\xb4\0" /* offset 1708 */
+  "\xd9\x8a\xd9\xb4\0" /* offset 1713 */
+  "\xdb\x95\xd9\x94\0" /* offset 1718 */
+  "\xdb\x81\xd9\x94\0" /* offset 1723 */
+  "\xdb\x92\xd9\x94\0" /* offset 1728 */
+  "\xe0\xa4\xa8\xe0\xa4\xbc\0" /* offset 1733 */
+  "\xe0\xa4\xb0\xe0\xa4\xbc\0" /* offset 1740 */
+  "\xe0\xa4\xb3\xe0\xa4\xbc\0" /* offset 1747 */
+  "\xe0\xa4\x95\xe0\xa4\xbc\0" /* offset 1754 */
+  "\xe0\xa4\x96\xe0\xa4\xbc\0" /* offset 1761 */
+  "\xe0\xa4\x97\xe0\xa4\xbc\0" /* offset 1768 */
+  "\xe0\xa4\x9c\xe0\xa4\xbc\0" /* offset 1775 */
+  "\xe0\xa4\xa1\xe0\xa4\xbc\0" /* offset 1782 */
+  "\xe0\xa4\xa2\xe0\xa4\xbc\0" /* offset 1789 */
+  "\xe0\xa4\xab\xe0\xa4\xbc\0" /* offset 1796 */
+  "\xe0\xa4\xaf\xe0\xa4\xbc\0" /* offset 1803 */
+  "\xe0\xa7\x87\xe0\xa6\xbe\0" /* offset 1810 */
+  "\xe0\xa7\x87\xe0\xa7\x97\0" /* offset 1817 */
+  "\xe0\xa6\xa1\xe0\xa6\xbc\0" /* offset 1824 */
+  "\xe0\xa6\xa2\xe0\xa6\xbc\0" /* offset 1831 */
+  "\xe0\xa6\xaf\xe0\xa6\xbc\0" /* offset 1838 */
+  "\xe0\xa8\xb2\xe0\xa8\xbc\0" /* offset 1845 */
+  "\xe0\xa8\xb8\xe0\xa8\xbc\0" /* offset 1852 */
+  "\xe0\xa8\x96\xe0\xa8\xbc\0" /* offset 1859 */
+  "\xe0\xa8\x97\xe0\xa8\xbc\0" /* offset 1866 */
+  "\xe0\xa8\x9c\xe0\xa8\xbc\0" /* offset 1873 */
+  "\xe0\xa8\xab\xe0\xa8\xbc\0" /* offset 1880 */
+  "\xe0\xad\x87\xe0\xad\x96\0" /* offset 1887 */
+  "\xe0\xad\x87\xe0\xac\xbe\0" /* offset 1894 */
+  "\xe0\xad\x87\xe0\xad\x97\0" /* offset 1901 */
+  "\xe0\xac\xa1\xe0\xac\xbc\0" /* offset 1908 */
+  "\xe0\xac\xa2\xe0\xac\xbc\0" /* offset 1915 */
+  "\xe0\xae\x92\xe0\xaf\x97\0" /* offset 1922 */
+  "\xe0\xaf\x86\xe0\xae\xbe\0" /* offset 1929 */
+  "\xe0\xaf\x87\xe0\xae\xbe\0" /* offset 1936 */
+  "\xe0\xaf\x86\xe0\xaf\x97\0" /* offset 1943 */
+  "\xe0\xb1\x86\xe0\xb1\x96\0" /* offset 1950 */
+  "\xe0\xb2\xbf\xe0\xb3\x95\0" /* offset 1957 */
+  "\xe0\xb3\x86\xe0\xb3\x95\0" /* offset 1964 */
+  "\xe0\xb3\x86\xe0\xb3\x96\0" /* offset 1971 */
+  "\xe0\xb3\x86\xe0\xb3\x82\0" /* offset 1978 */
+  "\xe0\xb3\x86\xe0\xb3\x82\xe0\xb3\x95\0" /* offset 1985 */
+  "\xe0\xb5\x86\xe0\xb4\xbe\0" /* offset 1995 */
+  "\xe0\xb5\x87\xe0\xb4\xbe\0" /* offset 2002 */
+  "\xe0\xb5\x86\xe0\xb5\x97\0" /* offset 2009 */
+  "\xe0\xb7\x99\xe0\xb7\x8a\0" /* offset 2016 */
+  "\xe0\xb7\x99\xe0\xb7\x8f\0" /* offset 2023 */
+  "\xe0\xb7\x99\xe0\xb7\x8f\xe0\xb7\x8a\0" /* offset 2030 */
+  "\xe0\xb7\x99\xe0\xb7\x9f\0" /* offset 2040 */
+  "\xe0\xb9\x8d\xe0\xb8\xb2\0" /* offset 2047 */
+  "\xe0\xbb\x8d\xe0\xba\xb2\0" /* offset 2054 */
+  "\xe0\xba\xab\xe0\xba\x99\0" /* offset 2061 */
+  "\xe0\xba\xab\xe0\xba\xa1\0" /* offset 2068 */
+  "\xe0\xbc\x8b\0" /* offset 2075 */
+  "\xe0\xbd\x82\xe0\xbe\xb7\0" /* offset 2079 */
+  "\xe0\xbd\x8c\xe0\xbe\xb7\0" /* offset 2086 */
+  "\xe0\xbd\x91\xe0\xbe\xb7\0" /* offset 2093 */
+  "\xe0\xbd\x96\xe0\xbe\xb7\0" /* offset 2100 */
+  "\xe0\xbd\x9b\xe0\xbe\xb7\0" /* offset 2107 */
+  "\xe0\xbd\x80\xe0\xbe\xb5\0" /* offset 2114 */
+  "\xe0\xbd\xb1\xe0\xbd\xb2\0" /* offset 2121 */
+  "\xe0\xbd\xb1\xe0\xbd\xb4\0" /* offset 2128 */
+  "\xe0\xbe\xb2\xe0\xbe\x80\0" /* offset 2135 */
+  "\xe0\xbe\xb2\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2142 */
+  "\xe0\xbe\xb3\xe0\xbe\x80\0" /* offset 2152 */
+  "\xe0\xbe\xb3\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2159 */
+  "\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2169 */
+  "\xe0\xbe\x92\xe0\xbe\xb7\0" /* offset 2176 */
+  "\xe0\xbe\x9c\xe0\xbe\xb7\0" /* offset 2183 */
+  "\xe0\xbe\xa1\xe0\xbe\xb7\0" /* offset 2190 */
+  "\xe0\xbe\xa6\xe0\xbe\xb7\0" /* offset 2197 */
+  "\xe0\xbe\xab\xe0\xbe\xb7\0" /* offset 2204 */
+  "\xe0\xbe\x90\xe0\xbe\xb5\0" /* offset 2211 */
+  "\xe1\x80\xa5\xe1\x80\xae\0" /* offset 2218 */
+  "\x41\xcc\xa5\0" /* offset 2225 */
+  "\x61\xcc\xa5\0" /* offset 2229 */
+  "\x42\xcc\x87\0" /* offset 2233 */
+  "\x62\xcc\x87\0" /* offset 2237 */
+  "\x42\xcc\xa3\0" /* offset 2241 */
+  "\x62\xcc\xa3\0" /* offset 2245 */
+  "\x42\xcc\xb1\0" /* offset 2249 */
+  "\x62\xcc\xb1\0" /* offset 2253 */
+  "\x43\xcc\xa7\xcc\x81\0" /* offset 2257 */
+  "\x63\xcc\xa7\xcc\x81\0" /* offset 2263 */
+  "\x44\xcc\x87\0" /* offset 2269 */
+  "\x64\xcc\x87\0" /* offset 2273 */
+  "\x44\xcc\xa3\0" /* offset 2277 */
+  "\x64\xcc\xa3\0" /* offset 2281 */
+  "\x44\xcc\xb1\0" /* offset 2285 */
+  "\x64\xcc\xb1\0" /* offset 2289 */
+  "\x44\xcc\xa7\0" /* offset 2293 */
+  "\x64\xcc\xa7\0" /* offset 2297 */
+  "\x44\xcc\xad\0" /* offset 2301 */
+  "\x64\xcc\xad\0" /* offset 2305 */
+  "\x45\xcc\x84\xcc\x80\0" /* offset 2309 */
+  "\x65\xcc\x84\xcc\x80\0" /* offset 2315 */
+  "\x45\xcc\x84\xcc\x81\0" /* offset 2321 */
+  "\x65\xcc\x84\xcc\x81\0" /* offset 2327 */
+  "\x45\xcc\xad\0" /* offset 2333 */
+  "\x65\xcc\xad\0" /* offset 2337 */
+  "\x45\xcc\xb0\0" /* offset 2341 */
+  "\x65\xcc\xb0\0" /* offset 2345 */
+  "\x45\xcc\xa7\xcc\x86\0" /* offset 2349 */
+  "\x65\xcc\xa7\xcc\x86\0" /* offset 2355 */
+  "\x46\xcc\x87\0" /* offset 2361 */
+  "\x66\xcc\x87\0" /* offset 2365 */
+  "\x47\xcc\x84\0" /* offset 2369 */
+  "\x67\xcc\x84\0" /* offset 2373 */
+  "\x48\xcc\x87\0" /* offset 2377 */
+  "\x68\xcc\x87\0" /* offset 2381 */
+  "\x48\xcc\xa3\0" /* offset 2385 */
+  "\x68\xcc\xa3\0" /* offset 2389 */
+  "\x48\xcc\x88\0" /* offset 2393 */
+  "\x68\xcc\x88\0" /* offset 2397 */
+  "\x48\xcc\xa7\0" /* offset 2401 */
+  "\x68\xcc\xa7\0" /* offset 2405 */
+  "\x48\xcc\xae\0" /* offset 2409 */
+  "\x68\xcc\xae\0" /* offset 2413 */
+  "\x49\xcc\xb0\0" /* offset 2417 */
+  "\x69\xcc\xb0\0" /* offset 2421 */
+  "\x49\xcc\x88\xcc\x81\0" /* offset 2425 */
+  "\x69\xcc\x88\xcc\x81\0" /* offset 2431 */
+  "\x4b\xcc\x81\0" /* offset 2437 */
+  "\x6b\xcc\x81\0" /* offset 2441 */
+  "\x4b\xcc\xa3\0" /* offset 2445 */
+  "\x6b\xcc\xa3\0" /* offset 2449 */
+  "\x4b\xcc\xb1\0" /* offset 2453 */
+  "\x6b\xcc\xb1\0" /* offset 2457 */
+  "\x4c\xcc\xa3\0" /* offset 2461 */
+  "\x6c\xcc\xa3\0" /* offset 2465 */
+  "\x4c\xcc\xa3\xcc\x84\0" /* offset 2469 */
+  "\x6c\xcc\xa3\xcc\x84\0" /* offset 2475 */
+  "\x4c\xcc\xb1\0" /* offset 2481 */
+  "\x6c\xcc\xb1\0" /* offset 2485 */
+  "\x4c\xcc\xad\0" /* offset 2489 */
+  "\x6c\xcc\xad\0" /* offset 2493 */
+  "\x4d\xcc\x81\0" /* offset 2497 */
+  "\x6d\xcc\x81\0" /* offset 2501 */
+  "\x4d\xcc\x87\0" /* offset 2505 */
+  "\x6d\xcc\x87\0" /* offset 2509 */
+  "\x4d\xcc\xa3\0" /* offset 2513 */
+  "\x6d\xcc\xa3\0" /* offset 2517 */
+  "\x4e\xcc\x87\0" /* offset 2521 */
+  "\x6e\xcc\x87\0" /* offset 2525 */
+  "\x4e\xcc\xa3\0" /* offset 2529 */
+  "\x6e\xcc\xa3\0" /* offset 2533 */
+  "\x4e\xcc\xb1\0" /* offset 2537 */
+  "\x6e\xcc\xb1\0" /* offset 2541 */
+  "\x4e\xcc\xad\0" /* offset 2545 */
+  "\x6e\xcc\xad\0" /* offset 2549 */
+  "\x4f\xcc\x83\xcc\x81\0" /* offset 2553 */
+  "\x6f\xcc\x83\xcc\x81\0" /* offset 2559 */
+  "\x4f\xcc\x83\xcc\x88\0" /* offset 2565 */
+  "\x6f\xcc\x83\xcc\x88\0" /* offset 2571 */
+  "\x4f\xcc\x84\xcc\x80\0" /* offset 2577 */
+  "\x6f\xcc\x84\xcc\x80\0" /* offset 2583 */
+  "\x4f\xcc\x84\xcc\x81\0" /* offset 2589 */
+  "\x6f\xcc\x84\xcc\x81\0" /* offset 2595 */
+  "\x50\xcc\x81\0" /* offset 2601 */
+  "\x70\xcc\x81\0" /* offset 2605 */
+  "\x50\xcc\x87\0" /* offset 2609 */
+  "\x70\xcc\x87\0" /* offset 2613 */
+  "\x52\xcc\x87\0" /* offset 2617 */
+  "\x72\xcc\x87\0" /* offset 2621 */
+  "\x52\xcc\xa3\0" /* offset 2625 */
+  "\x72\xcc\xa3\0" /* offset 2629 */
+  "\x52\xcc\xa3\xcc\x84\0" /* offset 2633 */
+  "\x72\xcc\xa3\xcc\x84\0" /* offset 2639 */
+  "\x52\xcc\xb1\0" /* offset 2645 */
+  "\x72\xcc\xb1\0" /* offset 2649 */
+  "\x53\xcc\x87\0" /* offset 2653 */
+  "\x73\xcc\x87\0" /* offset 2657 */
+  "\x53\xcc\xa3\0" /* offset 2661 */
+  "\x73\xcc\xa3\0" /* offset 2665 */
+  "\x53\xcc\x81\xcc\x87\0" /* offset 2669 */
+  "\x73\xcc\x81\xcc\x87\0" /* offset 2675 */
+  "\x53\xcc\x8c\xcc\x87\0" /* offset 2681 */
+  "\x73\xcc\x8c\xcc\x87\0" /* offset 2687 */
+  "\x53\xcc\xa3\xcc\x87\0" /* offset 2693 */
+  "\x73\xcc\xa3\xcc\x87\0" /* offset 2699 */
+  "\x54\xcc\x87\0" /* offset 2705 */
+  "\x74\xcc\x87\0" /* offset 2709 */
+  "\x54\xcc\xa3\0" /* offset 2713 */
+  "\x74\xcc\xa3\0" /* offset 2717 */
+  "\x54\xcc\xb1\0" /* offset 2721 */
+  "\x74\xcc\xb1\0" /* offset 2725 */
+  "\x54\xcc\xad\0" /* offset 2729 */
+  "\x74\xcc\xad\0" /* offset 2733 */
+  "\x55\xcc\xa4\0" /* offset 2737 */
+  "\x75\xcc\xa4\0" /* offset 2741 */
+  "\x55\xcc\xb0\0" /* offset 2745 */
+  "\x75\xcc\xb0\0" /* offset 2749 */
+  "\x55\xcc\xad\0" /* offset 2753 */
+  "\x75\xcc\xad\0" /* offset 2757 */
+  "\x55\xcc\x83\xcc\x81\0" /* offset 2761 */
+  "\x75\xcc\x83\xcc\x81\0" /* offset 2767 */
+  "\x55\xcc\x84\xcc\x88\0" /* offset 2773 */
+  "\x75\xcc\x84\xcc\x88\0" /* offset 2779 */
+  "\x56\xcc\x83\0" /* offset 2785 */
+  "\x76\xcc\x83\0" /* offset 2789 */
+  "\x56\xcc\xa3\0" /* offset 2793 */
+  "\x76\xcc\xa3\0" /* offset 2797 */
+  "\x57\xcc\x80\0" /* offset 2801 */
+  "\x77\xcc\x80\0" /* offset 2805 */
+  "\x57\xcc\x81\0" /* offset 2809 */
+  "\x77\xcc\x81\0" /* offset 2813 */
+  "\x57\xcc\x88\0" /* offset 2817 */
+  "\x77\xcc\x88\0" /* offset 2821 */
+  "\x57\xcc\x87\0" /* offset 2825 */
+  "\x77\xcc\x87\0" /* offset 2829 */
+  "\x57\xcc\xa3\0" /* offset 2833 */
+  "\x77\xcc\xa3\0" /* offset 2837 */
+  "\x58\xcc\x87\0" /* offset 2841 */
+  "\x78\xcc\x87\0" /* offset 2845 */
+  "\x58\xcc\x88\0" /* offset 2849 */
+  "\x78\xcc\x88\0" /* offset 2853 */
+  "\x59\xcc\x87\0" /* offset 2857 */
+  "\x79\xcc\x87\0" /* offset 2861 */
+  "\x5a\xcc\x82\0" /* offset 2865 */
+  "\x7a\xcc\x82\0" /* offset 2869 */
+  "\x5a\xcc\xa3\0" /* offset 2873 */
+  "\x7a\xcc\xa3\0" /* offset 2877 */
+  "\x5a\xcc\xb1\0" /* offset 2881 */
+  "\x7a\xcc\xb1\0" /* offset 2885 */
+  "\x68\xcc\xb1\0" /* offset 2889 */
+  "\x74\xcc\x88\0" /* offset 2893 */
+  "\x77\xcc\x8a\0" /* offset 2897 */
+  "\x79\xcc\x8a\0" /* offset 2901 */
+  "\x61\xca\xbe\0" /* offset 2905 */
+  "\xc5\xbf\xcc\x87\0" /* offset 2909 */
+  "\x41\xcc\xa3\0" /* offset 2914 */
+  "\x61\xcc\xa3\0" /* offset 2918 */
+  "\x41\xcc\x89\0" /* offset 2922 */
+  "\x61\xcc\x89\0" /* offset 2926 */
+  "\x41\xcc\x82\xcc\x81\0" /* offset 2930 */
+  "\x61\xcc\x82\xcc\x81\0" /* offset 2936 */
+  "\x41\xcc\x82\xcc\x80\0" /* offset 2942 */
+  "\x61\xcc\x82\xcc\x80\0" /* offset 2948 */
+  "\x41\xcc\x82\xcc\x89\0" /* offset 2954 */
+  "\x61\xcc\x82\xcc\x89\0" /* offset 2960 */
+  "\x41\xcc\x82\xcc\x83\0" /* offset 2966 */
+  "\x61\xcc\x82\xcc\x83\0" /* offset 2972 */
+  "\x41\xcc\xa3\xcc\x82\0" /* offset 2978 */
+  "\x61\xcc\xa3\xcc\x82\0" /* offset 2984 */
+  "\x41\xcc\x86\xcc\x81\0" /* offset 2990 */
+  "\x61\xcc\x86\xcc\x81\0" /* offset 2996 */
+  "\x41\xcc\x86\xcc\x80\0" /* offset 3002 */
+  "\x61\xcc\x86\xcc\x80\0" /* offset 3008 */
+  "\x41\xcc\x86\xcc\x89\0" /* offset 3014 */
+  "\x61\xcc\x86\xcc\x89\0" /* offset 3020 */
+  "\x41\xcc\x86\xcc\x83\0" /* offset 3026 */
+  "\x61\xcc\x86\xcc\x83\0" /* offset 3032 */
+  "\x41\xcc\xa3\xcc\x86\0" /* offset 3038 */
+  "\x61\xcc\xa3\xcc\x86\0" /* offset 3044 */
+  "\x45\xcc\xa3\0" /* offset 3050 */
+  "\x65\xcc\xa3\0" /* offset 3054 */
+  "\x45\xcc\x89\0" /* offset 3058 */
+  "\x65\xcc\x89\0" /* offset 3062 */
+  "\x45\xcc\x83\0" /* offset 3066 */
+  "\x65\xcc\x83\0" /* offset 3070 */
+  "\x45\xcc\x82\xcc\x81\0" /* offset 3074 */
+  "\x65\xcc\x82\xcc\x81\0" /* offset 3080 */
+  "\x45\xcc\x82\xcc\x80\0" /* offset 3086 */
+  "\x65\xcc\x82\xcc\x80\0" /* offset 3092 */
+  "\x45\xcc\x82\xcc\x89\0" /* offset 3098 */
+  "\x65\xcc\x82\xcc\x89\0" /* offset 3104 */
+  "\x45\xcc\x82\xcc\x83\0" /* offset 3110 */
+  "\x65\xcc\x82\xcc\x83\0" /* offset 3116 */
+  "\x45\xcc\xa3\xcc\x82\0" /* offset 3122 */
+  "\x65\xcc\xa3\xcc\x82\0" /* offset 3128 */
+  "\x49\xcc\x89\0" /* offset 3134 */
+  "\x69\xcc\x89\0" /* offset 3138 */
+  "\x49\xcc\xa3\0" /* offset 3142 */
+  "\x69\xcc\xa3\0" /* offset 3146 */
+  "\x4f\xcc\xa3\0" /* offset 3150 */
+  "\x6f\xcc\xa3\0" /* offset 3154 */
+  "\x4f\xcc\x89\0" /* offset 3158 */
+  "\x6f\xcc\x89\0" /* offset 3162 */
+  "\x4f\xcc\x82\xcc\x81\0" /* offset 3166 */
+  "\x6f\xcc\x82\xcc\x81\0" /* offset 3172 */
+  "\x4f\xcc\x82\xcc\x80\0" /* offset 3178 */
+  "\x6f\xcc\x82\xcc\x80\0" /* offset 3184 */
+  "\x4f\xcc\x82\xcc\x89\0" /* offset 3190 */
+  "\x6f\xcc\x82\xcc\x89\0" /* offset 3196 */
+  "\x4f\xcc\x82\xcc\x83\0" /* offset 3202 */
+  "\x6f\xcc\x82\xcc\x83\0" /* offset 3208 */
+  "\x4f\xcc\xa3\xcc\x82\0" /* offset 3214 */
+  "\x6f\xcc\xa3\xcc\x82\0" /* offset 3220 */
+  "\x4f\xcc\x9b\xcc\x81\0" /* offset 3226 */
+  "\x6f\xcc\x9b\xcc\x81\0" /* offset 3232 */
+  "\x4f\xcc\x9b\xcc\x80\0" /* offset 3238 */
+  "\x6f\xcc\x9b\xcc\x80\0" /* offset 3244 */
+  "\x4f\xcc\x9b\xcc\x89\0" /* offset 3250 */
+  "\x6f\xcc\x9b\xcc\x89\0" /* offset 3256 */
+  "\x4f\xcc\x9b\xcc\x83\0" /* offset 3262 */
+  "\x6f\xcc\x9b\xcc\x83\0" /* offset 3268 */
+  "\x4f\xcc\x9b\xcc\xa3\0" /* offset 3274 */
+  "\x6f\xcc\x9b\xcc\xa3\0" /* offset 3280 */
+  "\x55\xcc\xa3\0" /* offset 3286 */
+  "\x75\xcc\xa3\0" /* offset 3290 */
+  "\x55\xcc\x89\0" /* offset 3294 */
+  "\x75\xcc\x89\0" /* offset 3298 */
+  "\x55\xcc\x9b\xcc\x81\0" /* offset 3302 */
+  "\x75\xcc\x9b\xcc\x81\0" /* offset 3308 */
+  "\x55\xcc\x9b\xcc\x80\0" /* offset 3314 */
+  "\x75\xcc\x9b\xcc\x80\0" /* offset 3320 */
+  "\x55\xcc\x9b\xcc\x89\0" /* offset 3326 */
+  "\x75\xcc\x9b\xcc\x89\0" /* offset 3332 */
+  "\x55\xcc\x9b\xcc\x83\0" /* offset 3338 */
+  "\x75\xcc\x9b\xcc\x83\0" /* offset 3344 */
+  "\x55\xcc\x9b\xcc\xa3\0" /* offset 3350 */
+  "\x75\xcc\x9b\xcc\xa3\0" /* offset 3356 */
+  "\x59\xcc\x80\0" /* offset 3362 */
+  "\x79\xcc\x80\0" /* offset 3366 */
+  "\x59\xcc\xa3\0" /* offset 3370 */
+  "\x79\xcc\xa3\0" /* offset 3374 */
+  "\x59\xcc\x89\0" /* offset 3378 */
+  "\x79\xcc\x89\0" /* offset 3382 */
+  "\x59\xcc\x83\0" /* offset 3386 */
+  "\x79\xcc\x83\0" /* offset 3390 */
+  "\xce\xb1\xcc\x93\0" /* offset 3394 */
+  "\xce\xb1\xcc\x94\0" /* offset 3399 */
+  "\xce\xb1\xcc\x93\xcc\x80\0" /* offset 3404 */
+  "\xce\xb1\xcc\x94\xcc\x80\0" /* offset 3411 */
+  "\xce\xb1\xcc\x93\xcc\x81\0" /* offset 3418 */
+  "\xce\xb1\xcc\x94\xcc\x81\0" /* offset 3425 */
+  "\xce\xb1\xcc\x93\xcd\x82\0" /* offset 3432 */
+  "\xce\xb1\xcc\x94\xcd\x82\0" /* offset 3439 */
+  "\xce\x91\xcc\x93\0" /* offset 3446 */
+  "\xce\x91\xcc\x94\0" /* offset 3451 */
+  "\xce\x91\xcc\x93\xcc\x80\0" /* offset 3456 */
+  "\xce\x91\xcc\x94\xcc\x80\0" /* offset 3463 */
+  "\xce\x91\xcc\x93\xcc\x81\0" /* offset 3470 */
+  "\xce\x91\xcc\x94\xcc\x81\0" /* offset 3477 */
+  "\xce\x91\xcc\x93\xcd\x82\0" /* offset 3484 */
+  "\xce\x91\xcc\x94\xcd\x82\0" /* offset 3491 */
+  "\xce\xb5\xcc\x93\0" /* offset 3498 */
+  "\xce\xb5\xcc\x94\0" /* offset 3503 */
+  "\xce\xb5\xcc\x93\xcc\x80\0" /* offset 3508 */
+  "\xce\xb5\xcc\x94\xcc\x80\0" /* offset 3515 */
+  "\xce\xb5\xcc\x93\xcc\x81\0" /* offset 3522 */
+  "\xce\xb5\xcc\x94\xcc\x81\0" /* offset 3529 */
+  "\xce\x95\xcc\x93\0" /* offset 3536 */
+  "\xce\x95\xcc\x94\0" /* offset 3541 */
+  "\xce\x95\xcc\x93\xcc\x80\0" /* offset 3546 */
+  "\xce\x95\xcc\x94\xcc\x80\0" /* offset 3553 */
+  "\xce\x95\xcc\x93\xcc\x81\0" /* offset 3560 */
+  "\xce\x95\xcc\x94\xcc\x81\0" /* offset 3567 */
+  "\xce\xb7\xcc\x93\0" /* offset 3574 */
+  "\xce\xb7\xcc\x94\0" /* offset 3579 */
+  "\xce\xb7\xcc\x93\xcc\x80\0" /* offset 3584 */
+  "\xce\xb7\xcc\x94\xcc\x80\0" /* offset 3591 */
+  "\xce\xb7\xcc\x93\xcc\x81\0" /* offset 3598 */
+  "\xce\xb7\xcc\x94\xcc\x81\0" /* offset 3605 */
+  "\xce\xb7\xcc\x93\xcd\x82\0" /* offset 3612 */
+  "\xce\xb7\xcc\x94\xcd\x82\0" /* offset 3619 */
+  "\xce\x97\xcc\x93\0" /* offset 3626 */
+  "\xce\x97\xcc\x94\0" /* offset 3631 */
+  "\xce\x97\xcc\x93\xcc\x80\0" /* offset 3636 */
+  "\xce\x97\xcc\x94\xcc\x80\0" /* offset 3643 */
+  "\xce\x97\xcc\x93\xcc\x81\0" /* offset 3650 */
+  "\xce\x97\xcc\x94\xcc\x81\0" /* offset 3657 */
+  "\xce\x97\xcc\x93\xcd\x82\0" /* offset 3664 */
+  "\xce\x97\xcc\x94\xcd\x82\0" /* offset 3671 */
+  "\xce\xb9\xcc\x93\0" /* offset 3678 */
+  "\xce\xb9\xcc\x94\0" /* offset 3683 */
+  "\xce\xb9\xcc\x93\xcc\x80\0" /* offset 3688 */
+  "\xce\xb9\xcc\x94\xcc\x80\0" /* offset 3695 */
+  "\xce\xb9\xcc\x93\xcc\x81\0" /* offset 3702 */
+  "\xce\xb9\xcc\x94\xcc\x81\0" /* offset 3709 */
+  "\xce\xb9\xcc\x93\xcd\x82\0" /* offset 3716 */
+  "\xce\xb9\xcc\x94\xcd\x82\0" /* offset 3723 */
+  "\xce\x99\xcc\x93\0" /* offset 3730 */
+  "\xce\x99\xcc\x94\0" /* offset 3735 */
+  "\xce\x99\xcc\x93\xcc\x80\0" /* offset 3740 */
+  "\xce\x99\xcc\x94\xcc\x80\0" /* offset 3747 */
+  "\xce\x99\xcc\x93\xcc\x81\0" /* offset 3754 */
+  "\xce\x99\xcc\x94\xcc\x81\0" /* offset 3761 */
+  "\xce\x99\xcc\x93\xcd\x82\0" /* offset 3768 */
+  "\xce\x99\xcc\x94\xcd\x82\0" /* offset 3775 */
+  "\xce\xbf\xcc\x93\0" /* offset 3782 */
+  "\xce\xbf\xcc\x94\0" /* offset 3787 */
+  "\xce\xbf\xcc\x93\xcc\x80\0" /* offset 3792 */
+  "\xce\xbf\xcc\x94\xcc\x80\0" /* offset 3799 */
+  "\xce\xbf\xcc\x93\xcc\x81\0" /* offset 3806 */
+  "\xce\xbf\xcc\x94\xcc\x81\0" /* offset 3813 */
+  "\xce\x9f\xcc\x93\0" /* offset 3820 */
+  "\xce\x9f\xcc\x94\0" /* offset 3825 */
+  "\xce\x9f\xcc\x93\xcc\x80\0" /* offset 3830 */
+  "\xce\x9f\xcc\x94\xcc\x80\0" /* offset 3837 */
+  "\xce\x9f\xcc\x93\xcc\x81\0" /* offset 3844 */
+  "\xce\x9f\xcc\x94\xcc\x81\0" /* offset 3851 */
+  "\xcf\x85\xcc\x93\0" /* offset 3858 */
+  "\xcf\x85\xcc\x94\0" /* offset 3863 */
+  "\xcf\x85\xcc\x93\xcc\x80\0" /* offset 3868 */
+  "\xcf\x85\xcc\x94\xcc\x80\0" /* offset 3875 */
+  "\xcf\x85\xcc\x93\xcc\x81\0" /* offset 3882 */
+  "\xcf\x85\xcc\x94\xcc\x81\0" /* offset 3889 */
+  "\xcf\x85\xcc\x93\xcd\x82\0" /* offset 3896 */
+  "\xcf\x85\xcc\x94\xcd\x82\0" /* offset 3903 */
+  "\xce\xa5\xcc\x94\0" /* offset 3910 */
+  "\xce\xa5\xcc\x94\xcc\x80\0" /* offset 3915 */
+  "\xce\xa5\xcc\x94\xcc\x81\0" /* offset 3922 */
+  "\xce\xa5\xcc\x94\xcd\x82\0" /* offset 3929 */
+  "\xcf\x89\xcc\x93\0" /* offset 3936 */
+  "\xcf\x89\xcc\x94\0" /* offset 3941 */
+  "\xcf\x89\xcc\x93\xcc\x80\0" /* offset 3946 */
+  "\xcf\x89\xcc\x94\xcc\x80\0" /* offset 3953 */
+  "\xcf\x89\xcc\x93\xcc\x81\0" /* offset 3960 */
+  "\xcf\x89\xcc\x94\xcc\x81\0" /* offset 3967 */
+  "\xcf\x89\xcc\x93\xcd\x82\0" /* offset 3974 */
+  "\xcf\x89\xcc\x94\xcd\x82\0" /* offset 3981 */
+  "\xce\xa9\xcc\x93\0" /* offset 3988 */
+  "\xce\xa9\xcc\x94\0" /* offset 3993 */
+  "\xce\xa9\xcc\x93\xcc\x80\0" /* offset 3998 */
+  "\xce\xa9\xcc\x94\xcc\x80\0" /* offset 4005 */
+  "\xce\xa9\xcc\x93\xcc\x81\0" /* offset 4012 */
+  "\xce\xa9\xcc\x94\xcc\x81\0" /* offset 4019 */
+  "\xce\xa9\xcc\x93\xcd\x82\0" /* offset 4026 */
+  "\xce\xa9\xcc\x94\xcd\x82\0" /* offset 4033 */
+  "\xce\xb1\xcc\x80\0" /* offset 4040 */
+  "\xce\xb5\xcc\x80\0" /* offset 4045 */
+  "\xce\xb7\xcc\x80\0" /* offset 4050 */
+  "\xce\xb9\xcc\x80\0" /* offset 4055 */
+  "\xce\xbf\xcc\x80\0" /* offset 4060 */
+  "\xcf\x85\xcc\x80\0" /* offset 4065 */
+  "\xcf\x89\xcc\x80\0" /* offset 4070 */
+  "\xce\xb1\xcc\x93\xcd\x85\0" /* offset 4075 */
+  "\xce\xb1\xcc\x94\xcd\x85\0" /* offset 4082 */
+  "\xce\xb1\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4089 */
+  "\xce\xb1\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4098 */
+  "\xce\xb1\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4107 */
+  "\xce\xb1\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4116 */
+  "\xce\xb1\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4125 */
+  "\xce\xb1\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4134 */
+  "\xce\x91\xcc\x93\xcd\x85\0" /* offset 4143 */
+  "\xce\x91\xcc\x94\xcd\x85\0" /* offset 4150 */
+  "\xce\x91\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4157 */
+  "\xce\x91\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4166 */
+  "\xce\x91\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4175 */
+  "\xce\x91\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4184 */
+  "\xce\x91\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4193 */
+  "\xce\x91\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4202 */
+  "\xce\xb7\xcc\x93\xcd\x85\0" /* offset 4211 */
+  "\xce\xb7\xcc\x94\xcd\x85\0" /* offset 4218 */
+  "\xce\xb7\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4225 */
+  "\xce\xb7\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4234 */
+  "\xce\xb7\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4243 */
+  "\xce\xb7\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4252 */
+  "\xce\xb7\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4261 */
+  "\xce\xb7\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4270 */
+  "\xce\x97\xcc\x93\xcd\x85\0" /* offset 4279 */
+  "\xce\x97\xcc\x94\xcd\x85\0" /* offset 4286 */
+  "\xce\x97\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4293 */
+  "\xce\x97\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4302 */
+  "\xce\x97\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4311 */
+  "\xce\x97\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4320 */
+  "\xce\x97\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4329 */
+  "\xce\x97\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4338 */
+  "\xcf\x89\xcc\x93\xcd\x85\0" /* offset 4347 */
+  "\xcf\x89\xcc\x94\xcd\x85\0" /* offset 4354 */
+  "\xcf\x89\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4361 */
+  "\xcf\x89\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4370 */
+  "\xcf\x89\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4379 */
+  "\xcf\x89\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4388 */
+  "\xcf\x89\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4397 */
+  "\xcf\x89\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4406 */
+  "\xce\xa9\xcc\x93\xcd\x85\0" /* offset 4415 */
+  "\xce\xa9\xcc\x94\xcd\x85\0" /* offset 4422 */
+  "\xce\xa9\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4429 */
+  "\xce\xa9\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4438 */
+  "\xce\xa9\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4447 */
+  "\xce\xa9\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4456 */
+  "\xce\xa9\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4465 */
+  "\xce\xa9\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4474 */
+  "\xce\xb1\xcc\x86\0" /* offset 4483 */
+  "\xce\xb1\xcc\x84\0" /* offset 4488 */
+  "\xce\xb1\xcc\x80\xcd\x85\0" /* offset 4493 */
+  "\xce\xb1\xcd\x85\0" /* offset 4500 */
+  "\xce\xb1\xcc\x81\xcd\x85\0" /* offset 4505 */
+  "\xce\xb1\xcd\x82\0" /* offset 4512 */
+  "\xce\xb1\xcd\x82\xcd\x85\0" /* offset 4517 */
+  "\xce\x91\xcc\x86\0" /* offset 4524 */
+  "\xce\x91\xcc\x84\0" /* offset 4529 */
+  "\xce\x91\xcc\x80\0" /* offset 4534 */
+  "\xce\x91\xcd\x85\0" /* offset 4539 */
+  "\x20\xcc\x93\0" /* offset 4544 */
+  "\xce\xb9\0" /* offset 4548 */
+  "\x20\xcd\x82\0" /* offset 4551 */
+  "\xc2\xa8\xcd\x82\0" /* offset 4555 */
+  "\x20\xcc\x88\xcd\x82\0" /* offset 4560 */
+  "\xce\xb7\xcc\x80\xcd\x85\0" /* offset 4566 */
+  "\xce\xb7\xcd\x85\0" /* offset 4573 */
+  "\xce\xb7\xcc\x81\xcd\x85\0" /* offset 4578 */
+  "\xce\xb7\xcd\x82\0" /* offset 4585 */
+  "\xce\xb7\xcd\x82\xcd\x85\0" /* offset 4590 */
+  "\xce\x95\xcc\x80\0" /* offset 4597 */
+  "\xce\x97\xcc\x80\0" /* offset 4602 */
+  "\xce\x97\xcd\x85\0" /* offset 4607 */
+  "\xe1\xbe\xbf\xcc\x80\0" /* offset 4612 */
+  "\x20\xcc\x93\xcc\x80\0" /* offset 4618 */
+  "\xe1\xbe\xbf\xcc\x81\0" /* offset 4624 */
+  "\x20\xcc\x93\xcc\x81\0" /* offset 4630 */
+  "\xe1\xbe\xbf\xcd\x82\0" /* offset 4636 */
+  "\x20\xcc\x93\xcd\x82\0" /* offset 4642 */
+  "\xce\xb9\xcc\x86\0" /* offset 4648 */
+  "\xce\xb9\xcc\x84\0" /* offset 4653 */
+  "\xce\xb9\xcc\x88\xcc\x80\0" /* offset 4658 */
+  "\xce\xb9\xcd\x82\0" /* offset 4665 */
+  "\xce\xb9\xcc\x88\xcd\x82\0" /* offset 4670 */
+  "\xce\x99\xcc\x86\0" /* offset 4677 */
+  "\xce\x99\xcc\x84\0" /* offset 4682 */
+  "\xce\x99\xcc\x80\0" /* offset 4687 */
+  "\xe1\xbf\xbe\xcc\x80\0" /* offset 4692 */
+  "\x20\xcc\x94\xcc\x80\0" /* offset 4698 */
+  "\xe1\xbf\xbe\xcc\x81\0" /* offset 4704 */
+  "\x20\xcc\x94\xcc\x81\0" /* offset 4710 */
+  "\xe1\xbf\xbe\xcd\x82\0" /* offset 4716 */
+  "\x20\xcc\x94\xcd\x82\0" /* offset 4722 */
+  "\xcf\x85\xcc\x86\0" /* offset 4728 */
+  "\xcf\x85\xcc\x84\0" /* offset 4733 */
+  "\xcf\x85\xcc\x88\xcc\x80\0" /* offset 4738 */
+  "\xcf\x81\xcc\x93\0" /* offset 4745 */
+  "\xcf\x81\xcc\x94\0" /* offset 4750 */
+  "\xcf\x85\xcd\x82\0" /* offset 4755 */
+  "\xcf\x85\xcc\x88\xcd\x82\0" /* offset 4760 */
+  "\xce\xa5\xcc\x86\0" /* offset 4767 */
+  "\xce\xa5\xcc\x84\0" /* offset 4772 */
+  "\xce\xa5\xcc\x80\0" /* offset 4777 */
+  "\xce\xa1\xcc\x94\0" /* offset 4782 */
+  "\xc2\xa8\xcc\x80\0" /* offset 4787 */
+  "\x20\xcc\x88\xcc\x80\0" /* offset 4792 */
+  "\x60\0" /* offset 4798 */
+  "\xcf\x89\xcc\x80\xcd\x85\0" /* offset 4800 */
+  "\xcf\x89\xcd\x85\0" /* offset 4807 */
+  "\xcf\x89\xcc\x81\xcd\x85\0" /* offset 4812 */
+  "\xcf\x89\xcd\x82\0" /* offset 4819 */
+  "\xcf\x89\xcd\x82\xcd\x85\0" /* offset 4824 */
+  "\xce\x9f\xcc\x80\0" /* offset 4831 */
+  "\xce\xa9\xcc\x80\0" /* offset 4836 */
+  "\xce\xa9\xcd\x85\0" /* offset 4841 */
+  "\xc2\xb4\0" /* offset 4846 */
+  "\x20\xcc\x94\0" /* offset 4849 */
+  "\xe2\x80\x82\0" /* offset 4853 */
+  "\xe2\x80\x83\0" /* offset 4857 */
+  "\xe2\x80\x90\0" /* offset 4861 */
+  "\x20\xcc\xb3\0" /* offset 4865 */
+  "\x2e\0" /* offset 4869 */
+  "\x2e\x2e\0" /* offset 4871 */
+  "\x2e\x2e\x2e\0" /* offset 4874 */
+  "\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4878 */
+  "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4885 */
+  "\xe2\x80\xb5\xe2\x80\xb5\0" /* offset 4895 */
+  "\xe2\x80\xb5\xe2\x80\xb5\xe2\x80\xb5\0" /* offset 4902 */
+  "\x21\x21\0" /* offset 4912 */
+  "\x20\xcc\x85\0" /* offset 4915 */
+  "\x3f\x3f\0" /* offset 4919 */
+  "\x3f\x21\0" /* offset 4922 */
+  "\x21\x3f\0" /* offset 4925 */
+  "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4928 */
+  "\x30\0" /* offset 4941 */
+  "\x69\0" /* offset 4943 */
+  "\x34\0" /* offset 4945 */
+  "\x35\0" /* offset 4947 */
+  "\x36\0" /* offset 4949 */
+  "\x37\0" /* offset 4951 */
+  "\x38\0" /* offset 4953 */
+  "\x39\0" /* offset 4955 */
+  "\x2b\0" /* offset 4957 */
+  "\xe2\x88\x92\0" /* offset 4959 */
+  "\x3d\0" /* offset 4963 */
+  "\x28\0" /* offset 4965 */
+  "\x29\0" /* offset 4967 */
+  "\x6e\0" /* offset 4969 */
+  "\x52\x73\0" /* offset 4971 */
+  "\x61\x2f\x63\0" /* offset 4974 */
+  "\x61\x2f\x73\0" /* offset 4978 */
+  "\x43\0" /* offset 4982 */
+  "\xc2\xb0\x43\0" /* offset 4984 */
+  "\x63\x2f\x6f\0" /* offset 4988 */
+  "\x63\x2f\x75\0" /* offset 4992 */
+  "\xc6\x90\0" /* offset 4996 */
+  "\xc2\xb0\x46\0" /* offset 4999 */
+  "\x67\0" /* offset 5003 */
+  "\x48\0" /* offset 5005 */
+  "\xc4\xa7\0" /* offset 5007 */
+  "\x49\0" /* offset 5010 */
+  "\x4c\0" /* offset 5012 */
+  "\x4e\0" /* offset 5014 */
+  "\x4e\x6f\0" /* offset 5016 */
+  "\x50\0" /* offset 5019 */
+  "\x51\0" /* offset 5021 */
+  "\x52\0" /* offset 5023 */
+  "\x53\x4d\0" /* offset 5025 */
+  "\x54\x45\x4c\0" /* offset 5028 */
+  "\x54\x4d\0" /* offset 5032 */
+  "\x5a\0" /* offset 5035 */
+  "\xce\xa9\0" /* offset 5037 */
+  "\x4b\0" /* offset 5040 */
+  "\x42\0" /* offset 5042 */
+  "\x65\0" /* offset 5044 */
+  "\x45\0" /* offset 5046 */
+  "\x46\0" /* offset 5048 */
+  "\x4d\0" /* offset 5050 */
+  "\xd7\x90\0" /* offset 5052 */
+  "\xd7\x91\0" /* offset 5055 */
+  "\xd7\x92\0" /* offset 5058 */
+  "\xd7\x93\0" /* offset 5061 */
+  "\xce\xb3\0" /* offset 5064 */
+  "\xce\x93\0" /* offset 5067 */
+  "\xce\xa0\0" /* offset 5070 */
+  "\xe2\x88\x91\0" /* offset 5073 */
+  "\x44\0" /* offset 5077 */
+  "\x64\0" /* offset 5079 */
+  "\x31\xe2\x81\x84\x33\0" /* offset 5081 */
+  "\x32\xe2\x81\x84\x33\0" /* offset 5087 */
+  "\x31\xe2\x81\x84\x35\0" /* offset 5093 */
+  "\x32\xe2\x81\x84\x35\0" /* offset 5099 */
+  "\x33\xe2\x81\x84\x35\0" /* offset 5105 */
+  "\x34\xe2\x81\x84\x35\0" /* offset 5111 */
+  "\x31\xe2\x81\x84\x36\0" /* offset 5117 */
+  "\x35\xe2\x81\x84\x36\0" /* offset 5123 */
+  "\x31\xe2\x81\x84\x38\0" /* offset 5129 */
+  "\x33\xe2\x81\x84\x38\0" /* offset 5135 */
+  "\x35\xe2\x81\x84\x38\0" /* offset 5141 */
+  "\x37\xe2\x81\x84\x38\0" /* offset 5147 */
+  "\x31\xe2\x81\x84\0" /* offset 5153 */
+  "\x49\x49\0" /* offset 5158 */
+  "\x49\x49\x49\0" /* offset 5161 */
+  "\x49\x56\0" /* offset 5165 */
+  "\x56\0" /* offset 5168 */
+  "\x56\x49\0" /* offset 5170 */
+  "\x56\x49\x49\0" /* offset 5173 */
+  "\x56\x49\x49\x49\0" /* offset 5177 */
+  "\x49\x58\0" /* offset 5182 */
+  "\x58\0" /* offset 5185 */
+  "\x58\x49\0" /* offset 5187 */
+  "\x58\x49\x49\0" /* offset 5190 */
+  "\x69\x69\0" /* offset 5194 */
+  "\x69\x69\x69\0" /* offset 5197 */
+  "\x69\x76\0" /* offset 5201 */
+  "\x76\0" /* offset 5204 */
+  "\x76\x69\0" /* offset 5206 */
+  "\x76\x69\x69\0" /* offset 5209 */
+  "\x76\x69\x69\x69\0" /* offset 5213 */
+  "\x69\x78\0" /* offset 5218 */
+  "\x78\x69\0" /* offset 5221 */
+  "\x78\x69\x69\0" /* offset 5224 */
+  "\x63\0" /* offset 5228 */
+  "\x6d\0" /* offset 5230 */
+  "\xe2\x86\x90\xcc\xb8\0" /* offset 5232 */
+  "\xe2\x86\x92\xcc\xb8\0" /* offset 5238 */
+  "\xe2\x86\x94\xcc\xb8\0" /* offset 5244 */
+  "\xe2\x87\x90\xcc\xb8\0" /* offset 5250 */
+  "\xe2\x87\x94\xcc\xb8\0" /* offset 5256 */
+  "\xe2\x87\x92\xcc\xb8\0" /* offset 5262 */
+  "\xe2\x88\x83\xcc\xb8\0" /* offset 5268 */
+  "\xe2\x88\x88\xcc\xb8\0" /* offset 5274 */
+  "\xe2\x88\x8b\xcc\xb8\0" /* offset 5280 */
+  "\xe2\x88\xa3\xcc\xb8\0" /* offset 5286 */
+  "\xe2\x88\xa5\xcc\xb8\0" /* offset 5292 */
+  "\xe2\x88\xab\xe2\x88\xab\0" /* offset 5298 */
+  "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\0" /* offset 5305 */
+  "\xe2\x88\xae\xe2\x88\xae\0" /* offset 5315 */
+  "\xe2\x88\xae\xe2\x88\xae\xe2\x88\xae\0" /* offset 5322 */
+  "\xe2\x88\xbc\xcc\xb8\0" /* offset 5332 */
+  "\xe2\x89\x83\xcc\xb8\0" /* offset 5338 */
+  "\xe2\x89\x85\xcc\xb8\0" /* offset 5344 */
+  "\xe2\x89\x88\xcc\xb8\0" /* offset 5350 */
+  "\x3d\xcc\xb8\0" /* offset 5356 */
+  "\xe2\x89\xa1\xcc\xb8\0" /* offset 5360 */
+  "\xe2\x89\x8d\xcc\xb8\0" /* offset 5366 */
+  "\x3c\xcc\xb8\0" /* offset 5372 */
+  "\x3e\xcc\xb8\0" /* offset 5376 */
+  "\xe2\x89\xa4\xcc\xb8\0" /* offset 5380 */
+  "\xe2\x89\xa5\xcc\xb8\0" /* offset 5386 */
+  "\xe2\x89\xb2\xcc\xb8\0" /* offset 5392 */
+  "\xe2\x89\xb3\xcc\xb8\0" /* offset 5398 */
+  "\xe2\x89\xb6\xcc\xb8\0" /* offset 5404 */
+  "\xe2\x89\xb7\xcc\xb8\0" /* offset 5410 */
+  "\xe2\x89\xba\xcc\xb8\0" /* offset 5416 */
+  "\xe2\x89\xbb\xcc\xb8\0" /* offset 5422 */
+  "\xe2\x8a\x82\xcc\xb8\0" /* offset 5428 */
+  "\xe2\x8a\x83\xcc\xb8\0" /* offset 5434 */
+  "\xe2\x8a\x86\xcc\xb8\0" /* offset 5440 */
+  "\xe2\x8a\x87\xcc\xb8\0" /* offset 5446 */
+  "\xe2\x8a\xa2\xcc\xb8\0" /* offset 5452 */
+  "\xe2\x8a\xa8\xcc\xb8\0" /* offset 5458 */
+  "\xe2\x8a\xa9\xcc\xb8\0" /* offset 5464 */
+  "\xe2\x8a\xab\xcc\xb8\0" /* offset 5470 */
+  "\xe2\x89\xbc\xcc\xb8\0" /* offset 5476 */
+  "\xe2\x89\xbd\xcc\xb8\0" /* offset 5482 */
+  "\xe2\x8a\x91\xcc\xb8\0" /* offset 5488 */
+  "\xe2\x8a\x92\xcc\xb8\0" /* offset 5494 */
+  "\xe2\x8a\xb2\xcc\xb8\0" /* offset 5500 */
+  "\xe2\x8a\xb3\xcc\xb8\0" /* offset 5506 */
+  "\xe2\x8a\xb4\xcc\xb8\0" /* offset 5512 */
+  "\xe2\x8a\xb5\xcc\xb8\0" /* offset 5518 */
+  "\xe3\x80\x88\0" /* offset 5524 */
+  "\xe3\x80\x89\0" /* offset 5528 */
+  "\x31\x30\0" /* offset 5532 */
+  "\x31\x31\0" /* offset 5535 */
+  "\x31\x32\0" /* offset 5538 */
+  "\x31\x33\0" /* offset 5541 */
+  "\x31\x34\0" /* offset 5544 */
+  "\x31\x35\0" /* offset 5547 */
+  "\x31\x36\0" /* offset 5550 */
+  "\x31\x37\0" /* offset 5553 */
+  "\x31\x38\0" /* offset 5556 */
+  "\x31\x39\0" /* offset 5559 */
+  "\x32\x30\0" /* offset 5562 */
+  "\x28\x31\x29\0" /* offset 5565 */
+  "\x28\x32\x29\0" /* offset 5569 */
+  "\x28\x33\x29\0" /* offset 5573 */
+  "\x28\x34\x29\0" /* offset 5577 */
+  "\x28\x35\x29\0" /* offset 5581 */
+  "\x28\x36\x29\0" /* offset 5585 */
+  "\x28\x37\x29\0" /* offset 5589 */
+  "\x28\x38\x29\0" /* offset 5593 */
+  "\x28\x39\x29\0" /* offset 5597 */
+  "\x28\x31\x30\x29\0" /* offset 5601 */
+  "\x28\x31\x31\x29\0" /* offset 5606 */
+  "\x28\x31\x32\x29\0" /* offset 5611 */
+  "\x28\x31\x33\x29\0" /* offset 5616 */
+  "\x28\x31\x34\x29\0" /* offset 5621 */
+  "\x28\x31\x35\x29\0" /* offset 5626 */
+  "\x28\x31\x36\x29\0" /* offset 5631 */
+  "\x28\x31\x37\x29\0" /* offset 5636 */
+  "\x28\x31\x38\x29\0" /* offset 5641 */
+  "\x28\x31\x39\x29\0" /* offset 5646 */
+  "\x28\x32\x30\x29\0" /* offset 5651 */
+  "\x31\x2e\0" /* offset 5656 */
+  "\x32\x2e\0" /* offset 5659 */
+  "\x33\x2e\0" /* offset 5662 */
+  "\x34\x2e\0" /* offset 5665 */
+  "\x35\x2e\0" /* offset 5668 */
+  "\x36\x2e\0" /* offset 5671 */
+  "\x37\x2e\0" /* offset 5674 */
+  "\x38\x2e\0" /* offset 5677 */
+  "\x39\x2e\0" /* offset 5680 */
+  "\x31\x30\x2e\0" /* offset 5683 */
+  "\x31\x31\x2e\0" /* offset 5687 */
+  "\x31\x32\x2e\0" /* offset 5691 */
+  "\x31\x33\x2e\0" /* offset 5695 */
+  "\x31\x34\x2e\0" /* offset 5699 */
+  "\x31\x35\x2e\0" /* offset 5703 */
+  "\x31\x36\x2e\0" /* offset 5707 */
+  "\x31\x37\x2e\0" /* offset 5711 */
+  "\x31\x38\x2e\0" /* offset 5715 */
+  "\x31\x39\x2e\0" /* offset 5719 */
+  "\x32\x30\x2e\0" /* offset 5723 */
+  "\x28\x61\x29\0" /* offset 5727 */
+  "\x28\x62\x29\0" /* offset 5731 */
+  "\x28\x63\x29\0" /* offset 5735 */
+  "\x28\x64\x29\0" /* offset 5739 */
+  "\x28\x65\x29\0" /* offset 5743 */
+  "\x28\x66\x29\0" /* offset 5747 */
+  "\x28\x67\x29\0" /* offset 5751 */
+  "\x28\x68\x29\0" /* offset 5755 */
+  "\x28\x69\x29\0" /* offset 5759 */
+  "\x28\x6a\x29\0" /* offset 5763 */
+  "\x28\x6b\x29\0" /* offset 5767 */
+  "\x28\x6c\x29\0" /* offset 5771 */
+  "\x28\x6d\x29\0" /* offset 5775 */
+  "\x28\x6e\x29\0" /* offset 5779 */
+  "\x28\x6f\x29\0" /* offset 5783 */
+  "\x28\x70\x29\0" /* offset 5787 */
+  "\x28\x71\x29\0" /* offset 5791 */
+  "\x28\x72\x29\0" /* offset 5795 */
+  "\x28\x73\x29\0" /* offset 5799 */
+  "\x28\x74\x29\0" /* offset 5803 */
+  "\x28\x75\x29\0" /* offset 5807 */
+  "\x28\x76\x29\0" /* offset 5811 */
+  "\x28\x77\x29\0" /* offset 5815 */
+  "\x28\x78\x29\0" /* offset 5819 */
+  "\x28\x79\x29\0" /* offset 5823 */
+  "\x28\x7a\x29\0" /* offset 5827 */
+  "\x41\0" /* offset 5831 */
+  "\x47\0" /* offset 5833 */
+  "\x4a\0" /* offset 5835 */
+  "\x4f\0" /* offset 5837 */
+  "\x53\0" /* offset 5839 */
+  "\x54\0" /* offset 5841 */
+  "\x55\0" /* offset 5843 */
+  "\x57\0" /* offset 5845 */
+  "\x59\0" /* offset 5847 */
+  "\x62\0" /* offset 5849 */
+  "\x66\0" /* offset 5851 */
+  "\x6b\0" /* offset 5853 */
+  "\x70\0" /* offset 5855 */
+  "\x71\0" /* offset 5857 */
+  "\x74\0" /* offset 5859 */
+  "\x75\0" /* offset 5861 */
+  "\x7a\0" /* offset 5863 */
+  "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\0" /* offset 5865 */
+  "\x3a\x3a\x3d\0" /* offset 5878 */
+  "\x3d\x3d\0" /* offset 5882 */
+  "\x3d\x3d\x3d\0" /* offset 5885 */
+  "\xe2\xab\x9d\xcc\xb8\0" /* offset 5889 */
+  "\xe6\xaf\x8d\0" /* offset 5895 */
+  "\xe9\xbe\x9f\0" /* offset 5899 */
+  "\xe4\xb8\x80\0" /* offset 5903 */
+  "\xe4\xb8\xa8\0" /* offset 5907 */
+  "\xe4\xb8\xb6\0" /* offset 5911 */
+  "\xe4\xb8\xbf\0" /* offset 5915 */
+  "\xe4\xb9\x99\0" /* offset 5919 */
+  "\xe4\xba\x85\0" /* offset 5923 */
+  "\xe4\xba\x8c\0" /* offset 5927 */
+  "\xe4\xba\xa0\0" /* offset 5931 */
+  "\xe4\xba\xba\0" /* offset 5935 */
+  "\xe5\x84\xbf\0" /* offset 5939 */
+  "\xe5\x85\xa5\0" /* offset 5943 */
+  "\xe5\x85\xab\0" /* offset 5947 */
+  "\xe5\x86\x82\0" /* offset 5951 */
+  "\xe5\x86\x96\0" /* offset 5955 */
+  "\xe5\x86\xab\0" /* offset 5959 */
+  "\xe5\x87\xa0\0" /* offset 5963 */
+  "\xe5\x87\xb5\0" /* offset 5967 */
+  "\xe5\x88\x80\0" /* offset 5971 */
+  "\xe5\x8a\x9b\0" /* offset 5975 */
+  "\xe5\x8b\xb9\0" /* offset 5979 */
+  "\xe5\x8c\x95\0" /* offset 5983 */
+  "\xe5\x8c\x9a\0" /* offset 5987 */
+  "\xe5\x8c\xb8\0" /* offset 5991 */
+  "\xe5\x8d\x81\0" /* offset 5995 */
+  "\xe5\x8d\x9c\0" /* offset 5999 */
+  "\xe5\x8d\xa9\0" /* offset 6003 */
+  "\xe5\x8e\x82\0" /* offset 6007 */
+  "\xe5\x8e\xb6\0" /* offset 6011 */
+  "\xe5\x8f\x88\0" /* offset 6015 */
+  "\xe5\x8f\xa3\0" /* offset 6019 */
+  "\xe5\x9b\x97\0" /* offset 6023 */
+  "\xe5\x9c\x9f\0" /* offset 6027 */
+  "\xe5\xa3\xab\0" /* offset 6031 */
+  "\xe5\xa4\x82\0" /* offset 6035 */
+  "\xe5\xa4\x8a\0" /* offset 6039 */
+  "\xe5\xa4\x95\0" /* offset 6043 */
+  "\xe5\xa4\xa7\0" /* offset 6047 */
+  "\xe5\xa5\xb3\0" /* offset 6051 */
+  "\xe5\xad\x90\0" /* offset 6055 */
+  "\xe5\xae\x80\0" /* offset 6059 */
+  "\xe5\xaf\xb8\0" /* offset 6063 */
+  "\xe5\xb0\x8f\0" /* offset 6067 */
+  "\xe5\xb0\xa2\0" /* offset 6071 */
+  "\xe5\xb0\xb8\0" /* offset 6075 */
+  "\xe5\xb1\xae\0" /* offset 6079 */
+  "\xe5\xb1\xb1\0" /* offset 6083 */
+  "\xe5\xb7\x9b\0" /* offset 6087 */
+  "\xe5\xb7\xa5\0" /* offset 6091 */
+  "\xe5\xb7\xb1\0" /* offset 6095 */
+  "\xe5\xb7\xbe\0" /* offset 6099 */
+  "\xe5\xb9\xb2\0" /* offset 6103 */
+  "\xe5\xb9\xba\0" /* offset 6107 */
+  "\xe5\xb9\xbf\0" /* offset 6111 */
+  "\xe5\xbb\xb4\0" /* offset 6115 */
+  "\xe5\xbb\xbe\0" /* offset 6119 */
+  "\xe5\xbc\x8b\0" /* offset 6123 */
+  "\xe5\xbc\x93\0" /* offset 6127 */
+  "\xe5\xbd\x90\0" /* offset 6131 */
+  "\xe5\xbd\xa1\0" /* offset 6135 */
+  "\xe5\xbd\xb3\0" /* offset 6139 */
+  "\xe5\xbf\x83\0" /* offset 6143 */
+  "\xe6\x88\x88\0" /* offset 6147 */
+  "\xe6\x88\xb6\0" /* offset 6151 */
+  "\xe6\x89\x8b\0" /* offset 6155 */
+  "\xe6\x94\xaf\0" /* offset 6159 */
+  "\xe6\x94\xb4\0" /* offset 6163 */
+  "\xe6\x96\x87\0" /* offset 6167 */
+  "\xe6\x96\x97\0" /* offset 6171 */
+  "\xe6\x96\xa4\0" /* offset 6175 */
+  "\xe6\x96\xb9\0" /* offset 6179 */
+  "\xe6\x97\xa0\0" /* offset 6183 */
+  "\xe6\x97\xa5\0" /* offset 6187 */
+  "\xe6\x9b\xb0\0" /* offset 6191 */
+  "\xe6\x9c\x88\0" /* offset 6195 */
+  "\xe6\x9c\xa8\0" /* offset 6199 */
+  "\xe6\xac\xa0\0" /* offset 6203 */
+  "\xe6\xad\xa2\0" /* offset 6207 */
+  "\xe6\xad\xb9\0" /* offset 6211 */
+  "\xe6\xae\xb3\0" /* offset 6215 */
+  "\xe6\xaf\x8b\0" /* offset 6219 */
+  "\xe6\xaf\x94\0" /* offset 6223 */
+  "\xe6\xaf\x9b\0" /* offset 6227 */
+  "\xe6\xb0\x8f\0" /* offset 6231 */
+  "\xe6\xb0\x94\0" /* offset 6235 */
+  "\xe6\xb0\xb4\0" /* offset 6239 */
+  "\xe7\x81\xab\0" /* offset 6243 */
+  "\xe7\x88\xaa\0" /* offset 6247 */
+  "\xe7\x88\xb6\0" /* offset 6251 */
+  "\xe7\x88\xbb\0" /* offset 6255 */
+  "\xe7\x88\xbf\0" /* offset 6259 */
+  "\xe7\x89\x87\0" /* offset 6263 */
+  "\xe7\x89\x99\0" /* offset 6267 */
+  "\xe7\x89\x9b\0" /* offset 6271 */
+  "\xe7\x8a\xac\0" /* offset 6275 */
+  "\xe7\x8e\x84\0" /* offset 6279 */
+  "\xe7\x8e\x89\0" /* offset 6283 */
+  "\xe7\x93\x9c\0" /* offset 6287 */
+  "\xe7\x93\xa6\0" /* offset 6291 */
+  "\xe7\x94\x98\0" /* offset 6295 */
+  "\xe7\x94\x9f\0" /* offset 6299 */
+  "\xe7\x94\xa8\0" /* offset 6303 */
+  "\xe7\x94\xb0\0" /* offset 6307 */
+  "\xe7\x96\x8b\0" /* offset 6311 */
+  "\xe7\x96\x92\0" /* offset 6315 */
+  "\xe7\x99\xb6\0" /* offset 6319 */
+  "\xe7\x99\xbd\0" /* offset 6323 */
+  "\xe7\x9a\xae\0" /* offset 6327 */
+  "\xe7\x9a\xbf\0" /* offset 6331 */
+  "\xe7\x9b\xae\0" /* offset 6335 */
+  "\xe7\x9f\x9b\0" /* offset 6339 */
+  "\xe7\x9f\xa2\0" /* offset 6343 */
+  "\xe7\x9f\xb3\0" /* offset 6347 */
+  "\xe7\xa4\xba\0" /* offset 6351 */
+  "\xe7\xa6\xb8\0" /* offset 6355 */
+  "\xe7\xa6\xbe\0" /* offset 6359 */
+  "\xe7\xa9\xb4\0" /* offset 6363 */
+  "\xe7\xab\x8b\0" /* offset 6367 */
+  "\xe7\xab\xb9\0" /* offset 6371 */
+  "\xe7\xb1\xb3\0" /* offset 6375 */
+  "\xe7\xb3\xb8\0" /* offset 6379 */
+  "\xe7\xbc\xb6\0" /* offset 6383 */
+  "\xe7\xbd\x91\0" /* offset 6387 */
+  "\xe7\xbe\x8a\0" /* offset 6391 */
+  "\xe7\xbe\xbd\0" /* offset 6395 */
+  "\xe8\x80\x81\0" /* offset 6399 */
+  "\xe8\x80\x8c\0" /* offset 6403 */
+  "\xe8\x80\x92\0" /* offset 6407 */
+  "\xe8\x80\xb3\0" /* offset 6411 */
+  "\xe8\x81\xbf\0" /* offset 6415 */
+  "\xe8\x82\x89\0" /* offset 6419 */
+  "\xe8\x87\xa3\0" /* offset 6423 */
+  "\xe8\x87\xaa\0" /* offset 6427 */
+  "\xe8\x87\xb3\0" /* offset 6431 */
+  "\xe8\x87\xbc\0" /* offset 6435 */
+  "\xe8\x88\x8c\0" /* offset 6439 */
+  "\xe8\x88\x9b\0" /* offset 6443 */
+  "\xe8\x88\x9f\0" /* offset 6447 */
+  "\xe8\x89\xae\0" /* offset 6451 */
+  "\xe8\x89\xb2\0" /* offset 6455 */
+  "\xe8\x89\xb8\0" /* offset 6459 */
+  "\xe8\x99\x8d\0" /* offset 6463 */
+  "\xe8\x99\xab\0" /* offset 6467 */
+  "\xe8\xa1\x80\0" /* offset 6471 */
+  "\xe8\xa1\x8c\0" /* offset 6475 */
+  "\xe8\xa1\xa3\0" /* offset 6479 */
+  "\xe8\xa5\xbe\0" /* offset 6483 */
+  "\xe8\xa6\x8b\0" /* offset 6487 */
+  "\xe8\xa7\x92\0" /* offset 6491 */
+  "\xe8\xa8\x80\0" /* offset 6495 */
+  "\xe8\xb0\xb7\0" /* offset 6499 */
+  "\xe8\xb1\x86\0" /* offset 6503 */
+  "\xe8\xb1\x95\0" /* offset 6507 */
+  "\xe8\xb1\xb8\0" /* offset 6511 */
+  "\xe8\xb2\x9d\0" /* offset 6515 */
+  "\xe8\xb5\xa4\0" /* offset 6519 */
+  "\xe8\xb5\xb0\0" /* offset 6523 */
+  "\xe8\xb6\xb3\0" /* offset 6527 */
+  "\xe8\xba\xab\0" /* offset 6531 */
+  "\xe8\xbb\x8a\0" /* offset 6535 */
+  "\xe8\xbe\x9b\0" /* offset 6539 */
+  "\xe8\xbe\xb0\0" /* offset 6543 */
+  "\xe8\xbe\xb5\0" /* offset 6547 */
+  "\xe9\x82\x91\0" /* offset 6551 */
+  "\xe9\x85\x89\0" /* offset 6555 */
+  "\xe9\x87\x86\0" /* offset 6559 */
+  "\xe9\x87\x8c\0" /* offset 6563 */
+  "\xe9\x87\x91\0" /* offset 6567 */
+  "\xe9\x95\xb7\0" /* offset 6571 */
+  "\xe9\x96\x80\0" /* offset 6575 */
+  "\xe9\x98\x9c\0" /* offset 6579 */
+  "\xe9\x9a\xb6\0" /* offset 6583 */
+  "\xe9\x9a\xb9\0" /* offset 6587 */
+  "\xe9\x9b\xa8\0" /* offset 6591 */
+  "\xe9\x9d\x91\0" /* offset 6595 */
+  "\xe9\x9d\x9e\0" /* offset 6599 */
+  "\xe9\x9d\xa2\0" /* offset 6603 */
+  "\xe9\x9d\xa9\0" /* offset 6607 */
+  "\xe9\x9f\x8b\0" /* offset 6611 */
+  "\xe9\x9f\xad\0" /* offset 6615 */
+  "\xe9\x9f\xb3\0" /* offset 6619 */
+  "\xe9\xa0\x81\0" /* offset 6623 */
+  "\xe9\xa2\xa8\0" /* offset 6627 */
+  "\xe9\xa3\x9b\0" /* offset 6631 */
+  "\xe9\xa3\x9f\0" /* offset 6635 */
+  "\xe9\xa6\x96\0" /* offset 6639 */
+  "\xe9\xa6\x99\0" /* offset 6643 */
+  "\xe9\xa6\xac\0" /* offset 6647 */
+  "\xe9\xaa\xa8\0" /* offset 6651 */
+  "\xe9\xab\x98\0" /* offset 6655 */
+  "\xe9\xab\x9f\0" /* offset 6659 */
+  "\xe9\xac\xa5\0" /* offset 6663 */
+  "\xe9\xac\xaf\0" /* offset 6667 */
+  "\xe9\xac\xb2\0" /* offset 6671 */
+  "\xe9\xac\xbc\0" /* offset 6675 */
+  "\xe9\xad\x9a\0" /* offset 6679 */
+  "\xe9\xb3\xa5\0" /* offset 6683 */
+  "\xe9\xb9\xb5\0" /* offset 6687 */
+  "\xe9\xb9\xbf\0" /* offset 6691 */
+  "\xe9\xba\xa5\0" /* offset 6695 */
+  "\xe9\xba\xbb\0" /* offset 6699 */
+  "\xe9\xbb\x83\0" /* offset 6703 */
+  "\xe9\xbb\x8d\0" /* offset 6707 */
+  "\xe9\xbb\x91\0" /* offset 6711 */
+  "\xe9\xbb\xb9\0" /* offset 6715 */
+  "\xe9\xbb\xbd\0" /* offset 6719 */
+  "\xe9\xbc\x8e\0" /* offset 6723 */
+  "\xe9\xbc\x93\0" /* offset 6727 */
+  "\xe9\xbc\xa0\0" /* offset 6731 */
+  "\xe9\xbc\xbb\0" /* offset 6735 */
+  "\xe9\xbd\x8a\0" /* offset 6739 */
+  "\xe9\xbd\x92\0" /* offset 6743 */
+  "\xe9\xbe\x8d\0" /* offset 6747 */
+  "\xe9\xbe\x9c\0" /* offset 6751 */
+  "\xe9\xbe\xa0\0" /* offset 6755 */
+  "\xe3\x80\x92\0" /* offset 6759 */
+  "\xe5\x8d\x84\0" /* offset 6763 */
+  "\xe5\x8d\x85\0" /* offset 6767 */
+  "\xe3\x81\x8b\xe3\x82\x99\0" /* offset 6771 */
+  "\xe3\x81\x8d\xe3\x82\x99\0" /* offset 6778 */
+  "\xe3\x81\x8f\xe3\x82\x99\0" /* offset 6785 */
+  "\xe3\x81\x91\xe3\x82\x99\0" /* offset 6792 */
+  "\xe3\x81\x93\xe3\x82\x99\0" /* offset 6799 */
+  "\xe3\x81\x95\xe3\x82\x99\0" /* offset 6806 */
+  "\xe3\x81\x97\xe3\x82\x99\0" /* offset 6813 */
+  "\xe3\x81\x99\xe3\x82\x99\0" /* offset 6820 */
+  "\xe3\x81\x9b\xe3\x82\x99\0" /* offset 6827 */
+  "\xe3\x81\x9d\xe3\x82\x99\0" /* offset 6834 */
+  "\xe3\x81\x9f\xe3\x82\x99\0" /* offset 6841 */
+  "\xe3\x81\xa1\xe3\x82\x99\0" /* offset 6848 */
+  "\xe3\x81\xa4\xe3\x82\x99\0" /* offset 6855 */
+  "\xe3\x81\xa6\xe3\x82\x99\0" /* offset 6862 */
+  "\xe3\x81\xa8\xe3\x82\x99\0" /* offset 6869 */
+  "\xe3\x81\xaf\xe3\x82\x99\0" /* offset 6876 */
+  "\xe3\x81\xaf\xe3\x82\x9a\0" /* offset 6883 */
+  "\xe3\x81\xb2\xe3\x82\x99\0" /* offset 6890 */
+  "\xe3\x81\xb2\xe3\x82\x9a\0" /* offset 6897 */
+  "\xe3\x81\xb5\xe3\x82\x99\0" /* offset 6904 */
+  "\xe3\x81\xb5\xe3\x82\x9a\0" /* offset 6911 */
+  "\xe3\x81\xb8\xe3\x82\x99\0" /* offset 6918 */
+  "\xe3\x81\xb8\xe3\x82\x9a\0" /* offset 6925 */
+  "\xe3\x81\xbb\xe3\x82\x99\0" /* offset 6932 */
+  "\xe3\x81\xbb\xe3\x82\x9a\0" /* offset 6939 */
+  "\xe3\x81\x86\xe3\x82\x99\0" /* offset 6946 */
+  "\x20\xe3\x82\x99\0" /* offset 6953 */
+  "\x20\xe3\x82\x9a\0" /* offset 6958 */
+  "\xe3\x82\x9d\xe3\x82\x99\0" /* offset 6963 */
+  "\xe3\x82\x88\xe3\x82\x8a\0" /* offset 6970 */
+  "\xe3\x82\xab\xe3\x82\x99\0" /* offset 6977 */
+  "\xe3\x82\xad\xe3\x82\x99\0" /* offset 6984 */
+  "\xe3\x82\xaf\xe3\x82\x99\0" /* offset 6991 */
+  "\xe3\x82\xb1\xe3\x82\x99\0" /* offset 6998 */
+  "\xe3\x82\xb3\xe3\x82\x99\0" /* offset 7005 */
+  "\xe3\x82\xb5\xe3\x82\x99\0" /* offset 7012 */
+  "\xe3\x82\xb7\xe3\x82\x99\0" /* offset 7019 */
+  "\xe3\x82\xb9\xe3\x82\x99\0" /* offset 7026 */
+  "\xe3\x82\xbb\xe3\x82\x99\0" /* offset 7033 */
+  "\xe3\x82\xbd\xe3\x82\x99\0" /* offset 7040 */
+  "\xe3\x82\xbf\xe3\x82\x99\0" /* offset 7047 */
+  "\xe3\x83\x81\xe3\x82\x99\0" /* offset 7054 */
+  "\xe3\x83\x84\xe3\x82\x99\0" /* offset 7061 */
+  "\xe3\x83\x86\xe3\x82\x99\0" /* offset 7068 */
+  "\xe3\x83\x88\xe3\x82\x99\0" /* offset 7075 */
+  "\xe3\x83\x8f\xe3\x82\x99\0" /* offset 7082 */
+  "\xe3\x83\x8f\xe3\x82\x9a\0" /* offset 7089 */
+  "\xe3\x83\x92\xe3\x82\x99\0" /* offset 7096 */
+  "\xe3\x83\x92\xe3\x82\x9a\0" /* offset 7103 */
+  "\xe3\x83\x95\xe3\x82\x99\0" /* offset 7110 */
+  "\xe3\x83\x95\xe3\x82\x9a\0" /* offset 7117 */
+  "\xe3\x83\x98\xe3\x82\x99\0" /* offset 7124 */
+  "\xe3\x83\x98\xe3\x82\x9a\0" /* offset 7131 */
+  "\xe3\x83\x9b\xe3\x82\x99\0" /* offset 7138 */
+  "\xe3\x83\x9b\xe3\x82\x9a\0" /* offset 7145 */
+  "\xe3\x82\xa6\xe3\x82\x99\0" /* offset 7152 */
+  "\xe3\x83\xaf\xe3\x82\x99\0" /* offset 7159 */
+  "\xe3\x83\xb0\xe3\x82\x99\0" /* offset 7166 */
+  "\xe3\x83\xb1\xe3\x82\x99\0" /* offset 7173 */
+  "\xe3\x83\xb2\xe3\x82\x99\0" /* offset 7180 */
+  "\xe3\x83\xbd\xe3\x82\x99\0" /* offset 7187 */
+  "\xe3\x82\xb3\xe3\x83\x88\0" /* offset 7194 */
+  "\xe1\x84\x80\0" /* offset 7201 */
+  "\xe1\x84\x81\0" /* offset 7205 */
+  "\xe1\x86\xaa\0" /* offset 7209 */
+  "\xe1\x84\x82\0" /* offset 7213 */
+  "\xe1\x86\xac\0" /* offset 7217 */
+  "\xe1\x86\xad\0" /* offset 7221 */
+  "\xe1\x84\x83\0" /* offset 7225 */
+  "\xe1\x84\x84\0" /* offset 7229 */
+  "\xe1\x84\x85\0" /* offset 7233 */
+  "\xe1\x86\xb0\0" /* offset 7237 */
+  "\xe1\x86\xb1\0" /* offset 7241 */
+  "\xe1\x86\xb2\0" /* offset 7245 */
+  "\xe1\x86\xb3\0" /* offset 7249 */
+  "\xe1\x86\xb4\0" /* offset 7253 */
+  "\xe1\x86\xb5\0" /* offset 7257 */
+  "\xe1\x84\x9a\0" /* offset 7261 */
+  "\xe1\x84\x86\0" /* offset 7265 */
+  "\xe1\x84\x87\0" /* offset 7269 */
+  "\xe1\x84\x88\0" /* offset 7273 */
+  "\xe1\x84\xa1\0" /* offset 7277 */
+  "\xe1\x84\x89\0" /* offset 7281 */
+  "\xe1\x84\x8a\0" /* offset 7285 */
+  "\xe1\x84\x8b\0" /* offset 7289 */
+  "\xe1\x84\x8c\0" /* offset 7293 */
+  "\xe1\x84\x8d\0" /* offset 7297 */
+  "\xe1\x84\x8e\0" /* offset 7301 */
+  "\xe1\x84\x8f\0" /* offset 7305 */
+  "\xe1\x84\x90\0" /* offset 7309 */
+  "\xe1\x84\x91\0" /* offset 7313 */
+  "\xe1\x84\x92\0" /* offset 7317 */
+  "\xe1\x85\xa1\0" /* offset 7321 */
+  "\xe1\x85\xa2\0" /* offset 7325 */
+  "\xe1\x85\xa3\0" /* offset 7329 */
+  "\xe1\x85\xa4\0" /* offset 7333 */
+  "\xe1\x85\xa5\0" /* offset 7337 */
+  "\xe1\x85\xa6\0" /* offset 7341 */
+  "\xe1\x85\xa7\0" /* offset 7345 */
+  "\xe1\x85\xa8\0" /* offset 7349 */
+  "\xe1\x85\xa9\0" /* offset 7353 */
+  "\xe1\x85\xaa\0" /* offset 7357 */
+  "\xe1\x85\xab\0" /* offset 7361 */
+  "\xe1\x85\xac\0" /* offset 7365 */
+  "\xe1\x85\xad\0" /* offset 7369 */
+  "\xe1\x85\xae\0" /* offset 7373 */
+  "\xe1\x85\xaf\0" /* offset 7377 */
+  "\xe1\x85\xb0\0" /* offset 7381 */
+  "\xe1\x85\xb1\0" /* offset 7385 */
+  "\xe1\x85\xb2\0" /* offset 7389 */
+  "\xe1\x85\xb3\0" /* offset 7393 */
+  "\xe1\x85\xb4\0" /* offset 7397 */
+  "\xe1\x85\xb5\0" /* offset 7401 */
+  "\xe1\x85\xa0\0" /* offset 7405 */
+  "\xe1\x84\x94\0" /* offset 7409 */
+  "\xe1\x84\x95\0" /* offset 7413 */
+  "\xe1\x87\x87\0" /* offset 7417 */
+  "\xe1\x87\x88\0" /* offset 7421 */
+  "\xe1\x87\x8c\0" /* offset 7425 */
+  "\xe1\x87\x8e\0" /* offset 7429 */
+  "\xe1\x87\x93\0" /* offset 7433 */
+  "\xe1\x87\x97\0" /* offset 7437 */
+  "\xe1\x87\x99\0" /* offset 7441 */
+  "\xe1\x84\x9c\0" /* offset 7445 */
+  "\xe1\x87\x9d\0" /* offset 7449 */
+  "\xe1\x87\x9f\0" /* offset 7453 */
+  "\xe1\x84\x9d\0" /* offset 7457 */
+  "\xe1\x84\x9e\0" /* offset 7461 */
+  "\xe1\x84\xa0\0" /* offset 7465 */
+  "\xe1\x84\xa2\0" /* offset 7469 */
+  "\xe1\x84\xa3\0" /* offset 7473 */
+  "\xe1\x84\xa7\0" /* offset 7477 */
+  "\xe1\x84\xa9\0" /* offset 7481 */
+  "\xe1\x84\xab\0" /* offset 7485 */
+  "\xe1\x84\xac\0" /* offset 7489 */
+  "\xe1\x84\xad\0" /* offset 7493 */
+  "\xe1\x84\xae\0" /* offset 7497 */
+  "\xe1\x84\xaf\0" /* offset 7501 */
+  "\xe1\x84\xb2\0" /* offset 7505 */
+  "\xe1\x84\xb6\0" /* offset 7509 */
+  "\xe1\x85\x80\0" /* offset 7513 */
+  "\xe1\x85\x87\0" /* offset 7517 */
+  "\xe1\x85\x8c\0" /* offset 7521 */
+  "\xe1\x87\xb1\0" /* offset 7525 */
+  "\xe1\x87\xb2\0" /* offset 7529 */
+  "\xe1\x85\x97\0" /* offset 7533 */
+  "\xe1\x85\x98\0" /* offset 7537 */
+  "\xe1\x85\x99\0" /* offset 7541 */
+  "\xe1\x86\x84\0" /* offset 7545 */
+  "\xe1\x86\x85\0" /* offset 7549 */
+  "\xe1\x86\x88\0" /* offset 7553 */
+  "\xe1\x86\x91\0" /* offset 7557 */
+  "\xe1\x86\x92\0" /* offset 7561 */
+  "\xe1\x86\x94\0" /* offset 7565 */
+  "\xe1\x86\x9e\0" /* offset 7569 */
+  "\xe1\x86\xa1\0" /* offset 7573 */
+  "\xe4\xb8\x89\0" /* offset 7577 */
+  "\xe5\x9b\x9b\0" /* offset 7581 */
+  "\xe4\xb8\x8a\0" /* offset 7585 */
+  "\xe4\xb8\xad\0" /* offset 7589 */
+  "\xe4\xb8\x8b\0" /* offset 7593 */
+  "\xe7\x94\xb2\0" /* offset 7597 */
+  "\xe4\xb8\x99\0" /* offset 7601 */
+  "\xe4\xb8\x81\0" /* offset 7605 */
+  "\xe5\xa4\xa9\0" /* offset 7609 */
+  "\xe5\x9c\xb0\0" /* offset 7613 */
+  "\x28\xe1\x84\x80\x29\0" /* offset 7617 */
+  "\x28\xe1\x84\x82\x29\0" /* offset 7623 */
+  "\x28\xe1\x84\x83\x29\0" /* offset 7629 */
+  "\x28\xe1\x84\x85\x29\0" /* offset 7635 */
+  "\x28\xe1\x84\x86\x29\0" /* offset 7641 */
+  "\x28\xe1\x84\x87\x29\0" /* offset 7647 */
+  "\x28\xe1\x84\x89\x29\0" /* offset 7653 */
+  "\x28\xe1\x84\x8b\x29\0" /* offset 7659 */
+  "\x28\xe1\x84\x8c\x29\0" /* offset 7665 */
+  "\x28\xe1\x84\x8e\x29\0" /* offset 7671 */
+  "\x28\xe1\x84\x8f\x29\0" /* offset 7677 */
+  "\x28\xe1\x84\x90\x29\0" /* offset 7683 */
+  "\x28\xe1\x84\x91\x29\0" /* offset 7689 */
+  "\x28\xe1\x84\x92\x29\0" /* offset 7695 */
+  "\x28\xe1\x84\x80\xe1\x85\xa1\x29\0" /* offset 7701 */
+  "\x28\xe1\x84\x82\xe1\x85\xa1\x29\0" /* offset 7710 */
+  "\x28\xe1\x84\x83\xe1\x85\xa1\x29\0" /* offset 7719 */
+  "\x28\xe1\x84\x85\xe1\x85\xa1\x29\0" /* offset 7728 */
+  "\x28\xe1\x84\x86\xe1\x85\xa1\x29\0" /* offset 7737 */
+  "\x28\xe1\x84\x87\xe1\x85\xa1\x29\0" /* offset 7746 */
+  "\x28\xe1\x84\x89\xe1\x85\xa1\x29\0" /* offset 7755 */
+  "\x28\xe1\x84\x8b\xe1\x85\xa1\x29\0" /* offset 7764 */
+  "\x28\xe1\x84\x8c\xe1\x85\xa1\x29\0" /* offset 7773 */
+  "\x28\xe1\x84\x8e\xe1\x85\xa1\x29\0" /* offset 7782 */
+  "\x28\xe1\x84\x8f\xe1\x85\xa1\x29\0" /* offset 7791 */
+  "\x28\xe1\x84\x90\xe1\x85\xa1\x29\0" /* offset 7800 */
+  "\x28\xe1\x84\x91\xe1\x85\xa1\x29\0" /* offset 7809 */
+  "\x28\xe1\x84\x92\xe1\x85\xa1\x29\0" /* offset 7818 */
+  "\x28\xe1\x84\x8c\xe1\x85\xae\x29\0" /* offset 7827 */
+  "\x28\xe4\xb8\x80\x29\0" /* offset 7836 */
+  "\x28\xe4\xba\x8c\x29\0" /* offset 7842 */
+  "\x28\xe4\xb8\x89\x29\0" /* offset 7848 */
+  "\x28\xe5\x9b\x9b\x29\0" /* offset 7854 */
+  "\x28\xe4\xba\x94\x29\0" /* offset 7860 */
+  "\x28\xe5\x85\xad\x29\0" /* offset 7866 */
+  "\x28\xe4\xb8\x83\x29\0" /* offset 7872 */
+  "\x28\xe5\x85\xab\x29\0" /* offset 7878 */
+  "\x28\xe4\xb9\x9d\x29\0" /* offset 7884 */
+  "\x28\xe5\x8d\x81\x29\0" /* offset 7890 */
+  "\x28\xe6\x9c\x88\x29\0" /* offset 7896 */
+  "\x28\xe7\x81\xab\x29\0" /* offset 7902 */
+  "\x28\xe6\xb0\xb4\x29\0" /* offset 7908 */
+  "\x28\xe6\x9c\xa8\x29\0" /* offset 7914 */
+  "\x28\xe9\x87\x91\x29\0" /* offset 7920 */
+  "\x28\xe5\x9c\x9f\x29\0" /* offset 7926 */
+  "\x28\xe6\x97\xa5\x29\0" /* offset 7932 */
+  "\x28\xe6\xa0\xaa\x29\0" /* offset 7938 */
+  "\x28\xe6\x9c\x89\x29\0" /* offset 7944 */
+  "\x28\xe7\xa4\xbe\x29\0" /* offset 7950 */
+  "\x28\xe5\x90\x8d\x29\0" /* offset 7956 */
+  "\x28\xe7\x89\xb9\x29\0" /* offset 7962 */
+  "\x28\xe8\xb2\xa1\x29\0" /* offset 7968 */
+  "\x28\xe7\xa5\x9d\x29\0" /* offset 7974 */
+  "\x28\xe5\x8a\xb4\x29\0" /* offset 7980 */
+  "\x28\xe4\xbb\xa3\x29\0" /* offset 7986 */
+  "\x28\xe5\x91\xbc\x29\0" /* offset 7992 */
+  "\x28\xe5\xad\xa6\x29\0" /* offset 7998 */
+  "\x28\xe7\x9b\xa3\x29\0" /* offset 8004 */
+  "\x28\xe4\xbc\x81\x29\0" /* offset 8010 */
+  "\x28\xe8\xb3\x87\x29\0" /* offset 8016 */
+  "\x28\xe5\x8d\x94\x29\0" /* offset 8022 */
+  "\x28\xe7\xa5\xad\x29\0" /* offset 8028 */
+  "\x28\xe4\xbc\x91\x29\0" /* offset 8034 */
+  "\x28\xe8\x87\xaa\x29\0" /* offset 8040 */
+  "\x28\xe8\x87\xb3\x29\0" /* offset 8046 */
+  "\x32\x31\0" /* offset 8052 */
+  "\x32\x32\0" /* offset 8055 */
+  "\x32\x33\0" /* offset 8058 */
+  "\x32\x34\0" /* offset 8061 */
+  "\x32\x35\0" /* offset 8064 */
+  "\x32\x36\0" /* offset 8067 */
+  "\x32\x37\0" /* offset 8070 */
+  "\x32\x38\0" /* offset 8073 */
+  "\x32\x39\0" /* offset 8076 */
+  "\x33\x30\0" /* offset 8079 */
+  "\x33\x31\0" /* offset 8082 */
+  "\x33\x32\0" /* offset 8085 */
+  "\x33\x33\0" /* offset 8088 */
+  "\x33\x34\0" /* offset 8091 */
+  "\x33\x35\0" /* offset 8094 */
+  "\xe1\x84\x80\xe1\x85\xa1\0" /* offset 8097 */
+  "\xe1\x84\x82\xe1\x85\xa1\0" /* offset 8104 */
+  "\xe1\x84\x83\xe1\x85\xa1\0" /* offset 8111 */
+  "\xe1\x84\x85\xe1\x85\xa1\0" /* offset 8118 */
+  "\xe1\x84\x86\xe1\x85\xa1\0" /* offset 8125 */
+  "\xe1\x84\x87\xe1\x85\xa1\0" /* offset 8132 */
+  "\xe1\x84\x89\xe1\x85\xa1\0" /* offset 8139 */
+  "\xe1\x84\x8b\xe1\x85\xa1\0" /* offset 8146 */
+  "\xe1\x84\x8c\xe1\x85\xa1\0" /* offset 8153 */
+  "\xe1\x84\x8e\xe1\x85\xa1\0" /* offset 8160 */
+  "\xe1\x84\x8f\xe1\x85\xa1\0" /* offset 8167 */
+  "\xe1\x84\x90\xe1\x85\xa1\0" /* offset 8174 */
+  "\xe1\x84\x91\xe1\x85\xa1\0" /* offset 8181 */
+  "\xe1\x84\x92\xe1\x85\xa1\0" /* offset 8188 */
+  "\xe4\xba\x94\0" /* offset 8195 */
+  "\xe5\x85\xad\0" /* offset 8199 */
+  "\xe4\xb8\x83\0" /* offset 8203 */
+  "\xe4\xb9\x9d\0" /* offset 8207 */
+  "\xe6\xa0\xaa\0" /* offset 8211 */
+  "\xe6\x9c\x89\0" /* offset 8215 */
+  "\xe7\xa4\xbe\0" /* offset 8219 */
+  "\xe5\x90\x8d\0" /* offset 8223 */
+  "\xe7\x89\xb9\0" /* offset 8227 */
+  "\xe8\xb2\xa1\0" /* offset 8231 */
+  "\xe7\xa5\x9d\0" /* offset 8235 */
+  "\xe5\x8a\xb4\0" /* offset 8239 */
+  "\xe7\xa7\x98\0" /* offset 8243 */
+  "\xe7\x94\xb7\0" /* offset 8247 */
+  "\xe9\x81\xa9\0" /* offset 8251 */
+  "\xe5\x84\xaa\0" /* offset 8255 */
+  "\xe5\x8d\xb0\0" /* offset 8259 */
+  "\xe6\xb3\xa8\0" /* offset 8263 */
+  "\xe9\xa0\x85\0" /* offset 8267 */
+  "\xe4\xbc\x91\0" /* offset 8271 */
+  "\xe5\x86\x99\0" /* offset 8275 */
+  "\xe6\xad\xa3\0" /* offset 8279 */
+  "\xe5\xb7\xa6\0" /* offset 8283 */
+  "\xe5\x8f\xb3\0" /* offset 8287 */
+  "\xe5\x8c\xbb\0" /* offset 8291 */
+  "\xe5\xae\x97\0" /* offset 8295 */
+  "\xe5\xad\xa6\0" /* offset 8299 */
+  "\xe7\x9b\xa3\0" /* offset 8303 */
+  "\xe4\xbc\x81\0" /* offset 8307 */
+  "\xe8\xb3\x87\0" /* offset 8311 */
+  "\xe5\x8d\x94\0" /* offset 8315 */
+  "\xe5\xa4\x9c\0" /* offset 8319 */
+  "\x33\x36\0" /* offset 8323 */
+  "\x33\x37\0" /* offset 8326 */
+  "\x33\x38\0" /* offset 8329 */
+  "\x33\x39\0" /* offset 8332 */
+  "\x34\x30\0" /* offset 8335 */
+  "\x34\x31\0" /* offset 8338 */
+  "\x34\x32\0" /* offset 8341 */
+  "\x34\x33\0" /* offset 8344 */
+  "\x34\x34\0" /* offset 8347 */
+  "\x34\x35\0" /* offset 8350 */
+  "\x34\x36\0" /* offset 8353 */
+  "\x34\x37\0" /* offset 8356 */
+  "\x34\x38\0" /* offset 8359 */
+  "\x34\x39\0" /* offset 8362 */
+  "\x35\x30\0" /* offset 8365 */
+  "\x31\xe6\x9c\x88\0" /* offset 8368 */
+  "\x32\xe6\x9c\x88\0" /* offset 8373 */
+  "\x33\xe6\x9c\x88\0" /* offset 8378 */
+  "\x34\xe6\x9c\x88\0" /* offset 8383 */
+  "\x35\xe6\x9c\x88\0" /* offset 8388 */
+  "\x36\xe6\x9c\x88\0" /* offset 8393 */
+  "\x37\xe6\x9c\x88\0" /* offset 8398 */
+  "\x38\xe6\x9c\x88\0" /* offset 8403 */
+  "\x39\xe6\x9c\x88\0" /* offset 8408 */
+  "\x31\x30\xe6\x9c\x88\0" /* offset 8413 */
+  "\x31\x31\xe6\x9c\x88\0" /* offset 8419 */
+  "\x31\x32\xe6\x9c\x88\0" /* offset 8425 */
+  "\xe3\x82\xa2\0" /* offset 8431 */
+  "\xe3\x82\xa4\0" /* offset 8435 */
+  "\xe3\x82\xa6\0" /* offset 8439 */
+  "\xe3\x82\xa8\0" /* offset 8443 */
+  "\xe3\x82\xaa\0" /* offset 8447 */
+  "\xe3\x82\xab\0" /* offset 8451 */
+  "\xe3\x82\xad\0" /* offset 8455 */
+  "\xe3\x82\xaf\0" /* offset 8459 */
+  "\xe3\x82\xb1\0" /* offset 8463 */
+  "\xe3\x82\xb3\0" /* offset 8467 */
+  "\xe3\x82\xb5\0" /* offset 8471 */
+  "\xe3\x82\xb7\0" /* offset 8475 */
+  "\xe3\x82\xb9\0" /* offset 8479 */
+  "\xe3\x82\xbb\0" /* offset 8483 */
+  "\xe3\x82\xbd\0" /* offset 8487 */
+  "\xe3\x82\xbf\0" /* offset 8491 */
+  "\xe3\x83\x81\0" /* offset 8495 */
+  "\xe3\x83\x84\0" /* offset 8499 */
+  "\xe3\x83\x86\0" /* offset 8503 */
+  "\xe3\x83\x88\0" /* offset 8507 */
+  "\xe3\x83\x8a\0" /* offset 8511 */
+  "\xe3\x83\x8b\0" /* offset 8515 */
+  "\xe3\x83\x8c\0" /* offset 8519 */
+  "\xe3\x83\x8d\0" /* offset 8523 */
+  "\xe3\x83\x8e\0" /* offset 8527 */
+  "\xe3\x83\x8f\0" /* offset 8531 */
+  "\xe3\x83\x92\0" /* offset 8535 */
+  "\xe3\x83\x95\0" /* offset 8539 */
+  "\xe3\x83\x98\0" /* offset 8543 */
+  "\xe3\x83\x9b\0" /* offset 8547 */
+  "\xe3\x83\x9e\0" /* offset 8551 */
+  "\xe3\x83\x9f\0" /* offset 8555 */
+  "\xe3\x83\xa0\0" /* offset 8559 */
+  "\xe3\x83\xa1\0" /* offset 8563 */
+  "\xe3\x83\xa2\0" /* offset 8567 */
+  "\xe3\x83\xa4\0" /* offset 8571 */
+  "\xe3\x83\xa6\0" /* offset 8575 */
+  "\xe3\x83\xa8\0" /* offset 8579 */
+  "\xe3\x83\xa9\0" /* offset 8583 */
+  "\xe3\x83\xaa\0" /* offset 8587 */
+  "\xe3\x83\xab\0" /* offset 8591 */
+  "\xe3\x83\xac\0" /* offset 8595 */
+  "\xe3\x83\xad\0" /* offset 8599 */
+  "\xe3\x83\xaf\0" /* offset 8603 */
+  "\xe3\x83\xb0\0" /* offset 8607 */
+  "\xe3\x83\xb1\0" /* offset 8611 */
+  "\xe3\x83\xb2\0" /* offset 8615 */
+  "\xe3\x82\xa2\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x83\x88\0" /* offset 8619 */
+  "\xe3\x82\xa2\xe3\x83\xab\xe3\x83\x95\xe3\x82\xa1\0" /* offset 8635 */
+  "\xe3\x82\xa2\xe3\x83\xb3\xe3\x83\x98\xe3\x82\x9a\xe3\x82\xa2\0" /* offset 8648 */
+  "\xe3\x82\xa2\xe3\x83\xbc\xe3\x83\xab\0" /* offset 8664 */
+  "\xe3\x82\xa4\xe3\x83\x8b\xe3\x83\xb3\xe3\x82\xaf\xe3\x82\x99\0" /* offset 8674 */
+  "\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x81\0" /* offset 8690 */
+  "\xe3\x82\xa6\xe3\x82\xa9\xe3\x83\xb3\0" /* offset 8700 */
+  "\xe3\x82\xa8\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xbc\xe3\x83\x88\xe3\x82\x99\0" /* offset 8710 */
+  "\xe3\x82\xa8\xe3\x83\xbc\xe3\x82\xab\xe3\x83\xbc\0" /* offset 8729 */
+  "\xe3\x82\xaa\xe3\x83\xb3\xe3\x82\xb9\0" /* offset 8742 */
+  "\xe3\x82\xaa\xe3\x83\xbc\xe3\x83\xa0\0" /* offset 8752 */
+  "\xe3\x82\xab\xe3\x82\xa4\xe3\x83\xaa\0" /* offset 8762 */
+  "\xe3\x82\xab\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x88\0" /* offset 8772 */
+  "\xe3\x82\xab\xe3\x83\xad\xe3\x83\xaa\xe3\x83\xbc\0" /* offset 8785 */
+  "\xe3\x82\xab\xe3\x82\x99\xe3\x83\xad\xe3\x83\xb3\0" /* offset 8798 */
+  "\xe3\x82\xab\xe3\x82\x99\xe3\x83\xb3\xe3\x83\x9e\0" /* offset 8811 */
+  "\xe3\x82\xad\xe3\x82\x99\xe3\x82\xab\xe3\x82\x99\0" /* offset 8824 */
+  "\xe3\x82\xad\xe3\x82\x99\xe3\x83\x8b\xe3\x83\xbc\0" /* offset 8837 */
+  "\xe3\x82\xad\xe3\x83\xa5\xe3\x83\xaa\xe3\x83\xbc\0" /* offset 8850 */
+  "\xe3\x82\xad\xe3\x82\x99\xe3\x83\xab\xe3\x82\xbf\xe3\x82\x99\xe3\x83\xbc\0" /* offset 8863 */
+  "\xe3\x82\xad\xe3\x83\xad\0" /* offset 8882 */
+  "\xe3\x82\xad\xe3\x83\xad\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\0" /* offset 8889 */
+  "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab\0" /* offset 8908 */
+  "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88\0" /* offset 8927 */
+  "\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\0" /* offset 8943 */
+  "\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\xe3\x83\x88\xe3\x83\xb3\0" /* offset 8956 */
+  "\xe3\x82\xaf\xe3\x83\xab\xe3\x82\xbb\xe3\x82\x99\xe3\x82\xa4\xe3\x83\xad\0" /* offset 8975 */
+  "\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xbc\xe3\x83\x8d\0" /* offset 8994 */
+  "\xe3\x82\xb1\xe3\x83\xbc\xe3\x82\xb9\0" /* offset 9007 */
+  "\xe3\x82\xb3\xe3\x83\xab\xe3\x83\x8a\0" /* offset 9017 */
+  "\xe3\x82\xb3\xe3\x83\xbc\xe3\x83\x9b\xe3\x82\x9a\0" /* offset 9027 */
+  "\xe3\x82\xb5\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xab\0" /* offset 9040 */
+  "\xe3\x82\xb5\xe3\x83\xb3\xe3\x83\x81\xe3\x83\xbc\xe3\x83\xa0\0" /* offset 9053 */
+  "\xe3\x82\xb7\xe3\x83\xaa\xe3\x83\xb3\xe3\x82\xaf\xe3\x82\x99\0" /* offset 9069 */
+  "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x81\0" /* offset 9085 */
+  "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9095 */
+  "\xe3\x82\xbf\xe3\x82\x99\xe3\x83\xbc\xe3\x82\xb9\0" /* offset 9105 */
+  "\xe3\x83\x86\xe3\x82\x99\xe3\x82\xb7\0" /* offset 9118 */
+  "\xe3\x83\x88\xe3\x82\x99\xe3\x83\xab\0" /* offset 9128 */
+  "\xe3\x83\x88\xe3\x83\xb3\0" /* offset 9138 */
+  "\xe3\x83\x8a\xe3\x83\x8e\0" /* offset 9145 */
+  "\xe3\x83\x8e\xe3\x83\x83\xe3\x83\x88\0" /* offset 9152 */
+  "\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84\0" /* offset 9162 */
+  "\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9172 */
+  "\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x83\x84\0" /* offset 9191 */
+  "\xe3\x83\x8f\xe3\x82\x99\xe3\x83\xbc\xe3\x83\xac\xe3\x83\xab\0" /* offset 9204 */
+  "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xa2\xe3\x82\xb9\xe3\x83\x88\xe3\x83\xab\0" /* offset 9220 */
+  "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xaf\xe3\x83\xab\0" /* offset 9239 */
+  "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xb3\0" /* offset 9252 */
+  "\xe3\x83\x92\xe3\x82\x99\xe3\x83\xab\0" /* offset 9262 */
+  "\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x88\xe3\x82\x99\0" /* offset 9272 */
+  "\xe3\x83\x95\xe3\x82\xa3\xe3\x83\xbc\xe3\x83\x88\0" /* offset 9291 */
+  "\xe3\x83\x95\xe3\x82\x99\xe3\x83\x83\xe3\x82\xb7\xe3\x82\xa7\xe3\x83\xab\0" /* offset 9304 */
+  "\xe3\x83\x95\xe3\x83\xa9\xe3\x83\xb3\0" /* offset 9323 */
+  "\xe3\x83\x98\xe3\x82\xaf\xe3\x82\xbf\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9333 */
+  "\xe3\x83\x98\xe3\x82\x9a\xe3\x82\xbd\0" /* offset 9349 */
+  "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\x8b\xe3\x83\x92\0" /* offset 9359 */
+  "\xe3\x83\x98\xe3\x83\xab\xe3\x83\x84\0" /* offset 9372 */
+  "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\xb3\xe3\x82\xb9\0" /* offset 9382 */
+  "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\xbc\xe3\x82\xb7\xe3\x82\x99\0" /* offset 9395 */
+  "\xe3\x83\x98\xe3\x82\x99\xe3\x83\xbc\xe3\x82\xbf\0" /* offset 9411 */
+  "\xe3\x83\x9b\xe3\x82\x9a\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9424 */
+  "\xe3\x83\x9b\xe3\x82\x99\xe3\x83\xab\xe3\x83\x88\0" /* offset 9440 */
+  "\xe3\x83\x9b\xe3\x83\xb3\0" /* offset 9453 */
+  "\xe3\x83\x9b\xe3\x82\x9a\xe3\x83\xb3\xe3\x83\x88\xe3\x82\x99\0" /* offset 9460 */
+  "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9476 */
+  "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xb3\0" /* offset 9486 */
+  "\xe3\x83\x9e\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xad\0" /* offset 9496 */
+  "\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xab\0" /* offset 9509 */
+  "\xe3\x83\x9e\xe3\x83\x83\xe3\x83\x8f\0" /* offset 9519 */
+  "\xe3\x83\x9e\xe3\x83\xab\xe3\x82\xaf\0" /* offset 9529 */
+  "\xe3\x83\x9e\xe3\x83\xb3\xe3\x82\xb7\xe3\x83\xa7\xe3\x83\xb3\0" /* offset 9539 */
+  "\xe3\x83\x9f\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xb3\0" /* offset 9555 */
+  "\xe3\x83\x9f\xe3\x83\xaa\0" /* offset 9568 */
+  "\xe3\x83\x9f\xe3\x83\xaa\xe3\x83\x8f\xe3\x82\x99\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9575 */
+  "\xe3\x83\xa1\xe3\x82\xab\xe3\x82\x99\0" /* offset 9594 */
+  "\xe3\x83\xa1\xe3\x82\xab\xe3\x82\x99\xe3\x83\x88\xe3\x83\xb3\0" /* offset 9604 */
+  "\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab\0" /* offset 9620 */
+  "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\x88\xe3\x82\x99\0" /* offset 9633 */
+  "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9646 */
+  "\xe3\x83\xa6\xe3\x82\xa2\xe3\x83\xb3\0" /* offset 9656 */
+  "\xe3\x83\xaa\xe3\x83\x83\xe3\x83\x88\xe3\x83\xab\0" /* offset 9666 */
+  "\xe3\x83\xaa\xe3\x83\xa9\0" /* offset 9679 */
+  "\xe3\x83\xab\xe3\x83\x92\xe3\x82\x9a\xe3\x83\xbc\0" /* offset 9686 */
+  "\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x95\xe3\x82\x99\xe3\x83\xab\0" /* offset 9699 */
+  "\xe3\x83\xac\xe3\x83\xa0\0" /* offset 9715 */
+  "\xe3\x83\xac\xe3\x83\xb3\xe3\x83\x88\xe3\x82\xb1\xe3\x82\x99\xe3\x83\xb3\0" /* offset 9722 */
+  "\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88\0" /* offset 9741 */
+  "\x30\xe7\x82\xb9\0" /* offset 9751 */
+  "\x31\xe7\x82\xb9\0" /* offset 9756 */
+  "\x32\xe7\x82\xb9\0" /* offset 9761 */
+  "\x33\xe7\x82\xb9\0" /* offset 9766 */
+  "\x34\xe7\x82\xb9\0" /* offset 9771 */
+  "\x35\xe7\x82\xb9\0" /* offset 9776 */
+  "\x36\xe7\x82\xb9\0" /* offset 9781 */
+  "\x37\xe7\x82\xb9\0" /* offset 9786 */
+  "\x38\xe7\x82\xb9\0" /* offset 9791 */
+  "\x39\xe7\x82\xb9\0" /* offset 9796 */
+  "\x31\x30\xe7\x82\xb9\0" /* offset 9801 */
+  "\x31\x31\xe7\x82\xb9\0" /* offset 9807 */
+  "\x31\x32\xe7\x82\xb9\0" /* offset 9813 */
+  "\x31\x33\xe7\x82\xb9\0" /* offset 9819 */
+  "\x31\x34\xe7\x82\xb9\0" /* offset 9825 */
+  "\x31\x35\xe7\x82\xb9\0" /* offset 9831 */
+  "\x31\x36\xe7\x82\xb9\0" /* offset 9837 */
+  "\x31\x37\xe7\x82\xb9\0" /* offset 9843 */
+  "\x31\x38\xe7\x82\xb9\0" /* offset 9849 */
+  "\x31\x39\xe7\x82\xb9\0" /* offset 9855 */
+  "\x32\x30\xe7\x82\xb9\0" /* offset 9861 */
+  "\x32\x31\xe7\x82\xb9\0" /* offset 9867 */
+  "\x32\x32\xe7\x82\xb9\0" /* offset 9873 */
+  "\x32\x33\xe7\x82\xb9\0" /* offset 9879 */
+  "\x32\x34\xe7\x82\xb9\0" /* offset 9885 */
+  "\x68\x50\x61\0" /* offset 9891 */
+  "\x64\x61\0" /* offset 9895 */
+  "\x41\x55\0" /* offset 9898 */
+  "\x62\x61\x72\0" /* offset 9901 */
+  "\x6f\x56\0" /* offset 9905 */
+  "\x70\x63\0" /* offset 9908 */
+  "\xe5\xb9\xb3\xe6\x88\x90\0" /* offset 9911 */
+  "\xe6\x98\xad\xe5\x92\x8c\0" /* offset 9918 */
+  "\xe5\xa4\xa7\xe6\xad\xa3\0" /* offset 9925 */
+  "\xe6\x98\x8e\xe6\xb2\xbb\0" /* offset 9932 */
+  "\xe6\xa0\xaa\xe5\xbc\x8f\xe4\xbc\x9a\xe7\xa4\xbe\0" /* offset 9939 */
+  "\x70\x41\0" /* offset 9952 */
+  "\x6e\x41\0" /* offset 9955 */
+  "\xce\xbc\x41\0" /* offset 9958 */
+  "\x6d\x41\0" /* offset 9962 */
+  "\x6b\x41\0" /* offset 9965 */
+  "\x4b\x42\0" /* offset 9968 */
+  "\x4d\x42\0" /* offset 9971 */
+  "\x47\x42\0" /* offset 9974 */
+  "\x63\x61\x6c\0" /* offset 9977 */
+  "\x6b\x63\x61\x6c\0" /* offset 9981 */
+  "\x70\x46\0" /* offset 9986 */
+  "\x6e\x46\0" /* offset 9989 */
+  "\xce\xbc\x46\0" /* offset 9992 */
+  "\xce\xbc\x67\0" /* offset 9996 */
+  "\x6d\x67\0" /* offset 10000 */
+  "\x6b\x67\0" /* offset 10003 */
+  "\x48\x7a\0" /* offset 10006 */
+  "\x6b\x48\x7a\0" /* offset 10009 */
+  "\x4d\x48\x7a\0" /* offset 10013 */
+  "\x47\x48\x7a\0" /* offset 10017 */
+  "\x54\x48\x7a\0" /* offset 10021 */
+  "\xce\xbc\x6c\0" /* offset 10025 */
+  "\x6d\x6c\0" /* offset 10029 */
+  "\x64\x6c\0" /* offset 10032 */
+  "\x6b\x6c\0" /* offset 10035 */
+  "\x66\x6d\0" /* offset 10038 */
+  "\x6e\x6d\0" /* offset 10041 */
+  "\xce\xbc\x6d\0" /* offset 10044 */
+  "\x6d\x6d\0" /* offset 10048 */
+  "\x63\x6d\0" /* offset 10051 */
+  "\x6b\x6d\0" /* offset 10054 */
+  "\x6d\x6d\x32\0" /* offset 10057 */
+  "\x63\x6d\x32\0" /* offset 10061 */
+  "\x6d\x32\0" /* offset 10065 */
+  "\x6b\x6d\x32\0" /* offset 10068 */
+  "\x6d\x6d\x33\0" /* offset 10072 */
+  "\x63\x6d\x33\0" /* offset 10076 */
+  "\x6d\x33\0" /* offset 10080 */
+  "\x6b\x6d\x33\0" /* offset 10083 */
+  "\x6d\xe2\x88\x95\x73\0" /* offset 10087 */
+  "\x6d\xe2\x88\x95\x73\x32\0" /* offset 10093 */
+  "\x50\x61\0" /* offset 10100 */
+  "\x6b\x50\x61\0" /* offset 10103 */
+  "\x4d\x50\x61\0" /* offset 10107 */
+  "\x47\x50\x61\0" /* offset 10111 */
+  "\x72\x61\x64\0" /* offset 10115 */
+  "\x72\x61\x64\xe2\x88\x95\x73\0" /* offset 10119 */
+  "\x72\x61\x64\xe2\x88\x95\x73\x32\0" /* offset 10127 */
+  "\x70\x73\0" /* offset 10136 */
+  "\x6e\x73\0" /* offset 10139 */
+  "\xce\xbc\x73\0" /* offset 10142 */
+  "\x6d\x73\0" /* offset 10146 */
+  "\x70\x56\0" /* offset 10149 */
+  "\x6e\x56\0" /* offset 10152 */
+  "\xce\xbc\x56\0" /* offset 10155 */
+  "\x6d\x56\0" /* offset 10159 */
+  "\x6b\x56\0" /* offset 10162 */
+  "\x4d\x56\0" /* offset 10165 */
+  "\x70\x57\0" /* offset 10168 */
+  "\x6e\x57\0" /* offset 10171 */
+  "\xce\xbc\x57\0" /* offset 10174 */
+  "\x6d\x57\0" /* offset 10178 */
+  "\x6b\x57\0" /* offset 10181 */
+  "\x4d\x57\0" /* offset 10184 */
+  "\x6b\xce\xa9\0" /* offset 10187 */
+  "\x4d\xce\xa9\0" /* offset 10191 */
+  "\x61\x2e\x6d\x2e\0" /* offset 10195 */
+  "\x42\x71\0" /* offset 10200 */
+  "\x63\x63\0" /* offset 10203 */
+  "\x63\x64\0" /* offset 10206 */
+  "\x43\xe2\x88\x95\x6b\x67\0" /* offset 10209 */
+  "\x43\x6f\x2e\0" /* offset 10216 */
+  "\x64\x42\0" /* offset 10220 */
+  "\x47\x79\0" /* offset 10223 */
+  "\x68\x61\0" /* offset 10226 */
+  "\x48\x50\0" /* offset 10229 */
+  "\x69\x6e\0" /* offset 10232 */
+  "\x4b\x4b\0" /* offset 10235 */
+  "\x4b\x4d\0" /* offset 10238 */
+  "\x6b\x74\0" /* offset 10241 */
+  "\x6c\x6d\0" /* offset 10244 */
+  "\x6c\x6e\0" /* offset 10247 */
+  "\x6c\x6f\x67\0" /* offset 10250 */
+  "\x6c\x78\0" /* offset 10254 */
+  "\x6d\x62\0" /* offset 10257 */
+  "\x6d\x69\x6c\0" /* offset 10260 */
+  "\x6d\x6f\x6c\0" /* offset 10264 */
+  "\x50\x48\0" /* offset 10268 */
+  "\x70\x2e\x6d\x2e\0" /* offset 10271 */
+  "\x50\x50\x4d\0" /* offset 10276 */
+  "\x50\x52\0" /* offset 10280 */
+  "\x73\x72\0" /* offset 10283 */
+  "\x53\x76\0" /* offset 10286 */
+  "\x57\x62\0" /* offset 10289 */
+  "\x31\xe6\x97\xa5\0" /* offset 10292 */
+  "\x32\xe6\x97\xa5\0" /* offset 10297 */
+  "\x33\xe6\x97\xa5\0" /* offset 10302 */
+  "\x34\xe6\x97\xa5\0" /* offset 10307 */
+  "\x35\xe6\x97\xa5\0" /* offset 10312 */
+  "\x36\xe6\x97\xa5\0" /* offset 10317 */
+  "\x37\xe6\x97\xa5\0" /* offset 10322 */
+  "\x38\xe6\x97\xa5\0" /* offset 10327 */
+  "\x39\xe6\x97\xa5\0" /* offset 10332 */
+  "\x31\x30\xe6\x97\xa5\0" /* offset 10337 */
+  "\x31\x31\xe6\x97\xa5\0" /* offset 10343 */
+  "\x31\x32\xe6\x97\xa5\0" /* offset 10349 */
+  "\x31\x33\xe6\x97\xa5\0" /* offset 10355 */
+  "\x31\x34\xe6\x97\xa5\0" /* offset 10361 */
+  "\x31\x35\xe6\x97\xa5\0" /* offset 10367 */
+  "\x31\x36\xe6\x97\xa5\0" /* offset 10373 */
+  "\x31\x37\xe6\x97\xa5\0" /* offset 10379 */
+  "\x31\x38\xe6\x97\xa5\0" /* offset 10385 */
+  "\x31\x39\xe6\x97\xa5\0" /* offset 10391 */
+  "\x32\x30\xe6\x97\xa5\0" /* offset 10397 */
+  "\x32\x31\xe6\x97\xa5\0" /* offset 10403 */
+  "\x32\x32\xe6\x97\xa5\0" /* offset 10409 */
+  "\x32\x33\xe6\x97\xa5\0" /* offset 10415 */
+  "\x32\x34\xe6\x97\xa5\0" /* offset 10421 */
+  "\x32\x35\xe6\x97\xa5\0" /* offset 10427 */
+  "\x32\x36\xe6\x97\xa5\0" /* offset 10433 */
+  "\x32\x37\xe6\x97\xa5\0" /* offset 10439 */
+  "\x32\x38\xe6\x97\xa5\0" /* offset 10445 */
+  "\x32\x39\xe6\x97\xa5\0" /* offset 10451 */
+  "\x33\x30\xe6\x97\xa5\0" /* offset 10457 */
+  "\x33\x31\xe6\x97\xa5\0" /* offset 10463 */
+  "\xe8\xb1\x88\0" /* offset 10469 */
+  "\xe6\x9b\xb4\0" /* offset 10473 */
+  "\xe8\xb3\x88\0" /* offset 10477 */
+  "\xe6\xbb\x91\0" /* offset 10481 */
+  "\xe4\xb8\xb2\0" /* offset 10485 */
+  "\xe5\x8f\xa5\0" /* offset 10489 */
+  "\xe5\xa5\x91\0" /* offset 10493 */
+  "\xe5\x96\x87\0" /* offset 10497 */
+  "\xe5\xa5\x88\0" /* offset 10501 */
+  "\xe6\x87\xb6\0" /* offset 10505 */
+  "\xe7\x99\xa9\0" /* offset 10509 */
+  "\xe7\xbe\x85\0" /* offset 10513 */
+  "\xe8\x98\xbf\0" /* offset 10517 */
+  "\xe8\x9e\xba\0" /* offset 10521 */
+  "\xe8\xa3\xb8\0" /* offset 10525 */
+  "\xe9\x82\x8f\0" /* offset 10529 */
+  "\xe6\xa8\x82\0" /* offset 10533 */
+  "\xe6\xb4\x9b\0" /* offset 10537 */
+  "\xe7\x83\x99\0" /* offset 10541 */
+  "\xe7\x8f\x9e\0" /* offset 10545 */
+  "\xe8\x90\xbd\0" /* offset 10549 */
+  "\xe9\x85\xaa\0" /* offset 10553 */
+  "\xe9\xa7\xb1\0" /* offset 10557 */
+  "\xe4\xba\x82\0" /* offset 10561 */
+  "\xe5\x8d\xb5\0" /* offset 10565 */
+  "\xe6\xac\x84\0" /* offset 10569 */
+  "\xe7\x88\x9b\0" /* offset 10573 */
+  "\xe8\x98\xad\0" /* offset 10577 */
+  "\xe9\xb8\x9e\0" /* offset 10581 */
+  "\xe5\xb5\x90\0" /* offset 10585 */
+  "\xe6\xbf\xab\0" /* offset 10589 */
+  "\xe8\x97\x8d\0" /* offset 10593 */
+  "\xe8\xa5\xa4\0" /* offset 10597 */
+  "\xe6\x8b\x89\0" /* offset 10601 */
+  "\xe8\x87\x98\0" /* offset 10605 */
+  "\xe8\xa0\x9f\0" /* offset 10609 */
+  "\xe5\xbb\x8a\0" /* offset 10613 */
+  "\xe6\x9c\x97\0" /* offset 10617 */
+  "\xe6\xb5\xaa\0" /* offset 10621 */
+  "\xe7\x8b\xbc\0" /* offset 10625 */
+  "\xe9\x83\x8e\0" /* offset 10629 */
+  "\xe4\xbe\x86\0" /* offset 10633 */
+  "\xe5\x86\xb7\0" /* offset 10637 */
+  "\xe5\x8b\x9e\0" /* offset 10641 */
+  "\xe6\x93\x84\0" /* offset 10645 */
+  "\xe6\xab\x93\0" /* offset 10649 */
+  "\xe7\x88\x90\0" /* offset 10653 */
+  "\xe7\x9b\xa7\0" /* offset 10657 */
+  "\xe8\x98\x86\0" /* offset 10661 */
+  "\xe8\x99\x9c\0" /* offset 10665 */
+  "\xe8\xb7\xaf\0" /* offset 10669 */
+  "\xe9\x9c\xb2\0" /* offset 10673 */
+  "\xe9\xad\xaf\0" /* offset 10677 */
+  "\xe9\xb7\xba\0" /* offset 10681 */
+  "\xe7\xa2\x8c\0" /* offset 10685 */
+  "\xe7\xa5\xbf\0" /* offset 10689 */
+  "\xe7\xb6\xa0\0" /* offset 10693 */
+  "\xe8\x8f\x89\0" /* offset 10697 */
+  "\xe9\x8c\x84\0" /* offset 10701 */
+  "\xe8\xab\x96\0" /* offset 10705 */
+  "\xe5\xa3\x9f\0" /* offset 10709 */
+  "\xe5\xbc\x84\0" /* offset 10713 */
+  "\xe7\xb1\xa0\0" /* offset 10717 */
+  "\xe8\x81\xbe\0" /* offset 10721 */
+  "\xe7\x89\xa2\0" /* offset 10725 */
+  "\xe7\xa3\x8a\0" /* offset 10729 */
+  "\xe8\xb3\x82\0" /* offset 10733 */
+  "\xe9\x9b\xb7\0" /* offset 10737 */
+  "\xe5\xa3\x98\0" /* offset 10741 */
+  "\xe5\xb1\xa2\0" /* offset 10745 */
+  "\xe6\xa8\x93\0" /* offset 10749 */
+  "\xe6\xb7\x9a\0" /* offset 10753 */
+  "\xe6\xbc\x8f\0" /* offset 10757 */
+  "\xe7\xb4\xaf\0" /* offset 10761 */
+  "\xe7\xb8\xb7\0" /* offset 10765 */
+  "\xe9\x99\x8b\0" /* offset 10769 */
+  "\xe5\x8b\x92\0" /* offset 10773 */
+  "\xe8\x82\x8b\0" /* offset 10777 */
+  "\xe5\x87\x9c\0" /* offset 10781 */
+  "\xe5\x87\x8c\0" /* offset 10785 */
+  "\xe7\xa8\x9c\0" /* offset 10789 */
+  "\xe7\xb6\xbe\0" /* offset 10793 */
+  "\xe8\x8f\xb1\0" /* offset 10797 */
+  "\xe9\x99\xb5\0" /* offset 10801 */
+  "\xe8\xae\x80\0" /* offset 10805 */
+  "\xe6\x8b\x8f\0" /* offset 10809 */
+  "\xe8\xab\xbe\0" /* offset 10813 */
+  "\xe4\xb8\xb9\0" /* offset 10817 */
+  "\xe5\xaf\xa7\0" /* offset 10821 */
+  "\xe6\x80\x92\0" /* offset 10825 */
+  "\xe7\x8e\x87\0" /* offset 10829 */
+  "\xe7\x95\xb0\0" /* offset 10833 */
+  "\xe5\x8c\x97\0" /* offset 10837 */
+  "\xe7\xa3\xbb\0" /* offset 10841 */
+  "\xe4\xbe\xbf\0" /* offset 10845 */
+  "\xe5\xbe\xa9\0" /* offset 10849 */
+  "\xe4\xb8\x8d\0" /* offset 10853 */
+  "\xe6\xb3\x8c\0" /* offset 10857 */
+  "\xe6\x95\xb8\0" /* offset 10861 */
+  "\xe7\xb4\xa2\0" /* offset 10865 */
+  "\xe5\x8f\x83\0" /* offset 10869 */
+  "\xe5\xa1\x9e\0" /* offset 10873 */
+  "\xe7\x9c\x81\0" /* offset 10877 */
+  "\xe8\x91\x89\0" /* offset 10881 */
+  "\xe8\xaa\xaa\0" /* offset 10885 */
+  "\xe6\xae\xba\0" /* offset 10889 */
+  "\xe6\xb2\x88\0" /* offset 10893 */
+  "\xe6\x8b\xbe\0" /* offset 10897 */
+  "\xe8\x8b\xa5\0" /* offset 10901 */
+  "\xe6\x8e\xa0\0" /* offset 10905 */
+  "\xe7\x95\xa5\0" /* offset 10909 */
+  "\xe4\xba\xae\0" /* offset 10913 */
+  "\xe5\x85\xa9\0" /* offset 10917 */
+  "\xe5\x87\x89\0" /* offset 10921 */
+  "\xe6\xa2\x81\0" /* offset 10925 */
+  "\xe7\xb3\xa7\0" /* offset 10929 */
+  "\xe8\x89\xaf\0" /* offset 10933 */
+  "\xe8\xab\x92\0" /* offset 10937 */
+  "\xe9\x87\x8f\0" /* offset 10941 */
+  "\xe5\x8b\xb5\0" /* offset 10945 */
+  "\xe5\x91\x82\0" /* offset 10949 */
+  "\xe5\xbb\xac\0" /* offset 10953 */
+  "\xe6\x97\x85\0" /* offset 10957 */
+  "\xe6\xbf\xbe\0" /* offset 10961 */
+  "\xe7\xa4\xaa\0" /* offset 10965 */
+  "\xe9\x96\xad\0" /* offset 10969 */
+  "\xe9\xa9\xaa\0" /* offset 10973 */
+  "\xe9\xba\x97\0" /* offset 10977 */
+  "\xe9\xbb\x8e\0" /* offset 10981 */
+  "\xe6\x9b\x86\0" /* offset 10985 */
+  "\xe6\xad\xb7\0" /* offset 10989 */
+  "\xe8\xbd\xa2\0" /* offset 10993 */
+  "\xe5\xb9\xb4\0" /* offset 10997 */
+  "\xe6\x86\x90\0" /* offset 11001 */
+  "\xe6\x88\x80\0" /* offset 11005 */
+  "\xe6\x92\x9a\0" /* offset 11009 */
+  "\xe6\xbc\xa3\0" /* offset 11013 */
+  "\xe7\x85\x89\0" /* offset 11017 */
+  "\xe7\x92\x89\0" /* offset 11021 */
+  "\xe7\xa7\x8a\0" /* offset 11025 */
+  "\xe7\xb7\xb4\0" /* offset 11029 */
+  "\xe8\x81\xaf\0" /* offset 11033 */
+  "\xe8\xbc\xa6\0" /* offset 11037 */
+  "\xe8\x93\xae\0" /* offset 11041 */
+  "\xe9\x80\xa3\0" /* offset 11045 */
+  "\xe9\x8d\x8a\0" /* offset 11049 */
+  "\xe5\x88\x97\0" /* offset 11053 */
+  "\xe5\x8a\xa3\0" /* offset 11057 */
+  "\xe5\x92\xbd\0" /* offset 11061 */
+  "\xe7\x83\x88\0" /* offset 11065 */
+  "\xe8\xa3\x82\0" /* offset 11069 */
+  "\xe5\xbb\x89\0" /* offset 11073 */
+  "\xe5\xbf\xb5\0" /* offset 11077 */
+  "\xe6\x8d\xbb\0" /* offset 11081 */
+  "\xe6\xae\xae\0" /* offset 11085 */
+  "\xe7\xb0\xbe\0" /* offset 11089 */
+  "\xe7\x8d\xb5\0" /* offset 11093 */
+  "\xe4\xbb\xa4\0" /* offset 11097 */
+  "\xe5\x9b\xb9\0" /* offset 11101 */
+  "\xe5\xb6\xba\0" /* offset 11105 */
+  "\xe6\x80\x9c\0" /* offset 11109 */
+  "\xe7\x8e\xb2\0" /* offset 11113 */
+  "\xe7\x91\xa9\0" /* offset 11117 */
+  "\xe7\xbe\x9a\0" /* offset 11121 */
+  "\xe8\x81\x86\0" /* offset 11125 */
+  "\xe9\x88\xb4\0" /* offset 11129 */
+  "\xe9\x9b\xb6\0" /* offset 11133 */
+  "\xe9\x9d\x88\0" /* offset 11137 */
+  "\xe9\xa0\x98\0" /* offset 11141 */
+  "\xe4\xbe\x8b\0" /* offset 11145 */
+  "\xe7\xa6\xae\0" /* offset 11149 */
+  "\xe9\x86\xb4\0" /* offset 11153 */
+  "\xe9\x9a\xb8\0" /* offset 11157 */
+  "\xe6\x83\xa1\0" /* offset 11161 */
+  "\xe4\xba\x86\0" /* offset 11165 */
+  "\xe5\x83\x9a\0" /* offset 11169 */
+  "\xe5\xaf\xae\0" /* offset 11173 */
+  "\xe5\xb0\xbf\0" /* offset 11177 */
+  "\xe6\x96\x99\0" /* offset 11181 */
+  "\xe7\x87\x8e\0" /* offset 11185 */
+  "\xe7\x99\x82\0" /* offset 11189 */
+  "\xe8\x93\xbc\0" /* offset 11193 */
+  "\xe9\x81\xbc\0" /* offset 11197 */
+  "\xe6\x9a\x88\0" /* offset 11201 */
+  "\xe9\x98\xae\0" /* offset 11205 */
+  "\xe5\x8a\x89\0" /* offset 11209 */
+  "\xe6\x9d\xbb\0" /* offset 11213 */
+  "\xe6\x9f\xb3\0" /* offset 11217 */
+  "\xe6\xb5\x81\0" /* offset 11221 */
+  "\xe6\xba\x9c\0" /* offset 11225 */
+  "\xe7\x90\x89\0" /* offset 11229 */
+  "\xe7\x95\x99\0" /* offset 11233 */
+  "\xe7\xa1\xab\0" /* offset 11237 */
+  "\xe7\xb4\x90\0" /* offset 11241 */
+  "\xe9\xa1\x9e\0" /* offset 11245 */
+  "\xe6\x88\xae\0" /* offset 11249 */
+  "\xe9\x99\xb8\0" /* offset 11253 */
+  "\xe5\x80\xab\0" /* offset 11257 */
+  "\xe5\xb4\x99\0" /* offset 11261 */
+  "\xe6\xb7\xaa\0" /* offset 11265 */
+  "\xe8\xbc\xaa\0" /* offset 11269 */
+  "\xe5\xbe\x8b\0" /* offset 11273 */
+  "\xe6\x85\x84\0" /* offset 11277 */
+  "\xe6\xa0\x97\0" /* offset 11281 */
+  "\xe9\x9a\x86\0" /* offset 11285 */
+  "\xe5\x88\xa9\0" /* offset 11289 */
+  "\xe5\x90\x8f\0" /* offset 11293 */
+  "\xe5\xb1\xa5\0" /* offset 11297 */
+  "\xe6\x98\x93\0" /* offset 11301 */
+  "\xe6\x9d\x8e\0" /* offset 11305 */
+  "\xe6\xa2\xa8\0" /* offset 11309 */
+  "\xe6\xb3\xa5\0" /* offset 11313 */
+  "\xe7\x90\x86\0" /* offset 11317 */
+  "\xe7\x97\xa2\0" /* offset 11321 */
+  "\xe7\xbd\xb9\0" /* offset 11325 */
+  "\xe8\xa3\x8f\0" /* offset 11329 */
+  "\xe8\xa3\xa1\0" /* offset 11333 */
+  "\xe9\x9b\xa2\0" /* offset 11337 */
+  "\xe5\x8c\xbf\0" /* offset 11341 */
+  "\xe6\xba\xba\0" /* offset 11345 */
+  "\xe5\x90\x9d\0" /* offset 11349 */
+  "\xe7\x87\x90\0" /* offset 11353 */
+  "\xe7\x92\x98\0" /* offset 11357 */
+  "\xe8\x97\xba\0" /* offset 11361 */
+  "\xe9\x9a\xa3\0" /* offset 11365 */
+  "\xe9\xb1\x97\0" /* offset 11369 */
+  "\xe9\xba\x9f\0" /* offset 11373 */
+  "\xe6\x9e\x97\0" /* offset 11377 */
+  "\xe6\xb7\x8b\0" /* offset 11381 */
+  "\xe8\x87\xa8\0" /* offset 11385 */
+  "\xe7\xac\xa0\0" /* offset 11389 */
+  "\xe7\xb2\x92\0" /* offset 11393 */
+  "\xe7\x8b\x80\0" /* offset 11397 */
+  "\xe7\x82\x99\0" /* offset 11401 */
+  "\xe8\xad\x98\0" /* offset 11405 */
+  "\xe4\xbb\x80\0" /* offset 11409 */
+  "\xe8\x8c\xb6\0" /* offset 11413 */
+  "\xe5\x88\xba\0" /* offset 11417 */
+  "\xe5\x88\x87\0" /* offset 11421 */
+  "\xe5\xba\xa6\0" /* offset 11425 */
+  "\xe6\x8b\x93\0" /* offset 11429 */
+  "\xe7\xb3\x96\0" /* offset 11433 */
+  "\xe5\xae\x85\0" /* offset 11437 */
+  "\xe6\xb4\x9e\0" /* offset 11441 */
+  "\xe6\x9a\xb4\0" /* offset 11445 */
+  "\xe8\xbc\xbb\0" /* offset 11449 */
+  "\xe9\x99\x8d\0" /* offset 11453 */
+  "\xe5\xbb\x93\0" /* offset 11457 */
+  "\xe5\x85\x80\0" /* offset 11461 */
+  "\xe5\x97\x80\0" /* offset 11465 */
+  "\xe5\xa1\x9a\0" /* offset 11469 */
+  "\xe6\x99\xb4\0" /* offset 11473 */
+  "\xe5\x87\x9e\0" /* offset 11477 */
+  "\xe7\x8c\xaa\0" /* offset 11481 */
+  "\xe7\x9b\x8a\0" /* offset 11485 */
+  "\xe7\xa4\xbc\0" /* offset 11489 */
+  "\xe7\xa5\x9e\0" /* offset 11493 */
+  "\xe7\xa5\xa5\0" /* offset 11497 */
+  "\xe7\xa6\x8f\0" /* offset 11501 */
+  "\xe9\x9d\x96\0" /* offset 11505 */
+  "\xe7\xb2\xbe\0" /* offset 11509 */
+  "\xe8\x98\x92\0" /* offset 11513 */
+  "\xe8\xab\xb8\0" /* offset 11517 */
+  "\xe9\x80\xb8\0" /* offset 11521 */
+  "\xe9\x83\xbd\0" /* offset 11525 */
+  "\xe9\xa3\xaf\0" /* offset 11529 */
+  "\xe9\xa3\xbc\0" /* offset 11533 */
+  "\xe9\xa4\xa8\0" /* offset 11537 */
+  "\xe9\xb6\xb4\0" /* offset 11541 */
+  "\xe4\xbe\xae\0" /* offset 11545 */
+  "\xe5\x83\xa7\0" /* offset 11549 */
+  "\xe5\x85\x8d\0" /* offset 11553 */
+  "\xe5\x8b\x89\0" /* offset 11557 */
+  "\xe5\x8b\xa4\0" /* offset 11561 */
+  "\xe5\x8d\x91\0" /* offset 11565 */
+  "\xe5\x96\x9d\0" /* offset 11569 */
+  "\xe5\x98\x86\0" /* offset 11573 */
+  "\xe5\x99\xa8\0" /* offset 11577 */
+  "\xe5\xa1\x80\0" /* offset 11581 */
+  "\xe5\xa2\xa8\0" /* offset 11585 */
+  "\xe5\xb1\xa4\0" /* offset 11589 */
+  "\xe6\x82\x94\0" /* offset 11593 */
+  "\xe6\x85\xa8\0" /* offset 11597 */
+  "\xe6\x86\x8e\0" /* offset 11601 */
+  "\xe6\x87\xb2\0" /* offset 11605 */
+  "\xe6\x95\x8f\0" /* offset 11609 */
+  "\xe6\x97\xa2\0" /* offset 11613 */
+  "\xe6\x9a\x91\0" /* offset 11617 */
+  "\xe6\xa2\x85\0" /* offset 11621 */
+  "\xe6\xb5\xb7\0" /* offset 11625 */
+  "\xe6\xb8\x9a\0" /* offset 11629 */
+  "\xe6\xbc\xa2\0" /* offset 11633 */
+  "\xe7\x85\xae\0" /* offset 11637 */
+  "\xe7\x88\xab\0" /* offset 11641 */
+  "\xe7\x90\xa2\0" /* offset 11645 */
+  "\xe7\xa2\x91\0" /* offset 11649 */
+  "\xe7\xa5\x89\0" /* offset 11653 */
+  "\xe7\xa5\x88\0" /* offset 11657 */
+  "\xe7\xa5\x90\0" /* offset 11661 */
+  "\xe7\xa5\x96\0" /* offset 11665 */
+  "\xe7\xa6\x8d\0" /* offset 11669 */
+  "\xe7\xa6\x8e\0" /* offset 11673 */
+  "\xe7\xa9\x80\0" /* offset 11677 */
+  "\xe7\xaa\x81\0" /* offset 11681 */
+  "\xe7\xaf\x80\0" /* offset 11685 */
+  "\xe7\xb8\x89\0" /* offset 11689 */
+  "\xe7\xb9\x81\0" /* offset 11693 */
+  "\xe7\xbd\xb2\0" /* offset 11697 */
+  "\xe8\x80\x85\0" /* offset 11701 */
+  "\xe8\x87\xad\0" /* offset 11705 */
+  "\xe8\x89\xb9\0" /* offset 11709 */
+  "\xe8\x91\x97\0" /* offset 11713 */
+  "\xe8\xa4\x90\0" /* offset 11717 */
+  "\xe8\xa6\x96\0" /* offset 11721 */
+  "\xe8\xac\x81\0" /* offset 11725 */
+  "\xe8\xac\xb9\0" /* offset 11729 */
+  "\xe8\xb3\x93\0" /* offset 11733 */
+  "\xe8\xb4\x88\0" /* offset 11737 */
+  "\xe8\xbe\xb6\0" /* offset 11741 */
+  "\xe9\x9b\xa3\0" /* offset 11745 */
+  "\xe9\x9f\xbf\0" /* offset 11749 */
+  "\xe9\xa0\xbb\0" /* offset 11753 */
+  "\x66\x66\0" /* offset 11757 */
+  "\x66\x69\0" /* offset 11760 */
+  "\x66\x6c\0" /* offset 11763 */
+  "\x66\x66\x69\0" /* offset 11766 */
+  "\x66\x66\x6c\0" /* offset 11770 */
+  "\x73\x74\0" /* offset 11774 */
+  "\xd5\xb4\xd5\xb6\0" /* offset 11777 */
+  "\xd5\xb4\xd5\xa5\0" /* offset 11782 */
+  "\xd5\xb4\xd5\xab\0" /* offset 11787 */
+  "\xd5\xbe\xd5\xb6\0" /* offset 11792 */
+  "\xd5\xb4\xd5\xad\0" /* offset 11797 */
+  "\xd7\x99\xd6\xb4\0" /* offset 11802 */
+  "\xd7\xb2\xd6\xb7\0" /* offset 11807 */
+  "\xd7\xa2\0" /* offset 11812 */
+  "\xd7\x94\0" /* offset 11815 */
+  "\xd7\x9b\0" /* offset 11818 */
+  "\xd7\x9c\0" /* offset 11821 */
+  "\xd7\x9d\0" /* offset 11824 */
+  "\xd7\xa8\0" /* offset 11827 */
+  "\xd7\xaa\0" /* offset 11830 */
+  "\xd7\xa9\xd7\x81\0" /* offset 11833 */
+  "\xd7\xa9\xd7\x82\0" /* offset 11838 */
+  "\xd7\xa9\xd6\xbc\xd7\x81\0" /* offset 11843 */
+  "\xd7\xa9\xd6\xbc\xd7\x82\0" /* offset 11850 */
+  "\xd7\x90\xd6\xb7\0" /* offset 11857 */
+  "\xd7\x90\xd6\xb8\0" /* offset 11862 */
+  "\xd7\x90\xd6\xbc\0" /* offset 11867 */
+  "\xd7\x91\xd6\xbc\0" /* offset 11872 */
+  "\xd7\x92\xd6\xbc\0" /* offset 11877 */
+  "\xd7\x93\xd6\xbc\0" /* offset 11882 */
+  "\xd7\x94\xd6\xbc\0" /* offset 11887 */
+  "\xd7\x95\xd6\xbc\0" /* offset 11892 */
+  "\xd7\x96\xd6\xbc\0" /* offset 11897 */
+  "\xd7\x98\xd6\xbc\0" /* offset 11902 */
+  "\xd7\x99\xd6\xbc\0" /* offset 11907 */
+  "\xd7\x9a\xd6\xbc\0" /* offset 11912 */
+  "\xd7\x9b\xd6\xbc\0" /* offset 11917 */
+  "\xd7\x9c\xd6\xbc\0" /* offset 11922 */
+  "\xd7\x9e\xd6\xbc\0" /* offset 11927 */
+  "\xd7\xa0\xd6\xbc\0" /* offset 11932 */
+  "\xd7\xa1\xd6\xbc\0" /* offset 11937 */
+  "\xd7\xa3\xd6\xbc\0" /* offset 11942 */
+  "\xd7\xa4\xd6\xbc\0" /* offset 11947 */
+  "\xd7\xa6\xd6\xbc\0" /* offset 11952 */
+  "\xd7\xa7\xd6\xbc\0" /* offset 11957 */
+  "\xd7\xa8\xd6\xbc\0" /* offset 11962 */
+  "\xd7\xa9\xd6\xbc\0" /* offset 11967 */
+  "\xd7\xaa\xd6\xbc\0" /* offset 11972 */
+  "\xd7\x95\xd6\xb9\0" /* offset 11977 */
+  "\xd7\x91\xd6\xbf\0" /* offset 11982 */
+  "\xd7\x9b\xd6\xbf\0" /* offset 11987 */
+  "\xd7\xa4\xd6\xbf\0" /* offset 11992 */
+  "\xd7\x90\xd7\x9c\0" /* offset 11997 */
+  "\xd9\xb1\0" /* offset 12002 */
+  "\xd9\xbb\0" /* offset 12005 */
+  "\xd9\xbe\0" /* offset 12008 */
+  "\xda\x80\0" /* offset 12011 */
+  "\xd9\xba\0" /* offset 12014 */
+  "\xd9\xbf\0" /* offset 12017 */
+  "\xd9\xb9\0" /* offset 12020 */
+  "\xda\xa4\0" /* offset 12023 */
+  "\xda\xa6\0" /* offset 12026 */
+  "\xda\x84\0" /* offset 12029 */
+  "\xda\x83\0" /* offset 12032 */
+  "\xda\x86\0" /* offset 12035 */
+  "\xda\x87\0" /* offset 12038 */
+  "\xda\x8d\0" /* offset 12041 */
+  "\xda\x8c\0" /* offset 12044 */
+  "\xda\x8e\0" /* offset 12047 */
+  "\xda\x88\0" /* offset 12050 */
+  "\xda\x98\0" /* offset 12053 */
+  "\xda\x91\0" /* offset 12056 */
+  "\xda\xa9\0" /* offset 12059 */
+  "\xda\xaf\0" /* offset 12062 */
+  "\xda\xb3\0" /* offset 12065 */
+  "\xda\xb1\0" /* offset 12068 */
+  "\xda\xba\0" /* offset 12071 */
+  "\xda\xbb\0" /* offset 12074 */
+  "\xdb\x81\0" /* offset 12077 */
+  "\xda\xbe\0" /* offset 12080 */
+  "\xdb\x92\0" /* offset 12083 */
+  "\xda\xad\0" /* offset 12086 */
+  "\xdb\x87\0" /* offset 12089 */
+  "\xdb\x86\0" /* offset 12092 */
+  "\xdb\x88\0" /* offset 12095 */
+  "\xdb\x8b\0" /* offset 12098 */
+  "\xdb\x85\0" /* offset 12101 */
+  "\xdb\x89\0" /* offset 12104 */
+  "\xdb\x90\0" /* offset 12107 */
+  "\xd9\x89\0" /* offset 12110 */
+  "\xd9\x8a\xd9\x94\xd8\xa7\0" /* offset 12113 */
+  "\xd9\x8a\xd9\x94\xdb\x95\0" /* offset 12120 */
+  "\xd9\x8a\xd9\x94\xd9\x88\0" /* offset 12127 */
+  "\xd9\x8a\xd9\x94\xdb\x87\0" /* offset 12134 */
+  "\xd9\x8a\xd9\x94\xdb\x86\0" /* offset 12141 */
+  "\xd9\x8a\xd9\x94\xdb\x88\0" /* offset 12148 */
+  "\xd9\x8a\xd9\x94\xdb\x90\0" /* offset 12155 */
+  "\xd9\x8a\xd9\x94\xd9\x89\0" /* offset 12162 */
+  "\xdb\x8c\0" /* offset 12169 */
+  "\xd9\x8a\xd9\x94\xd8\xac\0" /* offset 12172 */
+  "\xd9\x8a\xd9\x94\xd8\xad\0" /* offset 12179 */
+  "\xd9\x8a\xd9\x94\xd9\x85\0" /* offset 12186 */
+  "\xd9\x8a\xd9\x94\xd9\x8a\0" /* offset 12193 */
+  "\xd8\xa8\xd8\xac\0" /* offset 12200 */
+  "\xd8\xa8\xd8\xad\0" /* offset 12205 */
+  "\xd8\xa8\xd8\xae\0" /* offset 12210 */
+  "\xd8\xa8\xd9\x85\0" /* offset 12215 */
+  "\xd8\xa8\xd9\x89\0" /* offset 12220 */
+  "\xd8\xa8\xd9\x8a\0" /* offset 12225 */
+  "\xd8\xaa\xd8\xac\0" /* offset 12230 */
+  "\xd8\xaa\xd8\xad\0" /* offset 12235 */
+  "\xd8\xaa\xd8\xae\0" /* offset 12240 */
+  "\xd8\xaa\xd9\x85\0" /* offset 12245 */
+  "\xd8\xaa\xd9\x89\0" /* offset 12250 */
+  "\xd8\xaa\xd9\x8a\0" /* offset 12255 */
+  "\xd8\xab\xd8\xac\0" /* offset 12260 */
+  "\xd8\xab\xd9\x85\0" /* offset 12265 */
+  "\xd8\xab\xd9\x89\0" /* offset 12270 */
+  "\xd8\xab\xd9\x8a\0" /* offset 12275 */
+  "\xd8\xac\xd8\xad\0" /* offset 12280 */
+  "\xd8\xac\xd9\x85\0" /* offset 12285 */
+  "\xd8\xad\xd8\xac\0" /* offset 12290 */
+  "\xd8\xad\xd9\x85\0" /* offset 12295 */
+  "\xd8\xae\xd8\xac\0" /* offset 12300 */
+  "\xd8\xae\xd8\xad\0" /* offset 12305 */
+  "\xd8\xae\xd9\x85\0" /* offset 12310 */
+  "\xd8\xb3\xd8\xac\0" /* offset 12315 */
+  "\xd8\xb3\xd8\xad\0" /* offset 12320 */
+  "\xd8\xb3\xd8\xae\0" /* offset 12325 */
+  "\xd8\xb3\xd9\x85\0" /* offset 12330 */
+  "\xd8\xb5\xd8\xad\0" /* offset 12335 */
+  "\xd8\xb5\xd9\x85\0" /* offset 12340 */
+  "\xd8\xb6\xd8\xac\0" /* offset 12345 */
+  "\xd8\xb6\xd8\xad\0" /* offset 12350 */
+  "\xd8\xb6\xd8\xae\0" /* offset 12355 */
+  "\xd8\xb6\xd9\x85\0" /* offset 12360 */
+  "\xd8\xb7\xd8\xad\0" /* offset 12365 */
+  "\xd8\xb7\xd9\x85\0" /* offset 12370 */
+  "\xd8\xb8\xd9\x85\0" /* offset 12375 */
+  "\xd8\xb9\xd8\xac\0" /* offset 12380 */
+  "\xd8\xb9\xd9\x85\0" /* offset 12385 */
+  "\xd8\xba\xd8\xac\0" /* offset 12390 */
+  "\xd8\xba\xd9\x85\0" /* offset 12395 */
+  "\xd9\x81\xd8\xac\0" /* offset 12400 */
+  "\xd9\x81\xd8\xad\0" /* offset 12405 */
+  "\xd9\x81\xd8\xae\0" /* offset 12410 */
+  "\xd9\x81\xd9\x85\0" /* offset 12415 */
+  "\xd9\x81\xd9\x89\0" /* offset 12420 */
+  "\xd9\x81\xd9\x8a\0" /* offset 12425 */
+  "\xd9\x82\xd8\xad\0" /* offset 12430 */
+  "\xd9\x82\xd9\x85\0" /* offset 12435 */
+  "\xd9\x82\xd9\x89\0" /* offset 12440 */
+  "\xd9\x82\xd9\x8a\0" /* offset 12445 */
+  "\xd9\x83\xd8\xa7\0" /* offset 12450 */
+  "\xd9\x83\xd8\xac\0" /* offset 12455 */
+  "\xd9\x83\xd8\xad\0" /* offset 12460 */
+  "\xd9\x83\xd8\xae\0" /* offset 12465 */
+  "\xd9\x83\xd9\x84\0" /* offset 12470 */
+  "\xd9\x83\xd9\x85\0" /* offset 12475 */
+  "\xd9\x83\xd9\x89\0" /* offset 12480 */
+  "\xd9\x83\xd9\x8a\0" /* offset 12485 */
+  "\xd9\x84\xd8\xac\0" /* offset 12490 */
+  "\xd9\x84\xd8\xad\0" /* offset 12495 */
+  "\xd9\x84\xd8\xae\0" /* offset 12500 */
+  "\xd9\x84\xd9\x85\0" /* offset 12505 */
+  "\xd9\x84\xd9\x89\0" /* offset 12510 */
+  "\xd9\x84\xd9\x8a\0" /* offset 12515 */
+  "\xd9\x85\xd8\xac\0" /* offset 12520 */
+  "\xd9\x85\xd8\xad\0" /* offset 12525 */
+  "\xd9\x85\xd8\xae\0" /* offset 12530 */
+  "\xd9\x85\xd9\x85\0" /* offset 12535 */
+  "\xd9\x85\xd9\x89\0" /* offset 12540 */
+  "\xd9\x85\xd9\x8a\0" /* offset 12545 */
+  "\xd9\x86\xd8\xac\0" /* offset 12550 */
+  "\xd9\x86\xd8\xad\0" /* offset 12555 */
+  "\xd9\x86\xd8\xae\0" /* offset 12560 */
+  "\xd9\x86\xd9\x85\0" /* offset 12565 */
+  "\xd9\x86\xd9\x89\0" /* offset 12570 */
+  "\xd9\x86\xd9\x8a\0" /* offset 12575 */
+  "\xd9\x87\xd8\xac\0" /* offset 12580 */
+  "\xd9\x87\xd9\x85\0" /* offset 12585 */
+  "\xd9\x87\xd9\x89\0" /* offset 12590 */
+  "\xd9\x87\xd9\x8a\0" /* offset 12595 */
+  "\xd9\x8a\xd8\xac\0" /* offset 12600 */
+  "\xd9\x8a\xd8\xad\0" /* offset 12605 */
+  "\xd9\x8a\xd8\xae\0" /* offset 12610 */
+  "\xd9\x8a\xd9\x85\0" /* offset 12615 */
+  "\xd9\x8a\xd9\x89\0" /* offset 12620 */
+  "\xd9\x8a\xd9\x8a\0" /* offset 12625 */
+  "\xd8\xb0\xd9\xb0\0" /* offset 12630 */
+  "\xd8\xb1\xd9\xb0\0" /* offset 12635 */
+  "\xd9\x89\xd9\xb0\0" /* offset 12640 */
+  "\x20\xd9\x8c\xd9\x91\0" /* offset 12645 */
+  "\x20\xd9\x8d\xd9\x91\0" /* offset 12651 */
+  "\x20\xd9\x8e\xd9\x91\0" /* offset 12657 */
+  "\x20\xd9\x8f\xd9\x91\0" /* offset 12663 */
+  "\x20\xd9\x90\xd9\x91\0" /* offset 12669 */
+  "\x20\xd9\x91\xd9\xb0\0" /* offset 12675 */
+  "\xd9\x8a\xd9\x94\xd8\xb1\0" /* offset 12681 */
+  "\xd9\x8a\xd9\x94\xd8\xb2\0" /* offset 12688 */
+  "\xd9\x8a\xd9\x94\xd9\x86\0" /* offset 12695 */
+  "\xd8\xa8\xd8\xb1\0" /* offset 12702 */
+  "\xd8\xa8\xd8\xb2\0" /* offset 12707 */
+  "\xd8\xa8\xd9\x86\0" /* offset 12712 */
+  "\xd8\xaa\xd8\xb1\0" /* offset 12717 */
+  "\xd8\xaa\xd8\xb2\0" /* offset 12722 */
+  "\xd8\xaa\xd9\x86\0" /* offset 12727 */
+  "\xd8\xab\xd8\xb1\0" /* offset 12732 */
+  "\xd8\xab\xd8\xb2\0" /* offset 12737 */
+  "\xd8\xab\xd9\x86\0" /* offset 12742 */
+  "\xd9\x85\xd8\xa7\0" /* offset 12747 */
+  "\xd9\x86\xd8\xb1\0" /* offset 12752 */
+  "\xd9\x86\xd8\xb2\0" /* offset 12757 */
+  "\xd9\x86\xd9\x86\0" /* offset 12762 */
+  "\xd9\x8a\xd8\xb1\0" /* offset 12767 */
+  "\xd9\x8a\xd8\xb2\0" /* offset 12772 */
+  "\xd9\x8a\xd9\x86\0" /* offset 12777 */
+  "\xd9\x8a\xd9\x94\xd8\xae\0" /* offset 12782 */
+  "\xd9\x8a\xd9\x94\xd9\x87\0" /* offset 12789 */
+  "\xd8\xa8\xd9\x87\0" /* offset 12796 */
+  "\xd8\xaa\xd9\x87\0" /* offset 12801 */
+  "\xd8\xb5\xd8\xae\0" /* offset 12806 */
+  "\xd9\x84\xd9\x87\0" /* offset 12811 */
+  "\xd9\x86\xd9\x87\0" /* offset 12816 */
+  "\xd9\x87\xd9\xb0\0" /* offset 12821 */
+  "\xd9\x8a\xd9\x87\0" /* offset 12826 */
+  "\xd8\xab\xd9\x87\0" /* offset 12831 */
+  "\xd8\xb3\xd9\x87\0" /* offset 12836 */
+  "\xd8\xb4\xd9\x85\0" /* offset 12841 */
+  "\xd8\xb4\xd9\x87\0" /* offset 12846 */
+  "\xd9\x80\xd9\x8e\xd9\x91\0" /* offset 12851 */
+  "\xd9\x80\xd9\x8f\xd9\x91\0" /* offset 12858 */
+  "\xd9\x80\xd9\x90\xd9\x91\0" /* offset 12865 */
+  "\xd8\xb7\xd9\x89\0" /* offset 12872 */
+  "\xd8\xb7\xd9\x8a\0" /* offset 12877 */
+  "\xd8\xb9\xd9\x89\0" /* offset 12882 */
+  "\xd8\xb9\xd9\x8a\0" /* offset 12887 */
+  "\xd8\xba\xd9\x89\0" /* offset 12892 */
+  "\xd8\xba\xd9\x8a\0" /* offset 12897 */
+  "\xd8\xb3\xd9\x89\0" /* offset 12902 */
+  "\xd8\xb3\xd9\x8a\0" /* offset 12907 */
+  "\xd8\xb4\xd9\x89\0" /* offset 12912 */
+  "\xd8\xb4\xd9\x8a\0" /* offset 12917 */
+  "\xd8\xad\xd9\x89\0" /* offset 12922 */
+  "\xd8\xad\xd9\x8a\0" /* offset 12927 */
+  "\xd8\xac\xd9\x89\0" /* offset 12932 */
+  "\xd8\xac\xd9\x8a\0" /* offset 12937 */
+  "\xd8\xae\xd9\x89\0" /* offset 12942 */
+  "\xd8\xae\xd9\x8a\0" /* offset 12947 */
+  "\xd8\xb5\xd9\x89\0" /* offset 12952 */
+  "\xd8\xb5\xd9\x8a\0" /* offset 12957 */
+  "\xd8\xb6\xd9\x89\0" /* offset 12962 */
+  "\xd8\xb6\xd9\x8a\0" /* offset 12967 */
+  "\xd8\xb4\xd8\xac\0" /* offset 12972 */
+  "\xd8\xb4\xd8\xad\0" /* offset 12977 */
+  "\xd8\xb4\xd8\xae\0" /* offset 12982 */
+  "\xd8\xb4\xd8\xb1\0" /* offset 12987 */
+  "\xd8\xb3\xd8\xb1\0" /* offset 12992 */
+  "\xd8\xb5\xd8\xb1\0" /* offset 12997 */
+  "\xd8\xb6\xd8\xb1\0" /* offset 13002 */
+  "\xd8\xa7\xd9\x8b\0" /* offset 13007 */
+  "\xd8\xaa\xd8\xac\xd9\x85\0" /* offset 13012 */
+  "\xd8\xaa\xd8\xad\xd8\xac\0" /* offset 13019 */
+  "\xd8\xaa\xd8\xad\xd9\x85\0" /* offset 13026 */
+  "\xd8\xaa\xd8\xae\xd9\x85\0" /* offset 13033 */
+  "\xd8\xaa\xd9\x85\xd8\xac\0" /* offset 13040 */
+  "\xd8\xaa\xd9\x85\xd8\xad\0" /* offset 13047 */
+  "\xd8\xaa\xd9\x85\xd8\xae\0" /* offset 13054 */
+  "\xd8\xac\xd9\x85\xd8\xad\0" /* offset 13061 */
+  "\xd8\xad\xd9\x85\xd9\x8a\0" /* offset 13068 */
+  "\xd8\xad\xd9\x85\xd9\x89\0" /* offset 13075 */
+  "\xd8\xb3\xd8\xad\xd8\xac\0" /* offset 13082 */
+  "\xd8\xb3\xd8\xac\xd8\xad\0" /* offset 13089 */
+  "\xd8\xb3\xd8\xac\xd9\x89\0" /* offset 13096 */
+  "\xd8\xb3\xd9\x85\xd8\xad\0" /* offset 13103 */
+  "\xd8\xb3\xd9\x85\xd8\xac\0" /* offset 13110 */
+  "\xd8\xb3\xd9\x85\xd9\x85\0" /* offset 13117 */
+  "\xd8\xb5\xd8\xad\xd8\xad\0" /* offset 13124 */
+  "\xd8\xb5\xd9\x85\xd9\x85\0" /* offset 13131 */
+  "\xd8\xb4\xd8\xad\xd9\x85\0" /* offset 13138 */
+  "\xd8\xb4\xd8\xac\xd9\x8a\0" /* offset 13145 */
+  "\xd8\xb4\xd9\x85\xd8\xae\0" /* offset 13152 */
+  "\xd8\xb4\xd9\x85\xd9\x85\0" /* offset 13159 */
+  "\xd8\xb6\xd8\xad\xd9\x89\0" /* offset 13166 */
+  "\xd8\xb6\xd8\xae\xd9\x85\0" /* offset 13173 */
+  "\xd8\xb7\xd9\x85\xd8\xad\0" /* offset 13180 */
+  "\xd8\xb7\xd9\x85\xd9\x85\0" /* offset 13187 */
+  "\xd8\xb7\xd9\x85\xd9\x8a\0" /* offset 13194 */
+  "\xd8\xb9\xd8\xac\xd9\x85\0" /* offset 13201 */
+  "\xd8\xb9\xd9\x85\xd9\x85\0" /* offset 13208 */
+  "\xd8\xb9\xd9\x85\xd9\x89\0" /* offset 13215 */
+  "\xd8\xba\xd9\x85\xd9\x85\0" /* offset 13222 */
+  "\xd8\xba\xd9\x85\xd9\x8a\0" /* offset 13229 */
+  "\xd8\xba\xd9\x85\xd9\x89\0" /* offset 13236 */
+  "\xd9\x81\xd8\xae\xd9\x85\0" /* offset 13243 */
+  "\xd9\x82\xd9\x85\xd8\xad\0" /* offset 13250 */
+  "\xd9\x82\xd9\x85\xd9\x85\0" /* offset 13257 */
+  "\xd9\x84\xd8\xad\xd9\x85\0" /* offset 13264 */
+  "\xd9\x84\xd8\xad\xd9\x8a\0" /* offset 13271 */
+  "\xd9\x84\xd8\xad\xd9\x89\0" /* offset 13278 */
+  "\xd9\x84\xd8\xac\xd8\xac\0" /* offset 13285 */
+  "\xd9\x84\xd8\xae\xd9\x85\0" /* offset 13292 */
+  "\xd9\x84\xd9\x85\xd8\xad\0" /* offset 13299 */
+  "\xd9\x85\xd8\xad\xd8\xac\0" /* offset 13306 */
+  "\xd9\x85\xd8\xad\xd9\x85\0" /* offset 13313 */
+  "\xd9\x85\xd8\xad\xd9\x8a\0" /* offset 13320 */
+  "\xd9\x85\xd8\xac\xd8\xad\0" /* offset 13327 */
+  "\xd9\x85\xd8\xac\xd9\x85\0" /* offset 13334 */
+  "\xd9\x85\xd8\xae\xd8\xac\0" /* offset 13341 */
+  "\xd9\x85\xd8\xae\xd9\x85\0" /* offset 13348 */
+  "\xd9\x85\xd8\xac\xd8\xae\0" /* offset 13355 */
+  "\xd9\x87\xd9\x85\xd8\xac\0" /* offset 13362 */
+  "\xd9\x87\xd9\x85\xd9\x85\0" /* offset 13369 */
+  "\xd9\x86\xd8\xad\xd9\x85\0" /* offset 13376 */
+  "\xd9\x86\xd8\xad\xd9\x89\0" /* offset 13383 */
+  "\xd9\x86\xd8\xac\xd9\x85\0" /* offset 13390 */
+  "\xd9\x86\xd8\xac\xd9\x89\0" /* offset 13397 */
+  "\xd9\x86\xd9\x85\xd9\x8a\0" /* offset 13404 */
+  "\xd9\x86\xd9\x85\xd9\x89\0" /* offset 13411 */
+  "\xd9\x8a\xd9\x85\xd9\x85\0" /* offset 13418 */
+  "\xd8\xa8\xd8\xae\xd9\x8a\0" /* offset 13425 */
+  "\xd8\xaa\xd8\xac\xd9\x8a\0" /* offset 13432 */
+  "\xd8\xaa\xd8\xac\xd9\x89\0" /* offset 13439 */
+  "\xd8\xaa\xd8\xae\xd9\x8a\0" /* offset 13446 */
+  "\xd8\xaa\xd8\xae\xd9\x89\0" /* offset 13453 */
+  "\xd8\xaa\xd9\x85\xd9\x8a\0" /* offset 13460 */
+  "\xd8\xaa\xd9\x85\xd9\x89\0" /* offset 13467 */
+  "\xd8\xac\xd9\x85\xd9\x8a\0" /* offset 13474 */
+  "\xd8\xac\xd8\xad\xd9\x89\0" /* offset 13481 */
+  "\xd8\xac\xd9\x85\xd9\x89\0" /* offset 13488 */
+  "\xd8\xb3\xd8\xae\xd9\x89\0" /* offset 13495 */
+  "\xd8\xb5\xd8\xad\xd9\x8a\0" /* offset 13502 */
+  "\xd8\xb4\xd8\xad\xd9\x8a\0" /* offset 13509 */
+  "\xd8\xb6\xd8\xad\xd9\x8a\0" /* offset 13516 */
+  "\xd9\x84\xd8\xac\xd9\x8a\0" /* offset 13523 */
+  "\xd9\x84\xd9\x85\xd9\x8a\0" /* offset 13530 */
+  "\xd9\x8a\xd8\xad\xd9\x8a\0" /* offset 13537 */
+  "\xd9\x8a\xd8\xac\xd9\x8a\0" /* offset 13544 */
+  "\xd9\x8a\xd9\x85\xd9\x8a\0" /* offset 13551 */
+  "\xd9\x85\xd9\x85\xd9\x8a\0" /* offset 13558 */
+  "\xd9\x82\xd9\x85\xd9\x8a\0" /* offset 13565 */
+  "\xd9\x86\xd8\xad\xd9\x8a\0" /* offset 13572 */
+  "\xd8\xb9\xd9\x85\xd9\x8a\0" /* offset 13579 */
+  "\xd9\x83\xd9\x85\xd9\x8a\0" /* offset 13586 */
+  "\xd9\x86\xd8\xac\xd8\xad\0" /* offset 13593 */
+  "\xd9\x85\xd8\xae\xd9\x8a\0" /* offset 13600 */
+  "\xd9\x84\xd8\xac\xd9\x85\0" /* offset 13607 */
+  "\xd9\x83\xd9\x85\xd9\x85\0" /* offset 13614 */
+  "\xd8\xac\xd8\xad\xd9\x8a\0" /* offset 13621 */
+  "\xd8\xad\xd8\xac\xd9\x8a\0" /* offset 13628 */
+  "\xd9\x85\xd8\xac\xd9\x8a\0" /* offset 13635 */
+  "\xd9\x81\xd9\x85\xd9\x8a\0" /* offset 13642 */
+  "\xd8\xa8\xd8\xad\xd9\x8a\0" /* offset 13649 */
+  "\xd8\xb3\xd8\xae\xd9\x8a\0" /* offset 13656 */
+  "\xd9\x86\xd8\xac\xd9\x8a\0" /* offset 13663 */
+  "\xd8\xb5\xd9\x84\xdb\x92\0" /* offset 13670 */
+  "\xd9\x82\xd9\x84\xdb\x92\0" /* offset 13677 */
+  "\xd8\xa7\xd9\x84\xd9\x84\xd9\x87\0" /* offset 13684 */
+  "\xd8\xa7\xd9\x83\xd8\xa8\xd8\xb1\0" /* offset 13693 */
+  "\xd9\x85\xd8\xad\xd9\x85\xd8\xaf\0" /* offset 13702 */
+  "\xd8\xb5\xd9\x84\xd8\xb9\xd9\x85\0" /* offset 13711 */
+  "\xd8\xb1\xd8\xb3\xd9\x88\xd9\x84\0" /* offset 13720 */
+  "\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87\0" /* offset 13729 */
+  "\xd9\x88\xd8\xb3\xd9\x84\xd9\x85\0" /* offset 13738 */
+  "\xd8\xb5\xd9\x84\xd9\x89\0" /* offset 13747 */
+  "\xd8\xb5\xd9\x84\xd9\x89\x20\xd8\xa7\xd9\x84\xd9\x84\xd9\x87\x20\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87\x20\xd9\x88\xd8\xb3\xd9\x84\xd9\x85\0" /* offset 13754 */
+  "\xd8\xac\xd9\x84\x20\xd8\xac\xd9\x84\xd8\xa7\xd9\x84\xd9\x87\0" /* offset 13788 */
+  "\xd8\xb1\xdb\x8c\xd8\xa7\xd9\x84\0" /* offset 13804 */
+  "\xe2\x80\x94\0" /* offset 13813 */
+  "\xe2\x80\x93\0" /* offset 13817 */
+  "\x5f\0" /* offset 13821 */
+  "\x7b\0" /* offset 13823 */
+  "\x7d\0" /* offset 13825 */
+  "\xe3\x80\x94\0" /* offset 13827 */
+  "\xe3\x80\x95\0" /* offset 13831 */
+  "\xe3\x80\x90\0" /* offset 13835 */
+  "\xe3\x80\x91\0" /* offset 13839 */
+  "\xe3\x80\x8a\0" /* offset 13843 */
+  "\xe3\x80\x8b\0" /* offset 13847 */
+  "\xe3\x80\x8c\0" /* offset 13851 */
+  "\xe3\x80\x8d\0" /* offset 13855 */
+  "\xe3\x80\x8e\0" /* offset 13859 */
+  "\xe3\x80\x8f\0" /* offset 13863 */
+  "\x2c\0" /* offset 13867 */
+  "\xe3\x80\x81\0" /* offset 13869 */
+  "\x3a\0" /* offset 13873 */
+  "\x3f\0" /* offset 13875 */
+  "\x21\0" /* offset 13877 */
+  "\x23\0" /* offset 13879 */
+  "\x26\0" /* offset 13881 */
+  "\x2a\0" /* offset 13883 */
+  "\x2d\0" /* offset 13885 */
+  "\x3c\0" /* offset 13887 */
+  "\x3e\0" /* offset 13889 */
+  "\x5c\0" /* offset 13891 */
+  "\x24\0" /* offset 13893 */
+  "\x25\0" /* offset 13895 */
+  "\x40\0" /* offset 13897 */
+  "\x20\xd9\x8b\0" /* offset 13899 */
+  "\xd9\x80\xd9\x8b\0" /* offset 13903 */
+  "\x20\xd9\x8c\0" /* offset 13908 */
+  "\x20\xd9\x8d\0" /* offset 13912 */
+  "\x20\xd9\x8e\0" /* offset 13916 */
+  "\xd9\x80\xd9\x8e\0" /* offset 13920 */
+  "\x20\xd9\x8f\0" /* offset 13925 */
+  "\xd9\x80\xd9\x8f\0" /* offset 13929 */
+  "\x20\xd9\x90\0" /* offset 13934 */
+  "\xd9\x80\xd9\x90\0" /* offset 13938 */
+  "\x20\xd9\x91\0" /* offset 13943 */
+  "\xd9\x80\xd9\x91\0" /* offset 13947 */
+  "\x20\xd9\x92\0" /* offset 13952 */
+  "\xd9\x80\xd9\x92\0" /* offset 13956 */
+  "\xd8\xa1\0" /* offset 13961 */
+  "\xd8\xa7\0" /* offset 13964 */
+  "\xd8\xa8\0" /* offset 13967 */
+  "\xd8\xa9\0" /* offset 13970 */
+  "\xd8\xaa\0" /* offset 13973 */
+  "\xd8\xab\0" /* offset 13976 */
+  "\xd8\xac\0" /* offset 13979 */
+  "\xd8\xad\0" /* offset 13982 */
+  "\xd8\xae\0" /* offset 13985 */
+  "\xd8\xaf\0" /* offset 13988 */
+  "\xd8\xb0\0" /* offset 13991 */
+  "\xd8\xb1\0" /* offset 13994 */
+  "\xd8\xb2\0" /* offset 13997 */
+  "\xd8\xb3\0" /* offset 14000 */
+  "\xd8\xb4\0" /* offset 14003 */
+  "\xd8\xb5\0" /* offset 14006 */
+  "\xd8\xb6\0" /* offset 14009 */
+  "\xd8\xb7\0" /* offset 14012 */
+  "\xd8\xb8\0" /* offset 14015 */
+  "\xd8\xb9\0" /* offset 14018 */
+  "\xd8\xba\0" /* offset 14021 */
+  "\xd9\x81\0" /* offset 14024 */
+  "\xd9\x82\0" /* offset 14027 */
+  "\xd9\x83\0" /* offset 14030 */
+  "\xd9\x84\0" /* offset 14033 */
+  "\xd9\x85\0" /* offset 14036 */
+  "\xd9\x86\0" /* offset 14039 */
+  "\xd9\x87\0" /* offset 14042 */
+  "\xd9\x88\0" /* offset 14045 */
+  "\xd9\x8a\0" /* offset 14048 */
+  "\xd9\x84\xd8\xa7\xd9\x93\0" /* offset 14051 */
+  "\xd9\x84\xd8\xa7\xd9\x94\0" /* offset 14058 */
+  "\xd9\x84\xd8\xa7\xd9\x95\0" /* offset 14065 */
+  "\xd9\x84\xd8\xa7\0" /* offset 14072 */
+  "\x22\0" /* offset 14077 */
+  "\x27\0" /* offset 14079 */
+  "\x2f\0" /* offset 14081 */
+  "\x5b\0" /* offset 14083 */
+  "\x5d\0" /* offset 14085 */
+  "\x5e\0" /* offset 14087 */
+  "\x7c\0" /* offset 14089 */
+  "\x7e\0" /* offset 14091 */
+  "\xe2\xa6\x85\0" /* offset 14093 */
+  "\xe2\xa6\x86\0" /* offset 14097 */
+  "\xe3\x80\x82\0" /* offset 14101 */
+  "\xe3\x83\xbb\0" /* offset 14105 */
+  "\xe3\x82\xa1\0" /* offset 14109 */
+  "\xe3\x82\xa3\0" /* offset 14113 */
+  "\xe3\x82\xa5\0" /* offset 14117 */
+  "\xe3\x82\xa7\0" /* offset 14121 */
+  "\xe3\x82\xa9\0" /* offset 14125 */
+  "\xe3\x83\xa3\0" /* offset 14129 */
+  "\xe3\x83\xa5\0" /* offset 14133 */
+  "\xe3\x83\xa7\0" /* offset 14137 */
+  "\xe3\x83\x83\0" /* offset 14141 */
+  "\xe3\x83\xbc\0" /* offset 14145 */
+  "\xe3\x83\xb3\0" /* offset 14149 */
+  "\xe3\x82\x99\0" /* offset 14153 */
+  "\xe3\x82\x9a\0" /* offset 14157 */
+  "\xc2\xa2\0" /* offset 14161 */
+  "\xc2\xa3\0" /* offset 14164 */
+  "\xc2\xac\0" /* offset 14167 */
+  "\xc2\xa6\0" /* offset 14170 */
+  "\xc2\xa5\0" /* offset 14173 */
+  "\xe2\x82\xa9\0" /* offset 14176 */
+  "\xe2\x94\x82\0" /* offset 14180 */
+  "\xe2\x86\x90\0" /* offset 14184 */
+  "\xe2\x86\x91\0" /* offset 14188 */
+  "\xe2\x86\x92\0" /* offset 14192 */
+  "\xe2\x86\x93\0" /* offset 14196 */
+  "\xe2\x96\xa0\0" /* offset 14200 */
+  "\xe2\x97\x8b\0" /* offset 14204 */
+  "\xf0\x9d\x85\x97\xf0\x9d\x85\xa5\0" /* offset 14208 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\0" /* offset 14217 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14226 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14239 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb0\0" /* offset 14252 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb1\0" /* offset 14265 */
+  "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb2\0" /* offset 14278 */
+  "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\0" /* offset 14291 */
+  "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\0" /* offset 14300 */
+  "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14309 */
+  "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14322 */
+  "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14335 */
+  "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14348 */
+  "\xce\x91\0" /* offset 14361 */
+  "\xce\x92\0" /* offset 14364 */
+  "\xce\x94\0" /* offset 14367 */
+  "\xce\x95\0" /* offset 14370 */
+  "\xce\x96\0" /* offset 14373 */
+  "\xce\x97\0" /* offset 14376 */
+  "\xce\x99\0" /* offset 14379 */
+  "\xce\x9a\0" /* offset 14382 */
+  "\xce\x9b\0" /* offset 14385 */
+  "\xce\x9c\0" /* offset 14388 */
+  "\xce\x9d\0" /* offset 14391 */
+  "\xce\x9e\0" /* offset 14394 */
+  "\xce\x9f\0" /* offset 14397 */
+  "\xce\xa1\0" /* offset 14400 */
+  "\xce\xa3\0" /* offset 14403 */
+  "\xce\xa4\0" /* offset 14406 */
+  "\xce\xa6\0" /* offset 14409 */
+  "\xce\xa7\0" /* offset 14412 */
+  "\xce\xa8\0" /* offset 14415 */
+  "\xe2\x88\x87\0" /* offset 14418 */
+  "\xce\xb1\0" /* offset 14422 */
+  "\xce\xb4\0" /* offset 14425 */
+  "\xce\xb6\0" /* offset 14428 */
+  "\xce\xb7\0" /* offset 14431 */
+  "\xce\xbb\0" /* offset 14434 */
+  "\xce\xbd\0" /* offset 14437 */
+  "\xce\xbe\0" /* offset 14440 */
+  "\xce\xbf\0" /* offset 14443 */
+  "\xcf\x83\0" /* offset 14446 */
+  "\xcf\x84\0" /* offset 14449 */
+  "\xcf\x85\0" /* offset 14452 */
+  "\xcf\x87\0" /* offset 14455 */
+  "\xcf\x88\0" /* offset 14458 */
+  "\xcf\x89\0" /* offset 14461 */
+  "\xe2\x88\x82\0" /* offset 14464 */
+  "\xe4\xb8\xbd\0" /* offset 14468 */
+  "\xe4\xb8\xb8\0" /* offset 14472 */
+  "\xe4\xb9\x81\0" /* offset 14476 */
+  "\xf0\xa0\x84\xa2\0" /* offset 14480 */
+  "\xe4\xbd\xa0\0" /* offset 14485 */
+  "\xe4\xbe\xbb\0" /* offset 14489 */
+  "\xe5\x80\x82\0" /* offset 14493 */
+  "\xe5\x81\xba\0" /* offset 14497 */
+  "\xe5\x82\x99\0" /* offset 14501 */
+  "\xe5\x83\x8f\0" /* offset 14505 */
+  "\xe3\x92\x9e\0" /* offset 14509 */
+  "\xf0\xa0\x98\xba\0" /* offset 14513 */
+  "\xe5\x85\x94\0" /* offset 14518 */
+  "\xe5\x85\xa4\0" /* offset 14522 */
+  "\xe5\x85\xb7\0" /* offset 14526 */
+  "\xf0\xa0\x94\x9c\0" /* offset 14530 */
+  "\xe3\x92\xb9\0" /* offset 14535 */
+  "\xe5\x85\xa7\0" /* offset 14539 */
+  "\xe5\x86\x8d\0" /* offset 14543 */
+  "\xf0\xa0\x95\x8b\0" /* offset 14547 */
+  "\xe5\x86\x97\0" /* offset 14552 */
+  "\xe5\x86\xa4\0" /* offset 14556 */
+  "\xe4\xbb\x8c\0" /* offset 14560 */
+  "\xe5\x86\xac\0" /* offset 14564 */
+  "\xe5\x86\xb5\0" /* offset 14568 */
+  "\xf0\xa9\x87\x9f\0" /* offset 14572 */
+  "\xe5\x88\x83\0" /* offset 14577 */
+  "\xe3\x93\x9f\0" /* offset 14581 */
+  "\xe5\x88\xbb\0" /* offset 14585 */
+  "\xe5\x89\x86\0" /* offset 14589 */
+  "\xe5\x89\xb2\0" /* offset 14593 */
+  "\xe5\x89\xb7\0" /* offset 14597 */
+  "\xe3\x94\x95\0" /* offset 14601 */
+  "\xe5\x8b\x87\0" /* offset 14605 */
+  "\xe5\x8b\xba\0" /* offset 14609 */
+  "\xe5\x8c\x85\0" /* offset 14613 */
+  "\xe5\x8c\x86\0" /* offset 14617 */
+  "\xe5\x8d\x89\0" /* offset 14621 */
+  "\xe5\x8d\x9a\0" /* offset 14625 */
+  "\xe5\x8d\xb3\0" /* offset 14629 */
+  "\xe5\x8d\xbd\0" /* offset 14633 */
+  "\xe5\x8d\xbf\0" /* offset 14637 */
+  "\xf0\xa0\xa8\xac\0" /* offset 14641 */
+  "\xe7\x81\xb0\0" /* offset 14646 */
+  "\xe5\x8f\x8a\0" /* offset 14650 */
+  "\xe5\x8f\x9f\0" /* offset 14654 */
+  "\xf0\xa0\xad\xa3\0" /* offset 14658 */
+  "\xe5\x8f\xab\0" /* offset 14663 */
+  "\xe5\x8f\xb1\0" /* offset 14667 */
+  "\xe5\x90\x86\0" /* offset 14671 */
+  "\xe5\x92\x9e\0" /* offset 14675 */
+  "\xe5\x90\xb8\0" /* offset 14679 */
+  "\xe5\x91\x88\0" /* offset 14683 */
+  "\xe5\x91\xa8\0" /* offset 14687 */
+  "\xe5\x92\xa2\0" /* offset 14691 */
+  "\xe5\x93\xb6\0" /* offset 14695 */
+  "\xe5\x94\x90\0" /* offset 14699 */
+  "\xe5\x95\x93\0" /* offset 14703 */
+  "\xe5\x95\xa3\0" /* offset 14707 */
+  "\xe5\x96\x84\0" /* offset 14711 */
+  "\xe5\x96\x99\0" /* offset 14715 */
+  "\xe5\x96\xab\0" /* offset 14719 */
+  "\xe5\x96\xb3\0" /* offset 14723 */
+  "\xe5\x97\x82\0" /* offset 14727 */
+  "\xe5\x9c\x96\0" /* offset 14731 */
+  "\xe5\x9c\x97\0" /* offset 14735 */
+  "\xe5\x99\x91\0" /* offset 14739 */
+  "\xe5\x99\xb4\0" /* offset 14743 */
+  "\xe5\xa3\xae\0" /* offset 14747 */
+  "\xe5\x9f\x8e\0" /* offset 14751 */
+  "\xe5\x9f\xb4\0" /* offset 14755 */
+  "\xe5\xa0\x8d\0" /* offset 14759 */
+  "\xe5\x9e\x8b\0" /* offset 14763 */
+  "\xe5\xa0\xb2\0" /* offset 14767 */
+  "\xe5\xa0\xb1\0" /* offset 14771 */
+  "\xe5\xa2\xac\0" /* offset 14775 */
+  "\xf0\xa1\x93\xa4\0" /* offset 14779 */
+  "\xe5\xa3\xb2\0" /* offset 14784 */
+  "\xe5\xa3\xb7\0" /* offset 14788 */
+  "\xe5\xa4\x86\0" /* offset 14792 */
+  "\xe5\xa4\x9a\0" /* offset 14796 */
+  "\xe5\xa4\xa2\0" /* offset 14800 */
+  "\xe5\xa5\xa2\0" /* offset 14804 */
+  "\xf0\xa1\x9a\xa8\0" /* offset 14808 */
+  "\xf0\xa1\x9b\xaa\0" /* offset 14813 */
+  "\xe5\xa7\xac\0" /* offset 14818 */
+  "\xe5\xa8\x9b\0" /* offset 14822 */
+  "\xe5\xa8\xa7\0" /* offset 14826 */
+  "\xe5\xa7\x98\0" /* offset 14830 */
+  "\xe5\xa9\xa6\0" /* offset 14834 */
+  "\xe3\x9b\xae\0" /* offset 14838 */
+  "\xf0\xa1\x8d\xaa\0" /* offset 14842 */
+  "\xe5\xac\x88\0" /* offset 14847 */
+  "\xe5\xac\xbe\0" /* offset 14851 */
+  "\xf0\xa1\xa7\x88\0" /* offset 14855 */
+  "\xe5\xaf\x83\0" /* offset 14860 */
+  "\xe5\xaf\x98\0" /* offset 14864 */
+  "\xe5\xaf\xb3\0" /* offset 14868 */
+  "\xf0\xa1\xac\x98\0" /* offset 14872 */
+  "\xe5\xaf\xbf\0" /* offset 14877 */
+  "\xe5\xb0\x86\0" /* offset 14881 */
+  "\xe5\xbc\xb3\0" /* offset 14885 */
+  "\xe3\x9e\x81\0" /* offset 14889 */
+  "\xe5\xb1\xa0\0" /* offset 14893 */
+  "\xe5\xb3\x80\0" /* offset 14897 */
+  "\xe5\xb2\x8d\0" /* offset 14901 */
+  "\xf0\xa1\xb7\xa4\0" /* offset 14905 */
+  "\xe5\xb5\x83\0" /* offset 14910 */
+  "\xf0\xa1\xb7\xa6\0" /* offset 14914 */
+  "\xe5\xb5\xae\0" /* offset 14919 */
+  "\xe5\xb5\xab\0" /* offset 14923 */
+  "\xe5\xb5\xbc\0" /* offset 14927 */
+  "\xe5\xb7\xa1\0" /* offset 14931 */
+  "\xe5\xb7\xa2\0" /* offset 14935 */
+  "\xe3\xa0\xaf\0" /* offset 14939 */
+  "\xe5\xb7\xbd\0" /* offset 14943 */
+  "\xe5\xb8\xa8\0" /* offset 14947 */
+  "\xe5\xb8\xbd\0" /* offset 14951 */
+  "\xe5\xb9\xa9\0" /* offset 14955 */
+  "\xe3\xa1\xa2\0" /* offset 14959 */
+  "\xf0\xa2\x86\x83\0" /* offset 14963 */
+  "\xe3\xa1\xbc\0" /* offset 14968 */
+  "\xe5\xba\xb0\0" /* offset 14972 */
+  "\xe5\xba\xb3\0" /* offset 14976 */
+  "\xe5\xba\xb6\0" /* offset 14980 */
+  "\xf0\xaa\x8e\x92\0" /* offset 14984 */
+  "\xf0\xa2\x8c\xb1\0" /* offset 14989 */
+  "\xe8\x88\x81\0" /* offset 14994 */
+  "\xe5\xbc\xa2\0" /* offset 14998 */
+  "\xe3\xa3\x87\0" /* offset 15002 */
+  "\xf0\xa3\x8a\xb8\0" /* offset 15006 */
+  "\xf0\xa6\x87\x9a\0" /* offset 15011 */
+  "\xe5\xbd\xa2\0" /* offset 15016 */
+  "\xe5\xbd\xab\0" /* offset 15020 */
+  "\xe3\xa3\xa3\0" /* offset 15024 */
+  "\xe5\xbe\x9a\0" /* offset 15028 */
+  "\xe5\xbf\x8d\0" /* offset 15032 */
+  "\xe5\xbf\x97\0" /* offset 15036 */
+  "\xe5\xbf\xb9\0" /* offset 15040 */
+  "\xe6\x82\x81\0" /* offset 15044 */
+  "\xe3\xa4\xba\0" /* offset 15048 */
+  "\xe3\xa4\x9c\0" /* offset 15052 */
+  "\xf0\xa2\x9b\x94\0" /* offset 15056 */
+  "\xe6\x83\x87\0" /* offset 15061 */
+  "\xe6\x85\x88\0" /* offset 15065 */
+  "\xe6\x85\x8c\0" /* offset 15069 */
+  "\xe6\x85\x8e\0" /* offset 15073 */
+  "\xe6\x85\xba\0" /* offset 15077 */
+  "\xe6\x86\xb2\0" /* offset 15081 */
+  "\xe6\x86\xa4\0" /* offset 15085 */
+  "\xe6\x86\xaf\0" /* offset 15089 */
+  "\xe6\x87\x9e\0" /* offset 15093 */
+  "\xe6\x88\x90\0" /* offset 15097 */
+  "\xe6\x88\x9b\0" /* offset 15101 */
+  "\xe6\x89\x9d\0" /* offset 15105 */
+  "\xe6\x8a\xb1\0" /* offset 15109 */
+  "\xe6\x8b\x94\0" /* offset 15113 */
+  "\xe6\x8d\x90\0" /* offset 15117 */
+  "\xf0\xa2\xac\x8c\0" /* offset 15121 */
+  "\xe6\x8c\xbd\0" /* offset 15126 */
+  "\xe6\x8b\xbc\0" /* offset 15130 */
+  "\xe6\x8d\xa8\0" /* offset 15134 */
+  "\xe6\x8e\x83\0" /* offset 15138 */
+  "\xe6\x8f\xa4\0" /* offset 15142 */
+  "\xf0\xa2\xaf\xb1\0" /* offset 15146 */
+  "\xe6\x90\xa2\0" /* offset 15151 */
+  "\xe6\x8f\x85\0" /* offset 15155 */
+  "\xe6\x8e\xa9\0" /* offset 15159 */
+  "\xe3\xa8\xae\0" /* offset 15163 */
+  "\xe6\x91\xa9\0" /* offset 15167 */
+  "\xe6\x91\xbe\0" /* offset 15171 */
+  "\xe6\x92\x9d\0" /* offset 15175 */
+  "\xe6\x91\xb7\0" /* offset 15179 */
+  "\xe3\xa9\xac\0" /* offset 15183 */
+  "\xe6\x95\xac\0" /* offset 15187 */
+  "\xf0\xa3\x80\x8a\0" /* offset 15191 */
+  "\xe6\x97\xa3\0" /* offset 15196 */
+  "\xe6\x9b\xb8\0" /* offset 15200 */
+  "\xe6\x99\x89\0" /* offset 15204 */
+  "\xe3\xac\x99\0" /* offset 15208 */
+  "\xe3\xac\x88\0" /* offset 15212 */
+  "\xe3\xab\xa4\0" /* offset 15216 */
+  "\xe5\x86\x92\0" /* offset 15220 */
+  "\xe5\x86\x95\0" /* offset 15224 */
+  "\xe6\x9c\x80\0" /* offset 15228 */
+  "\xe6\x9a\x9c\0" /* offset 15232 */
+  "\xe8\x82\xad\0" /* offset 15236 */
+  "\xe4\x8f\x99\0" /* offset 15240 */
+  "\xe6\x9c\x9b\0" /* offset 15244 */
+  "\xe6\x9c\xa1\0" /* offset 15248 */
+  "\xe6\x9d\x9e\0" /* offset 15252 */
+  "\xe6\x9d\x93\0" /* offset 15256 */
+  "\xf0\xa3\x8f\x83\0" /* offset 15260 */
+  "\xe3\xad\x89\0" /* offset 15265 */
+  "\xe6\x9f\xba\0" /* offset 15269 */
+  "\xe6\x9e\x85\0" /* offset 15273 */
+  "\xe6\xa1\x92\0" /* offset 15277 */
+  "\xf0\xa3\x91\xad\0" /* offset 15281 */
+  "\xe6\xa2\x8e\0" /* offset 15286 */
+  "\xe6\xa0\x9f\0" /* offset 15290 */
+  "\xe6\xa4\x94\0" /* offset 15294 */
+  "\xe3\xae\x9d\0" /* offset 15298 */
+  "\xe6\xa5\x82\0" /* offset 15302 */
+  "\xe6\xa6\xa3\0" /* offset 15306 */
+  "\xe6\xa7\xaa\0" /* offset 15310 */
+  "\xe6\xaa\xa8\0" /* offset 15314 */
+  "\xf0\xa3\x9a\xa3\0" /* offset 15318 */
+  "\xe6\xab\x9b\0" /* offset 15323 */
+  "\xe3\xb0\x98\0" /* offset 15327 */
+  "\xe6\xac\xa1\0" /* offset 15331 */
+  "\xf0\xa3\xa2\xa7\0" /* offset 15335 */
+  "\xe6\xad\x94\0" /* offset 15340 */
+  "\xe3\xb1\x8e\0" /* offset 15344 */
+  "\xe6\xad\xb2\0" /* offset 15348 */
+  "\xe6\xae\x9f\0" /* offset 15352 */
+  "\xe6\xae\xbb\0" /* offset 15356 */
+  "\xf0\xa3\xaa\x8d\0" /* offset 15360 */
+  "\xf0\xa1\xb4\x8b\0" /* offset 15365 */
+  "\xf0\xa3\xab\xba\0" /* offset 15370 */
+  "\xe6\xb1\x8e\0" /* offset 15375 */
+  "\xf0\xa3\xb2\xbc\0" /* offset 15379 */
+  "\xe6\xb2\xbf\0" /* offset 15384 */
+  "\xe6\xb3\x8d\0" /* offset 15388 */
+  "\xe6\xb1\xa7\0" /* offset 15392 */
+  "\xe6\xb4\x96\0" /* offset 15396 */
+  "\xe6\xb4\xbe\0" /* offset 15400 */
+  "\xe6\xb5\xa9\0" /* offset 15404 */
+  "\xe6\xb5\xb8\0" /* offset 15408 */
+  "\xe6\xb6\x85\0" /* offset 15412 */
+  "\xf0\xa3\xb4\x9e\0" /* offset 15416 */
+  "\xe6\xb4\xb4\0" /* offset 15421 */
+  "\xe6\xb8\xaf\0" /* offset 15425 */
+  "\xe6\xb9\xae\0" /* offset 15429 */
+  "\xe3\xb4\xb3\0" /* offset 15433 */
+  "\xe6\xbb\x8b\0" /* offset 15437 */
+  "\xe6\xbb\x87\0" /* offset 15441 */
+  "\xf0\xa3\xbb\x91\0" /* offset 15445 */
+  "\xe6\xb7\xb9\0" /* offset 15450 */
+  "\xe6\xbd\xae\0" /* offset 15454 */
+  "\xf0\xa3\xbd\x9e\0" /* offset 15458 */
+  "\xf0\xa3\xbe\x8e\0" /* offset 15463 */
+  "\xe6\xbf\x86\0" /* offset 15468 */
+  "\xe7\x80\xb9\0" /* offset 15472 */
+  "\xe7\x80\x9e\0" /* offset 15476 */
+  "\xe7\x80\x9b\0" /* offset 15480 */
+  "\xe3\xb6\x96\0" /* offset 15484 */
+  "\xe7\x81\x8a\0" /* offset 15488 */
+  "\xe7\x81\xbd\0" /* offset 15492 */
+  "\xe7\x81\xb7\0" /* offset 15496 */
+  "\xe7\x82\xad\0" /* offset 15500 */
+  "\xf0\xa0\x94\xa5\0" /* offset 15504 */
+  "\xe7\x85\x85\0" /* offset 15509 */
+  "\xf0\xa4\x89\xa3\0" /* offset 15513 */
+  "\xe7\x86\x9c\0" /* offset 15518 */
+  "\xe4\x8e\xab\0" /* offset 15522 */
+  "\xe7\x88\xa8\0" /* offset 15526 */
+  "\xe7\x88\xb5\0" /* offset 15530 */
+  "\xe7\x89\x90\0" /* offset 15534 */
+  "\xf0\xa4\x98\x88\0" /* offset 15538 */
+  "\xe7\x8a\x80\0" /* offset 15543 */
+  "\xe7\x8a\x95\0" /* offset 15547 */
+  "\xf0\xa4\x9c\xb5\0" /* offset 15551 */
+  "\xf0\xa4\xa0\x94\0" /* offset 15556 */
+  "\xe7\x8d\xba\0" /* offset 15561 */
+  "\xe7\x8e\x8b\0" /* offset 15565 */
+  "\xe3\xba\xac\0" /* offset 15569 */
+  "\xe7\x8e\xa5\0" /* offset 15573 */
+  "\xe3\xba\xb8\0" /* offset 15577 */
+  "\xe7\x91\x87\0" /* offset 15581 */
+  "\xe7\x91\x9c\0" /* offset 15585 */
+  "\xe7\x91\xb1\0" /* offset 15589 */
+  "\xe7\x92\x85\0" /* offset 15593 */
+  "\xe7\x93\x8a\0" /* offset 15597 */
+  "\xe3\xbc\x9b\0" /* offset 15601 */
+  "\xe7\x94\xa4\0" /* offset 15605 */
+  "\xf0\xa4\xb0\xb6\0" /* offset 15609 */
+  "\xe7\x94\xbe\0" /* offset 15614 */
+  "\xf0\xa4\xb2\x92\0" /* offset 15618 */
+  "\xf0\xa2\x86\x9f\0" /* offset 15623 */
+  "\xe7\x98\x90\0" /* offset 15628 */
+  "\xf0\xa4\xbe\xa1\0" /* offset 15632 */
+  "\xf0\xa4\xbe\xb8\0" /* offset 15637 */
+  "\xf0\xa5\x81\x84\0" /* offset 15642 */
+  "\xe3\xbf\xbc\0" /* offset 15647 */
+  "\xe4\x80\x88\0" /* offset 15651 */
+  "\xe7\x9b\xb4\0" /* offset 15655 */
+  "\xf0\xa5\x83\xb3\0" /* offset 15659 */
+  "\xf0\xa5\x83\xb2\0" /* offset 15664 */
+  "\xf0\xa5\x84\x99\0" /* offset 15669 */
+  "\xf0\xa5\x84\xb3\0" /* offset 15674 */
+  "\xe7\x9c\x9e\0" /* offset 15679 */
+  "\xe7\x9c\x9f\0" /* offset 15683 */
+  "\xe7\x9d\x8a\0" /* offset 15687 */
+  "\xe4\x80\xb9\0" /* offset 15691 */
+  "\xe7\x9e\x8b\0" /* offset 15695 */
+  "\xe4\x81\x86\0" /* offset 15699 */
+  "\xe4\x82\x96\0" /* offset 15703 */
+  "\xf0\xa5\x90\x9d\0" /* offset 15707 */
+  "\xe7\xa1\x8e\0" /* offset 15712 */
+  "\xe7\xa3\x8c\0" /* offset 15716 */
+  "\xe4\x83\xa3\0" /* offset 15720 */
+  "\xf0\xa5\x98\xa6\0" /* offset 15724 */
+  "\xf0\xa5\x9a\x9a\0" /* offset 15729 */
+  "\xf0\xa5\x9b\x85\0" /* offset 15734 */
+  "\xe7\xa7\xab\0" /* offset 15739 */
+  "\xe4\x84\xaf\0" /* offset 15743 */
+  "\xe7\xa9\x8a\0" /* offset 15747 */
+  "\xe7\xa9\x8f\0" /* offset 15751 */
+  "\xf0\xa5\xa5\xbc\0" /* offset 15755 */
+  "\xf0\xa5\xaa\xa7\0" /* offset 15760 */
+  "\xe7\xaa\xae\0" /* offset 15765 */
+  "\xe4\x88\x82\0" /* offset 15769 */
+  "\xf0\xa5\xae\xab\0" /* offset 15773 */
+  "\xe7\xaf\x86\0" /* offset 15778 */
+  "\xe7\xaf\x89\0" /* offset 15782 */
+  "\xe4\x88\xa7\0" /* offset 15786 */
+  "\xf0\xa5\xb2\x80\0" /* offset 15790 */
+  "\xe7\xb3\x92\0" /* offset 15795 */
+  "\xe4\x8a\xa0\0" /* offset 15799 */
+  "\xe7\xb3\xa8\0" /* offset 15803 */
+  "\xe7\xb3\xa3\0" /* offset 15807 */
+  "\xe7\xb4\x80\0" /* offset 15811 */
+  "\xf0\xa5\xbe\x86\0" /* offset 15815 */
+  "\xe7\xb5\xa3\0" /* offset 15820 */
+  "\xe4\x8c\x81\0" /* offset 15824 */
+  "\xe7\xb7\x87\0" /* offset 15828 */
+  "\xe7\xb8\x82\0" /* offset 15832 */
+  "\xe7\xb9\x85\0" /* offset 15836 */
+  "\xe4\x8c\xb4\0" /* offset 15840 */
+  "\xf0\xa6\x88\xa8\0" /* offset 15844 */
+  "\xf0\xa6\x89\x87\0" /* offset 15849 */
+  "\xe4\x8d\x99\0" /* offset 15854 */
+  "\xf0\xa6\x8b\x99\0" /* offset 15858 */
+  "\xe7\xbd\xba\0" /* offset 15863 */
+  "\xf0\xa6\x8c\xbe\0" /* offset 15867 */
+  "\xe7\xbe\x95\0" /* offset 15872 */
+  "\xe7\xbf\xba\0" /* offset 15876 */
+  "\xf0\xa6\x93\x9a\0" /* offset 15880 */
+  "\xf0\xa6\x94\xa3\0" /* offset 15885 */
+  "\xe8\x81\xa0\0" /* offset 15890 */
+  "\xf0\xa6\x96\xa8\0" /* offset 15894 */
+  "\xe8\x81\xb0\0" /* offset 15899 */
+  "\xf0\xa3\x8d\x9f\0" /* offset 15903 */
+  "\xe4\x8f\x95\0" /* offset 15908 */
+  "\xe8\x82\xb2\0" /* offset 15912 */
+  "\xe8\x84\x83\0" /* offset 15916 */
+  "\xe4\x90\x8b\0" /* offset 15920 */
+  "\xe8\x84\xbe\0" /* offset 15924 */
+  "\xe5\xaa\xb5\0" /* offset 15928 */
+  "\xf0\xa6\x9e\xa7\0" /* offset 15932 */
+  "\xf0\xa6\x9e\xb5\0" /* offset 15937 */
+  "\xf0\xa3\x8e\x93\0" /* offset 15942 */
+  "\xf0\xa3\x8e\x9c\0" /* offset 15947 */
+  "\xe8\x88\x84\0" /* offset 15952 */
+  "\xe8\xbe\x9e\0" /* offset 15956 */
+  "\xe4\x91\xab\0" /* offset 15960 */
+  "\xe8\x8a\x91\0" /* offset 15964 */
+  "\xe8\x8a\x8b\0" /* offset 15968 */
+  "\xe8\x8a\x9d\0" /* offset 15972 */
+  "\xe5\x8a\xb3\0" /* offset 15976 */
+  "\xe8\x8a\xb1\0" /* offset 15980 */
+  "\xe8\x8a\xb3\0" /* offset 15984 */
+  "\xe8\x8a\xbd\0" /* offset 15988 */
+  "\xe8\x8b\xa6\0" /* offset 15992 */
+  "\xf0\xa6\xac\xbc\0" /* offset 15996 */
+  "\xe8\x8c\x9d\0" /* offset 16001 */
+  "\xe8\x8d\xa3\0" /* offset 16005 */
+  "\xe8\x8e\xad\0" /* offset 16009 */
+  "\xe8\x8c\xa3\0" /* offset 16013 */
+  "\xe8\x8e\xbd\0" /* offset 16017 */
+  "\xe8\x8f\xa7\0" /* offset 16021 */
+  "\xe8\x8d\x93\0" /* offset 16025 */
+  "\xe8\x8f\x8a\0" /* offset 16029 */
+  "\xe8\x8f\x8c\0" /* offset 16033 */
+  "\xe8\x8f\x9c\0" /* offset 16037 */
+  "\xf0\xa6\xb0\xb6\0" /* offset 16041 */
+  "\xf0\xa6\xb5\xab\0" /* offset 16046 */
+  "\xf0\xa6\xb3\x95\0" /* offset 16051 */
+  "\xe4\x94\xab\0" /* offset 16056 */
+  "\xe8\x93\xb1\0" /* offset 16060 */
+  "\xe8\x93\xb3\0" /* offset 16064 */
+  "\xe8\x94\x96\0" /* offset 16068 */
+  "\xf0\xa7\x8f\x8a\0" /* offset 16072 */
+  "\xe8\x95\xa4\0" /* offset 16077 */
+  "\xf0\xa6\xbc\xac\0" /* offset 16081 */
+  "\xe4\x95\x9d\0" /* offset 16086 */
+  "\xe4\x95\xa1\0" /* offset 16090 */
+  "\xf0\xa6\xbe\xb1\0" /* offset 16094 */
+  "\xf0\xa7\x83\x92\0" /* offset 16099 */
+  "\xe4\x95\xab\0" /* offset 16104 */
+  "\xe8\x99\x90\0" /* offset 16108 */
+  "\xe8\x99\xa7\0" /* offset 16112 */
+  "\xe8\x99\xa9\0" /* offset 16116 */
+  "\xe8\x9a\xa9\0" /* offset 16120 */
+  "\xe8\x9a\x88\0" /* offset 16124 */
+  "\xe8\x9c\x8e\0" /* offset 16128 */
+  "\xe8\x9b\xa2\0" /* offset 16132 */
+  "\xe8\x9d\xb9\0" /* offset 16136 */
+  "\xe8\x9c\xa8\0" /* offset 16140 */
+  "\xe8\x9d\xab\0" /* offset 16144 */
+  "\xe8\x9e\x86\0" /* offset 16148 */
+  "\xe4\xb5\x97\0" /* offset 16152 */
+  "\xe8\x9f\xa1\0" /* offset 16156 */
+  "\xe8\xa0\x81\0" /* offset 16160 */
+  "\xe4\x97\xb9\0" /* offset 16164 */
+  "\xe8\xa1\xa0\0" /* offset 16168 */
+  "\xf0\xa7\x99\xa7\0" /* offset 16172 */
+  "\xe8\xa3\x97\0" /* offset 16177 */
+  "\xe8\xa3\x9e\0" /* offset 16181 */
+  "\xe4\x98\xb5\0" /* offset 16185 */
+  "\xe8\xa3\xba\0" /* offset 16189 */
+  "\xe3\x92\xbb\0" /* offset 16193 */
+  "\xf0\xa7\xa2\xae\0" /* offset 16197 */
+  "\xf0\xa7\xa5\xa6\0" /* offset 16202 */
+  "\xe4\x9a\xbe\0" /* offset 16207 */
+  "\xe4\x9b\x87\0" /* offset 16211 */
+  "\xe8\xaa\xa0\0" /* offset 16215 */
+  "\xe8\xab\xad\0" /* offset 16219 */
+  "\xe8\xae\x8a\0" /* offset 16223 */
+  "\xf0\xa7\xb2\xa8\0" /* offset 16227 */
+  "\xe8\xb2\xab\0" /* offset 16232 */
+  "\xe8\xb3\x81\0" /* offset 16236 */
+  "\xe8\xb4\x9b\0" /* offset 16240 */
+  "\xe8\xb5\xb7\0" /* offset 16244 */
+  "\xf0\xa7\xbc\xaf\0" /* offset 16248 */
+  "\xf0\xa0\xa0\x84\0" /* offset 16253 */
+  "\xe8\xb7\x8b\0" /* offset 16258 */
+  "\xe8\xb6\xbc\0" /* offset 16262 */
+  "\xe8\xb7\xb0\0" /* offset 16266 */
+  "\xf0\xa0\xa3\x9e\0" /* offset 16270 */
+  "\xe8\xbb\x94\0" /* offset 16275 */
+  "\xe8\xbc\xb8\0" /* offset 16279 */
+  "\xf0\xa8\x97\x92\0" /* offset 16283 */
+  "\xf0\xa8\x97\xad\0" /* offset 16288 */
+  "\xe9\x82\x94\0" /* offset 16293 */
+  "\xe9\x83\xb1\0" /* offset 16297 */
+  "\xe9\x84\x91\0" /* offset 16301 */
+  "\xf0\xa8\x9c\xae\0" /* offset 16305 */
+  "\xe9\x84\x9b\0" /* offset 16310 */
+  "\xe9\x88\xb8\0" /* offset 16314 */
+  "\xe9\x8b\x97\0" /* offset 16318 */
+  "\xe9\x8b\x98\0" /* offset 16322 */
+  "\xe9\x89\xbc\0" /* offset 16326 */
+  "\xe9\x8f\xb9\0" /* offset 16330 */
+  "\xe9\x90\x95\0" /* offset 16334 */
+  "\xf0\xa8\xaf\xba\0" /* offset 16338 */
+  "\xe9\x96\x8b\0" /* offset 16343 */
+  "\xe4\xa6\x95\0" /* offset 16347 */
+  "\xe9\x96\xb7\0" /* offset 16351 */
+  "\xf0\xa8\xb5\xb7\0" /* offset 16355 */
+  "\xe4\xa7\xa6\0" /* offset 16360 */
+  "\xe9\x9b\x83\0" /* offset 16364 */
+  "\xe5\xb6\xb2\0" /* offset 16368 */
+  "\xe9\x9c\xa3\0" /* offset 16372 */
+  "\xf0\xa9\x85\x85\0" /* offset 16376 */
+  "\xf0\xa9\x88\x9a\0" /* offset 16381 */
+  "\xe4\xa9\xae\0" /* offset 16386 */
+  "\xe4\xa9\xb6\0" /* offset 16390 */
+  "\xe9\x9f\xa0\0" /* offset 16394 */
+  "\xf0\xa9\x90\x8a\0" /* offset 16398 */
+  "\xe4\xaa\xb2\0" /* offset 16403 */
+  "\xf0\xa9\x92\x96\0" /* offset 16407 */
+  "\xe9\xa0\x8b\0" /* offset 16412 */
+  "\xe9\xa0\xa9\0" /* offset 16416 */
+  "\xf0\xa9\x96\xb6\0" /* offset 16420 */
+  "\xe9\xa3\xa2\0" /* offset 16425 */
+  "\xe4\xac\xb3\0" /* offset 16429 */
+  "\xe9\xa4\xa9\0" /* offset 16433 */
+  "\xe9\xa6\xa7\0" /* offset 16437 */
+  "\xe9\xa7\x82\0" /* offset 16441 */
+  "\xe9\xa7\xbe\0" /* offset 16445 */
+  "\xe4\xaf\x8e\0" /* offset 16449 */
+  "\xf0\xa9\xac\xb0\0" /* offset 16453 */
+  "\xe9\xac\x92\0" /* offset 16458 */
+  "\xe9\xb1\x80\0" /* offset 16462 */
+  "\xe9\xb3\xbd\0" /* offset 16466 */
+  "\xe4\xb3\x8e\0" /* offset 16470 */
+  "\xe4\xb3\xad\0" /* offset 16474 */
+  "\xe9\xb5\xa7\0" /* offset 16478 */
+  "\xf0\xaa\x83\x8e\0" /* offset 16482 */
+  "\xe4\xb3\xb8\0" /* offset 16487 */
+  "\xf0\xaa\x84\x85\0" /* offset 16491 */
+  "\xf0\xaa\x88\x8e\0" /* offset 16496 */
+  "\xf0\xaa\x8a\x91\0" /* offset 16501 */
+  "\xe4\xb5\x96\0" /* offset 16506 */
+  "\xe9\xbb\xbe\0" /* offset 16510 */
+  "\xe9\xbc\x85\0" /* offset 16514 */
+  "\xe9\xbc\x8f\0" /* offset 16518 */
+  "\xe9\xbc\x96\0" /* offset 16522 */
+  "\xf0\xaa\x98\x80\0" /* offset 16526 */;
+
+#endif /* DECOMP_H */
diff --git a/libidn/idn-int.h b/libidn/idn-int.h
new file mode 100644
index 0000000000..2b6450611c
--- /dev/null
+++ b/libidn/idn-int.h
@@ -0,0 +1,286 @@
+#ifndef _LIBIDN_LIB_IDN_INT_H
+#define _LIBIDN_LIB_IDN_INT_H 1
+#ifndef _GENERATED_STDINT_H
+#define _GENERATED_STDINT_H "libidn 0.3.5"
+/* generated using gnu compiler gcc (GCC) 3.3.2 (Debian) */
+#define _STDINT_HAVE_STDINT_H 1
+
+/* ................... shortcircuit part ........................... */
+
+#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H
+#include <stdint.h>
+#else
+#include <stddef.h>
+
+/* .................... configured part ............................ */
+
+/* whether we have a C99 compatible stdint header file */
+/* #undef _STDINT_HEADER_INTPTR */
+/* whether we have a C96 compatible inttypes header file */
+/* #undef _STDINT_HEADER_UINT32 */
+/* whether we have a BSD compatible inet types header */
+/* #undef _STDINT_HEADER_U_INT32 */
+
+/* which 64bit typedef has been found */
+/* #undef _STDINT_HAVE_UINT64_T */
+/* #undef _STDINT_HAVE_U_INT64_T */
+
+/* which type model has been detected */
+/* #undef _STDINT_CHAR_MODEL // skipped */
+/* #undef _STDINT_LONG_MODEL // skipped */
+
+/* whether int_least types were detected */
+/* #undef _STDINT_HAVE_INT_LEAST32_T */
+/* whether int_fast types were detected */
+/* #undef _STDINT_HAVE_INT_FAST32_T */
+/* whether intmax_t type was detected */
+/* #undef _STDINT_HAVE_INTMAX_T */
+
+/* .................... detections part ............................ */
+
+/* whether we need to define bitspecific types from compiler base types */
+#ifndef _STDINT_HEADER_INTPTR
+#ifndef _STDINT_HEADER_UINT32
+#ifndef _STDINT_HEADER_U_INT32
+#define _STDINT_NEED_INT_MODEL_T
+#else
+#define _STDINT_HAVE_U_INT_TYPES
+#endif
+#endif
+#endif
+
+#ifdef _STDINT_HAVE_U_INT_TYPES
+#undef _STDINT_NEED_INT_MODEL_T
+#endif
+
+#ifdef  _STDINT_CHAR_MODEL
+#if     _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124
+#ifndef _STDINT_BYTE_MODEL
+#define _STDINT_BYTE_MODEL 12
+#endif
+#endif
+#endif
+
+#ifndef _STDINT_HAVE_INT_LEAST32_T
+#define _STDINT_NEED_INT_LEAST_T
+#endif
+
+#ifndef _STDINT_HAVE_INT_FAST32_T
+#define _STDINT_NEED_INT_FAST_T
+#endif
+
+#ifndef _STDINT_HEADER_INTPTR
+#define _STDINT_NEED_INTPTR_T
+#ifndef _STDINT_HAVE_INTMAX_T
+#define _STDINT_NEED_INTMAX_T
+#endif
+#endif
+
+
+/* .................... definition part ............................ */
+
+/* some system headers have good uint64_t */
+#ifndef _HAVE_UINT64_T
+#if     defined _STDINT_HAVE_UINT64_T  || defined HAVE_UINT64_T
+#define _HAVE_UINT64_T
+#elif   defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T
+#define _HAVE_UINT64_T
+typedef u_int64_t uint64_t;
+#endif
+#endif
+
+#ifndef _HAVE_UINT64_T
+/* .. here are some common heuristics using compiler runtime specifics */
+#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L
+#define _HAVE_UINT64_T
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+
+#elif !defined __STRICT_ANSI__
+#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
+#define _HAVE_UINT64_T
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+
+#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
+/* note: all ELF-systems seem to have loff-support which needs 64-bit */
+#if !defined _NO_LONGLONG
+#define _HAVE_UINT64_T
+typedef long long int64_t;
+typedef unsigned long long uint64_t;
+#endif
+
+#elif defined __alpha || (defined __mips && defined _ABIN32)
+#if !defined _NO_LONGLONG
+typedef long int64_t;
+typedef unsigned long uint64_t;
+#endif
+  /* compiler/cpu type to define int64_t */
+#endif
+#endif
+#endif
+
+#if defined _STDINT_HAVE_U_INT_TYPES
+/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
+typedef u_int8_t uint8_t;
+typedef u_int16_t uint16_t;
+typedef u_int32_t uint32_t;
+
+/* glibc compatibility */
+#ifndef __int8_t_defined
+#define __int8_t_defined
+#endif
+#endif
+
+#ifdef _STDINT_NEED_INT_MODEL_T
+/* we must guess all the basic types. Apart from byte-adressable system, */
+/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */
+/* (btw, those nibble-addressable systems are way off, or so we assume) */
+
+
+#if defined _STDINT_BYTE_MODEL
+#if _STDINT_LONG_MODEL+0 == 242
+/* 2:4:2 =  IP16 = a normal 16-bit system                */
+typedef unsigned char   uint8_t;
+typedef unsigned short  uint16_t;
+typedef unsigned long   uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef          char    int8_t;
+typedef          short   int16_t;
+typedef          long    int32_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444
+/* 2:4:4 =  LP32 = a 32-bit system derived from a 16-bit */
+/* 4:4:4 = ILP32 = a normal 32-bit system                */
+typedef unsigned char   uint8_t;
+typedef unsigned short  uint16_t;
+typedef unsigned int    uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef          char    int8_t;
+typedef          short   int16_t;
+typedef          int     int32_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488
+/* 4:8:4 =  IP32 = a 32-bit system prepared for 64-bit    */
+/* 4:8:8 =  LP64 = a normal 64-bit system                 */
+typedef unsigned char   uint8_t;
+typedef unsigned short  uint16_t;
+typedef unsigned int    uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef          char    int8_t;
+typedef          short   int16_t;
+typedef          int     int32_t;
+#endif
+/* this system has a "long" of 64bit */
+#ifndef _HAVE_UINT64_T
+#define _HAVE_UINT64_T
+typedef unsigned long   uint64_t;
+typedef          long    int64_t;
+#endif
+#elif _STDINT_LONG_MODEL+0 == 448
+/*      LLP64   a 64-bit system derived from a 32-bit system */
+typedef unsigned char   uint8_t;
+typedef unsigned short  uint16_t;
+typedef unsigned int    uint32_t;
+#ifndef __int8_t_defined
+#define __int8_t_defined
+typedef          char    int8_t;
+typedef          short   int16_t;
+typedef          int     int32_t;
+#endif
+/* assuming the system has a "long long" */
+#ifndef _HAVE_UINT64_T
+#define _HAVE_UINT64_T
+typedef unsigned long long uint64_t;
+typedef          long long  int64_t;
+#endif
+#else
+#define _STDINT_NO_INT32_T
+#endif
+#else
+#define _STDINT_NO_INT8_T
+#define _STDINT_NO_INT32_T
+#endif
+#endif
+
+/*
+ * quote from SunOS-5.8 sys/inttypes.h:
+ * Use at your own risk.  As of February 1996, the committee is squarely
+ * behind the fixed sized types; the "least" and "fast" types are still being
+ * discussed.  The probability that the "fast" types may be removed before
+ * the standard is finalized is high enough that they are not currently
+ * implemented.
+ */
+
+#if defined _STDINT_NEED_INT_LEAST_T
+typedef  int8_t    int_least8_t;
+typedef  int16_t   int_least16_t;
+typedef  int32_t   int_least32_t;
+#ifdef _HAVE_UINT64_T
+typedef  int64_t   int_least64_t;
+#endif
+
+typedef uint8_t   uint_least8_t;
+typedef uint16_t  uint_least16_t;
+typedef uint32_t  uint_least32_t;
+#ifdef _HAVE_UINT64_T
+typedef uint64_t  uint_least64_t;
+#endif
+  /* least types */
+#endif
+
+#if defined _STDINT_NEED_INT_FAST_T
+typedef  int8_t    int_fast8_t;
+typedef  int       int_fast16_t;
+typedef  int32_t   int_fast32_t;
+#ifdef _HAVE_UINT64_T
+typedef  int64_t   int_fast64_t;
+#endif
+
+typedef uint8_t   uint_fast8_t;
+typedef unsigned  uint_fast16_t;
+typedef uint32_t  uint_fast32_t;
+#ifdef _HAVE_UINT64_T
+typedef uint64_t  uint_fast64_t;
+#endif
+  /* fast types */
+#endif
+
+#ifdef _STDINT_NEED_INTMAX_T
+#ifdef _HAVE_UINT64_T
+typedef  int64_t       intmax_t;
+typedef uint64_t      uintmax_t;
+#else
+typedef          long  intmax_t;
+typedef unsigned long uintmax_t;
+#endif
+#endif
+
+#ifdef _STDINT_NEED_INTPTR_T
+#ifndef __intptr_t_defined
+#define __intptr_t_defined
+/* we encourage using "long" to store pointer values, never use "int" ! */
+#if   _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484
+typedef  unsinged int   uintptr_t;
+typedef           int    intptr_t;
+#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444
+typedef  unsigned long  uintptr_t;
+typedef           long   intptr_t;
+#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T
+typedef        uint64_t uintptr_t;
+typedef         int64_t  intptr_t;
+#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */
+typedef  unsigned long  uintptr_t;
+typedef           long   intptr_t;
+#endif
+#endif
+#endif
+
+  /* shortcircuit*/
+#endif
+  /* once */
+#endif
+#endif
diff --git a/libidn/idn-stub.c b/libidn/idn-stub.c
new file mode 100644
index 0000000000..f2a11611ef
--- /dev/null
+++ b/libidn/idn-stub.c
@@ -0,0 +1,86 @@
+/* idn-stub.c --- Stub to dlopen libcidn.so and invoke idna_to_ascii_lz.
+ * Copyright (C) 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include <dlfcn.h>
+
+/* Get specification for idna_to_ascii_lz. */
+#include "idna.h"
+
+/* Handle of the libidn  DSO.  */
+static void *h;
+
+
+/* Stub to dlopen libcidn.so and invoke the real idna_to_ascii_lz, or
+   return IDNA_DLOPEN_ERROR on failure.  */
+int
+__idna_to_ascii_lz (const char *input, char **output, int flags)
+{
+  /* If the input string contains no non-ASCII character the output
+     string will be the same.  No valid locale encoding does not have
+     this property.  */
+  const char *cp = input;
+  while (*cp != '\0' && isascii (*cp))
+    ++cp;
+
+  if (*cp == '\0')
+    {
+      *output = strdup (input);
+      return *output == NULL ? IDNA_MALLOC_ERROR : IDNA_SUCCESS;
+    }
+
+  static int (*to_ascii_lz) (const char *input, char **output, int flags);
+
+  if (h == NULL)
+    {
+      h = __libc_dlopen ("libcidn.so");
+
+      if (h == NULL)
+	h = (void *) 1l;
+      else
+	{
+	  /* Get the function we are interested in.  */
+	  to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz");
+	  if (to_ascii_lz == NULL)
+	    {
+	      __libc_dlclose (h);
+	      h = (void *) 1l;
+	    }
+	}
+    }
+
+  if (h == (void *) 1l)
+    return IDNA_DLOPEN_ERROR;
+
+  return to_ascii_lz (input, output, flags);
+}
+
+
+libc_freeres_fn (unload_libidn)
+{
+  if (h != NULL && h != (void *) 1l)
+    {
+      __libc_dlclose (h);
+      h = (void *) 1l;
+    }
+}
diff --git a/libidn/idna.c b/libidn/idna.c
new file mode 100644
index 0000000000..69c928fc42
--- /dev/null
+++ b/libidn/idna.c
@@ -0,0 +1,797 @@
+/* idna.c	Convert to or from IDN strings.
+ * Copyright (C) 2002, 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#include <stringprep.h>
+#include <punycode.h>
+
+#include "idna.h"
+
+#define DOTP(c) ((c) == 0x002E || (c) == 0x3002 ||	\
+		 (c) == 0xFF0E || (c) == 0xFF61)
+
+/* Core functions */
+
+/**
+ * idna_to_ascii_4i
+ * @in: input array with unicode code points.
+ * @inlen: length of input array with unicode code points.
+ * @out: output zero terminated string that must have room for at
+ *       least 63 characters plus the terminating zero.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * The ToASCII operation takes a sequence of Unicode code points that make
+ * up one label and transforms it into a sequence of code points in the
+ * ASCII range (0..7F). If ToASCII succeeds, the original sequence and the
+ * resulting sequence are equivalent labels.
+ *
+ * It is important to note that the ToASCII operation can fail. ToASCII
+ * fails if any step of it fails. If any step of the ToASCII operation
+ * fails on any label in a domain name, that domain name MUST NOT be used
+ * as an internationalized domain name. The method for deadling with this
+ * failure is application-specific.
+ *
+ * The inputs to ToASCII are a sequence of code points, the AllowUnassigned
+ * flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
+ * sequence of ASCII code points or a failure condition.
+ *
+ * ToASCII never alters a sequence of code points that are all in the ASCII
+ * range to begin with (although it could fail). Applying the ToASCII
+ * operation multiple times has exactly the same effect as applying it just
+ * once.
+ *
+ * Return value: Returns 0 on success, or an error code.
+ */
+int
+idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags)
+{
+  size_t len, outlen;
+  uint32_t *src;		/* XXX don't need to copy data? */
+  int rc;
+
+  /*
+   * ToASCII consists of the following steps:
+   *
+   * 1. If all code points in the sequence are in the ASCII range (0..7F)
+   * then skip to step 3.
+   */
+
+  {
+    size_t i;
+    int inasciirange;
+
+    inasciirange = 1;
+    for (i = 0; i < inlen; i++)
+      if (in[i] > 0x7F)
+	inasciirange = 0;
+    if (inasciirange)
+      {
+	src = malloc (sizeof (in[0]) * (inlen + 1));
+	if (src == NULL)
+	  return IDNA_MALLOC_ERROR;
+
+	memcpy (src, in, sizeof (in[0]) * inlen);
+	src[inlen] = 0;
+
+	goto step3;
+      }
+  }
+
+  /*
+   * 2. Perform the steps specified in [NAMEPREP] and fail if there is
+   * an error. The AllowUnassigned flag is used in [NAMEPREP].
+   */
+
+  {
+    char *p;
+
+    p = stringprep_ucs4_to_utf8 (in, inlen, NULL, NULL);
+    if (p == NULL)
+      return IDNA_MALLOC_ERROR;
+
+    len = strlen (p);
+    do
+      {
+	len = 2 * len + 10;	/* XXX better guess? */
+	p = realloc (p, len);
+	if (p == NULL)
+	  return IDNA_MALLOC_ERROR;
+
+	if (flags & IDNA_ALLOW_UNASSIGNED)
+	  rc = stringprep_nameprep (p, len);
+	else
+	  rc = stringprep_nameprep_no_unassigned (p, len);
+      }
+    while (rc == STRINGPREP_TOO_SMALL_BUFFER);
+
+    if (rc != STRINGPREP_OK)
+      {
+	free (p);
+	return IDNA_STRINGPREP_ERROR;
+      }
+
+    src = stringprep_utf8_to_ucs4 (p, -1, NULL);
+
+    free (p);
+  }
+
+step3:
+  /*
+   * 3. If the UseSTD3ASCIIRules flag is set, then perform these checks:
+   *
+   * (a) Verify the absence of non-LDH ASCII code points; that is,
+   * the absence of 0..2C, 2E..2F, 3A..40, 5B..60, and 7B..7F.
+   *
+   * (b) Verify the absence of leading and trailing hyphen-minus;
+   * that is, the absence of U+002D at the beginning and end of
+   * the sequence.
+   */
+
+  if (flags & IDNA_USE_STD3_ASCII_RULES)
+    {
+      size_t i;
+
+      for (i = 0; src[i]; i++)
+	if (src[i] <= 0x2C || src[i] == 0x2E || src[i] == 0x2F ||
+	    (src[i] >= 0x3A && src[i] <= 0x40) ||
+	    (src[i] >= 0x5B && src[i] <= 0x60) ||
+	    (src[i] >= 0x7B && src[i] <= 0x7F))
+	  {
+	    free (src);
+	    return IDNA_CONTAINS_NON_LDH;
+	  }
+
+      if (src[0] == 0x002D || (i > 0 && src[i - 1] == 0x002D))
+	{
+	  free (src);
+	  return IDNA_CONTAINS_MINUS;
+	}
+    }
+
+  /*
+   * 4. If all code points in the sequence are in the ASCII range
+   * (0..7F), then skip to step 8.
+   */
+
+  {
+    size_t i;
+    int inasciirange;
+
+    inasciirange = 1;
+    for (i = 0; src[i]; i++)
+      {
+	if (src[i] > 0x7F)
+	  inasciirange = 0;
+	/* copy string to output buffer if we are about to skip to step8 */
+	if (i < 64)
+	  out[i] = src[i];
+      }
+    if (i < 64)
+      out[i] = '\0';
+    if (inasciirange)
+      goto step8;
+  }
+
+  /*
+   * 5. Verify that the sequence does NOT begin with the ACE prefix.
+   *
+   */
+
+  {
+    size_t i;
+    int match;
+
+    match = 1;
+    for (i = 0; match && i < strlen (IDNA_ACE_PREFIX); i++)
+      if (((uint32_t) IDNA_ACE_PREFIX[i] & 0xFF) != src[i])
+	match = 0;
+    if (match)
+      {
+	free (src);
+	return IDNA_CONTAINS_ACE_PREFIX;
+      }
+  }
+
+  /*
+   * 6. Encode the sequence using the encoding algorithm in [PUNYCODE]
+   * and fail if there is an error.
+   */
+  for (len = 0; src[len]; len++)
+    ;
+  src[len] = '\0';
+  outlen = 63 - strlen (IDNA_ACE_PREFIX);
+  rc = punycode_encode (len, src, NULL,
+			&outlen, &out[strlen (IDNA_ACE_PREFIX)]);
+  if (rc != PUNYCODE_SUCCESS)
+    {
+      free (src);
+      return IDNA_PUNYCODE_ERROR;
+    }
+  out[strlen (IDNA_ACE_PREFIX) + outlen] = '\0';
+
+  /*
+   * 7. Prepend the ACE prefix.
+   */
+
+  memcpy (out, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX));
+
+  /*
+   * 8. Verify that the number of code points is in the range 1 to 63
+   * inclusive (0 is excluded).
+   */
+
+step8:
+  free (src);
+  if (strlen (out) < 1 || strlen (out) > 63)
+    return IDNA_INVALID_LENGTH;
+
+  return IDNA_SUCCESS;
+}
+
+/* ToUnicode().  May realloc() utf8in. */
+static int
+idna_to_unicode_internal (char *utf8in,
+			  uint32_t * out, size_t * outlen, int flags)
+{
+  int rc;
+  char tmpout[64];
+  size_t utf8len = strlen (utf8in) + 1;
+  size_t addlen = 0;
+
+  /*
+   * ToUnicode consists of the following steps:
+   *
+   * 1. If the sequence contains any code points outside the ASCII range
+   * (0..7F) then proceed to step 2, otherwise skip to step 3.
+   */
+
+  {
+    size_t i;
+    int inasciirange;
+
+    inasciirange = 1;
+    for (i = 0; utf8in[i]; i++)
+      if (utf8in[i] & ~0x7F)
+	inasciirange = 0;
+    if (inasciirange)
+      goto step3;
+  }
+
+  /*
+   * 2. Perform the steps specified in [NAMEPREP] and fail if there is an
+   * error. (If step 3 of ToASCII is also performed here, it will not
+   * affect the overall behavior of ToUnicode, but it is not
+   * necessary.) The AllowUnassigned flag is used in [NAMEPREP].
+   */
+  do
+    {
+      utf8in = realloc (utf8in, utf8len + addlen);
+      if (!utf8in)
+	return IDNA_MALLOC_ERROR;
+      if (flags & IDNA_ALLOW_UNASSIGNED)
+	rc = stringprep_nameprep (utf8in, utf8len + addlen);
+      else
+	rc = stringprep_nameprep_no_unassigned (utf8in, utf8len + addlen);
+      addlen += 1;
+    }
+  while (rc == STRINGPREP_TOO_SMALL_BUFFER);
+
+  if (rc != STRINGPREP_OK)
+    return IDNA_STRINGPREP_ERROR;
+
+  /* 3. Verify that the sequence begins with the ACE prefix, and save a
+   * copy of the sequence.
+   */
+
+step3:
+  if (memcmp (IDNA_ACE_PREFIX, utf8in, strlen (IDNA_ACE_PREFIX)) != 0)
+    return IDNA_NO_ACE_PREFIX;
+
+  /* 4. Remove the ACE prefix.
+   */
+
+  memmove (utf8in, &utf8in[strlen (IDNA_ACE_PREFIX)],
+	   strlen (utf8in) - strlen (IDNA_ACE_PREFIX) + 1);
+
+  /* 5. Decode the sequence using the decoding algorithm in [PUNYCODE]
+   * and fail if there is an error. Save a copy of the result of
+   * this step.
+   */
+
+  (*outlen)--;			/* reserve one for the zero */
+
+  rc = punycode_decode (strlen (utf8in), utf8in, outlen, out, NULL);
+  if (rc != PUNYCODE_SUCCESS)
+    return IDNA_PUNYCODE_ERROR;
+
+  out[*outlen] = 0;		/* add zero */
+
+  /* 6. Apply ToASCII.
+   */
+
+  rc = idna_to_ascii_4i (out, *outlen, tmpout, flags);
+  if (rc != IDNA_SUCCESS)
+    return rc;
+
+  /* 7. Verify that the result of step 6 matches the saved copy from
+   * step 3, using a case-insensitive ASCII comparison.
+   */
+
+  if (strcasecmp (utf8in, tmpout + strlen (IDNA_ACE_PREFIX)) != 0)
+    return IDNA_ROUNDTRIP_VERIFY_ERROR;
+
+  /* 8. Return the saved copy from step 5.
+   */
+
+  return IDNA_SUCCESS;
+}
+
+/**
+ * idna_to_unicode_44i
+ * @in: input array with unicode code points.
+ * @inlen: length of input array with unicode code points.
+ * @out: output array with unicode code points.
+ * @outlen: on input, maximum size of output array with unicode code points,
+ *          on exit, actual size of output array with unicode code points.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * The ToUnicode operation takes a sequence of Unicode code points
+ * that make up one label and returns a sequence of Unicode code
+ * points. If the input sequence is a label in ACE form, then the
+ * result is an equivalent internationalized label that is not in ACE
+ * form, otherwise the original sequence is returned unaltered.
+ *
+ * ToUnicode never fails. If any step fails, then the original input
+ * sequence is returned immediately in that step.
+ *
+ * The Punycode decoder can never output more code points than it
+ * inputs, but Nameprep can, and therefore ToUnicode can.  Note that
+ * the number of octets needed to represent a sequence of code points
+ * depends on the particular character encoding used.
+ *
+ * The inputs to ToUnicode are a sequence of code points, the
+ * AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
+ * ToUnicode is always a sequence of Unicode code points.
+ *
+ * Return value: Returns error condition, but it must only be used for
+ *               debugging purposes.  The output buffer is always
+ *               guaranteed to contain the correct data according to
+ *               the specification (sans malloc induced errors).  NB!
+ *               This means that you normally ignore the return code
+ *               from this function, as checking it means breaking the
+ *               standard.
+ */
+int
+idna_to_unicode_44i (const uint32_t * in, size_t inlen,
+		     uint32_t * out, size_t * outlen, int flags)
+{
+  int rc;
+  size_t outlensave = *outlen;
+  char *p;
+
+  p = stringprep_ucs4_to_utf8 (in, inlen, NULL, NULL);
+  if (p == NULL)
+    return IDNA_MALLOC_ERROR;
+
+  rc = idna_to_unicode_internal (p, out, outlen, flags);
+  if (rc != IDNA_SUCCESS)
+    {
+      memcpy (out, in, sizeof (in[0]) * (inlen < outlensave ?
+					 inlen : outlensave));
+      *outlen = inlen;
+    }
+
+  free (p);
+
+  return rc;
+}
+
+/* Wrappers that handle several labels */
+
+/**
+ * idna_to_ascii_4z:
+ * @input: zero terminated input Unicode string.
+ * @output: pointer to newly allocated output string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert UCS-4 domain name to ASCII string.  The domain name may
+ * contain several labels, separated by dots.  The output buffer must
+ * be deallocated by the caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
+{
+  const uint32_t *start = input;
+  const uint32_t *end = input;
+  char buf[64];
+  char *out = NULL;
+  int rc;
+
+  /* 1) Whenever dots are used as label separators, the following
+     characters MUST be recognized as dots: U+002E (full stop),
+     U+3002 (ideographic full stop), U+FF0E (fullwidth full stop),
+     U+FF61 (halfwidth ideographic full stop). */
+
+  if (input[0] == 0)
+    {
+      /* Handle implicit zero-length root label. */
+      *output = malloc (1);
+      if (!*output)
+	return IDNA_MALLOC_ERROR;
+      strcpy (*output, "");
+      return IDNA_SUCCESS;
+    }
+
+  if (DOTP (input[0]) && input[1] == 0)
+    {
+      /* Handle explicit zero-length root label. */
+      *output = malloc (2);
+      if (!*output)
+	return IDNA_MALLOC_ERROR;
+      strcpy (*output, ".");
+      return IDNA_SUCCESS;
+    }
+
+  *output = NULL;
+  do
+    {
+      end = start;
+
+      for (; *end && !DOTP (*end); end++)
+	;
+
+      if (*end == '\0' && start == end)
+	{
+	  /* Handle explicit zero-length root label. */
+	  buf[0] = '\0';
+	}
+      else
+	{
+	  rc = idna_to_ascii_4i (start, end - start, buf, flags);
+	  if (rc != IDNA_SUCCESS)
+	    return rc;
+	}
+
+      if (out)
+	{
+	  out = realloc (out, strlen (out) + 1 + strlen (buf) + 1);
+	  if (!out)
+	    return IDNA_MALLOC_ERROR;
+	  strcat (out, ".");
+	  strcat (out, buf);
+	}
+      else
+	{
+	  out = (char *) malloc (strlen (buf) + 1);
+	  if (!out)
+	    return IDNA_MALLOC_ERROR;
+	  strcpy (out, buf);
+	}
+
+      start = end + 1;
+    }
+  while (*end);
+
+  *output = out;
+
+  return IDNA_SUCCESS;
+}
+
+/**
+ * idna_to_ascii_8z:
+ * @input: zero terminated input UTF-8 string.
+ * @output: pointer to newly allocated output string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert UTF-8 domain name to ASCII string.  The domain name may
+ * contain several labels, separated by dots.  The output buffer must
+ * be deallocated by the caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_ascii_8z (const char *input, char **output, int flags)
+{
+  uint32_t *ucs4;
+  size_t ucs4len;
+  int rc;
+
+  ucs4 = stringprep_utf8_to_ucs4 (input, -1, &ucs4len);
+  if (!ucs4)
+    return IDNA_ICONV_ERROR;
+
+  rc = idna_to_ascii_4z (ucs4, output, flags);
+
+  free (ucs4);
+
+  return rc;
+
+}
+
+/**
+ * idna_to_ascii_lz:
+ * @input: zero terminated input UTF-8 string.
+ * @output: pointer to newly allocated output string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert domain name in the locale's encoding to ASCII string.  The
+ * domain name may contain several labels, separated by dots.  The
+ * output buffer must be deallocated by the caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_ascii_lz (const char *input, char **output, int flags)
+{
+  char *utf8;
+  int rc;
+
+  utf8 = stringprep_locale_to_utf8 (input);
+  if (!utf8)
+    return IDNA_ICONV_ERROR;
+
+  rc = idna_to_ascii_8z (utf8, output, flags);
+
+  free (utf8);
+
+  return rc;
+}
+
+/**
+ * idna_to_unicode_4z4z:
+ * @input: zero-terminated Unicode string.
+ * @output: pointer to newly allocated output Unicode string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert possibly ACE encoded domain name in UCS-4 format into a
+ * UCS-4 string.  The domain name may contain several labels,
+ * separated by dots.  The output buffer must be deallocated by the
+ * caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags)
+{
+  const uint32_t *start = input;
+  const uint32_t *end = input;
+  uint32_t *buf;
+  size_t buflen;
+  uint32_t *out = NULL;
+  size_t outlen = 0;
+  int rc;
+
+  *output = NULL;
+
+  do
+    {
+      end = start;
+
+      for (; *end && !DOTP (*end); end++)
+	;
+
+      buflen = end - start;
+      buf = malloc (sizeof (buf[0]) * (buflen + 1));
+      if (!buf)
+	return IDNA_MALLOC_ERROR;
+
+      rc = idna_to_unicode_44i (start, end - start, buf, &buflen, flags);
+      /* don't check rc as per specification! */
+
+      if (out)
+	{
+	  out = realloc (out, sizeof (out[0]) * (outlen + 1 + buflen + 1));
+	  if (!out)
+	    return IDNA_MALLOC_ERROR;
+	  out[outlen++] = 0x002E;	/* '.' (full stop) */
+	  memcpy (out + outlen, buf, sizeof (buf[0]) * buflen);
+	  outlen += buflen;
+	  out[outlen] = 0x0;
+	  free (buf);
+	}
+      else
+	{
+	  out = buf;
+	  outlen = buflen;
+	  out[outlen] = 0x0;
+	}
+
+      start = end + 1;
+    }
+  while (*end);
+
+  *output = out;
+
+  return IDNA_SUCCESS;
+}
+
+/**
+ * idna_to_unicode_8z4z:
+ * @input: zero-terminated UTF-8 string.
+ * @output: pointer to newly allocated output Unicode string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert possibly ACE encoded domain name in UTF-8 format into a
+ * UCS-4 string.  The domain name may contain several labels,
+ * separated by dots.  The output buffer must be deallocated by the
+ * caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_unicode_8z4z (const char *input, uint32_t ** output, int flags)
+{
+  uint32_t *ucs4;
+  size_t ucs4len;
+  int rc;
+
+  ucs4 = stringprep_utf8_to_ucs4 (input, -1, &ucs4len);
+  if (!ucs4)
+    return IDNA_ICONV_ERROR;
+
+  rc = idna_to_unicode_4z4z (ucs4, output, flags);
+  free (ucs4);
+
+  return rc;
+}
+
+/**
+ * idna_to_unicode_8z8z:
+ * @input: zero-terminated UTF-8 string.
+ * @output: pointer to newly allocated output UTF-8 string.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert possibly ACE encoded domain name in UTF-8 format into a
+ * UTF-8 string.  The domain name may contain several labels,
+ * separated by dots.  The output buffer must be deallocated by the
+ * caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_unicode_8z8z (const char *input, char **output, int flags)
+{
+  uint32_t *ucs4;
+  int rc;
+
+  rc = idna_to_unicode_8z4z (input, &ucs4, flags);
+  *output = stringprep_ucs4_to_utf8 (ucs4, -1, NULL, NULL);
+  free (ucs4);
+
+  if (!*output)
+    return IDNA_ICONV_ERROR;
+
+  return rc;
+}
+
+/**
+ * idna_to_unicode_8zlz:
+ * @input: zero-terminated UTF-8 string.
+ * @output: pointer to newly allocated output string encoded in the
+ *   current locale's character set.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert possibly ACE encoded domain name in UTF-8 format into a
+ * string encoded in the current locale's character set.  The domain
+ * name may contain several labels, separated by dots.  The output
+ * buffer must be deallocated by the caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_unicode_8zlz (const char *input, char **output, int flags)
+{
+  char *utf8;
+  int rc;
+
+  rc = idna_to_unicode_8z8z (input, &utf8, flags);
+  *output = stringprep_utf8_to_locale (utf8);
+  free (utf8);
+
+  if (!*output)
+    return IDNA_ICONV_ERROR;
+
+  return rc;
+}
+
+/**
+ * idna_to_unicode_lzlz:
+ * @input: zero-terminated string encoded in the current locale's
+ *   character set.
+ * @output: pointer to newly allocated output string encoded in the
+ *   current locale's character set.
+ * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES.
+ *
+ * Convert possibly ACE encoded domain name in the locale's character
+ * set into a string encoded in the current locale's character set.
+ * The domain name may contain several labels, separated by dots.  The
+ * output buffer must be deallocated by the caller.
+ *
+ * Return value: Returns IDNA_SUCCESS on success, or error code.
+ **/
+int
+idna_to_unicode_lzlz (const char *input, char **output, int flags)
+{
+  char *utf8;
+  int rc;
+
+  utf8 = stringprep_locale_to_utf8 (input);
+  if (!utf8)
+    return IDNA_ICONV_ERROR;
+
+  rc = idna_to_unicode_8zlz (utf8, output, flags);
+  free (utf8);
+
+  return rc;
+}
+
+/**
+ * IDNA_ACE_PREFIX
+ *
+ * The IANA allocated prefix to use for IDNA. "xn--"
+ */
+
+/**
+ * Idna_rc:
+ * @IDNA_SUCCESS: Successful operation.  This value is guaranteed to
+ *   always be zero, the remaining ones are only guaranteed to hold
+ *   non-zero values, for logical comparison purposes.
+ * @IDNA_STRINGPREP_ERROR:  Error during string preparation.
+ * @IDNA_PUNYCODE_ERROR: Error during punycode operation.
+ * @IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that
+ *   the string contains non-LDH ASCII characters.
+ * @IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that
+ *   the string contains a leading or trailing hyphen-minus (U+002D).
+ * @IDNA_INVALID_LENGTH: The final output string is not within the
+ *   (inclusive) range 1 to 63 characters.
+ * @IDNA_NO_ACE_PREFIX: The string does not contain the ACE prefix
+ *   (for ToUnicode).
+ * @IDNA_ROUNDTRIP_VERIFY_ERROR: The ToASCII operation on output
+ *   string does not equal the input.
+ * @IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
+ *   ToASCII).
+ * @IDNA_ICONV_ERROR: Could not convert string in locale encoding.
+ * @IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
+ *   fatal error).
+ *
+ * Enumerated return codes of idna_to_ascii_4i(),
+ * idna_to_unicode_44i() functions (and functions derived from those
+ * functions).  The value 0 is guaranteed to always correspond to
+ * success.
+ */
+
+
+/**
+ * Idna_flags:
+ * @IDNA_ALLOW_UNASSIGNED: Don't reject strings containing unassigned
+ *   Unicode code points.
+ * @IDNA_USE_STD3_ASCII_RULES: Validate strings according to STD3
+ *   rules (i.e., normal host name rules).
+ *
+ * Flags to pass to idna_to_ascii_4i(), idna_to_unicode_44i() etc.
+ */
diff --git a/libidn/idna.h b/libidn/idna.h
new file mode 100644
index 0000000000..e6e1fe675b
--- /dev/null
+++ b/libidn/idna.h
@@ -0,0 +1,98 @@
+/* idna.h	Declarations for IDNA.
+ * Copyright (C) 2002, 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#ifndef _IDNA_H
+#define _IDNA_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <stddef.h>		/* size_t */
+#include <stdint.h>		/* uint32_t */
+
+  /* Error codes. */
+  typedef enum
+  {
+    IDNA_SUCCESS = 0,
+    IDNA_STRINGPREP_ERROR = 1,
+    IDNA_PUNYCODE_ERROR = 2,
+    IDNA_CONTAINS_NON_LDH = 3,
+    /* Workaround typo in earlier versions. */
+    IDNA_CONTAINS_LDH = IDNA_CONTAINS_NON_LDH,
+    IDNA_CONTAINS_MINUS = 4,
+    IDNA_INVALID_LENGTH = 5,
+    IDNA_NO_ACE_PREFIX = 6,
+    IDNA_ROUNDTRIP_VERIFY_ERROR = 7,
+    IDNA_CONTAINS_ACE_PREFIX = 8,
+    IDNA_ICONV_ERROR = 9,
+    /* Internal errors. */
+    IDNA_MALLOC_ERROR = 201,
+    IDNA_DLOPEN_ERROR = 202
+  } Idna_rc;
+
+  /* IDNA flags */
+  typedef enum
+  {
+    IDNA_ALLOW_UNASSIGNED = 0x0001,
+    IDNA_USE_STD3_ASCII_RULES = 0x0002
+  } Idna_flags;
+
+#ifndef IDNA_ACE_PREFIX
+#define IDNA_ACE_PREFIX "xn--"
+#endif
+
+  /* Core functions */
+  extern int idna_to_ascii_4i (const uint32_t * in, size_t inlen,
+			       char *out, int flags);
+  extern int idna_to_unicode_44i (const uint32_t * in, size_t inlen,
+				  uint32_t * out, size_t * outlen, int flags);
+
+  /* Wrappers that handle several labels */
+
+  extern int idna_to_ascii_4z (const uint32_t * input,
+			       char **output, int flags);
+
+  extern int idna_to_ascii_8z (const char *input, char **output, int flags);
+
+  extern int idna_to_ascii_lz (const char *input, char **output, int flags);
+
+
+  extern int idna_to_unicode_4z4z (const uint32_t * input,
+				   uint32_t ** output, int flags);
+
+  extern int idna_to_unicode_8z4z (const char *input,
+				   uint32_t ** output, int flags);
+
+  extern int idna_to_unicode_8z8z (const char *input,
+				   char **output, int flags);
+
+  extern int idna_to_unicode_8zlz (const char *input,
+				   char **output, int flags);
+
+  extern int idna_to_unicode_lzlz (const char *input,
+				   char **output, int flags);
+
+#ifdef __cplusplus
+}
+#endif
+#endif				/* _PUNYCODE_H */
diff --git a/libidn/nfkc.c b/libidn/nfkc.c
new file mode 100644
index 0000000000..a89f49ed79
--- /dev/null
+++ b/libidn/nfkc.c
@@ -0,0 +1,1058 @@
+/* nfkc.c	Unicode normalization utilities.
+ * Copyright (C) 2002, 2003  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "stringprep.h"
+
+/* This file contains functions from GLIB, including gutf8.c and
+ * gunidecomp.c, all licensed under LGPL and copyright hold by:
+ *
+ *  Copyright (C) 1999, 2000 Tom Tromey
+ *  Copyright 2000 Red Hat, Inc.
+ */
+
+/* Hacks to make syncing with GLIB code easier. */
+#define gboolean int
+#define gchar char
+#define guchar unsigned char
+#define glong long
+#define gint int
+#define guint unsigned int
+#define gushort unsigned short
+#define gint16 int16_t
+#define guint16 uint16_t
+#define gunichar uint32_t
+#define gsize size_t
+#define gssize ssize_t
+#define g_malloc malloc
+#define g_free free
+#define GError void
+#define g_set_error(a,b,c,d) ((void) 0)
+#define g_new(struct_type, n_structs)					\
+  ((struct_type *) g_malloc (((gsize) sizeof (struct_type)) * ((gsize) (n_structs))))
+#  if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
+#    define G_STMT_START	(void)(
+#    define G_STMT_END		)
+#  else
+#    if (defined (sun) || defined (__sun__))
+#      define G_STMT_START	if (1)
+#      define G_STMT_END	else (void)0
+#    else
+#      define G_STMT_START	do
+#      define G_STMT_END	while (0)
+#    endif
+#  endif
+#define g_return_val_if_fail(expr,val)		G_STMT_START{ (void)0; }G_STMT_END
+#define G_N_ELEMENTS(arr)		(sizeof (arr) / sizeof ((arr)[0]))
+#define TRUE 1
+#define FALSE 0
+
+/* Code from GLIB gunicode.h starts here. */
+
+typedef enum
+{
+  G_NORMALIZE_DEFAULT,
+  G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT,
+  G_NORMALIZE_DEFAULT_COMPOSE,
+  G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE,
+  G_NORMALIZE_ALL,
+  G_NORMALIZE_NFKD = G_NORMALIZE_ALL,
+  G_NORMALIZE_ALL_COMPOSE,
+  G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE
+}
+GNormalizeMode;
+
+/* Code from GLIB gutf8.c starts here. */
+
+#define UTF8_COMPUTE(Char, Mask, Len)		\
+  if (Char < 128)				\
+    {						\
+      Len = 1;					\
+      Mask = 0x7f;				\
+    }						\
+  else if ((Char & 0xe0) == 0xc0)		\
+    {						\
+      Len = 2;					\
+      Mask = 0x1f;				\
+    }						\
+  else if ((Char & 0xf0) == 0xe0)		\
+    {						\
+      Len = 3;					\
+      Mask = 0x0f;				\
+    }						\
+  else if ((Char & 0xf8) == 0xf0)		\
+    {						\
+      Len = 4;					\
+      Mask = 0x07;				\
+    }						\
+  else if ((Char & 0xfc) == 0xf8)		\
+    {						\
+      Len = 5;					\
+      Mask = 0x03;				\
+    }						\
+  else if ((Char & 0xfe) == 0xfc)		\
+    {						\
+      Len = 6;					\
+      Mask = 0x01;				\
+    }						\
+  else						\
+    Len = -1;
+
+#define UTF8_LENGTH(Char)			\
+  ((Char) < 0x80 ? 1 :				\
+   ((Char) < 0x800 ? 2 :			\
+    ((Char) < 0x10000 ? 3 :			\
+     ((Char) < 0x200000 ? 4 :			\
+      ((Char) < 0x4000000 ? 5 : 6)))))
+
+
+#define UTF8_GET(Result, Chars, Count, Mask, Len)	\
+  (Result) = (Chars)[0] & (Mask);			\
+  for ((Count) = 1; (Count) < (Len); ++(Count))		\
+    {							\
+      if (((Chars)[(Count)] & 0xc0) != 0x80)		\
+	{						\
+	  (Result) = -1;				\
+	  break;					\
+	}						\
+      (Result) <<= 6;					\
+      (Result) |= ((Chars)[(Count)] & 0x3f);		\
+    }
+
+#define UNICODE_VALID(Char)			\
+  ((Char) < 0x110000 &&				\
+   (((Char) & 0xFFFFF800) != 0xD800) &&		\
+   ((Char) < 0xFDD0 || (Char) > 0xFDEF) &&	\
+   ((Char) & 0xFFFE) != 0xFFFE)
+
+
+static const gchar utf8_skip_data[256] = {
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5,
+  5, 5, 5, 6, 6, 1, 1
+};
+
+const gchar *const g_utf8_skip = utf8_skip_data;
+
+#define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)])
+
+/*
+ * g_utf8_strlen:
+ * @p: pointer to the start of a UTF-8 encoded string.
+ * @max: the maximum number of bytes to examine. If @max
+ *       is less than 0, then the string is assumed to be
+ *       nul-terminated. If @max is 0, @p will not be examined and
+ *       may be %NULL.
+ *
+ * Returns the length of the string in characters.
+ *
+ * Return value: the length of the string in characters
+ **/
+static glong
+g_utf8_strlen (const gchar * p, gssize max)
+{
+  glong len = 0;
+  const gchar *start = p;
+  g_return_val_if_fail (p != NULL || max == 0, 0);
+
+  if (max < 0)
+    {
+      while (*p)
+	{
+	  p = g_utf8_next_char (p);
+	  ++len;
+	}
+    }
+  else
+    {
+      if (max == 0 || !*p)
+	return 0;
+
+      p = g_utf8_next_char (p);
+
+      while (p - start < max && *p)
+	{
+	  ++len;
+	  p = g_utf8_next_char (p);
+	}
+
+      /* only do the last len increment if we got a complete
+       * char (don't count partial chars)
+       */
+      if (p - start == max)
+	++len;
+    }
+
+  return len;
+}
+
+/*
+ * g_utf8_get_char:
+ * @p: a pointer to Unicode character encoded as UTF-8
+ *
+ * Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
+ * If @p does not point to a valid UTF-8 encoded character, results are
+ * undefined. If you are not sure that the bytes are complete
+ * valid Unicode characters, you should use g_utf8_get_char_validated()
+ * instead.
+ *
+ * Return value: the resulting character
+ **/
+static gunichar
+g_utf8_get_char (const gchar * p)
+{
+  int i, mask = 0, len;
+  gunichar result;
+  unsigned char c = (unsigned char) *p;
+
+  UTF8_COMPUTE (c, mask, len);
+  if (len == -1)
+    return (gunichar) - 1;
+  UTF8_GET (result, p, i, mask, len);
+
+  return result;
+}
+
+/*
+ * g_unichar_to_utf8:
+ * @c: a ISO10646 character code
+ * @outbuf: output buffer, must have at least 6 bytes of space.
+ *       If %NULL, the length will be computed and returned
+ *       and nothing will be written to @outbuf.
+ *
+ * Converts a single character to UTF-8.
+ *
+ * Return value: number of bytes written
+ **/
+static int
+g_unichar_to_utf8 (gunichar c, gchar * outbuf)
+{
+  guint len = 0;
+  int first;
+  int i;
+
+  if (c < 0x80)
+    {
+      first = 0;
+      len = 1;
+    }
+  else if (c < 0x800)
+    {
+      first = 0xc0;
+      len = 2;
+    }
+  else if (c < 0x10000)
+    {
+      first = 0xe0;
+      len = 3;
+    }
+  else if (c < 0x200000)
+    {
+      first = 0xf0;
+      len = 4;
+    }
+  else if (c < 0x4000000)
+    {
+      first = 0xf8;
+      len = 5;
+    }
+  else
+    {
+      first = 0xfc;
+      len = 6;
+    }
+
+  if (outbuf)
+    {
+      for (i = len - 1; i > 0; --i)
+	{
+	  outbuf[i] = (c & 0x3f) | 0x80;
+	  c >>= 6;
+	}
+      outbuf[0] = c | first;
+    }
+
+  return len;
+}
+
+/*
+ * g_utf8_to_ucs4_fast:
+ * @str: a UTF-8 encoded string
+ * @len: the maximum length of @str to use. If @len < 0, then
+ *       the string is nul-terminated.
+ * @items_written: location to store the number of characters in the
+ *                 result, or %NULL.
+ *
+ * Convert a string from UTF-8 to a 32-bit fixed width
+ * representation as UCS-4, assuming valid UTF-8 input.
+ * This function is roughly twice as fast as g_utf8_to_ucs4()
+ * but does no error checking on the input.
+ *
+ * Return value: a pointer to a newly allocated UCS-4 string.
+ *               This value must be freed with g_free().
+ **/
+static gunichar *
+g_utf8_to_ucs4_fast (const gchar * str, glong len, glong * items_written)
+{
+  gint j, charlen;
+  gunichar *result;
+  gint n_chars, i;
+  const gchar *p;
+
+  g_return_val_if_fail (str != NULL, NULL);
+
+  p = str;
+  n_chars = 0;
+  if (len < 0)
+    {
+      while (*p)
+	{
+	  p = g_utf8_next_char (p);
+	  ++n_chars;
+	}
+    }
+  else
+    {
+      while (p < str + len && *p)
+	{
+	  p = g_utf8_next_char (p);
+	  ++n_chars;
+	}
+    }
+
+  result = g_new (gunichar, n_chars + 1);
+  if (!result)
+    return NULL;
+
+  p = str;
+  for (i = 0; i < n_chars; i++)
+    {
+      gunichar wc = ((unsigned char *) p)[0];
+
+      if (wc < 0x80)
+	{
+	  result[i] = wc;
+	  p++;
+	}
+      else
+	{
+	  if (wc < 0xe0)
+	    {
+	      charlen = 2;
+	      wc &= 0x1f;
+	    }
+	  else if (wc < 0xf0)
+	    {
+	      charlen = 3;
+	      wc &= 0x0f;
+	    }
+	  else if (wc < 0xf8)
+	    {
+	      charlen = 4;
+	      wc &= 0x07;
+	    }
+	  else if (wc < 0xfc)
+	    {
+	      charlen = 5;
+	      wc &= 0x03;
+	    }
+	  else
+	    {
+	      charlen = 6;
+	      wc &= 0x01;
+	    }
+
+	  for (j = 1; j < charlen; j++)
+	    {
+	      wc <<= 6;
+	      wc |= ((unsigned char *) p)[j] & 0x3f;
+	    }
+
+	  result[i] = wc;
+	  p += charlen;
+	}
+    }
+  result[i] = 0;
+
+  if (items_written)
+    *items_written = i;
+
+  return result;
+}
+
+/*
+ * g_ucs4_to_utf8:
+ * @str: a UCS-4 encoded string
+ * @len: the maximum length of @str to use. If @len < 0, then
+ *       the string is terminated with a 0 character.
+ * @items_read: location to store number of characters read read, or %NULL.
+ * @items_written: location to store number of bytes written or %NULL.
+ *                 The value here stored does not include the trailing 0
+ *                 byte.
+ * @error: location to store the error occuring, or %NULL to ignore
+ *         errors. Any of the errors in #GConvertError other than
+ *         %G_CONVERT_ERROR_NO_CONVERSION may occur.
+ *
+ * Convert a string from a 32-bit fixed width representation as UCS-4.
+ * to UTF-8. The result will be terminated with a 0 byte.
+ *
+ * Return value: a pointer to a newly allocated UTF-8 string.
+ *               This value must be freed with g_free(). If an
+ *               error occurs, %NULL will be returned and
+ *               @error set.
+ **/
+static gchar *
+g_ucs4_to_utf8 (const gunichar * str,
+		glong len,
+		glong * items_read, glong * items_written, GError ** error)
+{
+  gint result_length;
+  gchar *result = NULL;
+  gchar *p;
+  gint i;
+
+  result_length = 0;
+  for (i = 0; len < 0 || i < len; i++)
+    {
+      if (!str[i])
+	break;
+
+      if (str[i] >= 0x80000000)
+	{
+	  if (items_read)
+	    *items_read = i;
+
+	  g_set_error (error, G_CONVERT_ERROR,
+		       G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
+		       _("Character out of range for UTF-8"));
+	  goto err_out;
+	}
+
+      result_length += UTF8_LENGTH (str[i]);
+    }
+
+  result = g_malloc (result_length + 1);
+  if (!result)
+    return NULL;
+  p = result;
+
+  i = 0;
+  while (p < result + result_length)
+    p += g_unichar_to_utf8 (str[i++], p);
+
+  *p = '\0';
+
+  if (items_written)
+    *items_written = p - result;
+
+err_out:
+  if (items_read)
+    *items_read = i;
+
+  return result;
+}
+
+/* Code from GLIB gunidecomp.c starts here. */
+
+#include "gunidecomp.h"
+#include "gunicomp.h"
+
+#define CC_PART1(Page, Char) \
+  ((combining_class_table_part1[Page] >= G_UNICODE_MAX_TABLE_INDEX) \
+   ? (combining_class_table_part1[Page] - G_UNICODE_MAX_TABLE_INDEX) \
+   : (cclass_data[combining_class_table_part1[Page]][Char]))
+
+#define CC_PART2(Page, Char) \
+  ((combining_class_table_part2[Page] >= G_UNICODE_MAX_TABLE_INDEX) \
+   ? (combining_class_table_part2[Page] - G_UNICODE_MAX_TABLE_INDEX) \
+   : (cclass_data[combining_class_table_part2[Page]][Char]))
+
+#define COMBINING_CLASS(Char) \
+  (((Char) <= G_UNICODE_LAST_CHAR_PART1) \
+   ? CC_PART1 ((Char) >> 8, (Char) & 0xff) \
+   : (((Char) >= 0xe0000 && (Char) <= G_UNICODE_LAST_CHAR) \
+      ? CC_PART2 (((Char) - 0xe0000) >> 8, (Char) & 0xff) \
+      : 0))
+
+/* constants for hangul syllable [de]composition */
+#define SBase 0xAC00
+#define LBase 0x1100
+#define VBase 0x1161
+#define TBase 0x11A7
+#define LCount 19
+#define VCount 21
+#define TCount 28
+#define NCount (VCount * TCount)
+#define SCount (LCount * NCount)
+
+/*
+ * g_unicode_canonical_ordering:
+ * @string: a UCS-4 encoded string.
+ * @len: the maximum length of @string to use.
+ *
+ * Computes the canonical ordering of a string in-place. 
+ * This rearranges decomposed characters in the string
+ * according to their combining classes.  See the Unicode
+ * manual for more information.
+ **/
+static void
+g_unicode_canonical_ordering (gunichar * string, gsize len)
+{
+  gsize i;
+  int swap = 1;
+
+  while (swap)
+    {
+      int last;
+      swap = 0;
+      last = COMBINING_CLASS (string[0]);
+      for (i = 0; i < len - 1; ++i)
+	{
+	  int next = COMBINING_CLASS (string[i + 1]);
+	  if (next != 0 && last > next)
+	    {
+	      gsize j;
+	      /* Percolate item leftward through string.  */
+	      for (j = i + 1; j > 0; --j)
+		{
+		  gunichar t;
+		  if (COMBINING_CLASS (string[j - 1]) <= next)
+		    break;
+		  t = string[j];
+		  string[j] = string[j - 1];
+		  string[j - 1] = t;
+		  swap = 1;
+		}
+	      /* We're re-entering the loop looking at the old
+	         character again.  */
+	      next = last;
+	    }
+	  last = next;
+	}
+    }
+}
+
+/* http://www.unicode.org/unicode/reports/tr15/#Hangul
+ * r should be null or have sufficient space. Calling with r == NULL will
+ * only calculate the result_len; however, a buffer with space for three
+ * characters will always be big enough. */
+static void
+decompose_hangul (gunichar s, gunichar * r, gsize * result_len)
+{
+  gint SIndex = s - SBase;
+
+  /* not a hangul syllable */
+  if (SIndex < 0 || SIndex >= SCount)
+    {
+      if (r)
+	r[0] = s;
+      *result_len = 1;
+    }
+  else
+    {
+      gunichar L = LBase + SIndex / NCount;
+      gunichar V = VBase + (SIndex % NCount) / TCount;
+      gunichar T = TBase + SIndex % TCount;
+
+      if (r)
+	{
+	  r[0] = L;
+	  r[1] = V;
+	}
+
+      if (T != TBase)
+	{
+	  if (r)
+	    r[2] = T;
+	  *result_len = 3;
+	}
+      else
+	*result_len = 2;
+    }
+}
+
+/* returns a pointer to a null-terminated UTF-8 string */
+static const gchar *
+find_decomposition (gunichar ch, gboolean compat)
+{
+  int start = 0;
+  int end = G_N_ELEMENTS (decomp_table);
+
+  if (ch >= decomp_table[start].ch && ch <= decomp_table[end - 1].ch)
+    {
+      while (TRUE)
+	{
+	  int half = (start + end) / 2;
+	  if (ch == decomp_table[half].ch)
+	    {
+	      int offset;
+
+	      if (compat)
+		{
+		  offset = decomp_table[half].compat_offset;
+		  if (offset == G_UNICODE_NOT_PRESENT_OFFSET)
+		    offset = decomp_table[half].canon_offset;
+		}
+	      else
+		{
+		  offset = decomp_table[half].canon_offset;
+		  if (offset == G_UNICODE_NOT_PRESENT_OFFSET)
+		    return NULL;
+		}
+
+	      return &(decomp_expansion_string[offset]);
+	    }
+	  else if (half == start)
+	    break;
+	  else if (ch > decomp_table[half].ch)
+	    start = half;
+	  else
+	    end = half;
+	}
+    }
+
+  return NULL;
+}
+
+/* L,V => LV and LV,T => LVT  */
+static gboolean
+combine_hangul (gunichar a, gunichar b, gunichar * result)
+{
+  gint LIndex = a - LBase;
+  gint SIndex = a - SBase;
+
+  gint VIndex = b - VBase;
+  gint TIndex = b - TBase;
+
+  if (0 <= LIndex && LIndex < LCount && 0 <= VIndex && VIndex < VCount)
+    {
+      *result = SBase + (LIndex * VCount + VIndex) * TCount;
+      return TRUE;
+    }
+  else if (0 <= SIndex && SIndex < SCount && (SIndex % TCount) == 0
+	   && 0 <= TIndex && TIndex <= TCount)
+    {
+      *result = a + TIndex;
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+#define CI(Page, Char) \
+  ((compose_table[Page] >= G_UNICODE_MAX_TABLE_INDEX) \
+   ? (compose_table[Page] - G_UNICODE_MAX_TABLE_INDEX) \
+   : (compose_data[compose_table[Page]][Char]))
+
+#define COMPOSE_INDEX(Char) \
+     ((((Char) >> 8) > (COMPOSE_TABLE_LAST)) ? 0 : CI((Char) >> 8, (Char) & 0xff))
+
+static gboolean
+combine (gunichar a, gunichar b, gunichar * result)
+{
+  gushort index_a, index_b;
+
+  if (combine_hangul (a, b, result))
+    return TRUE;
+
+  index_a = COMPOSE_INDEX (a);
+
+  if (index_a >= COMPOSE_FIRST_SINGLE_START && index_a < COMPOSE_SECOND_START)
+    {
+      if (b == compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][0])
+	{
+	  *result =
+	    compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][1];
+	  return TRUE;
+	}
+      else
+	return FALSE;
+    }
+
+  index_b = COMPOSE_INDEX (b);
+
+  if (index_b >= COMPOSE_SECOND_SINGLE_START)
+    {
+      if (a ==
+	  compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][0])
+	{
+	  *result =
+	    compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][1];
+	  return TRUE;
+	}
+      else
+	return FALSE;
+    }
+
+  if (index_a >= COMPOSE_FIRST_START && index_a < COMPOSE_FIRST_SINGLE_START
+      && index_b >= COMPOSE_SECOND_START
+      && index_b < COMPOSE_SECOND_SINGLE_START)
+    {
+      gunichar res =
+	compose_array[index_a - COMPOSE_FIRST_START][index_b -
+						     COMPOSE_SECOND_START];
+
+      if (res)
+	{
+	  *result = res;
+	  return TRUE;
+	}
+    }
+
+  return FALSE;
+}
+
+static gunichar *
+_g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode)
+{
+  gsize n_wc;
+  gunichar *wc_buffer;
+  const char *p;
+  gsize last_start;
+  gboolean do_compat = (mode == G_NORMALIZE_NFKC || mode == G_NORMALIZE_NFKD);
+  gboolean do_compose = (mode == G_NORMALIZE_NFC || mode == G_NORMALIZE_NFKC);
+
+  n_wc = 0;
+  p = str;
+  while ((max_len < 0 || p < str + max_len) && *p)
+    {
+      const gchar *decomp;
+      gunichar wc = g_utf8_get_char (p);
+
+      if (wc >= 0xac00 && wc <= 0xd7af)
+	{
+	  gsize result_len;
+	  decompose_hangul (wc, NULL, &result_len);
+	  n_wc += result_len;
+	}
+      else
+	{
+	  decomp = find_decomposition (wc, do_compat);
+
+	  if (decomp)
+	    n_wc += g_utf8_strlen (decomp, -1);
+	  else
+	    n_wc++;
+	}
+
+      p = g_utf8_next_char (p);
+    }
+
+  wc_buffer = g_new (gunichar, n_wc + 1);
+  if (!wc_buffer)
+    return NULL;
+
+  last_start = 0;
+  n_wc = 0;
+  p = str;
+  while ((max_len < 0 || p < str + max_len) && *p)
+    {
+      gunichar wc = g_utf8_get_char (p);
+      const gchar *decomp;
+      int cc;
+      gsize old_n_wc = n_wc;
+
+      if (wc >= 0xac00 && wc <= 0xd7af)
+	{
+	  gsize result_len;
+	  decompose_hangul (wc, wc_buffer + n_wc, &result_len);
+	  n_wc += result_len;
+	}
+      else
+	{
+	  decomp = find_decomposition (wc, do_compat);
+
+	  if (decomp)
+	    {
+	      const char *pd;
+	      for (pd = decomp; *pd != '\0'; pd = g_utf8_next_char (pd))
+		wc_buffer[n_wc++] = g_utf8_get_char (pd);
+	    }
+	  else
+	    wc_buffer[n_wc++] = wc;
+	}
+
+      if (n_wc > 0)
+	{
+	  cc = COMBINING_CLASS (wc_buffer[old_n_wc]);
+
+	  if (cc == 0)
+	    {
+	      g_unicode_canonical_ordering (wc_buffer + last_start,
+					    n_wc - last_start);
+	      last_start = old_n_wc;
+	    }
+	}
+
+      p = g_utf8_next_char (p);
+    }
+
+  if (n_wc > 0)
+    {
+      g_unicode_canonical_ordering (wc_buffer + last_start,
+				    n_wc - last_start);
+      last_start = n_wc;
+    }
+
+  wc_buffer[n_wc] = 0;
+
+  /* All decomposed and reordered */
+
+  if (do_compose && n_wc > 0)
+    {
+      gsize i, j;
+      int last_cc = 0;
+      last_start = 0;
+
+      for (i = 0; i < n_wc; i++)
+	{
+	  int cc = COMBINING_CLASS (wc_buffer[i]);
+
+	  if (i > 0 &&
+	      (last_cc == 0 || last_cc != cc) &&
+	      combine (wc_buffer[last_start], wc_buffer[i],
+		       &wc_buffer[last_start]))
+	    {
+	      for (j = i + 1; j < n_wc; j++)
+		wc_buffer[j - 1] = wc_buffer[j];
+	      n_wc--;
+	      i--;
+
+	      if (i == last_start)
+		last_cc = 0;
+	      else
+		last_cc = COMBINING_CLASS (wc_buffer[i - 1]);
+
+	      continue;
+	    }
+
+	  if (cc == 0)
+	    last_start = i;
+
+	  last_cc = cc;
+	}
+    }
+
+  wc_buffer[n_wc] = 0;
+
+  return wc_buffer;
+}
+
+/*
+ * g_utf8_normalize:
+ * @str: a UTF-8 encoded string.
+ * @len: length of @str, in bytes, or -1 if @str is nul-terminated.
+ * @mode: the type of normalization to perform.
+ *
+ * Converts a string into canonical form, standardizing
+ * such issues as whether a character with an accent
+ * is represented as a base character and combining
+ * accent or as a single precomposed character. You
+ * should generally call g_utf8_normalize() before
+ * comparing two Unicode strings.
+ *
+ * The normalization mode %G_NORMALIZE_DEFAULT only
+ * standardizes differences that do not affect the
+ * text content, such as the above-mentioned accent
+ * representation. %G_NORMALIZE_ALL also standardizes
+ * the "compatibility" characters in Unicode, such
+ * as SUPERSCRIPT THREE to the standard forms
+ * (in this case DIGIT THREE). Formatting information
+ * may be lost but for most text operations such
+ * characters should be considered the same.
+ * For example, g_utf8_collate() normalizes
+ * with %G_NORMALIZE_ALL as its first step.
+ *
+ * %G_NORMALIZE_DEFAULT_COMPOSE and %G_NORMALIZE_ALL_COMPOSE
+ * are like %G_NORMALIZE_DEFAULT and %G_NORMALIZE_ALL,
+ * but returned a result with composed forms rather
+ * than a maximally decomposed form. This is often
+ * useful if you intend to convert the string to
+ * a legacy encoding or pass it to a system with
+ * less capable Unicode handling.
+ *
+ * Return value: a newly allocated string, that is the
+ *   normalized form of @str.
+ **/
+static gchar *
+g_utf8_normalize (const gchar * str, gssize len, GNormalizeMode mode)
+{
+  gunichar *result_wc = _g_utf8_normalize_wc (str, len, mode);
+  gchar *result;
+
+  result = g_ucs4_to_utf8 (result_wc, -1, NULL, NULL, NULL);
+  g_free (result_wc);
+
+  return result;
+}
+
+/* Public Libidn API starts here. */
+
+/**
+ * stringprep_utf8_to_unichar:
+ * @p: a pointer to Unicode character encoded as UTF-8
+ *
+ * Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
+ * If @p does not point to a valid UTF-8 encoded character, results are
+ * undefined.
+ *
+ * Return value: the resulting character.
+ **/
+uint32_t
+stringprep_utf8_to_unichar (const char *p)
+{
+  return g_utf8_get_char (p);
+}
+
+/**
+ * stringprep_unichar_to_utf8:
+ * @c: a ISO10646 character code
+ * @outbuf: output buffer, must have at least 6 bytes of space.
+ *       If %NULL, the length will be computed and returned
+ *       and nothing will be written to @outbuf.
+ *
+ * Converts a single character to UTF-8.
+ *
+ * Return value: number of bytes written.
+ **/
+int
+stringprep_unichar_to_utf8 (uint32_t c, char *outbuf)
+{
+  return g_unichar_to_utf8 (c, outbuf);
+}
+
+/**
+ * stringprep_utf8_to_ucs4:
+ * @str: a UTF-8 encoded string
+ * @len: the maximum length of @str to use. If @len < 0, then
+ *       the string is nul-terminated.
+ * @items_written: location to store the number of characters in the
+ *                 result, or %NULL.
+ *
+ * Convert a string from UTF-8 to a 32-bit fixed width
+ * representation as UCS-4, assuming valid UTF-8 input.
+ * This function does no error checking on the input.
+ *
+ * Return value: a pointer to a newly allocated UCS-4 string.
+ *               This value must be freed with free().
+ **/
+uint32_t *
+stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t * items_written)
+{
+  return g_utf8_to_ucs4_fast (str, (glong) len, (glong *) items_written);
+}
+
+/**
+ * stringprep_ucs4_to_utf8:
+ * @str: a UCS-4 encoded string
+ * @len: the maximum length of @str to use. If @len < 0, then
+ *       the string is terminated with a 0 character.
+ * @items_read: location to store number of characters read read, or %NULL.
+ * @items_written: location to store number of bytes written or %NULL.
+ *                 The value here stored does not include the trailing 0
+ *                 byte.
+ *
+ * Convert a string from a 32-bit fixed width representation as UCS-4.
+ * to UTF-8. The result will be terminated with a 0 byte.
+ *
+ * Return value: a pointer to a newly allocated UTF-8 string.
+ *               This value must be freed with free(). If an
+ *               error occurs, %NULL will be returned and
+ *               @error set.
+ **/
+char *
+stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len,
+			 size_t * items_read, size_t * items_written)
+{
+  return g_ucs4_to_utf8 (str, len, (glong *) items_read,
+			 (glong *) items_written, NULL);
+}
+
+/**
+ * stringprep_utf8_nfkc_normalize:
+ * @str: a UTF-8 encoded string.
+ * @len: length of @str, in bytes, or -1 if @str is nul-terminated.
+ *
+ * Converts a string into canonical form, standardizing
+ * such issues as whether a character with an accent
+ * is represented as a base character and combining
+ * accent or as a single precomposed character.
+ *
+ * The normalization mode is NFKC (ALL COMPOSE).  It standardizes
+ * differences that do not affect the text content, such as the
+ * above-mentioned accent representation. It standardizes the
+ * "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
+ * the standard forms (in this case DIGIT THREE). Formatting
+ * information may be lost but for most text operations such
+ * characters should be considered the same. It returns a result with
+ * composed forms rather than a maximally decomposed form.
+ *
+ * Return value: a newly allocated string, that is the
+ *   NFKC normalized form of @str.
+ **/
+char *
+stringprep_utf8_nfkc_normalize (const char *str, ssize_t len)
+{
+  return g_utf8_normalize (str, len, G_NORMALIZE_NFKC);
+}
+
+/**
+ * stringprep_ucs4_nfkc_normalize:
+ * @str: a Unicode string.
+ * @len: length of @str array, or -1 if @str is nul-terminated.
+ *
+ * Converts UCS4 string into UTF-8 and runs
+ * stringprep_utf8_nfkc_normalize().
+ *
+ * Return value: a newly allocated Unicode string, that is the NFKC
+ *   normalized form of @str.
+ **/
+uint32_t *
+stringprep_ucs4_nfkc_normalize (uint32_t * str, ssize_t len)
+{
+  char *p;
+  uint32_t *result_wc;
+
+  p = stringprep_ucs4_to_utf8 (str, len, 0, 0);
+  result_wc = _g_utf8_normalize_wc (p, -1, G_NORMALIZE_NFKC);
+  free (p);
+
+  return result_wc;
+}
diff --git a/libidn/profiles.c b/libidn/profiles.c
new file mode 100644
index 0000000000..1287c1096d
--- /dev/null
+++ b/libidn/profiles.c
@@ -0,0 +1,310 @@
+/* profiles.c	Definitions of stringprep profiles.
+ * Copyright (C) 2002, 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include "stringprep.h"
+
+const Stringprep_profiles stringprep_profiles[] = {
+  {"Nameprep", stringprep_nameprep},
+  {"KRBprep", stringprep_kerberos5},	/* Deprecate? */
+  {"Nodeprep", stringprep_xmpp_nodeprep},
+  {"Resourceprep", stringprep_xmpp_resourceprep},
+  {"plain", stringprep_plain},	/* sasl-anon-00. */
+  {"trace", stringprep_trace},	/* sasl-anon-01,02. */
+  {"SASLprep", stringprep_saslprep},
+  {"ISCSIprep", stringprep_iscsi},	/* Obsolete. */
+  {"iSCSI", stringprep_iscsi},	/* IANA. */
+  {NULL, NULL}
+};
+
+const Stringprep_profile stringprep_nameprep[] = {
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
+   stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
+
+const Stringprep_profile stringprep_kerberos5[] = {
+  /* XXX this is likely to be wrong as the specification is
+     a rough draft. */
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_3},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI,
+   stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
+
+const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[] = {
+  {0x000022},			/* #x22 (") */
+  {0x000026},			/* #x26 (&) */
+  {0x000027},			/* #x27 (') */
+  {0x00002F},			/* #x2F (/) */
+  {0x00003A},			/* #x3A (:) */
+  {0x00003C},			/* #x3C (<) */
+  {0x00003E},			/* #x3E (>) */
+  {0x000040},			/* #x40 (@) */
+  {0}
+};
+
+const Stringprep_profile stringprep_xmpp_nodeprep[] = {
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_xmpp_nodeprep_prohibit},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
+
+const Stringprep_profile stringprep_xmpp_resourceprep[] = {
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
+
+const Stringprep_profile stringprep_plain[] = {
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {0}
+};
+
+const Stringprep_profile stringprep_trace[] = {
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {0}
+};
+
+const Stringprep_table_element stringprep_iscsi_prohibit[] = {
+  {0x0000},			/* [ASCII CONTROL CHARACTERS and SPACE through ,] */
+  {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},
+  {0x002F},			/* [ASCII /] */
+  {0x003B},			/* [ASCII ; through @] */
+  {0x003C},
+  {0x003D},
+  {0x003E},
+  {0x003F},
+  {0x0040},
+  {0x005B},			/* [ASCII [ through `] */
+  {0x005C},
+  {0x005D},
+  {0x005E},
+  {0x005F},
+  {0x0060},
+  {0x007B},			/* [ASCII { through DEL] */
+  {0x007C},
+  {0x007D},
+  {0x007E},
+  {0x007F},
+  {0x3002},			/* ideographic full stop */
+  {0}
+};
+
+const Stringprep_profile stringprep_iscsi[] = {
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_iscsi_prohibit},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
+
+const Stringprep_table_element stringprep_saslprep_space_map[] = {
+  {0x0000A0, 0, {0x0020}},	/* 00A0; NO-BREAK SPACE */
+  {0x001680, 0, {0x0020}},	/* 1680; OGHAM SPACE MARK */
+  {0x002000, 0, {0x0020}},	/* 2000; EN QUAD */
+  {0x002001, 0, {0x0020}},	/* 2001; EM QUAD */
+  {0x002002, 0, {0x0020}},	/* 2002; EN SPACE */
+  {0x002003, 0, {0x0020}},	/* 2003; EM SPACE */
+  {0x002004, 0, {0x0020}},	/* 2004; THREE-PER-EM SPACE */
+  {0x002005, 0, {0x0020}},	/* 2005; FOUR-PER-EM SPACE */
+  {0x002006, 0, {0x0020}},	/* 2006; SIX-PER-EM SPACE */
+  {0x002007, 0, {0x0020}},	/* 2007; FIGURE SPACE */
+  {0x002008, 0, {0x0020}},	/* 2008; PUNCTUATION SPACE */
+  {0x002009, 0, {0x0020}},	/* 2009; THIN SPACE */
+  {0x00200A, 0, {0x0020}},	/* 200A; HAIR SPACE */
+  {0x00200B, 0, {0x0020}},	/* 200B; ZERO WIDTH SPACE */
+  {0x00202F, 0, {0x0020}},	/* 202F; NARROW NO-BREAK SPACE */
+  {0x00205F, 0, {0x0020}},	/* 205F; MEDIUM MATHEMATICAL SPACE */
+  {0x003000, 0, {0x0020}},	/* 3000; IDEOGRAPHIC SPACE */
+  {0}
+};
+
+const Stringprep_profile stringprep_saslprep[] = {
+  {STRINGPREP_MAP_TABLE, 0, stringprep_saslprep_space_map},
+  {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1},
+  {STRINGPREP_NFKC, 0, 0},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9},
+  {STRINGPREP_BIDI, 0, 0},
+  {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8},
+  {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1},
+  {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2},
+  {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED,
+   stringprep_rfc3454_A_1},
+  {0}
+};
diff --git a/libidn/punycode.c b/libidn/punycode.c
new file mode 100644
index 0000000000..372f849c02
--- /dev/null
+++ b/libidn/punycode.c
@@ -0,0 +1,456 @@
+/* punycode.c	Implementation of punycode used to ASCII encode IDN's.
+ * Copyright (C) 2002, 2003  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+/*
+ * This file is derived from RFC 3492bis written by Adam M. Costello.
+ *
+ * Disclaimer and license: Regarding this entire document or any
+ * portion of it (including the pseudocode and C code), the author
+ * makes no guarantees and is not responsible for any damage resulting
+ * from its use.  The author grants irrevocable permission to anyone
+ * to use, modify, and distribute it in any way that does not diminish
+ * the rights of anyone else to use, modify, and distribute it,
+ * provided that redistributed derivative works do not contain
+ * misleading author or version information.  Derivative works need
+ * not be licensed under similar terms.
+ *
+ * Copyright (C) The Internet Society (2003).  All Rights Reserved.
+ *
+ * This document and translations of it may be copied and furnished to
+ * others, and derivative works that comment on or otherwise explain it
+ * or assist in its implementation may be prepared, copied, published
+ * and distributed, in whole or in part, without restriction of any
+ * kind, provided that the above copyright notice and this paragraph are
+ * included on all such copies and derivative works.  However, this
+ * document itself may not be modified in any way, such as by removing
+ * the copyright notice or references to the Internet Society or other
+ * Internet organizations, except as needed for the purpose of
+ * developing Internet standards in which case the procedures for
+ * copyrights defined in the Internet Standards process must be
+ * followed, or as required to translate it into languages other than
+ * English.
+ *
+ * The limited permissions granted above are perpetual and will not be
+ * revoked by the Internet Society or its successors or assigns.
+ *
+ * This document and the information contained herein is provided on an
+ * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <string.h>
+
+#include "punycode.h"
+
+/*** Bootstring parameters for Punycode ***/
+
+enum
+{ base = 36, tmin = 1, tmax = 26, skew = 38, damp = 700,
+  initial_bias = 72, initial_n = 0x80, delimiter = 0x2D
+};
+
+/* basic(cp) tests whether cp is a basic code point: */
+#define basic(cp) ((punycode_uint)(cp) < 0x80)
+
+/* delim(cp) tests whether cp is a delimiter: */
+#define delim(cp) ((cp) == delimiter)
+
+/* decode_digit(cp) returns the numeric value of a basic code */
+/* point (for use in representing integers) in the range 0 to */
+/* base-1, or base if cp does not represent a value.          */
+
+static punycode_uint
+decode_digit (punycode_uint cp)
+{
+  return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 :
+    cp - 97 < 26 ? cp - 97 : base;
+}
+
+/* encode_digit(d,flag) returns the basic code point whose value      */
+/* (when used for representing integers) is d, which needs to be in   */
+/* the range 0 to base-1.  The lowercase form is used unless flag is  */
+/* nonzero, in which case the uppercase form is used.  The behavior   */
+/* is undefined if flag is nonzero and digit d has no uppercase form. */
+
+static char
+encode_digit (punycode_uint d, int flag)
+{
+  return d + 22 + 75 * (d < 26) - ((flag != 0) << 5);
+  /*  0..25 map to ASCII a..z or A..Z */
+  /* 26..35 map to ASCII 0..9         */
+}
+
+/* flagged(bcp) tests whether a basic code point is flagged */
+/* (uppercase).  The behavior is undefined if bcp is not a  */
+/* basic code point.                                        */
+
+#define flagged(bcp) ((punycode_uint)(bcp) - 65 < 26)
+
+/* encode_basic(bcp,flag) forces a basic code point to lowercase */
+/* if flag is zero, uppercase if flag is nonzero, and returns    */
+/* the resulting code point.  The code point is unchanged if it  */
+/* is caseless.  The behavior is undefined if bcp is not a basic */
+/* code point.                                                   */
+
+static char
+encode_basic (punycode_uint bcp, int flag)
+{
+  bcp -= (bcp - 97 < 26) << 5;
+  return bcp + ((!flag && (bcp - 65 < 26)) << 5);
+}
+
+/*** Platform-specific constants ***/
+
+/* maxint is the maximum value of a punycode_uint variable: */
+static const punycode_uint maxint = -1;
+/* Because maxint is unsigned, -1 becomes the maximum value. */
+
+/*** Bias adaptation function ***/
+
+static punycode_uint
+adapt (punycode_uint delta, punycode_uint numpoints, int firsttime)
+{
+  punycode_uint k;
+
+  delta = firsttime ? delta / damp : delta >> 1;
+  /* delta >> 1 is a faster way of doing delta / 2 */
+  delta += delta / numpoints;
+
+  for (k = 0; delta > ((base - tmin) * tmax) / 2; k += base)
+    {
+      delta /= base - tmin;
+    }
+
+  return k + (base - tmin + 1) * delta / (delta + skew);
+}
+
+/*** Main encode function ***/
+
+/**
+ * punycode_encode:
+ * @input_length: The number of code points in the @input array and
+ *   the number of flags in the @case_flags array.
+ * @input: An array of code points.  They are presumed to be Unicode
+ *   code points, but that is not strictly REQUIRED.  The array
+ *   contains code points, not code units.  UTF-16 uses code units
+ *   D800 through DFFF to refer to code points 10000..10FFFF.  The
+ *   code points D800..DFFF do not occur in any valid Unicode string.
+ *   The code points that can occur in Unicode strings (0..D7FF and
+ *   E000..10FFFF) are also called Unicode scalar values.
+ * @case_flags: A %NULL pointer or an array of boolean values parallel
+ *   to the @input array.  Nonzero (true, flagged) suggests that the
+ *   corresponding Unicode character be forced to uppercase after
+ *   being decoded (if possible), and zero (false, unflagged) suggests
+ *   that it be forced to lowercase (if possible).  ASCII code points
+ *   (0..7F) are encoded literally, except that ASCII letters are
+ *   forced to uppercase or lowercase according to the corresponding
+ *   case flags.  If @case_flags is a %NULL pointer then ASCII letters
+ *   are left as they are, and other code points are treated as
+ *   unflagged.
+ * @output_length: The caller passes in the maximum number of ASCII
+ *   code points that it can receive.  On successful return it will
+ *   contain the number of ASCII code points actually output.
+ * @output: An array of ASCII code points.  It is *not*
+ *   null-terminated; it will contain zeros if and only if the @input
+ *   contains zeros.  (Of course the caller can leave room for a
+ *   terminator and add one if needed.)
+ *
+ * Converts a sequence of code points (presumed to be Unicode code
+ * points) to Punycode.
+ *
+ * Return value: The return value can be any of the punycode_status
+ *   values defined above except %punycode_bad_input.  If not
+ *   %punycode_success, then @output_size and @output might contain
+ *   garbage.
+ **/
+int
+punycode_encode (size_t input_length,
+		 const punycode_uint input[],
+		 const unsigned char case_flags[],
+		 size_t * output_length, char output[])
+{
+  punycode_uint input_len, n, delta, h, b, bias, j, m, q, k, t;
+  size_t out, max_out;
+
+  /* The Punycode spec assumes that the input length is the same type */
+  /* of integer as a code point, so we need to convert the size_t to  */
+  /* a punycode_uint, which could overflow.                           */
+
+  if (input_length > maxint)
+    return punycode_overflow;
+  input_len = (punycode_uint) input_length;
+
+  /* Initialize the state: */
+
+  n = initial_n;
+  delta = 0;
+  out = 0;
+  max_out = *output_length;
+  bias = initial_bias;
+
+  /* Handle the basic code points: */
+
+  for (j = 0; j < input_len; ++j)
+    {
+      if (basic (input[j]))
+	{
+	  if (max_out - out < 2)
+	    return punycode_big_output;
+	  output[out++] = case_flags ?
+	    encode_basic (input[j], case_flags[j]) : (char) input[j];
+	}
+      /* else if (input[j] < n) return punycode_bad_input; */
+      /* (not needed for Punycode with unsigned code points) */
+    }
+
+  h = b = (punycode_uint) out;
+  /* cannot overflow because out <= input_len <= maxint */
+
+  /* h is the number of code points that have been handled, b is the  */
+  /* number of basic code points, and out is the number of ASCII code */
+  /* points that have been output.                                    */
+
+  if (b > 0)
+    output[out++] = delimiter;
+
+  /* Main encoding loop: */
+
+  while (h < input_len)
+    {
+      /* All non-basic code points < n have been     */
+      /* handled already.  Find the next larger one: */
+
+      for (m = maxint, j = 0; j < input_len; ++j)
+	{
+	  /* if (basic(input[j])) continue; */
+	  /* (not needed for Punycode) */
+	  if (input[j] >= n && input[j] < m)
+	    m = input[j];
+	}
+
+      /* Increase delta enough to advance the decoder's    */
+      /* <n,i> state to <m,0>, but guard against overflow: */
+
+      if (m - n > (maxint - delta) / (h + 1))
+	return punycode_overflow;
+      delta += (m - n) * (h + 1);
+      n = m;
+
+      for (j = 0; j < input_len; ++j)
+	{
+	  /* Punycode does not need to check whether input[j] is basic: */
+	  if (input[j] < n /* || basic(input[j]) */ )
+	    {
+	      if (++delta == 0)
+		return punycode_overflow;
+	    }
+
+	  if (input[j] == n)
+	    {
+	      /* Represent delta as a generalized variable-length integer: */
+
+	      for (q = delta, k = base;; k += base)
+		{
+		  if (out >= max_out)
+		    return punycode_big_output;
+		  t = k <= bias /* + tmin */ ? tmin :	/* +tmin not needed */
+		    k >= bias + tmax ? tmax : k - bias;
+		  if (q < t)
+		    break;
+		  output[out++] = encode_digit (t + (q - t) % (base - t), 0);
+		  q = (q - t) / (base - t);
+		}
+
+	      output[out++] = encode_digit (q, case_flags && case_flags[j]);
+	      bias = adapt (delta, h + 1, h == b);
+	      delta = 0;
+	      ++h;
+	    }
+	}
+
+      ++delta, ++n;
+    }
+
+  *output_length = out;
+  return punycode_success;
+}
+
+/*** Main decode function ***/
+
+/**
+ * punycode_decode:
+ * @input_length: The number of ASCII code points in the @input array.
+ * @input: An array of ASCII code points (0..7F).
+ * @output_length: The caller passes in the maximum number of code
+ *   points that it can receive into the @output array (which is also
+ *   the maximum number of flags that it can receive into the
+ *   @case_flags array, if @case_flags is not a %NULL pointer).  On
+ *   successful return it will contain the number of code points
+ *   actually output (which is also the number of flags actually
+ *   output, if case_flags is not a null pointer).  The decoder will
+ *   never need to output more code points than the number of ASCII
+ *   code points in the input, because of the way the encoding is
+ *   defined.  The number of code points output cannot exceed the
+ *   maximum possible value of a punycode_uint, even if the supplied
+ *   @output_length is greater than that.
+ * @output: An array of code points like the input argument of
+ *   punycode_encode() (see above).
+ * @case_flags: A %NULL pointer (if the flags are not needed by the
+ *   caller) or an array of boolean values parallel to the @output
+ *   array.  Nonzero (true, flagged) suggests that the corresponding
+ *   Unicode character be forced to uppercase by the caller (if
+ *   possible), and zero (false, unflagged) suggests that it be forced
+ *   to lowercase (if possible).  ASCII code points (0..7F) are output
+ *   already in the proper case, but their flags will be set
+ *   appropriately so that applying the flags would be harmless.
+ *
+ * Converts Punycode to a sequence of code points (presumed to be
+ * Unicode code points).
+ *
+ * Return value: The return value can be any of the punycode_status
+ *   values defined above.  If not %punycode_success, then
+ *   @output_length, @output, and @case_flags might contain garbage.
+ *
+ **/
+int
+punycode_decode (size_t input_length,
+		 const char input[],
+		 size_t * output_length,
+		 punycode_uint output[], unsigned char case_flags[])
+{
+  punycode_uint n, out, i, max_out, bias, oldi, w, k, digit, t;
+  size_t b, j, in;
+
+  /* Initialize the state: */
+
+  n = initial_n;
+  out = i = 0;
+  max_out = *output_length > maxint ? maxint
+    : (punycode_uint) * output_length;
+  bias = initial_bias;
+
+  /* Handle the basic code points:  Let b be the number of input code */
+  /* points before the last delimiter, or 0 if there is none, then    */
+  /* copy the first b code points to the output.                      */
+
+  for (b = j = 0; j < input_length; ++j)
+    if (delim (input[j]))
+      b = j;
+  if (b > max_out)
+    return punycode_big_output;
+
+  for (j = 0; j < b; ++j)
+    {
+      if (case_flags)
+	case_flags[out] = flagged (input[j]);
+      if (!basic (input[j]))
+	return punycode_bad_input;
+      output[out++] = input[j];
+    }
+
+  /* Main decoding loop:  Start just after the last delimiter if any  */
+  /* basic code points were copied; start at the beginning otherwise. */
+
+  for (in = b > 0 ? b + 1 : 0; in < input_length; ++out)
+    {
+
+      /* in is the index of the next ASCII code point to be consumed, */
+      /* and out is the number of code points in the output array.    */
+
+      /* Decode a generalized variable-length integer into delta,  */
+      /* which gets added to i.  The overflow checking is easier   */
+      /* if we increase i as we go, then subtract off its starting */
+      /* value at the end to obtain delta.                         */
+
+      for (oldi = i, w = 1, k = base;; k += base)
+	{
+	  if (in >= input_length)
+	    return punycode_bad_input;
+	  digit = decode_digit (input[in++]);
+	  if (digit >= base)
+	    return punycode_bad_input;
+	  if (digit > (maxint - i) / w)
+	    return punycode_overflow;
+	  i += digit * w;
+	  t = k <= bias /* + tmin */ ? tmin :	/* +tmin not needed */
+	    k >= bias + tmax ? tmax : k - bias;
+	  if (digit < t)
+	    break;
+	  if (w > maxint / (base - t))
+	    return punycode_overflow;
+	  w *= (base - t);
+	}
+
+      bias = adapt (i - oldi, out + 1, oldi == 0);
+
+      /* i was supposed to wrap around from out+1 to 0,   */
+      /* incrementing n each time, so we'll fix that now: */
+
+      if (i / (out + 1) > maxint - n)
+	return punycode_overflow;
+      n += i / (out + 1);
+      i %= (out + 1);
+
+      /* Insert n at position i of the output: */
+
+      /* not needed for Punycode: */
+      /* if (basic(n)) return punycode_invalid_input; */
+      if (out >= max_out)
+	return punycode_big_output;
+
+      if (case_flags)
+	{
+	  memmove (case_flags + i + 1, case_flags + i, out - i);
+	  /* Case of last ASCII code point determines case flag: */
+	  case_flags[i] = flagged (input[in - 1]);
+	}
+
+      memmove (output + i + 1, output + i, (out - i) * sizeof *output);
+      output[i++] = n;
+    }
+
+  *output_length = (size_t) out;
+  /* cannot overflow because out <= old value of *output_length */
+  return punycode_success;
+}
+
+/**
+ * punycode_uint
+ *
+ * Unicode code point data type, this is always a 32 bit unsigned
+ * integer.
+ */
+
+/**
+ * Punycode_status
+ * @PUNYCODE_SUCCESS: Successful operation.  This value is guaranteed
+ *   to always be zero, the remaining ones are only guaranteed to hold
+ *   non-zero values, for logical comparison purposes.
+ * @PUNYCODE_BAD_INPUT: Input is invalid.
+ * @PUNYCODE_BIG_OUTPUT: Output would exceed the space provided.
+ * @PUNYCODE_OVERFLOW: Input needs wider integers to process.
+ *
+ * Enumerated return codes of punycode_encode() and punycode_decode().
+ * The value 0 is guaranteed to always correspond to success.
+ */
diff --git a/libidn/punycode.h b/libidn/punycode.h
new file mode 100644
index 0000000000..62c5186171
--- /dev/null
+++ b/libidn/punycode.h
@@ -0,0 +1,216 @@
+/* punycode.h	Declarations for punycode functions.
+ * Copyright (C) 2002, 2003  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+/*
+ * This file is derived from RFC 3492bis written by Adam M. Costello.
+ *
+ * Disclaimer and license: Regarding this entire document or any
+ * portion of it (including the pseudocode and C code), the author
+ * makes no guarantees and is not responsible for any damage resulting
+ * from its use.  The author grants irrevocable permission to anyone
+ * to use, modify, and distribute it in any way that does not diminish
+ * the rights of anyone else to use, modify, and distribute it,
+ * provided that redistributed derivative works do not contain
+ * misleading author or version information.  Derivative works need
+ * not be licensed under similar terms.
+ *
+ * Copyright (C) The Internet Society (2003).  All Rights Reserved.
+ *
+ * This document and translations of it may be copied and furnished to
+ * others, and derivative works that comment on or otherwise explain it
+ * or assist in its implementation may be prepared, copied, published
+ * and distributed, in whole or in part, without restriction of any
+ * kind, provided that the above copyright notice and this paragraph are
+ * included on all such copies and derivative works.  However, this
+ * document itself may not be modified in any way, such as by removing
+ * the copyright notice or references to the Internet Society or other
+ * Internet organizations, except as needed for the purpose of
+ * developing Internet standards in which case the procedures for
+ * copyrights defined in the Internet Standards process must be
+ * followed, or as required to translate it into languages other than
+ * English.
+ *
+ * The limited permissions granted above are perpetual and will not be
+ * revoked by the Internet Society or its successors or assigns.
+ *
+ * This document and the information contained herein is provided on an
+ * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _PUNYCODE_H
+#define _PUNYCODE_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <stddef.h>		/* size_t */
+#include <stdint.h>		/* uint32_t */
+
+  enum punycode_status
+  {
+    punycode_success = 0,
+    punycode_bad_input = 1,	/* Input is invalid.                       */
+    punycode_big_output = 2,	/* Output would exceed the space provided. */
+    punycode_overflow = 3	/* Wider integers needed to process input. */
+  };
+
+  typedef enum
+  {
+    PUNYCODE_SUCCESS = punycode_success,
+    PUNYCODE_BAD_INPUT = punycode_bad_input,
+    PUNYCODE_BIG_OUTPUT = punycode_big_output,
+    PUNYCODE_OVERFLOW = punycode_overflow
+  } Punycode_status;
+
+/* punycode_uint needs to be unsigned and needs to be */
+/* at least 26 bits wide.                             */
+
+  typedef uint32_t punycode_uint;
+
+  extern int punycode_encode (size_t input_length,
+			      const punycode_uint input[],
+			      const unsigned char case_flags[],
+			      size_t * output_length, char output[]);
+
+/*
+    punycode_encode() converts a sequence of code points (presumed to be
+    Unicode code points) to Punycode.
+
+    Input arguments (to be supplied by the caller):
+
+        input_length
+            The number of code points in the input array and the number
+            of flags in the case_flags array.
+
+        input
+            An array of code points.  They are presumed to be Unicode
+            code points, but that is not strictly REQUIRED.  The
+            array contains code points, not code units.  UTF-16 uses
+            code units D800 through DFFF to refer to code points
+            10000..10FFFF.  The code points D800..DFFF do not occur in
+            any valid Unicode string.  The code points that can occur in
+            Unicode strings (0..D7FF and E000..10FFFF) are also called
+            Unicode scalar values.
+
+        case_flags
+            A null pointer or an array of boolean values parallel to
+            the input array.  Nonzero (true, flagged) suggests that the
+            corresponding Unicode character be forced to uppercase after
+            being decoded (if possible), and zero (false, unflagged)
+            suggests that it be forced to lowercase (if possible).
+            ASCII code points (0..7F) are encoded literally, except that
+            ASCII letters are forced to uppercase or lowercase according
+            to the corresponding case flags.  If case_flags is a null
+            pointer then ASCII letters are left as they are, and other
+            code points are treated as unflagged.
+
+    Output arguments (to be filled in by the function):
+
+        output
+            An array of ASCII code points.  It is *not* null-terminated;
+            it will contain zeros if and only if the input contains
+            zeros.  (Of course the caller can leave room for a
+            terminator and add one if needed.)
+
+    Input/output arguments (to be supplied by the caller and overwritten
+    by the function):
+
+        output_length
+            The caller passes in the maximum number of ASCII code points
+            that it can receive.  On successful return it will contain
+            the number of ASCII code points actually output.
+
+    Return value:
+
+        Can be any of the punycode_status values defined above except
+        punycode_bad_input.  If not punycode_success, then output_size
+        and output might contain garbage.
+*/
+
+  extern int punycode_decode (size_t input_length,
+			      const char input[],
+			      size_t * output_length,
+			      punycode_uint output[],
+			      unsigned char case_flags[]);
+
+/*
+    punycode_decode() converts Punycode to a sequence of code points
+    (presumed to be Unicode code points).
+
+    Input arguments (to be supplied by the caller):
+
+        input_length
+            The number of ASCII code points in the input array.
+
+        input
+            An array of ASCII code points (0..7F).
+
+    Output arguments (to be filled in by the function):
+
+        output
+            An array of code points like the input argument of
+            punycode_encode() (see above).
+
+        case_flags
+            A null pointer (if the flags are not needed by the caller)
+            or an array of boolean values parallel to the output array.
+            Nonzero (true, flagged) suggests that the corresponding
+            Unicode character be forced to uppercase by the caller (if
+            possible), and zero (false, unflagged) suggests that it
+            be forced to lowercase (if possible).  ASCII code points
+            (0..7F) are output already in the proper case, but their
+            flags will be set appropriately so that applying the flags
+            would be harmless.
+
+    Input/output arguments (to be supplied by the caller and overwritten
+    by the function):
+
+        output_length
+            The caller passes in the maximum number of code points
+            that it can receive into the output array (which is also
+            the maximum number of flags that it can receive into the
+            case_flags array, if case_flags is not a null pointer).  On
+            successful return it will contain the number of code points
+            actually output (which is also the number of flags actually
+            output, if case_flags is not a null pointer).  The decoder
+            will never need to output more code points than the number
+            of ASCII code points in the input, because of the way the
+            encoding is defined.  The number of code points output
+            cannot exceed the maximum possible value of a punycode_uint,
+            even if the supplied output_length is greater than that.
+
+    Return value:
+
+        Can be any of the punycode_status values defined above.  If not
+        punycode_success, then output_length, output, and case_flags
+        might contain garbage.
+*/
+
+#ifdef __cplusplus
+}
+#endif
+#endif				/* _PUNYCODE_H */
diff --git a/libidn/rfc3454.c b/libidn/rfc3454.c
new file mode 100644
index 0000000000..99d1677368
--- /dev/null
+++ b/libidn/rfc3454.c
@@ -0,0 +1,3544 @@
+/* This file is automatically generated.  DO NOT EDIT!
+   Instead, edit gen-stringprep-tables.pl and re-run.  */
+
+#include "stringprep.h"
+
+/*
+ * A.1 Unassigned code points in Unicode 3.2
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_A_1[] = {
+  { 0x000221           },                                            /* 0221 */
+  { 0x000234, 0x00024F },                                       /* 0234-024F */
+  { 0x0002AE, 0x0002AF },                                       /* 02AE-02AF */
+  { 0x0002EF, 0x0002FF },                                       /* 02EF-02FF */
+  { 0x000350, 0x00035F },                                       /* 0350-035F */
+  { 0x000370, 0x000373 },                                       /* 0370-0373 */
+  { 0x000376, 0x000379 },                                       /* 0376-0379 */
+  { 0x00037B, 0x00037D },                                       /* 037B-037D */
+  { 0x00037F, 0x000383 },                                       /* 037F-0383 */
+  { 0x00038B           },                                            /* 038B */
+  { 0x00038D           },                                            /* 038D */
+  { 0x0003A2           },                                            /* 03A2 */
+  { 0x0003CF           },                                            /* 03CF */
+  { 0x0003F7, 0x0003FF },                                       /* 03F7-03FF */
+  { 0x000487           },                                            /* 0487 */
+  { 0x0004CF           },                                            /* 04CF */
+  { 0x0004F6, 0x0004F7 },                                       /* 04F6-04F7 */
+  { 0x0004FA, 0x0004FF },                                       /* 04FA-04FF */
+  { 0x000510, 0x000530 },                                       /* 0510-0530 */
+  { 0x000557, 0x000558 },                                       /* 0557-0558 */
+  { 0x000560           },                                            /* 0560 */
+  { 0x000588           },                                            /* 0588 */
+  { 0x00058B, 0x000590 },                                       /* 058B-0590 */
+  { 0x0005A2           },                                            /* 05A2 */
+  { 0x0005BA           },                                            /* 05BA */
+  { 0x0005C5, 0x0005CF },                                       /* 05C5-05CF */
+  { 0x0005EB, 0x0005EF },                                       /* 05EB-05EF */
+  { 0x0005F5, 0x00060B },                                       /* 05F5-060B */
+  { 0x00060D, 0x00061A },                                       /* 060D-061A */
+  { 0x00061C, 0x00061E },                                       /* 061C-061E */
+  { 0x000620           },                                            /* 0620 */
+  { 0x00063B, 0x00063F },                                       /* 063B-063F */
+  { 0x000656, 0x00065F },                                       /* 0656-065F */
+  { 0x0006EE, 0x0006EF },                                       /* 06EE-06EF */
+  { 0x0006FF           },                                            /* 06FF */
+  { 0x00070E           },                                            /* 070E */
+  { 0x00072D, 0x00072F },                                       /* 072D-072F */
+  { 0x00074B, 0x00077F },                                       /* 074B-077F */
+  { 0x0007B2, 0x000900 },                                       /* 07B2-0900 */
+  { 0x000904           },                                            /* 0904 */
+  { 0x00093A, 0x00093B },                                       /* 093A-093B */
+  { 0x00094E, 0x00094F },                                       /* 094E-094F */
+  { 0x000955, 0x000957 },                                       /* 0955-0957 */
+  { 0x000971, 0x000980 },                                       /* 0971-0980 */
+  { 0x000984           },                                            /* 0984 */
+  { 0x00098D, 0x00098E },                                       /* 098D-098E */
+  { 0x000991, 0x000992 },                                       /* 0991-0992 */
+  { 0x0009A9           },                                            /* 09A9 */
+  { 0x0009B1           },                                            /* 09B1 */
+  { 0x0009B3, 0x0009B5 },                                       /* 09B3-09B5 */
+  { 0x0009BA, 0x0009BB },                                       /* 09BA-09BB */
+  { 0x0009BD           },                                            /* 09BD */
+  { 0x0009C5, 0x0009C6 },                                       /* 09C5-09C6 */
+  { 0x0009C9, 0x0009CA },                                       /* 09C9-09CA */
+  { 0x0009CE, 0x0009D6 },                                       /* 09CE-09D6 */
+  { 0x0009D8, 0x0009DB },                                       /* 09D8-09DB */
+  { 0x0009DE           },                                            /* 09DE */
+  { 0x0009E4, 0x0009E5 },                                       /* 09E4-09E5 */
+  { 0x0009FB, 0x000A01 },                                       /* 09FB-0A01 */
+  { 0x000A03, 0x000A04 },                                       /* 0A03-0A04 */
+  { 0x000A0B, 0x000A0E },                                       /* 0A0B-0A0E */
+  { 0x000A11, 0x000A12 },                                       /* 0A11-0A12 */
+  { 0x000A29           },                                            /* 0A29 */
+  { 0x000A31           },                                            /* 0A31 */
+  { 0x000A34           },                                            /* 0A34 */
+  { 0x000A37           },                                            /* 0A37 */
+  { 0x000A3A, 0x000A3B },                                       /* 0A3A-0A3B */
+  { 0x000A3D           },                                            /* 0A3D */
+  { 0x000A43, 0x000A46 },                                       /* 0A43-0A46 */
+  { 0x000A49, 0x000A4A },                                       /* 0A49-0A4A */
+  { 0x000A4E, 0x000A58 },                                       /* 0A4E-0A58 */
+  { 0x000A5D           },                                            /* 0A5D */
+  { 0x000A5F, 0x000A65 },                                       /* 0A5F-0A65 */
+  { 0x000A75, 0x000A80 },                                       /* 0A75-0A80 */
+  { 0x000A84           },                                            /* 0A84 */
+  { 0x000A8C           },                                            /* 0A8C */
+  { 0x000A8E           },                                            /* 0A8E */
+  { 0x000A92           },                                            /* 0A92 */
+  { 0x000AA9           },                                            /* 0AA9 */
+  { 0x000AB1           },                                            /* 0AB1 */
+  { 0x000AB4           },                                            /* 0AB4 */
+  { 0x000ABA, 0x000ABB },                                       /* 0ABA-0ABB */
+  { 0x000AC6           },                                            /* 0AC6 */
+  { 0x000ACA           },                                            /* 0ACA */
+  { 0x000ACE, 0x000ACF },                                       /* 0ACE-0ACF */
+  { 0x000AD1, 0x000ADF },                                       /* 0AD1-0ADF */
+  { 0x000AE1, 0x000AE5 },                                       /* 0AE1-0AE5 */
+  { 0x000AF0, 0x000B00 },                                       /* 0AF0-0B00 */
+  { 0x000B04           },                                            /* 0B04 */
+  { 0x000B0D, 0x000B0E },                                       /* 0B0D-0B0E */
+  { 0x000B11, 0x000B12 },                                       /* 0B11-0B12 */
+  { 0x000B29           },                                            /* 0B29 */
+  { 0x000B31           },                                            /* 0B31 */
+  { 0x000B34, 0x000B35 },                                       /* 0B34-0B35 */
+  { 0x000B3A, 0x000B3B },                                       /* 0B3A-0B3B */
+  { 0x000B44, 0x000B46 },                                       /* 0B44-0B46 */
+  { 0x000B49, 0x000B4A },                                       /* 0B49-0B4A */
+  { 0x000B4E, 0x000B55 },                                       /* 0B4E-0B55 */
+  { 0x000B58, 0x000B5B },                                       /* 0B58-0B5B */
+  { 0x000B5E           },                                            /* 0B5E */
+  { 0x000B62, 0x000B65 },                                       /* 0B62-0B65 */
+  { 0x000B71, 0x000B81 },                                       /* 0B71-0B81 */
+  { 0x000B84           },                                            /* 0B84 */
+  { 0x000B8B, 0x000B8D },                                       /* 0B8B-0B8D */
+  { 0x000B91           },                                            /* 0B91 */
+  { 0x000B96, 0x000B98 },                                       /* 0B96-0B98 */
+  { 0x000B9B           },                                            /* 0B9B */
+  { 0x000B9D           },                                            /* 0B9D */
+  { 0x000BA0, 0x000BA2 },                                       /* 0BA0-0BA2 */
+  { 0x000BA5, 0x000BA7 },                                       /* 0BA5-0BA7 */
+  { 0x000BAB, 0x000BAD },                                       /* 0BAB-0BAD */
+  { 0x000BB6           },                                            /* 0BB6 */
+  { 0x000BBA, 0x000BBD },                                       /* 0BBA-0BBD */
+  { 0x000BC3, 0x000BC5 },                                       /* 0BC3-0BC5 */
+  { 0x000BC9           },                                            /* 0BC9 */
+  { 0x000BCE, 0x000BD6 },                                       /* 0BCE-0BD6 */
+  { 0x000BD8, 0x000BE6 },                                       /* 0BD8-0BE6 */
+  { 0x000BF3, 0x000C00 },                                       /* 0BF3-0C00 */
+  { 0x000C04           },                                            /* 0C04 */
+  { 0x000C0D           },                                            /* 0C0D */
+  { 0x000C11           },                                            /* 0C11 */
+  { 0x000C29           },                                            /* 0C29 */
+  { 0x000C34           },                                            /* 0C34 */
+  { 0x000C3A, 0x000C3D },                                       /* 0C3A-0C3D */
+  { 0x000C45           },                                            /* 0C45 */
+  { 0x000C49           },                                            /* 0C49 */
+  { 0x000C4E, 0x000C54 },                                       /* 0C4E-0C54 */
+  { 0x000C57, 0x000C5F },                                       /* 0C57-0C5F */
+  { 0x000C62, 0x000C65 },                                       /* 0C62-0C65 */
+  { 0x000C70, 0x000C81 },                                       /* 0C70-0C81 */
+  { 0x000C84           },                                            /* 0C84 */
+  { 0x000C8D           },                                            /* 0C8D */
+  { 0x000C91           },                                            /* 0C91 */
+  { 0x000CA9           },                                            /* 0CA9 */
+  { 0x000CB4           },                                            /* 0CB4 */
+  { 0x000CBA, 0x000CBD },                                       /* 0CBA-0CBD */
+  { 0x000CC5           },                                            /* 0CC5 */
+  { 0x000CC9           },                                            /* 0CC9 */
+  { 0x000CCE, 0x000CD4 },                                       /* 0CCE-0CD4 */
+  { 0x000CD7, 0x000CDD },                                       /* 0CD7-0CDD */
+  { 0x000CDF           },                                            /* 0CDF */
+  { 0x000CE2, 0x000CE5 },                                       /* 0CE2-0CE5 */
+  { 0x000CF0, 0x000D01 },                                       /* 0CF0-0D01 */
+  { 0x000D04           },                                            /* 0D04 */
+  { 0x000D0D           },                                            /* 0D0D */
+  { 0x000D11           },                                            /* 0D11 */
+  { 0x000D29           },                                            /* 0D29 */
+  { 0x000D3A, 0x000D3D },                                       /* 0D3A-0D3D */
+  { 0x000D44, 0x000D45 },                                       /* 0D44-0D45 */
+  { 0x000D49           },                                            /* 0D49 */
+  { 0x000D4E, 0x000D56 },                                       /* 0D4E-0D56 */
+  { 0x000D58, 0x000D5F },                                       /* 0D58-0D5F */
+  { 0x000D62, 0x000D65 },                                       /* 0D62-0D65 */
+  { 0x000D70, 0x000D81 },                                       /* 0D70-0D81 */
+  { 0x000D84           },                                            /* 0D84 */
+  { 0x000D97, 0x000D99 },                                       /* 0D97-0D99 */
+  { 0x000DB2           },                                            /* 0DB2 */
+  { 0x000DBC           },                                            /* 0DBC */
+  { 0x000DBE, 0x000DBF },                                       /* 0DBE-0DBF */
+  { 0x000DC7, 0x000DC9 },                                       /* 0DC7-0DC9 */
+  { 0x000DCB, 0x000DCE },                                       /* 0DCB-0DCE */
+  { 0x000DD5           },                                            /* 0DD5 */
+  { 0x000DD7           },                                            /* 0DD7 */
+  { 0x000DE0, 0x000DF1 },                                       /* 0DE0-0DF1 */
+  { 0x000DF5, 0x000E00 },                                       /* 0DF5-0E00 */
+  { 0x000E3B, 0x000E3E },                                       /* 0E3B-0E3E */
+  { 0x000E5C, 0x000E80 },                                       /* 0E5C-0E80 */
+  { 0x000E83           },                                            /* 0E83 */
+  { 0x000E85, 0x000E86 },                                       /* 0E85-0E86 */
+  { 0x000E89           },                                            /* 0E89 */
+  { 0x000E8B, 0x000E8C },                                       /* 0E8B-0E8C */
+  { 0x000E8E, 0x000E93 },                                       /* 0E8E-0E93 */
+  { 0x000E98           },                                            /* 0E98 */
+  { 0x000EA0           },                                            /* 0EA0 */
+  { 0x000EA4           },                                            /* 0EA4 */
+  { 0x000EA6           },                                            /* 0EA6 */
+  { 0x000EA8, 0x000EA9 },                                       /* 0EA8-0EA9 */
+  { 0x000EAC           },                                            /* 0EAC */
+  { 0x000EBA           },                                            /* 0EBA */
+  { 0x000EBE, 0x000EBF },                                       /* 0EBE-0EBF */
+  { 0x000EC5           },                                            /* 0EC5 */
+  { 0x000EC7           },                                            /* 0EC7 */
+  { 0x000ECE, 0x000ECF },                                       /* 0ECE-0ECF */
+  { 0x000EDA, 0x000EDB },                                       /* 0EDA-0EDB */
+  { 0x000EDE, 0x000EFF },                                       /* 0EDE-0EFF */
+  { 0x000F48           },                                            /* 0F48 */
+  { 0x000F6B, 0x000F70 },                                       /* 0F6B-0F70 */
+  { 0x000F8C, 0x000F8F },                                       /* 0F8C-0F8F */
+  { 0x000F98           },                                            /* 0F98 */
+  { 0x000FBD           },                                            /* 0FBD */
+  { 0x000FCD, 0x000FCE },                                       /* 0FCD-0FCE */
+  { 0x000FD0, 0x000FFF },                                       /* 0FD0-0FFF */
+  { 0x001022           },                                            /* 1022 */
+  { 0x001028           },                                            /* 1028 */
+  { 0x00102B           },                                            /* 102B */
+  { 0x001033, 0x001035 },                                       /* 1033-1035 */
+  { 0x00103A, 0x00103F },                                       /* 103A-103F */
+  { 0x00105A, 0x00109F },                                       /* 105A-109F */
+  { 0x0010C6, 0x0010CF },                                       /* 10C6-10CF */
+  { 0x0010F9, 0x0010FA },                                       /* 10F9-10FA */
+  { 0x0010FC, 0x0010FF },                                       /* 10FC-10FF */
+  { 0x00115A, 0x00115E },                                       /* 115A-115E */
+  { 0x0011A3, 0x0011A7 },                                       /* 11A3-11A7 */
+  { 0x0011FA, 0x0011FF },                                       /* 11FA-11FF */
+  { 0x001207           },                                            /* 1207 */
+  { 0x001247           },                                            /* 1247 */
+  { 0x001249           },                                            /* 1249 */
+  { 0x00124E, 0x00124F },                                       /* 124E-124F */
+  { 0x001257           },                                            /* 1257 */
+  { 0x001259           },                                            /* 1259 */
+  { 0x00125E, 0x00125F },                                       /* 125E-125F */
+  { 0x001287           },                                            /* 1287 */
+  { 0x001289           },                                            /* 1289 */
+  { 0x00128E, 0x00128F },                                       /* 128E-128F */
+  { 0x0012AF           },                                            /* 12AF */
+  { 0x0012B1           },                                            /* 12B1 */
+  { 0x0012B6, 0x0012B7 },                                       /* 12B6-12B7 */
+  { 0x0012BF           },                                            /* 12BF */
+  { 0x0012C1           },                                            /* 12C1 */
+  { 0x0012C6, 0x0012C7 },                                       /* 12C6-12C7 */
+  { 0x0012CF           },                                            /* 12CF */
+  { 0x0012D7           },                                            /* 12D7 */
+  { 0x0012EF           },                                            /* 12EF */
+  { 0x00130F           },                                            /* 130F */
+  { 0x001311           },                                            /* 1311 */
+  { 0x001316, 0x001317 },                                       /* 1316-1317 */
+  { 0x00131F           },                                            /* 131F */
+  { 0x001347           },                                            /* 1347 */
+  { 0x00135B, 0x001360 },                                       /* 135B-1360 */
+  { 0x00137D, 0x00139F },                                       /* 137D-139F */
+  { 0x0013F5, 0x001400 },                                       /* 13F5-1400 */
+  { 0x001677, 0x00167F },                                       /* 1677-167F */
+  { 0x00169D, 0x00169F },                                       /* 169D-169F */
+  { 0x0016F1, 0x0016FF },                                       /* 16F1-16FF */
+  { 0x00170D           },                                            /* 170D */
+  { 0x001715, 0x00171F },                                       /* 1715-171F */
+  { 0x001737, 0x00173F },                                       /* 1737-173F */
+  { 0x001754, 0x00175F },                                       /* 1754-175F */
+  { 0x00176D           },                                            /* 176D */
+  { 0x001771           },                                            /* 1771 */
+  { 0x001774, 0x00177F },                                       /* 1774-177F */
+  { 0x0017DD, 0x0017DF },                                       /* 17DD-17DF */
+  { 0x0017EA, 0x0017FF },                                       /* 17EA-17FF */
+  { 0x00180F           },                                            /* 180F */
+  { 0x00181A, 0x00181F },                                       /* 181A-181F */
+  { 0x001878, 0x00187F },                                       /* 1878-187F */
+  { 0x0018AA, 0x001DFF },                                       /* 18AA-1DFF */
+  { 0x001E9C, 0x001E9F },                                       /* 1E9C-1E9F */
+  { 0x001EFA, 0x001EFF },                                       /* 1EFA-1EFF */
+  { 0x001F16, 0x001F17 },                                       /* 1F16-1F17 */
+  { 0x001F1E, 0x001F1F },                                       /* 1F1E-1F1F */
+  { 0x001F46, 0x001F47 },                                       /* 1F46-1F47 */
+  { 0x001F4E, 0x001F4F },                                       /* 1F4E-1F4F */
+  { 0x001F58           },                                            /* 1F58 */
+  { 0x001F5A           },                                            /* 1F5A */
+  { 0x001F5C           },                                            /* 1F5C */
+  { 0x001F5E           },                                            /* 1F5E */
+  { 0x001F7E, 0x001F7F },                                       /* 1F7E-1F7F */
+  { 0x001FB5           },                                            /* 1FB5 */
+  { 0x001FC5           },                                            /* 1FC5 */
+  { 0x001FD4, 0x001FD5 },                                       /* 1FD4-1FD5 */
+  { 0x001FDC           },                                            /* 1FDC */
+  { 0x001FF0, 0x001FF1 },                                       /* 1FF0-1FF1 */
+  { 0x001FF5           },                                            /* 1FF5 */
+  { 0x001FFF           },                                            /* 1FFF */
+  { 0x002053, 0x002056 },                                       /* 2053-2056 */
+  { 0x002058, 0x00205E },                                       /* 2058-205E */
+  { 0x002064, 0x002069 },                                       /* 2064-2069 */
+  { 0x002072, 0x002073 },                                       /* 2072-2073 */
+  { 0x00208F, 0x00209F },                                       /* 208F-209F */
+  { 0x0020B2, 0x0020CF },                                       /* 20B2-20CF */
+  { 0x0020EB, 0x0020FF },                                       /* 20EB-20FF */
+  { 0x00213B, 0x00213C },                                       /* 213B-213C */
+  { 0x00214C, 0x002152 },                                       /* 214C-2152 */
+  { 0x002184, 0x00218F },                                       /* 2184-218F */
+  { 0x0023CF, 0x0023FF },                                       /* 23CF-23FF */
+  { 0x002427, 0x00243F },                                       /* 2427-243F */
+  { 0x00244B, 0x00245F },                                       /* 244B-245F */
+  { 0x0024FF           },                                            /* 24FF */
+  { 0x002614, 0x002615 },                                       /* 2614-2615 */
+  { 0x002618           },                                            /* 2618 */
+  { 0x00267E, 0x00267F },                                       /* 267E-267F */
+  { 0x00268A, 0x002700 },                                       /* 268A-2700 */
+  { 0x002705           },                                            /* 2705 */
+  { 0x00270A, 0x00270B },                                       /* 270A-270B */
+  { 0x002728           },                                            /* 2728 */
+  { 0x00274C           },                                            /* 274C */
+  { 0x00274E           },                                            /* 274E */
+  { 0x002753, 0x002755 },                                       /* 2753-2755 */
+  { 0x002757           },                                            /* 2757 */
+  { 0x00275F, 0x002760 },                                       /* 275F-2760 */
+  { 0x002795, 0x002797 },                                       /* 2795-2797 */
+  { 0x0027B0           },                                            /* 27B0 */
+  { 0x0027BF, 0x0027CF },                                       /* 27BF-27CF */
+  { 0x0027EC, 0x0027EF },                                       /* 27EC-27EF */
+  { 0x002B00, 0x002E7F },                                       /* 2B00-2E7F */
+  { 0x002E9A           },                                            /* 2E9A */
+  { 0x002EF4, 0x002EFF },                                       /* 2EF4-2EFF */
+  { 0x002FD6, 0x002FEF },                                       /* 2FD6-2FEF */
+  { 0x002FFC, 0x002FFF },                                       /* 2FFC-2FFF */
+  { 0x003040           },                                            /* 3040 */
+  { 0x003097, 0x003098 },                                       /* 3097-3098 */
+  { 0x003100, 0x003104 },                                       /* 3100-3104 */
+  { 0x00312D, 0x003130 },                                       /* 312D-3130 */
+  { 0x00318F           },                                            /* 318F */
+  { 0x0031B8, 0x0031EF },                                       /* 31B8-31EF */
+  { 0x00321D, 0x00321F },                                       /* 321D-321F */
+  { 0x003244, 0x003250 },                                       /* 3244-3250 */
+  { 0x00327C, 0x00327E },                                       /* 327C-327E */
+  { 0x0032CC, 0x0032CF },                                       /* 32CC-32CF */
+  { 0x0032FF           },                                            /* 32FF */
+  { 0x003377, 0x00337A },                                       /* 3377-337A */
+  { 0x0033DE, 0x0033DF },                                       /* 33DE-33DF */
+  { 0x0033FF           },                                            /* 33FF */
+  { 0x004DB6, 0x004DFF },                                       /* 4DB6-4DFF */
+  { 0x009FA6, 0x009FFF },                                       /* 9FA6-9FFF */
+  { 0x00A48D, 0x00A48F },                                       /* A48D-A48F */
+  { 0x00A4C7, 0x00ABFF },                                       /* A4C7-ABFF */
+  { 0x00D7A4, 0x00D7FF },                                       /* D7A4-D7FF */
+  { 0x00FA2E, 0x00FA2F },                                       /* FA2E-FA2F */
+  { 0x00FA6B, 0x00FAFF },                                       /* FA6B-FAFF */
+  { 0x00FB07, 0x00FB12 },                                       /* FB07-FB12 */
+  { 0x00FB18, 0x00FB1C },                                       /* FB18-FB1C */
+  { 0x00FB37           },                                            /* FB37 */
+  { 0x00FB3D           },                                            /* FB3D */
+  { 0x00FB3F           },                                            /* FB3F */
+  { 0x00FB42           },                                            /* FB42 */
+  { 0x00FB45           },                                            /* FB45 */
+  { 0x00FBB2, 0x00FBD2 },                                       /* FBB2-FBD2 */
+  { 0x00FD40, 0x00FD4F },                                       /* FD40-FD4F */
+  { 0x00FD90, 0x00FD91 },                                       /* FD90-FD91 */
+  { 0x00FDC8, 0x00FDCF },                                       /* FDC8-FDCF */
+  { 0x00FDFD, 0x00FDFF },                                       /* FDFD-FDFF */
+  { 0x00FE10, 0x00FE1F },                                       /* FE10-FE1F */
+  { 0x00FE24, 0x00FE2F },                                       /* FE24-FE2F */
+  { 0x00FE47, 0x00FE48 },                                       /* FE47-FE48 */
+  { 0x00FE53           },                                            /* FE53 */
+  { 0x00FE67           },                                            /* FE67 */
+  { 0x00FE6C, 0x00FE6F },                                       /* FE6C-FE6F */
+  { 0x00FE75           },                                            /* FE75 */
+  { 0x00FEFD, 0x00FEFE },                                       /* FEFD-FEFE */
+  { 0x00FF00           },                                            /* FF00 */
+  { 0x00FFBF, 0x00FFC1 },                                       /* FFBF-FFC1 */
+  { 0x00FFC8, 0x00FFC9 },                                       /* FFC8-FFC9 */
+  { 0x00FFD0, 0x00FFD1 },                                       /* FFD0-FFD1 */
+  { 0x00FFD8, 0x00FFD9 },                                       /* FFD8-FFD9 */
+  { 0x00FFDD, 0x00FFDF },                                       /* FFDD-FFDF */
+  { 0x00FFE7           },                                            /* FFE7 */
+  { 0x00FFEF, 0x00FFF8 },                                       /* FFEF-FFF8 */
+  { 0x010000, 0x0102FF },                                     /* 10000-102FF */
+  { 0x01031F           },                                           /* 1031F */
+  { 0x010324, 0x01032F },                                     /* 10324-1032F */
+  { 0x01034B, 0x0103FF },                                     /* 1034B-103FF */
+  { 0x010426, 0x010427 },                                     /* 10426-10427 */
+  { 0x01044E, 0x01CFFF },                                     /* 1044E-1CFFF */
+  { 0x01D0F6, 0x01D0FF },                                     /* 1D0F6-1D0FF */
+  { 0x01D127, 0x01D129 },                                     /* 1D127-1D129 */
+  { 0x01D1DE, 0x01D3FF },                                     /* 1D1DE-1D3FF */
+  { 0x01D455           },                                           /* 1D455 */
+  { 0x01D49D           },                                           /* 1D49D */
+  { 0x01D4A0, 0x01D4A1 },                                     /* 1D4A0-1D4A1 */
+  { 0x01D4A3, 0x01D4A4 },                                     /* 1D4A3-1D4A4 */
+  { 0x01D4A7, 0x01D4A8 },                                     /* 1D4A7-1D4A8 */
+  { 0x01D4AD           },                                           /* 1D4AD */
+  { 0x01D4BA           },                                           /* 1D4BA */
+  { 0x01D4BC           },                                           /* 1D4BC */
+  { 0x01D4C1           },                                           /* 1D4C1 */
+  { 0x01D4C4           },                                           /* 1D4C4 */
+  { 0x01D506           },                                           /* 1D506 */
+  { 0x01D50B, 0x01D50C },                                     /* 1D50B-1D50C */
+  { 0x01D515           },                                           /* 1D515 */
+  { 0x01D51D           },                                           /* 1D51D */
+  { 0x01D53A           },                                           /* 1D53A */
+  { 0x01D53F           },                                           /* 1D53F */
+  { 0x01D545           },                                           /* 1D545 */
+  { 0x01D547, 0x01D549 },                                     /* 1D547-1D549 */
+  { 0x01D551           },                                           /* 1D551 */
+  { 0x01D6A4, 0x01D6A7 },                                     /* 1D6A4-1D6A7 */
+  { 0x01D7CA, 0x01D7CD },                                     /* 1D7CA-1D7CD */
+  { 0x01D800, 0x01FFFD },                                     /* 1D800-1FFFD */
+  { 0x02A6D7, 0x02F7FF },                                     /* 2A6D7-2F7FF */
+  { 0x02FA1E, 0x02FFFD },                                     /* 2FA1E-2FFFD */
+  { 0x030000, 0x03FFFD },                                     /* 30000-3FFFD */
+  { 0x040000, 0x04FFFD },                                     /* 40000-4FFFD */
+  { 0x050000, 0x05FFFD },                                     /* 50000-5FFFD */
+  { 0x060000, 0x06FFFD },                                     /* 60000-6FFFD */
+  { 0x070000, 0x07FFFD },                                     /* 70000-7FFFD */
+  { 0x080000, 0x08FFFD },                                     /* 80000-8FFFD */
+  { 0x090000, 0x09FFFD },                                     /* 90000-9FFFD */
+  { 0x0A0000, 0x0AFFFD },                                     /* A0000-AFFFD */
+  { 0x0B0000, 0x0BFFFD },                                     /* B0000-BFFFD */
+  { 0x0C0000, 0x0CFFFD },                                     /* C0000-CFFFD */
+  { 0x0D0000, 0x0DFFFD },                                     /* D0000-DFFFD */
+  { 0x0E0000           },                                           /* E0000 */
+  { 0x0E0002, 0x0E001F },                                     /* E0002-E001F */
+  { 0x0E0080, 0x0EFFFD },                                     /* E0080-EFFFD */
+  { 0 },
+};
+
+
+/*
+ * B.1 Commonly mapped to nothing
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_B_1[] = {
+  { 0x0000AD           },                          /* 00AD; ; Map to nothing */
+  { 0x00034F           },                          /* 034F; ; Map to nothing */
+  { 0x001806           },                          /* 1806; ; Map to nothing */
+  { 0x00180B           },                          /* 180B; ; Map to nothing */
+  { 0x00180C           },                          /* 180C; ; Map to nothing */
+  { 0x00180D           },                          /* 180D; ; Map to nothing */
+  { 0x00200B           },                          /* 200B; ; Map to nothing */
+  { 0x00200C           },                          /* 200C; ; Map to nothing */
+  { 0x00200D           },                          /* 200D; ; Map to nothing */
+  { 0x002060           },                          /* 2060; ; Map to nothing */
+  { 0x00FE00           },                          /* FE00; ; Map to nothing */
+  { 0x00FE01           },                          /* FE01; ; Map to nothing */
+  { 0x00FE02           },                          /* FE02; ; Map to nothing */
+  { 0x00FE03           },                          /* FE03; ; Map to nothing */
+  { 0x00FE04           },                          /* FE04; ; Map to nothing */
+  { 0x00FE05           },                          /* FE05; ; Map to nothing */
+  { 0x00FE06           },                          /* FE06; ; Map to nothing */
+  { 0x00FE07           },                          /* FE07; ; Map to nothing */
+  { 0x00FE08           },                          /* FE08; ; Map to nothing */
+  { 0x00FE09           },                          /* FE09; ; Map to nothing */
+  { 0x00FE0A           },                          /* FE0A; ; Map to nothing */
+  { 0x00FE0B           },                          /* FE0B; ; Map to nothing */
+  { 0x00FE0C           },                          /* FE0C; ; Map to nothing */
+  { 0x00FE0D           },                          /* FE0D; ; Map to nothing */
+  { 0x00FE0E           },                          /* FE0E; ; Map to nothing */
+  { 0x00FE0F           },                          /* FE0F; ; Map to nothing */
+  { 0x00FEFF           },                          /* FEFF; ; Map to nothing */
+  { 0 },
+};
+
+
+/*
+ * B.2 Mapping for case-folding used with NFKC
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_B_2[] = {
+  { 0x000041, 0, { 0x000061 }},                      /* 0041; 0061; Case map */
+  { 0x000042, 0, { 0x000062 }},                      /* 0042; 0062; Case map */
+  { 0x000043, 0, { 0x000063 }},                      /* 0043; 0063; Case map */
+  { 0x000044, 0, { 0x000064 }},                      /* 0044; 0064; Case map */
+  { 0x000045, 0, { 0x000065 }},                      /* 0045; 0065; Case map */
+  { 0x000046, 0, { 0x000066 }},                      /* 0046; 0066; Case map */
+  { 0x000047, 0, { 0x000067 }},                      /* 0047; 0067; Case map */
+  { 0x000048, 0, { 0x000068 }},                      /* 0048; 0068; Case map */
+  { 0x000049, 0, { 0x000069 }},                      /* 0049; 0069; Case map */
+  { 0x00004A, 0, { 0x00006A }},                      /* 004A; 006A; Case map */
+  { 0x00004B, 0, { 0x00006B }},                      /* 004B; 006B; Case map */
+  { 0x00004C, 0, { 0x00006C }},                      /* 004C; 006C; Case map */
+  { 0x00004D, 0, { 0x00006D }},                      /* 004D; 006D; Case map */
+  { 0x00004E, 0, { 0x00006E }},                      /* 004E; 006E; Case map */
+  { 0x00004F, 0, { 0x00006F }},                      /* 004F; 006F; Case map */
+  { 0x000050, 0, { 0x000070 }},                      /* 0050; 0070; Case map */
+  { 0x000051, 0, { 0x000071 }},                      /* 0051; 0071; Case map */
+  { 0x000052, 0, { 0x000072 }},                      /* 0052; 0072; Case map */
+  { 0x000053, 0, { 0x000073 }},                      /* 0053; 0073; Case map */
+  { 0x000054, 0, { 0x000074 }},                      /* 0054; 0074; Case map */
+  { 0x000055, 0, { 0x000075 }},                      /* 0055; 0075; Case map */
+  { 0x000056, 0, { 0x000076 }},                      /* 0056; 0076; Case map */
+  { 0x000057, 0, { 0x000077 }},                      /* 0057; 0077; Case map */
+  { 0x000058, 0, { 0x000078 }},                      /* 0058; 0078; Case map */
+  { 0x000059, 0, { 0x000079 }},                      /* 0059; 0079; Case map */
+  { 0x00005A, 0, { 0x00007A }},                      /* 005A; 007A; Case map */
+  { 0x0000B5, 0, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
+  { 0x0000C0, 0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
+  { 0x0000C1, 0, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
+  { 0x0000C2, 0, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
+  { 0x0000C3, 0, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
+  { 0x0000C4, 0, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
+  { 0x0000C5, 0, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
+  { 0x0000C6, 0, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
+  { 0x0000C7, 0, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
+  { 0x0000C8, 0, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
+  { 0x0000C9, 0, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
+  { 0x0000CA, 0, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
+  { 0x0000CB, 0, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
+  { 0x0000CC, 0, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
+  { 0x0000CD, 0, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
+  { 0x0000CE, 0, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
+  { 0x0000CF, 0, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
+  { 0x0000D0, 0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
+  { 0x0000D1, 0, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
+  { 0x0000D2, 0, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
+  { 0x0000D3, 0, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
+  { 0x0000D4, 0, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
+  { 0x0000D5, 0, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
+  { 0x0000D6, 0, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
+  { 0x0000D8, 0, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
+  { 0x0000D9, 0, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
+  { 0x0000DA, 0, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
+  { 0x0000DB, 0, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
+  { 0x0000DC, 0, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
+  { 0x0000DD, 0, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
+  { 0x0000DE, 0, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
+  { 0x0000DF, 0, { 0x000073,                    /* 00DF; 0073 0073; Case map */
+                   0x000073 }},
+  { 0x000100, 0, { 0x000101 }},                      /* 0100; 0101; Case map */
+  { 0x000102, 0, { 0x000103 }},                      /* 0102; 0103; Case map */
+  { 0x000104, 0, { 0x000105 }},                      /* 0104; 0105; Case map */
+  { 0x000106, 0, { 0x000107 }},                      /* 0106; 0107; Case map */
+  { 0x000108, 0, { 0x000109 }},                      /* 0108; 0109; Case map */
+  { 0x00010A, 0, { 0x00010B }},                      /* 010A; 010B; Case map */
+  { 0x00010C, 0, { 0x00010D }},                      /* 010C; 010D; Case map */
+  { 0x00010E, 0, { 0x00010F }},                      /* 010E; 010F; Case map */
+  { 0x000110, 0, { 0x000111 }},                      /* 0110; 0111; Case map */
+  { 0x000112, 0, { 0x000113 }},                      /* 0112; 0113; Case map */
+  { 0x000114, 0, { 0x000115 }},                      /* 0114; 0115; Case map */
+  { 0x000116, 0, { 0x000117 }},                      /* 0116; 0117; Case map */
+  { 0x000118, 0, { 0x000119 }},                      /* 0118; 0119; Case map */
+  { 0x00011A, 0, { 0x00011B }},                      /* 011A; 011B; Case map */
+  { 0x00011C, 0, { 0x00011D }},                      /* 011C; 011D; Case map */
+  { 0x00011E, 0, { 0x00011F }},                      /* 011E; 011F; Case map */
+  { 0x000120, 0, { 0x000121 }},                      /* 0120; 0121; Case map */
+  { 0x000122, 0, { 0x000123 }},                      /* 0122; 0123; Case map */
+  { 0x000124, 0, { 0x000125 }},                      /* 0124; 0125; Case map */
+  { 0x000126, 0, { 0x000127 }},                      /* 0126; 0127; Case map */
+  { 0x000128, 0, { 0x000129 }},                      /* 0128; 0129; Case map */
+  { 0x00012A, 0, { 0x00012B }},                      /* 012A; 012B; Case map */
+  { 0x00012C, 0, { 0x00012D }},                      /* 012C; 012D; Case map */
+  { 0x00012E, 0, { 0x00012F }},                      /* 012E; 012F; Case map */
+  { 0x000130, 0, { 0x000069,                    /* 0130; 0069 0307; Case map */
+                   0x000307 }},
+  { 0x000132, 0, { 0x000133 }},                      /* 0132; 0133; Case map */
+  { 0x000134, 0, { 0x000135 }},                      /* 0134; 0135; Case map */
+  { 0x000136, 0, { 0x000137 }},                      /* 0136; 0137; Case map */
+  { 0x000139, 0, { 0x00013A }},                      /* 0139; 013A; Case map */
+  { 0x00013B, 0, { 0x00013C }},                      /* 013B; 013C; Case map */
+  { 0x00013D, 0, { 0x00013E }},                      /* 013D; 013E; Case map */
+  { 0x00013F, 0, { 0x000140 }},                      /* 013F; 0140; Case map */
+  { 0x000141, 0, { 0x000142 }},                      /* 0141; 0142; Case map */
+  { 0x000143, 0, { 0x000144 }},                      /* 0143; 0144; Case map */
+  { 0x000145, 0, { 0x000146 }},                      /* 0145; 0146; Case map */
+  { 0x000147, 0, { 0x000148 }},                      /* 0147; 0148; Case map */
+  { 0x000149, 0, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
+                   0x00006E }},
+  { 0x00014A, 0, { 0x00014B }},                      /* 014A; 014B; Case map */
+  { 0x00014C, 0, { 0x00014D }},                      /* 014C; 014D; Case map */
+  { 0x00014E, 0, { 0x00014F }},                      /* 014E; 014F; Case map */
+  { 0x000150, 0, { 0x000151 }},                      /* 0150; 0151; Case map */
+  { 0x000152, 0, { 0x000153 }},                      /* 0152; 0153; Case map */
+  { 0x000154, 0, { 0x000155 }},                      /* 0154; 0155; Case map */
+  { 0x000156, 0, { 0x000157 }},                      /* 0156; 0157; Case map */
+  { 0x000158, 0, { 0x000159 }},                      /* 0158; 0159; Case map */
+  { 0x00015A, 0, { 0x00015B }},                      /* 015A; 015B; Case map */
+  { 0x00015C, 0, { 0x00015D }},                      /* 015C; 015D; Case map */
+  { 0x00015E, 0, { 0x00015F }},                      /* 015E; 015F; Case map */
+  { 0x000160, 0, { 0x000161 }},                      /* 0160; 0161; Case map */
+  { 0x000162, 0, { 0x000163 }},                      /* 0162; 0163; Case map */
+  { 0x000164, 0, { 0x000165 }},                      /* 0164; 0165; Case map */
+  { 0x000166, 0, { 0x000167 }},                      /* 0166; 0167; Case map */
+  { 0x000168, 0, { 0x000169 }},                      /* 0168; 0169; Case map */
+  { 0x00016A, 0, { 0x00016B }},                      /* 016A; 016B; Case map */
+  { 0x00016C, 0, { 0x00016D }},                      /* 016C; 016D; Case map */
+  { 0x00016E, 0, { 0x00016F }},                      /* 016E; 016F; Case map */
+  { 0x000170, 0, { 0x000171 }},                      /* 0170; 0171; Case map */
+  { 0x000172, 0, { 0x000173 }},                      /* 0172; 0173; Case map */
+  { 0x000174, 0, { 0x000175 }},                      /* 0174; 0175; Case map */
+  { 0x000176, 0, { 0x000177 }},                      /* 0176; 0177; Case map */
+  { 0x000178, 0, { 0x0000FF }},                      /* 0178; 00FF; Case map */
+  { 0x000179, 0, { 0x00017A }},                      /* 0179; 017A; Case map */
+  { 0x00017B, 0, { 0x00017C }},                      /* 017B; 017C; Case map */
+  { 0x00017D, 0, { 0x00017E }},                      /* 017D; 017E; Case map */
+  { 0x00017F, 0, { 0x000073 }},                      /* 017F; 0073; Case map */
+  { 0x000181, 0, { 0x000253 }},                      /* 0181; 0253; Case map */
+  { 0x000182, 0, { 0x000183 }},                      /* 0182; 0183; Case map */
+  { 0x000184, 0, { 0x000185 }},                      /* 0184; 0185; Case map */
+  { 0x000186, 0, { 0x000254 }},                      /* 0186; 0254; Case map */
+  { 0x000187, 0, { 0x000188 }},                      /* 0187; 0188; Case map */
+  { 0x000189, 0, { 0x000256 }},                      /* 0189; 0256; Case map */
+  { 0x00018A, 0, { 0x000257 }},                      /* 018A; 0257; Case map */
+  { 0x00018B, 0, { 0x00018C }},                      /* 018B; 018C; Case map */
+  { 0x00018E, 0, { 0x0001DD }},                      /* 018E; 01DD; Case map */
+  { 0x00018F, 0, { 0x000259 }},                      /* 018F; 0259; Case map */
+  { 0x000190, 0, { 0x00025B }},                      /* 0190; 025B; Case map */
+  { 0x000191, 0, { 0x000192 }},                      /* 0191; 0192; Case map */
+  { 0x000193, 0, { 0x000260 }},                      /* 0193; 0260; Case map */
+  { 0x000194, 0, { 0x000263 }},                      /* 0194; 0263; Case map */
+  { 0x000196, 0, { 0x000269 }},                      /* 0196; 0269; Case map */
+  { 0x000197, 0, { 0x000268 }},                      /* 0197; 0268; Case map */
+  { 0x000198, 0, { 0x000199 }},                      /* 0198; 0199; Case map */
+  { 0x00019C, 0, { 0x00026F }},                      /* 019C; 026F; Case map */
+  { 0x00019D, 0, { 0x000272 }},                      /* 019D; 0272; Case map */
+  { 0x00019F, 0, { 0x000275 }},                      /* 019F; 0275; Case map */
+  { 0x0001A0, 0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
+  { 0x0001A2, 0, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
+  { 0x0001A4, 0, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
+  { 0x0001A6, 0, { 0x000280 }},                      /* 01A6; 0280; Case map */
+  { 0x0001A7, 0, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
+  { 0x0001A9, 0, { 0x000283 }},                      /* 01A9; 0283; Case map */
+  { 0x0001AC, 0, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
+  { 0x0001AE, 0, { 0x000288 }},                      /* 01AE; 0288; Case map */
+  { 0x0001AF, 0, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
+  { 0x0001B1, 0, { 0x00028A }},                      /* 01B1; 028A; Case map */
+  { 0x0001B2, 0, { 0x00028B }},                      /* 01B2; 028B; Case map */
+  { 0x0001B3, 0, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
+  { 0x0001B5, 0, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
+  { 0x0001B7, 0, { 0x000292 }},                      /* 01B7; 0292; Case map */
+  { 0x0001B8, 0, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
+  { 0x0001BC, 0, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
+  { 0x0001C4, 0, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
+  { 0x0001C5, 0, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
+  { 0x0001C7, 0, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
+  { 0x0001C8, 0, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
+  { 0x0001CA, 0, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
+  { 0x0001CB, 0, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
+  { 0x0001CD, 0, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
+  { 0x0001CF, 0, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
+  { 0x0001D1, 0, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
+  { 0x0001D3, 0, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
+  { 0x0001D5, 0, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
+  { 0x0001D7, 0, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
+  { 0x0001D9, 0, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
+  { 0x0001DB, 0, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
+  { 0x0001DE, 0, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
+  { 0x0001E0, 0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
+  { 0x0001E2, 0, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
+  { 0x0001E4, 0, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
+  { 0x0001E6, 0, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
+  { 0x0001E8, 0, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
+  { 0x0001EA, 0, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
+  { 0x0001EC, 0, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
+  { 0x0001EE, 0, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
+  { 0x0001F0, 0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
+                   0x00030C }},
+  { 0x0001F1, 0, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
+  { 0x0001F2, 0, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
+  { 0x0001F4, 0, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
+  { 0x0001F6, 0, { 0x000195 }},                      /* 01F6; 0195; Case map */
+  { 0x0001F7, 0, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
+  { 0x0001F8, 0, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
+  { 0x0001FA, 0, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
+  { 0x0001FC, 0, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
+  { 0x0001FE, 0, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
+  { 0x000200, 0, { 0x000201 }},                      /* 0200; 0201; Case map */
+  { 0x000202, 0, { 0x000203 }},                      /* 0202; 0203; Case map */
+  { 0x000204, 0, { 0x000205 }},                      /* 0204; 0205; Case map */
+  { 0x000206, 0, { 0x000207 }},                      /* 0206; 0207; Case map */
+  { 0x000208, 0, { 0x000209 }},                      /* 0208; 0209; Case map */
+  { 0x00020A, 0, { 0x00020B }},                      /* 020A; 020B; Case map */
+  { 0x00020C, 0, { 0x00020D }},                      /* 020C; 020D; Case map */
+  { 0x00020E, 0, { 0x00020F }},                      /* 020E; 020F; Case map */
+  { 0x000210, 0, { 0x000211 }},                      /* 0210; 0211; Case map */
+  { 0x000212, 0, { 0x000213 }},                      /* 0212; 0213; Case map */
+  { 0x000214, 0, { 0x000215 }},                      /* 0214; 0215; Case map */
+  { 0x000216, 0, { 0x000217 }},                      /* 0216; 0217; Case map */
+  { 0x000218, 0, { 0x000219 }},                      /* 0218; 0219; Case map */
+  { 0x00021A, 0, { 0x00021B }},                      /* 021A; 021B; Case map */
+  { 0x00021C, 0, { 0x00021D }},                      /* 021C; 021D; Case map */
+  { 0x00021E, 0, { 0x00021F }},                      /* 021E; 021F; Case map */
+  { 0x000220, 0, { 0x00019E }},                      /* 0220; 019E; Case map */
+  { 0x000222, 0, { 0x000223 }},                      /* 0222; 0223; Case map */
+  { 0x000224, 0, { 0x000225 }},                      /* 0224; 0225; Case map */
+  { 0x000226, 0, { 0x000227 }},                      /* 0226; 0227; Case map */
+  { 0x000228, 0, { 0x000229 }},                      /* 0228; 0229; Case map */
+  { 0x00022A, 0, { 0x00022B }},                      /* 022A; 022B; Case map */
+  { 0x00022C, 0, { 0x00022D }},                      /* 022C; 022D; Case map */
+  { 0x00022E, 0, { 0x00022F }},                      /* 022E; 022F; Case map */
+  { 0x000230, 0, { 0x000231 }},                      /* 0230; 0231; Case map */
+  { 0x000232, 0, { 0x000233 }},                      /* 0232; 0233; Case map */
+  { 0x000345, 0, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
+  { 0x00037A, 0, { 0x000020,          /* 037A; 0020 03B9; Additional folding */
+                   0x0003B9 }},
+  { 0x000386, 0, { 0x0003AC }},                      /* 0386; 03AC; Case map */
+  { 0x000388, 0, { 0x0003AD }},                      /* 0388; 03AD; Case map */
+  { 0x000389, 0, { 0x0003AE }},                      /* 0389; 03AE; Case map */
+  { 0x00038A, 0, { 0x0003AF }},                      /* 038A; 03AF; Case map */
+  { 0x00038C, 0, { 0x0003CC }},                      /* 038C; 03CC; Case map */
+  { 0x00038E, 0, { 0x0003CD }},                      /* 038E; 03CD; Case map */
+  { 0x00038F, 0, { 0x0003CE }},                      /* 038F; 03CE; Case map */
+  { 0x000390, 0, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x000391, 0, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
+  { 0x000392, 0, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
+  { 0x000393, 0, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
+  { 0x000394, 0, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
+  { 0x000395, 0, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
+  { 0x000396, 0, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
+  { 0x000397, 0, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
+  { 0x000398, 0, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
+  { 0x000399, 0, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
+  { 0x00039A, 0, { 0x0003BA }},                      /* 039A; 03BA; Case map */
+  { 0x00039B, 0, { 0x0003BB }},                      /* 039B; 03BB; Case map */
+  { 0x00039C, 0, { 0x0003BC }},                      /* 039C; 03BC; Case map */
+  { 0x00039D, 0, { 0x0003BD }},                      /* 039D; 03BD; Case map */
+  { 0x00039E, 0, { 0x0003BE }},                      /* 039E; 03BE; Case map */
+  { 0x00039F, 0, { 0x0003BF }},                      /* 039F; 03BF; Case map */
+  { 0x0003A0, 0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
+  { 0x0003A1, 0, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
+  { 0x0003A3, 0, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
+  { 0x0003A4, 0, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
+  { 0x0003A5, 0, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
+  { 0x0003A6, 0, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
+  { 0x0003A7, 0, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
+  { 0x0003A8, 0, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
+  { 0x0003A9, 0, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
+  { 0x0003AA, 0, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
+  { 0x0003AB, 0, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
+  { 0x0003B0, 0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x0003C2, 0, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
+  { 0x0003D0, 0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
+  { 0x0003D1, 0, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
+  { 0x0003D2, 0, { 0x0003C5 }},            /* 03D2; 03C5; Additional folding */
+  { 0x0003D3, 0, { 0x0003CD }},            /* 03D3; 03CD; Additional folding */
+  { 0x0003D4, 0, { 0x0003CB }},            /* 03D4; 03CB; Additional folding */
+  { 0x0003D5, 0, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
+  { 0x0003D6, 0, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
+  { 0x0003D8, 0, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
+  { 0x0003DA, 0, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
+  { 0x0003DC, 0, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
+  { 0x0003DE, 0, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
+  { 0x0003E0, 0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
+  { 0x0003E2, 0, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
+  { 0x0003E4, 0, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
+  { 0x0003E6, 0, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
+  { 0x0003E8, 0, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
+  { 0x0003EA, 0, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
+  { 0x0003EC, 0, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
+  { 0x0003EE, 0, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
+  { 0x0003F0, 0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
+  { 0x0003F1, 0, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
+  { 0x0003F2, 0, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
+  { 0x0003F4, 0, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
+  { 0x0003F5, 0, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
+  { 0x000400, 0, { 0x000450 }},                      /* 0400; 0450; Case map */
+  { 0x000401, 0, { 0x000451 }},                      /* 0401; 0451; Case map */
+  { 0x000402, 0, { 0x000452 }},                      /* 0402; 0452; Case map */
+  { 0x000403, 0, { 0x000453 }},                      /* 0403; 0453; Case map */
+  { 0x000404, 0, { 0x000454 }},                      /* 0404; 0454; Case map */
+  { 0x000405, 0, { 0x000455 }},                      /* 0405; 0455; Case map */
+  { 0x000406, 0, { 0x000456 }},                      /* 0406; 0456; Case map */
+  { 0x000407, 0, { 0x000457 }},                      /* 0407; 0457; Case map */
+  { 0x000408, 0, { 0x000458 }},                      /* 0408; 0458; Case map */
+  { 0x000409, 0, { 0x000459 }},                      /* 0409; 0459; Case map */
+  { 0x00040A, 0, { 0x00045A }},                      /* 040A; 045A; Case map */
+  { 0x00040B, 0, { 0x00045B }},                      /* 040B; 045B; Case map */
+  { 0x00040C, 0, { 0x00045C }},                      /* 040C; 045C; Case map */
+  { 0x00040D, 0, { 0x00045D }},                      /* 040D; 045D; Case map */
+  { 0x00040E, 0, { 0x00045E }},                      /* 040E; 045E; Case map */
+  { 0x00040F, 0, { 0x00045F }},                      /* 040F; 045F; Case map */
+  { 0x000410, 0, { 0x000430 }},                      /* 0410; 0430; Case map */
+  { 0x000411, 0, { 0x000431 }},                      /* 0411; 0431; Case map */
+  { 0x000412, 0, { 0x000432 }},                      /* 0412; 0432; Case map */
+  { 0x000413, 0, { 0x000433 }},                      /* 0413; 0433; Case map */
+  { 0x000414, 0, { 0x000434 }},                      /* 0414; 0434; Case map */
+  { 0x000415, 0, { 0x000435 }},                      /* 0415; 0435; Case map */
+  { 0x000416, 0, { 0x000436 }},                      /* 0416; 0436; Case map */
+  { 0x000417, 0, { 0x000437 }},                      /* 0417; 0437; Case map */
+  { 0x000418, 0, { 0x000438 }},                      /* 0418; 0438; Case map */
+  { 0x000419, 0, { 0x000439 }},                      /* 0419; 0439; Case map */
+  { 0x00041A, 0, { 0x00043A }},                      /* 041A; 043A; Case map */
+  { 0x00041B, 0, { 0x00043B }},                      /* 041B; 043B; Case map */
+  { 0x00041C, 0, { 0x00043C }},                      /* 041C; 043C; Case map */
+  { 0x00041D, 0, { 0x00043D }},                      /* 041D; 043D; Case map */
+  { 0x00041E, 0, { 0x00043E }},                      /* 041E; 043E; Case map */
+  { 0x00041F, 0, { 0x00043F }},                      /* 041F; 043F; Case map */
+  { 0x000420, 0, { 0x000440 }},                      /* 0420; 0440; Case map */
+  { 0x000421, 0, { 0x000441 }},                      /* 0421; 0441; Case map */
+  { 0x000422, 0, { 0x000442 }},                      /* 0422; 0442; Case map */
+  { 0x000423, 0, { 0x000443 }},                      /* 0423; 0443; Case map */
+  { 0x000424, 0, { 0x000444 }},                      /* 0424; 0444; Case map */
+  { 0x000425, 0, { 0x000445 }},                      /* 0425; 0445; Case map */
+  { 0x000426, 0, { 0x000446 }},                      /* 0426; 0446; Case map */
+  { 0x000427, 0, { 0x000447 }},                      /* 0427; 0447; Case map */
+  { 0x000428, 0, { 0x000448 }},                      /* 0428; 0448; Case map */
+  { 0x000429, 0, { 0x000449 }},                      /* 0429; 0449; Case map */
+  { 0x00042A, 0, { 0x00044A }},                      /* 042A; 044A; Case map */
+  { 0x00042B, 0, { 0x00044B }},                      /* 042B; 044B; Case map */
+  { 0x00042C, 0, { 0x00044C }},                      /* 042C; 044C; Case map */
+  { 0x00042D, 0, { 0x00044D }},                      /* 042D; 044D; Case map */
+  { 0x00042E, 0, { 0x00044E }},                      /* 042E; 044E; Case map */
+  { 0x00042F, 0, { 0x00044F }},                      /* 042F; 044F; Case map */
+  { 0x000460, 0, { 0x000461 }},                      /* 0460; 0461; Case map */
+  { 0x000462, 0, { 0x000463 }},                      /* 0462; 0463; Case map */
+  { 0x000464, 0, { 0x000465 }},                      /* 0464; 0465; Case map */
+  { 0x000466, 0, { 0x000467 }},                      /* 0466; 0467; Case map */
+  { 0x000468, 0, { 0x000469 }},                      /* 0468; 0469; Case map */
+  { 0x00046A, 0, { 0x00046B }},                      /* 046A; 046B; Case map */
+  { 0x00046C, 0, { 0x00046D }},                      /* 046C; 046D; Case map */
+  { 0x00046E, 0, { 0x00046F }},                      /* 046E; 046F; Case map */
+  { 0x000470, 0, { 0x000471 }},                      /* 0470; 0471; Case map */
+  { 0x000472, 0, { 0x000473 }},                      /* 0472; 0473; Case map */
+  { 0x000474, 0, { 0x000475 }},                      /* 0474; 0475; Case map */
+  { 0x000476, 0, { 0x000477 }},                      /* 0476; 0477; Case map */
+  { 0x000478, 0, { 0x000479 }},                      /* 0478; 0479; Case map */
+  { 0x00047A, 0, { 0x00047B }},                      /* 047A; 047B; Case map */
+  { 0x00047C, 0, { 0x00047D }},                      /* 047C; 047D; Case map */
+  { 0x00047E, 0, { 0x00047F }},                      /* 047E; 047F; Case map */
+  { 0x000480, 0, { 0x000481 }},                      /* 0480; 0481; Case map */
+  { 0x00048A, 0, { 0x00048B }},                      /* 048A; 048B; Case map */
+  { 0x00048C, 0, { 0x00048D }},                      /* 048C; 048D; Case map */
+  { 0x00048E, 0, { 0x00048F }},                      /* 048E; 048F; Case map */
+  { 0x000490, 0, { 0x000491 }},                      /* 0490; 0491; Case map */
+  { 0x000492, 0, { 0x000493 }},                      /* 0492; 0493; Case map */
+  { 0x000494, 0, { 0x000495 }},                      /* 0494; 0495; Case map */
+  { 0x000496, 0, { 0x000497 }},                      /* 0496; 0497; Case map */
+  { 0x000498, 0, { 0x000499 }},                      /* 0498; 0499; Case map */
+  { 0x00049A, 0, { 0x00049B }},                      /* 049A; 049B; Case map */
+  { 0x00049C, 0, { 0x00049D }},                      /* 049C; 049D; Case map */
+  { 0x00049E, 0, { 0x00049F }},                      /* 049E; 049F; Case map */
+  { 0x0004A0, 0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
+  { 0x0004A2, 0, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
+  { 0x0004A4, 0, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
+  { 0x0004A6, 0, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
+  { 0x0004A8, 0, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
+  { 0x0004AA, 0, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
+  { 0x0004AC, 0, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
+  { 0x0004AE, 0, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
+  { 0x0004B0, 0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
+  { 0x0004B2, 0, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
+  { 0x0004B4, 0, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
+  { 0x0004B6, 0, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
+  { 0x0004B8, 0, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
+  { 0x0004BA, 0, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
+  { 0x0004BC, 0, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
+  { 0x0004BE, 0, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
+  { 0x0004C1, 0, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
+  { 0x0004C3, 0, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
+  { 0x0004C5, 0, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
+  { 0x0004C7, 0, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
+  { 0x0004C9, 0, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
+  { 0x0004CB, 0, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
+  { 0x0004CD, 0, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
+  { 0x0004D0, 0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
+  { 0x0004D2, 0, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
+  { 0x0004D4, 0, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
+  { 0x0004D6, 0, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
+  { 0x0004D8, 0, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
+  { 0x0004DA, 0, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
+  { 0x0004DC, 0, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
+  { 0x0004DE, 0, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
+  { 0x0004E0, 0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
+  { 0x0004E2, 0, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
+  { 0x0004E4, 0, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
+  { 0x0004E6, 0, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
+  { 0x0004E8, 0, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
+  { 0x0004EA, 0, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
+  { 0x0004EC, 0, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
+  { 0x0004EE, 0, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
+  { 0x0004F0, 0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
+  { 0x0004F2, 0, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
+  { 0x0004F4, 0, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
+  { 0x0004F8, 0, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
+  { 0x000500, 0, { 0x000501 }},                      /* 0500; 0501; Case map */
+  { 0x000502, 0, { 0x000503 }},                      /* 0502; 0503; Case map */
+  { 0x000504, 0, { 0x000505 }},                      /* 0504; 0505; Case map */
+  { 0x000506, 0, { 0x000507 }},                      /* 0506; 0507; Case map */
+  { 0x000508, 0, { 0x000509 }},                      /* 0508; 0509; Case map */
+  { 0x00050A, 0, { 0x00050B }},                      /* 050A; 050B; Case map */
+  { 0x00050C, 0, { 0x00050D }},                      /* 050C; 050D; Case map */
+  { 0x00050E, 0, { 0x00050F }},                      /* 050E; 050F; Case map */
+  { 0x000531, 0, { 0x000561 }},                      /* 0531; 0561; Case map */
+  { 0x000532, 0, { 0x000562 }},                      /* 0532; 0562; Case map */
+  { 0x000533, 0, { 0x000563 }},                      /* 0533; 0563; Case map */
+  { 0x000534, 0, { 0x000564 }},                      /* 0534; 0564; Case map */
+  { 0x000535, 0, { 0x000565 }},                      /* 0535; 0565; Case map */
+  { 0x000536, 0, { 0x000566 }},                      /* 0536; 0566; Case map */
+  { 0x000537, 0, { 0x000567 }},                      /* 0537; 0567; Case map */
+  { 0x000538, 0, { 0x000568 }},                      /* 0538; 0568; Case map */
+  { 0x000539, 0, { 0x000569 }},                      /* 0539; 0569; Case map */
+  { 0x00053A, 0, { 0x00056A }},                      /* 053A; 056A; Case map */
+  { 0x00053B, 0, { 0x00056B }},                      /* 053B; 056B; Case map */
+  { 0x00053C, 0, { 0x00056C }},                      /* 053C; 056C; Case map */
+  { 0x00053D, 0, { 0x00056D }},                      /* 053D; 056D; Case map */
+  { 0x00053E, 0, { 0x00056E }},                      /* 053E; 056E; Case map */
+  { 0x00053F, 0, { 0x00056F }},                      /* 053F; 056F; Case map */
+  { 0x000540, 0, { 0x000570 }},                      /* 0540; 0570; Case map */
+  { 0x000541, 0, { 0x000571 }},                      /* 0541; 0571; Case map */
+  { 0x000542, 0, { 0x000572 }},                      /* 0542; 0572; Case map */
+  { 0x000543, 0, { 0x000573 }},                      /* 0543; 0573; Case map */
+  { 0x000544, 0, { 0x000574 }},                      /* 0544; 0574; Case map */
+  { 0x000545, 0, { 0x000575 }},                      /* 0545; 0575; Case map */
+  { 0x000546, 0, { 0x000576 }},                      /* 0546; 0576; Case map */
+  { 0x000547, 0, { 0x000577 }},                      /* 0547; 0577; Case map */
+  { 0x000548, 0, { 0x000578 }},                      /* 0548; 0578; Case map */
+  { 0x000549, 0, { 0x000579 }},                      /* 0549; 0579; Case map */
+  { 0x00054A, 0, { 0x00057A }},                      /* 054A; 057A; Case map */
+  { 0x00054B, 0, { 0x00057B }},                      /* 054B; 057B; Case map */
+  { 0x00054C, 0, { 0x00057C }},                      /* 054C; 057C; Case map */
+  { 0x00054D, 0, { 0x00057D }},                      /* 054D; 057D; Case map */
+  { 0x00054E, 0, { 0x00057E }},                      /* 054E; 057E; Case map */
+  { 0x00054F, 0, { 0x00057F }},                      /* 054F; 057F; Case map */
+  { 0x000550, 0, { 0x000580 }},                      /* 0550; 0580; Case map */
+  { 0x000551, 0, { 0x000581 }},                      /* 0551; 0581; Case map */
+  { 0x000552, 0, { 0x000582 }},                      /* 0552; 0582; Case map */
+  { 0x000553, 0, { 0x000583 }},                      /* 0553; 0583; Case map */
+  { 0x000554, 0, { 0x000584 }},                      /* 0554; 0584; Case map */
+  { 0x000555, 0, { 0x000585 }},                      /* 0555; 0585; Case map */
+  { 0x000556, 0, { 0x000586 }},                      /* 0556; 0586; Case map */
+  { 0x000587, 0, { 0x000565,                    /* 0587; 0565 0582; Case map */
+                   0x000582 }},
+  { 0x001E00, 0, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
+  { 0x001E02, 0, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
+  { 0x001E04, 0, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
+  { 0x001E06, 0, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
+  { 0x001E08, 0, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
+  { 0x001E0A, 0, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
+  { 0x001E0C, 0, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
+  { 0x001E0E, 0, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
+  { 0x001E10, 0, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
+  { 0x001E12, 0, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
+  { 0x001E14, 0, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
+  { 0x001E16, 0, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
+  { 0x001E18, 0, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
+  { 0x001E1A, 0, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
+  { 0x001E1C, 0, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
+  { 0x001E1E, 0, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
+  { 0x001E20, 0, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
+  { 0x001E22, 0, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
+  { 0x001E24, 0, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
+  { 0x001E26, 0, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
+  { 0x001E28, 0, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
+  { 0x001E2A, 0, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
+  { 0x001E2C, 0, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
+  { 0x001E2E, 0, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
+  { 0x001E30, 0, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
+  { 0x001E32, 0, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
+  { 0x001E34, 0, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
+  { 0x001E36, 0, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
+  { 0x001E38, 0, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
+  { 0x001E3A, 0, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
+  { 0x001E3C, 0, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
+  { 0x001E3E, 0, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
+  { 0x001E40, 0, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
+  { 0x001E42, 0, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
+  { 0x001E44, 0, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
+  { 0x001E46, 0, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
+  { 0x001E48, 0, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
+  { 0x001E4A, 0, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
+  { 0x001E4C, 0, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
+  { 0x001E4E, 0, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
+  { 0x001E50, 0, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
+  { 0x001E52, 0, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
+  { 0x001E54, 0, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
+  { 0x001E56, 0, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
+  { 0x001E58, 0, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
+  { 0x001E5A, 0, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
+  { 0x001E5C, 0, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
+  { 0x001E5E, 0, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
+  { 0x001E60, 0, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
+  { 0x001E62, 0, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
+  { 0x001E64, 0, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
+  { 0x001E66, 0, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
+  { 0x001E68, 0, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
+  { 0x001E6A, 0, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
+  { 0x001E6C, 0, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
+  { 0x001E6E, 0, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
+  { 0x001E70, 0, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
+  { 0x001E72, 0, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
+  { 0x001E74, 0, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
+  { 0x001E76, 0, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
+  { 0x001E78, 0, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
+  { 0x001E7A, 0, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
+  { 0x001E7C, 0, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
+  { 0x001E7E, 0, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
+  { 0x001E80, 0, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
+  { 0x001E82, 0, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
+  { 0x001E84, 0, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
+  { 0x001E86, 0, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
+  { 0x001E88, 0, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
+  { 0x001E8A, 0, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
+  { 0x001E8C, 0, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
+  { 0x001E8E, 0, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
+  { 0x001E90, 0, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
+  { 0x001E92, 0, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
+  { 0x001E94, 0, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
+  { 0x001E96, 0, { 0x000068,                    /* 1E96; 0068 0331; Case map */
+                   0x000331 }},
+  { 0x001E97, 0, { 0x000074,                    /* 1E97; 0074 0308; Case map */
+                   0x000308 }},
+  { 0x001E98, 0, { 0x000077,                    /* 1E98; 0077 030A; Case map */
+                   0x00030A }},
+  { 0x001E99, 0, { 0x000079,                    /* 1E99; 0079 030A; Case map */
+                   0x00030A }},
+  { 0x001E9A, 0, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
+                   0x0002BE }},
+  { 0x001E9B, 0, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
+  { 0x001EA0, 0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
+  { 0x001EA2, 0, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
+  { 0x001EA4, 0, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
+  { 0x001EA6, 0, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
+  { 0x001EA8, 0, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
+  { 0x001EAA, 0, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
+  { 0x001EAC, 0, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
+  { 0x001EAE, 0, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
+  { 0x001EB0, 0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
+  { 0x001EB2, 0, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
+  { 0x001EB4, 0, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
+  { 0x001EB6, 0, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
+  { 0x001EB8, 0, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
+  { 0x001EBA, 0, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
+  { 0x001EBC, 0, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
+  { 0x001EBE, 0, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
+  { 0x001EC0, 0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
+  { 0x001EC2, 0, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
+  { 0x001EC4, 0, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
+  { 0x001EC6, 0, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
+  { 0x001EC8, 0, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
+  { 0x001ECA, 0, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
+  { 0x001ECC, 0, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
+  { 0x001ECE, 0, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
+  { 0x001ED0, 0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
+  { 0x001ED2, 0, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
+  { 0x001ED4, 0, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
+  { 0x001ED6, 0, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
+  { 0x001ED8, 0, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
+  { 0x001EDA, 0, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
+  { 0x001EDC, 0, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
+  { 0x001EDE, 0, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
+  { 0x001EE0, 0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
+  { 0x001EE2, 0, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
+  { 0x001EE4, 0, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
+  { 0x001EE6, 0, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
+  { 0x001EE8, 0, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
+  { 0x001EEA, 0, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
+  { 0x001EEC, 0, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
+  { 0x001EEE, 0, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
+  { 0x001EF0, 0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
+  { 0x001EF2, 0, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
+  { 0x001EF4, 0, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
+  { 0x001EF6, 0, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
+  { 0x001EF8, 0, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
+  { 0x001F08, 0, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
+  { 0x001F09, 0, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
+  { 0x001F0A, 0, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
+  { 0x001F0B, 0, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
+  { 0x001F0C, 0, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
+  { 0x001F0D, 0, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
+  { 0x001F0E, 0, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
+  { 0x001F0F, 0, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
+  { 0x001F18, 0, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
+  { 0x001F19, 0, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
+  { 0x001F1A, 0, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
+  { 0x001F1B, 0, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
+  { 0x001F1C, 0, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
+  { 0x001F1D, 0, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
+  { 0x001F28, 0, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
+  { 0x001F29, 0, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
+  { 0x001F2A, 0, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
+  { 0x001F2B, 0, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
+  { 0x001F2C, 0, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
+  { 0x001F2D, 0, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
+  { 0x001F2E, 0, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
+  { 0x001F2F, 0, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
+  { 0x001F38, 0, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
+  { 0x001F39, 0, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
+  { 0x001F3A, 0, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
+  { 0x001F3B, 0, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
+  { 0x001F3C, 0, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
+  { 0x001F3D, 0, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
+  { 0x001F3E, 0, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
+  { 0x001F3F, 0, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
+  { 0x001F48, 0, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
+  { 0x001F49, 0, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
+  { 0x001F4A, 0, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
+  { 0x001F4B, 0, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
+  { 0x001F4C, 0, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
+  { 0x001F4D, 0, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
+  { 0x001F50, 0, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
+                   0x000313 }},
+  { 0x001F52, 0, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
+                   0x000313, 0x000300 }},
+  { 0x001F54, 0, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
+                   0x000313, 0x000301 }},
+  { 0x001F56, 0, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
+                   0x000313, 0x000342 }},
+  { 0x001F59, 0, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
+  { 0x001F5B, 0, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
+  { 0x001F5D, 0, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
+  { 0x001F5F, 0, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
+  { 0x001F68, 0, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
+  { 0x001F69, 0, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
+  { 0x001F6A, 0, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
+  { 0x001F6B, 0, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
+  { 0x001F6C, 0, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
+  { 0x001F6D, 0, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
+  { 0x001F6E, 0, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
+  { 0x001F6F, 0, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
+  { 0x001F80, 0, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F81, 0, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F82, 0, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F83, 0, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F84, 0, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F85, 0, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F86, 0, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F87, 0, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F88, 0, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F89, 0, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8A, 0, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8B, 0, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8C, 0, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8D, 0, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8E, 0, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8F, 0, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F90, 0, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F91, 0, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F92, 0, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F93, 0, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F94, 0, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F95, 0, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F96, 0, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F97, 0, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F98, 0, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F99, 0, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9A, 0, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9B, 0, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9C, 0, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9D, 0, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9E, 0, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9F, 0, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA0, 0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA1, 0, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA2, 0, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA3, 0, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA4, 0, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA5, 0, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA6, 0, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA7, 0, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA8, 0, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA9, 0, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAA, 0, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAB, 0, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAC, 0, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAD, 0, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAE, 0, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAF, 0, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB2, 0, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB3, 0, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB4, 0, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB6, 0, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
+                   0x000342 }},
+  { 0x001FB7, 0, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FB8, 0, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
+  { 0x001FB9, 0, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
+  { 0x001FBA, 0, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
+  { 0x001FBB, 0, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
+  { 0x001FBC, 0, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FBE, 0, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
+  { 0x001FC2, 0, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC3, 0, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC4, 0, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC6, 0, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
+                   0x000342 }},
+  { 0x001FC7, 0, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FC8, 0, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
+  { 0x001FC9, 0, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
+  { 0x001FCA, 0, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
+  { 0x001FCB, 0, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
+  { 0x001FCC, 0, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FD2, 0, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
+                   0x000308, 0x000300 }},
+  { 0x001FD3, 0, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x001FD6, 0, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
+                   0x000342 }},
+  { 0x001FD7, 0, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
+                   0x000308, 0x000342 }},
+  { 0x001FD8, 0, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
+  { 0x001FD9, 0, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
+  { 0x001FDA, 0, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
+  { 0x001FDB, 0, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
+  { 0x001FE2, 0, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
+                   0x000308, 0x000300 }},
+  { 0x001FE3, 0, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x001FE4, 0, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
+                   0x000313 }},
+  { 0x001FE6, 0, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
+                   0x000342 }},
+  { 0x001FE7, 0, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
+                   0x000308, 0x000342 }},
+  { 0x001FE8, 0, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
+  { 0x001FE9, 0, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
+  { 0x001FEA, 0, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
+  { 0x001FEB, 0, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
+  { 0x001FEC, 0, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
+  { 0x001FF2, 0, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF3, 0, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF4, 0, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF6, 0, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
+                   0x000342 }},
+  { 0x001FF7, 0, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FF8, 0, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
+  { 0x001FF9, 0, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
+  { 0x001FFA, 0, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
+  { 0x001FFB, 0, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
+  { 0x001FFC, 0, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
+                   0x0003B9 }},
+  { 0x0020A8, 0, { 0x000072,          /* 20A8; 0072 0073; Additional folding */
+                   0x000073 }},
+  { 0x002102, 0, { 0x000063 }},            /* 2102; 0063; Additional folding */
+  { 0x002103, 0, { 0x0000B0,          /* 2103; 00B0 0063; Additional folding */
+                   0x000063 }},
+  { 0x002107, 0, { 0x00025B }},            /* 2107; 025B; Additional folding */
+  { 0x002109, 0, { 0x0000B0,          /* 2109; 00B0 0066; Additional folding */
+                   0x000066 }},
+  { 0x00210B, 0, { 0x000068 }},            /* 210B; 0068; Additional folding */
+  { 0x00210C, 0, { 0x000068 }},            /* 210C; 0068; Additional folding */
+  { 0x00210D, 0, { 0x000068 }},            /* 210D; 0068; Additional folding */
+  { 0x002110, 0, { 0x000069 }},            /* 2110; 0069; Additional folding */
+  { 0x002111, 0, { 0x000069 }},            /* 2111; 0069; Additional folding */
+  { 0x002112, 0, { 0x00006C }},            /* 2112; 006C; Additional folding */
+  { 0x002115, 0, { 0x00006E }},            /* 2115; 006E; Additional folding */
+  { 0x002116, 0, { 0x00006E,          /* 2116; 006E 006F; Additional folding */
+                   0x00006F }},
+  { 0x002119, 0, { 0x000070 }},            /* 2119; 0070; Additional folding */
+  { 0x00211A, 0, { 0x000071 }},            /* 211A; 0071; Additional folding */
+  { 0x00211B, 0, { 0x000072 }},            /* 211B; 0072; Additional folding */
+  { 0x00211C, 0, { 0x000072 }},            /* 211C; 0072; Additional folding */
+  { 0x00211D, 0, { 0x000072 }},            /* 211D; 0072; Additional folding */
+  { 0x002120, 0, { 0x000073,          /* 2120; 0073 006D; Additional folding */
+                   0x00006D }},
+  { 0x002121, 0, { 0x000074,     /* 2121; 0074 0065 006C; Additional folding */
+                   0x000065, 0x00006C }},
+  { 0x002122, 0, { 0x000074,          /* 2122; 0074 006D; Additional folding */
+                   0x00006D }},
+  { 0x002124, 0, { 0x00007A }},            /* 2124; 007A; Additional folding */
+  { 0x002126, 0, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
+  { 0x002128, 0, { 0x00007A }},            /* 2128; 007A; Additional folding */
+  { 0x00212A, 0, { 0x00006B }},                      /* 212A; 006B; Case map */
+  { 0x00212B, 0, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
+  { 0x00212C, 0, { 0x000062 }},            /* 212C; 0062; Additional folding */
+  { 0x00212D, 0, { 0x000063 }},            /* 212D; 0063; Additional folding */
+  { 0x002130, 0, { 0x000065 }},            /* 2130; 0065; Additional folding */
+  { 0x002131, 0, { 0x000066 }},            /* 2131; 0066; Additional folding */
+  { 0x002133, 0, { 0x00006D }},            /* 2133; 006D; Additional folding */
+  { 0x00213E, 0, { 0x0003B3 }},            /* 213E; 03B3; Additional folding */
+  { 0x00213F, 0, { 0x0003C0 }},            /* 213F; 03C0; Additional folding */
+  { 0x002145, 0, { 0x000064 }},            /* 2145; 0064; Additional folding */
+  { 0x002160, 0, { 0x002170 }},                      /* 2160; 2170; Case map */
+  { 0x002161, 0, { 0x002171 }},                      /* 2161; 2171; Case map */
+  { 0x002162, 0, { 0x002172 }},                      /* 2162; 2172; Case map */
+  { 0x002163, 0, { 0x002173 }},                      /* 2163; 2173; Case map */
+  { 0x002164, 0, { 0x002174 }},                      /* 2164; 2174; Case map */
+  { 0x002165, 0, { 0x002175 }},                      /* 2165; 2175; Case map */
+  { 0x002166, 0, { 0x002176 }},                      /* 2166; 2176; Case map */
+  { 0x002167, 0, { 0x002177 }},                      /* 2167; 2177; Case map */
+  { 0x002168, 0, { 0x002178 }},                      /* 2168; 2178; Case map */
+  { 0x002169, 0, { 0x002179 }},                      /* 2169; 2179; Case map */
+  { 0x00216A, 0, { 0x00217A }},                      /* 216A; 217A; Case map */
+  { 0x00216B, 0, { 0x00217B }},                      /* 216B; 217B; Case map */
+  { 0x00216C, 0, { 0x00217C }},                      /* 216C; 217C; Case map */
+  { 0x00216D, 0, { 0x00217D }},                      /* 216D; 217D; Case map */
+  { 0x00216E, 0, { 0x00217E }},                      /* 216E; 217E; Case map */
+  { 0x00216F, 0, { 0x00217F }},                      /* 216F; 217F; Case map */
+  { 0x0024B6, 0, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
+  { 0x0024B7, 0, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
+  { 0x0024B8, 0, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
+  { 0x0024B9, 0, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
+  { 0x0024BA, 0, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
+  { 0x0024BB, 0, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
+  { 0x0024BC, 0, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
+  { 0x0024BD, 0, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
+  { 0x0024BE, 0, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
+  { 0x0024BF, 0, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
+  { 0x0024C0, 0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
+  { 0x0024C1, 0, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
+  { 0x0024C2, 0, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
+  { 0x0024C3, 0, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
+  { 0x0024C4, 0, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
+  { 0x0024C5, 0, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
+  { 0x0024C6, 0, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
+  { 0x0024C7, 0, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
+  { 0x0024C8, 0, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
+  { 0x0024C9, 0, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
+  { 0x0024CA, 0, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
+  { 0x0024CB, 0, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
+  { 0x0024CC, 0, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
+  { 0x0024CD, 0, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
+  { 0x0024CE, 0, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
+  { 0x0024CF, 0, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
+  { 0x003371, 0, { 0x000068,     /* 3371; 0068 0070 0061; Additional folding */
+                   0x000070, 0x000061 }},
+  { 0x003373, 0, { 0x000061,          /* 3373; 0061 0075; Additional folding */
+                   0x000075 }},
+  { 0x003375, 0, { 0x00006F,          /* 3375; 006F 0076; Additional folding */
+                   0x000076 }},
+  { 0x003380, 0, { 0x000070,          /* 3380; 0070 0061; Additional folding */
+                   0x000061 }},
+  { 0x003381, 0, { 0x00006E,          /* 3381; 006E 0061; Additional folding */
+                   0x000061 }},
+  { 0x003382, 0, { 0x0003BC,          /* 3382; 03BC 0061; Additional folding */
+                   0x000061 }},
+  { 0x003383, 0, { 0x00006D,          /* 3383; 006D 0061; Additional folding */
+                   0x000061 }},
+  { 0x003384, 0, { 0x00006B,          /* 3384; 006B 0061; Additional folding */
+                   0x000061 }},
+  { 0x003385, 0, { 0x00006B,          /* 3385; 006B 0062; Additional folding */
+                   0x000062 }},
+  { 0x003386, 0, { 0x00006D,          /* 3386; 006D 0062; Additional folding */
+                   0x000062 }},
+  { 0x003387, 0, { 0x000067,          /* 3387; 0067 0062; Additional folding */
+                   0x000062 }},
+  { 0x00338A, 0, { 0x000070,          /* 338A; 0070 0066; Additional folding */
+                   0x000066 }},
+  { 0x00338B, 0, { 0x00006E,          /* 338B; 006E 0066; Additional folding */
+                   0x000066 }},
+  { 0x00338C, 0, { 0x0003BC,          /* 338C; 03BC 0066; Additional folding */
+                   0x000066 }},
+  { 0x003390, 0, { 0x000068,          /* 3390; 0068 007A; Additional folding */
+                   0x00007A }},
+  { 0x003391, 0, { 0x00006B,     /* 3391; 006B 0068 007A; Additional folding */
+                   0x000068, 0x00007A }},
+  { 0x003392, 0, { 0x00006D,     /* 3392; 006D 0068 007A; Additional folding */
+                   0x000068, 0x00007A }},
+  { 0x003393, 0, { 0x000067,     /* 3393; 0067 0068 007A; Additional folding */
+                   0x000068, 0x00007A }},
+  { 0x003394, 0, { 0x000074,     /* 3394; 0074 0068 007A; Additional folding */
+                   0x000068, 0x00007A }},
+  { 0x0033A9, 0, { 0x000070,          /* 33A9; 0070 0061; Additional folding */
+                   0x000061 }},
+  { 0x0033AA, 0, { 0x00006B,     /* 33AA; 006B 0070 0061; Additional folding */
+                   0x000070, 0x000061 }},
+  { 0x0033AB, 0, { 0x00006D,     /* 33AB; 006D 0070 0061; Additional folding */
+                   0x000070, 0x000061 }},
+  { 0x0033AC, 0, { 0x000067,     /* 33AC; 0067 0070 0061; Additional folding */
+                   0x000070, 0x000061 }},
+  { 0x0033B4, 0, { 0x000070,          /* 33B4; 0070 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033B5, 0, { 0x00006E,          /* 33B5; 006E 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033B6, 0, { 0x0003BC,          /* 33B6; 03BC 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033B7, 0, { 0x00006D,          /* 33B7; 006D 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033B8, 0, { 0x00006B,          /* 33B8; 006B 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033B9, 0, { 0x00006D,          /* 33B9; 006D 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033BA, 0, { 0x000070,          /* 33BA; 0070 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033BB, 0, { 0x00006E,          /* 33BB; 006E 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033BC, 0, { 0x0003BC,          /* 33BC; 03BC 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033BD, 0, { 0x00006D,          /* 33BD; 006D 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033BE, 0, { 0x00006B,          /* 33BE; 006B 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033BF, 0, { 0x00006D,          /* 33BF; 006D 0077; Additional folding */
+                   0x000077 }},
+  { 0x0033C0, 0, { 0x00006B,          /* 33C0; 006B 03C9; Additional folding */
+                   0x0003C9 }},
+  { 0x0033C1, 0, { 0x00006D,          /* 33C1; 006D 03C9; Additional folding */
+                   0x0003C9 }},
+  { 0x0033C3, 0, { 0x000062,          /* 33C3; 0062 0071; Additional folding */
+                   0x000071 }},
+  { 0x0033C6, 0, { 0x000063, /* 33C6; 0063 2215 006B 0067; Additional folding */
+                   0x002215, 0x00006B, 0x000067 }},
+  { 0x0033C7, 0, { 0x000063,     /* 33C7; 0063 006F 002E; Additional folding */
+                   0x00006F, 0x00002E }},
+  { 0x0033C8, 0, { 0x000064,          /* 33C8; 0064 0062; Additional folding */
+                   0x000062 }},
+  { 0x0033C9, 0, { 0x000067,          /* 33C9; 0067 0079; Additional folding */
+                   0x000079 }},
+  { 0x0033CB, 0, { 0x000068,          /* 33CB; 0068 0070; Additional folding */
+                   0x000070 }},
+  { 0x0033CD, 0, { 0x00006B,          /* 33CD; 006B 006B; Additional folding */
+                   0x00006B }},
+  { 0x0033CE, 0, { 0x00006B,          /* 33CE; 006B 006D; Additional folding */
+                   0x00006D }},
+  { 0x0033D7, 0, { 0x000070,          /* 33D7; 0070 0068; Additional folding */
+                   0x000068 }},
+  { 0x0033D9, 0, { 0x000070,     /* 33D9; 0070 0070 006D; Additional folding */
+                   0x000070, 0x00006D }},
+  { 0x0033DA, 0, { 0x000070,          /* 33DA; 0070 0072; Additional folding */
+                   0x000072 }},
+  { 0x0033DC, 0, { 0x000073,          /* 33DC; 0073 0076; Additional folding */
+                   0x000076 }},
+  { 0x0033DD, 0, { 0x000077,          /* 33DD; 0077 0062; Additional folding */
+                   0x000062 }},
+  { 0x00FB00, 0, { 0x000066,                    /* FB00; 0066 0066; Case map */
+                   0x000066 }},
+  { 0x00FB01, 0, { 0x000066,                    /* FB01; 0066 0069; Case map */
+                   0x000069 }},
+  { 0x00FB02, 0, { 0x000066,                    /* FB02; 0066 006C; Case map */
+                   0x00006C }},
+  { 0x00FB03, 0, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
+                   0x000066, 0x000069 }},
+  { 0x00FB04, 0, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
+                   0x000066, 0x00006C }},
+  { 0x00FB05, 0, { 0x000073,                    /* FB05; 0073 0074; Case map */
+                   0x000074 }},
+  { 0x00FB06, 0, { 0x000073,                    /* FB06; 0073 0074; Case map */
+                   0x000074 }},
+  { 0x00FB13, 0, { 0x000574,                    /* FB13; 0574 0576; Case map */
+                   0x000576 }},
+  { 0x00FB14, 0, { 0x000574,                    /* FB14; 0574 0565; Case map */
+                   0x000565 }},
+  { 0x00FB15, 0, { 0x000574,                    /* FB15; 0574 056B; Case map */
+                   0x00056B }},
+  { 0x00FB16, 0, { 0x00057E,                    /* FB16; 057E 0576; Case map */
+                   0x000576 }},
+  { 0x00FB17, 0, { 0x000574,                    /* FB17; 0574 056D; Case map */
+                   0x00056D }},
+  { 0x00FF21, 0, { 0x00FF41 }},                      /* FF21; FF41; Case map */
+  { 0x00FF22, 0, { 0x00FF42 }},                      /* FF22; FF42; Case map */
+  { 0x00FF23, 0, { 0x00FF43 }},                      /* FF23; FF43; Case map */
+  { 0x00FF24, 0, { 0x00FF44 }},                      /* FF24; FF44; Case map */
+  { 0x00FF25, 0, { 0x00FF45 }},                      /* FF25; FF45; Case map */
+  { 0x00FF26, 0, { 0x00FF46 }},                      /* FF26; FF46; Case map */
+  { 0x00FF27, 0, { 0x00FF47 }},                      /* FF27; FF47; Case map */
+  { 0x00FF28, 0, { 0x00FF48 }},                      /* FF28; FF48; Case map */
+  { 0x00FF29, 0, { 0x00FF49 }},                      /* FF29; FF49; Case map */
+  { 0x00FF2A, 0, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
+  { 0x00FF2B, 0, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
+  { 0x00FF2C, 0, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
+  { 0x00FF2D, 0, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
+  { 0x00FF2E, 0, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
+  { 0x00FF2F, 0, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
+  { 0x00FF30, 0, { 0x00FF50 }},                      /* FF30; FF50; Case map */
+  { 0x00FF31, 0, { 0x00FF51 }},                      /* FF31; FF51; Case map */
+  { 0x00FF32, 0, { 0x00FF52 }},                      /* FF32; FF52; Case map */
+  { 0x00FF33, 0, { 0x00FF53 }},                      /* FF33; FF53; Case map */
+  { 0x00FF34, 0, { 0x00FF54 }},                      /* FF34; FF54; Case map */
+  { 0x00FF35, 0, { 0x00FF55 }},                      /* FF35; FF55; Case map */
+  { 0x00FF36, 0, { 0x00FF56 }},                      /* FF36; FF56; Case map */
+  { 0x00FF37, 0, { 0x00FF57 }},                      /* FF37; FF57; Case map */
+  { 0x00FF38, 0, { 0x00FF58 }},                      /* FF38; FF58; Case map */
+  { 0x00FF39, 0, { 0x00FF59 }},                      /* FF39; FF59; Case map */
+  { 0x00FF3A, 0, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
+  { 0x010400, 0, { 0x010428 }},                    /* 10400; 10428; Case map */
+  { 0x010401, 0, { 0x010429 }},                    /* 10401; 10429; Case map */
+  { 0x010402, 0, { 0x01042A }},                    /* 10402; 1042A; Case map */
+  { 0x010403, 0, { 0x01042B }},                    /* 10403; 1042B; Case map */
+  { 0x010404, 0, { 0x01042C }},                    /* 10404; 1042C; Case map */
+  { 0x010405, 0, { 0x01042D }},                    /* 10405; 1042D; Case map */
+  { 0x010406, 0, { 0x01042E }},                    /* 10406; 1042E; Case map */
+  { 0x010407, 0, { 0x01042F }},                    /* 10407; 1042F; Case map */
+  { 0x010408, 0, { 0x010430 }},                    /* 10408; 10430; Case map */
+  { 0x010409, 0, { 0x010431 }},                    /* 10409; 10431; Case map */
+  { 0x01040A, 0, { 0x010432 }},                    /* 1040A; 10432; Case map */
+  { 0x01040B, 0, { 0x010433 }},                    /* 1040B; 10433; Case map */
+  { 0x01040C, 0, { 0x010434 }},                    /* 1040C; 10434; Case map */
+  { 0x01040D, 0, { 0x010435 }},                    /* 1040D; 10435; Case map */
+  { 0x01040E, 0, { 0x010436 }},                    /* 1040E; 10436; Case map */
+  { 0x01040F, 0, { 0x010437 }},                    /* 1040F; 10437; Case map */
+  { 0x010410, 0, { 0x010438 }},                    /* 10410; 10438; Case map */
+  { 0x010411, 0, { 0x010439 }},                    /* 10411; 10439; Case map */
+  { 0x010412, 0, { 0x01043A }},                    /* 10412; 1043A; Case map */
+  { 0x010413, 0, { 0x01043B }},                    /* 10413; 1043B; Case map */
+  { 0x010414, 0, { 0x01043C }},                    /* 10414; 1043C; Case map */
+  { 0x010415, 0, { 0x01043D }},                    /* 10415; 1043D; Case map */
+  { 0x010416, 0, { 0x01043E }},                    /* 10416; 1043E; Case map */
+  { 0x010417, 0, { 0x01043F }},                    /* 10417; 1043F; Case map */
+  { 0x010418, 0, { 0x010440 }},                    /* 10418; 10440; Case map */
+  { 0x010419, 0, { 0x010441 }},                    /* 10419; 10441; Case map */
+  { 0x01041A, 0, { 0x010442 }},                    /* 1041A; 10442; Case map */
+  { 0x01041B, 0, { 0x010443 }},                    /* 1041B; 10443; Case map */
+  { 0x01041C, 0, { 0x010444 }},                    /* 1041C; 10444; Case map */
+  { 0x01041D, 0, { 0x010445 }},                    /* 1041D; 10445; Case map */
+  { 0x01041E, 0, { 0x010446 }},                    /* 1041E; 10446; Case map */
+  { 0x01041F, 0, { 0x010447 }},                    /* 1041F; 10447; Case map */
+  { 0x010420, 0, { 0x010448 }},                    /* 10420; 10448; Case map */
+  { 0x010421, 0, { 0x010449 }},                    /* 10421; 10449; Case map */
+  { 0x010422, 0, { 0x01044A }},                    /* 10422; 1044A; Case map */
+  { 0x010423, 0, { 0x01044B }},                    /* 10423; 1044B; Case map */
+  { 0x010424, 0, { 0x01044C }},                    /* 10424; 1044C; Case map */
+  { 0x010425, 0, { 0x01044D }},                    /* 10425; 1044D; Case map */
+  { 0x01D400, 0, { 0x000061 }},           /* 1D400; 0061; Additional folding */
+  { 0x01D401, 0, { 0x000062 }},           /* 1D401; 0062; Additional folding */
+  { 0x01D402, 0, { 0x000063 }},           /* 1D402; 0063; Additional folding */
+  { 0x01D403, 0, { 0x000064 }},           /* 1D403; 0064; Additional folding */
+  { 0x01D404, 0, { 0x000065 }},           /* 1D404; 0065; Additional folding */
+  { 0x01D405, 0, { 0x000066 }},           /* 1D405; 0066; Additional folding */
+  { 0x01D406, 0, { 0x000067 }},           /* 1D406; 0067; Additional folding */
+  { 0x01D407, 0, { 0x000068 }},           /* 1D407; 0068; Additional folding */
+  { 0x01D408, 0, { 0x000069 }},           /* 1D408; 0069; Additional folding */
+  { 0x01D409, 0, { 0x00006A }},           /* 1D409; 006A; Additional folding */
+  { 0x01D40A, 0, { 0x00006B }},           /* 1D40A; 006B; Additional folding */
+  { 0x01D40B, 0, { 0x00006C }},           /* 1D40B; 006C; Additional folding */
+  { 0x01D40C, 0, { 0x00006D }},           /* 1D40C; 006D; Additional folding */
+  { 0x01D40D, 0, { 0x00006E }},           /* 1D40D; 006E; Additional folding */
+  { 0x01D40E, 0, { 0x00006F }},           /* 1D40E; 006F; Additional folding */
+  { 0x01D40F, 0, { 0x000070 }},           /* 1D40F; 0070; Additional folding */
+  { 0x01D410, 0, { 0x000071 }},           /* 1D410; 0071; Additional folding */
+  { 0x01D411, 0, { 0x000072 }},           /* 1D411; 0072; Additional folding */
+  { 0x01D412, 0, { 0x000073 }},           /* 1D412; 0073; Additional folding */
+  { 0x01D413, 0, { 0x000074 }},           /* 1D413; 0074; Additional folding */
+  { 0x01D414, 0, { 0x000075 }},           /* 1D414; 0075; Additional folding */
+  { 0x01D415, 0, { 0x000076 }},           /* 1D415; 0076; Additional folding */
+  { 0x01D416, 0, { 0x000077 }},           /* 1D416; 0077; Additional folding */
+  { 0x01D417, 0, { 0x000078 }},           /* 1D417; 0078; Additional folding */
+  { 0x01D418, 0, { 0x000079 }},           /* 1D418; 0079; Additional folding */
+  { 0x01D419, 0, { 0x00007A }},           /* 1D419; 007A; Additional folding */
+  { 0x01D434, 0, { 0x000061 }},           /* 1D434; 0061; Additional folding */
+  { 0x01D435, 0, { 0x000062 }},           /* 1D435; 0062; Additional folding */
+  { 0x01D436, 0, { 0x000063 }},           /* 1D436; 0063; Additional folding */
+  { 0x01D437, 0, { 0x000064 }},           /* 1D437; 0064; Additional folding */
+  { 0x01D438, 0, { 0x000065 }},           /* 1D438; 0065; Additional folding */
+  { 0x01D439, 0, { 0x000066 }},           /* 1D439; 0066; Additional folding */
+  { 0x01D43A, 0, { 0x000067 }},           /* 1D43A; 0067; Additional folding */
+  { 0x01D43B, 0, { 0x000068 }},           /* 1D43B; 0068; Additional folding */
+  { 0x01D43C, 0, { 0x000069 }},           /* 1D43C; 0069; Additional folding */
+  { 0x01D43D, 0, { 0x00006A }},           /* 1D43D; 006A; Additional folding */
+  { 0x01D43E, 0, { 0x00006B }},           /* 1D43E; 006B; Additional folding */
+  { 0x01D43F, 0, { 0x00006C }},           /* 1D43F; 006C; Additional folding */
+  { 0x01D440, 0, { 0x00006D }},           /* 1D440; 006D; Additional folding */
+  { 0x01D441, 0, { 0x00006E }},           /* 1D441; 006E; Additional folding */
+  { 0x01D442, 0, { 0x00006F }},           /* 1D442; 006F; Additional folding */
+  { 0x01D443, 0, { 0x000070 }},           /* 1D443; 0070; Additional folding */
+  { 0x01D444, 0, { 0x000071 }},           /* 1D444; 0071; Additional folding */
+  { 0x01D445, 0, { 0x000072 }},           /* 1D445; 0072; Additional folding */
+  { 0x01D446, 0, { 0x000073 }},           /* 1D446; 0073; Additional folding */
+  { 0x01D447, 0, { 0x000074 }},           /* 1D447; 0074; Additional folding */
+  { 0x01D448, 0, { 0x000075 }},           /* 1D448; 0075; Additional folding */
+  { 0x01D449, 0, { 0x000076 }},           /* 1D449; 0076; Additional folding */
+  { 0x01D44A, 0, { 0x000077 }},           /* 1D44A; 0077; Additional folding */
+  { 0x01D44B, 0, { 0x000078 }},           /* 1D44B; 0078; Additional folding */
+  { 0x01D44C, 0, { 0x000079 }},           /* 1D44C; 0079; Additional folding */
+  { 0x01D44D, 0, { 0x00007A }},           /* 1D44D; 007A; Additional folding */
+  { 0x01D468, 0, { 0x000061 }},           /* 1D468; 0061; Additional folding */
+  { 0x01D469, 0, { 0x000062 }},           /* 1D469; 0062; Additional folding */
+  { 0x01D46A, 0, { 0x000063 }},           /* 1D46A; 0063; Additional folding */
+  { 0x01D46B, 0, { 0x000064 }},           /* 1D46B; 0064; Additional folding */
+  { 0x01D46C, 0, { 0x000065 }},           /* 1D46C; 0065; Additional folding */
+  { 0x01D46D, 0, { 0x000066 }},           /* 1D46D; 0066; Additional folding */
+  { 0x01D46E, 0, { 0x000067 }},           /* 1D46E; 0067; Additional folding */
+  { 0x01D46F, 0, { 0x000068 }},           /* 1D46F; 0068; Additional folding */
+  { 0x01D470, 0, { 0x000069 }},           /* 1D470; 0069; Additional folding */
+  { 0x01D471, 0, { 0x00006A }},           /* 1D471; 006A; Additional folding */
+  { 0x01D472, 0, { 0x00006B }},           /* 1D472; 006B; Additional folding */
+  { 0x01D473, 0, { 0x00006C }},           /* 1D473; 006C; Additional folding */
+  { 0x01D474, 0, { 0x00006D }},           /* 1D474; 006D; Additional folding */
+  { 0x01D475, 0, { 0x00006E }},           /* 1D475; 006E; Additional folding */
+  { 0x01D476, 0, { 0x00006F }},           /* 1D476; 006F; Additional folding */
+  { 0x01D477, 0, { 0x000070 }},           /* 1D477; 0070; Additional folding */
+  { 0x01D478, 0, { 0x000071 }},           /* 1D478; 0071; Additional folding */
+  { 0x01D479, 0, { 0x000072 }},           /* 1D479; 0072; Additional folding */
+  { 0x01D47A, 0, { 0x000073 }},           /* 1D47A; 0073; Additional folding */
+  { 0x01D47B, 0, { 0x000074 }},           /* 1D47B; 0074; Additional folding */
+  { 0x01D47C, 0, { 0x000075 }},           /* 1D47C; 0075; Additional folding */
+  { 0x01D47D, 0, { 0x000076 }},           /* 1D47D; 0076; Additional folding */
+  { 0x01D47E, 0, { 0x000077 }},           /* 1D47E; 0077; Additional folding */
+  { 0x01D47F, 0, { 0x000078 }},           /* 1D47F; 0078; Additional folding */
+  { 0x01D480, 0, { 0x000079 }},           /* 1D480; 0079; Additional folding */
+  { 0x01D481, 0, { 0x00007A }},           /* 1D481; 007A; Additional folding */
+  { 0x01D49C, 0, { 0x000061 }},           /* 1D49C; 0061; Additional folding */
+  { 0x01D49E, 0, { 0x000063 }},           /* 1D49E; 0063; Additional folding */
+  { 0x01D49F, 0, { 0x000064 }},           /* 1D49F; 0064; Additional folding */
+  { 0x01D4A2, 0, { 0x000067 }},           /* 1D4A2; 0067; Additional folding */
+  { 0x01D4A5, 0, { 0x00006A }},           /* 1D4A5; 006A; Additional folding */
+  { 0x01D4A6, 0, { 0x00006B }},           /* 1D4A6; 006B; Additional folding */
+  { 0x01D4A9, 0, { 0x00006E }},           /* 1D4A9; 006E; Additional folding */
+  { 0x01D4AA, 0, { 0x00006F }},           /* 1D4AA; 006F; Additional folding */
+  { 0x01D4AB, 0, { 0x000070 }},           /* 1D4AB; 0070; Additional folding */
+  { 0x01D4AC, 0, { 0x000071 }},           /* 1D4AC; 0071; Additional folding */
+  { 0x01D4AE, 0, { 0x000073 }},           /* 1D4AE; 0073; Additional folding */
+  { 0x01D4AF, 0, { 0x000074 }},           /* 1D4AF; 0074; Additional folding */
+  { 0x01D4B0, 0, { 0x000075 }},           /* 1D4B0; 0075; Additional folding */
+  { 0x01D4B1, 0, { 0x000076 }},           /* 1D4B1; 0076; Additional folding */
+  { 0x01D4B2, 0, { 0x000077 }},           /* 1D4B2; 0077; Additional folding */
+  { 0x01D4B3, 0, { 0x000078 }},           /* 1D4B3; 0078; Additional folding */
+  { 0x01D4B4, 0, { 0x000079 }},           /* 1D4B4; 0079; Additional folding */
+  { 0x01D4B5, 0, { 0x00007A }},           /* 1D4B5; 007A; Additional folding */
+  { 0x01D4D0, 0, { 0x000061 }},           /* 1D4D0; 0061; Additional folding */
+  { 0x01D4D1, 0, { 0x000062 }},           /* 1D4D1; 0062; Additional folding */
+  { 0x01D4D2, 0, { 0x000063 }},           /* 1D4D2; 0063; Additional folding */
+  { 0x01D4D3, 0, { 0x000064 }},           /* 1D4D3; 0064; Additional folding */
+  { 0x01D4D4, 0, { 0x000065 }},           /* 1D4D4; 0065; Additional folding */
+  { 0x01D4D5, 0, { 0x000066 }},           /* 1D4D5; 0066; Additional folding */
+  { 0x01D4D6, 0, { 0x000067 }},           /* 1D4D6; 0067; Additional folding */
+  { 0x01D4D7, 0, { 0x000068 }},           /* 1D4D7; 0068; Additional folding */
+  { 0x01D4D8, 0, { 0x000069 }},           /* 1D4D8; 0069; Additional folding */
+  { 0x01D4D9, 0, { 0x00006A }},           /* 1D4D9; 006A; Additional folding */
+  { 0x01D4DA, 0, { 0x00006B }},           /* 1D4DA; 006B; Additional folding */
+  { 0x01D4DB, 0, { 0x00006C }},           /* 1D4DB; 006C; Additional folding */
+  { 0x01D4DC, 0, { 0x00006D }},           /* 1D4DC; 006D; Additional folding */
+  { 0x01D4DD, 0, { 0x00006E }},           /* 1D4DD; 006E; Additional folding */
+  { 0x01D4DE, 0, { 0x00006F }},           /* 1D4DE; 006F; Additional folding */
+  { 0x01D4DF, 0, { 0x000070 }},           /* 1D4DF; 0070; Additional folding */
+  { 0x01D4E0, 0, { 0x000071 }},           /* 1D4E0; 0071; Additional folding */
+  { 0x01D4E1, 0, { 0x000072 }},           /* 1D4E1; 0072; Additional folding */
+  { 0x01D4E2, 0, { 0x000073 }},           /* 1D4E2; 0073; Additional folding */
+  { 0x01D4E3, 0, { 0x000074 }},           /* 1D4E3; 0074; Additional folding */
+  { 0x01D4E4, 0, { 0x000075 }},           /* 1D4E4; 0075; Additional folding */
+  { 0x01D4E5, 0, { 0x000076 }},           /* 1D4E5; 0076; Additional folding */
+  { 0x01D4E6, 0, { 0x000077 }},           /* 1D4E6; 0077; Additional folding */
+  { 0x01D4E7, 0, { 0x000078 }},           /* 1D4E7; 0078; Additional folding */
+  { 0x01D4E8, 0, { 0x000079 }},           /* 1D4E8; 0079; Additional folding */
+  { 0x01D4E9, 0, { 0x00007A }},           /* 1D4E9; 007A; Additional folding */
+  { 0x01D504, 0, { 0x000061 }},           /* 1D504; 0061; Additional folding */
+  { 0x01D505, 0, { 0x000062 }},           /* 1D505; 0062; Additional folding */
+  { 0x01D507, 0, { 0x000064 }},           /* 1D507; 0064; Additional folding */
+  { 0x01D508, 0, { 0x000065 }},           /* 1D508; 0065; Additional folding */
+  { 0x01D509, 0, { 0x000066 }},           /* 1D509; 0066; Additional folding */
+  { 0x01D50A, 0, { 0x000067 }},           /* 1D50A; 0067; Additional folding */
+  { 0x01D50D, 0, { 0x00006A }},           /* 1D50D; 006A; Additional folding */
+  { 0x01D50E, 0, { 0x00006B }},           /* 1D50E; 006B; Additional folding */
+  { 0x01D50F, 0, { 0x00006C }},           /* 1D50F; 006C; Additional folding */
+  { 0x01D510, 0, { 0x00006D }},           /* 1D510; 006D; Additional folding */
+  { 0x01D511, 0, { 0x00006E }},           /* 1D511; 006E; Additional folding */
+  { 0x01D512, 0, { 0x00006F }},           /* 1D512; 006F; Additional folding */
+  { 0x01D513, 0, { 0x000070 }},           /* 1D513; 0070; Additional folding */
+  { 0x01D514, 0, { 0x000071 }},           /* 1D514; 0071; Additional folding */
+  { 0x01D516, 0, { 0x000073 }},           /* 1D516; 0073; Additional folding */
+  { 0x01D517, 0, { 0x000074 }},           /* 1D517; 0074; Additional folding */
+  { 0x01D518, 0, { 0x000075 }},           /* 1D518; 0075; Additional folding */
+  { 0x01D519, 0, { 0x000076 }},           /* 1D519; 0076; Additional folding */
+  { 0x01D51A, 0, { 0x000077 }},           /* 1D51A; 0077; Additional folding */
+  { 0x01D51B, 0, { 0x000078 }},           /* 1D51B; 0078; Additional folding */
+  { 0x01D51C, 0, { 0x000079 }},           /* 1D51C; 0079; Additional folding */
+  { 0x01D538, 0, { 0x000061 }},           /* 1D538; 0061; Additional folding */
+  { 0x01D539, 0, { 0x000062 }},           /* 1D539; 0062; Additional folding */
+  { 0x01D53B, 0, { 0x000064 }},           /* 1D53B; 0064; Additional folding */
+  { 0x01D53C, 0, { 0x000065 }},           /* 1D53C; 0065; Additional folding */
+  { 0x01D53D, 0, { 0x000066 }},           /* 1D53D; 0066; Additional folding */
+  { 0x01D53E, 0, { 0x000067 }},           /* 1D53E; 0067; Additional folding */
+  { 0x01D540, 0, { 0x000069 }},           /* 1D540; 0069; Additional folding */
+  { 0x01D541, 0, { 0x00006A }},           /* 1D541; 006A; Additional folding */
+  { 0x01D542, 0, { 0x00006B }},           /* 1D542; 006B; Additional folding */
+  { 0x01D543, 0, { 0x00006C }},           /* 1D543; 006C; Additional folding */
+  { 0x01D544, 0, { 0x00006D }},           /* 1D544; 006D; Additional folding */
+  { 0x01D546, 0, { 0x00006F }},           /* 1D546; 006F; Additional folding */
+  { 0x01D54A, 0, { 0x000073 }},           /* 1D54A; 0073; Additional folding */
+  { 0x01D54B, 0, { 0x000074 }},           /* 1D54B; 0074; Additional folding */
+  { 0x01D54C, 0, { 0x000075 }},           /* 1D54C; 0075; Additional folding */
+  { 0x01D54D, 0, { 0x000076 }},           /* 1D54D; 0076; Additional folding */
+  { 0x01D54E, 0, { 0x000077 }},           /* 1D54E; 0077; Additional folding */
+  { 0x01D54F, 0, { 0x000078 }},           /* 1D54F; 0078; Additional folding */
+  { 0x01D550, 0, { 0x000079 }},           /* 1D550; 0079; Additional folding */
+  { 0x01D56C, 0, { 0x000061 }},           /* 1D56C; 0061; Additional folding */
+  { 0x01D56D, 0, { 0x000062 }},           /* 1D56D; 0062; Additional folding */
+  { 0x01D56E, 0, { 0x000063 }},           /* 1D56E; 0063; Additional folding */
+  { 0x01D56F, 0, { 0x000064 }},           /* 1D56F; 0064; Additional folding */
+  { 0x01D570, 0, { 0x000065 }},           /* 1D570; 0065; Additional folding */
+  { 0x01D571, 0, { 0x000066 }},           /* 1D571; 0066; Additional folding */
+  { 0x01D572, 0, { 0x000067 }},           /* 1D572; 0067; Additional folding */
+  { 0x01D573, 0, { 0x000068 }},           /* 1D573; 0068; Additional folding */
+  { 0x01D574, 0, { 0x000069 }},           /* 1D574; 0069; Additional folding */
+  { 0x01D575, 0, { 0x00006A }},           /* 1D575; 006A; Additional folding */
+  { 0x01D576, 0, { 0x00006B }},           /* 1D576; 006B; Additional folding */
+  { 0x01D577, 0, { 0x00006C }},           /* 1D577; 006C; Additional folding */
+  { 0x01D578, 0, { 0x00006D }},           /* 1D578; 006D; Additional folding */
+  { 0x01D579, 0, { 0x00006E }},           /* 1D579; 006E; Additional folding */
+  { 0x01D57A, 0, { 0x00006F }},           /* 1D57A; 006F; Additional folding */
+  { 0x01D57B, 0, { 0x000070 }},           /* 1D57B; 0070; Additional folding */
+  { 0x01D57C, 0, { 0x000071 }},           /* 1D57C; 0071; Additional folding */
+  { 0x01D57D, 0, { 0x000072 }},           /* 1D57D; 0072; Additional folding */
+  { 0x01D57E, 0, { 0x000073 }},           /* 1D57E; 0073; Additional folding */
+  { 0x01D57F, 0, { 0x000074 }},           /* 1D57F; 0074; Additional folding */
+  { 0x01D580, 0, { 0x000075 }},           /* 1D580; 0075; Additional folding */
+  { 0x01D581, 0, { 0x000076 }},           /* 1D581; 0076; Additional folding */
+  { 0x01D582, 0, { 0x000077 }},           /* 1D582; 0077; Additional folding */
+  { 0x01D583, 0, { 0x000078 }},           /* 1D583; 0078; Additional folding */
+  { 0x01D584, 0, { 0x000079 }},           /* 1D584; 0079; Additional folding */
+  { 0x01D585, 0, { 0x00007A }},           /* 1D585; 007A; Additional folding */
+  { 0x01D5A0, 0, { 0x000061 }},           /* 1D5A0; 0061; Additional folding */
+  { 0x01D5A1, 0, { 0x000062 }},           /* 1D5A1; 0062; Additional folding */
+  { 0x01D5A2, 0, { 0x000063 }},           /* 1D5A2; 0063; Additional folding */
+  { 0x01D5A3, 0, { 0x000064 }},           /* 1D5A3; 0064; Additional folding */
+  { 0x01D5A4, 0, { 0x000065 }},           /* 1D5A4; 0065; Additional folding */
+  { 0x01D5A5, 0, { 0x000066 }},           /* 1D5A5; 0066; Additional folding */
+  { 0x01D5A6, 0, { 0x000067 }},           /* 1D5A6; 0067; Additional folding */
+  { 0x01D5A7, 0, { 0x000068 }},           /* 1D5A7; 0068; Additional folding */
+  { 0x01D5A8, 0, { 0x000069 }},           /* 1D5A8; 0069; Additional folding */
+  { 0x01D5A9, 0, { 0x00006A }},           /* 1D5A9; 006A; Additional folding */
+  { 0x01D5AA, 0, { 0x00006B }},           /* 1D5AA; 006B; Additional folding */
+  { 0x01D5AB, 0, { 0x00006C }},           /* 1D5AB; 006C; Additional folding */
+  { 0x01D5AC, 0, { 0x00006D }},           /* 1D5AC; 006D; Additional folding */
+  { 0x01D5AD, 0, { 0x00006E }},           /* 1D5AD; 006E; Additional folding */
+  { 0x01D5AE, 0, { 0x00006F }},           /* 1D5AE; 006F; Additional folding */
+  { 0x01D5AF, 0, { 0x000070 }},           /* 1D5AF; 0070; Additional folding */
+  { 0x01D5B0, 0, { 0x000071 }},           /* 1D5B0; 0071; Additional folding */
+  { 0x01D5B1, 0, { 0x000072 }},           /* 1D5B1; 0072; Additional folding */
+  { 0x01D5B2, 0, { 0x000073 }},           /* 1D5B2; 0073; Additional folding */
+  { 0x01D5B3, 0, { 0x000074 }},           /* 1D5B3; 0074; Additional folding */
+  { 0x01D5B4, 0, { 0x000075 }},           /* 1D5B4; 0075; Additional folding */
+  { 0x01D5B5, 0, { 0x000076 }},           /* 1D5B5; 0076; Additional folding */
+  { 0x01D5B6, 0, { 0x000077 }},           /* 1D5B6; 0077; Additional folding */
+  { 0x01D5B7, 0, { 0x000078 }},           /* 1D5B7; 0078; Additional folding */
+  { 0x01D5B8, 0, { 0x000079 }},           /* 1D5B8; 0079; Additional folding */
+  { 0x01D5B9, 0, { 0x00007A }},           /* 1D5B9; 007A; Additional folding */
+  { 0x01D5D4, 0, { 0x000061 }},           /* 1D5D4; 0061; Additional folding */
+  { 0x01D5D5, 0, { 0x000062 }},           /* 1D5D5; 0062; Additional folding */
+  { 0x01D5D6, 0, { 0x000063 }},           /* 1D5D6; 0063; Additional folding */
+  { 0x01D5D7, 0, { 0x000064 }},           /* 1D5D7; 0064; Additional folding */
+  { 0x01D5D8, 0, { 0x000065 }},           /* 1D5D8; 0065; Additional folding */
+  { 0x01D5D9, 0, { 0x000066 }},           /* 1D5D9; 0066; Additional folding */
+  { 0x01D5DA, 0, { 0x000067 }},           /* 1D5DA; 0067; Additional folding */
+  { 0x01D5DB, 0, { 0x000068 }},           /* 1D5DB; 0068; Additional folding */
+  { 0x01D5DC, 0, { 0x000069 }},           /* 1D5DC; 0069; Additional folding */
+  { 0x01D5DD, 0, { 0x00006A }},           /* 1D5DD; 006A; Additional folding */
+  { 0x01D5DE, 0, { 0x00006B }},           /* 1D5DE; 006B; Additional folding */
+  { 0x01D5DF, 0, { 0x00006C }},           /* 1D5DF; 006C; Additional folding */
+  { 0x01D5E0, 0, { 0x00006D }},           /* 1D5E0; 006D; Additional folding */
+  { 0x01D5E1, 0, { 0x00006E }},           /* 1D5E1; 006E; Additional folding */
+  { 0x01D5E2, 0, { 0x00006F }},           /* 1D5E2; 006F; Additional folding */
+  { 0x01D5E3, 0, { 0x000070 }},           /* 1D5E3; 0070; Additional folding */
+  { 0x01D5E4, 0, { 0x000071 }},           /* 1D5E4; 0071; Additional folding */
+  { 0x01D5E5, 0, { 0x000072 }},           /* 1D5E5; 0072; Additional folding */
+  { 0x01D5E6, 0, { 0x000073 }},           /* 1D5E6; 0073; Additional folding */
+  { 0x01D5E7, 0, { 0x000074 }},           /* 1D5E7; 0074; Additional folding */
+  { 0x01D5E8, 0, { 0x000075 }},           /* 1D5E8; 0075; Additional folding */
+  { 0x01D5E9, 0, { 0x000076 }},           /* 1D5E9; 0076; Additional folding */
+  { 0x01D5EA, 0, { 0x000077 }},           /* 1D5EA; 0077; Additional folding */
+  { 0x01D5EB, 0, { 0x000078 }},           /* 1D5EB; 0078; Additional folding */
+  { 0x01D5EC, 0, { 0x000079 }},           /* 1D5EC; 0079; Additional folding */
+  { 0x01D5ED, 0, { 0x00007A }},           /* 1D5ED; 007A; Additional folding */
+  { 0x01D608, 0, { 0x000061 }},           /* 1D608; 0061; Additional folding */
+  { 0x01D609, 0, { 0x000062 }},           /* 1D609; 0062; Additional folding */
+  { 0x01D60A, 0, { 0x000063 }},           /* 1D60A; 0063; Additional folding */
+  { 0x01D60B, 0, { 0x000064 }},           /* 1D60B; 0064; Additional folding */
+  { 0x01D60C, 0, { 0x000065 }},           /* 1D60C; 0065; Additional folding */
+  { 0x01D60D, 0, { 0x000066 }},           /* 1D60D; 0066; Additional folding */
+  { 0x01D60E, 0, { 0x000067 }},           /* 1D60E; 0067; Additional folding */
+  { 0x01D60F, 0, { 0x000068 }},           /* 1D60F; 0068; Additional folding */
+  { 0x01D610, 0, { 0x000069 }},           /* 1D610; 0069; Additional folding */
+  { 0x01D611, 0, { 0x00006A }},           /* 1D611; 006A; Additional folding */
+  { 0x01D612, 0, { 0x00006B }},           /* 1D612; 006B; Additional folding */
+  { 0x01D613, 0, { 0x00006C }},           /* 1D613; 006C; Additional folding */
+  { 0x01D614, 0, { 0x00006D }},           /* 1D614; 006D; Additional folding */
+  { 0x01D615, 0, { 0x00006E }},           /* 1D615; 006E; Additional folding */
+  { 0x01D616, 0, { 0x00006F }},           /* 1D616; 006F; Additional folding */
+  { 0x01D617, 0, { 0x000070 }},           /* 1D617; 0070; Additional folding */
+  { 0x01D618, 0, { 0x000071 }},           /* 1D618; 0071; Additional folding */
+  { 0x01D619, 0, { 0x000072 }},           /* 1D619; 0072; Additional folding */
+  { 0x01D61A, 0, { 0x000073 }},           /* 1D61A; 0073; Additional folding */
+  { 0x01D61B, 0, { 0x000074 }},           /* 1D61B; 0074; Additional folding */
+  { 0x01D61C, 0, { 0x000075 }},           /* 1D61C; 0075; Additional folding */
+  { 0x01D61D, 0, { 0x000076 }},           /* 1D61D; 0076; Additional folding */
+  { 0x01D61E, 0, { 0x000077 }},           /* 1D61E; 0077; Additional folding */
+  { 0x01D61F, 0, { 0x000078 }},           /* 1D61F; 0078; Additional folding */
+  { 0x01D620, 0, { 0x000079 }},           /* 1D620; 0079; Additional folding */
+  { 0x01D621, 0, { 0x00007A }},           /* 1D621; 007A; Additional folding */
+  { 0x01D63C, 0, { 0x000061 }},           /* 1D63C; 0061; Additional folding */
+  { 0x01D63D, 0, { 0x000062 }},           /* 1D63D; 0062; Additional folding */
+  { 0x01D63E, 0, { 0x000063 }},           /* 1D63E; 0063; Additional folding */
+  { 0x01D63F, 0, { 0x000064 }},           /* 1D63F; 0064; Additional folding */
+  { 0x01D640, 0, { 0x000065 }},           /* 1D640; 0065; Additional folding */
+  { 0x01D641, 0, { 0x000066 }},           /* 1D641; 0066; Additional folding */
+  { 0x01D642, 0, { 0x000067 }},           /* 1D642; 0067; Additional folding */
+  { 0x01D643, 0, { 0x000068 }},           /* 1D643; 0068; Additional folding */
+  { 0x01D644, 0, { 0x000069 }},           /* 1D644; 0069; Additional folding */
+  { 0x01D645, 0, { 0x00006A }},           /* 1D645; 006A; Additional folding */
+  { 0x01D646, 0, { 0x00006B }},           /* 1D646; 006B; Additional folding */
+  { 0x01D647, 0, { 0x00006C }},           /* 1D647; 006C; Additional folding */
+  { 0x01D648, 0, { 0x00006D }},           /* 1D648; 006D; Additional folding */
+  { 0x01D649, 0, { 0x00006E }},           /* 1D649; 006E; Additional folding */
+  { 0x01D64A, 0, { 0x00006F }},           /* 1D64A; 006F; Additional folding */
+  { 0x01D64B, 0, { 0x000070 }},           /* 1D64B; 0070; Additional folding */
+  { 0x01D64C, 0, { 0x000071 }},           /* 1D64C; 0071; Additional folding */
+  { 0x01D64D, 0, { 0x000072 }},           /* 1D64D; 0072; Additional folding */
+  { 0x01D64E, 0, { 0x000073 }},           /* 1D64E; 0073; Additional folding */
+  { 0x01D64F, 0, { 0x000074 }},           /* 1D64F; 0074; Additional folding */
+  { 0x01D650, 0, { 0x000075 }},           /* 1D650; 0075; Additional folding */
+  { 0x01D651, 0, { 0x000076 }},           /* 1D651; 0076; Additional folding */
+  { 0x01D652, 0, { 0x000077 }},           /* 1D652; 0077; Additional folding */
+  { 0x01D653, 0, { 0x000078 }},           /* 1D653; 0078; Additional folding */
+  { 0x01D654, 0, { 0x000079 }},           /* 1D654; 0079; Additional folding */
+  { 0x01D655, 0, { 0x00007A }},           /* 1D655; 007A; Additional folding */
+  { 0x01D670, 0, { 0x000061 }},           /* 1D670; 0061; Additional folding */
+  { 0x01D671, 0, { 0x000062 }},           /* 1D671; 0062; Additional folding */
+  { 0x01D672, 0, { 0x000063 }},           /* 1D672; 0063; Additional folding */
+  { 0x01D673, 0, { 0x000064 }},           /* 1D673; 0064; Additional folding */
+  { 0x01D674, 0, { 0x000065 }},           /* 1D674; 0065; Additional folding */
+  { 0x01D675, 0, { 0x000066 }},           /* 1D675; 0066; Additional folding */
+  { 0x01D676, 0, { 0x000067 }},           /* 1D676; 0067; Additional folding */
+  { 0x01D677, 0, { 0x000068 }},           /* 1D677; 0068; Additional folding */
+  { 0x01D678, 0, { 0x000069 }},           /* 1D678; 0069; Additional folding */
+  { 0x01D679, 0, { 0x00006A }},           /* 1D679; 006A; Additional folding */
+  { 0x01D67A, 0, { 0x00006B }},           /* 1D67A; 006B; Additional folding */
+  { 0x01D67B, 0, { 0x00006C }},           /* 1D67B; 006C; Additional folding */
+  { 0x01D67C, 0, { 0x00006D }},           /* 1D67C; 006D; Additional folding */
+  { 0x01D67D, 0, { 0x00006E }},           /* 1D67D; 006E; Additional folding */
+  { 0x01D67E, 0, { 0x00006F }},           /* 1D67E; 006F; Additional folding */
+  { 0x01D67F, 0, { 0x000070 }},           /* 1D67F; 0070; Additional folding */
+  { 0x01D680, 0, { 0x000071 }},           /* 1D680; 0071; Additional folding */
+  { 0x01D681, 0, { 0x000072 }},           /* 1D681; 0072; Additional folding */
+  { 0x01D682, 0, { 0x000073 }},           /* 1D682; 0073; Additional folding */
+  { 0x01D683, 0, { 0x000074 }},           /* 1D683; 0074; Additional folding */
+  { 0x01D684, 0, { 0x000075 }},           /* 1D684; 0075; Additional folding */
+  { 0x01D685, 0, { 0x000076 }},           /* 1D685; 0076; Additional folding */
+  { 0x01D686, 0, { 0x000077 }},           /* 1D686; 0077; Additional folding */
+  { 0x01D687, 0, { 0x000078 }},           /* 1D687; 0078; Additional folding */
+  { 0x01D688, 0, { 0x000079 }},           /* 1D688; 0079; Additional folding */
+  { 0x01D689, 0, { 0x00007A }},           /* 1D689; 007A; Additional folding */
+  { 0x01D6A8, 0, { 0x0003B1 }},           /* 1D6A8; 03B1; Additional folding */
+  { 0x01D6A9, 0, { 0x0003B2 }},           /* 1D6A9; 03B2; Additional folding */
+  { 0x01D6AA, 0, { 0x0003B3 }},           /* 1D6AA; 03B3; Additional folding */
+  { 0x01D6AB, 0, { 0x0003B4 }},           /* 1D6AB; 03B4; Additional folding */
+  { 0x01D6AC, 0, { 0x0003B5 }},           /* 1D6AC; 03B5; Additional folding */
+  { 0x01D6AD, 0, { 0x0003B6 }},           /* 1D6AD; 03B6; Additional folding */
+  { 0x01D6AE, 0, { 0x0003B7 }},           /* 1D6AE; 03B7; Additional folding */
+  { 0x01D6AF, 0, { 0x0003B8 }},           /* 1D6AF; 03B8; Additional folding */
+  { 0x01D6B0, 0, { 0x0003B9 }},           /* 1D6B0; 03B9; Additional folding */
+  { 0x01D6B1, 0, { 0x0003BA }},           /* 1D6B1; 03BA; Additional folding */
+  { 0x01D6B2, 0, { 0x0003BB }},           /* 1D6B2; 03BB; Additional folding */
+  { 0x01D6B3, 0, { 0x0003BC }},           /* 1D6B3; 03BC; Additional folding */
+  { 0x01D6B4, 0, { 0x0003BD }},           /* 1D6B4; 03BD; Additional folding */
+  { 0x01D6B5, 0, { 0x0003BE }},           /* 1D6B5; 03BE; Additional folding */
+  { 0x01D6B6, 0, { 0x0003BF }},           /* 1D6B6; 03BF; Additional folding */
+  { 0x01D6B7, 0, { 0x0003C0 }},           /* 1D6B7; 03C0; Additional folding */
+  { 0x01D6B8, 0, { 0x0003C1 }},           /* 1D6B8; 03C1; Additional folding */
+  { 0x01D6B9, 0, { 0x0003B8 }},           /* 1D6B9; 03B8; Additional folding */
+  { 0x01D6BA, 0, { 0x0003C3 }},           /* 1D6BA; 03C3; Additional folding */
+  { 0x01D6BB, 0, { 0x0003C4 }},           /* 1D6BB; 03C4; Additional folding */
+  { 0x01D6BC, 0, { 0x0003C5 }},           /* 1D6BC; 03C5; Additional folding */
+  { 0x01D6BD, 0, { 0x0003C6 }},           /* 1D6BD; 03C6; Additional folding */
+  { 0x01D6BE, 0, { 0x0003C7 }},           /* 1D6BE; 03C7; Additional folding */
+  { 0x01D6BF, 0, { 0x0003C8 }},           /* 1D6BF; 03C8; Additional folding */
+  { 0x01D6C0, 0, { 0x0003C9 }},           /* 1D6C0; 03C9; Additional folding */
+  { 0x01D6D3, 0, { 0x0003C3 }},           /* 1D6D3; 03C3; Additional folding */
+  { 0x01D6E2, 0, { 0x0003B1 }},           /* 1D6E2; 03B1; Additional folding */
+  { 0x01D6E3, 0, { 0x0003B2 }},           /* 1D6E3; 03B2; Additional folding */
+  { 0x01D6E4, 0, { 0x0003B3 }},           /* 1D6E4; 03B3; Additional folding */
+  { 0x01D6E5, 0, { 0x0003B4 }},           /* 1D6E5; 03B4; Additional folding */
+  { 0x01D6E6, 0, { 0x0003B5 }},           /* 1D6E6; 03B5; Additional folding */
+  { 0x01D6E7, 0, { 0x0003B6 }},           /* 1D6E7; 03B6; Additional folding */
+  { 0x01D6E8, 0, { 0x0003B7 }},           /* 1D6E8; 03B7; Additional folding */
+  { 0x01D6E9, 0, { 0x0003B8 }},           /* 1D6E9; 03B8; Additional folding */
+  { 0x01D6EA, 0, { 0x0003B9 }},           /* 1D6EA; 03B9; Additional folding */
+  { 0x01D6EB, 0, { 0x0003BA }},           /* 1D6EB; 03BA; Additional folding */
+  { 0x01D6EC, 0, { 0x0003BB }},           /* 1D6EC; 03BB; Additional folding */
+  { 0x01D6ED, 0, { 0x0003BC }},           /* 1D6ED; 03BC; Additional folding */
+  { 0x01D6EE, 0, { 0x0003BD }},           /* 1D6EE; 03BD; Additional folding */
+  { 0x01D6EF, 0, { 0x0003BE }},           /* 1D6EF; 03BE; Additional folding */
+  { 0x01D6F0, 0, { 0x0003BF }},           /* 1D6F0; 03BF; Additional folding */
+  { 0x01D6F1, 0, { 0x0003C0 }},           /* 1D6F1; 03C0; Additional folding */
+  { 0x01D6F2, 0, { 0x0003C1 }},           /* 1D6F2; 03C1; Additional folding */
+  { 0x01D6F3, 0, { 0x0003B8 }},           /* 1D6F3; 03B8; Additional folding */
+  { 0x01D6F4, 0, { 0x0003C3 }},           /* 1D6F4; 03C3; Additional folding */
+  { 0x01D6F5, 0, { 0x0003C4 }},           /* 1D6F5; 03C4; Additional folding */
+  { 0x01D6F6, 0, { 0x0003C5 }},           /* 1D6F6; 03C5; Additional folding */
+  { 0x01D6F7, 0, { 0x0003C6 }},           /* 1D6F7; 03C6; Additional folding */
+  { 0x01D6F8, 0, { 0x0003C7 }},           /* 1D6F8; 03C7; Additional folding */
+  { 0x01D6F9, 0, { 0x0003C8 }},           /* 1D6F9; 03C8; Additional folding */
+  { 0x01D6FA, 0, { 0x0003C9 }},           /* 1D6FA; 03C9; Additional folding */
+  { 0x01D70D, 0, { 0x0003C3 }},           /* 1D70D; 03C3; Additional folding */
+  { 0x01D71C, 0, { 0x0003B1 }},           /* 1D71C; 03B1; Additional folding */
+  { 0x01D71D, 0, { 0x0003B2 }},           /* 1D71D; 03B2; Additional folding */
+  { 0x01D71E, 0, { 0x0003B3 }},           /* 1D71E; 03B3; Additional folding */
+  { 0x01D71F, 0, { 0x0003B4 }},           /* 1D71F; 03B4; Additional folding */
+  { 0x01D720, 0, { 0x0003B5 }},           /* 1D720; 03B5; Additional folding */
+  { 0x01D721, 0, { 0x0003B6 }},           /* 1D721; 03B6; Additional folding */
+  { 0x01D722, 0, { 0x0003B7 }},           /* 1D722; 03B7; Additional folding */
+  { 0x01D723, 0, { 0x0003B8 }},           /* 1D723; 03B8; Additional folding */
+  { 0x01D724, 0, { 0x0003B9 }},           /* 1D724; 03B9; Additional folding */
+  { 0x01D725, 0, { 0x0003BA }},           /* 1D725; 03BA; Additional folding */
+  { 0x01D726, 0, { 0x0003BB }},           /* 1D726; 03BB; Additional folding */
+  { 0x01D727, 0, { 0x0003BC }},           /* 1D727; 03BC; Additional folding */
+  { 0x01D728, 0, { 0x0003BD }},           /* 1D728; 03BD; Additional folding */
+  { 0x01D729, 0, { 0x0003BE }},           /* 1D729; 03BE; Additional folding */
+  { 0x01D72A, 0, { 0x0003BF }},           /* 1D72A; 03BF; Additional folding */
+  { 0x01D72B, 0, { 0x0003C0 }},           /* 1D72B; 03C0; Additional folding */
+  { 0x01D72C, 0, { 0x0003C1 }},           /* 1D72C; 03C1; Additional folding */
+  { 0x01D72D, 0, { 0x0003B8 }},           /* 1D72D; 03B8; Additional folding */
+  { 0x01D72E, 0, { 0x0003C3 }},           /* 1D72E; 03C3; Additional folding */
+  { 0x01D72F, 0, { 0x0003C4 }},           /* 1D72F; 03C4; Additional folding */
+  { 0x01D730, 0, { 0x0003C5 }},           /* 1D730; 03C5; Additional folding */
+  { 0x01D731, 0, { 0x0003C6 }},           /* 1D731; 03C6; Additional folding */
+  { 0x01D732, 0, { 0x0003C7 }},           /* 1D732; 03C7; Additional folding */
+  { 0x01D733, 0, { 0x0003C8 }},           /* 1D733; 03C8; Additional folding */
+  { 0x01D734, 0, { 0x0003C9 }},           /* 1D734; 03C9; Additional folding */
+  { 0x01D747, 0, { 0x0003C3 }},           /* 1D747; 03C3; Additional folding */
+  { 0x01D756, 0, { 0x0003B1 }},           /* 1D756; 03B1; Additional folding */
+  { 0x01D757, 0, { 0x0003B2 }},           /* 1D757; 03B2; Additional folding */
+  { 0x01D758, 0, { 0x0003B3 }},           /* 1D758; 03B3; Additional folding */
+  { 0x01D759, 0, { 0x0003B4 }},           /* 1D759; 03B4; Additional folding */
+  { 0x01D75A, 0, { 0x0003B5 }},           /* 1D75A; 03B5; Additional folding */
+  { 0x01D75B, 0, { 0x0003B6 }},           /* 1D75B; 03B6; Additional folding */
+  { 0x01D75C, 0, { 0x0003B7 }},           /* 1D75C; 03B7; Additional folding */
+  { 0x01D75D, 0, { 0x0003B8 }},           /* 1D75D; 03B8; Additional folding */
+  { 0x01D75E, 0, { 0x0003B9 }},           /* 1D75E; 03B9; Additional folding */
+  { 0x01D75F, 0, { 0x0003BA }},           /* 1D75F; 03BA; Additional folding */
+  { 0x01D760, 0, { 0x0003BB }},           /* 1D760; 03BB; Additional folding */
+  { 0x01D761, 0, { 0x0003BC }},           /* 1D761; 03BC; Additional folding */
+  { 0x01D762, 0, { 0x0003BD }},           /* 1D762; 03BD; Additional folding */
+  { 0x01D763, 0, { 0x0003BE }},           /* 1D763; 03BE; Additional folding */
+  { 0x01D764, 0, { 0x0003BF }},           /* 1D764; 03BF; Additional folding */
+  { 0x01D765, 0, { 0x0003C0 }},           /* 1D765; 03C0; Additional folding */
+  { 0x01D766, 0, { 0x0003C1 }},           /* 1D766; 03C1; Additional folding */
+  { 0x01D767, 0, { 0x0003B8 }},           /* 1D767; 03B8; Additional folding */
+  { 0x01D768, 0, { 0x0003C3 }},           /* 1D768; 03C3; Additional folding */
+  { 0x01D769, 0, { 0x0003C4 }},           /* 1D769; 03C4; Additional folding */
+  { 0x01D76A, 0, { 0x0003C5 }},           /* 1D76A; 03C5; Additional folding */
+  { 0x01D76B, 0, { 0x0003C6 }},           /* 1D76B; 03C6; Additional folding */
+  { 0x01D76C, 0, { 0x0003C7 }},           /* 1D76C; 03C7; Additional folding */
+  { 0x01D76D, 0, { 0x0003C8 }},           /* 1D76D; 03C8; Additional folding */
+  { 0x01D76E, 0, { 0x0003C9 }},           /* 1D76E; 03C9; Additional folding */
+  { 0x01D781, 0, { 0x0003C3 }},           /* 1D781; 03C3; Additional folding */
+  { 0x01D790, 0, { 0x0003B1 }},           /* 1D790; 03B1; Additional folding */
+  { 0x01D791, 0, { 0x0003B2 }},           /* 1D791; 03B2; Additional folding */
+  { 0x01D792, 0, { 0x0003B3 }},           /* 1D792; 03B3; Additional folding */
+  { 0x01D793, 0, { 0x0003B4 }},           /* 1D793; 03B4; Additional folding */
+  { 0x01D794, 0, { 0x0003B5 }},           /* 1D794; 03B5; Additional folding */
+  { 0x01D795, 0, { 0x0003B6 }},           /* 1D795; 03B6; Additional folding */
+  { 0x01D796, 0, { 0x0003B7 }},           /* 1D796; 03B7; Additional folding */
+  { 0x01D797, 0, { 0x0003B8 }},           /* 1D797; 03B8; Additional folding */
+  { 0x01D798, 0, { 0x0003B9 }},           /* 1D798; 03B9; Additional folding */
+  { 0x01D799, 0, { 0x0003BA }},           /* 1D799; 03BA; Additional folding */
+  { 0x01D79A, 0, { 0x0003BB }},           /* 1D79A; 03BB; Additional folding */
+  { 0x01D79B, 0, { 0x0003BC }},           /* 1D79B; 03BC; Additional folding */
+  { 0x01D79C, 0, { 0x0003BD }},           /* 1D79C; 03BD; Additional folding */
+  { 0x01D79D, 0, { 0x0003BE }},           /* 1D79D; 03BE; Additional folding */
+  { 0x01D79E, 0, { 0x0003BF }},           /* 1D79E; 03BF; Additional folding */
+  { 0x01D79F, 0, { 0x0003C0 }},           /* 1D79F; 03C0; Additional folding */
+  { 0x01D7A0, 0, { 0x0003C1 }},           /* 1D7A0; 03C1; Additional folding */
+  { 0x01D7A1, 0, { 0x0003B8 }},           /* 1D7A1; 03B8; Additional folding */
+  { 0x01D7A2, 0, { 0x0003C3 }},           /* 1D7A2; 03C3; Additional folding */
+  { 0x01D7A3, 0, { 0x0003C4 }},           /* 1D7A3; 03C4; Additional folding */
+  { 0x01D7A4, 0, { 0x0003C5 }},           /* 1D7A4; 03C5; Additional folding */
+  { 0x01D7A5, 0, { 0x0003C6 }},           /* 1D7A5; 03C6; Additional folding */
+  { 0x01D7A6, 0, { 0x0003C7 }},           /* 1D7A6; 03C7; Additional folding */
+  { 0x01D7A7, 0, { 0x0003C8 }},           /* 1D7A7; 03C8; Additional folding */
+  { 0x01D7A8, 0, { 0x0003C9 }},           /* 1D7A8; 03C9; Additional folding */
+  { 0x01D7BB, 0, { 0x0003C3 }},           /* 1D7BB; 03C3; Additional folding */
+  { 0 },
+};
+
+
+/*
+ * B.3 Mapping for case-folding used with no normalization
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_B_3[] = {
+  { 0x000041, 0, { 0x000061 }},                      /* 0041; 0061; Case map */
+  { 0x000042, 0, { 0x000062 }},                      /* 0042; 0062; Case map */
+  { 0x000043, 0, { 0x000063 }},                      /* 0043; 0063; Case map */
+  { 0x000044, 0, { 0x000064 }},                      /* 0044; 0064; Case map */
+  { 0x000045, 0, { 0x000065 }},                      /* 0045; 0065; Case map */
+  { 0x000046, 0, { 0x000066 }},                      /* 0046; 0066; Case map */
+  { 0x000047, 0, { 0x000067 }},                      /* 0047; 0067; Case map */
+  { 0x000048, 0, { 0x000068 }},                      /* 0048; 0068; Case map */
+  { 0x000049, 0, { 0x000069 }},                      /* 0049; 0069; Case map */
+  { 0x00004A, 0, { 0x00006A }},                      /* 004A; 006A; Case map */
+  { 0x00004B, 0, { 0x00006B }},                      /* 004B; 006B; Case map */
+  { 0x00004C, 0, { 0x00006C }},                      /* 004C; 006C; Case map */
+  { 0x00004D, 0, { 0x00006D }},                      /* 004D; 006D; Case map */
+  { 0x00004E, 0, { 0x00006E }},                      /* 004E; 006E; Case map */
+  { 0x00004F, 0, { 0x00006F }},                      /* 004F; 006F; Case map */
+  { 0x000050, 0, { 0x000070 }},                      /* 0050; 0070; Case map */
+  { 0x000051, 0, { 0x000071 }},                      /* 0051; 0071; Case map */
+  { 0x000052, 0, { 0x000072 }},                      /* 0052; 0072; Case map */
+  { 0x000053, 0, { 0x000073 }},                      /* 0053; 0073; Case map */
+  { 0x000054, 0, { 0x000074 }},                      /* 0054; 0074; Case map */
+  { 0x000055, 0, { 0x000075 }},                      /* 0055; 0075; Case map */
+  { 0x000056, 0, { 0x000076 }},                      /* 0056; 0076; Case map */
+  { 0x000057, 0, { 0x000077 }},                      /* 0057; 0077; Case map */
+  { 0x000058, 0, { 0x000078 }},                      /* 0058; 0078; Case map */
+  { 0x000059, 0, { 0x000079 }},                      /* 0059; 0079; Case map */
+  { 0x00005A, 0, { 0x00007A }},                      /* 005A; 007A; Case map */
+  { 0x0000B5, 0, { 0x0003BC }},                      /* 00B5; 03BC; Case map */
+  { 0x0000C0, 0, { 0x0000E0 }},                      /* 00C0; 00E0; Case map */
+  { 0x0000C1, 0, { 0x0000E1 }},                      /* 00C1; 00E1; Case map */
+  { 0x0000C2, 0, { 0x0000E2 }},                      /* 00C2; 00E2; Case map */
+  { 0x0000C3, 0, { 0x0000E3 }},                      /* 00C3; 00E3; Case map */
+  { 0x0000C4, 0, { 0x0000E4 }},                      /* 00C4; 00E4; Case map */
+  { 0x0000C5, 0, { 0x0000E5 }},                      /* 00C5; 00E5; Case map */
+  { 0x0000C6, 0, { 0x0000E6 }},                      /* 00C6; 00E6; Case map */
+  { 0x0000C7, 0, { 0x0000E7 }},                      /* 00C7; 00E7; Case map */
+  { 0x0000C8, 0, { 0x0000E8 }},                      /* 00C8; 00E8; Case map */
+  { 0x0000C9, 0, { 0x0000E9 }},                      /* 00C9; 00E9; Case map */
+  { 0x0000CA, 0, { 0x0000EA }},                      /* 00CA; 00EA; Case map */
+  { 0x0000CB, 0, { 0x0000EB }},                      /* 00CB; 00EB; Case map */
+  { 0x0000CC, 0, { 0x0000EC }},                      /* 00CC; 00EC; Case map */
+  { 0x0000CD, 0, { 0x0000ED }},                      /* 00CD; 00ED; Case map */
+  { 0x0000CE, 0, { 0x0000EE }},                      /* 00CE; 00EE; Case map */
+  { 0x0000CF, 0, { 0x0000EF }},                      /* 00CF; 00EF; Case map */
+  { 0x0000D0, 0, { 0x0000F0 }},                      /* 00D0; 00F0; Case map */
+  { 0x0000D1, 0, { 0x0000F1 }},                      /* 00D1; 00F1; Case map */
+  { 0x0000D2, 0, { 0x0000F2 }},                      /* 00D2; 00F2; Case map */
+  { 0x0000D3, 0, { 0x0000F3 }},                      /* 00D3; 00F3; Case map */
+  { 0x0000D4, 0, { 0x0000F4 }},                      /* 00D4; 00F4; Case map */
+  { 0x0000D5, 0, { 0x0000F5 }},                      /* 00D5; 00F5; Case map */
+  { 0x0000D6, 0, { 0x0000F6 }},                      /* 00D6; 00F6; Case map */
+  { 0x0000D8, 0, { 0x0000F8 }},                      /* 00D8; 00F8; Case map */
+  { 0x0000D9, 0, { 0x0000F9 }},                      /* 00D9; 00F9; Case map */
+  { 0x0000DA, 0, { 0x0000FA }},                      /* 00DA; 00FA; Case map */
+  { 0x0000DB, 0, { 0x0000FB }},                      /* 00DB; 00FB; Case map */
+  { 0x0000DC, 0, { 0x0000FC }},                      /* 00DC; 00FC; Case map */
+  { 0x0000DD, 0, { 0x0000FD }},                      /* 00DD; 00FD; Case map */
+  { 0x0000DE, 0, { 0x0000FE }},                      /* 00DE; 00FE; Case map */
+  { 0x0000DF, 0, { 0x000073,                    /* 00DF; 0073 0073; Case map */
+                   0x000073 }},
+  { 0x000100, 0, { 0x000101 }},                      /* 0100; 0101; Case map */
+  { 0x000102, 0, { 0x000103 }},                      /* 0102; 0103; Case map */
+  { 0x000104, 0, { 0x000105 }},                      /* 0104; 0105; Case map */
+  { 0x000106, 0, { 0x000107 }},                      /* 0106; 0107; Case map */
+  { 0x000108, 0, { 0x000109 }},                      /* 0108; 0109; Case map */
+  { 0x00010A, 0, { 0x00010B }},                      /* 010A; 010B; Case map */
+  { 0x00010C, 0, { 0x00010D }},                      /* 010C; 010D; Case map */
+  { 0x00010E, 0, { 0x00010F }},                      /* 010E; 010F; Case map */
+  { 0x000110, 0, { 0x000111 }},                      /* 0110; 0111; Case map */
+  { 0x000112, 0, { 0x000113 }},                      /* 0112; 0113; Case map */
+  { 0x000114, 0, { 0x000115 }},                      /* 0114; 0115; Case map */
+  { 0x000116, 0, { 0x000117 }},                      /* 0116; 0117; Case map */
+  { 0x000118, 0, { 0x000119 }},                      /* 0118; 0119; Case map */
+  { 0x00011A, 0, { 0x00011B }},                      /* 011A; 011B; Case map */
+  { 0x00011C, 0, { 0x00011D }},                      /* 011C; 011D; Case map */
+  { 0x00011E, 0, { 0x00011F }},                      /* 011E; 011F; Case map */
+  { 0x000120, 0, { 0x000121 }},                      /* 0120; 0121; Case map */
+  { 0x000122, 0, { 0x000123 }},                      /* 0122; 0123; Case map */
+  { 0x000124, 0, { 0x000125 }},                      /* 0124; 0125; Case map */
+  { 0x000126, 0, { 0x000127 }},                      /* 0126; 0127; Case map */
+  { 0x000128, 0, { 0x000129 }},                      /* 0128; 0129; Case map */
+  { 0x00012A, 0, { 0x00012B }},                      /* 012A; 012B; Case map */
+  { 0x00012C, 0, { 0x00012D }},                      /* 012C; 012D; Case map */
+  { 0x00012E, 0, { 0x00012F }},                      /* 012E; 012F; Case map */
+  { 0x000130, 0, { 0x000069,                    /* 0130; 0069 0307; Case map */
+                   0x000307 }},
+  { 0x000132, 0, { 0x000133 }},                      /* 0132; 0133; Case map */
+  { 0x000134, 0, { 0x000135 }},                      /* 0134; 0135; Case map */
+  { 0x000136, 0, { 0x000137 }},                      /* 0136; 0137; Case map */
+  { 0x000139, 0, { 0x00013A }},                      /* 0139; 013A; Case map */
+  { 0x00013B, 0, { 0x00013C }},                      /* 013B; 013C; Case map */
+  { 0x00013D, 0, { 0x00013E }},                      /* 013D; 013E; Case map */
+  { 0x00013F, 0, { 0x000140 }},                      /* 013F; 0140; Case map */
+  { 0x000141, 0, { 0x000142 }},                      /* 0141; 0142; Case map */
+  { 0x000143, 0, { 0x000144 }},                      /* 0143; 0144; Case map */
+  { 0x000145, 0, { 0x000146 }},                      /* 0145; 0146; Case map */
+  { 0x000147, 0, { 0x000148 }},                      /* 0147; 0148; Case map */
+  { 0x000149, 0, { 0x0002BC,                    /* 0149; 02BC 006E; Case map */
+                   0x00006E }},
+  { 0x00014A, 0, { 0x00014B }},                      /* 014A; 014B; Case map */
+  { 0x00014C, 0, { 0x00014D }},                      /* 014C; 014D; Case map */
+  { 0x00014E, 0, { 0x00014F }},                      /* 014E; 014F; Case map */
+  { 0x000150, 0, { 0x000151 }},                      /* 0150; 0151; Case map */
+  { 0x000152, 0, { 0x000153 }},                      /* 0152; 0153; Case map */
+  { 0x000154, 0, { 0x000155 }},                      /* 0154; 0155; Case map */
+  { 0x000156, 0, { 0x000157 }},                      /* 0156; 0157; Case map */
+  { 0x000158, 0, { 0x000159 }},                      /* 0158; 0159; Case map */
+  { 0x00015A, 0, { 0x00015B }},                      /* 015A; 015B; Case map */
+  { 0x00015C, 0, { 0x00015D }},                      /* 015C; 015D; Case map */
+  { 0x00015E, 0, { 0x00015F }},                      /* 015E; 015F; Case map */
+  { 0x000160, 0, { 0x000161 }},                      /* 0160; 0161; Case map */
+  { 0x000162, 0, { 0x000163 }},                      /* 0162; 0163; Case map */
+  { 0x000164, 0, { 0x000165 }},                      /* 0164; 0165; Case map */
+  { 0x000166, 0, { 0x000167 }},                      /* 0166; 0167; Case map */
+  { 0x000168, 0, { 0x000169 }},                      /* 0168; 0169; Case map */
+  { 0x00016A, 0, { 0x00016B }},                      /* 016A; 016B; Case map */
+  { 0x00016C, 0, { 0x00016D }},                      /* 016C; 016D; Case map */
+  { 0x00016E, 0, { 0x00016F }},                      /* 016E; 016F; Case map */
+  { 0x000170, 0, { 0x000171 }},                      /* 0170; 0171; Case map */
+  { 0x000172, 0, { 0x000173 }},                      /* 0172; 0173; Case map */
+  { 0x000174, 0, { 0x000175 }},                      /* 0174; 0175; Case map */
+  { 0x000176, 0, { 0x000177 }},                      /* 0176; 0177; Case map */
+  { 0x000178, 0, { 0x0000FF }},                      /* 0178; 00FF; Case map */
+  { 0x000179, 0, { 0x00017A }},                      /* 0179; 017A; Case map */
+  { 0x00017B, 0, { 0x00017C }},                      /* 017B; 017C; Case map */
+  { 0x00017D, 0, { 0x00017E }},                      /* 017D; 017E; Case map */
+  { 0x00017F, 0, { 0x000073 }},                      /* 017F; 0073; Case map */
+  { 0x000181, 0, { 0x000253 }},                      /* 0181; 0253; Case map */
+  { 0x000182, 0, { 0x000183 }},                      /* 0182; 0183; Case map */
+  { 0x000184, 0, { 0x000185 }},                      /* 0184; 0185; Case map */
+  { 0x000186, 0, { 0x000254 }},                      /* 0186; 0254; Case map */
+  { 0x000187, 0, { 0x000188 }},                      /* 0187; 0188; Case map */
+  { 0x000189, 0, { 0x000256 }},                      /* 0189; 0256; Case map */
+  { 0x00018A, 0, { 0x000257 }},                      /* 018A; 0257; Case map */
+  { 0x00018B, 0, { 0x00018C }},                      /* 018B; 018C; Case map */
+  { 0x00018E, 0, { 0x0001DD }},                      /* 018E; 01DD; Case map */
+  { 0x00018F, 0, { 0x000259 }},                      /* 018F; 0259; Case map */
+  { 0x000190, 0, { 0x00025B }},                      /* 0190; 025B; Case map */
+  { 0x000191, 0, { 0x000192 }},                      /* 0191; 0192; Case map */
+  { 0x000193, 0, { 0x000260 }},                      /* 0193; 0260; Case map */
+  { 0x000194, 0, { 0x000263 }},                      /* 0194; 0263; Case map */
+  { 0x000196, 0, { 0x000269 }},                      /* 0196; 0269; Case map */
+  { 0x000197, 0, { 0x000268 }},                      /* 0197; 0268; Case map */
+  { 0x000198, 0, { 0x000199 }},                      /* 0198; 0199; Case map */
+  { 0x00019C, 0, { 0x00026F }},                      /* 019C; 026F; Case map */
+  { 0x00019D, 0, { 0x000272 }},                      /* 019D; 0272; Case map */
+  { 0x00019F, 0, { 0x000275 }},                      /* 019F; 0275; Case map */
+  { 0x0001A0, 0, { 0x0001A1 }},                      /* 01A0; 01A1; Case map */
+  { 0x0001A2, 0, { 0x0001A3 }},                      /* 01A2; 01A3; Case map */
+  { 0x0001A4, 0, { 0x0001A5 }},                      /* 01A4; 01A5; Case map */
+  { 0x0001A6, 0, { 0x000280 }},                      /* 01A6; 0280; Case map */
+  { 0x0001A7, 0, { 0x0001A8 }},                      /* 01A7; 01A8; Case map */
+  { 0x0001A9, 0, { 0x000283 }},                      /* 01A9; 0283; Case map */
+  { 0x0001AC, 0, { 0x0001AD }},                      /* 01AC; 01AD; Case map */
+  { 0x0001AE, 0, { 0x000288 }},                      /* 01AE; 0288; Case map */
+  { 0x0001AF, 0, { 0x0001B0 }},                      /* 01AF; 01B0; Case map */
+  { 0x0001B1, 0, { 0x00028A }},                      /* 01B1; 028A; Case map */
+  { 0x0001B2, 0, { 0x00028B }},                      /* 01B2; 028B; Case map */
+  { 0x0001B3, 0, { 0x0001B4 }},                      /* 01B3; 01B4; Case map */
+  { 0x0001B5, 0, { 0x0001B6 }},                      /* 01B5; 01B6; Case map */
+  { 0x0001B7, 0, { 0x000292 }},                      /* 01B7; 0292; Case map */
+  { 0x0001B8, 0, { 0x0001B9 }},                      /* 01B8; 01B9; Case map */
+  { 0x0001BC, 0, { 0x0001BD }},                      /* 01BC; 01BD; Case map */
+  { 0x0001C4, 0, { 0x0001C6 }},                      /* 01C4; 01C6; Case map */
+  { 0x0001C5, 0, { 0x0001C6 }},                      /* 01C5; 01C6; Case map */
+  { 0x0001C7, 0, { 0x0001C9 }},                      /* 01C7; 01C9; Case map */
+  { 0x0001C8, 0, { 0x0001C9 }},                      /* 01C8; 01C9; Case map */
+  { 0x0001CA, 0, { 0x0001CC }},                      /* 01CA; 01CC; Case map */
+  { 0x0001CB, 0, { 0x0001CC }},                      /* 01CB; 01CC; Case map */
+  { 0x0001CD, 0, { 0x0001CE }},                      /* 01CD; 01CE; Case map */
+  { 0x0001CF, 0, { 0x0001D0 }},                      /* 01CF; 01D0; Case map */
+  { 0x0001D1, 0, { 0x0001D2 }},                      /* 01D1; 01D2; Case map */
+  { 0x0001D3, 0, { 0x0001D4 }},                      /* 01D3; 01D4; Case map */
+  { 0x0001D5, 0, { 0x0001D6 }},                      /* 01D5; 01D6; Case map */
+  { 0x0001D7, 0, { 0x0001D8 }},                      /* 01D7; 01D8; Case map */
+  { 0x0001D9, 0, { 0x0001DA }},                      /* 01D9; 01DA; Case map */
+  { 0x0001DB, 0, { 0x0001DC }},                      /* 01DB; 01DC; Case map */
+  { 0x0001DE, 0, { 0x0001DF }},                      /* 01DE; 01DF; Case map */
+  { 0x0001E0, 0, { 0x0001E1 }},                      /* 01E0; 01E1; Case map */
+  { 0x0001E2, 0, { 0x0001E3 }},                      /* 01E2; 01E3; Case map */
+  { 0x0001E4, 0, { 0x0001E5 }},                      /* 01E4; 01E5; Case map */
+  { 0x0001E6, 0, { 0x0001E7 }},                      /* 01E6; 01E7; Case map */
+  { 0x0001E8, 0, { 0x0001E9 }},                      /* 01E8; 01E9; Case map */
+  { 0x0001EA, 0, { 0x0001EB }},                      /* 01EA; 01EB; Case map */
+  { 0x0001EC, 0, { 0x0001ED }},                      /* 01EC; 01ED; Case map */
+  { 0x0001EE, 0, { 0x0001EF }},                      /* 01EE; 01EF; Case map */
+  { 0x0001F0, 0, { 0x00006A,                    /* 01F0; 006A 030C; Case map */
+                   0x00030C }},
+  { 0x0001F1, 0, { 0x0001F3 }},                      /* 01F1; 01F3; Case map */
+  { 0x0001F2, 0, { 0x0001F3 }},                      /* 01F2; 01F3; Case map */
+  { 0x0001F4, 0, { 0x0001F5 }},                      /* 01F4; 01F5; Case map */
+  { 0x0001F6, 0, { 0x000195 }},                      /* 01F6; 0195; Case map */
+  { 0x0001F7, 0, { 0x0001BF }},                      /* 01F7; 01BF; Case map */
+  { 0x0001F8, 0, { 0x0001F9 }},                      /* 01F8; 01F9; Case map */
+  { 0x0001FA, 0, { 0x0001FB }},                      /* 01FA; 01FB; Case map */
+  { 0x0001FC, 0, { 0x0001FD }},                      /* 01FC; 01FD; Case map */
+  { 0x0001FE, 0, { 0x0001FF }},                      /* 01FE; 01FF; Case map */
+  { 0x000200, 0, { 0x000201 }},                      /* 0200; 0201; Case map */
+  { 0x000202, 0, { 0x000203 }},                      /* 0202; 0203; Case map */
+  { 0x000204, 0, { 0x000205 }},                      /* 0204; 0205; Case map */
+  { 0x000206, 0, { 0x000207 }},                      /* 0206; 0207; Case map */
+  { 0x000208, 0, { 0x000209 }},                      /* 0208; 0209; Case map */
+  { 0x00020A, 0, { 0x00020B }},                      /* 020A; 020B; Case map */
+  { 0x00020C, 0, { 0x00020D }},                      /* 020C; 020D; Case map */
+  { 0x00020E, 0, { 0x00020F }},                      /* 020E; 020F; Case map */
+  { 0x000210, 0, { 0x000211 }},                      /* 0210; 0211; Case map */
+  { 0x000212, 0, { 0x000213 }},                      /* 0212; 0213; Case map */
+  { 0x000214, 0, { 0x000215 }},                      /* 0214; 0215; Case map */
+  { 0x000216, 0, { 0x000217 }},                      /* 0216; 0217; Case map */
+  { 0x000218, 0, { 0x000219 }},                      /* 0218; 0219; Case map */
+  { 0x00021A, 0, { 0x00021B }},                      /* 021A; 021B; Case map */
+  { 0x00021C, 0, { 0x00021D }},                      /* 021C; 021D; Case map */
+  { 0x00021E, 0, { 0x00021F }},                      /* 021E; 021F; Case map */
+  { 0x000220, 0, { 0x00019E }},                      /* 0220; 019E; Case map */
+  { 0x000222, 0, { 0x000223 }},                      /* 0222; 0223; Case map */
+  { 0x000224, 0, { 0x000225 }},                      /* 0224; 0225; Case map */
+  { 0x000226, 0, { 0x000227 }},                      /* 0226; 0227; Case map */
+  { 0x000228, 0, { 0x000229 }},                      /* 0228; 0229; Case map */
+  { 0x00022A, 0, { 0x00022B }},                      /* 022A; 022B; Case map */
+  { 0x00022C, 0, { 0x00022D }},                      /* 022C; 022D; Case map */
+  { 0x00022E, 0, { 0x00022F }},                      /* 022E; 022F; Case map */
+  { 0x000230, 0, { 0x000231 }},                      /* 0230; 0231; Case map */
+  { 0x000232, 0, { 0x000233 }},                      /* 0232; 0233; Case map */
+  { 0x000345, 0, { 0x0003B9 }},                      /* 0345; 03B9; Case map */
+  { 0x000386, 0, { 0x0003AC }},                      /* 0386; 03AC; Case map */
+  { 0x000388, 0, { 0x0003AD }},                      /* 0388; 03AD; Case map */
+  { 0x000389, 0, { 0x0003AE }},                      /* 0389; 03AE; Case map */
+  { 0x00038A, 0, { 0x0003AF }},                      /* 038A; 03AF; Case map */
+  { 0x00038C, 0, { 0x0003CC }},                      /* 038C; 03CC; Case map */
+  { 0x00038E, 0, { 0x0003CD }},                      /* 038E; 03CD; Case map */
+  { 0x00038F, 0, { 0x0003CE }},                      /* 038F; 03CE; Case map */
+  { 0x000390, 0, { 0x0003B9,               /* 0390; 03B9 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x000391, 0, { 0x0003B1 }},                      /* 0391; 03B1; Case map */
+  { 0x000392, 0, { 0x0003B2 }},                      /* 0392; 03B2; Case map */
+  { 0x000393, 0, { 0x0003B3 }},                      /* 0393; 03B3; Case map */
+  { 0x000394, 0, { 0x0003B4 }},                      /* 0394; 03B4; Case map */
+  { 0x000395, 0, { 0x0003B5 }},                      /* 0395; 03B5; Case map */
+  { 0x000396, 0, { 0x0003B6 }},                      /* 0396; 03B6; Case map */
+  { 0x000397, 0, { 0x0003B7 }},                      /* 0397; 03B7; Case map */
+  { 0x000398, 0, { 0x0003B8 }},                      /* 0398; 03B8; Case map */
+  { 0x000399, 0, { 0x0003B9 }},                      /* 0399; 03B9; Case map */
+  { 0x00039A, 0, { 0x0003BA }},                      /* 039A; 03BA; Case map */
+  { 0x00039B, 0, { 0x0003BB }},                      /* 039B; 03BB; Case map */
+  { 0x00039C, 0, { 0x0003BC }},                      /* 039C; 03BC; Case map */
+  { 0x00039D, 0, { 0x0003BD }},                      /* 039D; 03BD; Case map */
+  { 0x00039E, 0, { 0x0003BE }},                      /* 039E; 03BE; Case map */
+  { 0x00039F, 0, { 0x0003BF }},                      /* 039F; 03BF; Case map */
+  { 0x0003A0, 0, { 0x0003C0 }},                      /* 03A0; 03C0; Case map */
+  { 0x0003A1, 0, { 0x0003C1 }},                      /* 03A1; 03C1; Case map */
+  { 0x0003A3, 0, { 0x0003C3 }},                      /* 03A3; 03C3; Case map */
+  { 0x0003A4, 0, { 0x0003C4 }},                      /* 03A4; 03C4; Case map */
+  { 0x0003A5, 0, { 0x0003C5 }},                      /* 03A5; 03C5; Case map */
+  { 0x0003A6, 0, { 0x0003C6 }},                      /* 03A6; 03C6; Case map */
+  { 0x0003A7, 0, { 0x0003C7 }},                      /* 03A7; 03C7; Case map */
+  { 0x0003A8, 0, { 0x0003C8 }},                      /* 03A8; 03C8; Case map */
+  { 0x0003A9, 0, { 0x0003C9 }},                      /* 03A9; 03C9; Case map */
+  { 0x0003AA, 0, { 0x0003CA }},                      /* 03AA; 03CA; Case map */
+  { 0x0003AB, 0, { 0x0003CB }},                      /* 03AB; 03CB; Case map */
+  { 0x0003B0, 0, { 0x0003C5,               /* 03B0; 03C5 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x0003C2, 0, { 0x0003C3 }},                      /* 03C2; 03C3; Case map */
+  { 0x0003D0, 0, { 0x0003B2 }},                      /* 03D0; 03B2; Case map */
+  { 0x0003D1, 0, { 0x0003B8 }},                      /* 03D1; 03B8; Case map */
+  { 0x0003D5, 0, { 0x0003C6 }},                      /* 03D5; 03C6; Case map */
+  { 0x0003D6, 0, { 0x0003C0 }},                      /* 03D6; 03C0; Case map */
+  { 0x0003D8, 0, { 0x0003D9 }},                      /* 03D8; 03D9; Case map */
+  { 0x0003DA, 0, { 0x0003DB }},                      /* 03DA; 03DB; Case map */
+  { 0x0003DC, 0, { 0x0003DD }},                      /* 03DC; 03DD; Case map */
+  { 0x0003DE, 0, { 0x0003DF }},                      /* 03DE; 03DF; Case map */
+  { 0x0003E0, 0, { 0x0003E1 }},                      /* 03E0; 03E1; Case map */
+  { 0x0003E2, 0, { 0x0003E3 }},                      /* 03E2; 03E3; Case map */
+  { 0x0003E4, 0, { 0x0003E5 }},                      /* 03E4; 03E5; Case map */
+  { 0x0003E6, 0, { 0x0003E7 }},                      /* 03E6; 03E7; Case map */
+  { 0x0003E8, 0, { 0x0003E9 }},                      /* 03E8; 03E9; Case map */
+  { 0x0003EA, 0, { 0x0003EB }},                      /* 03EA; 03EB; Case map */
+  { 0x0003EC, 0, { 0x0003ED }},                      /* 03EC; 03ED; Case map */
+  { 0x0003EE, 0, { 0x0003EF }},                      /* 03EE; 03EF; Case map */
+  { 0x0003F0, 0, { 0x0003BA }},                      /* 03F0; 03BA; Case map */
+  { 0x0003F1, 0, { 0x0003C1 }},                      /* 03F1; 03C1; Case map */
+  { 0x0003F2, 0, { 0x0003C3 }},                      /* 03F2; 03C3; Case map */
+  { 0x0003F4, 0, { 0x0003B8 }},                      /* 03F4; 03B8; Case map */
+  { 0x0003F5, 0, { 0x0003B5 }},                      /* 03F5; 03B5; Case map */
+  { 0x000400, 0, { 0x000450 }},                      /* 0400; 0450; Case map */
+  { 0x000401, 0, { 0x000451 }},                      /* 0401; 0451; Case map */
+  { 0x000402, 0, { 0x000452 }},                      /* 0402; 0452; Case map */
+  { 0x000403, 0, { 0x000453 }},                      /* 0403; 0453; Case map */
+  { 0x000404, 0, { 0x000454 }},                      /* 0404; 0454; Case map */
+  { 0x000405, 0, { 0x000455 }},                      /* 0405; 0455; Case map */
+  { 0x000406, 0, { 0x000456 }},                      /* 0406; 0456; Case map */
+  { 0x000407, 0, { 0x000457 }},                      /* 0407; 0457; Case map */
+  { 0x000408, 0, { 0x000458 }},                      /* 0408; 0458; Case map */
+  { 0x000409, 0, { 0x000459 }},                      /* 0409; 0459; Case map */
+  { 0x00040A, 0, { 0x00045A }},                      /* 040A; 045A; Case map */
+  { 0x00040B, 0, { 0x00045B }},                      /* 040B; 045B; Case map */
+  { 0x00040C, 0, { 0x00045C }},                      /* 040C; 045C; Case map */
+  { 0x00040D, 0, { 0x00045D }},                      /* 040D; 045D; Case map */
+  { 0x00040E, 0, { 0x00045E }},                      /* 040E; 045E; Case map */
+  { 0x00040F, 0, { 0x00045F }},                      /* 040F; 045F; Case map */
+  { 0x000410, 0, { 0x000430 }},                      /* 0410; 0430; Case map */
+  { 0x000411, 0, { 0x000431 }},                      /* 0411; 0431; Case map */
+  { 0x000412, 0, { 0x000432 }},                      /* 0412; 0432; Case map */
+  { 0x000413, 0, { 0x000433 }},                      /* 0413; 0433; Case map */
+  { 0x000414, 0, { 0x000434 }},                      /* 0414; 0434; Case map */
+  { 0x000415, 0, { 0x000435 }},                      /* 0415; 0435; Case map */
+  { 0x000416, 0, { 0x000436 }},                      /* 0416; 0436; Case map */
+  { 0x000417, 0, { 0x000437 }},                      /* 0417; 0437; Case map */
+  { 0x000418, 0, { 0x000438 }},                      /* 0418; 0438; Case map */
+  { 0x000419, 0, { 0x000439 }},                      /* 0419; 0439; Case map */
+  { 0x00041A, 0, { 0x00043A }},                      /* 041A; 043A; Case map */
+  { 0x00041B, 0, { 0x00043B }},                      /* 041B; 043B; Case map */
+  { 0x00041C, 0, { 0x00043C }},                      /* 041C; 043C; Case map */
+  { 0x00041D, 0, { 0x00043D }},                      /* 041D; 043D; Case map */
+  { 0x00041E, 0, { 0x00043E }},                      /* 041E; 043E; Case map */
+  { 0x00041F, 0, { 0x00043F }},                      /* 041F; 043F; Case map */
+  { 0x000420, 0, { 0x000440 }},                      /* 0420; 0440; Case map */
+  { 0x000421, 0, { 0x000441 }},                      /* 0421; 0441; Case map */
+  { 0x000422, 0, { 0x000442 }},                      /* 0422; 0442; Case map */
+  { 0x000423, 0, { 0x000443 }},                      /* 0423; 0443; Case map */
+  { 0x000424, 0, { 0x000444 }},                      /* 0424; 0444; Case map */
+  { 0x000425, 0, { 0x000445 }},                      /* 0425; 0445; Case map */
+  { 0x000426, 0, { 0x000446 }},                      /* 0426; 0446; Case map */
+  { 0x000427, 0, { 0x000447 }},                      /* 0427; 0447; Case map */
+  { 0x000428, 0, { 0x000448 }},                      /* 0428; 0448; Case map */
+  { 0x000429, 0, { 0x000449 }},                      /* 0429; 0449; Case map */
+  { 0x00042A, 0, { 0x00044A }},                      /* 042A; 044A; Case map */
+  { 0x00042B, 0, { 0x00044B }},                      /* 042B; 044B; Case map */
+  { 0x00042C, 0, { 0x00044C }},                      /* 042C; 044C; Case map */
+  { 0x00042D, 0, { 0x00044D }},                      /* 042D; 044D; Case map */
+  { 0x00042E, 0, { 0x00044E }},                      /* 042E; 044E; Case map */
+  { 0x00042F, 0, { 0x00044F }},                      /* 042F; 044F; Case map */
+  { 0x000460, 0, { 0x000461 }},                      /* 0460; 0461; Case map */
+  { 0x000462, 0, { 0x000463 }},                      /* 0462; 0463; Case map */
+  { 0x000464, 0, { 0x000465 }},                      /* 0464; 0465; Case map */
+  { 0x000466, 0, { 0x000467 }},                      /* 0466; 0467; Case map */
+  { 0x000468, 0, { 0x000469 }},                      /* 0468; 0469; Case map */
+  { 0x00046A, 0, { 0x00046B }},                      /* 046A; 046B; Case map */
+  { 0x00046C, 0, { 0x00046D }},                      /* 046C; 046D; Case map */
+  { 0x00046E, 0, { 0x00046F }},                      /* 046E; 046F; Case map */
+  { 0x000470, 0, { 0x000471 }},                      /* 0470; 0471; Case map */
+  { 0x000472, 0, { 0x000473 }},                      /* 0472; 0473; Case map */
+  { 0x000474, 0, { 0x000475 }},                      /* 0474; 0475; Case map */
+  { 0x000476, 0, { 0x000477 }},                      /* 0476; 0477; Case map */
+  { 0x000478, 0, { 0x000479 }},                      /* 0478; 0479; Case map */
+  { 0x00047A, 0, { 0x00047B }},                      /* 047A; 047B; Case map */
+  { 0x00047C, 0, { 0x00047D }},                      /* 047C; 047D; Case map */
+  { 0x00047E, 0, { 0x00047F }},                      /* 047E; 047F; Case map */
+  { 0x000480, 0, { 0x000481 }},                      /* 0480; 0481; Case map */
+  { 0x00048A, 0, { 0x00048B }},                      /* 048A; 048B; Case map */
+  { 0x00048C, 0, { 0x00048D }},                      /* 048C; 048D; Case map */
+  { 0x00048E, 0, { 0x00048F }},                      /* 048E; 048F; Case map */
+  { 0x000490, 0, { 0x000491 }},                      /* 0490; 0491; Case map */
+  { 0x000492, 0, { 0x000493 }},                      /* 0492; 0493; Case map */
+  { 0x000494, 0, { 0x000495 }},                      /* 0494; 0495; Case map */
+  { 0x000496, 0, { 0x000497 }},                      /* 0496; 0497; Case map */
+  { 0x000498, 0, { 0x000499 }},                      /* 0498; 0499; Case map */
+  { 0x00049A, 0, { 0x00049B }},                      /* 049A; 049B; Case map */
+  { 0x00049C, 0, { 0x00049D }},                      /* 049C; 049D; Case map */
+  { 0x00049E, 0, { 0x00049F }},                      /* 049E; 049F; Case map */
+  { 0x0004A0, 0, { 0x0004A1 }},                      /* 04A0; 04A1; Case map */
+  { 0x0004A2, 0, { 0x0004A3 }},                      /* 04A2; 04A3; Case map */
+  { 0x0004A4, 0, { 0x0004A5 }},                      /* 04A4; 04A5; Case map */
+  { 0x0004A6, 0, { 0x0004A7 }},                      /* 04A6; 04A7; Case map */
+  { 0x0004A8, 0, { 0x0004A9 }},                      /* 04A8; 04A9; Case map */
+  { 0x0004AA, 0, { 0x0004AB }},                      /* 04AA; 04AB; Case map */
+  { 0x0004AC, 0, { 0x0004AD }},                      /* 04AC; 04AD; Case map */
+  { 0x0004AE, 0, { 0x0004AF }},                      /* 04AE; 04AF; Case map */
+  { 0x0004B0, 0, { 0x0004B1 }},                      /* 04B0; 04B1; Case map */
+  { 0x0004B2, 0, { 0x0004B3 }},                      /* 04B2; 04B3; Case map */
+  { 0x0004B4, 0, { 0x0004B5 }},                      /* 04B4; 04B5; Case map */
+  { 0x0004B6, 0, { 0x0004B7 }},                      /* 04B6; 04B7; Case map */
+  { 0x0004B8, 0, { 0x0004B9 }},                      /* 04B8; 04B9; Case map */
+  { 0x0004BA, 0, { 0x0004BB }},                      /* 04BA; 04BB; Case map */
+  { 0x0004BC, 0, { 0x0004BD }},                      /* 04BC; 04BD; Case map */
+  { 0x0004BE, 0, { 0x0004BF }},                      /* 04BE; 04BF; Case map */
+  { 0x0004C1, 0, { 0x0004C2 }},                      /* 04C1; 04C2; Case map */
+  { 0x0004C3, 0, { 0x0004C4 }},                      /* 04C3; 04C4; Case map */
+  { 0x0004C5, 0, { 0x0004C6 }},                      /* 04C5; 04C6; Case map */
+  { 0x0004C7, 0, { 0x0004C8 }},                      /* 04C7; 04C8; Case map */
+  { 0x0004C9, 0, { 0x0004CA }},                      /* 04C9; 04CA; Case map */
+  { 0x0004CB, 0, { 0x0004CC }},                      /* 04CB; 04CC; Case map */
+  { 0x0004CD, 0, { 0x0004CE }},                      /* 04CD; 04CE; Case map */
+  { 0x0004D0, 0, { 0x0004D1 }},                      /* 04D0; 04D1; Case map */
+  { 0x0004D2, 0, { 0x0004D3 }},                      /* 04D2; 04D3; Case map */
+  { 0x0004D4, 0, { 0x0004D5 }},                      /* 04D4; 04D5; Case map */
+  { 0x0004D6, 0, { 0x0004D7 }},                      /* 04D6; 04D7; Case map */
+  { 0x0004D8, 0, { 0x0004D9 }},                      /* 04D8; 04D9; Case map */
+  { 0x0004DA, 0, { 0x0004DB }},                      /* 04DA; 04DB; Case map */
+  { 0x0004DC, 0, { 0x0004DD }},                      /* 04DC; 04DD; Case map */
+  { 0x0004DE, 0, { 0x0004DF }},                      /* 04DE; 04DF; Case map */
+  { 0x0004E0, 0, { 0x0004E1 }},                      /* 04E0; 04E1; Case map */
+  { 0x0004E2, 0, { 0x0004E3 }},                      /* 04E2; 04E3; Case map */
+  { 0x0004E4, 0, { 0x0004E5 }},                      /* 04E4; 04E5; Case map */
+  { 0x0004E6, 0, { 0x0004E7 }},                      /* 04E6; 04E7; Case map */
+  { 0x0004E8, 0, { 0x0004E9 }},                      /* 04E8; 04E9; Case map */
+  { 0x0004EA, 0, { 0x0004EB }},                      /* 04EA; 04EB; Case map */
+  { 0x0004EC, 0, { 0x0004ED }},                      /* 04EC; 04ED; Case map */
+  { 0x0004EE, 0, { 0x0004EF }},                      /* 04EE; 04EF; Case map */
+  { 0x0004F0, 0, { 0x0004F1 }},                      /* 04F0; 04F1; Case map */
+  { 0x0004F2, 0, { 0x0004F3 }},                      /* 04F2; 04F3; Case map */
+  { 0x0004F4, 0, { 0x0004F5 }},                      /* 04F4; 04F5; Case map */
+  { 0x0004F8, 0, { 0x0004F9 }},                      /* 04F8; 04F9; Case map */
+  { 0x000500, 0, { 0x000501 }},                      /* 0500; 0501; Case map */
+  { 0x000502, 0, { 0x000503 }},                      /* 0502; 0503; Case map */
+  { 0x000504, 0, { 0x000505 }},                      /* 0504; 0505; Case map */
+  { 0x000506, 0, { 0x000507 }},                      /* 0506; 0507; Case map */
+  { 0x000508, 0, { 0x000509 }},                      /* 0508; 0509; Case map */
+  { 0x00050A, 0, { 0x00050B }},                      /* 050A; 050B; Case map */
+  { 0x00050C, 0, { 0x00050D }},                      /* 050C; 050D; Case map */
+  { 0x00050E, 0, { 0x00050F }},                      /* 050E; 050F; Case map */
+  { 0x000531, 0, { 0x000561 }},                      /* 0531; 0561; Case map */
+  { 0x000532, 0, { 0x000562 }},                      /* 0532; 0562; Case map */
+  { 0x000533, 0, { 0x000563 }},                      /* 0533; 0563; Case map */
+  { 0x000534, 0, { 0x000564 }},                      /* 0534; 0564; Case map */
+  { 0x000535, 0, { 0x000565 }},                      /* 0535; 0565; Case map */
+  { 0x000536, 0, { 0x000566 }},                      /* 0536; 0566; Case map */
+  { 0x000537, 0, { 0x000567 }},                      /* 0537; 0567; Case map */
+  { 0x000538, 0, { 0x000568 }},                      /* 0538; 0568; Case map */
+  { 0x000539, 0, { 0x000569 }},                      /* 0539; 0569; Case map */
+  { 0x00053A, 0, { 0x00056A }},                      /* 053A; 056A; Case map */
+  { 0x00053B, 0, { 0x00056B }},                      /* 053B; 056B; Case map */
+  { 0x00053C, 0, { 0x00056C }},                      /* 053C; 056C; Case map */
+  { 0x00053D, 0, { 0x00056D }},                      /* 053D; 056D; Case map */
+  { 0x00053E, 0, { 0x00056E }},                      /* 053E; 056E; Case map */
+  { 0x00053F, 0, { 0x00056F }},                      /* 053F; 056F; Case map */
+  { 0x000540, 0, { 0x000570 }},                      /* 0540; 0570; Case map */
+  { 0x000541, 0, { 0x000571 }},                      /* 0541; 0571; Case map */
+  { 0x000542, 0, { 0x000572 }},                      /* 0542; 0572; Case map */
+  { 0x000543, 0, { 0x000573 }},                      /* 0543; 0573; Case map */
+  { 0x000544, 0, { 0x000574 }},                      /* 0544; 0574; Case map */
+  { 0x000545, 0, { 0x000575 }},                      /* 0545; 0575; Case map */
+  { 0x000546, 0, { 0x000576 }},                      /* 0546; 0576; Case map */
+  { 0x000547, 0, { 0x000577 }},                      /* 0547; 0577; Case map */
+  { 0x000548, 0, { 0x000578 }},                      /* 0548; 0578; Case map */
+  { 0x000549, 0, { 0x000579 }},                      /* 0549; 0579; Case map */
+  { 0x00054A, 0, { 0x00057A }},                      /* 054A; 057A; Case map */
+  { 0x00054B, 0, { 0x00057B }},                      /* 054B; 057B; Case map */
+  { 0x00054C, 0, { 0x00057C }},                      /* 054C; 057C; Case map */
+  { 0x00054D, 0, { 0x00057D }},                      /* 054D; 057D; Case map */
+  { 0x00054E, 0, { 0x00057E }},                      /* 054E; 057E; Case map */
+  { 0x00054F, 0, { 0x00057F }},                      /* 054F; 057F; Case map */
+  { 0x000550, 0, { 0x000580 }},                      /* 0550; 0580; Case map */
+  { 0x000551, 0, { 0x000581 }},                      /* 0551; 0581; Case map */
+  { 0x000552, 0, { 0x000582 }},                      /* 0552; 0582; Case map */
+  { 0x000553, 0, { 0x000583 }},                      /* 0553; 0583; Case map */
+  { 0x000554, 0, { 0x000584 }},                      /* 0554; 0584; Case map */
+  { 0x000555, 0, { 0x000585 }},                      /* 0555; 0585; Case map */
+  { 0x000556, 0, { 0x000586 }},                      /* 0556; 0586; Case map */
+  { 0x000587, 0, { 0x000565,                    /* 0587; 0565 0582; Case map */
+                   0x000582 }},
+  { 0x001E00, 0, { 0x001E01 }},                      /* 1E00; 1E01; Case map */
+  { 0x001E02, 0, { 0x001E03 }},                      /* 1E02; 1E03; Case map */
+  { 0x001E04, 0, { 0x001E05 }},                      /* 1E04; 1E05; Case map */
+  { 0x001E06, 0, { 0x001E07 }},                      /* 1E06; 1E07; Case map */
+  { 0x001E08, 0, { 0x001E09 }},                      /* 1E08; 1E09; Case map */
+  { 0x001E0A, 0, { 0x001E0B }},                      /* 1E0A; 1E0B; Case map */
+  { 0x001E0C, 0, { 0x001E0D }},                      /* 1E0C; 1E0D; Case map */
+  { 0x001E0E, 0, { 0x001E0F }},                      /* 1E0E; 1E0F; Case map */
+  { 0x001E10, 0, { 0x001E11 }},                      /* 1E10; 1E11; Case map */
+  { 0x001E12, 0, { 0x001E13 }},                      /* 1E12; 1E13; Case map */
+  { 0x001E14, 0, { 0x001E15 }},                      /* 1E14; 1E15; Case map */
+  { 0x001E16, 0, { 0x001E17 }},                      /* 1E16; 1E17; Case map */
+  { 0x001E18, 0, { 0x001E19 }},                      /* 1E18; 1E19; Case map */
+  { 0x001E1A, 0, { 0x001E1B }},                      /* 1E1A; 1E1B; Case map */
+  { 0x001E1C, 0, { 0x001E1D }},                      /* 1E1C; 1E1D; Case map */
+  { 0x001E1E, 0, { 0x001E1F }},                      /* 1E1E; 1E1F; Case map */
+  { 0x001E20, 0, { 0x001E21 }},                      /* 1E20; 1E21; Case map */
+  { 0x001E22, 0, { 0x001E23 }},                      /* 1E22; 1E23; Case map */
+  { 0x001E24, 0, { 0x001E25 }},                      /* 1E24; 1E25; Case map */
+  { 0x001E26, 0, { 0x001E27 }},                      /* 1E26; 1E27; Case map */
+  { 0x001E28, 0, { 0x001E29 }},                      /* 1E28; 1E29; Case map */
+  { 0x001E2A, 0, { 0x001E2B }},                      /* 1E2A; 1E2B; Case map */
+  { 0x001E2C, 0, { 0x001E2D }},                      /* 1E2C; 1E2D; Case map */
+  { 0x001E2E, 0, { 0x001E2F }},                      /* 1E2E; 1E2F; Case map */
+  { 0x001E30, 0, { 0x001E31 }},                      /* 1E30; 1E31; Case map */
+  { 0x001E32, 0, { 0x001E33 }},                      /* 1E32; 1E33; Case map */
+  { 0x001E34, 0, { 0x001E35 }},                      /* 1E34; 1E35; Case map */
+  { 0x001E36, 0, { 0x001E37 }},                      /* 1E36; 1E37; Case map */
+  { 0x001E38, 0, { 0x001E39 }},                      /* 1E38; 1E39; Case map */
+  { 0x001E3A, 0, { 0x001E3B }},                      /* 1E3A; 1E3B; Case map */
+  { 0x001E3C, 0, { 0x001E3D }},                      /* 1E3C; 1E3D; Case map */
+  { 0x001E3E, 0, { 0x001E3F }},                      /* 1E3E; 1E3F; Case map */
+  { 0x001E40, 0, { 0x001E41 }},                      /* 1E40; 1E41; Case map */
+  { 0x001E42, 0, { 0x001E43 }},                      /* 1E42; 1E43; Case map */
+  { 0x001E44, 0, { 0x001E45 }},                      /* 1E44; 1E45; Case map */
+  { 0x001E46, 0, { 0x001E47 }},                      /* 1E46; 1E47; Case map */
+  { 0x001E48, 0, { 0x001E49 }},                      /* 1E48; 1E49; Case map */
+  { 0x001E4A, 0, { 0x001E4B }},                      /* 1E4A; 1E4B; Case map */
+  { 0x001E4C, 0, { 0x001E4D }},                      /* 1E4C; 1E4D; Case map */
+  { 0x001E4E, 0, { 0x001E4F }},                      /* 1E4E; 1E4F; Case map */
+  { 0x001E50, 0, { 0x001E51 }},                      /* 1E50; 1E51; Case map */
+  { 0x001E52, 0, { 0x001E53 }},                      /* 1E52; 1E53; Case map */
+  { 0x001E54, 0, { 0x001E55 }},                      /* 1E54; 1E55; Case map */
+  { 0x001E56, 0, { 0x001E57 }},                      /* 1E56; 1E57; Case map */
+  { 0x001E58, 0, { 0x001E59 }},                      /* 1E58; 1E59; Case map */
+  { 0x001E5A, 0, { 0x001E5B }},                      /* 1E5A; 1E5B; Case map */
+  { 0x001E5C, 0, { 0x001E5D }},                      /* 1E5C; 1E5D; Case map */
+  { 0x001E5E, 0, { 0x001E5F }},                      /* 1E5E; 1E5F; Case map */
+  { 0x001E60, 0, { 0x001E61 }},                      /* 1E60; 1E61; Case map */
+  { 0x001E62, 0, { 0x001E63 }},                      /* 1E62; 1E63; Case map */
+  { 0x001E64, 0, { 0x001E65 }},                      /* 1E64; 1E65; Case map */
+  { 0x001E66, 0, { 0x001E67 }},                      /* 1E66; 1E67; Case map */
+  { 0x001E68, 0, { 0x001E69 }},                      /* 1E68; 1E69; Case map */
+  { 0x001E6A, 0, { 0x001E6B }},                      /* 1E6A; 1E6B; Case map */
+  { 0x001E6C, 0, { 0x001E6D }},                      /* 1E6C; 1E6D; Case map */
+  { 0x001E6E, 0, { 0x001E6F }},                      /* 1E6E; 1E6F; Case map */
+  { 0x001E70, 0, { 0x001E71 }},                      /* 1E70; 1E71; Case map */
+  { 0x001E72, 0, { 0x001E73 }},                      /* 1E72; 1E73; Case map */
+  { 0x001E74, 0, { 0x001E75 }},                      /* 1E74; 1E75; Case map */
+  { 0x001E76, 0, { 0x001E77 }},                      /* 1E76; 1E77; Case map */
+  { 0x001E78, 0, { 0x001E79 }},                      /* 1E78; 1E79; Case map */
+  { 0x001E7A, 0, { 0x001E7B }},                      /* 1E7A; 1E7B; Case map */
+  { 0x001E7C, 0, { 0x001E7D }},                      /* 1E7C; 1E7D; Case map */
+  { 0x001E7E, 0, { 0x001E7F }},                      /* 1E7E; 1E7F; Case map */
+  { 0x001E80, 0, { 0x001E81 }},                      /* 1E80; 1E81; Case map */
+  { 0x001E82, 0, { 0x001E83 }},                      /* 1E82; 1E83; Case map */
+  { 0x001E84, 0, { 0x001E85 }},                      /* 1E84; 1E85; Case map */
+  { 0x001E86, 0, { 0x001E87 }},                      /* 1E86; 1E87; Case map */
+  { 0x001E88, 0, { 0x001E89 }},                      /* 1E88; 1E89; Case map */
+  { 0x001E8A, 0, { 0x001E8B }},                      /* 1E8A; 1E8B; Case map */
+  { 0x001E8C, 0, { 0x001E8D }},                      /* 1E8C; 1E8D; Case map */
+  { 0x001E8E, 0, { 0x001E8F }},                      /* 1E8E; 1E8F; Case map */
+  { 0x001E90, 0, { 0x001E91 }},                      /* 1E90; 1E91; Case map */
+  { 0x001E92, 0, { 0x001E93 }},                      /* 1E92; 1E93; Case map */
+  { 0x001E94, 0, { 0x001E95 }},                      /* 1E94; 1E95; Case map */
+  { 0x001E96, 0, { 0x000068,                    /* 1E96; 0068 0331; Case map */
+                   0x000331 }},
+  { 0x001E97, 0, { 0x000074,                    /* 1E97; 0074 0308; Case map */
+                   0x000308 }},
+  { 0x001E98, 0, { 0x000077,                    /* 1E98; 0077 030A; Case map */
+                   0x00030A }},
+  { 0x001E99, 0, { 0x000079,                    /* 1E99; 0079 030A; Case map */
+                   0x00030A }},
+  { 0x001E9A, 0, { 0x000061,                    /* 1E9A; 0061 02BE; Case map */
+                   0x0002BE }},
+  { 0x001E9B, 0, { 0x001E61 }},                      /* 1E9B; 1E61; Case map */
+  { 0x001EA0, 0, { 0x001EA1 }},                      /* 1EA0; 1EA1; Case map */
+  { 0x001EA2, 0, { 0x001EA3 }},                      /* 1EA2; 1EA3; Case map */
+  { 0x001EA4, 0, { 0x001EA5 }},                      /* 1EA4; 1EA5; Case map */
+  { 0x001EA6, 0, { 0x001EA7 }},                      /* 1EA6; 1EA7; Case map */
+  { 0x001EA8, 0, { 0x001EA9 }},                      /* 1EA8; 1EA9; Case map */
+  { 0x001EAA, 0, { 0x001EAB }},                      /* 1EAA; 1EAB; Case map */
+  { 0x001EAC, 0, { 0x001EAD }},                      /* 1EAC; 1EAD; Case map */
+  { 0x001EAE, 0, { 0x001EAF }},                      /* 1EAE; 1EAF; Case map */
+  { 0x001EB0, 0, { 0x001EB1 }},                      /* 1EB0; 1EB1; Case map */
+  { 0x001EB2, 0, { 0x001EB3 }},                      /* 1EB2; 1EB3; Case map */
+  { 0x001EB4, 0, { 0x001EB5 }},                      /* 1EB4; 1EB5; Case map */
+  { 0x001EB6, 0, { 0x001EB7 }},                      /* 1EB6; 1EB7; Case map */
+  { 0x001EB8, 0, { 0x001EB9 }},                      /* 1EB8; 1EB9; Case map */
+  { 0x001EBA, 0, { 0x001EBB }},                      /* 1EBA; 1EBB; Case map */
+  { 0x001EBC, 0, { 0x001EBD }},                      /* 1EBC; 1EBD; Case map */
+  { 0x001EBE, 0, { 0x001EBF }},                      /* 1EBE; 1EBF; Case map */
+  { 0x001EC0, 0, { 0x001EC1 }},                      /* 1EC0; 1EC1; Case map */
+  { 0x001EC2, 0, { 0x001EC3 }},                      /* 1EC2; 1EC3; Case map */
+  { 0x001EC4, 0, { 0x001EC5 }},                      /* 1EC4; 1EC5; Case map */
+  { 0x001EC6, 0, { 0x001EC7 }},                      /* 1EC6; 1EC7; Case map */
+  { 0x001EC8, 0, { 0x001EC9 }},                      /* 1EC8; 1EC9; Case map */
+  { 0x001ECA, 0, { 0x001ECB }},                      /* 1ECA; 1ECB; Case map */
+  { 0x001ECC, 0, { 0x001ECD }},                      /* 1ECC; 1ECD; Case map */
+  { 0x001ECE, 0, { 0x001ECF }},                      /* 1ECE; 1ECF; Case map */
+  { 0x001ED0, 0, { 0x001ED1 }},                      /* 1ED0; 1ED1; Case map */
+  { 0x001ED2, 0, { 0x001ED3 }},                      /* 1ED2; 1ED3; Case map */
+  { 0x001ED4, 0, { 0x001ED5 }},                      /* 1ED4; 1ED5; Case map */
+  { 0x001ED6, 0, { 0x001ED7 }},                      /* 1ED6; 1ED7; Case map */
+  { 0x001ED8, 0, { 0x001ED9 }},                      /* 1ED8; 1ED9; Case map */
+  { 0x001EDA, 0, { 0x001EDB }},                      /* 1EDA; 1EDB; Case map */
+  { 0x001EDC, 0, { 0x001EDD }},                      /* 1EDC; 1EDD; Case map */
+  { 0x001EDE, 0, { 0x001EDF }},                      /* 1EDE; 1EDF; Case map */
+  { 0x001EE0, 0, { 0x001EE1 }},                      /* 1EE0; 1EE1; Case map */
+  { 0x001EE2, 0, { 0x001EE3 }},                      /* 1EE2; 1EE3; Case map */
+  { 0x001EE4, 0, { 0x001EE5 }},                      /* 1EE4; 1EE5; Case map */
+  { 0x001EE6, 0, { 0x001EE7 }},                      /* 1EE6; 1EE7; Case map */
+  { 0x001EE8, 0, { 0x001EE9 }},                      /* 1EE8; 1EE9; Case map */
+  { 0x001EEA, 0, { 0x001EEB }},                      /* 1EEA; 1EEB; Case map */
+  { 0x001EEC, 0, { 0x001EED }},                      /* 1EEC; 1EED; Case map */
+  { 0x001EEE, 0, { 0x001EEF }},                      /* 1EEE; 1EEF; Case map */
+  { 0x001EF0, 0, { 0x001EF1 }},                      /* 1EF0; 1EF1; Case map */
+  { 0x001EF2, 0, { 0x001EF3 }},                      /* 1EF2; 1EF3; Case map */
+  { 0x001EF4, 0, { 0x001EF5 }},                      /* 1EF4; 1EF5; Case map */
+  { 0x001EF6, 0, { 0x001EF7 }},                      /* 1EF6; 1EF7; Case map */
+  { 0x001EF8, 0, { 0x001EF9 }},                      /* 1EF8; 1EF9; Case map */
+  { 0x001F08, 0, { 0x001F00 }},                      /* 1F08; 1F00; Case map */
+  { 0x001F09, 0, { 0x001F01 }},                      /* 1F09; 1F01; Case map */
+  { 0x001F0A, 0, { 0x001F02 }},                      /* 1F0A; 1F02; Case map */
+  { 0x001F0B, 0, { 0x001F03 }},                      /* 1F0B; 1F03; Case map */
+  { 0x001F0C, 0, { 0x001F04 }},                      /* 1F0C; 1F04; Case map */
+  { 0x001F0D, 0, { 0x001F05 }},                      /* 1F0D; 1F05; Case map */
+  { 0x001F0E, 0, { 0x001F06 }},                      /* 1F0E; 1F06; Case map */
+  { 0x001F0F, 0, { 0x001F07 }},                      /* 1F0F; 1F07; Case map */
+  { 0x001F18, 0, { 0x001F10 }},                      /* 1F18; 1F10; Case map */
+  { 0x001F19, 0, { 0x001F11 }},                      /* 1F19; 1F11; Case map */
+  { 0x001F1A, 0, { 0x001F12 }},                      /* 1F1A; 1F12; Case map */
+  { 0x001F1B, 0, { 0x001F13 }},                      /* 1F1B; 1F13; Case map */
+  { 0x001F1C, 0, { 0x001F14 }},                      /* 1F1C; 1F14; Case map */
+  { 0x001F1D, 0, { 0x001F15 }},                      /* 1F1D; 1F15; Case map */
+  { 0x001F28, 0, { 0x001F20 }},                      /* 1F28; 1F20; Case map */
+  { 0x001F29, 0, { 0x001F21 }},                      /* 1F29; 1F21; Case map */
+  { 0x001F2A, 0, { 0x001F22 }},                      /* 1F2A; 1F22; Case map */
+  { 0x001F2B, 0, { 0x001F23 }},                      /* 1F2B; 1F23; Case map */
+  { 0x001F2C, 0, { 0x001F24 }},                      /* 1F2C; 1F24; Case map */
+  { 0x001F2D, 0, { 0x001F25 }},                      /* 1F2D; 1F25; Case map */
+  { 0x001F2E, 0, { 0x001F26 }},                      /* 1F2E; 1F26; Case map */
+  { 0x001F2F, 0, { 0x001F27 }},                      /* 1F2F; 1F27; Case map */
+  { 0x001F38, 0, { 0x001F30 }},                      /* 1F38; 1F30; Case map */
+  { 0x001F39, 0, { 0x001F31 }},                      /* 1F39; 1F31; Case map */
+  { 0x001F3A, 0, { 0x001F32 }},                      /* 1F3A; 1F32; Case map */
+  { 0x001F3B, 0, { 0x001F33 }},                      /* 1F3B; 1F33; Case map */
+  { 0x001F3C, 0, { 0x001F34 }},                      /* 1F3C; 1F34; Case map */
+  { 0x001F3D, 0, { 0x001F35 }},                      /* 1F3D; 1F35; Case map */
+  { 0x001F3E, 0, { 0x001F36 }},                      /* 1F3E; 1F36; Case map */
+  { 0x001F3F, 0, { 0x001F37 }},                      /* 1F3F; 1F37; Case map */
+  { 0x001F48, 0, { 0x001F40 }},                      /* 1F48; 1F40; Case map */
+  { 0x001F49, 0, { 0x001F41 }},                      /* 1F49; 1F41; Case map */
+  { 0x001F4A, 0, { 0x001F42 }},                      /* 1F4A; 1F42; Case map */
+  { 0x001F4B, 0, { 0x001F43 }},                      /* 1F4B; 1F43; Case map */
+  { 0x001F4C, 0, { 0x001F44 }},                      /* 1F4C; 1F44; Case map */
+  { 0x001F4D, 0, { 0x001F45 }},                      /* 1F4D; 1F45; Case map */
+  { 0x001F50, 0, { 0x0003C5,                    /* 1F50; 03C5 0313; Case map */
+                   0x000313 }},
+  { 0x001F52, 0, { 0x0003C5,               /* 1F52; 03C5 0313 0300; Case map */
+                   0x000313, 0x000300 }},
+  { 0x001F54, 0, { 0x0003C5,               /* 1F54; 03C5 0313 0301; Case map */
+                   0x000313, 0x000301 }},
+  { 0x001F56, 0, { 0x0003C5,               /* 1F56; 03C5 0313 0342; Case map */
+                   0x000313, 0x000342 }},
+  { 0x001F59, 0, { 0x001F51 }},                      /* 1F59; 1F51; Case map */
+  { 0x001F5B, 0, { 0x001F53 }},                      /* 1F5B; 1F53; Case map */
+  { 0x001F5D, 0, { 0x001F55 }},                      /* 1F5D; 1F55; Case map */
+  { 0x001F5F, 0, { 0x001F57 }},                      /* 1F5F; 1F57; Case map */
+  { 0x001F68, 0, { 0x001F60 }},                      /* 1F68; 1F60; Case map */
+  { 0x001F69, 0, { 0x001F61 }},                      /* 1F69; 1F61; Case map */
+  { 0x001F6A, 0, { 0x001F62 }},                      /* 1F6A; 1F62; Case map */
+  { 0x001F6B, 0, { 0x001F63 }},                      /* 1F6B; 1F63; Case map */
+  { 0x001F6C, 0, { 0x001F64 }},                      /* 1F6C; 1F64; Case map */
+  { 0x001F6D, 0, { 0x001F65 }},                      /* 1F6D; 1F65; Case map */
+  { 0x001F6E, 0, { 0x001F66 }},                      /* 1F6E; 1F66; Case map */
+  { 0x001F6F, 0, { 0x001F67 }},                      /* 1F6F; 1F67; Case map */
+  { 0x001F80, 0, { 0x001F00,                    /* 1F80; 1F00 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F81, 0, { 0x001F01,                    /* 1F81; 1F01 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F82, 0, { 0x001F02,                    /* 1F82; 1F02 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F83, 0, { 0x001F03,                    /* 1F83; 1F03 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F84, 0, { 0x001F04,                    /* 1F84; 1F04 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F85, 0, { 0x001F05,                    /* 1F85; 1F05 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F86, 0, { 0x001F06,                    /* 1F86; 1F06 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F87, 0, { 0x001F07,                    /* 1F87; 1F07 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F88, 0, { 0x001F00,                    /* 1F88; 1F00 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F89, 0, { 0x001F01,                    /* 1F89; 1F01 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8A, 0, { 0x001F02,                    /* 1F8A; 1F02 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8B, 0, { 0x001F03,                    /* 1F8B; 1F03 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8C, 0, { 0x001F04,                    /* 1F8C; 1F04 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8D, 0, { 0x001F05,                    /* 1F8D; 1F05 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8E, 0, { 0x001F06,                    /* 1F8E; 1F06 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F8F, 0, { 0x001F07,                    /* 1F8F; 1F07 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F90, 0, { 0x001F20,                    /* 1F90; 1F20 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F91, 0, { 0x001F21,                    /* 1F91; 1F21 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F92, 0, { 0x001F22,                    /* 1F92; 1F22 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F93, 0, { 0x001F23,                    /* 1F93; 1F23 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F94, 0, { 0x001F24,                    /* 1F94; 1F24 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F95, 0, { 0x001F25,                    /* 1F95; 1F25 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F96, 0, { 0x001F26,                    /* 1F96; 1F26 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F97, 0, { 0x001F27,                    /* 1F97; 1F27 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F98, 0, { 0x001F20,                    /* 1F98; 1F20 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F99, 0, { 0x001F21,                    /* 1F99; 1F21 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9A, 0, { 0x001F22,                    /* 1F9A; 1F22 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9B, 0, { 0x001F23,                    /* 1F9B; 1F23 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9C, 0, { 0x001F24,                    /* 1F9C; 1F24 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9D, 0, { 0x001F25,                    /* 1F9D; 1F25 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9E, 0, { 0x001F26,                    /* 1F9E; 1F26 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001F9F, 0, { 0x001F27,                    /* 1F9F; 1F27 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA0, 0, { 0x001F60,                    /* 1FA0; 1F60 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA1, 0, { 0x001F61,                    /* 1FA1; 1F61 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA2, 0, { 0x001F62,                    /* 1FA2; 1F62 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA3, 0, { 0x001F63,                    /* 1FA3; 1F63 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA4, 0, { 0x001F64,                    /* 1FA4; 1F64 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA5, 0, { 0x001F65,                    /* 1FA5; 1F65 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA6, 0, { 0x001F66,                    /* 1FA6; 1F66 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA7, 0, { 0x001F67,                    /* 1FA7; 1F67 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA8, 0, { 0x001F60,                    /* 1FA8; 1F60 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FA9, 0, { 0x001F61,                    /* 1FA9; 1F61 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAA, 0, { 0x001F62,                    /* 1FAA; 1F62 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAB, 0, { 0x001F63,                    /* 1FAB; 1F63 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAC, 0, { 0x001F64,                    /* 1FAC; 1F64 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAD, 0, { 0x001F65,                    /* 1FAD; 1F65 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAE, 0, { 0x001F66,                    /* 1FAE; 1F66 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FAF, 0, { 0x001F67,                    /* 1FAF; 1F67 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB2, 0, { 0x001F70,                    /* 1FB2; 1F70 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB3, 0, { 0x0003B1,                    /* 1FB3; 03B1 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB4, 0, { 0x0003AC,                    /* 1FB4; 03AC 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FB6, 0, { 0x0003B1,                    /* 1FB6; 03B1 0342; Case map */
+                   0x000342 }},
+  { 0x001FB7, 0, { 0x0003B1,               /* 1FB7; 03B1 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FB8, 0, { 0x001FB0 }},                      /* 1FB8; 1FB0; Case map */
+  { 0x001FB9, 0, { 0x001FB1 }},                      /* 1FB9; 1FB1; Case map */
+  { 0x001FBA, 0, { 0x001F70 }},                      /* 1FBA; 1F70; Case map */
+  { 0x001FBB, 0, { 0x001F71 }},                      /* 1FBB; 1F71; Case map */
+  { 0x001FBC, 0, { 0x0003B1,                    /* 1FBC; 03B1 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FBE, 0, { 0x0003B9 }},                      /* 1FBE; 03B9; Case map */
+  { 0x001FC2, 0, { 0x001F74,                    /* 1FC2; 1F74 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC3, 0, { 0x0003B7,                    /* 1FC3; 03B7 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC4, 0, { 0x0003AE,                    /* 1FC4; 03AE 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FC6, 0, { 0x0003B7,                    /* 1FC6; 03B7 0342; Case map */
+                   0x000342 }},
+  { 0x001FC7, 0, { 0x0003B7,               /* 1FC7; 03B7 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FC8, 0, { 0x001F72 }},                      /* 1FC8; 1F72; Case map */
+  { 0x001FC9, 0, { 0x001F73 }},                      /* 1FC9; 1F73; Case map */
+  { 0x001FCA, 0, { 0x001F74 }},                      /* 1FCA; 1F74; Case map */
+  { 0x001FCB, 0, { 0x001F75 }},                      /* 1FCB; 1F75; Case map */
+  { 0x001FCC, 0, { 0x0003B7,                    /* 1FCC; 03B7 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FD2, 0, { 0x0003B9,               /* 1FD2; 03B9 0308 0300; Case map */
+                   0x000308, 0x000300 }},
+  { 0x001FD3, 0, { 0x0003B9,               /* 1FD3; 03B9 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x001FD6, 0, { 0x0003B9,                    /* 1FD6; 03B9 0342; Case map */
+                   0x000342 }},
+  { 0x001FD7, 0, { 0x0003B9,               /* 1FD7; 03B9 0308 0342; Case map */
+                   0x000308, 0x000342 }},
+  { 0x001FD8, 0, { 0x001FD0 }},                      /* 1FD8; 1FD0; Case map */
+  { 0x001FD9, 0, { 0x001FD1 }},                      /* 1FD9; 1FD1; Case map */
+  { 0x001FDA, 0, { 0x001F76 }},                      /* 1FDA; 1F76; Case map */
+  { 0x001FDB, 0, { 0x001F77 }},                      /* 1FDB; 1F77; Case map */
+  { 0x001FE2, 0, { 0x0003C5,               /* 1FE2; 03C5 0308 0300; Case map */
+                   0x000308, 0x000300 }},
+  { 0x001FE3, 0, { 0x0003C5,               /* 1FE3; 03C5 0308 0301; Case map */
+                   0x000308, 0x000301 }},
+  { 0x001FE4, 0, { 0x0003C1,                    /* 1FE4; 03C1 0313; Case map */
+                   0x000313 }},
+  { 0x001FE6, 0, { 0x0003C5,                    /* 1FE6; 03C5 0342; Case map */
+                   0x000342 }},
+  { 0x001FE7, 0, { 0x0003C5,               /* 1FE7; 03C5 0308 0342; Case map */
+                   0x000308, 0x000342 }},
+  { 0x001FE8, 0, { 0x001FE0 }},                      /* 1FE8; 1FE0; Case map */
+  { 0x001FE9, 0, { 0x001FE1 }},                      /* 1FE9; 1FE1; Case map */
+  { 0x001FEA, 0, { 0x001F7A }},                      /* 1FEA; 1F7A; Case map */
+  { 0x001FEB, 0, { 0x001F7B }},                      /* 1FEB; 1F7B; Case map */
+  { 0x001FEC, 0, { 0x001FE5 }},                      /* 1FEC; 1FE5; Case map */
+  { 0x001FF2, 0, { 0x001F7C,                    /* 1FF2; 1F7C 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF3, 0, { 0x0003C9,                    /* 1FF3; 03C9 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF4, 0, { 0x0003CE,                    /* 1FF4; 03CE 03B9; Case map */
+                   0x0003B9 }},
+  { 0x001FF6, 0, { 0x0003C9,                    /* 1FF6; 03C9 0342; Case map */
+                   0x000342 }},
+  { 0x001FF7, 0, { 0x0003C9,               /* 1FF7; 03C9 0342 03B9; Case map */
+                   0x000342, 0x0003B9 }},
+  { 0x001FF8, 0, { 0x001F78 }},                      /* 1FF8; 1F78; Case map */
+  { 0x001FF9, 0, { 0x001F79 }},                      /* 1FF9; 1F79; Case map */
+  { 0x001FFA, 0, { 0x001F7C }},                      /* 1FFA; 1F7C; Case map */
+  { 0x001FFB, 0, { 0x001F7D }},                      /* 1FFB; 1F7D; Case map */
+  { 0x001FFC, 0, { 0x0003C9,                    /* 1FFC; 03C9 03B9; Case map */
+                   0x0003B9 }},
+  { 0x002126, 0, { 0x0003C9 }},                      /* 2126; 03C9; Case map */
+  { 0x00212A, 0, { 0x00006B }},                      /* 212A; 006B; Case map */
+  { 0x00212B, 0, { 0x0000E5 }},                      /* 212B; 00E5; Case map */
+  { 0x002160, 0, { 0x002170 }},                      /* 2160; 2170; Case map */
+  { 0x002161, 0, { 0x002171 }},                      /* 2161; 2171; Case map */
+  { 0x002162, 0, { 0x002172 }},                      /* 2162; 2172; Case map */
+  { 0x002163, 0, { 0x002173 }},                      /* 2163; 2173; Case map */
+  { 0x002164, 0, { 0x002174 }},                      /* 2164; 2174; Case map */
+  { 0x002165, 0, { 0x002175 }},                      /* 2165; 2175; Case map */
+  { 0x002166, 0, { 0x002176 }},                      /* 2166; 2176; Case map */
+  { 0x002167, 0, { 0x002177 }},                      /* 2167; 2177; Case map */
+  { 0x002168, 0, { 0x002178 }},                      /* 2168; 2178; Case map */
+  { 0x002169, 0, { 0x002179 }},                      /* 2169; 2179; Case map */
+  { 0x00216A, 0, { 0x00217A }},                      /* 216A; 217A; Case map */
+  { 0x00216B, 0, { 0x00217B }},                      /* 216B; 217B; Case map */
+  { 0x00216C, 0, { 0x00217C }},                      /* 216C; 217C; Case map */
+  { 0x00216D, 0, { 0x00217D }},                      /* 216D; 217D; Case map */
+  { 0x00216E, 0, { 0x00217E }},                      /* 216E; 217E; Case map */
+  { 0x00216F, 0, { 0x00217F }},                      /* 216F; 217F; Case map */
+  { 0x0024B6, 0, { 0x0024D0 }},                      /* 24B6; 24D0; Case map */
+  { 0x0024B7, 0, { 0x0024D1 }},                      /* 24B7; 24D1; Case map */
+  { 0x0024B8, 0, { 0x0024D2 }},                      /* 24B8; 24D2; Case map */
+  { 0x0024B9, 0, { 0x0024D3 }},                      /* 24B9; 24D3; Case map */
+  { 0x0024BA, 0, { 0x0024D4 }},                      /* 24BA; 24D4; Case map */
+  { 0x0024BB, 0, { 0x0024D5 }},                      /* 24BB; 24D5; Case map */
+  { 0x0024BC, 0, { 0x0024D6 }},                      /* 24BC; 24D6; Case map */
+  { 0x0024BD, 0, { 0x0024D7 }},                      /* 24BD; 24D7; Case map */
+  { 0x0024BE, 0, { 0x0024D8 }},                      /* 24BE; 24D8; Case map */
+  { 0x0024BF, 0, { 0x0024D9 }},                      /* 24BF; 24D9; Case map */
+  { 0x0024C0, 0, { 0x0024DA }},                      /* 24C0; 24DA; Case map */
+  { 0x0024C1, 0, { 0x0024DB }},                      /* 24C1; 24DB; Case map */
+  { 0x0024C2, 0, { 0x0024DC }},                      /* 24C2; 24DC; Case map */
+  { 0x0024C3, 0, { 0x0024DD }},                      /* 24C3; 24DD; Case map */
+  { 0x0024C4, 0, { 0x0024DE }},                      /* 24C4; 24DE; Case map */
+  { 0x0024C5, 0, { 0x0024DF }},                      /* 24C5; 24DF; Case map */
+  { 0x0024C6, 0, { 0x0024E0 }},                      /* 24C6; 24E0; Case map */
+  { 0x0024C7, 0, { 0x0024E1 }},                      /* 24C7; 24E1; Case map */
+  { 0x0024C8, 0, { 0x0024E2 }},                      /* 24C8; 24E2; Case map */
+  { 0x0024C9, 0, { 0x0024E3 }},                      /* 24C9; 24E3; Case map */
+  { 0x0024CA, 0, { 0x0024E4 }},                      /* 24CA; 24E4; Case map */
+  { 0x0024CB, 0, { 0x0024E5 }},                      /* 24CB; 24E5; Case map */
+  { 0x0024CC, 0, { 0x0024E6 }},                      /* 24CC; 24E6; Case map */
+  { 0x0024CD, 0, { 0x0024E7 }},                      /* 24CD; 24E7; Case map */
+  { 0x0024CE, 0, { 0x0024E8 }},                      /* 24CE; 24E8; Case map */
+  { 0x0024CF, 0, { 0x0024E9 }},                      /* 24CF; 24E9; Case map */
+  { 0x00FB00, 0, { 0x000066,                    /* FB00; 0066 0066; Case map */
+                   0x000066 }},
+  { 0x00FB01, 0, { 0x000066,                    /* FB01; 0066 0069; Case map */
+                   0x000069 }},
+  { 0x00FB02, 0, { 0x000066,                    /* FB02; 0066 006C; Case map */
+                   0x00006C }},
+  { 0x00FB03, 0, { 0x000066,               /* FB03; 0066 0066 0069; Case map */
+                   0x000066, 0x000069 }},
+  { 0x00FB04, 0, { 0x000066,               /* FB04; 0066 0066 006C; Case map */
+                   0x000066, 0x00006C }},
+  { 0x00FB05, 0, { 0x000073,                    /* FB05; 0073 0074; Case map */
+                   0x000074 }},
+  { 0x00FB06, 0, { 0x000073,                    /* FB06; 0073 0074; Case map */
+                   0x000074 }},
+  { 0x00FB13, 0, { 0x000574,                    /* FB13; 0574 0576; Case map */
+                   0x000576 }},
+  { 0x00FB14, 0, { 0x000574,                    /* FB14; 0574 0565; Case map */
+                   0x000565 }},
+  { 0x00FB15, 0, { 0x000574,                    /* FB15; 0574 056B; Case map */
+                   0x00056B }},
+  { 0x00FB16, 0, { 0x00057E,                    /* FB16; 057E 0576; Case map */
+                   0x000576 }},
+  { 0x00FB17, 0, { 0x000574,                    /* FB17; 0574 056D; Case map */
+                   0x00056D }},
+  { 0x00FF21, 0, { 0x00FF41 }},                      /* FF21; FF41; Case map */
+  { 0x00FF22, 0, { 0x00FF42 }},                      /* FF22; FF42; Case map */
+  { 0x00FF23, 0, { 0x00FF43 }},                      /* FF23; FF43; Case map */
+  { 0x00FF24, 0, { 0x00FF44 }},                      /* FF24; FF44; Case map */
+  { 0x00FF25, 0, { 0x00FF45 }},                      /* FF25; FF45; Case map */
+  { 0x00FF26, 0, { 0x00FF46 }},                      /* FF26; FF46; Case map */
+  { 0x00FF27, 0, { 0x00FF47 }},                      /* FF27; FF47; Case map */
+  { 0x00FF28, 0, { 0x00FF48 }},                      /* FF28; FF48; Case map */
+  { 0x00FF29, 0, { 0x00FF49 }},                      /* FF29; FF49; Case map */
+  { 0x00FF2A, 0, { 0x00FF4A }},                      /* FF2A; FF4A; Case map */
+  { 0x00FF2B, 0, { 0x00FF4B }},                      /* FF2B; FF4B; Case map */
+  { 0x00FF2C, 0, { 0x00FF4C }},                      /* FF2C; FF4C; Case map */
+  { 0x00FF2D, 0, { 0x00FF4D }},                      /* FF2D; FF4D; Case map */
+  { 0x00FF2E, 0, { 0x00FF4E }},                      /* FF2E; FF4E; Case map */
+  { 0x00FF2F, 0, { 0x00FF4F }},                      /* FF2F; FF4F; Case map */
+  { 0x00FF30, 0, { 0x00FF50 }},                      /* FF30; FF50; Case map */
+  { 0x00FF31, 0, { 0x00FF51 }},                      /* FF31; FF51; Case map */
+  { 0x00FF32, 0, { 0x00FF52 }},                      /* FF32; FF52; Case map */
+  { 0x00FF33, 0, { 0x00FF53 }},                      /* FF33; FF53; Case map */
+  { 0x00FF34, 0, { 0x00FF54 }},                      /* FF34; FF54; Case map */
+  { 0x00FF35, 0, { 0x00FF55 }},                      /* FF35; FF55; Case map */
+  { 0x00FF36, 0, { 0x00FF56 }},                      /* FF36; FF56; Case map */
+  { 0x00FF37, 0, { 0x00FF57 }},                      /* FF37; FF57; Case map */
+  { 0x00FF38, 0, { 0x00FF58 }},                      /* FF38; FF58; Case map */
+  { 0x00FF39, 0, { 0x00FF59 }},                      /* FF39; FF59; Case map */
+  { 0x00FF3A, 0, { 0x00FF5A }},                      /* FF3A; FF5A; Case map */
+  { 0x010400, 0, { 0x010428 }},                    /* 10400; 10428; Case map */
+  { 0x010401, 0, { 0x010429 }},                    /* 10401; 10429; Case map */
+  { 0x010402, 0, { 0x01042A }},                    /* 10402; 1042A; Case map */
+  { 0x010403, 0, { 0x01042B }},                    /* 10403; 1042B; Case map */
+  { 0x010404, 0, { 0x01042C }},                    /* 10404; 1042C; Case map */
+  { 0x010405, 0, { 0x01042D }},                    /* 10405; 1042D; Case map */
+  { 0x010406, 0, { 0x01042E }},                    /* 10406; 1042E; Case map */
+  { 0x010407, 0, { 0x01042F }},                    /* 10407; 1042F; Case map */
+  { 0x010408, 0, { 0x010430 }},                    /* 10408; 10430; Case map */
+  { 0x010409, 0, { 0x010431 }},                    /* 10409; 10431; Case map */
+  { 0x01040A, 0, { 0x010432 }},                    /* 1040A; 10432; Case map */
+  { 0x01040B, 0, { 0x010433 }},                    /* 1040B; 10433; Case map */
+  { 0x01040C, 0, { 0x010434 }},                    /* 1040C; 10434; Case map */
+  { 0x01040D, 0, { 0x010435 }},                    /* 1040D; 10435; Case map */
+  { 0x01040E, 0, { 0x010436 }},                    /* 1040E; 10436; Case map */
+  { 0x01040F, 0, { 0x010437 }},                    /* 1040F; 10437; Case map */
+  { 0x010410, 0, { 0x010438 }},                    /* 10410; 10438; Case map */
+  { 0x010411, 0, { 0x010439 }},                    /* 10411; 10439; Case map */
+  { 0x010412, 0, { 0x01043A }},                    /* 10412; 1043A; Case map */
+  { 0x010413, 0, { 0x01043B }},                    /* 10413; 1043B; Case map */
+  { 0x010414, 0, { 0x01043C }},                    /* 10414; 1043C; Case map */
+  { 0x010415, 0, { 0x01043D }},                    /* 10415; 1043D; Case map */
+  { 0x010416, 0, { 0x01043E }},                    /* 10416; 1043E; Case map */
+  { 0x010417, 0, { 0x01043F }},                    /* 10417; 1043F; Case map */
+  { 0x010418, 0, { 0x010440 }},                    /* 10418; 10440; Case map */
+  { 0x010419, 0, { 0x010441 }},                    /* 10419; 10441; Case map */
+  { 0x01041A, 0, { 0x010442 }},                    /* 1041A; 10442; Case map */
+  { 0x01041B, 0, { 0x010443 }},                    /* 1041B; 10443; Case map */
+  { 0x01041C, 0, { 0x010444 }},                    /* 1041C; 10444; Case map */
+  { 0x01041D, 0, { 0x010445 }},                    /* 1041D; 10445; Case map */
+  { 0x01041E, 0, { 0x010446 }},                    /* 1041E; 10446; Case map */
+  { 0x01041F, 0, { 0x010447 }},                    /* 1041F; 10447; Case map */
+  { 0x010420, 0, { 0x010448 }},                    /* 10420; 10448; Case map */
+  { 0x010421, 0, { 0x010449 }},                    /* 10421; 10449; Case map */
+  { 0x010422, 0, { 0x01044A }},                    /* 10422; 1044A; Case map */
+  { 0x010423, 0, { 0x01044B }},                    /* 10423; 1044B; Case map */
+  { 0x010424, 0, { 0x01044C }},                    /* 10424; 1044C; Case map */
+  { 0x010425, 0, { 0x01044D }},                    /* 10425; 1044D; Case map */
+  { 0 },
+};
+
+
+/*
+ * C.1.1 ASCII space characters
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_1_1[] = {
+  { 0x000020           },                                     /* 0020; SPACE */
+  { 0 },
+};
+
+
+/*
+ * C.1.2 Non-ASCII space characters
+ *  */
+
+const Stringprep_table_element stringprep_rfc3454_C_1_2[] = {
+  { 0x0000A0           },                            /* 00A0; NO-BREAK SPACE */
+  { 0x001680           },                          /* 1680; OGHAM SPACE MARK */
+  { 0x002000           },                                   /* 2000; EN QUAD */
+  { 0x002001           },                                   /* 2001; EM QUAD */
+  { 0x002002           },                                  /* 2002; EN SPACE */
+  { 0x002003           },                                  /* 2003; EM SPACE */
+  { 0x002004           },                        /* 2004; THREE-PER-EM SPACE */
+  { 0x002005           },                         /* 2005; FOUR-PER-EM SPACE */
+  { 0x002006           },                          /* 2006; SIX-PER-EM SPACE */
+  { 0x002007           },                              /* 2007; FIGURE SPACE */
+  { 0x002008           },                         /* 2008; PUNCTUATION SPACE */
+  { 0x002009           },                                /* 2009; THIN SPACE */
+  { 0x00200A           },                                /* 200A; HAIR SPACE */
+  { 0x00200B           },                          /* 200B; ZERO WIDTH SPACE */
+  { 0x00202F           },                     /* 202F; NARROW NO-BREAK SPACE */
+  { 0x00205F           },                 /* 205F; MEDIUM MATHEMATICAL SPACE */
+  { 0x003000           },                         /* 3000; IDEOGRAPHIC SPACE */
+  { 0 },
+};
+
+
+/*
+ * C.2.1 ASCII control characters
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_2_1[] = {
+  { 0x000000, 0x00001F },                 /* 0000-001F; [CONTROL CHARACTERS] */
+  { 0x00007F           },                                    /* 007F; DELETE */
+  { 0 },
+};
+
+
+/*
+ * C.2.2 Non-ASCII control characters
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_2_2[] = {
+  { 0x000080, 0x00009F },                 /* 0080-009F; [CONTROL CHARACTERS] */
+  { 0x0006DD           },                        /* 06DD; ARABIC END OF AYAH */
+  { 0x00070F           },                  /* 070F; SYRIAC ABBREVIATION MARK */
+  { 0x00180E           },                 /* 180E; MONGOLIAN VOWEL SEPARATOR */
+  { 0x00200C           },                     /* 200C; ZERO WIDTH NON-JOINER */
+  { 0x00200D           },                         /* 200D; ZERO WIDTH JOINER */
+  { 0x002028           },                            /* 2028; LINE SEPARATOR */
+  { 0x002029           },                       /* 2029; PARAGRAPH SEPARATOR */
+  { 0x002060           },                               /* 2060; WORD JOINER */
+  { 0x002061           },                      /* 2061; FUNCTION APPLICATION */
+  { 0x002062           },                           /* 2062; INVISIBLE TIMES */
+  { 0x002063           },                       /* 2063; INVISIBLE SEPARATOR */
+  { 0x00206A, 0x00206F },                 /* 206A-206F; [CONTROL CHARACTERS] */
+  { 0x00FEFF           },                 /* FEFF; ZERO WIDTH NO-BREAK SPACE */
+  { 0x00FFF9, 0x00FFFC },                 /* FFF9-FFFC; [CONTROL CHARACTERS] */
+  { 0x01D173, 0x01D17A },       /* 1D173-1D17A; [MUSICAL CONTROL CHARACTERS] */
+  { 0 },
+};
+
+
+/*
+ * C.3 Private use
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_3[] = {
+  { 0x00E000, 0x00F8FF },               /* E000-F8FF; [PRIVATE USE, PLANE 0] */
+  { 0x0F0000, 0x0FFFFD },            /* F0000-FFFFD; [PRIVATE USE, PLANE 15] */
+  { 0x100000, 0x10FFFD },          /* 100000-10FFFD; [PRIVATE USE, PLANE 16] */
+  { 0 },
+};
+
+
+/*
+ * C.4 Non-character code points
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_4[] = {
+  { 0x00FDD0, 0x00FDEF },           /* FDD0-FDEF; [NONCHARACTER CODE POINTS] */
+  { 0x00FFFE, 0x00FFFF },           /* FFFE-FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x01FFFE, 0x01FFFF },         /* 1FFFE-1FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x02FFFE, 0x02FFFF },         /* 2FFFE-2FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x03FFFE, 0x03FFFF },         /* 3FFFE-3FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x04FFFE, 0x04FFFF },         /* 4FFFE-4FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x05FFFE, 0x05FFFF },         /* 5FFFE-5FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x06FFFE, 0x06FFFF },         /* 6FFFE-6FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x07FFFE, 0x07FFFF },         /* 7FFFE-7FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x08FFFE, 0x08FFFF },         /* 8FFFE-8FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x09FFFE, 0x09FFFF },         /* 9FFFE-9FFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0AFFFE, 0x0AFFFF },         /* AFFFE-AFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0BFFFE, 0x0BFFFF },         /* BFFFE-BFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0CFFFE, 0x0CFFFF },         /* CFFFE-CFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0DFFFE, 0x0DFFFF },         /* DFFFE-DFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0EFFFE, 0x0EFFFF },         /* EFFFE-EFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x0FFFFE, 0x0FFFFF },         /* FFFFE-FFFFF; [NONCHARACTER CODE POINTS] */
+  { 0x10FFFE, 0x10FFFF },       /* 10FFFE-10FFFF; [NONCHARACTER CODE POINTS] */
+  { 0 },
+};
+
+
+/*
+ * C.5 Surrogate codes
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_5[] = {
+  { 0x00D800, 0x00DFFF },                    /* D800-DFFF; [SURROGATE CODES] */
+  { 0 },
+};
+
+
+/*
+ * C.6 Inappropriate for plain text
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_6[] = {
+  { 0x00FFF9           },             /* FFF9; INTERLINEAR ANNOTATION ANCHOR */
+  { 0x00FFFA           },          /* FFFA; INTERLINEAR ANNOTATION SEPARATOR */
+  { 0x00FFFB           },         /* FFFB; INTERLINEAR ANNOTATION TERMINATOR */
+  { 0x00FFFC           },              /* FFFC; OBJECT REPLACEMENT CHARACTER */
+  { 0x00FFFD           },                     /* FFFD; REPLACEMENT CHARACTER */
+  { 0 },
+};
+
+
+/*
+ * C.7 Inappropriate for canonical representation
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_7[] = {
+  { 0x002FF0, 0x002FFB }, /* 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS] */
+  { 0 },
+};
+
+
+/*
+ * C.8 Change display properties or are deprecated
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_8[] = {
+  { 0x000340           },                 /* 0340; COMBINING GRAVE TONE MARK */
+  { 0x000341           },                 /* 0341; COMBINING ACUTE TONE MARK */
+  { 0x00200E           },                        /* 200E; LEFT-TO-RIGHT MARK */
+  { 0x00200F           },                        /* 200F; RIGHT-TO-LEFT MARK */
+  { 0x00202A           },                   /* 202A; LEFT-TO-RIGHT EMBEDDING */
+  { 0x00202B           },                   /* 202B; RIGHT-TO-LEFT EMBEDDING */
+  { 0x00202C           },                /* 202C; POP DIRECTIONAL FORMATTING */
+  { 0x00202D           },                    /* 202D; LEFT-TO-RIGHT OVERRIDE */
+  { 0x00202E           },                    /* 202E; RIGHT-TO-LEFT OVERRIDE */
+  { 0x00206A           },                /* 206A; INHIBIT SYMMETRIC SWAPPING */
+  { 0x00206B           },               /* 206B; ACTIVATE SYMMETRIC SWAPPING */
+  { 0x00206C           },               /* 206C; INHIBIT ARABIC FORM SHAPING */
+  { 0x00206D           },              /* 206D; ACTIVATE ARABIC FORM SHAPING */
+  { 0x00206E           },                     /* 206E; NATIONAL DIGIT SHAPES */
+  { 0x00206F           },                      /* 206F; NOMINAL DIGIT SHAPES */
+  { 0 },
+};
+
+
+/*
+ * C.9 Tagging characters
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_C_9[] = {
+  { 0x0E0001           },                             /* E0001; LANGUAGE TAG */
+  { 0x0E0020, 0x0E007F },               /* E0020-E007F; [TAGGING CHARACTERS] */
+  { 0 },
+};
+
+
+/*
+ * D.1 Characters with bidirectional property "R" or "AL"
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_D_1[] = {
+  { 0x0005BE           },                                            /* 05BE */
+  { 0x0005C0           },                                            /* 05C0 */
+  { 0x0005C3           },                                            /* 05C3 */
+  { 0x0005D0, 0x0005EA },                                       /* 05D0-05EA */
+  { 0x0005F0, 0x0005F4 },                                       /* 05F0-05F4 */
+  { 0x00061B           },                                            /* 061B */
+  { 0x00061F           },                                            /* 061F */
+  { 0x000621, 0x00063A },                                       /* 0621-063A */
+  { 0x000640, 0x00064A },                                       /* 0640-064A */
+  { 0x00066D, 0x00066F },                                       /* 066D-066F */
+  { 0x000671, 0x0006D5 },                                       /* 0671-06D5 */
+  { 0x0006DD           },                                            /* 06DD */
+  { 0x0006E5, 0x0006E6 },                                       /* 06E5-06E6 */
+  { 0x0006FA, 0x0006FE },                                       /* 06FA-06FE */
+  { 0x000700, 0x00070D },                                       /* 0700-070D */
+  { 0x000710           },                                            /* 0710 */
+  { 0x000712, 0x00072C },                                       /* 0712-072C */
+  { 0x000780, 0x0007A5 },                                       /* 0780-07A5 */
+  { 0x0007B1           },                                            /* 07B1 */
+  { 0x00200F           },                                            /* 200F */
+  { 0x00FB1D           },                                            /* FB1D */
+  { 0x00FB1F, 0x00FB28 },                                       /* FB1F-FB28 */
+  { 0x00FB2A, 0x00FB36 },                                       /* FB2A-FB36 */
+  { 0x00FB38, 0x00FB3C },                                       /* FB38-FB3C */
+  { 0x00FB3E           },                                            /* FB3E */
+  { 0x00FB40, 0x00FB41 },                                       /* FB40-FB41 */
+  { 0x00FB43, 0x00FB44 },                                       /* FB43-FB44 */
+  { 0x00FB46, 0x00FBB1 },                                       /* FB46-FBB1 */
+  { 0x00FBD3, 0x00FD3D },                                       /* FBD3-FD3D */
+  { 0x00FD50, 0x00FD8F },                                       /* FD50-FD8F */
+  { 0x00FD92, 0x00FDC7 },                                       /* FD92-FDC7 */
+  { 0x00FDF0, 0x00FDFC },                                       /* FDF0-FDFC */
+  { 0x00FE70, 0x00FE74 },                                       /* FE70-FE74 */
+  { 0x00FE76, 0x00FEFC },                                       /* FE76-FEFC */
+  { 0 },
+};
+
+
+/*
+ * D.2 Characters with bidirectional property "L"
+ * 
+ */
+
+const Stringprep_table_element stringprep_rfc3454_D_2[] = {
+  { 0x000041, 0x00005A },                                       /* 0041-005A */
+  { 0x000061, 0x00007A },                                       /* 0061-007A */
+  { 0x0000AA           },                                            /* 00AA */
+  { 0x0000B5           },                                            /* 00B5 */
+  { 0x0000BA           },                                            /* 00BA */
+  { 0x0000C0, 0x0000D6 },                                       /* 00C0-00D6 */
+  { 0x0000D8, 0x0000F6 },                                       /* 00D8-00F6 */
+  { 0x0000F8, 0x000220 },                                       /* 00F8-0220 */
+  { 0x000222, 0x000233 },                                       /* 0222-0233 */
+  { 0x000250, 0x0002AD },                                       /* 0250-02AD */
+  { 0x0002B0, 0x0002B8 },                                       /* 02B0-02B8 */
+  { 0x0002BB, 0x0002C1 },                                       /* 02BB-02C1 */
+  { 0x0002D0, 0x0002D1 },                                       /* 02D0-02D1 */
+  { 0x0002E0, 0x0002E4 },                                       /* 02E0-02E4 */
+  { 0x0002EE           },                                            /* 02EE */
+  { 0x00037A           },                                            /* 037A */
+  { 0x000386           },                                            /* 0386 */
+  { 0x000388, 0x00038A },                                       /* 0388-038A */
+  { 0x00038C           },                                            /* 038C */
+  { 0x00038E, 0x0003A1 },                                       /* 038E-03A1 */
+  { 0x0003A3, 0x0003CE },                                       /* 03A3-03CE */
+  { 0x0003D0, 0x0003F5 },                                       /* 03D0-03F5 */
+  { 0x000400, 0x000482 },                                       /* 0400-0482 */
+  { 0x00048A, 0x0004CE },                                       /* 048A-04CE */
+  { 0x0004D0, 0x0004F5 },                                       /* 04D0-04F5 */
+  { 0x0004F8, 0x0004F9 },                                       /* 04F8-04F9 */
+  { 0x000500, 0x00050F },                                       /* 0500-050F */
+  { 0x000531, 0x000556 },                                       /* 0531-0556 */
+  { 0x000559, 0x00055F },                                       /* 0559-055F */
+  { 0x000561, 0x000587 },                                       /* 0561-0587 */
+  { 0x000589           },                                            /* 0589 */
+  { 0x000903           },                                            /* 0903 */
+  { 0x000905, 0x000939 },                                       /* 0905-0939 */
+  { 0x00093D, 0x000940 },                                       /* 093D-0940 */
+  { 0x000949, 0x00094C },                                       /* 0949-094C */
+  { 0x000950           },                                            /* 0950 */
+  { 0x000958, 0x000961 },                                       /* 0958-0961 */
+  { 0x000964, 0x000970 },                                       /* 0964-0970 */
+  { 0x000982, 0x000983 },                                       /* 0982-0983 */
+  { 0x000985, 0x00098C },                                       /* 0985-098C */
+  { 0x00098F, 0x000990 },                                       /* 098F-0990 */
+  { 0x000993, 0x0009A8 },                                       /* 0993-09A8 */
+  { 0x0009AA, 0x0009B0 },                                       /* 09AA-09B0 */
+  { 0x0009B2           },                                            /* 09B2 */
+  { 0x0009B6, 0x0009B9 },                                       /* 09B6-09B9 */
+  { 0x0009BE, 0x0009C0 },                                       /* 09BE-09C0 */
+  { 0x0009C7, 0x0009C8 },                                       /* 09C7-09C8 */
+  { 0x0009CB, 0x0009CC },                                       /* 09CB-09CC */
+  { 0x0009D7           },                                            /* 09D7 */
+  { 0x0009DC, 0x0009DD },                                       /* 09DC-09DD */
+  { 0x0009DF, 0x0009E1 },                                       /* 09DF-09E1 */
+  { 0x0009E6, 0x0009F1 },                                       /* 09E6-09F1 */
+  { 0x0009F4, 0x0009FA },                                       /* 09F4-09FA */
+  { 0x000A05, 0x000A0A },                                       /* 0A05-0A0A */
+  { 0x000A0F, 0x000A10 },                                       /* 0A0F-0A10 */
+  { 0x000A13, 0x000A28 },                                       /* 0A13-0A28 */
+  { 0x000A2A, 0x000A30 },                                       /* 0A2A-0A30 */
+  { 0x000A32, 0x000A33 },                                       /* 0A32-0A33 */
+  { 0x000A35, 0x000A36 },                                       /* 0A35-0A36 */
+  { 0x000A38, 0x000A39 },                                       /* 0A38-0A39 */
+  { 0x000A3E, 0x000A40 },                                       /* 0A3E-0A40 */
+  { 0x000A59, 0x000A5C },                                       /* 0A59-0A5C */
+  { 0x000A5E           },                                            /* 0A5E */
+  { 0x000A66, 0x000A6F },                                       /* 0A66-0A6F */
+  { 0x000A72, 0x000A74 },                                       /* 0A72-0A74 */
+  { 0x000A83           },                                            /* 0A83 */
+  { 0x000A85, 0x000A8B },                                       /* 0A85-0A8B */
+  { 0x000A8D           },                                            /* 0A8D */
+  { 0x000A8F, 0x000A91 },                                       /* 0A8F-0A91 */
+  { 0x000A93, 0x000AA8 },                                       /* 0A93-0AA8 */
+  { 0x000AAA, 0x000AB0 },                                       /* 0AAA-0AB0 */
+  { 0x000AB2, 0x000AB3 },                                       /* 0AB2-0AB3 */
+  { 0x000AB5, 0x000AB9 },                                       /* 0AB5-0AB9 */
+  { 0x000ABD, 0x000AC0 },                                       /* 0ABD-0AC0 */
+  { 0x000AC9           },                                            /* 0AC9 */
+  { 0x000ACB, 0x000ACC },                                       /* 0ACB-0ACC */
+  { 0x000AD0           },                                            /* 0AD0 */
+  { 0x000AE0           },                                            /* 0AE0 */
+  { 0x000AE6, 0x000AEF },                                       /* 0AE6-0AEF */
+  { 0x000B02, 0x000B03 },                                       /* 0B02-0B03 */
+  { 0x000B05, 0x000B0C },                                       /* 0B05-0B0C */
+  { 0x000B0F, 0x000B10 },                                       /* 0B0F-0B10 */
+  { 0x000B13, 0x000B28 },                                       /* 0B13-0B28 */
+  { 0x000B2A, 0x000B30 },                                       /* 0B2A-0B30 */
+  { 0x000B32, 0x000B33 },                                       /* 0B32-0B33 */
+  { 0x000B36, 0x000B39 },                                       /* 0B36-0B39 */
+  { 0x000B3D, 0x000B3E },                                       /* 0B3D-0B3E */
+  { 0x000B40           },                                            /* 0B40 */
+  { 0x000B47, 0x000B48 },                                       /* 0B47-0B48 */
+  { 0x000B4B, 0x000B4C },                                       /* 0B4B-0B4C */
+  { 0x000B57           },                                            /* 0B57 */
+  { 0x000B5C, 0x000B5D },                                       /* 0B5C-0B5D */
+  { 0x000B5F, 0x000B61 },                                       /* 0B5F-0B61 */
+  { 0x000B66, 0x000B70 },                                       /* 0B66-0B70 */
+  { 0x000B83           },                                            /* 0B83 */
+  { 0x000B85, 0x000B8A },                                       /* 0B85-0B8A */
+  { 0x000B8E, 0x000B90 },                                       /* 0B8E-0B90 */
+  { 0x000B92, 0x000B95 },                                       /* 0B92-0B95 */
+  { 0x000B99, 0x000B9A },                                       /* 0B99-0B9A */
+  { 0x000B9C           },                                            /* 0B9C */
+  { 0x000B9E, 0x000B9F },                                       /* 0B9E-0B9F */
+  { 0x000BA3, 0x000BA4 },                                       /* 0BA3-0BA4 */
+  { 0x000BA8, 0x000BAA },                                       /* 0BA8-0BAA */
+  { 0x000BAE, 0x000BB5 },                                       /* 0BAE-0BB5 */
+  { 0x000BB7, 0x000BB9 },                                       /* 0BB7-0BB9 */
+  { 0x000BBE, 0x000BBF },                                       /* 0BBE-0BBF */
+  { 0x000BC1, 0x000BC2 },                                       /* 0BC1-0BC2 */
+  { 0x000BC6, 0x000BC8 },                                       /* 0BC6-0BC8 */
+  { 0x000BCA, 0x000BCC },                                       /* 0BCA-0BCC */
+  { 0x000BD7           },                                            /* 0BD7 */
+  { 0x000BE7, 0x000BF2 },                                       /* 0BE7-0BF2 */
+  { 0x000C01, 0x000C03 },                                       /* 0C01-0C03 */
+  { 0x000C05, 0x000C0C },                                       /* 0C05-0C0C */
+  { 0x000C0E, 0x000C10 },                                       /* 0C0E-0C10 */
+  { 0x000C12, 0x000C28 },                                       /* 0C12-0C28 */
+  { 0x000C2A, 0x000C33 },                                       /* 0C2A-0C33 */
+  { 0x000C35, 0x000C39 },                                       /* 0C35-0C39 */
+  { 0x000C41, 0x000C44 },                                       /* 0C41-0C44 */
+  { 0x000C60, 0x000C61 },                                       /* 0C60-0C61 */
+  { 0x000C66, 0x000C6F },                                       /* 0C66-0C6F */
+  { 0x000C82, 0x000C83 },                                       /* 0C82-0C83 */
+  { 0x000C85, 0x000C8C },                                       /* 0C85-0C8C */
+  { 0x000C8E, 0x000C90 },                                       /* 0C8E-0C90 */
+  { 0x000C92, 0x000CA8 },                                       /* 0C92-0CA8 */
+  { 0x000CAA, 0x000CB3 },                                       /* 0CAA-0CB3 */
+  { 0x000CB5, 0x000CB9 },                                       /* 0CB5-0CB9 */
+  { 0x000CBE           },                                            /* 0CBE */
+  { 0x000CC0, 0x000CC4 },                                       /* 0CC0-0CC4 */
+  { 0x000CC7, 0x000CC8 },                                       /* 0CC7-0CC8 */
+  { 0x000CCA, 0x000CCB },                                       /* 0CCA-0CCB */
+  { 0x000CD5, 0x000CD6 },                                       /* 0CD5-0CD6 */
+  { 0x000CDE           },                                            /* 0CDE */
+  { 0x000CE0, 0x000CE1 },                                       /* 0CE0-0CE1 */
+  { 0x000CE6, 0x000CEF },                                       /* 0CE6-0CEF */
+  { 0x000D02, 0x000D03 },                                       /* 0D02-0D03 */
+  { 0x000D05, 0x000D0C },                                       /* 0D05-0D0C */
+  { 0x000D0E, 0x000D10 },                                       /* 0D0E-0D10 */
+  { 0x000D12, 0x000D28 },                                       /* 0D12-0D28 */
+  { 0x000D2A, 0x000D39 },                                       /* 0D2A-0D39 */
+  { 0x000D3E, 0x000D40 },                                       /* 0D3E-0D40 */
+  { 0x000D46, 0x000D48 },                                       /* 0D46-0D48 */
+  { 0x000D4A, 0x000D4C },                                       /* 0D4A-0D4C */
+  { 0x000D57           },                                            /* 0D57 */
+  { 0x000D60, 0x000D61 },                                       /* 0D60-0D61 */
+  { 0x000D66, 0x000D6F },                                       /* 0D66-0D6F */
+  { 0x000D82, 0x000D83 },                                       /* 0D82-0D83 */
+  { 0x000D85, 0x000D96 },                                       /* 0D85-0D96 */
+  { 0x000D9A, 0x000DB1 },                                       /* 0D9A-0DB1 */
+  { 0x000DB3, 0x000DBB },                                       /* 0DB3-0DBB */
+  { 0x000DBD           },                                            /* 0DBD */
+  { 0x000DC0, 0x000DC6 },                                       /* 0DC0-0DC6 */
+  { 0x000DCF, 0x000DD1 },                                       /* 0DCF-0DD1 */
+  { 0x000DD8, 0x000DDF },                                       /* 0DD8-0DDF */
+  { 0x000DF2, 0x000DF4 },                                       /* 0DF2-0DF4 */
+  { 0x000E01, 0x000E30 },                                       /* 0E01-0E30 */
+  { 0x000E32, 0x000E33 },                                       /* 0E32-0E33 */
+  { 0x000E40, 0x000E46 },                                       /* 0E40-0E46 */
+  { 0x000E4F, 0x000E5B },                                       /* 0E4F-0E5B */
+  { 0x000E81, 0x000E82 },                                       /* 0E81-0E82 */
+  { 0x000E84           },                                            /* 0E84 */
+  { 0x000E87, 0x000E88 },                                       /* 0E87-0E88 */
+  { 0x000E8A           },                                            /* 0E8A */
+  { 0x000E8D           },                                            /* 0E8D */
+  { 0x000E94, 0x000E97 },                                       /* 0E94-0E97 */
+  { 0x000E99, 0x000E9F },                                       /* 0E99-0E9F */
+  { 0x000EA1, 0x000EA3 },                                       /* 0EA1-0EA3 */
+  { 0x000EA5           },                                            /* 0EA5 */
+  { 0x000EA7           },                                            /* 0EA7 */
+  { 0x000EAA, 0x000EAB },                                       /* 0EAA-0EAB */
+  { 0x000EAD, 0x000EB0 },                                       /* 0EAD-0EB0 */
+  { 0x000EB2, 0x000EB3 },                                       /* 0EB2-0EB3 */
+  { 0x000EBD           },                                            /* 0EBD */
+  { 0x000EC0, 0x000EC4 },                                       /* 0EC0-0EC4 */
+  { 0x000EC6           },                                            /* 0EC6 */
+  { 0x000ED0, 0x000ED9 },                                       /* 0ED0-0ED9 */
+  { 0x000EDC, 0x000EDD },                                       /* 0EDC-0EDD */
+  { 0x000F00, 0x000F17 },                                       /* 0F00-0F17 */
+  { 0x000F1A, 0x000F34 },                                       /* 0F1A-0F34 */
+  { 0x000F36           },                                            /* 0F36 */
+  { 0x000F38           },                                            /* 0F38 */
+  { 0x000F3E, 0x000F47 },                                       /* 0F3E-0F47 */
+  { 0x000F49, 0x000F6A },                                       /* 0F49-0F6A */
+  { 0x000F7F           },                                            /* 0F7F */
+  { 0x000F85           },                                            /* 0F85 */
+  { 0x000F88, 0x000F8B },                                       /* 0F88-0F8B */
+  { 0x000FBE, 0x000FC5 },                                       /* 0FBE-0FC5 */
+  { 0x000FC7, 0x000FCC },                                       /* 0FC7-0FCC */
+  { 0x000FCF           },                                            /* 0FCF */
+  { 0x001000, 0x001021 },                                       /* 1000-1021 */
+  { 0x001023, 0x001027 },                                       /* 1023-1027 */
+  { 0x001029, 0x00102A },                                       /* 1029-102A */
+  { 0x00102C           },                                            /* 102C */
+  { 0x001031           },                                            /* 1031 */
+  { 0x001038           },                                            /* 1038 */
+  { 0x001040, 0x001057 },                                       /* 1040-1057 */
+  { 0x0010A0, 0x0010C5 },                                       /* 10A0-10C5 */
+  { 0x0010D0, 0x0010F8 },                                       /* 10D0-10F8 */
+  { 0x0010FB           },                                            /* 10FB */
+  { 0x001100, 0x001159 },                                       /* 1100-1159 */
+  { 0x00115F, 0x0011A2 },                                       /* 115F-11A2 */
+  { 0x0011A8, 0x0011F9 },                                       /* 11A8-11F9 */
+  { 0x001200, 0x001206 },                                       /* 1200-1206 */
+  { 0x001208, 0x001246 },                                       /* 1208-1246 */
+  { 0x001248           },                                            /* 1248 */
+  { 0x00124A, 0x00124D },                                       /* 124A-124D */
+  { 0x001250, 0x001256 },                                       /* 1250-1256 */
+  { 0x001258           },                                            /* 1258 */
+  { 0x00125A, 0x00125D },                                       /* 125A-125D */
+  { 0x001260, 0x001286 },                                       /* 1260-1286 */
+  { 0x001288           },                                            /* 1288 */
+  { 0x00128A, 0x00128D },                                       /* 128A-128D */
+  { 0x001290, 0x0012AE },                                       /* 1290-12AE */
+  { 0x0012B0           },                                            /* 12B0 */
+  { 0x0012B2, 0x0012B5 },                                       /* 12B2-12B5 */
+  { 0x0012B8, 0x0012BE },                                       /* 12B8-12BE */
+  { 0x0012C0           },                                            /* 12C0 */
+  { 0x0012C2, 0x0012C5 },                                       /* 12C2-12C5 */
+  { 0x0012C8, 0x0012CE },                                       /* 12C8-12CE */
+  { 0x0012D0, 0x0012D6 },                                       /* 12D0-12D6 */
+  { 0x0012D8, 0x0012EE },                                       /* 12D8-12EE */
+  { 0x0012F0, 0x00130E },                                       /* 12F0-130E */
+  { 0x001310           },                                            /* 1310 */
+  { 0x001312, 0x001315 },                                       /* 1312-1315 */
+  { 0x001318, 0x00131E },                                       /* 1318-131E */
+  { 0x001320, 0x001346 },                                       /* 1320-1346 */
+  { 0x001348, 0x00135A },                                       /* 1348-135A */
+  { 0x001361, 0x00137C },                                       /* 1361-137C */
+  { 0x0013A0, 0x0013F4 },                                       /* 13A0-13F4 */
+  { 0x001401, 0x001676 },                                       /* 1401-1676 */
+  { 0x001681, 0x00169A },                                       /* 1681-169A */
+  { 0x0016A0, 0x0016F0 },                                       /* 16A0-16F0 */
+  { 0x001700, 0x00170C },                                       /* 1700-170C */
+  { 0x00170E, 0x001711 },                                       /* 170E-1711 */
+  { 0x001720, 0x001731 },                                       /* 1720-1731 */
+  { 0x001735, 0x001736 },                                       /* 1735-1736 */
+  { 0x001740, 0x001751 },                                       /* 1740-1751 */
+  { 0x001760, 0x00176C },                                       /* 1760-176C */
+  { 0x00176E, 0x001770 },                                       /* 176E-1770 */
+  { 0x001780, 0x0017B6 },                                       /* 1780-17B6 */
+  { 0x0017BE, 0x0017C5 },                                       /* 17BE-17C5 */
+  { 0x0017C7, 0x0017C8 },                                       /* 17C7-17C8 */
+  { 0x0017D4, 0x0017DA },                                       /* 17D4-17DA */
+  { 0x0017DC           },                                            /* 17DC */
+  { 0x0017E0, 0x0017E9 },                                       /* 17E0-17E9 */
+  { 0x001810, 0x001819 },                                       /* 1810-1819 */
+  { 0x001820, 0x001877 },                                       /* 1820-1877 */
+  { 0x001880, 0x0018A8 },                                       /* 1880-18A8 */
+  { 0x001E00, 0x001E9B },                                       /* 1E00-1E9B */
+  { 0x001EA0, 0x001EF9 },                                       /* 1EA0-1EF9 */
+  { 0x001F00, 0x001F15 },                                       /* 1F00-1F15 */
+  { 0x001F18, 0x001F1D },                                       /* 1F18-1F1D */
+  { 0x001F20, 0x001F45 },                                       /* 1F20-1F45 */
+  { 0x001F48, 0x001F4D },                                       /* 1F48-1F4D */
+  { 0x001F50, 0x001F57 },                                       /* 1F50-1F57 */
+  { 0x001F59           },                                            /* 1F59 */
+  { 0x001F5B           },                                            /* 1F5B */
+  { 0x001F5D           },                                            /* 1F5D */
+  { 0x001F5F, 0x001F7D },                                       /* 1F5F-1F7D */
+  { 0x001F80, 0x001FB4 },                                       /* 1F80-1FB4 */
+  { 0x001FB6, 0x001FBC },                                       /* 1FB6-1FBC */
+  { 0x001FBE           },                                            /* 1FBE */
+  { 0x001FC2, 0x001FC4 },                                       /* 1FC2-1FC4 */
+  { 0x001FC6, 0x001FCC },                                       /* 1FC6-1FCC */
+  { 0x001FD0, 0x001FD3 },                                       /* 1FD0-1FD3 */
+  { 0x001FD6, 0x001FDB },                                       /* 1FD6-1FDB */
+  { 0x001FE0, 0x001FEC },                                       /* 1FE0-1FEC */
+  { 0x001FF2, 0x001FF4 },                                       /* 1FF2-1FF4 */
+  { 0x001FF6, 0x001FFC },                                       /* 1FF6-1FFC */
+  { 0x00200E           },                                            /* 200E */
+  { 0x002071           },                                            /* 2071 */
+  { 0x00207F           },                                            /* 207F */
+  { 0x002102           },                                            /* 2102 */
+  { 0x002107           },                                            /* 2107 */
+  { 0x00210A, 0x002113 },                                       /* 210A-2113 */
+  { 0x002115           },                                            /* 2115 */
+  { 0x002119, 0x00211D },                                       /* 2119-211D */
+  { 0x002124           },                                            /* 2124 */
+  { 0x002126           },                                            /* 2126 */
+  { 0x002128           },                                            /* 2128 */
+  { 0x00212A, 0x00212D },                                       /* 212A-212D */
+  { 0x00212F, 0x002131 },                                       /* 212F-2131 */
+  { 0x002133, 0x002139 },                                       /* 2133-2139 */
+  { 0x00213D, 0x00213F },                                       /* 213D-213F */
+  { 0x002145, 0x002149 },                                       /* 2145-2149 */
+  { 0x002160, 0x002183 },                                       /* 2160-2183 */
+  { 0x002336, 0x00237A },                                       /* 2336-237A */
+  { 0x002395           },                                            /* 2395 */
+  { 0x00249C, 0x0024E9 },                                       /* 249C-24E9 */
+  { 0x003005, 0x003007 },                                       /* 3005-3007 */
+  { 0x003021, 0x003029 },                                       /* 3021-3029 */
+  { 0x003031, 0x003035 },                                       /* 3031-3035 */
+  { 0x003038, 0x00303C },                                       /* 3038-303C */
+  { 0x003041, 0x003096 },                                       /* 3041-3096 */
+  { 0x00309D, 0x00309F },                                       /* 309D-309F */
+  { 0x0030A1, 0x0030FA },                                       /* 30A1-30FA */
+  { 0x0030FC, 0x0030FF },                                       /* 30FC-30FF */
+  { 0x003105, 0x00312C },                                       /* 3105-312C */
+  { 0x003131, 0x00318E },                                       /* 3131-318E */
+  { 0x003190, 0x0031B7 },                                       /* 3190-31B7 */
+  { 0x0031F0, 0x00321C },                                       /* 31F0-321C */
+  { 0x003220, 0x003243 },                                       /* 3220-3243 */
+  { 0x003260, 0x00327B },                                       /* 3260-327B */
+  { 0x00327F, 0x0032B0 },                                       /* 327F-32B0 */
+  { 0x0032C0, 0x0032CB },                                       /* 32C0-32CB */
+  { 0x0032D0, 0x0032FE },                                       /* 32D0-32FE */
+  { 0x003300, 0x003376 },                                       /* 3300-3376 */
+  { 0x00337B, 0x0033DD },                                       /* 337B-33DD */
+  { 0x0033E0, 0x0033FE },                                       /* 33E0-33FE */
+  { 0x003400, 0x004DB5 },                                       /* 3400-4DB5 */
+  { 0x004E00, 0x009FA5 },                                       /* 4E00-9FA5 */
+  { 0x00A000, 0x00A48C },                                       /* A000-A48C */
+  { 0x00AC00, 0x00D7A3 },                                       /* AC00-D7A3 */
+  { 0x00D800, 0x00FA2D },                                       /* D800-FA2D */
+  { 0x00FA30, 0x00FA6A },                                       /* FA30-FA6A */
+  { 0x00FB00, 0x00FB06 },                                       /* FB00-FB06 */
+  { 0x00FB13, 0x00FB17 },                                       /* FB13-FB17 */
+  { 0x00FF21, 0x00FF3A },                                       /* FF21-FF3A */
+  { 0x00FF41, 0x00FF5A },                                       /* FF41-FF5A */
+  { 0x00FF66, 0x00FFBE },                                       /* FF66-FFBE */
+  { 0x00FFC2, 0x00FFC7 },                                       /* FFC2-FFC7 */
+  { 0x00FFCA, 0x00FFCF },                                       /* FFCA-FFCF */
+  { 0x00FFD2, 0x00FFD7 },                                       /* FFD2-FFD7 */
+  { 0x00FFDA, 0x00FFDC },                                       /* FFDA-FFDC */
+  { 0x010300, 0x01031E },                                     /* 10300-1031E */
+  { 0x010320, 0x010323 },                                     /* 10320-10323 */
+  { 0x010330, 0x01034A },                                     /* 10330-1034A */
+  { 0x010400, 0x010425 },                                     /* 10400-10425 */
+  { 0x010428, 0x01044D },                                     /* 10428-1044D */
+  { 0x01D000, 0x01D0F5 },                                     /* 1D000-1D0F5 */
+  { 0x01D100, 0x01D126 },                                     /* 1D100-1D126 */
+  { 0x01D12A, 0x01D166 },                                     /* 1D12A-1D166 */
+  { 0x01D16A, 0x01D172 },                                     /* 1D16A-1D172 */
+  { 0x01D183, 0x01D184 },                                     /* 1D183-1D184 */
+  { 0x01D18C, 0x01D1A9 },                                     /* 1D18C-1D1A9 */
+  { 0x01D1AE, 0x01D1DD },                                     /* 1D1AE-1D1DD */
+  { 0x01D400, 0x01D454 },                                     /* 1D400-1D454 */
+  { 0x01D456, 0x01D49C },                                     /* 1D456-1D49C */
+  { 0x01D49E, 0x01D49F },                                     /* 1D49E-1D49F */
+  { 0x01D4A2           },                                           /* 1D4A2 */
+  { 0x01D4A5, 0x01D4A6 },                                     /* 1D4A5-1D4A6 */
+  { 0x01D4A9, 0x01D4AC },                                     /* 1D4A9-1D4AC */
+  { 0x01D4AE, 0x01D4B9 },                                     /* 1D4AE-1D4B9 */
+  { 0x01D4BB           },                                           /* 1D4BB */
+  { 0x01D4BD, 0x01D4C0 },                                     /* 1D4BD-1D4C0 */
+  { 0x01D4C2, 0x01D4C3 },                                     /* 1D4C2-1D4C3 */
+  { 0x01D4C5, 0x01D505 },                                     /* 1D4C5-1D505 */
+  { 0x01D507, 0x01D50A },                                     /* 1D507-1D50A */
+  { 0x01D50D, 0x01D514 },                                     /* 1D50D-1D514 */
+  { 0x01D516, 0x01D51C },                                     /* 1D516-1D51C */
+  { 0x01D51E, 0x01D539 },                                     /* 1D51E-1D539 */
+  { 0x01D53B, 0x01D53E },                                     /* 1D53B-1D53E */
+  { 0x01D540, 0x01D544 },                                     /* 1D540-1D544 */
+  { 0x01D546           },                                           /* 1D546 */
+  { 0x01D54A, 0x01D550 },                                     /* 1D54A-1D550 */
+  { 0x01D552, 0x01D6A3 },                                     /* 1D552-1D6A3 */
+  { 0x01D6A8, 0x01D7C9 },                                     /* 1D6A8-1D7C9 */
+  { 0x020000, 0x02A6D6 },                                     /* 20000-2A6D6 */
+  { 0x02F800, 0x02FA1D },                                     /* 2F800-2FA1D */
+  { 0x0F0000, 0x0FFFFD },                                     /* F0000-FFFFD */
+  { 0x100000, 0x10FFFD },                                   /* 100000-10FFFD */
+  { 0 },
+};
+
diff --git a/libidn/stringprep.c b/libidn/stringprep.c
new file mode 100644
index 0000000000..357f9e924f
--- /dev/null
+++ b/libidn/stringprep.c
@@ -0,0 +1,667 @@
+/* stringprep.c --- Core stringprep implementation.
+ * Copyright (C) 2002, 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "stringprep.h"
+
+static ssize_t
+stringprep_find_character_in_table (uint32_t ucs4,
+				    const Stringprep_table_element * table)
+{
+  ssize_t i;
+
+  /* This is where typical uses of Libidn spends very close to all CPU
+     time and causes most cache misses.  One could easily do a binary
+     search instead.  Before rewriting this, I want hard evidence this
+     slowness is at all relevant in typical applications.  (I don't
+     dispute optimization may improve matters significantly, I'm
+     mostly interested in having someone give real-world benchmark on
+     the impact of libidn.) */
+
+  for (i = 0; table[i].start; i++)
+    if (ucs4 >= table[i].start &&
+	ucs4 <= (table[i].end ? table[i].end : table[i].start))
+      return i;
+
+  return -1;
+}
+
+static ssize_t
+stringprep_find_string_in_table (uint32_t * ucs4,
+				 size_t ucs4len,
+				 size_t * tablepos,
+				 const Stringprep_table_element * table)
+{
+  size_t j;
+  ssize_t pos;
+
+  for (j = 0; j < ucs4len; j++)
+    if ((pos = stringprep_find_character_in_table (ucs4[j], table)) != -1)
+      {
+	if (tablepos)
+	  *tablepos = pos;
+	return j;
+      }
+
+  return -1;
+}
+
+static int
+stringprep_apply_table_to_string (uint32_t * ucs4,
+				  size_t * ucs4len,
+				  size_t maxucs4len,
+				  const Stringprep_table_element * table)
+{
+  ssize_t pos;
+  size_t i, maplen;
+
+  while ((pos = stringprep_find_string_in_table (ucs4, *ucs4len,
+						 &i, table)) != -1)
+    {
+      for (maplen = STRINGPREP_MAX_MAP_CHARS;
+	   maplen > 0 && table[i].map[maplen - 1] == 0; maplen--)
+	;
+
+      if (*ucs4len - 1 + maplen >= maxucs4len)
+	return STRINGPREP_TOO_SMALL_BUFFER;
+
+      memmove (&ucs4[pos + maplen], &ucs4[pos + 1],
+	       sizeof (uint32_t) * (*ucs4len - pos - 1));
+      memcpy (&ucs4[pos], table[i].map, sizeof (uint32_t) * maplen);
+      *ucs4len = *ucs4len - 1 + maplen;
+    }
+
+  return STRINGPREP_OK;
+}
+
+#define INVERTED(x) ((x) & ((~0UL) >> 1))
+#define UNAPPLICAPLEFLAGS(flags, profileflags) \
+  ((!INVERTED(profileflags) && !(profileflags & flags) && profileflags) || \
+   ( INVERTED(profileflags) && (profileflags & flags)))
+
+/**
+ * stringprep_4i:
+ * @ucs4: input/output array with string to prepare.
+ * @len: on input, length of input array with Unicode code points,
+ *          on exit, length of output array with Unicode code points.
+ * @maxucs4len: maximum length of input/output array.
+ * @flags: stringprep profile flags, or 0.
+ * @profile: pointer to stringprep profile to use.
+ *
+ * Prepare the input UCS-4 string according to the stringprep profile,
+ * and write back the result to the input string.
+ *
+ * The input is not required to be zero terminated (@ucs4[@len] = 0).
+ * The output will not be zero terminated unless @ucs4[@len] = 0.
+ * Instead, see stringprep_4zi() if your input is zero terminated or
+ * if you want the output to be.
+ *
+ * Since the stringprep operation can expand the string, @maxucs4len
+ * indicate how large the buffer holding the string is.  This function
+ * will not read or write to code points outside that size.
+ *
+ * The @flags are one of Stringprep_profile_flags, or 0.
+ *
+ * The @profile contain the instructions to perform.  Your application
+ * can define new profiles, possibly re-using the generic stringprep
+ * tables that always will be part of the library, or use one of the
+ * currently supported profiles.
+ *
+ * Return value: Returns %STRINGPREP_OK iff successful, or an error code.
+ **/
+int
+stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
+	       Stringprep_profile_flags flags,
+	       const Stringprep_profile * profile)
+{
+  size_t i, j;
+  ssize_t k;
+  size_t ucs4len = *len;
+  int rc;
+
+  for (i = 0; profile[i].operation; i++)
+    {
+      switch (profile[i].operation)
+	{
+	case STRINGPREP_NFKC:
+	  {
+	    uint32_t *q = 0;
+
+	    if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
+	      break;
+
+	    if (flags & STRINGPREP_NO_NFKC && !profile[i].flags)
+	      /* Profile requires NFKC, but callee asked for no NFKC. */
+	      return STRINGPREP_FLAG_ERROR;
+
+	    q = stringprep_ucs4_nfkc_normalize (ucs4, ucs4len);
+	    if (!q)
+	      return STRINGPREP_NFKC_FAILED;
+
+	    for (ucs4len = 0; q[ucs4len]; ucs4len++)
+	      ;
+
+	    if (ucs4len >= maxucs4len)
+	      {
+		free (q);
+		return STRINGPREP_TOO_SMALL_BUFFER;
+	      }
+
+	    memcpy (ucs4, q, ucs4len * sizeof (ucs4[0]));
+
+	    free (q);
+	  }
+	  break;
+
+	case STRINGPREP_PROHIBIT_TABLE:
+	  k = stringprep_find_string_in_table (ucs4, ucs4len,
+					       NULL, profile[i].table);
+	  if (k != -1)
+	    return STRINGPREP_CONTAINS_PROHIBITED;
+	  break;
+
+	case STRINGPREP_UNASSIGNED_TABLE:
+	  if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
+	    break;
+	  if (flags & STRINGPREP_NO_UNASSIGNED)
+	    {
+	      k = stringprep_find_string_in_table
+		(ucs4, ucs4len, NULL, profile[i].table);
+	      if (k != -1)
+		return STRINGPREP_CONTAINS_UNASSIGNED;
+	    }
+	  break;
+
+	case STRINGPREP_MAP_TABLE:
+	  if (UNAPPLICAPLEFLAGS (flags, profile[i].flags))
+	    break;
+	  rc = stringprep_apply_table_to_string
+	    (ucs4, &ucs4len, maxucs4len, profile[i].table);
+	  if (rc != STRINGPREP_OK)
+	    return rc;
+	  break;
+
+	case STRINGPREP_BIDI_PROHIBIT_TABLE:
+	case STRINGPREP_BIDI_RAL_TABLE:
+	case STRINGPREP_BIDI_L_TABLE:
+	  break;
+
+	case STRINGPREP_BIDI:
+	  {
+	    int done_prohibited = 0;
+	    int done_ral = 0;
+	    int done_l = 0;
+	    int contains_ral = -1;
+	    int contains_l = -1;
+
+	    for (j = 0; profile[j].operation; j++)
+	      if (profile[j].operation == STRINGPREP_BIDI_PROHIBIT_TABLE)
+		{
+		  done_prohibited = 1;
+		  k = stringprep_find_string_in_table (ucs4, ucs4len,
+						       NULL,
+						       profile[j].table);
+		  if (k != -1)
+		    return STRINGPREP_BIDI_CONTAINS_PROHIBITED;
+		}
+	      else if (profile[j].operation == STRINGPREP_BIDI_RAL_TABLE)
+		{
+		  done_ral = 1;
+		  if (stringprep_find_string_in_table
+		      (ucs4, ucs4len, NULL, profile[j].table) != -1)
+		    contains_ral = j;
+		}
+	      else if (profile[j].operation == STRINGPREP_BIDI_L_TABLE)
+		{
+		  done_l = 1;
+		  if (stringprep_find_string_in_table
+		      (ucs4, ucs4len, NULL, profile[j].table) != -1)
+		    contains_l = j;
+		}
+
+	    if (!done_prohibited || !done_ral || !done_l)
+	      return STRINGPREP_PROFILE_ERROR;
+
+	    if (contains_ral != -1 && contains_l != -1)
+	      return STRINGPREP_BIDI_BOTH_L_AND_RAL;
+
+	    if (contains_ral != -1)
+	      {
+		if (!(stringprep_find_character_in_table
+		      (ucs4[0], profile[contains_ral].table) != -1 &&
+		      stringprep_find_character_in_table
+		      (ucs4[ucs4len - 1], profile[contains_ral].table) != -1))
+		  return STRINGPREP_BIDI_LEADTRAIL_NOT_RAL;
+	      }
+	  }
+	  break;
+
+	default:
+	  return STRINGPREP_PROFILE_ERROR;
+	  break;
+	}
+    }
+
+  *len = ucs4len;
+
+  return STRINGPREP_OK;
+}
+
+static int
+stringprep_4zi_1 (uint32_t * ucs4, size_t ucs4len, size_t maxucs4len,
+		  Stringprep_profile_flags flags,
+		  const Stringprep_profile * profile)
+{
+  int rc;
+
+  rc = stringprep_4i (ucs4, &ucs4len, maxucs4len, flags, profile);
+  if (rc != STRINGPREP_OK)
+    return rc;
+
+  if (ucs4len >= maxucs4len)
+    return STRINGPREP_TOO_SMALL_BUFFER;
+
+  ucs4[ucs4len] = 0;
+
+  return STRINGPREP_OK;
+}
+
+/**
+ * stringprep_4zi:
+ * @ucs4: input/output array with zero terminated string to prepare.
+ * @maxucs4len: maximum length of input/output array.
+ * @flags: stringprep profile flags, or 0.
+ * @profile: pointer to stringprep profile to use.
+ *
+ * Prepare the input zero terminated UCS-4 string according to the
+ * stringprep profile, and write back the result to the input string.
+ *
+ * Since the stringprep operation can expand the string, @maxucs4len
+ * indicate how large the buffer holding the string is.  This function
+ * will not read or write to code points outside that size.
+ *
+ * The @flags are one of Stringprep_profile_flags, or 0.
+ *
+ * The @profile contain the instructions to perform.  Your application
+ * can define new profiles, possibly re-using the generic stringprep
+ * tables that always will be part of the library, or use one of the
+ * currently supported profiles.
+ *
+ * Return value: Returns %STRINGPREP_OK iff successful, or an error code.
+ **/
+int
+stringprep_4zi (uint32_t * ucs4, size_t maxucs4len,
+		Stringprep_profile_flags flags,
+		const Stringprep_profile * profile)
+{
+  size_t ucs4len;
+
+  for (ucs4len = 0; ucs4len < maxucs4len && ucs4[ucs4len] != 0; ucs4len++)
+    ;
+
+  return stringprep_4zi_1 (ucs4, ucs4len, maxucs4len, flags, profile);
+}
+
+/**
+ * stringprep:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ * @flags: stringprep profile flags, or 0.
+ * @profile: pointer to stringprep profile to use.
+ *
+ * Prepare the input zero terminated UTF-8 string according to the
+ * stringprep profile, and write back the result to the input string.
+ *
+ * Note that you must convert strings entered in the systems locale
+ * into UTF-8 before using this function, see
+ * stringprep_locale_to_utf8().
+ *
+ * Since the stringprep operation can expand the string, @maxlen
+ * indicate how large the buffer holding the string is.  This function
+ * will not read or write to characters outside that size.
+ *
+ * The @flags are one of Stringprep_profile_flags, or 0.
+ *
+ * The @profile contain the instructions to perform.  Your application
+ * can define new profiles, possibly re-using the generic stringprep
+ * tables that always will be part of the library, or use one of the
+ * currently supported profiles.
+ *
+ * Return value: Returns %STRINGPREP_OK iff successful, or an error code.
+ **/
+int
+stringprep (char *in,
+	    size_t maxlen,
+	    Stringprep_profile_flags flags,
+	    const Stringprep_profile * profile)
+{
+  int rc;
+  char *utf8 = NULL;
+  uint32_t *ucs4 = NULL;
+  size_t ucs4len, maxucs4len, adducs4len = 50;
+
+  do
+    {
+      if (ucs4)
+	free (ucs4);
+      ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
+      maxucs4len = ucs4len + adducs4len;
+      ucs4 = realloc (ucs4, maxucs4len * sizeof (uint32_t));
+      if (!ucs4)
+	return STRINGPREP_MALLOC_ERROR;
+
+      rc = stringprep_4i (ucs4, &ucs4len, maxucs4len, flags, profile);
+      adducs4len += 50;
+    }
+  while (rc == STRINGPREP_TOO_SMALL_BUFFER);
+  if (rc != STRINGPREP_OK)
+    {
+      free (ucs4);
+      return rc;
+    }
+
+  utf8 = stringprep_ucs4_to_utf8 (ucs4, ucs4len, 0, 0);
+  free (ucs4);
+  if (!utf8)
+    return STRINGPREP_MALLOC_ERROR;
+
+  if (strlen (utf8) >= maxlen)
+    {
+      free (utf8);
+      return STRINGPREP_TOO_SMALL_BUFFER;
+    }
+
+  strcpy (in, utf8);		/* flawfinder: ignore */
+
+  free (utf8);
+
+  return STRINGPREP_OK;
+}
+
+/**
+ * stringprep_profile:
+ * @in: input array with UTF-8 string to prepare.
+ * @out: output variable with pointer to newly allocate string.
+ * @profile: name of stringprep profile to use.
+ * @flags: stringprep profile flags, or 0.
+ *
+ * Prepare the input zero terminated UTF-8 string according to the
+ * stringprep profile, and return the result in a newly allocated
+ * variable.
+ *
+ * Note that you must convert strings entered in the systems locale
+ * into UTF-8 before using this function, see
+ * stringprep_locale_to_utf8().
+ *
+ * The output @out variable must be deallocated by the caller.
+ *
+ * The @flags are one of Stringprep_profile_flags, or 0.
+ *
+ * The @profile specifies the name of the stringprep profile to use.
+ * It must be one of the internally supported stringprep profiles.
+ *
+ * Return value: Returns %STRINGPREP_OK iff successful, or an error code.
+ **/
+int
+stringprep_profile (const char *in,
+		    char **out,
+		    const char *profile, Stringprep_profile_flags flags)
+{
+  const Stringprep_profiles *p;
+  char *str = NULL;
+  size_t len = strlen (in) + 1;
+  int rc;
+
+  for (p = &stringprep_profiles[0]; p->name; p++)
+    if (strcmp (p->name, profile) == 0)
+      break;
+
+  if (!p || !p->name || !p->tables)
+    return STRINGPREP_UNKNOWN_PROFILE;
+
+  do
+    {
+      if (str)
+	free (str);
+      str = (char *) malloc (len);
+      if (str == NULL)
+	return STRINGPREP_MALLOC_ERROR;
+
+      strcpy (str, in);
+
+      rc = stringprep (str, len, flags, p->tables);
+      len += 50;
+    }
+  while (rc == STRINGPREP_TOO_SMALL_BUFFER);
+
+  if (rc == STRINGPREP_OK)
+    *out = str;
+  else
+    free (str);
+
+  return rc;
+}
+
+/*! \mainpage GNU Internationalized Domain Name Library
+ *
+ * \section intro Introduction
+ *
+ * GNU Libidn is an implementation of the Stringprep, Punycode and IDNA
+ * specifications defined by the IETF Internationalized Domain Names
+ * (IDN) working group, used for internationalized domain names.  The
+ * package is available under the GNU Lesser General Public License.
+ *
+ * The library contains a generic Stringprep implementation that does
+ * Unicode 3.2 NFKC normalization, mapping and prohibitation of
+ * characters, and bidirectional character handling.  Profiles for
+ * Nameprep, iSCSI, SASL and XMPP are included.  Punycode and ASCII
+ * Compatible Encoding (ACE) via IDNA are supported.  A mechanism to
+ * define Top-Level Domain (TLD) specific validation tables, and to
+ * compare strings against those tables, is included.  Default tables
+ * for some TLDs are also included.
+ *
+ * The Stringprep API consists of two main functions, one for
+ * converting data from the system's native representation into UTF-8,
+ * and one function to perform the Stringprep processing.  Adding a
+ * new Stringprep profile for your application within the API is
+ * straightforward.  The Punycode API consists of one encoding
+ * function and one decoding function.  The IDNA API consists of the
+ * ToASCII and ToUnicode functions, as well as an high-level interface
+ * for converting entire domain names to and from the ACE encoded
+ * form.  The TLD API consists of one set of functions to extract the
+ * TLD name from a domain string, one set of functions to locate the
+ * proper TLD table to use based on the TLD name, and core functions
+ * to validate a string against a TLD table, and some utility wrappers
+ * to perform all the steps in one call.
+ *
+ * The library is used by, e.g., GNU SASL and Shishi to process user
+ * names and passwords.  Libidn can be built into GNU Libc to enable a
+ * new system-wide getaddrinfo() flag for IDN processing.
+ *
+ * Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
+ * platforms (including Solaris, IRIX, AIX, and Tru64) and Windows.
+ * Libidn is written in C and (parts of) the API is accessible from C,
+ * C++, Emacs Lisp, Python and Java.
+ *
+ * The project web page:\n
+ * http://www.gnu.org/software/libidn/
+ *
+ * The software archive:\n
+ * ftp://alpha.gnu.org/pub/gnu/libidn/
+ *
+ * For more information see:\n
+ * http://www.ietf.org/html.charters/idn-charter.html\n
+ * http://www.ietf.org/rfc/rfc3454.txt (stringprep specification)\n
+ * http://www.ietf.org/rfc/rfc3490.txt (idna specification)\n
+ * http://www.ietf.org/rfc/rfc3491.txt (nameprep specification)\n
+ * http://www.ietf.org/rfc/rfc3492.txt (punycode specification)\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-string-prep-04.txt\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-utf8-profile-01.txt\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-sasl-anon-00.txt\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-sasl-saslprep-00.txt\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-nodeprep-01.txt\n
+ * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-resourceprep-01.txt\n
+ *
+ * Further information and paid contract development:\n
+ * Simon Josefsson <simon@josefsson.org>
+ *
+ * \section examples Examples
+ *
+ * \include example.c
+ * \include example3.c
+ * \include example4.c
+ * \include example5.c
+ */
+
+/**
+ * STRINGPREP_VERSION
+ *
+ * String defined via CPP denoting the header file version number.
+ * Used together with stringprep_check_version() to verify header file
+ * and run-time library consistency.
+ */
+
+/**
+ * STRINGPREP_MAX_MAP_CHARS
+ *
+ * Maximum number of code points that can replace a single code point,
+ * during stringprep mapping.
+ */
+
+/**
+ * Stringprep_rc:
+ * @STRINGPREP_OK: Successful operation.  This value is guaranteed to
+ *   always be zero, the remaining ones are only guaranteed to hold
+ *   non-zero values, for logical comparison purposes.
+ * @STRINGPREP_CONTAINS_UNASSIGNED: String contain unassigned Unicode
+ *   code points, which is forbidden by the profile.
+ * @STRINGPREP_CONTAINS_PROHIBITED: String contain code points
+ *   prohibited by the profile.
+ * @STRINGPREP_BIDI_BOTH_L_AND_RAL: String contain code points with
+ *   conflicting bidirection category.
+ * @STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: Leading and trailing character
+ *   in string not of proper bidirectional category.
+ * @STRINGPREP_BIDI_CONTAINS_PROHIBITED: Contains prohibited code
+ *   points detected by bidirectional code.
+ * @STRINGPREP_TOO_SMALL_BUFFER: Buffer handed to function was too
+ *   small.  This usually indicate a problem in the calling
+ *   application.
+ * @STRINGPREP_PROFILE_ERROR: The stringprep profile was inconsistent.
+ *   This usually indicate an internal error in the library.
+ * @STRINGPREP_FLAG_ERROR: The supplied flag conflicted with profile.
+ *   This usually indicate a problem in the calling application.
+ * @STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
+ *   known to the library.
+ * @STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed.  This
+ *   usually indicate an internal error in the library.
+ * @STRINGPREP_MALLOC_ERROR: The malloc() was out of memory.  This is
+ *   usually a fatal error.
+ *
+ * Enumerated return codes of stringprep(), stringprep_profile()
+ * functions (and macros using those functions).  The value 0 is
+ * guaranteed to always correspond to success.
+ */
+
+/**
+ * Stringprep_profile_flags:
+ * @STRINGPREP_NO_NFKC: Disable the NFKC normalization, as well as
+ *   selecting the non-NFKC case folding tables.  Usually the profile
+ *   specifies BIDI and NFKC settings, and applications should not
+ *   override it unless in special situations.
+ * @STRINGPREP_NO_BIDI: Disable the BIDI step.  Usually the profile
+ *   specifies BIDI and NFKC settings, and applications should not
+ *   override it unless in special situations.
+ * @STRINGPREP_NO_UNASSIGNED: Make the library return with an error if
+ *   string contains unassigned characters according to profile.
+ *
+ * Stringprep profile flags.
+ */
+
+/**
+ * Stringprep_profile_steps:
+ *
+ * Various steps in the stringprep algorithm.  You really want to
+ * study the source code to understand this one.  Only useful if you
+ * want to add another profile.
+ */
+
+/**
+ * stringprep_nameprep:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the nameprep profile.
+ * The AllowUnassigned flag is true, use
+ * stringprep_nameprep_no_unassigned() if you want a false
+ * AllowUnassigned.  Returns 0 iff successful, or an error code.
+ **/
+
+/**
+ * stringprep_nameprep_no_unassigned:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the nameprep profile.
+ * The AllowUnassigned flag is false, use stringprep_nameprep() for
+ * true AllowUnassigned.  Returns 0 iff successful, or an error code.
+ **/
+
+/**
+ * stringprep_iscsi:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the draft iSCSI
+ * stringprep profile.  Returns 0 iff successful, or an error code.
+ **/
+
+/**
+ * stringprep_plain:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the draft SASL
+ * ANONYMOUS profile.  Returns 0 iff successful, or an error code.
+ **/
+
+/**
+ * stringprep_xmpp_nodeprep:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the draft XMPP node
+ * identifier profile.  Returns 0 iff successful, or an error code.
+ **/
+
+/**
+ * stringprep_xmpp_resourceprep:
+ * @in: input/ouput array with string to prepare.
+ * @maxlen: maximum length of input/output array.
+ *
+ * Prepare the input UTF-8 string according to the draft XMPP resource
+ * identifier profile.  Returns 0 iff successful, or an error code.
+ **/
diff --git a/libidn/stringprep.h b/libidn/stringprep.h
new file mode 100644
index 0000000000..9894a1644f
--- /dev/null
+++ b/libidn/stringprep.h
@@ -0,0 +1,211 @@
+/* stringprep.h		Header file for stringprep functions.         -*- c -*-
+ * Copyright (C) 2002, 2003  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#ifndef _STRINGPREP_H
+#define _STRINGPREP_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <stddef.h>		/* size_t */
+#include <unistd.h>		/* ssize_t */
+#include <idn-int.h>		/* uint32_t */
+
+#define STRINGPREP_VERSION "0.4.1"
+
+/* Error codes. */
+  typedef enum
+  {
+    STRINGPREP_OK = 0,
+    /* Stringprep errors. */
+    STRINGPREP_CONTAINS_UNASSIGNED = 1,
+    STRINGPREP_CONTAINS_PROHIBITED = 2,
+    STRINGPREP_BIDI_BOTH_L_AND_RAL = 3,
+    STRINGPREP_BIDI_LEADTRAIL_NOT_RAL = 4,
+    STRINGPREP_BIDI_CONTAINS_PROHIBITED = 5,
+    /* Error in calling application. */
+    STRINGPREP_TOO_SMALL_BUFFER = 100,
+    STRINGPREP_PROFILE_ERROR = 101,
+    STRINGPREP_FLAG_ERROR = 102,
+    STRINGPREP_UNKNOWN_PROFILE = 103,
+    /* Internal errors. */
+    STRINGPREP_NFKC_FAILED = 200,
+    STRINGPREP_MALLOC_ERROR = 201
+  } Stringprep_rc;
+
+/* Flags used when calling stringprep(). */
+  typedef enum
+  {
+    STRINGPREP_NO_NFKC = 1,
+    STRINGPREP_NO_BIDI = 2,
+    STRINGPREP_NO_UNASSIGNED = 4
+  } Stringprep_profile_flags;
+
+/* Steps in a stringprep profile. */
+  typedef enum
+  {
+    STRINGPREP_NFKC = 1,
+    STRINGPREP_BIDI = 2,
+    STRINGPREP_MAP_TABLE = 3,
+    STRINGPREP_UNASSIGNED_TABLE = 4,
+    STRINGPREP_PROHIBIT_TABLE = 5,
+    STRINGPREP_BIDI_PROHIBIT_TABLE = 6,
+    STRINGPREP_BIDI_RAL_TABLE = 7,
+    STRINGPREP_BIDI_L_TABLE = 8
+  } Stringprep_profile_steps;
+
+#define STRINGPREP_MAX_MAP_CHARS 4
+
+  struct Stringprep_table_element
+  {
+    uint32_t start;
+    uint32_t end;		/* 0 if only one character */
+    uint32_t map[STRINGPREP_MAX_MAP_CHARS];	/* NULL if end is not 0 */
+  };
+  typedef struct Stringprep_table_element Stringprep_table_element;
+
+  struct Stringprep_table
+  {
+    Stringprep_profile_steps operation;
+    Stringprep_profile_flags flags;
+    const Stringprep_table_element *table;
+  };
+  typedef struct Stringprep_table Stringprep_profile;
+
+  struct Stringprep_profiles
+  {
+    const char *name;
+    const Stringprep_profile *tables;
+  };
+  typedef struct Stringprep_profiles Stringprep_profiles;
+
+  extern const Stringprep_profiles stringprep_profiles[];
+
+/* Profiles */
+  extern const Stringprep_table_element stringprep_rfc3454_A_1[];
+  extern const Stringprep_table_element stringprep_rfc3454_B_1[];
+  extern const Stringprep_table_element stringprep_rfc3454_B_2[];
+  extern const Stringprep_table_element stringprep_rfc3454_B_3[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_1_1[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_1_2[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_2_1[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_2_2[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_3[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_4[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_5[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_6[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_7[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_8[];
+  extern const Stringprep_table_element stringprep_rfc3454_C_9[];
+  extern const Stringprep_table_element stringprep_rfc3454_D_1[];
+  extern const Stringprep_table_element stringprep_rfc3454_D_2[];
+
+  /* Nameprep */
+
+  extern const Stringprep_profile stringprep_nameprep[];
+
+#define stringprep_nameprep(in, maxlen)			\
+  stringprep(in, maxlen, 0, stringprep_nameprep)
+
+#define stringprep_nameprep_no_unassigned(in, maxlen)			\
+  stringprep(in, maxlen, STRINGPREP_NO_UNASSIGNED, stringprep_nameprep)
+
+  /* SASL */
+
+  extern const Stringprep_profile stringprep_saslprep[];
+  extern const Stringprep_profile stringprep_plain[];
+  extern const Stringprep_profile stringprep_trace[];
+
+#define stringprep_plain(in, maxlen)		\
+  stringprep(in, maxlen, 0, stringprep_plain)
+
+  /* Kerberos */
+
+  extern const Stringprep_profile stringprep_kerberos5[];
+
+#define stringprep_kerberos5(in, maxlen)		\
+  stringprep(in, maxlen, 0, stringprep_kerberos5)
+
+  /* XMPP */
+
+  extern const Stringprep_profile stringprep_xmpp_nodeprep[];
+  extern const Stringprep_profile stringprep_xmpp_resourceprep[];
+  extern const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[];
+
+#define stringprep_xmpp_nodeprep(in, maxlen)		\
+  stringprep(in, maxlen, 0, stringprep_xmpp_nodeprep)
+#define stringprep_xmpp_resourceprep(in, maxlen)		\
+  stringprep(in, maxlen, 0, stringprep_xmpp_resourceprep)
+
+  /* iSCSI */
+
+  extern const Stringprep_profile stringprep_iscsi[];
+
+#define stringprep_iscsi(in, maxlen)		\
+  stringprep(in, maxlen, 0, stringprep_iscsi)
+
+  /* API */
+
+  extern int stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len,
+			    Stringprep_profile_flags flags,
+			    const Stringprep_profile * profile);
+  extern int stringprep_4zi (uint32_t * ucs4, size_t maxucs4len,
+			     Stringprep_profile_flags flags,
+			     const Stringprep_profile * profile);
+  extern int stringprep (char *in, size_t maxlen,
+			 Stringprep_profile_flags flags,
+			 const Stringprep_profile * profile);
+
+  extern int stringprep_profile (const char *in,
+				 char **out,
+				 const char *profile,
+				 Stringprep_profile_flags flags);
+
+  extern const char *stringprep_check_version (const char *req_version);
+
+/* Utility */
+
+  extern int stringprep_unichar_to_utf8 (uint32_t c, char *outbuf);
+  extern uint32_t stringprep_utf8_to_unichar (const char *p);
+
+  extern uint32_t *stringprep_utf8_to_ucs4 (const char *str, ssize_t len,
+					    size_t * items_written);
+  extern char *stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len,
+					size_t * items_read,
+					size_t * items_written);
+
+  extern char *stringprep_utf8_nfkc_normalize (const char *str, ssize_t len);
+  extern uint32_t *stringprep_ucs4_nfkc_normalize (uint32_t * str,
+						   ssize_t len);
+
+  extern const char *stringprep_locale_charset (void);
+  extern char *stringprep_convert (const char *str,
+				   const char *to_codeset,
+				   const char *from_codeset);
+  extern char *stringprep_locale_to_utf8 (const char *str);
+  extern char *stringprep_utf8_to_locale (const char *str);
+
+#ifdef __cplusplus
+}
+#endif
+#endif				/* _STRINGPREP_H */
diff --git a/libidn/sysdeps/unix/configure b/libidn/sysdeps/unix/configure
new file mode 100755
index 0000000000..2d9fac30e5
--- /dev/null
+++ b/libidn/sysdeps/unix/configure
@@ -0,0 +1,2 @@
+# Signal that libidn is available.
+libc_cv_idn=yes
diff --git a/libidn/toutf8.c b/libidn/toutf8.c
new file mode 100644
index 0000000000..450cb6db50
--- /dev/null
+++ b/libidn/toutf8.c
@@ -0,0 +1,283 @@
+/* toutf8.c	Convert strings from system locale into UTF-8.
+ * Copyright (C) 2002, 2003, 2004  Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * GNU Libidn is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * GNU Libidn 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GNU Libidn; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#include "stringprep.h"
+
+#ifdef _LIBC
+# define HAVE_ICONV 1
+# define LOCALE_WORKS 1
+# define ICONV_CONST
+#endif
+
+#ifdef HAVE_ICONV
+# include <iconv.h>
+
+# if LOCALE_WORKS
+#  include <langinfo.h>
+#  include <locale.h>
+# endif
+
+# ifndef _LIBC
+static const char *
+stringprep_locale_charset_slow (void)
+{
+  return nl_langinfo (CODESET);
+  const char *charset = getenv ("CHARSET");	/* flawfinder: ignore */
+
+  if (charset && *charset)
+    return charset;
+
+#  ifdef LOCALE_WORKS
+  {
+    char *p;
+
+    p = setlocale (LC_CTYPE, NULL);
+    setlocale (LC_CTYPE, "");
+
+    charset = nl_langinfo (CODESET);
+
+    setlocale (LC_CTYPE, p);
+
+    if (charset && *charset)
+      return charset;
+  }
+#  endif
+
+  return "ASCII";
+}
+
+static const char *stringprep_locale_charset_cache;
+# endif
+
+/**
+ * stringprep_locale_charset:
+ *
+ * Find out system locale charset.
+ *
+ * Note that this function return what it believe the SYSTEM is using
+ * as a locale, not what locale the program is currently in (modified,
+ * e.g., by a setlocale(LC_CTYPE, "ISO-8859-1")).  The reason is that
+ * data read from argv[], stdin etc comes from the system, and is more
+ * likely to be encoded using the system locale than the program
+ * locale.
+ *
+ * You can set the environment variable CHARSET to override the value
+ * returned.  Note that this function caches the result, so you will
+ * have to modify CHARSET before calling (even indirectly) any
+ * stringprep functions, e.g., by setting it when invoking the
+ * application.
+ *
+ * Return value: Return the character set used by the system locale.
+ *   It will never return NULL, but use "ASCII" as a fallback.
+ **/
+# ifdef _LIBC
+#  define stringprep_locale_charset() nl_langinfo (CODESET)
+# else
+const char *
+stringprep_locale_charset (void)
+{
+  if (!stringprep_locale_charset_cache)
+    stringprep_locale_charset_cache = stringprep_locale_charset_slow ();
+
+  return stringprep_locale_charset_cache;
+}
+# endif
+
+/**
+ * stringprep_convert:
+ * @str: input zero-terminated string.
+ * @to_codeset: name of destination character set.
+ * @from_codeset: name of origin character set, as used by @str.
+ *
+ * Convert the string from one character set to another using the
+ * system's iconv() function.
+ *
+ * Return value: Returns newly allocated zero-terminated string which
+ *   is @str transcoded into to_codeset.
+ **/
+char *
+stringprep_convert (const char *str,
+		    const char *to_codeset, const char *from_codeset)
+{
+  iconv_t cd;
+  char *dest;
+  char *outp;
+  ICONV_CONST char *p;
+  size_t inbytes_remaining;
+  size_t outbytes_remaining;
+  size_t err;
+  size_t outbuf_size;
+  int have_error = 0;
+
+  if (strcmp (to_codeset, from_codeset) == 0)
+    {
+#if defined HAVE_STRDUP || defined _LIBC
+      return strdup (str);
+#else
+      char *p;
+      p = malloc (strlen (str) + 1);
+      if (!p)
+	return NULL;
+      return strcpy (p, str);
+#endif
+    }
+
+  cd = iconv_open (to_codeset, from_codeset);
+
+  if (cd == (iconv_t) - 1)
+    return NULL;
+
+  p = (ICONV_CONST char *) str;
+
+  inbytes_remaining = strlen (p);
+  /* Guess the maximum length the output string can have.  */
+  outbuf_size = (inbytes_remaining + 1) * MAX (7, MB_CUR_MAX);
+
+  outp = dest = malloc (outbuf_size);
+  if (dest == NULL)
+    goto out;
+  outbytes_remaining = outbuf_size - 1;	/* -1 for NUL */
+
+again:
+
+  err = iconv (cd, (ICONV_CONST char **) &p, &inbytes_remaining,
+	       &outp, &outbytes_remaining);
+
+  if (err == (size_t) - 1)
+    {
+      switch (errno)
+	{
+	case EINVAL:
+	  /* Incomplete text, do not report an error */
+	  break;
+
+	case E2BIG:
+	  {
+	    size_t used = outp - dest;
+	    char *newdest;
+
+	    outbuf_size *= 2;
+	    newdest = realloc (dest, outbuf_size);
+	    if (newdest == NULL)
+	      {
+		have_error = 1;
+		goto out;
+	      }
+	    dest = newdest;
+
+	    outp = dest + used;
+	    outbytes_remaining = outbuf_size - used - 1; /* -1 for NUL */
+
+	    goto again;
+	  }
+	  break;
+
+	case EILSEQ:
+	  have_error = 1;
+	  break;
+
+	default:
+	  have_error = 1;
+	  break;
+	}
+    }
+
+  *outp = '\0';
+
+  if (*p != '\0')
+    have_error = 1;
+
+ out:
+  iconv_close (cd);
+
+  if (have_error)
+    {
+      free (dest);
+      dest = NULL;
+    }
+
+  return dest;
+}
+
+#else /* HAVE_ICONV */
+
+const char *
+stringprep_locale_charset ()
+{
+  return "ASCII";
+}
+
+char *
+stringprep_convert (const char *str,
+		    const char *to_codeset, const char *from_codeset)
+{
+  char *p;
+  fprintf (stderr, "libidn: warning: libiconv not installed, cannot "
+	   "convert data to UTF-8\n");
+  p = malloc (strlen (str) + 1);
+  if (!p)
+    return NULL;
+  strcpy (p, str);
+  return p;
+}
+
+#endif /* HAVE_ICONV */
+
+/**
+ * stringprep_locale_to_utf8:
+ * @str: input zero terminated string.
+ *
+ * Convert string encoded in the locale's character set into UTF-8 by
+ * using stringprep_convert().
+ *
+ * Return value: Returns newly allocated zero-terminated string which
+ *   is @str transcoded into UTF-8.
+ **/
+char *
+stringprep_locale_to_utf8 (const char *str)
+{
+  return stringprep_convert (str, "UTF-8", stringprep_locale_charset ());
+}
+
+/**
+ * stringprep_utf8_to_locale:
+ * @str: input zero terminated string.
+ *
+ * Convert string encoded in UTF-8 into the locale's character set by
+ * using stringprep_convert().
+ *
+ * Return value: Returns newly allocated zero-terminated string which
+ *   is @str transcoded into the locale's character set.
+ **/
+char *
+stringprep_utf8_to_locale (const char *str)
+{
+  return stringprep_convert (str, stringprep_locale_charset (), "UTF-8");
+}