chiark / gitweb /
Start of Unicode support rewrite
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 17 Nov 2007 20:07:23 +0000 (20:07 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 17 Nov 2007 20:07:23 +0000 (20:07 +0000)
unicode.c/.h provide a new (not yet complete) Unicode API which implements
algorithms as described in the Unicode 5.0.0 standard.  lib/test and words.c
are somewhat modified to use them.

By default the make-unidata script is NEVER run.  It must be run manually.
This policy might be changed in the future; the script is capable of
downloading any files it needs to operate.

.bzrignore
lib/Makefile.am
lib/charset.c
lib/test.c
lib/unicode.c [new file with mode: 0644]
lib/unicode.h [new file with mode: 0644]
lib/unidata.c
lib/unidata.h
lib/words.c
scripts/Makefile.am
scripts/make-unidata

index f9d8ac1..2fbeedd 100644 (file)
@@ -117,3 +117,6 @@ server/disorder-stats
 *.deb
 *.dsc
 disobedience/disobedience.html
+lib/NormalizationTest.txt
+lib/CaseFolding.txt
+lib/UnicodeData.txt
index 524496e..0eeccd7 100644 (file)
@@ -63,6 +63,7 @@ libdisorder_a_SOURCES=charset.c charset.h             \
        timeval.h                                       \
        trackname.c trackname.h                         \
        user.h user.c                                   \
+       unicode.h unicode.c                             \
        unidata.h unidata.c                             \
        utf8.h utf8.c                                   \
        vacopy.h                                        \
@@ -95,6 +96,9 @@ test_DEPENDENCIES=libdisorder.a
 check: test #test.i
        ./test
 
+rebuild-unicode:
+       cd ${srcdir} && ${top_srcdir}/scripts/make-unidata
+
 %.i: %.c
        $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) -c $< > $@.new
        mv $@.new $@
index 3f0e8bc..9d77adc 100644 (file)
@@ -181,7 +181,7 @@ int ucs4cmp(const uint32_t *a, const uint32_t *b) {
 /** @brief Return nonzero if @p c is a combining character */
 static int combining(int c) {
   if(c < UNICODE_NCHARS) {
-    const struct unidata *const ud = &unidata[c / 256][c % 256];
+    const struct unidata *const ud = &unidata[c / UNICODE_MODULUS][c % UNICODE_MODULUS];
 
     return ud->gc == unicode_gc_Mn || ud->ccc != 0;
   }
index 2b40a44..f5d94fd 100644 (file)
@@ -28,6 +28,8 @@
 #include <errno.h>
 #include <ctype.h>
 #include <assert.h>
+#include <sys/types.h>
+#include <sys/stat.h>
 
 #include "utf8.h"
 #include "mem.h"
@@ -38,6 +40,8 @@
 #include "hex.h"
 #include "words.h"
 #include "heap.h"
+#include "unicode.h"
+#include "inputline.h"
 
 static int tests, errors;
 
@@ -69,6 +73,24 @@ static const char *format(const char *s) {
   return d.vec;
 }
 
+static const char *format_utf32(const uint32_t *s) {
+  struct dynstr d;
+  uint32_t c;
+  char buf[64];
+  
+  dynstr_init(&d);
+  while((c = *s++)) {
+    if(c >= 32 && c <= 127)
+      dynstr_append(&d, c);
+    else {
+      sprintf(buf, "\\x%04lX", (unsigned long)c);
+      dynstr_append_string(&d, buf);
+    }
+  }
+  dynstr_terminate(&d);
+  return d.vec;
+}
+
 #define check_string(GOT, WANT) do {                           \
   const char *g = GOT;                                         \
   const char *w = WANT;                                                \
@@ -332,16 +354,14 @@ static void test_hex(void) {
 }
 
 static void test_casefold(void) {
-  uint32_t c, l, u[2];
-  const char *s, *ls;
+  uint32_t c, l;
+  const char *input, *folded, *expected;
 
   fprintf(stderr, "test_casefold\n");
-
+  
   for(c = 1; c < 256; ++c) {
-    u[0] = c;
-    u[1] = 0;
-    s = ucs42utf8(u);
-    ls = casefold(s);
+    input = utf32_to_utf8(&c, 1, 0);
+    folded = utf8_casefold_canon(input, strlen(input), 0);
     switch(c) {
     default:
       if((c >= 'A' && c <= 'Z')
@@ -350,25 +370,21 @@ static void test_casefold(void) {
       else
        l = c;
       break;
-#if 0
-      /* unidata-based case folding doens't support special cases */
     case 0xB5:                         /* MICRO SIGN */
-      l = 0x39C;                       /* GREEK SMALL LETTER MU */
+      l = 0x3BC;                       /* GREEK SMALL LETTER MU */
       break;
     case 0xDF:                         /* LATIN SMALL LETTER SHARP S */
-      insist(!strcmp(ls, "ss"));
+      insist(!strcmp(folded, "ss"));
       l = 0;
       break;
-#endif
     }
     if(l) {
-      u[0] = l;
-      u[1] = 0;
-      s = ucs42utf8(u);
-      if(strcmp(s, ls)) {
+      /* Case-folded data is now normalized */
+      expected = ucs42utf8(utf32_decompose_canon(&l, 1, 0));
+      if(strcmp(folded, expected)) {
        fprintf(stderr, "%s:%d: casefolding %#lx got '%s', expected '%s'\n",
                __FILE__, __LINE__, (unsigned long)c,
-               format(ls), format(s));
+               format(folded), format(expected));
        ++errors;
       }
       ++tests;
@@ -406,6 +422,84 @@ static void test_heap(void) {
   putchar('\n');
 }
 
+/** @brief Tests for @ref lib/unicode.h */
+static void test_unicode(void) {
+  FILE *fp;
+  int lineno = 0;
+  char *l, *lp;
+  uint32_t buffer[1024];
+  uint32_t *c[6], *NFD_c[6],  *NFKD_c[6]; /* 1-indexed */
+  int cn, bn;
+
+  fprintf(stderr, "test_unicode\n");
+  if(!(fp = fopen("NormalizationTest.txt", "r"))) {
+    system("wget http://www.unicode.org/Public/5.0.0/ucd/NormalizationTest.txt");
+    chmod("NormalizationTest.txt", 0444);
+    if(!(fp = fopen("NormalizationTest.txt", "r"))) {
+      perror("NormalizationTest.txt");
+      ++tests;                         /* don't know how many... */
+      ++errors;
+      return;
+    }
+  }
+  while(!inputline("NormalizationTest.txt", fp, &l, '\n')) {
+    ++lineno;
+    if(*l == '#' || *l == '@')
+      continue;
+    bn = 0;
+    cn = 1;
+    lp = l;
+    c[cn++] = &buffer[bn];
+    while(*lp && *lp != '#') {
+      if(*lp == ' ') {
+       ++lp;
+       continue;
+      }
+      if(*lp == ';') {
+       buffer[bn++] = 0;
+       if(cn == 6)
+         break;
+       c[cn++] = &buffer[bn];
+       ++lp;
+       continue;
+      }
+      buffer[bn++] = strtoul(lp, &lp, 16);
+    }
+    buffer[bn] = 0;
+    assert(cn == 6);
+    for(cn = 1; cn <= 5; ++cn) {
+      NFD_c[cn] = utf32_decompose_canon(c[cn], utf32_len(c[cn]), 0);
+      NFKD_c[cn] = utf32_decompose_compat(c[cn], utf32_len(c[cn]), 0);
+    }
+#define unt_check(T, A, B) do {                                        \
+    ++tests;                                                   \
+    if(utf32_cmp(c[A], T##_c[B])) {                            \
+      fprintf(stderr, "L%d: c%d != "#T"(c%d)\n", lineno, A, B);        \
+      fprintf(stderr, "    c%d:      %s\n",                    \
+              A, format_utf32(c[A]));                          \
+      fprintf(stderr, "%4s(c%d): %s\n",                                \
+              #T, B, format_utf32(T##_c[B]));                  \
+      ++errors;                                                        \
+    }                                                          \
+  } while(0)
+    unt_check(NFD, 3, 1);
+    unt_check(NFD, 3, 2);
+    unt_check(NFD, 3, 3);
+    unt_check(NFD, 5, 4);
+    unt_check(NFD, 5, 5);
+    unt_check(NFKD, 5, 1);
+    unt_check(NFKD, 5, 2);
+    unt_check(NFKD, 5, 3);
+    unt_check(NFKD, 5, 4);
+    unt_check(NFKD, 5, 5);
+    for(cn = 1; cn <= 5; ++cn) {
+      xfree(NFD_c[cn]);
+      xfree(NFKD_c[cn]);
+    }
+    xfree(l);
+  }
+}
+
 int main(void) {
   insist('\n' == 0x0A);
   insist('\r' == 0x0D);
@@ -444,6 +538,8 @@ int main(void) {
   /* split.c */
   /* syscalls.c */
   /* table.c */
+  /* unicode.c */
+  test_unicode();
   /* utf8.c */
   test_utf8();
   /* vector.c */
diff --git a/lib/unicode.c b/lib/unicode.c
new file mode 100644 (file)
index 0000000..6e0a445
--- /dev/null
@@ -0,0 +1,621 @@
+/*
+ * This file is part of DisOrder
+ * Copyright (C) 2007 Richard Kettlewell
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+/** @file lib/unicode.c
+ * @brief Unicode support functions
+ *
+ * Here by UTF-8 and UTF-8 we mean the encoding forms of those names (not the
+ * encoding schemes).
+ *
+ * The idea is that all the strings that hit the database will be in a
+ * particular normalization form, and for the search and tags database
+ * in case-folded form, so they can be naively compared within the
+ * database code.
+ *
+ * As the code stands this guarantee is not well met!
+ */
+
+#include <config.h>
+#include "types.h"
+
+#include <string.h>
+#include <stdio.h>             /* TODO */
+
+#include "mem.h"
+#include "vector.h"
+#include "unicode.h"
+#include "unidata.h"
+
+/** @defgroup utftransform Functions that transform between different Unicode encoding forms */
+/*@{*/
+
+/** @brief Convert UTF-32 to UTF-8
+ * @param s Source string
+ * @param ns Length of source string in code points
+ * @param ndp Where to store length of destination string (or NULL)
+ * @return Newly allocated destination string or NULL on error
+ *
+ * If the UTF-32 is not valid then NULL is returned.  A UTF-32 code
+ * point is invalid if:
+ * - it codes for a UTF-16 surrogate
+ * - it codes for a value outside the unicode code space
+ *
+ * The return value is always 0-terminated.  The value returned via @p
+ * *ndp does not include the terminator.
+ */
+char *utf32_to_utf8(const uint32_t *s, size_t ns, size_t *ndp) {
+  struct dynstr d;
+  uint32_t c;
+
+  dynstr_init(&d);
+  while(ns > 0) {
+    c = *s++;
+    if(c < 0x80)
+      dynstr_append(&d, c);
+    else if(c < 0x0800) {
+      dynstr_append(&d, 0xC0 | (c >> 6));
+      dynstr_append(&d, 0x80 | (c & 0x3F));
+    } else if(c < 0x10000) {
+      if(c >= 0xDF800 && c <= 0xDFFF)
+       goto error;
+      dynstr_append(&d, 0xE0 | (c >> 12));
+      dynstr_append(&d, 0x80 | ((c >> 6) & 0x3F));
+      dynstr_append(&d, 0x80 | (c & 0x3F));
+    } else if(c < 0x110000) {
+      dynstr_append(&d, 0xF0 | (c >> 18));
+      dynstr_append(&d, 0x80 | ((c >> 12) & 0x3F));
+      dynstr_append(&d, 0x80 | ((c >> 6) & 0x3F));
+      dynstr_append(&d, 0x80 | (c & 0x3F));
+    } else
+      goto error;
+    --ns;
+  }
+  dynstr_terminate(&d);
+  if(ndp)
+    *ndp = d.nvec;
+  return d.vec;
+error:
+  xfree(d.vec);
+  return 0;
+}
+
+/** @brief Convert UTF-8 to UTF-32
+ * @param s Source string
+ * @param ns Length of source string in code points
+ * @param ndp Where to store length of destination string (or NULL)
+ * @return Newly allocated destination string or NULL
+ *
+ * The return value is always 0-terminated.  The value returned via @p
+ * *ndp does not include the terminator.
+ *
+ * If the UTF-8 is not valid then NULL is returned.  A UTF-8 sequence
+ * for a code point is invalid if:
+ * - it is not the shortest possible sequence for the code point
+ * - it codes for a UTF-16 surrogate
+ * - it codes for a value outside the unicode code space
+ */
+uint32_t *utf8_to_utf32(const char *s, size_t ns, size_t *ndp) {
+  struct dynstr_ucs4 d;
+  uint32_t c32, c;
+  const uint8_t *ss = (const uint8_t *)s;
+
+  dynstr_ucs4_init(&d);
+  while(ns > 0) {
+    c = *ss++;
+    --ns;
+    /* 
+     * Acceptable UTF-8 is:
+     *
+     * 0xxxxxxx
+     * 7 data bits gives 0x00 - 0x7F and all are acceptable
+     * 
+     * 110xxxxx 10xxxxxx
+     * 11 data bits gives 0x0000 - 0x07FF but only 0x0080 - 0x07FF acceptable
+     *   
+     * 1110xxxx 10xxxxxx 10xxxxxx
+     * 16 data bits gives 0x0000 - 0xFFFF but only 0x0800 - 0xFFFF acceptable
+     * (and UTF-16 surrogates are not acceptable)
+     *
+     * 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+     * 21 data bits gives 0x00000000 - 0x001FFFFF
+     * but only           0x00010000 - 0x0010FFFF are acceptable
+     *
+     * It is NOT always the case that the data bits in the first byte
+     * are always non-0 for the acceptable values, so we do a separate
+     * check after decoding.
+     */
+    if(c < 0x80)
+      c32 = c;
+    else if(c <= 0xDF) {
+      if(ns < 1) goto error;
+      c32 = c & 0x1F;
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      if(c32 < 0x80) goto error;
+    } else if(c <= 0xEF) {
+      if(ns < 2) goto error;
+      c32 = c & 0x0F;
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      if(c32 < 0x0800 || (c32 >= 0xD800 && c32 <= 0xDFFF)) goto error;
+    } else if(c <= 0xF7) {
+      if(ns < 3) goto error;
+      c32 = c & 0x07;
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      c = *ss++;
+      if((c & 0xC0) != 0x80) goto error;
+      c32 = (c32 << 6) | (c & 0x3F);
+      if(c32 < 0x00010000 || c32 > 0x0010FFFF) goto error;
+    } else
+      goto error;
+    dynstr_ucs4_append(&d, c32);
+  }
+  dynstr_ucs4_terminate(&d);
+  if(ndp)
+    *ndp = d.nvec;
+  return d.vec;
+error:
+  xfree(d.vec);
+  return 0;
+}
+
+/*@}*/
+/** @defgroup utf32 Functions that operate on UTF-32 strings */
+/*@{*/
+
+/** @brief Return the length of a 0-terminated UTF-32 string
+ * @param s Pointer to 0-terminated string
+ * @return Length of string in code points (excluding terminator)
+ *
+ * Unlike the conversion functions no validity checking is done on the
+ * string.
+ */
+size_t utf32_len(const uint32_t *s) {
+  const uint32_t *t = s;
+
+  while(*t)
+    ++t;
+  return (size_t)(t - s);
+}
+
+/** @brief Return the combining class of @p c
+ * @param c Code point
+ * @return Combining class of @p c
+ */
+static inline int utf32__combining_class(uint32_t c) {
+  if(c < UNICODE_NCHARS)
+    return unidata[c / UNICODE_MODULUS][c % UNICODE_MODULUS].ccc;
+  return 0;
+}
+
+/** @brief Stably sort [s,s+ns) into descending order of combining class
+ * @param s Start of array
+ * @param ns Number of elements, must be at least 1
+ * @param buffer Buffer of at least @p ns elements
+ */
+static void utf32__sort_ccc(uint32_t *s, size_t ns, uint32_t *buffer) {
+  uint32_t *a, *b, *bp;
+  size_t na, nb;
+
+  switch(ns) {
+  case 1:                      /* 1-element array is always sorted */
+    return;
+  case 2:                      /* 2-element arrays are trivial to sort */
+    if(utf32__combining_class(s[0]) > utf32__combining_class(s[1])) {
+      uint32_t tmp = s[0];
+      s[0] = s[1];
+      s[1] = tmp;
+    }
+    return;
+  default:
+    /* Partition the array */
+    na = ns / 2;
+    nb = ns - na;
+    a = s;
+    b = s + na;
+    /* Sort the two halves of the array */
+    utf32__sort_ccc(a, na, buffer);
+    utf32__sort_ccc(b, nb, buffer);
+    /* Merge them back into one, via the buffer */
+    bp = buffer;
+    while(na > 0 && nb > 0) {
+      /* We want descending order of combining class (hence <)
+       * and we want stability within combining classes (hence <=)
+       */
+      if(utf32__combining_class(*a) <= utf32__combining_class(*b)) {
+       *bp++ = *a++;
+       --na;
+      } else {
+       *bp++ = *b++;
+       --nb;
+      }
+    }
+    while(na > 0) {
+      *bp++ = *a++;
+      --na;
+    }
+    while(nb > 0) {
+      *bp++ = *b++;
+      --nb;
+    }
+    memcpy(s, buffer,  ns * sizeof(uint32_t));
+    return;
+  }
+}
+
+/** @brief Put combining characters into canonical order
+ * @param s Pointer to UTF-32 string
+ * @param ns Length of @p s
+ * @return 0 on success, -1 on error
+ *
+ * @p s is modified in-place.  See Unicode 5.0 s3.11 for details of
+ * the ordering.
+ *
+ * Currently we only support a maximum of 1024 combining characters
+ * after each base character.  If this limit is exceeded then -1 is
+ * returned.
+ */
+static int utf32__canonical_ordering(uint32_t *s, size_t ns) {
+  size_t nc;
+  uint32_t buffer[1024];
+
+  /* The ordering amounts to a stable sort of each contiguous group of
+   * characters with non-0 combining class. */
+  while(ns > 0) {
+    /* Skip non-combining characters */
+    if(utf32__combining_class(*s) == 0) {
+      ++s;
+      --ns;
+      continue;
+    }
+    /* We must now have at least one combining character; see how many
+     * there are */
+    for(nc = 1; nc < ns && utf32__combining_class(s[nc]) != 0; ++nc)
+      ;
+    if(nc > 1024)
+      return -1;
+    /* Sort the array */
+    utf32__sort_ccc(s, nc, buffer);
+    s += nc;
+    ns -= nc;
+  }
+  return 0;
+}
+
+/* Magic numbers from UAX #15 s16 */
+#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)
+
+/** @brief Guts of the decomposition lookup functions */
+#define utf32__decompose_one_generic(WHICH) do {                        \
+  const uint32_t *dc =                                                  \
+    (c < UNICODE_NCHARS                                                 \
+     ? unidata[c / UNICODE_MODULUS][c % UNICODE_MODULUS].WHICH          \
+     : 0);                                                              \
+  if(dc) {                                                              \
+    /* Found a canonical decomposition in the table */                  \
+    while(*dc)                                                          \
+      utf32__decompose_one_##WHICH(d, *dc++);                           \
+  } else if(c >= SBase && c < SBase + SCount) {                         \
+    /* Mechanically decomposable Hangul syllable (UAX #15 s16) */       \
+    const uint32_t SIndex = c - SBase;                                  \
+    const uint32_t L = LBase + SIndex / NCount;                         \
+    const uint32_t V = VBase + (SIndex % NCount) / TCount;              \
+    const uint32_t T = TBase + SIndex % TCount;                         \
+    dynstr_ucs4_append(d, L);                                           \
+    dynstr_ucs4_append(d, V);                                           \
+    if(T != TBase)                                                      \
+      dynstr_ucs4_append(d, T);                                         \
+  } else                                                                \
+    /* Equal to own canonical decomposition */                          \
+    dynstr_ucs4_append(d, c);                                           \
+} while(0)
+
+/** @brief Recursively compute the canonical decomposition of @p c
+ * @param d Dynamic string to store decomposition in
+ * @param c Code point to decompose (must be a valid!)
+ * @return 0 on success, -1 on error
+ */
+static void utf32__decompose_one_canon(struct dynstr_ucs4 *d, uint32_t c) {
+  utf32__decompose_one_generic(canon);
+}
+
+/** @brief Recursively compute the compatibility decomposition of @p c
+ * @param d Dynamic string to store decomposition in
+ * @param c Code point to decompose (must be a valid!)
+ * @return 0 on success, -1 on error
+ */
+static void utf32__decompose_one_compat(struct dynstr_ucs4 *d, uint32_t c) {
+  utf32__decompose_one_generic(compat);
+}
+
+/** @brief Guts of the decomposition functions */
+#define utf32__decompose_generic(WHICH) do {            \
+  struct dynstr_ucs4 d;                                 \
+  uint32_t c;                                           \
+                                                        \
+  dynstr_ucs4_init(&d);                                 \
+  while(ns) {                                           \
+    c = *s++;                                           \
+    if((c >= 0xDF800 && c <= 0xDFFF) || c > 0x10FFFF)   \
+      goto error;                                       \
+    utf32__decompose_one_##WHICH(&d, c);                \
+    --ns;                                               \
+  }                                                     \
+  if(utf32__canonical_ordering(d.vec, d.nvec))          \
+    goto error;                                         \
+  dynstr_ucs4_terminate(&d);                            \
+  if(ndp)                                               \
+    *ndp = d.nvec;                                      \
+  return d.vec;                                         \
+error:                                                  \
+  xfree(d.vec);                                         \
+  return 0;                                             \
+} while(0)
+
+/** @brief Canonically decompose @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Computes the canonical decomposition of a string and stably sorts combining
+ * characters into canonical order.  The result is in Normalization Form D and
+ * (at the time of writing!) passes the NFD tests defined in Unicode 5.0's
+ * NormalizationTest.txt.
+ *
+ * Returns NULL if the string is not valid for either of the following
+ * reasons:
+ * - it codes for a UTF-16 surrogate
+ * - it codes for a value outside the unicode code space
+ */
+uint32_t *utf32_decompose_canon(const uint32_t *s, size_t ns, size_t *ndp) {
+  utf32__decompose_generic(canon);
+}
+
+/** @brief Compatibility decompose @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Computes the compatibility decomposition of a string and stably sorts
+ * combining characters into canonical order.  The result is in Normalization
+ * Form KD and (at the time of writing!) passes the NFKD tests defined in
+ * Unicode 5.0's NormalizationTest.txt.
+ *
+ * Returns NULL if the string is not valid for either of the following
+ * reasons:
+ * - it codes for a UTF-16 surrogate
+ * - it codes for a value outside the unicode code space
+ */
+uint32_t *utf32_decompose_compat(const uint32_t *s, size_t ns, size_t *ndp) {
+  utf32__decompose_generic(compat);
+}
+
+/** @brief Case-fold @p C
+ * @param D String to append to
+ * @param C Character to fold
+ */
+static inline void utf32__casefold_one_canon(struct dynstr_ucs4 *d, uint32_t c) {
+  const uint32_t *cf =                                                  
+     (c < UNICODE_NCHARS                                              
+      ? unidata[c / UNICODE_MODULUS][c % UNICODE_MODULUS].casefold
+      : 0);                                                             
+  if(cf) {                                                              
+    /* Found a case-fold mapping in the table */                        
+    while(*cf)                                                          
+      utf32__decompose_one_canon(d, *cf++);                            
+  } else                                                               
+    utf32__decompose_one_canon(d, c);  
+}
+
+/** @brief Case-fold @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Case-fold the string at @p s according to full default case-folding rules
+ * (s3.13).  The result will be in NFD.
+ *
+ * Returns NULL if the string is not valid for either of the following
+ * reasons:
+ * - it codes for a UTF-16 surrogate
+ * - it codes for a value outside the unicode code space
+ */
+uint32_t *utf32_casefold_canon(const uint32_t *s, size_t ns, size_t *ndp) {
+  struct dynstr_ucs4 d;
+  uint32_t c;
+  size_t n;
+  uint32_t *ss = 0;
+
+  /* If the canonical decomposition of the string includes any combining
+   * character that case-folds to a non-combining character then we must
+   * normalize before we fold.  In Unicode 5.0.0 this means 0345 COMBINING
+   * GREEK YPOGEGRAMMENI in its decomposition and the various characters that
+   * canonically decompose to it. */
+  for(n = 0; n < ns; ++n) {
+    c = s[n];
+    if(c < UNICODE_NCHARS
+       && (unidata[c / UNICODE_MODULUS][c % UNICODE_MODULUS].flags
+           & unicode_normalize_before_casefold))
+      break;
+  }
+  if(n < ns) {
+    /* We need a preliminary decomposition */
+    if(!(ss = utf32_decompose_canon(s, ns, &ns)))
+      return 0;
+    s = ss;
+  }
+  dynstr_ucs4_init(&d);
+  while(ns) {
+    c = *s++;
+    if((c >= 0xDF800 && c <= 0xDFFF) || c > 0x10FFFF)
+      goto error;
+    utf32__casefold_one_canon(&d, c);
+    --ns;
+  }
+  if(utf32__canonical_ordering(d.vec, d.nvec))
+    goto error;
+  dynstr_ucs4_terminate(&d);
+  if(ndp)
+    *ndp = d.nvec;
+  return d.vec;
+error:
+  xfree(d.vec);
+  xfree(ss);
+  return 0;
+}
+
+/** @brief Order a pair of UTF-32 strings
+ * @param a First 0-terminated string
+ * @param b Second 0-terminated string
+ * @return -1, 0 or 1 for a less than, equal to or greater than b
+ *
+ * "Comparable to strcmp() at its best."
+ */
+int utf32_cmp(const uint32_t *a, const uint32_t *b) {
+  while(*a && *b && *a == *b) {
+    ++a;
+    ++b;
+  }
+  return *a < *b ? -1 : (*a > *b ? 1 : 0);
+}
+
+/*@}*/
+/** @defgroup Functions that operate on UTF-8 strings */
+/*@{*/
+
+/** @brief Wrapper to transform a UTF-8 string using the UTF-32 function */
+#define utf8__transform(FN) do {                                \
+  uint32_t *to32 = 0, *decomp32 = 0;                            \
+  size_t nto32, ndecomp32;                                      \
+  char *decomp8 = 0;                                            \
+                                                                \
+  if(!(to32 = utf8_to_utf32(s, ns, &nto32))) goto error;        \
+  if(!(decomp32 = FN(to32, nto32, &ndecomp32))) goto error;     \
+  decomp8 = utf32_to_utf8(decomp32, ndecomp32, ndp);            \
+error:                                                          \
+  xfree(to32);                                                  \
+  xfree(decomp32);                                              \
+  return decomp8;                                               \
+} while(0)
+
+/** @brief Canonically decompose @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Computes the canonical decomposition of a string and stably sorts combining
+ * characters into canonical order.  The result is in Normalization Form D and
+ * (at the time of writing!) passes the NFD tests defined in Unicode 5.0's
+ * NormalizationTest.txt.
+ *
+ * Returns NULL if the string is not valid; see utf8_to_utf32() for reasons why
+ * this might be.
+ *
+ * See also utf32_decompose_canon().
+ */
+char *utf8_decompose_canon(const char *s, size_t ns, size_t *ndp) {
+  utf8__transform(utf32_decompose_canon);
+}
+
+/** @brief Compatibility decompose @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Computes the compatibility decomposition of a string and stably sorts
+ * combining characters into canonical order.  The result is in Normalization
+ * Form KD and (at the time of writing!) passes the NFKD tests defined in
+ * Unicode 5.0's NormalizationTest.txt.
+ *
+ * Returns NULL if the string is not valid; see utf8_to_utf32() for reasons why
+ * this might be.
+ *
+ * See also utf32_decompose_compat().
+ */
+char *utf8_decompose_compat(const char *s, size_t ns, size_t *ndp) {
+  utf8__transform(utf32_decompose_compat);
+}
+
+/** @brief Case-fold @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Case-fold the string at @p s according to full default case-folding rules
+ * (s3.13).  The result will be in NFD.
+ *
+ * Returns NULL if the string is not valid; see utf8_to_utf32() for reasons why
+ * this might be.
+ */
+char *utf8_casefold_canon(const char *s, size_t ns, size_t *ndp) {
+  utf8__transform(utf32_casefold_canon);
+}
+
+/** @brief Compatibility case-fold @p [s,s+ns)
+ * @param s Pointer to string
+ * @param ns Length of string
+ * @param ndp Where to store length of result
+ * @return Pointer to result string, or NULL
+ *
+ * Case-fold the string at @p s according to full default case-folding rules
+ * (s3.13).  The result will be in NFKD.
+ *
+ * Returns NULL if the string is not valid; see utf8_to_utf32() for reasons why
+ * this might be.
+ */
+#if 0
+char *utf8_casefold_compat(const char *s, size_t ns, size_t *ndp) {
+  utf8__transform(utf32_casefold_compat);
+}
+#endif
+
+/*@}*/
+
+/*
+Local Variables:
+c-basic-offset:2
+comment-column:40
+fill-column:79
+indent-tabs-mode:nil
+End:
+*/
diff --git a/lib/unicode.h b/lib/unicode.h
new file mode 100644 (file)
index 0000000..ae7bb4e
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * This file is part of DisOrde
+ * Copyright (C) 2007 Richard Kettlewell
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+/** @file lib/unicode.h
+ * @brief Unicode support functions
+ */
+
+#ifndef UNICODE_H
+#define UNICODE_H
+
+char *utf32_to_utf8(const uint32_t *s, size_t ns, size_t *nd);
+uint32_t *utf8_to_utf32(const char *s, size_t ns, size_t *nd);
+
+size_t utf32_len(const uint32_t *s);
+int utf32_cmp(const uint32_t *a, const uint32_t *b);
+
+uint32_t *utf32_decompose_canon(const uint32_t *s, size_t ns, size_t *ndp);
+char *utf8_decompose_canon(const char *s, size_t ns, size_t *ndp);
+
+uint32_t *utf32_decompose_compat(const uint32_t *s, size_t ns, size_t *ndp);
+char *utf8_decompose_compat(const char *s, size_t ns, size_t *ndp);
+
+uint32_t *utf32_casefold_canon(const uint32_t *s, size_t ns, size_t *ndp);
+char *utf8_casefold_canon(const char *s, size_t ns, size_t *ndp);
+
+uint32_t *utf32_casefold_compat(const uint32_t *s, size_t ns, size_t *ndp);
+char *utf8_casefold_compat(const char *s, size_t ns, size_t *ndp);
+
+
+#endif /* UNICODE_H */
+
+/*
+Local Variables:
+c-basic-offset:2
+comment-column:40
+fill-column:79
+indent-tabs-mode:nil
+End:
+*/
index ec4693d..835113c 100644 (file)
+/* Automatically generated file, see scripts/make-unidata */
+#include <config.h>
+#include "types.h"
 #include "unidata.h"
-static const struct unidata subtable0[] = {
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Zs, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Pd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Pc, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Cc, 0, 0, 0 },
-  { unicode_gc_Zs, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Pi, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 743, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Pf, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, 121, 0 }
+#define Cc unicode_gc_Cc
+#define Cf unicode_gc_Cf
+#define Cn unicode_gc_Cn
+#define Co unicode_gc_Co
+#define Cs unicode_gc_Cs
+#define Ll unicode_gc_Ll
+#define Lm unicode_gc_Lm
+#define Lo unicode_gc_Lo
+#define Lt unicode_gc_Lt
+#define Lu unicode_gc_Lu
+#define Mc unicode_gc_Mc
+#define Me unicode_gc_Me
+#define Mn unicode_gc_Mn
+#define Nd unicode_gc_Nd
+#define Nl unicode_gc_Nl
+#define No unicode_gc_No
+#define Pc unicode_gc_Pc
+#define Pd unicode_gc_Pd
+#define Pe unicode_gc_Pe
+#define Pf unicode_gc_Pf
+#define Pi unicode_gc_Pi
+#define Po unicode_gc_Po
+#define Ps unicode_gc_Ps
+#define Sc unicode_gc_Sc
+#define Sk unicode_gc_Sk
+#define Sm unicode_gc_Sm
+#define So unicode_gc_So
+#define Zl unicode_gc_Zl
+#define Zp unicode_gc_Zp
+#define Zs unicode_gc_Zs
+static const uint32_t cd0[]={32,0},
+cd1[]={32,776,0},
+cd2[]={97,0},
+cd3[]={32,772,0},
+cd4[]={50,0},
+cd5[]={51,0},
+cd6[]={32,769,0},
+cd7[]={956,0},
+cd8[]={32,807,0},
+cd9[]={49,0},
+cd10[]={111,0},
+cd11[]={49,8260,52,0},
+cd12[]={49,8260,50,0},
+cd13[]={51,8260,52,0},
+cd14[]={65,768,0},
+cd15[]={65,769,0},
+cd16[]={65,770,0},
+cd17[]={65,771,0},
+cd18[]={65,776,0},
+cd19[]={65,778,0},
+cd20[]={67,807,0},
+cd21[]={69,768,0},
+cd22[]={69,769,0},
+cd23[]={69,770,0},
+cd24[]={69,776,0},
+cd25[]={73,768,0},
+cd26[]={73,769,0},
+cd27[]={73,770,0},
+cd28[]={73,776,0},
+cd29[]={78,771,0},
+cd30[]={79,768,0},
+cd31[]={79,769,0},
+cd32[]={79,770,0},
+cd33[]={79,771,0},
+cd34[]={79,776,0},
+cd35[]={85,768,0},
+cd36[]={85,769,0},
+cd37[]={85,770,0},
+cd38[]={85,776,0},
+cd39[]={89,769,0},
+cd40[]={97,768,0},
+cd41[]={97,769,0},
+cd42[]={97,770,0},
+cd43[]={97,771,0},
+cd44[]={97,776,0},
+cd45[]={97,778,0},
+cd46[]={99,807,0},
+cd47[]={101,768,0},
+cd48[]={101,769,0},
+cd49[]={101,770,0},
+cd50[]={101,776,0},
+cd51[]={105,768,0},
+cd52[]={105,769,0},
+cd53[]={105,770,0},
+cd54[]={105,776,0},
+cd55[]={110,771,0},
+cd56[]={111,768,0},
+cd57[]={111,769,0},
+cd58[]={111,770,0},
+cd59[]={111,771,0},
+cd60[]={111,776,0},
+cd61[]={117,768,0},
+cd62[]={117,769,0},
+cd63[]={117,770,0},
+cd64[]={117,776,0},
+cd65[]={121,769,0},
+cd66[]={121,776,0},
+cd67[]={65,772,0},
+cd68[]={97,772,0},
+cd69[]={65,774,0},
+cd70[]={97,774,0},
+cd71[]={65,808,0},
+cd72[]={97,808,0},
+cd73[]={67,769,0},
+cd74[]={99,769,0},
+cd75[]={67,770,0},
+cd76[]={99,770,0},
+cd77[]={67,775,0},
+cd78[]={99,775,0},
+cd79[]={67,780,0},
+cd80[]={99,780,0},
+cd81[]={68,780,0},
+cd82[]={100,780,0},
+cd83[]={69,772,0},
+cd84[]={101,772,0},
+cd85[]={69,774,0},
+cd86[]={101,774,0},
+cd87[]={69,775,0},
+cd88[]={101,775,0},
+cd89[]={69,808,0},
+cd90[]={101,808,0},
+cd91[]={69,780,0},
+cd92[]={101,780,0},
+cd93[]={71,770,0},
+cd94[]={103,770,0},
+cd95[]={71,774,0},
+cd96[]={103,774,0},
+cd97[]={71,775,0},
+cd98[]={103,775,0},
+cd99[]={71,807,0},
+cd100[]={103,807,0},
+cd101[]={72,770,0},
+cd102[]={104,770,0},
+cd103[]={73,771,0},
+cd104[]={105,771,0},
+cd105[]={73,772,0},
+cd106[]={105,772,0},
+cd107[]={73,774,0},
+cd108[]={105,774,0},
+cd109[]={73,808,0},
+cd110[]={105,808,0},
+cd111[]={73,775,0},
+cd112[]={73,74,0},
+cd113[]={105,106,0},
+cd114[]={74,770,0},
+cd115[]={106,770,0},
+cd116[]={75,807,0},
+cd117[]={107,807,0},
+cd118[]={76,769,0},
+cd119[]={108,769,0},
+cd120[]={76,807,0},
+cd121[]={108,807,0},
+cd122[]={76,780,0},
+cd123[]={108,780,0},
+cd124[]={76,183,0},
+cd125[]={108,183,0},
+cd126[]={78,769,0},
+cd127[]={110,769,0},
+cd128[]={78,807,0},
+cd129[]={110,807,0},
+cd130[]={78,780,0},
+cd131[]={110,780,0},
+cd132[]={700,110,0},
+cd133[]={79,772,0},
+cd134[]={111,772,0},
+cd135[]={79,774,0},
+cd136[]={111,774,0},
+cd137[]={79,779,0},
+cd138[]={111,779,0},
+cd139[]={82,769,0},
+cd140[]={114,769,0},
+cd141[]={82,807,0},
+cd142[]={114,807,0},
+cd143[]={82,780,0},
+cd144[]={114,780,0},
+cd145[]={83,769,0},
+cd146[]={115,769,0},
+cd147[]={83,770,0},
+cd148[]={115,770,0},
+cd149[]={83,807,0},
+cd150[]={115,807,0},
+cd151[]={83,780,0},
+cd152[]={115,780,0},
+cd153[]={84,807,0},
+cd154[]={116,807,0},
+cd155[]={84,780,0},
+cd156[]={116,780,0},
+cd157[]={85,771,0},
+cd158[]={117,771,0},
+cd159[]={85,772,0},
+cd160[]={117,772,0},
+cd161[]={85,774,0},
+cd162[]={117,774,0},
+cd163[]={85,778,0},
+cd164[]={117,778,0},
+cd165[]={85,779,0},
+cd166[]={117,779,0},
+cd167[]={85,808,0},
+cd168[]={117,808,0},
+cd169[]={87,770,0},
+cd170[]={119,770,0},
+cd171[]={89,770,0},
+cd172[]={121,770,0},
+cd173[]={89,776,0},
+cd174[]={90,769,0},
+cd175[]={122,769,0},
+cd176[]={90,775,0},
+cd177[]={122,775,0},
+cd178[]={90,780,0},
+cd179[]={122,780,0},
+cd180[]={115,0},
+cd181[]={79,795,0},
+cd182[]={111,795,0},
+cd183[]={85,795,0},
+cd184[]={117,795,0},
+cd185[]={68,381,0},
+cd186[]={68,382,0},
+cd187[]={100,382,0},
+cd188[]={76,74,0},
+cd189[]={76,106,0},
+cd190[]={108,106,0},
+cd191[]={78,74,0},
+cd192[]={78,106,0},
+cd193[]={110,106,0},
+cd194[]={65,780,0},
+cd195[]={97,780,0},
+cd196[]={73,780,0},
+cd197[]={105,780,0},
+cd198[]={79,780,0},
+cd199[]={111,780,0},
+cd200[]={85,780,0},
+cd201[]={117,780,0},
+cd202[]={220,772,0},
+cd203[]={252,772,0},
+cd204[]={220,769,0},
+cd205[]={252,769,0},
+cd206[]={220,780,0},
+cd207[]={252,780,0},
+cd208[]={220,768,0},
+cd209[]={252,768,0},
+cd210[]={196,772,0},
+cd211[]={228,772,0},
+cd212[]={550,772,0},
+cd213[]={551,772,0},
+cd214[]={198,772,0},
+cd215[]={230,772,0},
+cd216[]={71,780,0},
+cd217[]={103,780,0},
+cd218[]={75,780,0},
+cd219[]={107,780,0},
+cd220[]={79,808,0},
+cd221[]={111,808,0},
+cd222[]={490,772,0},
+cd223[]={491,772,0},
+cd224[]={439,780,0},
+cd225[]={658,780,0},
+cd226[]={106,780,0},
+cd227[]={68,90,0},
+cd228[]={68,122,0},
+cd229[]={100,122,0},
+cd230[]={71,769,0},
+cd231[]={103,769,0},
+cd232[]={78,768,0},
+cd233[]={110,768,0},
+cd234[]={197,769,0},
+cd235[]={229,769,0},
+cd236[]={198,769,0},
+cd237[]={230,769,0},
+cd238[]={216,769,0},
+cd239[]={248,769,0},
+cd240[]={65,783,0},
+cd241[]={97,783,0},
+cd242[]={65,785,0},
+cd243[]={97,785,0},
+cd244[]={69,783,0},
+cd245[]={101,783,0},
+cd246[]={69,785,0},
+cd247[]={101,785,0},
+cd248[]={73,783,0},
+cd249[]={105,783,0},
+cd250[]={73,785,0},
+cd251[]={105,785,0},
+cd252[]={79,783,0},
+cd253[]={111,783,0},
+cd254[]={79,785,0},
+cd255[]={111,785,0},
+cd256[]={82,783,0},
+cd257[]={114,783,0},
+cd258[]={82,785,0},
+cd259[]={114,785,0},
+cd260[]={85,783,0},
+cd261[]={117,783,0},
+cd262[]={85,785,0},
+cd263[]={117,785,0},
+cd264[]={83,806,0},
+cd265[]={115,806,0},
+cd266[]={84,806,0},
+cd267[]={116,806,0},
+cd268[]={72,780,0},
+cd269[]={104,780,0},
+cd270[]={65,775,0},
+cd271[]={97,775,0},
+cd272[]={69,807,0},
+cd273[]={101,807,0},
+cd274[]={214,772,0},
+cd275[]={246,772,0},
+cd276[]={213,772,0},
+cd277[]={245,772,0},
+cd278[]={79,775,0},
+cd279[]={111,775,0},
+cd280[]={558,772,0},
+cd281[]={559,772,0},
+cd282[]={89,772,0},
+cd283[]={121,772,0},
+cd284[]={104,0},
+cd285[]={614,0},
+cd286[]={106,0},
+cd287[]={114,0},
+cd288[]={633,0},
+cd289[]={635,0},
+cd290[]={641,0},
+cd291[]={119,0},
+cd292[]={121,0},
+cd293[]={32,774,0},
+cd294[]={32,775,0},
+cd295[]={32,778,0},
+cd296[]={32,808,0},
+cd297[]={32,771,0},
+cd298[]={32,779,0},
+cd299[]={611,0},
+cd300[]={108,0},
+cd301[]={120,0},
+cd302[]={661,0},
+cd303[]={768,0},
+cd304[]={769,0},
+cd305[]={787,0},
+cd306[]={776,769,0},
+cd307[]={697,0},
+cd308[]={32,837,0},
+cd309[]={59,0},
+cd310[]={168,769,0},
+cd311[]={913,769,0},
+cd312[]={183,0},
+cd313[]={917,769,0},
+cd314[]={919,769,0},
+cd315[]={921,769,0},
+cd316[]={927,769,0},
+cd317[]={933,769,0},
+cd318[]={937,769,0},
+cd319[]={970,769,0},
+cd320[]={921,776,0},
+cd321[]={933,776,0},
+cd322[]={945,769,0},
+cd323[]={949,769,0},
+cd324[]={951,769,0},
+cd325[]={953,769,0},
+cd326[]={971,769,0},
+cd327[]={953,776,0},
+cd328[]={965,776,0},
+cd329[]={959,769,0},
+cd330[]={965,769,0},
+cd331[]={969,769,0},
+cd332[]={946,0},
+cd333[]={952,0},
+cd334[]={933,0},
+cd335[]={978,769,0},
+cd336[]={978,776,0},
+cd337[]={966,0},
+cd338[]={960,0},
+cd339[]={954,0},
+cd340[]={961,0},
+cd341[]={962,0},
+cd342[]={920,0},
+cd343[]={949,0},
+cd344[]={931,0},
+cd345[]={1045,768,0},
+cd346[]={1045,776,0},
+cd347[]={1043,769,0},
+cd348[]={1030,776,0},
+cd349[]={1050,769,0},
+cd350[]={1048,768,0},
+cd351[]={1059,774,0},
+cd352[]={1048,774,0},
+cd353[]={1080,774,0},
+cd354[]={1077,768,0},
+cd355[]={1077,776,0},
+cd356[]={1075,769,0},
+cd357[]={1110,776,0},
+cd358[]={1082,769,0},
+cd359[]={1080,768,0},
+cd360[]={1091,774,0},
+cd361[]={1140,783,0},
+cd362[]={1141,783,0},
+cd363[]={1046,774,0},
+cd364[]={1078,774,0},
+cd365[]={1040,774,0},
+cd366[]={1072,774,0},
+cd367[]={1040,776,0},
+cd368[]={1072,776,0},
+cd369[]={1045,774,0},
+cd370[]={1077,774,0},
+cd371[]={1240,776,0},
+cd372[]={1241,776,0},
+cd373[]={1046,776,0},
+cd374[]={1078,776,0},
+cd375[]={1047,776,0},
+cd376[]={1079,776,0},
+cd377[]={1048,772,0},
+cd378[]={1080,772,0},
+cd379[]={1048,776,0},
+cd380[]={1080,776,0},
+cd381[]={1054,776,0},
+cd382[]={1086,776,0},
+cd383[]={1256,776,0},
+cd384[]={1257,776,0},
+cd385[]={1069,776,0},
+cd386[]={1101,776,0},
+cd387[]={1059,772,0},
+cd388[]={1091,772,0},
+cd389[]={1059,776,0},
+cd390[]={1091,776,0},
+cd391[]={1059,779,0},
+cd392[]={1091,779,0},
+cd393[]={1063,776,0},
+cd394[]={1095,776,0},
+cd395[]={1067,776,0},
+cd396[]={1099,776,0},
+cd397[]={1381,1410,0},
+cd398[]={1575,1619,0},
+cd399[]={1575,1620,0},
+cd400[]={1608,1620,0},
+cd401[]={1575,1621,0},
+cd402[]={1610,1620,0},
+cd403[]={1575,1652,0},
+cd404[]={1608,1652,0},
+cd405[]={1735,1652,0},
+cd406[]={1610,1652,0},
+cd407[]={1749,1620,0},
+cd408[]={1729,1620,0},
+cd409[]={1746,1620,0},
+cd410[]={2344,2364,0},
+cd411[]={2352,2364,0},
+cd412[]={2355,2364,0},
+cd413[]={2325,2364,0},
+cd414[]={2326,2364,0},
+cd415[]={2327,2364,0},
+cd416[]={2332,2364,0},
+cd417[]={2337,2364,0},
+cd418[]={2338,2364,0},
+cd419[]={2347,2364,0},
+cd420[]={2351,2364,0},
+cd421[]={2503,2494,0},
+cd422[]={2503,2519,0},
+cd423[]={2465,2492,0},
+cd424[]={2466,2492,0},
+cd425[]={2479,2492,0},
+cd426[]={2610,2620,0},
+cd427[]={2616,2620,0},
+cd428[]={2582,2620,0},
+cd429[]={2583,2620,0},
+cd430[]={2588,2620,0},
+cd431[]={2603,2620,0},
+cd432[]={2887,2902,0},
+cd433[]={2887,2878,0},
+cd434[]={2887,2903,0},
+cd435[]={2849,2876,0},
+cd436[]={2850,2876,0},
+cd437[]={2962,3031,0},
+cd438[]={3014,3006,0},
+cd439[]={3015,3006,0},
+cd440[]={3014,3031,0},
+cd441[]={3142,3158,0},
+cd442[]={3263,3285,0},
+cd443[]={3270,3285,0},
+cd444[]={3270,3286,0},
+cd445[]={3270,3266,0},
+cd446[]={3274,3285,0},
+cd447[]={3398,3390,0},
+cd448[]={3399,3390,0},
+cd449[]={3398,3415,0},
+cd450[]={3545,3530,0},
+cd451[]={3545,3535,0},
+cd452[]={3548,3530,0},
+cd453[]={3545,3551,0},
+cd454[]={3661,3634,0},
+cd455[]={3789,3762,0},
+cd456[]={3755,3737,0},
+cd457[]={3755,3745,0},
+cd458[]={3851,0},
+cd459[]={3906,4023,0},
+cd460[]={3916,4023,0},
+cd461[]={3921,4023,0},
+cd462[]={3926,4023,0},
+cd463[]={3931,4023,0},
+cd464[]={3904,4021,0},
+cd465[]={3953,3954,0},
+cd466[]={3953,3956,0},
+cd467[]={4018,3968,0},
+cd468[]={4018,3969,0},
+cd469[]={4019,3968,0},
+cd470[]={4019,3969,0},
+cd471[]={3953,3968,0},
+cd472[]={3986,4023,0},
+cd473[]={3996,4023,0},
+cd474[]={4001,4023,0},
+cd475[]={4006,4023,0},
+cd476[]={4011,4023,0},
+cd477[]={3984,4021,0},
+cd478[]={4133,4142,0},
+cd479[]={4316,0},
+cd480[]={6917,6965,0},
+cd481[]={6919,6965,0},
+cd482[]={6921,6965,0},
+cd483[]={6923,6965,0},
+cd484[]={6925,6965,0},
+cd485[]={6929,6965,0},
+cd486[]={6970,6965,0},
+cd487[]={6972,6965,0},
+cd488[]={6974,6965,0},
+cd489[]={6975,6965,0},
+cd490[]={6978,6965,0},
+cd491[]={65,0},
+cd492[]={198,0},
+cd493[]={66,0},
+cd494[]={68,0},
+cd495[]={69,0},
+cd496[]={398,0},
+cd497[]={71,0},
+cd498[]={72,0},
+cd499[]={73,0},
+cd500[]={74,0},
+cd501[]={75,0},
+cd502[]={76,0},
+cd503[]={77,0},
+cd504[]={78,0},
+cd505[]={79,0},
+cd506[]={546,0},
+cd507[]={80,0},
+cd508[]={82,0},
+cd509[]={84,0},
+cd510[]={85,0},
+cd511[]={87,0},
+cd512[]={592,0},
+cd513[]={593,0},
+cd514[]={7426,0},
+cd515[]={98,0},
+cd516[]={100,0},
+cd517[]={101,0},
+cd518[]={601,0},
+cd519[]={603,0},
+cd520[]={604,0},
+cd521[]={103,0},
+cd522[]={107,0},
+cd523[]={109,0},
+cd524[]={331,0},
+cd525[]={596,0},
+cd526[]={7446,0},
+cd527[]={7447,0},
+cd528[]={112,0},
+cd529[]={116,0},
+cd530[]={117,0},
+cd531[]={7453,0},
+cd532[]={623,0},
+cd533[]={118,0},
+cd534[]={7461,0},
+cd535[]={947,0},
+cd536[]={948,0},
+cd537[]={967,0},
+cd538[]={105,0},
+cd539[]={1085,0},
+cd540[]={594,0},
+cd541[]={99,0},
+cd542[]={597,0},
+cd543[]={240,0},
+cd544[]={102,0},
+cd545[]={607,0},
+cd546[]={609,0},
+cd547[]={613,0},
+cd548[]={616,0},
+cd549[]={617,0},
+cd550[]={618,0},
+cd551[]={7547,0},
+cd552[]={669,0},
+cd553[]={621,0},
+cd554[]={7557,0},
+cd555[]={671,0},
+cd556[]={625,0},
+cd557[]={624,0},
+cd558[]={626,0},
+cd559[]={627,0},
+cd560[]={628,0},
+cd561[]={629,0},
+cd562[]={632,0},
+cd563[]={642,0},
+cd564[]={643,0},
+cd565[]={427,0},
+cd566[]={649,0},
+cd567[]={650,0},
+cd568[]={7452,0},
+cd569[]={651,0},
+cd570[]={652,0},
+cd571[]={122,0},
+cd572[]={656,0},
+cd573[]={657,0},
+cd574[]={658,0},
+cd575[]={65,805,0},
+cd576[]={97,805,0},
+cd577[]={66,775,0},
+cd578[]={98,775,0},
+cd579[]={66,803,0},
+cd580[]={98,803,0},
+cd581[]={66,817,0},
+cd582[]={98,817,0},
+cd583[]={199,769,0},
+cd584[]={231,769,0},
+cd585[]={68,775,0},
+cd586[]={100,775,0},
+cd587[]={68,803,0},
+cd588[]={100,803,0},
+cd589[]={68,817,0},
+cd590[]={100,817,0},
+cd591[]={68,807,0},
+cd592[]={100,807,0},
+cd593[]={68,813,0},
+cd594[]={100,813,0},
+cd595[]={274,768,0},
+cd596[]={275,768,0},
+cd597[]={274,769,0},
+cd598[]={275,769,0},
+cd599[]={69,813,0},
+cd600[]={101,813,0},
+cd601[]={69,816,0},
+cd602[]={101,816,0},
+cd603[]={552,774,0},
+cd604[]={553,774,0},
+cd605[]={70,775,0},
+cd606[]={102,775,0},
+cd607[]={71,772,0},
+cd608[]={103,772,0},
+cd609[]={72,775,0},
+cd610[]={104,775,0},
+cd611[]={72,803,0},
+cd612[]={104,803,0},
+cd613[]={72,776,0},
+cd614[]={104,776,0},
+cd615[]={72,807,0},
+cd616[]={104,807,0},
+cd617[]={72,814,0},
+cd618[]={104,814,0},
+cd619[]={73,816,0},
+cd620[]={105,816,0},
+cd621[]={207,769,0},
+cd622[]={239,769,0},
+cd623[]={75,769,0},
+cd624[]={107,769,0},
+cd625[]={75,803,0},
+cd626[]={107,803,0},
+cd627[]={75,817,0},
+cd628[]={107,817,0},
+cd629[]={76,803,0},
+cd630[]={108,803,0},
+cd631[]={7734,772,0},
+cd632[]={7735,772,0},
+cd633[]={76,817,0},
+cd634[]={108,817,0},
+cd635[]={76,813,0},
+cd636[]={108,813,0},
+cd637[]={77,769,0},
+cd638[]={109,769,0},
+cd639[]={77,775,0},
+cd640[]={109,775,0},
+cd641[]={77,803,0},
+cd642[]={109,803,0},
+cd643[]={78,775,0},
+cd644[]={110,775,0},
+cd645[]={78,803,0},
+cd646[]={110,803,0},
+cd647[]={78,817,0},
+cd648[]={110,817,0},
+cd649[]={78,813,0},
+cd650[]={110,813,0},
+cd651[]={213,769,0},
+cd652[]={245,769,0},
+cd653[]={213,776,0},
+cd654[]={245,776,0},
+cd655[]={332,768,0},
+cd656[]={333,768,0},
+cd657[]={332,769,0},
+cd658[]={333,769,0},
+cd659[]={80,769,0},
+cd660[]={112,769,0},
+cd661[]={80,775,0},
+cd662[]={112,775,0},
+cd663[]={82,775,0},
+cd664[]={114,775,0},
+cd665[]={82,803,0},
+cd666[]={114,803,0},
+cd667[]={7770,772,0},
+cd668[]={7771,772,0},
+cd669[]={82,817,0},
+cd670[]={114,817,0},
+cd671[]={83,775,0},
+cd672[]={115,775,0},
+cd673[]={83,803,0},
+cd674[]={115,803,0},
+cd675[]={346,775,0},
+cd676[]={347,775,0},
+cd677[]={352,775,0},
+cd678[]={353,775,0},
+cd679[]={7778,775,0},
+cd680[]={7779,775,0},
+cd681[]={84,775,0},
+cd682[]={116,775,0},
+cd683[]={84,803,0},
+cd684[]={116,803,0},
+cd685[]={84,817,0},
+cd686[]={116,817,0},
+cd687[]={84,813,0},
+cd688[]={116,813,0},
+cd689[]={85,804,0},
+cd690[]={117,804,0},
+cd691[]={85,816,0},
+cd692[]={117,816,0},
+cd693[]={85,813,0},
+cd694[]={117,813,0},
+cd695[]={360,769,0},
+cd696[]={361,769,0},
+cd697[]={362,776,0},
+cd698[]={363,776,0},
+cd699[]={86,771,0},
+cd700[]={118,771,0},
+cd701[]={86,803,0},
+cd702[]={118,803,0},
+cd703[]={87,768,0},
+cd704[]={119,768,0},
+cd705[]={87,769,0},
+cd706[]={119,769,0},
+cd707[]={87,776,0},
+cd708[]={119,776,0},
+cd709[]={87,775,0},
+cd710[]={119,775,0},
+cd711[]={87,803,0},
+cd712[]={119,803,0},
+cd713[]={88,775,0},
+cd714[]={120,775,0},
+cd715[]={88,776,0},
+cd716[]={120,776,0},
+cd717[]={89,775,0},
+cd718[]={121,775,0},
+cd719[]={90,770,0},
+cd720[]={122,770,0},
+cd721[]={90,803,0},
+cd722[]={122,803,0},
+cd723[]={90,817,0},
+cd724[]={122,817,0},
+cd725[]={104,817,0},
+cd726[]={116,776,0},
+cd727[]={119,778,0},
+cd728[]={121,778,0},
+cd729[]={97,702,0},
+cd730[]={383,775,0},
+cd731[]={65,803,0},
+cd732[]={97,803,0},
+cd733[]={65,777,0},
+cd734[]={97,777,0},
+cd735[]={194,769,0},
+cd736[]={226,769,0},
+cd737[]={194,768,0},
+cd738[]={226,768,0},
+cd739[]={194,777,0},
+cd740[]={226,777,0},
+cd741[]={194,771,0},
+cd742[]={226,771,0},
+cd743[]={7840,770,0},
+cd744[]={7841,770,0},
+cd745[]={258,769,0},
+cd746[]={259,769,0},
+cd747[]={258,768,0},
+cd748[]={259,768,0},
+cd749[]={258,777,0},
+cd750[]={259,777,0},
+cd751[]={258,771,0},
+cd752[]={259,771,0},
+cd753[]={7840,774,0},
+cd754[]={7841,774,0},
+cd755[]={69,803,0},
+cd756[]={101,803,0},
+cd757[]={69,777,0},
+cd758[]={101,777,0},
+cd759[]={69,771,0},
+cd760[]={101,771,0},
+cd761[]={202,769,0},
+cd762[]={234,769,0},
+cd763[]={202,768,0},
+cd764[]={234,768,0},
+cd765[]={202,777,0},
+cd766[]={234,777,0},
+cd767[]={202,771,0},
+cd768[]={234,771,0},
+cd769[]={7864,770,0},
+cd770[]={7865,770,0},
+cd771[]={73,777,0},
+cd772[]={105,777,0},
+cd773[]={73,803,0},
+cd774[]={105,803,0},
+cd775[]={79,803,0},
+cd776[]={111,803,0},
+cd777[]={79,777,0},
+cd778[]={111,777,0},
+cd779[]={212,769,0},
+cd780[]={244,769,0},
+cd781[]={212,768,0},
+cd782[]={244,768,0},
+cd783[]={212,777,0},
+cd784[]={244,777,0},
+cd785[]={212,771,0},
+cd786[]={244,771,0},
+cd787[]={7884,770,0},
+cd788[]={7885,770,0},
+cd789[]={416,769,0},
+cd790[]={417,769,0},
+cd791[]={416,768,0},
+cd792[]={417,768,0},
+cd793[]={416,777,0},
+cd794[]={417,777,0},
+cd795[]={416,771,0},
+cd796[]={417,771,0},
+cd797[]={416,803,0},
+cd798[]={417,803,0},
+cd799[]={85,803,0},
+cd800[]={117,803,0},
+cd801[]={85,777,0},
+cd802[]={117,777,0},
+cd803[]={431,769,0},
+cd804[]={432,769,0},
+cd805[]={431,768,0},
+cd806[]={432,768,0},
+cd807[]={431,777,0},
+cd808[]={432,777,0},
+cd809[]={431,771,0},
+cd810[]={432,771,0},
+cd811[]={431,803,0},
+cd812[]={432,803,0},
+cd813[]={89,768,0},
+cd814[]={121,768,0},
+cd815[]={89,803,0},
+cd816[]={121,803,0},
+cd817[]={89,777,0},
+cd818[]={121,777,0},
+cd819[]={89,771,0},
+cd820[]={121,771,0},
+cd821[]={945,787,0},
+cd822[]={945,788,0},
+cd823[]={7936,768,0},
+cd824[]={7937,768,0},
+cd825[]={7936,769,0},
+cd826[]={7937,769,0},
+cd827[]={7936,834,0},
+cd828[]={7937,834,0},
+cd829[]={913,787,0},
+cd830[]={913,788,0},
+cd831[]={7944,768,0},
+cd832[]={7945,768,0},
+cd833[]={7944,769,0},
+cd834[]={7945,769,0},
+cd835[]={7944,834,0},
+cd836[]={7945,834,0},
+cd837[]={949,787,0},
+cd838[]={949,788,0},
+cd839[]={7952,768,0},
+cd840[]={7953,768,0},
+cd841[]={7952,769,0},
+cd842[]={7953,769,0},
+cd843[]={917,787,0},
+cd844[]={917,788,0},
+cd845[]={7960,768,0},
+cd846[]={7961,768,0},
+cd847[]={7960,769,0},
+cd848[]={7961,769,0},
+cd849[]={951,787,0},
+cd850[]={951,788,0},
+cd851[]={7968,768,0},
+cd852[]={7969,768,0},
+cd853[]={7968,769,0},
+cd854[]={7969,769,0},
+cd855[]={7968,834,0},
+cd856[]={7969,834,0},
+cd857[]={919,787,0},
+cd858[]={919,788,0},
+cd859[]={7976,768,0},
+cd860[]={7977,768,0},
+cd861[]={7976,769,0},
+cd862[]={7977,769,0},
+cd863[]={7976,834,0},
+cd864[]={7977,834,0},
+cd865[]={953,787,0},
+cd866[]={953,788,0},
+cd867[]={7984,768,0},
+cd868[]={7985,768,0},
+cd869[]={7984,769,0},
+cd870[]={7985,769,0},
+cd871[]={7984,834,0},
+cd872[]={7985,834,0},
+cd873[]={921,787,0},
+cd874[]={921,788,0},
+cd875[]={7992,768,0},
+cd876[]={7993,768,0},
+cd877[]={7992,769,0},
+cd878[]={7993,769,0},
+cd879[]={7992,834,0},
+cd880[]={7993,834,0},
+cd881[]={959,787,0},
+cd882[]={959,788,0},
+cd883[]={8000,768,0},
+cd884[]={8001,768,0},
+cd885[]={8000,769,0},
+cd886[]={8001,769,0},
+cd887[]={927,787,0},
+cd888[]={927,788,0},
+cd889[]={8008,768,0},
+cd890[]={8009,768,0},
+cd891[]={8008,769,0},
+cd892[]={8009,769,0},
+cd893[]={965,787,0},
+cd894[]={965,788,0},
+cd895[]={8016,768,0},
+cd896[]={8017,768,0},
+cd897[]={8016,769,0},
+cd898[]={8017,769,0},
+cd899[]={8016,834,0},
+cd900[]={8017,834,0},
+cd901[]={933,788,0},
+cd902[]={8025,768,0},
+cd903[]={8025,769,0},
+cd904[]={8025,834,0},
+cd905[]={969,787,0},
+cd906[]={969,788,0},
+cd907[]={8032,768,0},
+cd908[]={8033,768,0},
+cd909[]={8032,769,0},
+cd910[]={8033,769,0},
+cd911[]={8032,834,0},
+cd912[]={8033,834,0},
+cd913[]={937,787,0},
+cd914[]={937,788,0},
+cd915[]={8040,768,0},
+cd916[]={8041,768,0},
+cd917[]={8040,769,0},
+cd918[]={8041,769,0},
+cd919[]={8040,834,0},
+cd920[]={8041,834,0},
+cd921[]={945,768,0},
+cd922[]={940,0},
+cd923[]={949,768,0},
+cd924[]={941,0},
+cd925[]={951,768,0},
+cd926[]={942,0},
+cd927[]={953,768,0},
+cd928[]={943,0},
+cd929[]={959,768,0},
+cd930[]={972,0},
+cd931[]={965,768,0},
+cd932[]={973,0},
+cd933[]={969,768,0},
+cd934[]={974,0},
+cd935[]={7936,837,0},
+cd936[]={7937,837,0},
+cd937[]={7938,837,0},
+cd938[]={7939,837,0},
+cd939[]={7940,837,0},
+cd940[]={7941,837,0},
+cd941[]={7942,837,0},
+cd942[]={7943,837,0},
+cd943[]={7944,837,0},
+cd944[]={7945,837,0},
+cd945[]={7946,837,0},
+cd946[]={7947,837,0},
+cd947[]={7948,837,0},
+cd948[]={7949,837,0},
+cd949[]={7950,837,0},
+cd950[]={7951,837,0},
+cd951[]={7968,837,0},
+cd952[]={7969,837,0},
+cd953[]={7970,837,0},
+cd954[]={7971,837,0},
+cd955[]={7972,837,0},
+cd956[]={7973,837,0},
+cd957[]={7974,837,0},
+cd958[]={7975,837,0},
+cd959[]={7976,837,0},
+cd960[]={7977,837,0},
+cd961[]={7978,837,0},
+cd962[]={7979,837,0},
+cd963[]={7980,837,0},
+cd964[]={7981,837,0},
+cd965[]={7982,837,0},
+cd966[]={7983,837,0},
+cd967[]={8032,837,0},
+cd968[]={8033,837,0},
+cd969[]={8034,837,0},
+cd970[]={8035,837,0},
+cd971[]={8036,837,0},
+cd972[]={8037,837,0},
+cd973[]={8038,837,0},
+cd974[]={8039,837,0},
+cd975[]={8040,837,0},
+cd976[]={8041,837,0},
+cd977[]={8042,837,0},
+cd978[]={8043,837,0},
+cd979[]={8044,837,0},
+cd980[]={8045,837,0},
+cd981[]={8046,837,0},
+cd982[]={8047,837,0},
+cd983[]={945,774,0},
+cd984[]={945,772,0},
+cd985[]={8048,837,0},
+cd986[]={945,837,0},
+cd987[]={940,837,0},
+cd988[]={945,834,0},
+cd989[]={8118,837,0},
+cd990[]={913,774,0},
+cd991[]={913,772,0},
+cd992[]={913,768,0},
+cd993[]={902,0},
+cd994[]={913,837,0},
+cd995[]={32,787,0},
+cd996[]={953,0},
+cd997[]={32,834,0},
+cd998[]={168,834,0},
+cd999[]={8052,837,0},
+cd1000[]={951,837,0},
+cd1001[]={942,837,0},
+cd1002[]={951,834,0},
+cd1003[]={8134,837,0},
+cd1004[]={917,768,0},
+cd1005[]={904,0},
+cd1006[]={919,768,0},
+cd1007[]={905,0},
+cd1008[]={919,837,0},
+cd1009[]={8127,768,0},
+cd1010[]={8127,769,0},
+cd1011[]={8127,834,0},
+cd1012[]={953,774,0},
+cd1013[]={953,772,0},
+cd1014[]={970,768,0},
+cd1015[]={912,0},
+cd1016[]={953,834,0},
+cd1017[]={970,834,0},
+cd1018[]={921,774,0},
+cd1019[]={921,772,0},
+cd1020[]={921,768,0},
+cd1021[]={906,0},
+cd1022[]={8190,768,0},
+cd1023[]={8190,769,0},
+cd1024[]={8190,834,0},
+cd1025[]={965,774,0},
+cd1026[]={965,772,0},
+cd1027[]={971,768,0},
+cd1028[]={944,0},
+cd1029[]={961,787,0},
+cd1030[]={961,788,0},
+cd1031[]={965,834,0},
+cd1032[]={971,834,0},
+cd1033[]={933,774,0},
+cd1034[]={933,772,0},
+cd1035[]={933,768,0},
+cd1036[]={910,0},
+cd1037[]={929,788,0},
+cd1038[]={168,768,0},
+cd1039[]={901,0},
+cd1040[]={96,0},
+cd1041[]={8060,837,0},
+cd1042[]={969,837,0},
+cd1043[]={974,837,0},
+cd1044[]={969,834,0},
+cd1045[]={8182,837,0},
+cd1046[]={927,768,0},
+cd1047[]={908,0},
+cd1048[]={937,768,0},
+cd1049[]={911,0},
+cd1050[]={937,837,0},
+cd1051[]={180,0},
+cd1052[]={32,788,0},
+cd1053[]={8194,0},
+cd1054[]={8195,0},
+cd1055[]={8208,0},
+cd1056[]={32,819,0},
+cd1057[]={46,0},
+cd1058[]={46,46,0},
+cd1059[]={46,46,46,0},
+cd1060[]={8242,8242,0},
+cd1061[]={8242,8242,8242,0},
+cd1062[]={8245,8245,0},
+cd1063[]={8245,8245,8245,0},
+cd1064[]={33,33,0},
+cd1065[]={32,773,0},
+cd1066[]={63,63,0},
+cd1067[]={63,33,0},
+cd1068[]={33,63,0},
+cd1069[]={8242,8242,8242,8242,0},
+cd1070[]={48,0},
+cd1071[]={52,0},
+cd1072[]={53,0},
+cd1073[]={54,0},
+cd1074[]={55,0},
+cd1075[]={56,0},
+cd1076[]={57,0},
+cd1077[]={43,0},
+cd1078[]={8722,0},
+cd1079[]={61,0},
+cd1080[]={40,0},
+cd1081[]={41,0},
+cd1082[]={110,0},
+cd1083[]={82,115,0},
+cd1084[]={97,47,99,0},
+cd1085[]={97,47,115,0},
+cd1086[]={67,0},
+cd1087[]={176,67,0},
+cd1088[]={99,47,111,0},
+cd1089[]={99,47,117,0},
+cd1090[]={400,0},
+cd1091[]={176,70,0},
+cd1092[]={295,0},
+cd1093[]={78,111,0},
+cd1094[]={81,0},
+cd1095[]={83,77,0},
+cd1096[]={84,69,76,0},
+cd1097[]={84,77,0},
+cd1098[]={90,0},
+cd1099[]={937,0},
+cd1100[]={197,0},
+cd1101[]={70,0},
+cd1102[]={1488,0},
+cd1103[]={1489,0},
+cd1104[]={1490,0},
+cd1105[]={1491,0},
+cd1106[]={70,65,88,0},
+cd1107[]={915,0},
+cd1108[]={928,0},
+cd1109[]={8721,0},
+cd1110[]={49,8260,51,0},
+cd1111[]={50,8260,51,0},
+cd1112[]={49,8260,53,0},
+cd1113[]={50,8260,53,0},
+cd1114[]={51,8260,53,0},
+cd1115[]={52,8260,53,0},
+cd1116[]={49,8260,54,0},
+cd1117[]={53,8260,54,0},
+cd1118[]={49,8260,56,0},
+cd1119[]={51,8260,56,0},
+cd1120[]={53,8260,56,0},
+cd1121[]={55,8260,56,0},
+cd1122[]={49,8260,0},
+cd1123[]={73,73,0},
+cd1124[]={73,73,73,0},
+cd1125[]={73,86,0},
+cd1126[]={86,0},
+cd1127[]={86,73,0},
+cd1128[]={86,73,73,0},
+cd1129[]={86,73,73,73,0},
+cd1130[]={73,88,0},
+cd1131[]={88,0},
+cd1132[]={88,73,0},
+cd1133[]={88,73,73,0},
+cd1134[]={105,105,0},
+cd1135[]={105,105,105,0},
+cd1136[]={105,118,0},
+cd1137[]={118,105,0},
+cd1138[]={118,105,105,0},
+cd1139[]={118,105,105,105,0},
+cd1140[]={105,120,0},
+cd1141[]={120,105,0},
+cd1142[]={120,105,105,0},
+cd1143[]={8592,824,0},
+cd1144[]={8594,824,0},
+cd1145[]={8596,824,0},
+cd1146[]={8656,824,0},
+cd1147[]={8660,824,0},
+cd1148[]={8658,824,0},
+cd1149[]={8707,824,0},
+cd1150[]={8712,824,0},
+cd1151[]={8715,824,0},
+cd1152[]={8739,824,0},
+cd1153[]={8741,824,0},
+cd1154[]={8747,8747,0},
+cd1155[]={8747,8747,8747,0},
+cd1156[]={8750,8750,0},
+cd1157[]={8750,8750,8750,0},
+cd1158[]={8764,824,0},
+cd1159[]={8771,824,0},
+cd1160[]={8773,824,0},
+cd1161[]={8776,824,0},
+cd1162[]={61,824,0},
+cd1163[]={8801,824,0},
+cd1164[]={8781,824,0},
+cd1165[]={60,824,0},
+cd1166[]={62,824,0},
+cd1167[]={8804,824,0},
+cd1168[]={8805,824,0},
+cd1169[]={8818,824,0},
+cd1170[]={8819,824,0},
+cd1171[]={8822,824,0},
+cd1172[]={8823,824,0},
+cd1173[]={8826,824,0},
+cd1174[]={8827,824,0},
+cd1175[]={8834,824,0},
+cd1176[]={8835,824,0},
+cd1177[]={8838,824,0},
+cd1178[]={8839,824,0},
+cd1179[]={8866,824,0},
+cd1180[]={8872,824,0},
+cd1181[]={8873,824,0},
+cd1182[]={8875,824,0},
+cd1183[]={8828,824,0},
+cd1184[]={8829,824,0},
+cd1185[]={8849,824,0},
+cd1186[]={8850,824,0},
+cd1187[]={8882,824,0},
+cd1188[]={8883,824,0},
+cd1189[]={8884,824,0},
+cd1190[]={8885,824,0},
+cd1191[]={12296,0},
+cd1192[]={12297,0},
+cd1193[]={49,48,0},
+cd1194[]={49,49,0},
+cd1195[]={49,50,0},
+cd1196[]={49,51,0},
+cd1197[]={49,52,0},
+cd1198[]={49,53,0},
+cd1199[]={49,54,0},
+cd1200[]={49,55,0},
+cd1201[]={49,56,0},
+cd1202[]={49,57,0},
+cd1203[]={50,48,0},
+cd1204[]={40,49,41,0},
+cd1205[]={40,50,41,0},
+cd1206[]={40,51,41,0},
+cd1207[]={40,52,41,0},
+cd1208[]={40,53,41,0},
+cd1209[]={40,54,41,0},
+cd1210[]={40,55,41,0},
+cd1211[]={40,56,41,0},
+cd1212[]={40,57,41,0},
+cd1213[]={40,49,48,41,0},
+cd1214[]={40,49,49,41,0},
+cd1215[]={40,49,50,41,0},
+cd1216[]={40,49,51,41,0},
+cd1217[]={40,49,52,41,0},
+cd1218[]={40,49,53,41,0},
+cd1219[]={40,49,54,41,0},
+cd1220[]={40,49,55,41,0},
+cd1221[]={40,49,56,41,0},
+cd1222[]={40,49,57,41,0},
+cd1223[]={40,50,48,41,0},
+cd1224[]={49,46,0},
+cd1225[]={50,46,0},
+cd1226[]={51,46,0},
+cd1227[]={52,46,0},
+cd1228[]={53,46,0},
+cd1229[]={54,46,0},
+cd1230[]={55,46,0},
+cd1231[]={56,46,0},
+cd1232[]={57,46,0},
+cd1233[]={49,48,46,0},
+cd1234[]={49,49,46,0},
+cd1235[]={49,50,46,0},
+cd1236[]={49,51,46,0},
+cd1237[]={49,52,46,0},
+cd1238[]={49,53,46,0},
+cd1239[]={49,54,46,0},
+cd1240[]={49,55,46,0},
+cd1241[]={49,56,46,0},
+cd1242[]={49,57,46,0},
+cd1243[]={50,48,46,0},
+cd1244[]={40,97,41,0},
+cd1245[]={40,98,41,0},
+cd1246[]={40,99,41,0},
+cd1247[]={40,100,41,0},
+cd1248[]={40,101,41,0},
+cd1249[]={40,102,41,0},
+cd1250[]={40,103,41,0},
+cd1251[]={40,104,41,0},
+cd1252[]={40,105,41,0},
+cd1253[]={40,106,41,0},
+cd1254[]={40,107,41,0},
+cd1255[]={40,108,41,0},
+cd1256[]={40,109,41,0},
+cd1257[]={40,110,41,0},
+cd1258[]={40,111,41,0},
+cd1259[]={40,112,41,0},
+cd1260[]={40,113,41,0},
+cd1261[]={40,114,41,0},
+cd1262[]={40,115,41,0},
+cd1263[]={40,116,41,0},
+cd1264[]={40,117,41,0},
+cd1265[]={40,118,41,0},
+cd1266[]={40,119,41,0},
+cd1267[]={40,120,41,0},
+cd1268[]={40,121,41,0},
+cd1269[]={40,122,41,0},
+cd1270[]={83,0},
+cd1271[]={89,0},
+cd1272[]={113,0},
+cd1273[]={8747,8747,8747,8747,0},
+cd1274[]={58,58,61,0},
+cd1275[]={61,61,0},
+cd1276[]={61,61,61,0},
+cd1277[]={10973,824,0},
+cd1278[]={11617,0},
+cd1279[]={27597,0},
+cd1280[]={40863,0},
+cd1281[]={19968,0},
+cd1282[]={20008,0},
+cd1283[]={20022,0},
+cd1284[]={20031,0},
+cd1285[]={20057,0},
+cd1286[]={20101,0},
+cd1287[]={20108,0},
+cd1288[]={20128,0},
+cd1289[]={20154,0},
+cd1290[]={20799,0},
+cd1291[]={20837,0},
+cd1292[]={20843,0},
+cd1293[]={20866,0},
+cd1294[]={20886,0},
+cd1295[]={20907,0},
+cd1296[]={20960,0},
+cd1297[]={20981,0},
+cd1298[]={20992,0},
+cd1299[]={21147,0},
+cd1300[]={21241,0},
+cd1301[]={21269,0},
+cd1302[]={21274,0},
+cd1303[]={21304,0},
+cd1304[]={21313,0},
+cd1305[]={21340,0},
+cd1306[]={21353,0},
+cd1307[]={21378,0},
+cd1308[]={21430,0},
+cd1309[]={21448,0},
+cd1310[]={21475,0},
+cd1311[]={22231,0},
+cd1312[]={22303,0},
+cd1313[]={22763,0},
+cd1314[]={22786,0},
+cd1315[]={22794,0},
+cd1316[]={22805,0},
+cd1317[]={22823,0},
+cd1318[]={22899,0},
+cd1319[]={23376,0},
+cd1320[]={23424,0},
+cd1321[]={23544,0},
+cd1322[]={23567,0},
+cd1323[]={23586,0},
+cd1324[]={23608,0},
+cd1325[]={23662,0},
+cd1326[]={23665,0},
+cd1327[]={24027,0},
+cd1328[]={24037,0},
+cd1329[]={24049,0},
+cd1330[]={24062,0},
+cd1331[]={24178,0},
+cd1332[]={24186,0},
+cd1333[]={24191,0},
+cd1334[]={24308,0},
+cd1335[]={24318,0},
+cd1336[]={24331,0},
+cd1337[]={24339,0},
+cd1338[]={24400,0},
+cd1339[]={24417,0},
+cd1340[]={24435,0},
+cd1341[]={24515,0},
+cd1342[]={25096,0},
+cd1343[]={25142,0},
+cd1344[]={25163,0},
+cd1345[]={25903,0},
+cd1346[]={25908,0},
+cd1347[]={25991,0},
+cd1348[]={26007,0},
+cd1349[]={26020,0},
+cd1350[]={26041,0},
+cd1351[]={26080,0},
+cd1352[]={26085,0},
+cd1353[]={26352,0},
+cd1354[]={26376,0},
+cd1355[]={26408,0},
+cd1356[]={27424,0},
+cd1357[]={27490,0},
+cd1358[]={27513,0},
+cd1359[]={27571,0},
+cd1360[]={27595,0},
+cd1361[]={27604,0},
+cd1362[]={27611,0},
+cd1363[]={27663,0},
+cd1364[]={27668,0},
+cd1365[]={27700,0},
+cd1366[]={28779,0},
+cd1367[]={29226,0},
+cd1368[]={29238,0},
+cd1369[]={29243,0},
+cd1370[]={29247,0},
+cd1371[]={29255,0},
+cd1372[]={29273,0},
+cd1373[]={29275,0},
+cd1374[]={29356,0},
+cd1375[]={29572,0},
+cd1376[]={29577,0},
+cd1377[]={29916,0},
+cd1378[]={29926,0},
+cd1379[]={29976,0},
+cd1380[]={29983,0},
+cd1381[]={29992,0},
+cd1382[]={30000,0},
+cd1383[]={30091,0},
+cd1384[]={30098,0},
+cd1385[]={30326,0},
+cd1386[]={30333,0},
+cd1387[]={30382,0},
+cd1388[]={30399,0},
+cd1389[]={30446,0},
+cd1390[]={30683,0},
+cd1391[]={30690,0},
+cd1392[]={30707,0},
+cd1393[]={31034,0},
+cd1394[]={31160,0},
+cd1395[]={31166,0},
+cd1396[]={31348,0},
+cd1397[]={31435,0},
+cd1398[]={31481,0},
+cd1399[]={31859,0},
+cd1400[]={31992,0},
+cd1401[]={32566,0},
+cd1402[]={32593,0},
+cd1403[]={32650,0},
+cd1404[]={32701,0},
+cd1405[]={32769,0},
+cd1406[]={32780,0},
+cd1407[]={32786,0},
+cd1408[]={32819,0},
+cd1409[]={32895,0},
+cd1410[]={32905,0},
+cd1411[]={33251,0},
+cd1412[]={33258,0},
+cd1413[]={33267,0},
+cd1414[]={33276,0},
+cd1415[]={33292,0},
+cd1416[]={33307,0},
+cd1417[]={33311,0},
+cd1418[]={33390,0},
+cd1419[]={33394,0},
+cd1420[]={33400,0},
+cd1421[]={34381,0},
+cd1422[]={34411,0},
+cd1423[]={34880,0},
+cd1424[]={34892,0},
+cd1425[]={34915,0},
+cd1426[]={35198,0},
+cd1427[]={35211,0},
+cd1428[]={35282,0},
+cd1429[]={35328,0},
+cd1430[]={35895,0},
+cd1431[]={35910,0},
+cd1432[]={35925,0},
+cd1433[]={35960,0},
+cd1434[]={35997,0},
+cd1435[]={36196,0},
+cd1436[]={36208,0},
+cd1437[]={36275,0},
+cd1438[]={36523,0},
+cd1439[]={36554,0},
+cd1440[]={36763,0},
+cd1441[]={36784,0},
+cd1442[]={36789,0},
+cd1443[]={37009,0},
+cd1444[]={37193,0},
+cd1445[]={37318,0},
+cd1446[]={37324,0},
+cd1447[]={37329,0},
+cd1448[]={38263,0},
+cd1449[]={38272,0},
+cd1450[]={38428,0},
+cd1451[]={38582,0},
+cd1452[]={38585,0},
+cd1453[]={38632,0},
+cd1454[]={38737,0},
+cd1455[]={38750,0},
+cd1456[]={38754,0},
+cd1457[]={38761,0},
+cd1458[]={38859,0},
+cd1459[]={38893,0},
+cd1460[]={38899,0},
+cd1461[]={38913,0},
+cd1462[]={39080,0},
+cd1463[]={39131,0},
+cd1464[]={39135,0},
+cd1465[]={39318,0},
+cd1466[]={39321,0},
+cd1467[]={39340,0},
+cd1468[]={39592,0},
+cd1469[]={39640,0},
+cd1470[]={39647,0},
+cd1471[]={39717,0},
+cd1472[]={39727,0},
+cd1473[]={39730,0},
+cd1474[]={39740,0},
+cd1475[]={39770,0},
+cd1476[]={40165,0},
+cd1477[]={40565,0},
+cd1478[]={40575,0},
+cd1479[]={40613,0},
+cd1480[]={40635,0},
+cd1481[]={40643,0},
+cd1482[]={40653,0},
+cd1483[]={40657,0},
+cd1484[]={40697,0},
+cd1485[]={40701,0},
+cd1486[]={40718,0},
+cd1487[]={40723,0},
+cd1488[]={40736,0},
+cd1489[]={40763,0},
+cd1490[]={40778,0},
+cd1491[]={40786,0},
+cd1492[]={40845,0},
+cd1493[]={40860,0},
+cd1494[]={40864,0},
+cd1495[]={12306,0},
+cd1496[]={21316,0},
+cd1497[]={21317,0},
+cd1498[]={12363,12441,0},
+cd1499[]={12365,12441,0},
+cd1500[]={12367,12441,0},
+cd1501[]={12369,12441,0},
+cd1502[]={12371,12441,0},
+cd1503[]={12373,12441,0},
+cd1504[]={12375,12441,0},
+cd1505[]={12377,12441,0},
+cd1506[]={12379,12441,0},
+cd1507[]={12381,12441,0},
+cd1508[]={12383,12441,0},
+cd1509[]={12385,12441,0},
+cd1510[]={12388,12441,0},
+cd1511[]={12390,12441,0},
+cd1512[]={12392,12441,0},
+cd1513[]={12399,12441,0},
+cd1514[]={12399,12442,0},
+cd1515[]={12402,12441,0},
+cd1516[]={12402,12442,0},
+cd1517[]={12405,12441,0},
+cd1518[]={12405,12442,0},
+cd1519[]={12408,12441,0},
+cd1520[]={12408,12442,0},
+cd1521[]={12411,12441,0},
+cd1522[]={12411,12442,0},
+cd1523[]={12358,12441,0},
+cd1524[]={32,12441,0},
+cd1525[]={32,12442,0},
+cd1526[]={12445,12441,0},
+cd1527[]={12424,12426,0},
+cd1528[]={12459,12441,0},
+cd1529[]={12461,12441,0},
+cd1530[]={12463,12441,0},
+cd1531[]={12465,12441,0},
+cd1532[]={12467,12441,0},
+cd1533[]={12469,12441,0},
+cd1534[]={12471,12441,0},
+cd1535[]={12473,12441,0},
+cd1536[]={12475,12441,0},
+cd1537[]={12477,12441,0},
+cd1538[]={12479,12441,0},
+cd1539[]={12481,12441,0},
+cd1540[]={12484,12441,0},
+cd1541[]={12486,12441,0},
+cd1542[]={12488,12441,0},
+cd1543[]={12495,12441,0},
+cd1544[]={12495,12442,0},
+cd1545[]={12498,12441,0},
+cd1546[]={12498,12442,0},
+cd1547[]={12501,12441,0},
+cd1548[]={12501,12442,0},
+cd1549[]={12504,12441,0},
+cd1550[]={12504,12442,0},
+cd1551[]={12507,12441,0},
+cd1552[]={12507,12442,0},
+cd1553[]={12454,12441,0},
+cd1554[]={12527,12441,0},
+cd1555[]={12528,12441,0},
+cd1556[]={12529,12441,0},
+cd1557[]={12530,12441,0},
+cd1558[]={12541,12441,0},
+cd1559[]={12467,12488,0},
+cd1560[]={4352,0},
+cd1561[]={4353,0},
+cd1562[]={4522,0},
+cd1563[]={4354,0},
+cd1564[]={4524,0},
+cd1565[]={4525,0},
+cd1566[]={4355,0},
+cd1567[]={4356,0},
+cd1568[]={4357,0},
+cd1569[]={4528,0},
+cd1570[]={4529,0},
+cd1571[]={4530,0},
+cd1572[]={4531,0},
+cd1573[]={4532,0},
+cd1574[]={4533,0},
+cd1575[]={4378,0},
+cd1576[]={4358,0},
+cd1577[]={4359,0},
+cd1578[]={4360,0},
+cd1579[]={4385,0},
+cd1580[]={4361,0},
+cd1581[]={4362,0},
+cd1582[]={4363,0},
+cd1583[]={4364,0},
+cd1584[]={4365,0},
+cd1585[]={4366,0},
+cd1586[]={4367,0},
+cd1587[]={4368,0},
+cd1588[]={4369,0},
+cd1589[]={4370,0},
+cd1590[]={4449,0},
+cd1591[]={4450,0},
+cd1592[]={4451,0},
+cd1593[]={4452,0},
+cd1594[]={4453,0},
+cd1595[]={4454,0},
+cd1596[]={4455,0},
+cd1597[]={4456,0},
+cd1598[]={4457,0},
+cd1599[]={4458,0},
+cd1600[]={4459,0},
+cd1601[]={4460,0},
+cd1602[]={4461,0},
+cd1603[]={4462,0},
+cd1604[]={4463,0},
+cd1605[]={4464,0},
+cd1606[]={4465,0},
+cd1607[]={4466,0},
+cd1608[]={4467,0},
+cd1609[]={4468,0},
+cd1610[]={4469,0},
+cd1611[]={4448,0},
+cd1612[]={4372,0},
+cd1613[]={4373,0},
+cd1614[]={4551,0},
+cd1615[]={4552,0},
+cd1616[]={4556,0},
+cd1617[]={4558,0},
+cd1618[]={4563,0},
+cd1619[]={4567,0},
+cd1620[]={4569,0},
+cd1621[]={4380,0},
+cd1622[]={4573,0},
+cd1623[]={4575,0},
+cd1624[]={4381,0},
+cd1625[]={4382,0},
+cd1626[]={4384,0},
+cd1627[]={4386,0},
+cd1628[]={4387,0},
+cd1629[]={4391,0},
+cd1630[]={4393,0},
+cd1631[]={4395,0},
+cd1632[]={4396,0},
+cd1633[]={4397,0},
+cd1634[]={4398,0},
+cd1635[]={4399,0},
+cd1636[]={4402,0},
+cd1637[]={4406,0},
+cd1638[]={4416,0},
+cd1639[]={4423,0},
+cd1640[]={4428,0},
+cd1641[]={4593,0},
+cd1642[]={4594,0},
+cd1643[]={4439,0},
+cd1644[]={4440,0},
+cd1645[]={4441,0},
+cd1646[]={4484,0},
+cd1647[]={4485,0},
+cd1648[]={4488,0},
+cd1649[]={4497,0},
+cd1650[]={4498,0},
+cd1651[]={4500,0},
+cd1652[]={4510,0},
+cd1653[]={4513,0},
+cd1654[]={19977,0},
+cd1655[]={22235,0},
+cd1656[]={19978,0},
+cd1657[]={20013,0},
+cd1658[]={19979,0},
+cd1659[]={30002,0},
+cd1660[]={19993,0},
+cd1661[]={19969,0},
+cd1662[]={22825,0},
+cd1663[]={22320,0},
+cd1664[]={40,4352,41,0},
+cd1665[]={40,4354,41,0},
+cd1666[]={40,4355,41,0},
+cd1667[]={40,4357,41,0},
+cd1668[]={40,4358,41,0},
+cd1669[]={40,4359,41,0},
+cd1670[]={40,4361,41,0},
+cd1671[]={40,4363,41,0},
+cd1672[]={40,4364,41,0},
+cd1673[]={40,4366,41,0},
+cd1674[]={40,4367,41,0},
+cd1675[]={40,4368,41,0},
+cd1676[]={40,4369,41,0},
+cd1677[]={40,4370,41,0},
+cd1678[]={40,4352,4449,41,0},
+cd1679[]={40,4354,4449,41,0},
+cd1680[]={40,4355,4449,41,0},
+cd1681[]={40,4357,4449,41,0},
+cd1682[]={40,4358,4449,41,0},
+cd1683[]={40,4359,4449,41,0},
+cd1684[]={40,4361,4449,41,0},
+cd1685[]={40,4363,4449,41,0},
+cd1686[]={40,4364,4449,41,0},
+cd1687[]={40,4366,4449,41,0},
+cd1688[]={40,4367,4449,41,0},
+cd1689[]={40,4368,4449,41,0},
+cd1690[]={40,4369,4449,41,0},
+cd1691[]={40,4370,4449,41,0},
+cd1692[]={40,4364,4462,41,0},
+cd1693[]={40,4363,4457,4364,4453,4523,41,0},
+cd1694[]={40,4363,4457,4370,4462,41,0},
+cd1695[]={40,19968,41,0},
+cd1696[]={40,20108,41,0},
+cd1697[]={40,19977,41,0},
+cd1698[]={40,22235,41,0},
+cd1699[]={40,20116,41,0},
+cd1700[]={40,20845,41,0},
+cd1701[]={40,19971,41,0},
+cd1702[]={40,20843,41,0},
+cd1703[]={40,20061,41,0},
+cd1704[]={40,21313,41,0},
+cd1705[]={40,26376,41,0},
+cd1706[]={40,28779,41,0},
+cd1707[]={40,27700,41,0},
+cd1708[]={40,26408,41,0},
+cd1709[]={40,37329,41,0},
+cd1710[]={40,22303,41,0},
+cd1711[]={40,26085,41,0},
+cd1712[]={40,26666,41,0},
+cd1713[]={40,26377,41,0},
+cd1714[]={40,31038,41,0},
+cd1715[]={40,21517,41,0},
+cd1716[]={40,29305,41,0},
+cd1717[]={40,36001,41,0},
+cd1718[]={40,31069,41,0},
+cd1719[]={40,21172,41,0},
+cd1720[]={40,20195,41,0},
+cd1721[]={40,21628,41,0},
+cd1722[]={40,23398,41,0},
+cd1723[]={40,30435,41,0},
+cd1724[]={40,20225,41,0},
+cd1725[]={40,36039,41,0},
+cd1726[]={40,21332,41,0},
+cd1727[]={40,31085,41,0},
+cd1728[]={40,20241,41,0},
+cd1729[]={40,33258,41,0},
+cd1730[]={40,33267,41,0},
+cd1731[]={80,84,69,0},
+cd1732[]={50,49,0},
+cd1733[]={50,50,0},
+cd1734[]={50,51,0},
+cd1735[]={50,52,0},
+cd1736[]={50,53,0},
+cd1737[]={50,54,0},
+cd1738[]={50,55,0},
+cd1739[]={50,56,0},
+cd1740[]={50,57,0},
+cd1741[]={51,48,0},
+cd1742[]={51,49,0},
+cd1743[]={51,50,0},
+cd1744[]={51,51,0},
+cd1745[]={51,52,0},
+cd1746[]={51,53,0},
+cd1747[]={4352,4449,0},
+cd1748[]={4354,4449,0},
+cd1749[]={4355,4449,0},
+cd1750[]={4357,4449,0},
+cd1751[]={4358,4449,0},
+cd1752[]={4359,4449,0},
+cd1753[]={4361,4449,0},
+cd1754[]={4363,4449,0},
+cd1755[]={4364,4449,0},
+cd1756[]={4366,4449,0},
+cd1757[]={4367,4449,0},
+cd1758[]={4368,4449,0},
+cd1759[]={4369,4449,0},
+cd1760[]={4370,4449,0},
+cd1761[]={4366,4449,4535,4352,4457,0},
+cd1762[]={4364,4462,4363,4468,0},
+cd1763[]={4363,4462,0},
+cd1764[]={20116,0},
+cd1765[]={20845,0},
+cd1766[]={19971,0},
+cd1767[]={20061,0},
+cd1768[]={26666,0},
+cd1769[]={26377,0},
+cd1770[]={31038,0},
+cd1771[]={21517,0},
+cd1772[]={29305,0},
+cd1773[]={36001,0},
+cd1774[]={31069,0},
+cd1775[]={21172,0},
+cd1776[]={31192,0},
+cd1777[]={30007,0},
+cd1778[]={36969,0},
+cd1779[]={20778,0},
+cd1780[]={21360,0},
+cd1781[]={27880,0},
+cd1782[]={38917,0},
+cd1783[]={20241,0},
+cd1784[]={20889,0},
+cd1785[]={27491,0},
+cd1786[]={24038,0},
+cd1787[]={21491,0},
+cd1788[]={21307,0},
+cd1789[]={23447,0},
+cd1790[]={23398,0},
+cd1791[]={30435,0},
+cd1792[]={20225,0},
+cd1793[]={36039,0},
+cd1794[]={21332,0},
+cd1795[]={22812,0},
+cd1796[]={51,54,0},
+cd1797[]={51,55,0},
+cd1798[]={51,56,0},
+cd1799[]={51,57,0},
+cd1800[]={52,48,0},
+cd1801[]={52,49,0},
+cd1802[]={52,50,0},
+cd1803[]={52,51,0},
+cd1804[]={52,52,0},
+cd1805[]={52,53,0},
+cd1806[]={52,54,0},
+cd1807[]={52,55,0},
+cd1808[]={52,56,0},
+cd1809[]={52,57,0},
+cd1810[]={53,48,0},
+cd1811[]={49,26376,0},
+cd1812[]={50,26376,0},
+cd1813[]={51,26376,0},
+cd1814[]={52,26376,0},
+cd1815[]={53,26376,0},
+cd1816[]={54,26376,0},
+cd1817[]={55,26376,0},
+cd1818[]={56,26376,0},
+cd1819[]={57,26376,0},
+cd1820[]={49,48,26376,0},
+cd1821[]={49,49,26376,0},
+cd1822[]={49,50,26376,0},
+cd1823[]={72,103,0},
+cd1824[]={101,114,103,0},
+cd1825[]={101,86,0},
+cd1826[]={76,84,68,0},
+cd1827[]={12450,0},
+cd1828[]={12452,0},
+cd1829[]={12454,0},
+cd1830[]={12456,0},
+cd1831[]={12458,0},
+cd1832[]={12459,0},
+cd1833[]={12461,0},
+cd1834[]={12463,0},
+cd1835[]={12465,0},
+cd1836[]={12467,0},
+cd1837[]={12469,0},
+cd1838[]={12471,0},
+cd1839[]={12473,0},
+cd1840[]={12475,0},
+cd1841[]={12477,0},
+cd1842[]={12479,0},
+cd1843[]={12481,0},
+cd1844[]={12484,0},
+cd1845[]={12486,0},
+cd1846[]={12488,0},
+cd1847[]={12490,0},
+cd1848[]={12491,0},
+cd1849[]={12492,0},
+cd1850[]={12493,0},
+cd1851[]={12494,0},
+cd1852[]={12495,0},
+cd1853[]={12498,0},
+cd1854[]={12501,0},
+cd1855[]={12504,0},
+cd1856[]={12507,0},
+cd1857[]={12510,0},
+cd1858[]={12511,0},
+cd1859[]={12512,0},
+cd1860[]={12513,0},
+cd1861[]={12514,0},
+cd1862[]={12516,0},
+cd1863[]={12518,0},
+cd1864[]={12520,0},
+cd1865[]={12521,0},
+cd1866[]={12522,0},
+cd1867[]={12523,0},
+cd1868[]={12524,0},
+cd1869[]={12525,0},
+cd1870[]={12527,0},
+cd1871[]={12528,0},
+cd1872[]={12529,0},
+cd1873[]={12530,0},
+cd1874[]={12450,12497,12540,12488,0},
+cd1875[]={12450,12523,12501,12449,0},
+cd1876[]={12450,12531,12506,12450,0},
+cd1877[]={12450,12540,12523,0},
+cd1878[]={12452,12491,12531,12464,0},
+cd1879[]={12452,12531,12481,0},
+cd1880[]={12454,12457,12531,0},
+cd1881[]={12456,12473,12463,12540,12489,0},
+cd1882[]={12456,12540,12459,12540,0},
+cd1883[]={12458,12531,12473,0},
+cd1884[]={12458,12540,12512,0},
+cd1885[]={12459,12452,12522,0},
+cd1886[]={12459,12521,12483,12488,0},
+cd1887[]={12459,12525,12522,12540,0},
+cd1888[]={12460,12525,12531,0},
+cd1889[]={12460,12531,12510,0},
+cd1890[]={12462,12460,0},
+cd1891[]={12462,12491,12540,0},
+cd1892[]={12461,12517,12522,12540,0},
+cd1893[]={12462,12523,12480,12540,0},
+cd1894[]={12461,12525,0},
+cd1895[]={12461,12525,12464,12521,12512,0},
+cd1896[]={12461,12525,12513,12540,12488,12523,0},
+cd1897[]={12461,12525,12527,12483,12488,0},
+cd1898[]={12464,12521,12512,0},
+cd1899[]={12464,12521,12512,12488,12531,0},
+cd1900[]={12463,12523,12476,12452,12525,0},
+cd1901[]={12463,12525,12540,12493,0},
+cd1902[]={12465,12540,12473,0},
+cd1903[]={12467,12523,12490,0},
+cd1904[]={12467,12540,12509,0},
+cd1905[]={12469,12452,12463,12523,0},
+cd1906[]={12469,12531,12481,12540,12512,0},
+cd1907[]={12471,12522,12531,12464,0},
+cd1908[]={12475,12531,12481,0},
+cd1909[]={12475,12531,12488,0},
+cd1910[]={12480,12540,12473,0},
+cd1911[]={12487,12471,0},
+cd1912[]={12489,12523,0},
+cd1913[]={12488,12531,0},
+cd1914[]={12490,12494,0},
+cd1915[]={12494,12483,12488,0},
+cd1916[]={12495,12452,12484,0},
+cd1917[]={12497,12540,12475,12531,12488,0},
+cd1918[]={12497,12540,12484,0},
+cd1919[]={12496,12540,12524,12523,0},
+cd1920[]={12500,12450,12473,12488,12523,0},
+cd1921[]={12500,12463,12523,0},
+cd1922[]={12500,12467,0},
+cd1923[]={12499,12523,0},
+cd1924[]={12501,12449,12521,12483,12489,0},
+cd1925[]={12501,12451,12540,12488,0},
+cd1926[]={12502,12483,12471,12455,12523,0},
+cd1927[]={12501,12521,12531,0},
+cd1928[]={12504,12463,12479,12540,12523,0},
+cd1929[]={12506,12477,0},
+cd1930[]={12506,12491,12498,0},
+cd1931[]={12504,12523,12484,0},
+cd1932[]={12506,12531,12473,0},
+cd1933[]={12506,12540,12472,0},
+cd1934[]={12505,12540,12479,0},
+cd1935[]={12509,12452,12531,12488,0},
+cd1936[]={12508,12523,12488,0},
+cd1937[]={12507,12531,0},
+cd1938[]={12509,12531,12489,0},
+cd1939[]={12507,12540,12523,0},
+cd1940[]={12507,12540,12531,0},
+cd1941[]={12510,12452,12463,12525,0},
+cd1942[]={12510,12452,12523,0},
+cd1943[]={12510,12483,12495,0},
+cd1944[]={12510,12523,12463,0},
+cd1945[]={12510,12531,12471,12519,12531,0},
+cd1946[]={12511,12463,12525,12531,0},
+cd1947[]={12511,12522,0},
+cd1948[]={12511,12522,12496,12540,12523,0},
+cd1949[]={12513,12460,0},
+cd1950[]={12513,12460,12488,12531,0},
+cd1951[]={12513,12540,12488,12523,0},
+cd1952[]={12516,12540,12489,0},
+cd1953[]={12516,12540,12523,0},
+cd1954[]={12518,12450,12531,0},
+cd1955[]={12522,12483,12488,12523,0},
+cd1956[]={12522,12521,0},
+cd1957[]={12523,12500,12540,0},
+cd1958[]={12523,12540,12502,12523,0},
+cd1959[]={12524,12512,0},
+cd1960[]={12524,12531,12488,12466,12531,0},
+cd1961[]={12527,12483,12488,0},
+cd1962[]={48,28857,0},
+cd1963[]={49,28857,0},
+cd1964[]={50,28857,0},
+cd1965[]={51,28857,0},
+cd1966[]={52,28857,0},
+cd1967[]={53,28857,0},
+cd1968[]={54,28857,0},
+cd1969[]={55,28857,0},
+cd1970[]={56,28857,0},
+cd1971[]={57,28857,0},
+cd1972[]={49,48,28857,0},
+cd1973[]={49,49,28857,0},
+cd1974[]={49,50,28857,0},
+cd1975[]={49,51,28857,0},
+cd1976[]={49,52,28857,0},
+cd1977[]={49,53,28857,0},
+cd1978[]={49,54,28857,0},
+cd1979[]={49,55,28857,0},
+cd1980[]={49,56,28857,0},
+cd1981[]={49,57,28857,0},
+cd1982[]={50,48,28857,0},
+cd1983[]={50,49,28857,0},
+cd1984[]={50,50,28857,0},
+cd1985[]={50,51,28857,0},
+cd1986[]={50,52,28857,0},
+cd1987[]={104,80,97,0},
+cd1988[]={100,97,0},
+cd1989[]={65,85,0},
+cd1990[]={98,97,114,0},
+cd1991[]={111,86,0},
+cd1992[]={112,99,0},
+cd1993[]={100,109,0},
+cd1994[]={100,109,178,0},
+cd1995[]={100,109,179,0},
+cd1996[]={73,85,0},
+cd1997[]={24179,25104,0},
+cd1998[]={26157,21644,0},
+cd1999[]={22823,27491,0},
+cd2000[]={26126,27835,0},
+cd2001[]={26666,24335,20250,31038,0},
+cd2002[]={112,65,0},
+cd2003[]={110,65,0},
+cd2004[]={956,65,0},
+cd2005[]={109,65,0},
+cd2006[]={107,65,0},
+cd2007[]={75,66,0},
+cd2008[]={77,66,0},
+cd2009[]={71,66,0},
+cd2010[]={99,97,108,0},
+cd2011[]={107,99,97,108,0},
+cd2012[]={112,70,0},
+cd2013[]={110,70,0},
+cd2014[]={956,70,0},
+cd2015[]={956,103,0},
+cd2016[]={109,103,0},
+cd2017[]={107,103,0},
+cd2018[]={72,122,0},
+cd2019[]={107,72,122,0},
+cd2020[]={77,72,122,0},
+cd2021[]={71,72,122,0},
+cd2022[]={84,72,122,0},
+cd2023[]={956,8467,0},
+cd2024[]={109,8467,0},
+cd2025[]={100,8467,0},
+cd2026[]={107,8467,0},
+cd2027[]={102,109,0},
+cd2028[]={110,109,0},
+cd2029[]={956,109,0},
+cd2030[]={109,109,0},
+cd2031[]={99,109,0},
+cd2032[]={107,109,0},
+cd2033[]={109,109,178,0},
+cd2034[]={99,109,178,0},
+cd2035[]={109,178,0},
+cd2036[]={107,109,178,0},
+cd2037[]={109,109,179,0},
+cd2038[]={99,109,179,0},
+cd2039[]={109,179,0},
+cd2040[]={107,109,179,0},
+cd2041[]={109,8725,115,0},
+cd2042[]={109,8725,115,178,0},
+cd2043[]={80,97,0},
+cd2044[]={107,80,97,0},
+cd2045[]={77,80,97,0},
+cd2046[]={71,80,97,0},
+cd2047[]={114,97,100,0},
+cd2048[]={114,97,100,8725,115,0},
+cd2049[]={114,97,100,8725,115,178,0},
+cd2050[]={112,115,0},
+cd2051[]={110,115,0},
+cd2052[]={956,115,0},
+cd2053[]={109,115,0},
+cd2054[]={112,86,0},
+cd2055[]={110,86,0},
+cd2056[]={956,86,0},
+cd2057[]={109,86,0},
+cd2058[]={107,86,0},
+cd2059[]={77,86,0},
+cd2060[]={112,87,0},
+cd2061[]={110,87,0},
+cd2062[]={956,87,0},
+cd2063[]={109,87,0},
+cd2064[]={107,87,0},
+cd2065[]={77,87,0},
+cd2066[]={107,937,0},
+cd2067[]={77,937,0},
+cd2068[]={97,46,109,46,0},
+cd2069[]={66,113,0},
+cd2070[]={99,99,0},
+cd2071[]={99,100,0},
+cd2072[]={67,8725,107,103,0},
+cd2073[]={67,111,46,0},
+cd2074[]={100,66,0},
+cd2075[]={71,121,0},
+cd2076[]={104,97,0},
+cd2077[]={72,80,0},
+cd2078[]={105,110,0},
+cd2079[]={75,75,0},
+cd2080[]={75,77,0},
+cd2081[]={107,116,0},
+cd2082[]={108,109,0},
+cd2083[]={108,110,0},
+cd2084[]={108,111,103,0},
+cd2085[]={108,120,0},
+cd2086[]={109,98,0},
+cd2087[]={109,105,108,0},
+cd2088[]={109,111,108,0},
+cd2089[]={80,72,0},
+cd2090[]={112,46,109,46,0},
+cd2091[]={80,80,77,0},
+cd2092[]={80,82,0},
+cd2093[]={115,114,0},
+cd2094[]={83,118,0},
+cd2095[]={87,98,0},
+cd2096[]={86,8725,109,0},
+cd2097[]={65,8725,109,0},
+cd2098[]={49,26085,0},
+cd2099[]={50,26085,0},
+cd2100[]={51,26085,0},
+cd2101[]={52,26085,0},
+cd2102[]={53,26085,0},
+cd2103[]={54,26085,0},
+cd2104[]={55,26085,0},
+cd2105[]={56,26085,0},
+cd2106[]={57,26085,0},
+cd2107[]={49,48,26085,0},
+cd2108[]={49,49,26085,0},
+cd2109[]={49,50,26085,0},
+cd2110[]={49,51,26085,0},
+cd2111[]={49,52,26085,0},
+cd2112[]={49,53,26085,0},
+cd2113[]={49,54,26085,0},
+cd2114[]={49,55,26085,0},
+cd2115[]={49,56,26085,0},
+cd2116[]={49,57,26085,0},
+cd2117[]={50,48,26085,0},
+cd2118[]={50,49,26085,0},
+cd2119[]={50,50,26085,0},
+cd2120[]={50,51,26085,0},
+cd2121[]={50,52,26085,0},
+cd2122[]={50,53,26085,0},
+cd2123[]={50,54,26085,0},
+cd2124[]={50,55,26085,0},
+cd2125[]={50,56,26085,0},
+cd2126[]={50,57,26085,0},
+cd2127[]={51,48,26085,0},
+cd2128[]={51,49,26085,0},
+cd2129[]={103,97,108,0},
+cd2130[]={35912,0},
+cd2131[]={26356,0},
+cd2132[]={36040,0},
+cd2133[]={28369,0},
+cd2134[]={20018,0},
+cd2135[]={21477,0},
+cd2136[]={22865,0},
+cd2137[]={21895,0},
+cd2138[]={22856,0},
+cd2139[]={25078,0},
+cd2140[]={30313,0},
+cd2141[]={32645,0},
+cd2142[]={34367,0},
+cd2143[]={34746,0},
+cd2144[]={35064,0},
+cd2145[]={37007,0},
+cd2146[]={27138,0},
+cd2147[]={27931,0},
+cd2148[]={28889,0},
+cd2149[]={29662,0},
+cd2150[]={33853,0},
+cd2151[]={37226,0},
+cd2152[]={39409,0},
+cd2153[]={20098,0},
+cd2154[]={21365,0},
+cd2155[]={27396,0},
+cd2156[]={29211,0},
+cd2157[]={34349,0},
+cd2158[]={40478,0},
+cd2159[]={23888,0},
+cd2160[]={28651,0},
+cd2161[]={34253,0},
+cd2162[]={35172,0},
+cd2163[]={25289,0},
+cd2164[]={33240,0},
+cd2165[]={34847,0},
+cd2166[]={24266,0},
+cd2167[]={26391,0},
+cd2168[]={28010,0},
+cd2169[]={29436,0},
+cd2170[]={37070,0},
+cd2171[]={20358,0},
+cd2172[]={20919,0},
+cd2173[]={21214,0},
+cd2174[]={25796,0},
+cd2175[]={27347,0},
+cd2176[]={29200,0},
+cd2177[]={30439,0},
+cd2178[]={34310,0},
+cd2179[]={34396,0},
+cd2180[]={36335,0},
+cd2181[]={38706,0},
+cd2182[]={39791,0},
+cd2183[]={40442,0},
+cd2184[]={30860,0},
+cd2185[]={31103,0},
+cd2186[]={32160,0},
+cd2187[]={33737,0},
+cd2188[]={37636,0},
+cd2189[]={35542,0},
+cd2190[]={22751,0},
+cd2191[]={24324,0},
+cd2192[]={31840,0},
+cd2193[]={32894,0},
+cd2194[]={29282,0},
+cd2195[]={30922,0},
+cd2196[]={36034,0},
+cd2197[]={38647,0},
+cd2198[]={22744,0},
+cd2199[]={23650,0},
+cd2200[]={27155,0},
+cd2201[]={28122,0},
+cd2202[]={28431,0},
+cd2203[]={32047,0},
+cd2204[]={32311,0},
+cd2205[]={38475,0},
+cd2206[]={21202,0},
+cd2207[]={32907,0},
+cd2208[]={20956,0},
+cd2209[]={20940,0},
+cd2210[]={31260,0},
+cd2211[]={32190,0},
+cd2212[]={33777,0},
+cd2213[]={38517,0},
+cd2214[]={35712,0},
+cd2215[]={25295,0},
+cd2216[]={35582,0},
+cd2217[]={20025,0},
+cd2218[]={23527,0},
+cd2219[]={24594,0},
+cd2220[]={29575,0},
+cd2221[]={30064,0},
+cd2222[]={21271,0},
+cd2223[]={30971,0},
+cd2224[]={20415,0},
+cd2225[]={24489,0},
+cd2226[]={19981,0},
+cd2227[]={27852,0},
+cd2228[]={25976,0},
+cd2229[]={32034,0},
+cd2230[]={21443,0},
+cd2231[]={22622,0},
+cd2232[]={30465,0},
+cd2233[]={33865,0},
+cd2234[]={35498,0},
+cd2235[]={27578,0},
+cd2236[]={27784,0},
+cd2237[]={25342,0},
+cd2238[]={33509,0},
+cd2239[]={25504,0},
+cd2240[]={30053,0},
+cd2241[]={20142,0},
+cd2242[]={20841,0},
+cd2243[]={20937,0},
+cd2244[]={26753,0},
+cd2245[]={31975,0},
+cd2246[]={33391,0},
+cd2247[]={35538,0},
+cd2248[]={37327,0},
+cd2249[]={21237,0},
+cd2250[]={21570,0},
+cd2251[]={24300,0},
+cd2252[]={26053,0},
+cd2253[]={28670,0},
+cd2254[]={31018,0},
+cd2255[]={38317,0},
+cd2256[]={39530,0},
+cd2257[]={40599,0},
+cd2258[]={40654,0},
+cd2259[]={26310,0},
+cd2260[]={27511,0},
+cd2261[]={36706,0},
+cd2262[]={24180,0},
+cd2263[]={24976,0},
+cd2264[]={25088,0},
+cd2265[]={25754,0},
+cd2266[]={28451,0},
+cd2267[]={29001,0},
+cd2268[]={29833,0},
+cd2269[]={31178,0},
+cd2270[]={32244,0},
+cd2271[]={32879,0},
+cd2272[]={36646,0},
+cd2273[]={34030,0},
+cd2274[]={36899,0},
+cd2275[]={37706,0},
+cd2276[]={21015,0},
+cd2277[]={21155,0},
+cd2278[]={21693,0},
+cd2279[]={28872,0},
+cd2280[]={35010,0},
+cd2281[]={24265,0},
+cd2282[]={24565,0},
+cd2283[]={25467,0},
+cd2284[]={27566,0},
+cd2285[]={31806,0},
+cd2286[]={29557,0},
+cd2287[]={20196,0},
+cd2288[]={22265,0},
+cd2289[]={23994,0},
+cd2290[]={24604,0},
+cd2291[]={29618,0},
+cd2292[]={29801,0},
+cd2293[]={32666,0},
+cd2294[]={32838,0},
+cd2295[]={37428,0},
+cd2296[]={38646,0},
+cd2297[]={38728,0},
+cd2298[]={38936,0},
+cd2299[]={20363,0},
+cd2300[]={31150,0},
+cd2301[]={37300,0},
+cd2302[]={38584,0},
+cd2303[]={24801,0},
+cd2304[]={20102,0},
+cd2305[]={20698,0},
+cd2306[]={23534,0},
+cd2307[]={23615,0},
+cd2308[]={26009,0},
+cd2309[]={29134,0},
+cd2310[]={30274,0},
+cd2311[]={34044,0},
+cd2312[]={36988,0},
+cd2313[]={26248,0},
+cd2314[]={38446,0},
+cd2315[]={21129,0},
+cd2316[]={26491,0},
+cd2317[]={26611,0},
+cd2318[]={27969,0},
+cd2319[]={28316,0},
+cd2320[]={29705,0},
+cd2321[]={30041,0},
+cd2322[]={30827,0},
+cd2323[]={32016,0},
+cd2324[]={39006,0},
+cd2325[]={25134,0},
+cd2326[]={38520,0},
+cd2327[]={20523,0},
+cd2328[]={23833,0},
+cd2329[]={28138,0},
+cd2330[]={36650,0},
+cd2331[]={24459,0},
+cd2332[]={24900,0},
+cd2333[]={26647,0},
+cd2334[]={38534,0},
+cd2335[]={21033,0},
+cd2336[]={21519,0},
+cd2337[]={23653,0},
+cd2338[]={26131,0},
+cd2339[]={26446,0},
+cd2340[]={26792,0},
+cd2341[]={27877,0},
+cd2342[]={29702,0},
+cd2343[]={30178,0},
+cd2344[]={32633,0},
+cd2345[]={35023,0},
+cd2346[]={35041,0},
+cd2347[]={38626,0},
+cd2348[]={21311,0},
+cd2349[]={28346,0},
+cd2350[]={21533,0},
+cd2351[]={29136,0},
+cd2352[]={29848,0},
+cd2353[]={34298,0},
+cd2354[]={38563,0},
+cd2355[]={40023,0},
+cd2356[]={40607,0},
+cd2357[]={26519,0},
+cd2358[]={28107,0},
+cd2359[]={33256,0},
+cd2360[]={31520,0},
+cd2361[]={31890,0},
+cd2362[]={29376,0},
+cd2363[]={28825,0},
+cd2364[]={35672,0},
+cd2365[]={20160,0},
+cd2366[]={33590,0},
+cd2367[]={21050,0},
+cd2368[]={20999,0},
+cd2369[]={24230,0},
+cd2370[]={25299,0},
+cd2371[]={31958,0},
+cd2372[]={23429,0},
+cd2373[]={27934,0},
+cd2374[]={26292,0},
+cd2375[]={36667,0},
+cd2376[]={38477,0},
+cd2377[]={24275,0},
+cd2378[]={20800,0},
+cd2379[]={21952,0},
+cd2380[]={22618,0},
+cd2381[]={26228,0},
+cd2382[]={20958,0},
+cd2383[]={29482,0},
+cd2384[]={30410,0},
+cd2385[]={31036,0},
+cd2386[]={31070,0},
+cd2387[]={31077,0},
+cd2388[]={31119,0},
+cd2389[]={38742,0},
+cd2390[]={31934,0},
+cd2391[]={34322,0},
+cd2392[]={35576,0},
+cd2393[]={36920,0},
+cd2394[]={37117,0},
+cd2395[]={39151,0},
+cd2396[]={39164,0},
+cd2397[]={39208,0},
+cd2398[]={40372,0},
+cd2399[]={20398,0},
+cd2400[]={20711,0},
+cd2401[]={20813,0},
+cd2402[]={21193,0},
+cd2403[]={21220,0},
+cd2404[]={21329,0},
+cd2405[]={21917,0},
+cd2406[]={22022,0},
+cd2407[]={22120,0},
+cd2408[]={22592,0},
+cd2409[]={22696,0},
+cd2410[]={23652,0},
+cd2411[]={24724,0},
+cd2412[]={24936,0},
+cd2413[]={24974,0},
+cd2414[]={25074,0},
+cd2415[]={25935,0},
+cd2416[]={26082,0},
+cd2417[]={26257,0},
+cd2418[]={26757,0},
+cd2419[]={28023,0},
+cd2420[]={28186,0},
+cd2421[]={28450,0},
+cd2422[]={29038,0},
+cd2423[]={29227,0},
+cd2424[]={29730,0},
+cd2425[]={30865,0},
+cd2426[]={31049,0},
+cd2427[]={31048,0},
+cd2428[]={31056,0},
+cd2429[]={31062,0},
+cd2430[]={31117,0},
+cd2431[]={31118,0},
+cd2432[]={31296,0},
+cd2433[]={31361,0},
+cd2434[]={31680,0},
+cd2435[]={32265,0},
+cd2436[]={32321,0},
+cd2437[]={32626,0},
+cd2438[]={32773,0},
+cd2439[]={33261,0},
+cd2440[]={33401,0},
+cd2441[]={33879,0},
+cd2442[]={35088,0},
+cd2443[]={35222,0},
+cd2444[]={35585,0},
+cd2445[]={35641,0},
+cd2446[]={36051,0},
+cd2447[]={36104,0},
+cd2448[]={36790,0},
+cd2449[]={38627,0},
+cd2450[]={38911,0},
+cd2451[]={38971,0},
+cd2452[]={20006,0},
+cd2453[]={20917,0},
+cd2454[]={20840,0},
+cd2455[]={20352,0},
+cd2456[]={20805,0},
+cd2457[]={20864,0},
+cd2458[]={21191,0},
+cd2459[]={21242,0},
+cd2460[]={21845,0},
+cd2461[]={21913,0},
+cd2462[]={21986,0},
+cd2463[]={22707,0},
+cd2464[]={22852,0},
+cd2465[]={22868,0},
+cd2466[]={23138,0},
+cd2467[]={23336,0},
+cd2468[]={24274,0},
+cd2469[]={24281,0},
+cd2470[]={24425,0},
+cd2471[]={24493,0},
+cd2472[]={24792,0},
+cd2473[]={24910,0},
+cd2474[]={24840,0},
+cd2475[]={24928,0},
+cd2476[]={25140,0},
+cd2477[]={25540,0},
+cd2478[]={25628,0},
+cd2479[]={25682,0},
+cd2480[]={25942,0},
+cd2481[]={26395,0},
+cd2482[]={26454,0},
+cd2483[]={28379,0},
+cd2484[]={28363,0},
+cd2485[]={28702,0},
+cd2486[]={30631,0},
+cd2487[]={29237,0},
+cd2488[]={29359,0},
+cd2489[]={29809,0},
+cd2490[]={29958,0},
+cd2491[]={30011,0},
+cd2492[]={30237,0},
+cd2493[]={30239,0},
+cd2494[]={30427,0},
+cd2495[]={30452,0},
+cd2496[]={30538,0},
+cd2497[]={30528,0},
+cd2498[]={30924,0},
+cd2499[]={31409,0},
+cd2500[]={31867,0},
+cd2501[]={32091,0},
+cd2502[]={32574,0},
+cd2503[]={33618,0},
+cd2504[]={33775,0},
+cd2505[]={34681,0},
+cd2506[]={35137,0},
+cd2507[]={35206,0},
+cd2508[]={35519,0},
+cd2509[]={35531,0},
+cd2510[]={35565,0},
+cd2511[]={35722,0},
+cd2512[]={36664,0},
+cd2513[]={36978,0},
+cd2514[]={37273,0},
+cd2515[]={37494,0},
+cd2516[]={38524,0},
+cd2517[]={38875,0},
+cd2518[]={38923,0},
+cd2519[]={39698,0},
+cd2520[]={141386,0},
+cd2521[]={141380,0},
+cd2522[]={144341,0},
+cd2523[]={15261,0},
+cd2524[]={16408,0},
+cd2525[]={16441,0},
+cd2526[]={152137,0},
+cd2527[]={154832,0},
+cd2528[]={163539,0},
+cd2529[]={40771,0},
+cd2530[]={40846,0},
+cd2531[]={102,102,0},
+cd2532[]={102,105,0},
+cd2533[]={102,108,0},
+cd2534[]={102,102,105,0},
+cd2535[]={102,102,108,0},
+cd2536[]={383,116,0},
+cd2537[]={115,116,0},
+cd2538[]={1396,1398,0},
+cd2539[]={1396,1381,0},
+cd2540[]={1396,1387,0},
+cd2541[]={1406,1398,0},
+cd2542[]={1396,1389,0},
+cd2543[]={1497,1460,0},
+cd2544[]={1522,1463,0},
+cd2545[]={1506,0},
+cd2546[]={1492,0},
+cd2547[]={1499,0},
+cd2548[]={1500,0},
+cd2549[]={1501,0},
+cd2550[]={1512,0},
+cd2551[]={1514,0},
+cd2552[]={1513,1473,0},
+cd2553[]={1513,1474,0},
+cd2554[]={64329,1473,0},
+cd2555[]={64329,1474,0},
+cd2556[]={1488,1463,0},
+cd2557[]={1488,1464,0},
+cd2558[]={1488,1468,0},
+cd2559[]={1489,1468,0},
+cd2560[]={1490,1468,0},
+cd2561[]={1491,1468,0},
+cd2562[]={1492,1468,0},
+cd2563[]={1493,1468,0},
+cd2564[]={1494,1468,0},
+cd2565[]={1496,1468,0},
+cd2566[]={1497,1468,0},
+cd2567[]={1498,1468,0},
+cd2568[]={1499,1468,0},
+cd2569[]={1500,1468,0},
+cd2570[]={1502,1468,0},
+cd2571[]={1504,1468,0},
+cd2572[]={1505,1468,0},
+cd2573[]={1507,1468,0},
+cd2574[]={1508,1468,0},
+cd2575[]={1510,1468,0},
+cd2576[]={1511,1468,0},
+cd2577[]={1512,1468,0},
+cd2578[]={1513,1468,0},
+cd2579[]={1514,1468,0},
+cd2580[]={1493,1465,0},
+cd2581[]={1489,1471,0},
+cd2582[]={1499,1471,0},
+cd2583[]={1508,1471,0},
+cd2584[]={1488,1500,0},
+cd2585[]={1649,0},
+cd2586[]={1659,0},
+cd2587[]={1662,0},
+cd2588[]={1664,0},
+cd2589[]={1658,0},
+cd2590[]={1663,0},
+cd2591[]={1657,0},
+cd2592[]={1700,0},
+cd2593[]={1702,0},
+cd2594[]={1668,0},
+cd2595[]={1667,0},
+cd2596[]={1670,0},
+cd2597[]={1671,0},
+cd2598[]={1677,0},
+cd2599[]={1676,0},
+cd2600[]={1678,0},
+cd2601[]={1672,0},
+cd2602[]={1688,0},
+cd2603[]={1681,0},
+cd2604[]={1705,0},
+cd2605[]={1711,0},
+cd2606[]={1715,0},
+cd2607[]={1713,0},
+cd2608[]={1722,0},
+cd2609[]={1723,0},
+cd2610[]={1728,0},
+cd2611[]={1729,0},
+cd2612[]={1726,0},
+cd2613[]={1746,0},
+cd2614[]={1747,0},
+cd2615[]={1709,0},
+cd2616[]={1735,0},
+cd2617[]={1734,0},
+cd2618[]={1736,0},
+cd2619[]={1655,0},
+cd2620[]={1739,0},
+cd2621[]={1733,0},
+cd2622[]={1737,0},
+cd2623[]={1744,0},
+cd2624[]={1609,0},
+cd2625[]={1574,1575,0},
+cd2626[]={1574,1749,0},
+cd2627[]={1574,1608,0},
+cd2628[]={1574,1735,0},
+cd2629[]={1574,1734,0},
+cd2630[]={1574,1736,0},
+cd2631[]={1574,1744,0},
+cd2632[]={1574,1609,0},
+cd2633[]={1740,0},
+cd2634[]={1574,1580,0},
+cd2635[]={1574,1581,0},
+cd2636[]={1574,1605,0},
+cd2637[]={1574,1610,0},
+cd2638[]={1576,1580,0},
+cd2639[]={1576,1581,0},
+cd2640[]={1576,1582,0},
+cd2641[]={1576,1605,0},
+cd2642[]={1576,1609,0},
+cd2643[]={1576,1610,0},
+cd2644[]={1578,1580,0},
+cd2645[]={1578,1581,0},
+cd2646[]={1578,1582,0},
+cd2647[]={1578,1605,0},
+cd2648[]={1578,1609,0},
+cd2649[]={1578,1610,0},
+cd2650[]={1579,1580,0},
+cd2651[]={1579,1605,0},
+cd2652[]={1579,1609,0},
+cd2653[]={1579,1610,0},
+cd2654[]={1580,1581,0},
+cd2655[]={1580,1605,0},
+cd2656[]={1581,1580,0},
+cd2657[]={1581,1605,0},
+cd2658[]={1582,1580,0},
+cd2659[]={1582,1581,0},
+cd2660[]={1582,1605,0},
+cd2661[]={1587,1580,0},
+cd2662[]={1587,1581,0},
+cd2663[]={1587,1582,0},
+cd2664[]={1587,1605,0},
+cd2665[]={1589,1581,0},
+cd2666[]={1589,1605,0},
+cd2667[]={1590,1580,0},
+cd2668[]={1590,1581,0},
+cd2669[]={1590,1582,0},
+cd2670[]={1590,1605,0},
+cd2671[]={1591,1581,0},
+cd2672[]={1591,1605,0},
+cd2673[]={1592,1605,0},
+cd2674[]={1593,1580,0},
+cd2675[]={1593,1605,0},
+cd2676[]={1594,1580,0},
+cd2677[]={1594,1605,0},
+cd2678[]={1601,1580,0},
+cd2679[]={1601,1581,0},
+cd2680[]={1601,1582,0},
+cd2681[]={1601,1605,0},
+cd2682[]={1601,1609,0},
+cd2683[]={1601,1610,0},
+cd2684[]={1602,1581,0},
+cd2685[]={1602,1605,0},
+cd2686[]={1602,1609,0},
+cd2687[]={1602,1610,0},
+cd2688[]={1603,1575,0},
+cd2689[]={1603,1580,0},
+cd2690[]={1603,1581,0},
+cd2691[]={1603,1582,0},
+cd2692[]={1603,1604,0},
+cd2693[]={1603,1605,0},
+cd2694[]={1603,1609,0},
+cd2695[]={1603,1610,0},
+cd2696[]={1604,1580,0},
+cd2697[]={1604,1581,0},
+cd2698[]={1604,1582,0},
+cd2699[]={1604,1605,0},
+cd2700[]={1604,1609,0},
+cd2701[]={1604,1610,0},
+cd2702[]={1605,1580,0},
+cd2703[]={1605,1581,0},
+cd2704[]={1605,1582,0},
+cd2705[]={1605,1605,0},
+cd2706[]={1605,1609,0},
+cd2707[]={1605,1610,0},
+cd2708[]={1606,1580,0},
+cd2709[]={1606,1581,0},
+cd2710[]={1606,1582,0},
+cd2711[]={1606,1605,0},
+cd2712[]={1606,1609,0},
+cd2713[]={1606,1610,0},
+cd2714[]={1607,1580,0},
+cd2715[]={1607,1605,0},
+cd2716[]={1607,1609,0},
+cd2717[]={1607,1610,0},
+cd2718[]={1610,1580,0},
+cd2719[]={1610,1581,0},
+cd2720[]={1610,1582,0},
+cd2721[]={1610,1605,0},
+cd2722[]={1610,1609,0},
+cd2723[]={1610,1610,0},
+cd2724[]={1584,1648,0},
+cd2725[]={1585,1648,0},
+cd2726[]={1609,1648,0},
+cd2727[]={32,1612,1617,0},
+cd2728[]={32,1613,1617,0},
+cd2729[]={32,1614,1617,0},
+cd2730[]={32,1615,1617,0},
+cd2731[]={32,1616,1617,0},
+cd2732[]={32,1617,1648,0},
+cd2733[]={1574,1585,0},
+cd2734[]={1574,1586,0},
+cd2735[]={1574,1606,0},
+cd2736[]={1576,1585,0},
+cd2737[]={1576,1586,0},
+cd2738[]={1576,1606,0},
+cd2739[]={1578,1585,0},
+cd2740[]={1578,1586,0},
+cd2741[]={1578,1606,0},
+cd2742[]={1579,1585,0},
+cd2743[]={1579,1586,0},
+cd2744[]={1579,1606,0},
+cd2745[]={1605,1575,0},
+cd2746[]={1606,1585,0},
+cd2747[]={1606,1586,0},
+cd2748[]={1606,1606,0},
+cd2749[]={1610,1585,0},
+cd2750[]={1610,1586,0},
+cd2751[]={1610,1606,0},
+cd2752[]={1574,1582,0},
+cd2753[]={1574,1607,0},
+cd2754[]={1576,1607,0},
+cd2755[]={1578,1607,0},
+cd2756[]={1589,1582,0},
+cd2757[]={1604,1607,0},
+cd2758[]={1606,1607,0},
+cd2759[]={1607,1648,0},
+cd2760[]={1610,1607,0},
+cd2761[]={1579,1607,0},
+cd2762[]={1587,1607,0},
+cd2763[]={1588,1605,0},
+cd2764[]={1588,1607,0},
+cd2765[]={1600,1614,1617,0},
+cd2766[]={1600,1615,1617,0},
+cd2767[]={1600,1616,1617,0},
+cd2768[]={1591,1609,0},
+cd2769[]={1591,1610,0},
+cd2770[]={1593,1609,0},
+cd2771[]={1593,1610,0},
+cd2772[]={1594,1609,0},
+cd2773[]={1594,1610,0},
+cd2774[]={1587,1609,0},
+cd2775[]={1587,1610,0},
+cd2776[]={1588,1609,0},
+cd2777[]={1588,1610,0},
+cd2778[]={1581,1609,0},
+cd2779[]={1581,1610,0},
+cd2780[]={1580,1609,0},
+cd2781[]={1580,1610,0},
+cd2782[]={1582,1609,0},
+cd2783[]={1582,1610,0},
+cd2784[]={1589,1609,0},
+cd2785[]={1589,1610,0},
+cd2786[]={1590,1609,0},
+cd2787[]={1590,1610,0},
+cd2788[]={1588,1580,0},
+cd2789[]={1588,1581,0},
+cd2790[]={1588,1582,0},
+cd2791[]={1588,1585,0},
+cd2792[]={1587,1585,0},
+cd2793[]={1589,1585,0},
+cd2794[]={1590,1585,0},
+cd2795[]={1575,1611,0},
+cd2796[]={1578,1580,1605,0},
+cd2797[]={1578,1581,1580,0},
+cd2798[]={1578,1581,1605,0},
+cd2799[]={1578,1582,1605,0},
+cd2800[]={1578,1605,1580,0},
+cd2801[]={1578,1605,1581,0},
+cd2802[]={1578,1605,1582,0},
+cd2803[]={1580,1605,1581,0},
+cd2804[]={1581,1605,1610,0},
+cd2805[]={1581,1605,1609,0},
+cd2806[]={1587,1581,1580,0},
+cd2807[]={1587,1580,1581,0},
+cd2808[]={1587,1580,1609,0},
+cd2809[]={1587,1605,1581,0},
+cd2810[]={1587,1605,1580,0},
+cd2811[]={1587,1605,1605,0},
+cd2812[]={1589,1581,1581,0},
+cd2813[]={1589,1605,1605,0},
+cd2814[]={1588,1581,1605,0},
+cd2815[]={1588,1580,1610,0},
+cd2816[]={1588,1605,1582,0},
+cd2817[]={1588,1605,1605,0},
+cd2818[]={1590,1581,1609,0},
+cd2819[]={1590,1582,1605,0},
+cd2820[]={1591,1605,1581,0},
+cd2821[]={1591,1605,1605,0},
+cd2822[]={1591,1605,1610,0},
+cd2823[]={1593,1580,1605,0},
+cd2824[]={1593,1605,1605,0},
+cd2825[]={1593,1605,1609,0},
+cd2826[]={1594,1605,1605,0},
+cd2827[]={1594,1605,1610,0},
+cd2828[]={1594,1605,1609,0},
+cd2829[]={1601,1582,1605,0},
+cd2830[]={1602,1605,1581,0},
+cd2831[]={1602,1605,1605,0},
+cd2832[]={1604,1581,1605,0},
+cd2833[]={1604,1581,1610,0},
+cd2834[]={1604,1581,1609,0},
+cd2835[]={1604,1580,1580,0},
+cd2836[]={1604,1582,1605,0},
+cd2837[]={1604,1605,1581,0},
+cd2838[]={1605,1581,1580,0},
+cd2839[]={1605,1581,1605,0},
+cd2840[]={1605,1581,1610,0},
+cd2841[]={1605,1580,1581,0},
+cd2842[]={1605,1580,1605,0},
+cd2843[]={1605,1582,1580,0},
+cd2844[]={1605,1582,1605,0},
+cd2845[]={1605,1580,1582,0},
+cd2846[]={1607,1605,1580,0},
+cd2847[]={1607,1605,1605,0},
+cd2848[]={1606,1581,1605,0},
+cd2849[]={1606,1581,1609,0},
+cd2850[]={1606,1580,1605,0},
+cd2851[]={1606,1580,1609,0},
+cd2852[]={1606,1605,1610,0},
+cd2853[]={1606,1605,1609,0},
+cd2854[]={1610,1605,1605,0},
+cd2855[]={1576,1582,1610,0},
+cd2856[]={1578,1580,1610,0},
+cd2857[]={1578,1580,1609,0},
+cd2858[]={1578,1582,1610,0},
+cd2859[]={1578,1582,1609,0},
+cd2860[]={1578,1605,1610,0},
+cd2861[]={1578,1605,1609,0},
+cd2862[]={1580,1605,1610,0},
+cd2863[]={1580,1581,1609,0},
+cd2864[]={1580,1605,1609,0},
+cd2865[]={1587,1582,1609,0},
+cd2866[]={1589,1581,1610,0},
+cd2867[]={1588,1581,1610,0},
+cd2868[]={1590,1581,1610,0},
+cd2869[]={1604,1580,1610,0},
+cd2870[]={1604,1605,1610,0},
+cd2871[]={1610,1581,1610,0},
+cd2872[]={1610,1580,1610,0},
+cd2873[]={1610,1605,1610,0},
+cd2874[]={1605,1605,1610,0},
+cd2875[]={1602,1605,1610,0},
+cd2876[]={1606,1581,1610,0},
+cd2877[]={1593,1605,1610,0},
+cd2878[]={1603,1605,1610,0},
+cd2879[]={1606,1580,1581,0},
+cd2880[]={1605,1582,1610,0},
+cd2881[]={1604,1580,1605,0},
+cd2882[]={1603,1605,1605,0},
+cd2883[]={1580,1581,1610,0},
+cd2884[]={1581,1580,1610,0},
+cd2885[]={1605,1580,1610,0},
+cd2886[]={1601,1605,1610,0},
+cd2887[]={1576,1581,1610,0},
+cd2888[]={1587,1582,1610,0},
+cd2889[]={1606,1580,1610,0},
+cd2890[]={1589,1604,1746,0},
+cd2891[]={1602,1604,1746,0},
+cd2892[]={1575,1604,1604,1607,0},
+cd2893[]={1575,1603,1576,1585,0},
+cd2894[]={1605,1581,1605,1583,0},
+cd2895[]={1589,1604,1593,1605,0},
+cd2896[]={1585,1587,1608,1604,0},
+cd2897[]={1593,1604,1610,1607,0},
+cd2898[]={1608,1587,1604,1605,0},
+cd2899[]={1589,1604,1609,0},
+cd2900[]={1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605,0},
+cd2901[]={1580,1604,32,1580,1604,1575,1604,1607,0},
+cd2902[]={1585,1740,1575,1604,0},
+cd2903[]={44,0},
+cd2904[]={12289,0},
+cd2905[]={12290,0},
+cd2906[]={58,0},
+cd2907[]={33,0},
+cd2908[]={63,0},
+cd2909[]={12310,0},
+cd2910[]={12311,0},
+cd2911[]={8230,0},
+cd2912[]={8229,0},
+cd2913[]={8212,0},
+cd2914[]={8211,0},
+cd2915[]={95,0},
+cd2916[]={123,0},
+cd2917[]={125,0},
+cd2918[]={12308,0},
+cd2919[]={12309,0},
+cd2920[]={12304,0},
+cd2921[]={12305,0},
+cd2922[]={12298,0},
+cd2923[]={12299,0},
+cd2924[]={12300,0},
+cd2925[]={12301,0},
+cd2926[]={12302,0},
+cd2927[]={12303,0},
+cd2928[]={91,0},
+cd2929[]={93,0},
+cd2930[]={8254,0},
+cd2931[]={35,0},
+cd2932[]={38,0},
+cd2933[]={42,0},
+cd2934[]={45,0},
+cd2935[]={60,0},
+cd2936[]={62,0},
+cd2937[]={92,0},
+cd2938[]={36,0},
+cd2939[]={37,0},
+cd2940[]={64,0},
+cd2941[]={32,1611,0},
+cd2942[]={1600,1611,0},
+cd2943[]={32,1612,0},
+cd2944[]={32,1613,0},
+cd2945[]={32,1614,0},
+cd2946[]={1600,1614,0},
+cd2947[]={32,1615,0},
+cd2948[]={1600,1615,0},
+cd2949[]={32,1616,0},
+cd2950[]={1600,1616,0},
+cd2951[]={32,1617,0},
+cd2952[]={1600,1617,0},
+cd2953[]={32,1618,0},
+cd2954[]={1600,1618,0},
+cd2955[]={1569,0},
+cd2956[]={1570,0},
+cd2957[]={1571,0},
+cd2958[]={1572,0},
+cd2959[]={1573,0},
+cd2960[]={1574,0},
+cd2961[]={1575,0},
+cd2962[]={1576,0},
+cd2963[]={1577,0},
+cd2964[]={1578,0},
+cd2965[]={1579,0},
+cd2966[]={1580,0},
+cd2967[]={1581,0},
+cd2968[]={1582,0},
+cd2969[]={1583,0},
+cd2970[]={1584,0},
+cd2971[]={1585,0},
+cd2972[]={1586,0},
+cd2973[]={1587,0},
+cd2974[]={1588,0},
+cd2975[]={1589,0},
+cd2976[]={1590,0},
+cd2977[]={1591,0},
+cd2978[]={1592,0},
+cd2979[]={1593,0},
+cd2980[]={1594,0},
+cd2981[]={1601,0},
+cd2982[]={1602,0},
+cd2983[]={1603,0},
+cd2984[]={1604,0},
+cd2985[]={1605,0},
+cd2986[]={1606,0},
+cd2987[]={1607,0},
+cd2988[]={1608,0},
+cd2989[]={1610,0},
+cd2990[]={1604,1570,0},
+cd2991[]={1604,1571,0},
+cd2992[]={1604,1573,0},
+cd2993[]={1604,1575,0},
+cd2994[]={34,0},
+cd2995[]={39,0},
+cd2996[]={47,0},
+cd2997[]={94,0},
+cd2998[]={124,0},
+cd2999[]={126,0},
+cd3000[]={10629,0},
+cd3001[]={10630,0},
+cd3002[]={12539,0},
+cd3003[]={12449,0},
+cd3004[]={12451,0},
+cd3005[]={12453,0},
+cd3006[]={12455,0},
+cd3007[]={12457,0},
+cd3008[]={12515,0},
+cd3009[]={12517,0},
+cd3010[]={12519,0},
+cd3011[]={12483,0},
+cd3012[]={12540,0},
+cd3013[]={12531,0},
+cd3014[]={12441,0},
+cd3015[]={12442,0},
+cd3016[]={12644,0},
+cd3017[]={12593,0},
+cd3018[]={12594,0},
+cd3019[]={12595,0},
+cd3020[]={12596,0},
+cd3021[]={12597,0},
+cd3022[]={12598,0},
+cd3023[]={12599,0},
+cd3024[]={12600,0},
+cd3025[]={12601,0},
+cd3026[]={12602,0},
+cd3027[]={12603,0},
+cd3028[]={12604,0},
+cd3029[]={12605,0},
+cd3030[]={12606,0},
+cd3031[]={12607,0},
+cd3032[]={12608,0},
+cd3033[]={12609,0},
+cd3034[]={12610,0},
+cd3035[]={12611,0},
+cd3036[]={12612,0},
+cd3037[]={12613,0},
+cd3038[]={12614,0},
+cd3039[]={12615,0},
+cd3040[]={12616,0},
+cd3041[]={12617,0},
+cd3042[]={12618,0},
+cd3043[]={12619,0},
+cd3044[]={12620,0},
+cd3045[]={12621,0},
+cd3046[]={12622,0},
+cd3047[]={12623,0},
+cd3048[]={12624,0},
+cd3049[]={12625,0},
+cd3050[]={12626,0},
+cd3051[]={12627,0},
+cd3052[]={12628,0},
+cd3053[]={12629,0},
+cd3054[]={12630,0},
+cd3055[]={12631,0},
+cd3056[]={12632,0},
+cd3057[]={12633,0},
+cd3058[]={12634,0},
+cd3059[]={12635,0},
+cd3060[]={12636,0},
+cd3061[]={12637,0},
+cd3062[]={12638,0},
+cd3063[]={12639,0},
+cd3064[]={12640,0},
+cd3065[]={12641,0},
+cd3066[]={12642,0},
+cd3067[]={12643,0},
+cd3068[]={162,0},
+cd3069[]={163,0},
+cd3070[]={172,0},
+cd3071[]={175,0},
+cd3072[]={166,0},
+cd3073[]={165,0},
+cd3074[]={8361,0},
+cd3075[]={9474,0},
+cd3076[]={8592,0},
+cd3077[]={8593,0},
+cd3078[]={8594,0},
+cd3079[]={8595,0},
+cd3080[]={9632,0},
+cd3081[]={9675,0},
+cd3082[]={119127,119141,0},
+cd3083[]={119128,119141,0},
+cd3084[]={119135,119150,0},
+cd3085[]={119135,119151,0},
+cd3086[]={119135,119152,0},
+cd3087[]={119135,119153,0},
+cd3088[]={119135,119154,0},
+cd3089[]={119225,119141,0},
+cd3090[]={119226,119141,0},
+cd3091[]={119227,119150,0},
+cd3092[]={119228,119150,0},
+cd3093[]={119227,119151,0},
+cd3094[]={119228,119151,0},
+cd3095[]={305,0},
+cd3096[]={567,0},
+cd3097[]={913,0},
+cd3098[]={914,0},
+cd3099[]={916,0},
+cd3100[]={917,0},
+cd3101[]={918,0},
+cd3102[]={919,0},
+cd3103[]={921,0},
+cd3104[]={922,0},
+cd3105[]={923,0},
+cd3106[]={924,0},
+cd3107[]={925,0},
+cd3108[]={926,0},
+cd3109[]={927,0},
+cd3110[]={929,0},
+cd3111[]={1012,0},
+cd3112[]={932,0},
+cd3113[]={934,0},
+cd3114[]={935,0},
+cd3115[]={936,0},
+cd3116[]={8711,0},
+cd3117[]={945,0},
+cd3118[]={950,0},
+cd3119[]={951,0},
+cd3120[]={955,0},
+cd3121[]={957,0},
+cd3122[]={958,0},
+cd3123[]={959,0},
+cd3124[]={963,0},
+cd3125[]={964,0},
+cd3126[]={965,0},
+cd3127[]={968,0},
+cd3128[]={969,0},
+cd3129[]={8706,0},
+cd3130[]={1013,0},
+cd3131[]={977,0},
+cd3132[]={1008,0},
+cd3133[]={981,0},
+cd3134[]={1009,0},
+cd3135[]={982,0},
+cd3136[]={988,0},
+cd3137[]={989,0},
+cd3138[]={20029,0},
+cd3139[]={20024,0},
+cd3140[]={20033,0},
+cd3141[]={131362,0},
+cd3142[]={20320,0},
+cd3143[]={20411,0},
+cd3144[]={20482,0},
+cd3145[]={20602,0},
+cd3146[]={20633,0},
+cd3147[]={20687,0},
+cd3148[]={13470,0},
+cd3149[]={132666,0},
+cd3150[]={20820,0},
+cd3151[]={20836,0},
+cd3152[]={20855,0},
+cd3153[]={132380,0},
+cd3154[]={13497,0},
+cd3155[]={20839,0},
+cd3156[]={20877,0},
+cd3157[]={132427,0},
+cd3158[]={20887,0},
+cd3159[]={20900,0},
+cd3160[]={20172,0},
+cd3161[]={20908,0},
+cd3162[]={168415,0},
+cd3163[]={20995,0},
+cd3164[]={13535,0},
+cd3165[]={21051,0},
+cd3166[]={21062,0},
+cd3167[]={21106,0},
+cd3168[]={21111,0},
+cd3169[]={13589,0},
+cd3170[]={21253,0},
+cd3171[]={21254,0},
+cd3172[]={21321,0},
+cd3173[]={21338,0},
+cd3174[]={21363,0},
+cd3175[]={21373,0},
+cd3176[]={21375,0},
+cd3177[]={133676,0},
+cd3178[]={28784,0},
+cd3179[]={21450,0},
+cd3180[]={21471,0},
+cd3181[]={133987,0},
+cd3182[]={21483,0},
+cd3183[]={21489,0},
+cd3184[]={21510,0},
+cd3185[]={21662,0},
+cd3186[]={21560,0},
+cd3187[]={21576,0},
+cd3188[]={21608,0},
+cd3189[]={21666,0},
+cd3190[]={21750,0},
+cd3191[]={21776,0},
+cd3192[]={21843,0},
+cd3193[]={21859,0},
+cd3194[]={21892,0},
+cd3195[]={21931,0},
+cd3196[]={21939,0},
+cd3197[]={21954,0},
+cd3198[]={22294,0},
+cd3199[]={22295,0},
+cd3200[]={22097,0},
+cd3201[]={22132,0},
+cd3202[]={22766,0},
+cd3203[]={22478,0},
+cd3204[]={22516,0},
+cd3205[]={22541,0},
+cd3206[]={22411,0},
+cd3207[]={22578,0},
+cd3208[]={22577,0},
+cd3209[]={22700,0},
+cd3210[]={136420,0},
+cd3211[]={22770,0},
+cd3212[]={22775,0},
+cd3213[]={22790,0},
+cd3214[]={22810,0},
+cd3215[]={22818,0},
+cd3216[]={22882,0},
+cd3217[]={136872,0},
+cd3218[]={136938,0},
+cd3219[]={23020,0},
+cd3220[]={23067,0},
+cd3221[]={23079,0},
+cd3222[]={23000,0},
+cd3223[]={23142,0},
+cd3224[]={14062,0},
+cd3225[]={14076,0},
+cd3226[]={23304,0},
+cd3227[]={23358,0},
+cd3228[]={137672,0},
+cd3229[]={23491,0},
+cd3230[]={23512,0},
+cd3231[]={23539,0},
+cd3232[]={138008,0},
+cd3233[]={23551,0},
+cd3234[]={23558,0},
+cd3235[]={24403,0},
+cd3236[]={14209,0},
+cd3237[]={23648,0},
+cd3238[]={23744,0},
+cd3239[]={23693,0},
+cd3240[]={138724,0},
+cd3241[]={23875,0},
+cd3242[]={138726,0},
+cd3243[]={23918,0},
+cd3244[]={23915,0},
+cd3245[]={23932,0},
+cd3246[]={24033,0},
+cd3247[]={24034,0},
+cd3248[]={14383,0},
+cd3249[]={24061,0},
+cd3250[]={24104,0},
+cd3251[]={24125,0},
+cd3252[]={24169,0},
+cd3253[]={14434,0},
+cd3254[]={139651,0},
+cd3255[]={14460,0},
+cd3256[]={24240,0},
+cd3257[]={24243,0},
+cd3258[]={24246,0},
+cd3259[]={172946,0},
+cd3260[]={140081,0},
+cd3261[]={33281,0},
+cd3262[]={24354,0},
+cd3263[]={14535,0},
+cd3264[]={144056,0},
+cd3265[]={156122,0},
+cd3266[]={24418,0},
+cd3267[]={24427,0},
+cd3268[]={14563,0},
+cd3269[]={24474,0},
+cd3270[]={24525,0},
+cd3271[]={24535,0},
+cd3272[]={24569,0},
+cd3273[]={24705,0},
+cd3274[]={14650,0},
+cd3275[]={14620,0},
+cd3276[]={141012,0},
+cd3277[]={24775,0},
+cd3278[]={24904,0},
+cd3279[]={24908,0},
+cd3280[]={24954,0},
+cd3281[]={25010,0},
+cd3282[]={24996,0},
+cd3283[]={25007,0},
+cd3284[]={25054,0},
+cd3285[]={25104,0},
+cd3286[]={25115,0},
+cd3287[]={25181,0},
+cd3288[]={25265,0},
+cd3289[]={25300,0},
+cd3290[]={25424,0},
+cd3291[]={142092,0},
+cd3292[]={25405,0},
+cd3293[]={25340,0},
+cd3294[]={25448,0},
+cd3295[]={25475,0},
+cd3296[]={25572,0},
+cd3297[]={142321,0},
+cd3298[]={25634,0},
+cd3299[]={25541,0},
+cd3300[]={25513,0},
+cd3301[]={14894,0},
+cd3302[]={25705,0},
+cd3303[]={25726,0},
+cd3304[]={25757,0},
+cd3305[]={25719,0},
+cd3306[]={14956,0},
+cd3307[]={25964,0},
+cd3308[]={143370,0},
+cd3309[]={26083,0},
+cd3310[]={26360,0},
+cd3311[]={26185,0},
+cd3312[]={15129,0},
+cd3313[]={15112,0},
+cd3314[]={15076,0},
+cd3315[]={20882,0},
+cd3316[]={20885,0},
+cd3317[]={26368,0},
+cd3318[]={26268,0},
+cd3319[]={32941,0},
+cd3320[]={17369,0},
+cd3321[]={26401,0},
+cd3322[]={26462,0},
+cd3323[]={26451,0},
+cd3324[]={144323,0},
+cd3325[]={15177,0},
+cd3326[]={26618,0},
+cd3327[]={26501,0},
+cd3328[]={26706,0},
+cd3329[]={144493,0},
+cd3330[]={26766,0},
+cd3331[]={26655,0},
+cd3332[]={26900,0},
+cd3333[]={26946,0},
+cd3334[]={27043,0},
+cd3335[]={27114,0},
+cd3336[]={27304,0},
+cd3337[]={145059,0},
+cd3338[]={27355,0},
+cd3339[]={15384,0},
+cd3340[]={27425,0},
+cd3341[]={145575,0},
+cd3342[]={27476,0},
+cd3343[]={15438,0},
+cd3344[]={27506,0},
+cd3345[]={27551,0},
+cd3346[]={27579,0},
+cd3347[]={146061,0},
+cd3348[]={138507,0},
+cd3349[]={146170,0},
+cd3350[]={27726,0},
+cd3351[]={146620,0},
+cd3352[]={27839,0},
+cd3353[]={27853,0},
+cd3354[]={27751,0},
+cd3355[]={27926,0},
+cd3356[]={27966,0},
+cd3357[]={28009,0},
+cd3358[]={28024,0},
+cd3359[]={28037,0},
+cd3360[]={146718,0},
+cd3361[]={27956,0},
+cd3362[]={28207,0},
+cd3363[]={28270,0},
+cd3364[]={15667,0},
+cd3365[]={28359,0},
+cd3366[]={147153,0},
+cd3367[]={28153,0},
+cd3368[]={28526,0},
+cd3369[]={147294,0},
+cd3370[]={147342,0},
+cd3371[]={28614,0},
+cd3372[]={28729,0},
+cd3373[]={28699,0},
+cd3374[]={15766,0},
+cd3375[]={28746,0},
+cd3376[]={28797,0},
+cd3377[]={28791,0},
+cd3378[]={28845,0},
+cd3379[]={132389,0},
+cd3380[]={28997,0},
+cd3381[]={148067,0},
+cd3382[]={29084,0},
+cd3383[]={148395,0},
+cd3384[]={29224,0},
+cd3385[]={29264,0},
+cd3386[]={149000,0},
+cd3387[]={29312,0},
+cd3388[]={29333,0},
+cd3389[]={149301,0},
+cd3390[]={149524,0},
+cd3391[]={29562,0},
+cd3392[]={29579,0},
+cd3393[]={16044,0},
+cd3394[]={29605,0},
+cd3395[]={16056,0},
+cd3396[]={29767,0},
+cd3397[]={29788,0},
+cd3398[]={29829,0},
+cd3399[]={29898,0},
+cd3400[]={16155,0},
+cd3401[]={29988,0},
+cd3402[]={150582,0},
+cd3403[]={30014,0},
+cd3404[]={150674,0},
+cd3405[]={139679,0},
+cd3406[]={30224,0},
+cd3407[]={151457,0},
+cd3408[]={151480,0},
+cd3409[]={151620,0},
+cd3410[]={16380,0},
+cd3411[]={16392,0},
+cd3412[]={151795,0},
+cd3413[]={151794,0},
+cd3414[]={151833,0},
+cd3415[]={151859,0},
+cd3416[]={30494,0},
+cd3417[]={30495,0},
+cd3418[]={30603,0},
+cd3419[]={16454,0},
+cd3420[]={16534,0},
+cd3421[]={152605,0},
+cd3422[]={30798,0},
+cd3423[]={16611,0},
+cd3424[]={153126,0},
+cd3425[]={153242,0},
+cd3426[]={153285,0},
+cd3427[]={31211,0},
+cd3428[]={16687,0},
+cd3429[]={31306,0},
+cd3430[]={31311,0},
+cd3431[]={153980,0},
+cd3432[]={154279,0},
+cd3433[]={31470,0},
+cd3434[]={16898,0},
+cd3435[]={154539,0},
+cd3436[]={31686,0},
+cd3437[]={31689,0},
+cd3438[]={16935,0},
+cd3439[]={154752,0},
+cd3440[]={31954,0},
+cd3441[]={17056,0},
+cd3442[]={31976,0},
+cd3443[]={31971,0},
+cd3444[]={32000,0},
+cd3445[]={155526,0},
+cd3446[]={32099,0},
+cd3447[]={17153,0},
+cd3448[]={32199,0},
+cd3449[]={32258,0},
+cd3450[]={32325,0},
+cd3451[]={17204,0},
+cd3452[]={156200,0},
+cd3453[]={156231,0},
+cd3454[]={17241,0},
+cd3455[]={156377,0},
+cd3456[]={32634,0},
+cd3457[]={156478,0},
+cd3458[]={32661,0},
+cd3459[]={32762,0},
+cd3460[]={156890,0},
+cd3461[]={156963,0},
+cd3462[]={32864,0},
+cd3463[]={157096,0},
+cd3464[]={32880,0},
+cd3465[]={144223,0},
+cd3466[]={17365,0},
+cd3467[]={32946,0},
+cd3468[]={33027,0},
+cd3469[]={17419,0},
+cd3470[]={33086,0},
+cd3471[]={23221,0},
+cd3472[]={157607,0},
+cd3473[]={157621,0},
+cd3474[]={144275,0},
+cd3475[]={144284,0},
+cd3476[]={33284,0},
+cd3477[]={36766,0},
+cd3478[]={17515,0},
+cd3479[]={33425,0},
+cd3480[]={33419,0},
+cd3481[]={33437,0},
+cd3482[]={21171,0},
+cd3483[]={33457,0},
+cd3484[]={33459,0},
+cd3485[]={33469,0},
+cd3486[]={33510,0},
+cd3487[]={158524,0},
+cd3488[]={33565,0},
+cd3489[]={33635,0},
+cd3490[]={33709,0},
+cd3491[]={33571,0},
+cd3492[]={33725,0},
+cd3493[]={33767,0},
+cd3494[]={33619,0},
+cd3495[]={33738,0},
+cd3496[]={33740,0},
+cd3497[]={33756,0},
+cd3498[]={158774,0},
+cd3499[]={159083,0},
+cd3500[]={158933,0},
+cd3501[]={17707,0},
+cd3502[]={34033,0},
+cd3503[]={34035,0},
+cd3504[]={34070,0},
+cd3505[]={160714,0},
+cd3506[]={34148,0},
+cd3507[]={159532,0},
+cd3508[]={17757,0},
+cd3509[]={17761,0},
+cd3510[]={159665,0},
+cd3511[]={159954,0},
+cd3512[]={17771,0},
+cd3513[]={34384,0},
+cd3514[]={34407,0},
+cd3515[]={34409,0},
+cd3516[]={34473,0},
+cd3517[]={34440,0},
+cd3518[]={34574,0},
+cd3519[]={34530,0},
+cd3520[]={34600,0},
+cd3521[]={34667,0},
+cd3522[]={34694,0},
+cd3523[]={17879,0},
+cd3524[]={34785,0},
+cd3525[]={34817,0},
+cd3526[]={17913,0},
+cd3527[]={34912,0},
+cd3528[]={161383,0},
+cd3529[]={35031,0},
+cd3530[]={35038,0},
+cd3531[]={17973,0},
+cd3532[]={35066,0},
+cd3533[]={13499,0},
+cd3534[]={161966,0},
+cd3535[]={162150,0},
+cd3536[]={18110,0},
+cd3537[]={18119,0},
+cd3538[]={35488,0},
+cd3539[]={162984,0},
+cd3540[]={36011,0},
+cd3541[]={36033,0},
+cd3542[]={36123,0},
+cd3543[]={36215,0},
+cd3544[]={163631,0},
+cd3545[]={133124,0},
+cd3546[]={36299,0},
+cd3547[]={36284,0},
+cd3548[]={36336,0},
+cd3549[]={133342,0},
+cd3550[]={36564,0},
+cd3551[]={165330,0},
+cd3552[]={165357,0},
+cd3553[]={37012,0},
+cd3554[]={37105,0},
+cd3555[]={37137,0},
+cd3556[]={165678,0},
+cd3557[]={37147,0},
+cd3558[]={37432,0},
+cd3559[]={37591,0},
+cd3560[]={37592,0},
+cd3561[]={37500,0},
+cd3562[]={37881,0},
+cd3563[]={37909,0},
+cd3564[]={166906,0},
+cd3565[]={38283,0},
+cd3566[]={18837,0},
+cd3567[]={38327,0},
+cd3568[]={167287,0},
+cd3569[]={18918,0},
+cd3570[]={38595,0},
+cd3571[]={23986,0},
+cd3572[]={38691,0},
+cd3573[]={168261,0},
+cd3574[]={168474,0},
+cd3575[]={19054,0},
+cd3576[]={19062,0},
+cd3577[]={38880,0},
+cd3578[]={168970,0},
+cd3579[]={19122,0},
+cd3580[]={169110,0},
+cd3581[]={38953,0},
+cd3582[]={169398,0},
+cd3583[]={39138,0},
+cd3584[]={19251,0},
+cd3585[]={39209,0},
+cd3586[]={39335,0},
+cd3587[]={39362,0},
+cd3588[]={39422,0},
+cd3589[]={19406,0},
+cd3590[]={170800,0},
+cd3591[]={40000,0},
+cd3592[]={40189,0},
+cd3593[]={19662,0},
+cd3594[]={19693,0},
+cd3595[]={40295,0},
+cd3596[]={172238,0},
+cd3597[]={19704,0},
+cd3598[]={172293,0},
+cd3599[]={172558,0},
+cd3600[]={172689,0},
+cd3601[]={19798,0},
+cd3602[]={40702,0},
+cd3603[]={40709,0},
+cd3604[]={40719,0},
+cd3605[]={40726,0},
+cd3606[]={173568,0};
+static const uint32_t cf0[]={97,0},
+cf1[]={98,0},
+cf2[]={99,0},
+cf3[]={100,0},
+cf4[]={101,0},
+cf5[]={102,0},
+cf6[]={103,0},
+cf7[]={104,0},
+cf8[]={105,0},
+cf9[]={106,0},
+cf10[]={107,0},
+cf11[]={108,0},
+cf12[]={109,0},
+cf13[]={110,0},
+cf14[]={111,0},
+cf15[]={112,0},
+cf16[]={113,0},
+cf17[]={114,0},
+cf18[]={115,0},
+cf19[]={116,0},
+cf20[]={117,0},
+cf21[]={118,0},
+cf22[]={119,0},
+cf23[]={120,0},
+cf24[]={121,0},
+cf25[]={122,0},
+cf26[]={956,0},
+cf27[]={224,0},
+cf28[]={225,0},
+cf29[]={226,0},
+cf30[]={227,0},
+cf31[]={228,0},
+cf32[]={229,0},
+cf33[]={230,0},
+cf34[]={231,0},
+cf35[]={232,0},
+cf36[]={233,0},
+cf37[]={234,0},
+cf38[]={235,0},
+cf39[]={236,0},
+cf40[]={237,0},
+cf41[]={238,0},
+cf42[]={239,0},
+cf43[]={240,0},
+cf44[]={241,0},
+cf45[]={242,0},
+cf46[]={243,0},
+cf47[]={244,0},
+cf48[]={245,0},
+cf49[]={246,0},
+cf50[]={248,0},
+cf51[]={249,0},
+cf52[]={250,0},
+cf53[]={251,0},
+cf54[]={252,0},
+cf55[]={253,0},
+cf56[]={254,0},
+cf57[]={115,115,0},
+cf58[]={257,0},
+cf59[]={259,0},
+cf60[]={261,0},
+cf61[]={263,0},
+cf62[]={265,0},
+cf63[]={267,0},
+cf64[]={269,0},
+cf65[]={271,0},
+cf66[]={273,0},
+cf67[]={275,0},
+cf68[]={277,0},
+cf69[]={279,0},
+cf70[]={281,0},
+cf71[]={283,0},
+cf72[]={285,0},
+cf73[]={287,0},
+cf74[]={289,0},
+cf75[]={291,0},
+cf76[]={293,0},
+cf77[]={295,0},
+cf78[]={297,0},
+cf79[]={299,0},
+cf80[]={301,0},
+cf81[]={303,0},
+cf82[]={105,775,0},
+cf83[]={307,0},
+cf84[]={309,0},
+cf85[]={311,0},
+cf86[]={314,0},
+cf87[]={316,0},
+cf88[]={318,0},
+cf89[]={320,0},
+cf90[]={322,0},
+cf91[]={324,0},
+cf92[]={326,0},
+cf93[]={328,0},
+cf94[]={700,110,0},
+cf95[]={331,0},
+cf96[]={333,0},
+cf97[]={335,0},
+cf98[]={337,0},
+cf99[]={339,0},
+cf100[]={341,0},
+cf101[]={343,0},
+cf102[]={345,0},
+cf103[]={347,0},
+cf104[]={349,0},
+cf105[]={351,0},
+cf106[]={353,0},
+cf107[]={355,0},
+cf108[]={357,0},
+cf109[]={359,0},
+cf110[]={361,0},
+cf111[]={363,0},
+cf112[]={365,0},
+cf113[]={367,0},
+cf114[]={369,0},
+cf115[]={371,0},
+cf116[]={373,0},
+cf117[]={375,0},
+cf118[]={255,0},
+cf119[]={378,0},
+cf120[]={380,0},
+cf121[]={382,0},
+cf122[]={595,0},
+cf123[]={387,0},
+cf124[]={389,0},
+cf125[]={596,0},
+cf126[]={392,0},
+cf127[]={598,0},
+cf128[]={599,0},
+cf129[]={396,0},
+cf130[]={477,0},
+cf131[]={601,0},
+cf132[]={603,0},
+cf133[]={402,0},
+cf134[]={608,0},
+cf135[]={611,0},
+cf136[]={617,0},
+cf137[]={616,0},
+cf138[]={409,0},
+cf139[]={623,0},
+cf140[]={626,0},
+cf141[]={629,0},
+cf142[]={417,0},
+cf143[]={419,0},
+cf144[]={421,0},
+cf145[]={640,0},
+cf146[]={424,0},
+cf147[]={643,0},
+cf148[]={429,0},
+cf149[]={648,0},
+cf150[]={432,0},
+cf151[]={650,0},
+cf152[]={651,0},
+cf153[]={436,0},
+cf154[]={438,0},
+cf155[]={658,0},
+cf156[]={441,0},
+cf157[]={445,0},
+cf158[]={454,0},
+cf159[]={457,0},
+cf160[]={460,0},
+cf161[]={462,0},
+cf162[]={464,0},
+cf163[]={466,0},
+cf164[]={468,0},
+cf165[]={470,0},
+cf166[]={472,0},
+cf167[]={474,0},
+cf168[]={476,0},
+cf169[]={479,0},
+cf170[]={481,0},
+cf171[]={483,0},
+cf172[]={485,0},
+cf173[]={487,0},
+cf174[]={489,0},
+cf175[]={491,0},
+cf176[]={493,0},
+cf177[]={495,0},
+cf178[]={106,780,0},
+cf179[]={499,0},
+cf180[]={501,0},
+cf181[]={405,0},
+cf182[]={447,0},
+cf183[]={505,0},
+cf184[]={507,0},
+cf185[]={509,0},
+cf186[]={511,0},
+cf187[]={513,0},
+cf188[]={515,0},
+cf189[]={517,0},
+cf190[]={519,0},
+cf191[]={521,0},
+cf192[]={523,0},
+cf193[]={525,0},
+cf194[]={527,0},
+cf195[]={529,0},
+cf196[]={531,0},
+cf197[]={533,0},
+cf198[]={535,0},
+cf199[]={537,0},
+cf200[]={539,0},
+cf201[]={541,0},
+cf202[]={543,0},
+cf203[]={414,0},
+cf204[]={547,0},
+cf205[]={549,0},
+cf206[]={551,0},
+cf207[]={553,0},
+cf208[]={555,0},
+cf209[]={557,0},
+cf210[]={559,0},
+cf211[]={561,0},
+cf212[]={563,0},
+cf213[]={11365,0},
+cf214[]={572,0},
+cf215[]={410,0},
+cf216[]={11366,0},
+cf217[]={578,0},
+cf218[]={384,0},
+cf219[]={649,0},
+cf220[]={652,0},
+cf221[]={583,0},
+cf222[]={585,0},
+cf223[]={587,0},
+cf224[]={589,0},
+cf225[]={591,0},
+cf226[]={953,0},
+cf227[]={940,0},
+cf228[]={941,0},
+cf229[]={942,0},
+cf230[]={943,0},
+cf231[]={972,0},
+cf232[]={973,0},
+cf233[]={974,0},
+cf234[]={953,776,769,0},
+cf235[]={945,0},
+cf236[]={946,0},
+cf237[]={947,0},
+cf238[]={948,0},
+cf239[]={949,0},
+cf240[]={950,0},
+cf241[]={951,0},
+cf242[]={952,0},
+cf243[]={954,0},
+cf244[]={955,0},
+cf245[]={957,0},
+cf246[]={958,0},
+cf247[]={959,0},
+cf248[]={960,0},
+cf249[]={961,0},
+cf250[]={963,0},
+cf251[]={964,0},
+cf252[]={965,0},
+cf253[]={966,0},
+cf254[]={967,0},
+cf255[]={968,0},
+cf256[]={969,0},
+cf257[]={970,0},
+cf258[]={971,0},
+cf259[]={965,776,769,0},
+cf260[]={985,0},
+cf261[]={987,0},
+cf262[]={989,0},
+cf263[]={991,0},
+cf264[]={993,0},
+cf265[]={995,0},
+cf266[]={997,0},
+cf267[]={999,0},
+cf268[]={1001,0},
+cf269[]={1003,0},
+cf270[]={1005,0},
+cf271[]={1007,0},
+cf272[]={1016,0},
+cf273[]={1010,0},
+cf274[]={1019,0},
+cf275[]={891,0},
+cf276[]={892,0},
+cf277[]={893,0},
+cf278[]={1104,0},
+cf279[]={1105,0},
+cf280[]={1106,0},
+cf281[]={1107,0},
+cf282[]={1108,0},
+cf283[]={1109,0},
+cf284[]={1110,0},
+cf285[]={1111,0},
+cf286[]={1112,0},
+cf287[]={1113,0},
+cf288[]={1114,0},
+cf289[]={1115,0},
+cf290[]={1116,0},
+cf291[]={1117,0},
+cf292[]={1118,0},
+cf293[]={1119,0},
+cf294[]={1072,0},
+cf295[]={1073,0},
+cf296[]={1074,0},
+cf297[]={1075,0},
+cf298[]={1076,0},
+cf299[]={1077,0},
+cf300[]={1078,0},
+cf301[]={1079,0},
+cf302[]={1080,0},
+cf303[]={1081,0},
+cf304[]={1082,0},
+cf305[]={1083,0},
+cf306[]={1084,0},
+cf307[]={1085,0},
+cf308[]={1086,0},
+cf309[]={1087,0},
+cf310[]={1088,0},
+cf311[]={1089,0},
+cf312[]={1090,0},
+cf313[]={1091,0},
+cf314[]={1092,0},
+cf315[]={1093,0},
+cf316[]={1094,0},
+cf317[]={1095,0},
+cf318[]={1096,0},
+cf319[]={1097,0},
+cf320[]={1098,0},
+cf321[]={1099,0},
+cf322[]={1100,0},
+cf323[]={1101,0},
+cf324[]={1102,0},
+cf325[]={1103,0},
+cf326[]={1121,0},
+cf327[]={1123,0},
+cf328[]={1125,0},
+cf329[]={1127,0},
+cf330[]={1129,0},
+cf331[]={1131,0},
+cf332[]={1133,0},
+cf333[]={1135,0},
+cf334[]={1137,0},
+cf335[]={1139,0},
+cf336[]={1141,0},
+cf337[]={1143,0},
+cf338[]={1145,0},
+cf339[]={1147,0},
+cf340[]={1149,0},
+cf341[]={1151,0},
+cf342[]={1153,0},
+cf343[]={1163,0},
+cf344[]={1165,0},
+cf345[]={1167,0},
+cf346[]={1169,0},
+cf347[]={1171,0},
+cf348[]={1173,0},
+cf349[]={1175,0},
+cf350[]={1177,0},
+cf351[]={1179,0},
+cf352[]={1181,0},
+cf353[]={1183,0},
+cf354[]={1185,0},
+cf355[]={1187,0},
+cf356[]={1189,0},
+cf357[]={1191,0},
+cf358[]={1193,0},
+cf359[]={1195,0},
+cf360[]={1197,0},
+cf361[]={1199,0},
+cf362[]={1201,0},
+cf363[]={1203,0},
+cf364[]={1205,0},
+cf365[]={1207,0},
+cf366[]={1209,0},
+cf367[]={1211,0},
+cf368[]={1213,0},
+cf369[]={1215,0},
+cf370[]={1231,0},
+cf371[]={1218,0},
+cf372[]={1220,0},
+cf373[]={1222,0},
+cf374[]={1224,0},
+cf375[]={1226,0},
+cf376[]={1228,0},
+cf377[]={1230,0},
+cf378[]={1233,0},
+cf379[]={1235,0},
+cf380[]={1237,0},
+cf381[]={1239,0},
+cf382[]={1241,0},
+cf383[]={1243,0},
+cf384[]={1245,0},
+cf385[]={1247,0},
+cf386[]={1249,0},
+cf387[]={1251,0},
+cf388[]={1253,0},
+cf389[]={1255,0},
+cf390[]={1257,0},
+cf391[]={1259,0},
+cf392[]={1261,0},
+cf393[]={1263,0},
+cf394[]={1265,0},
+cf395[]={1267,0},
+cf396[]={1269,0},
+cf397[]={1271,0},
+cf398[]={1273,0},
+cf399[]={1275,0},
+cf400[]={1277,0},
+cf401[]={1279,0},
+cf402[]={1281,0},
+cf403[]={1283,0},
+cf404[]={1285,0},
+cf405[]={1287,0},
+cf406[]={1289,0},
+cf407[]={1291,0},
+cf408[]={1293,0},
+cf409[]={1295,0},
+cf410[]={1297,0},
+cf411[]={1299,0},
+cf412[]={1377,0},
+cf413[]={1378,0},
+cf414[]={1379,0},
+cf415[]={1380,0},
+cf416[]={1381,0},
+cf417[]={1382,0},
+cf418[]={1383,0},
+cf419[]={1384,0},
+cf420[]={1385,0},
+cf421[]={1386,0},
+cf422[]={1387,0},
+cf423[]={1388,0},
+cf424[]={1389,0},
+cf425[]={1390,0},
+cf426[]={1391,0},
+cf427[]={1392,0},
+cf428[]={1393,0},
+cf429[]={1394,0},
+cf430[]={1395,0},
+cf431[]={1396,0},
+cf432[]={1397,0},
+cf433[]={1398,0},
+cf434[]={1399,0},
+cf435[]={1400,0},
+cf436[]={1401,0},
+cf437[]={1402,0},
+cf438[]={1403,0},
+cf439[]={1404,0},
+cf440[]={1405,0},
+cf441[]={1406,0},
+cf442[]={1407,0},
+cf443[]={1408,0},
+cf444[]={1409,0},
+cf445[]={1410,0},
+cf446[]={1411,0},
+cf447[]={1412,0},
+cf448[]={1413,0},
+cf449[]={1414,0},
+cf450[]={1381,1410,0},
+cf451[]={11520,0},
+cf452[]={11521,0},
+cf453[]={11522,0},
+cf454[]={11523,0},
+cf455[]={11524,0},
+cf456[]={11525,0},
+cf457[]={11526,0},
+cf458[]={11527,0},
+cf459[]={11528,0},
+cf460[]={11529,0},
+cf461[]={11530,0},
+cf462[]={11531,0},
+cf463[]={11532,0},
+cf464[]={11533,0},
+cf465[]={11534,0},
+cf466[]={11535,0},
+cf467[]={11536,0},
+cf468[]={11537,0},
+cf469[]={11538,0},
+cf470[]={11539,0},
+cf471[]={11540,0},
+cf472[]={11541,0},
+cf473[]={11542,0},
+cf474[]={11543,0},
+cf475[]={11544,0},
+cf476[]={11545,0},
+cf477[]={11546,0},
+cf478[]={11547,0},
+cf479[]={11548,0},
+cf480[]={11549,0},
+cf481[]={11550,0},
+cf482[]={11551,0},
+cf483[]={11552,0},
+cf484[]={11553,0},
+cf485[]={11554,0},
+cf486[]={11555,0},
+cf487[]={11556,0},
+cf488[]={11557,0},
+cf489[]={7681,0},
+cf490[]={7683,0},
+cf491[]={7685,0},
+cf492[]={7687,0},
+cf493[]={7689,0},
+cf494[]={7691,0},
+cf495[]={7693,0},
+cf496[]={7695,0},
+cf497[]={7697,0},
+cf498[]={7699,0},
+cf499[]={7701,0},
+cf500[]={7703,0},
+cf501[]={7705,0},
+cf502[]={7707,0},
+cf503[]={7709,0},
+cf504[]={7711,0},
+cf505[]={7713,0},
+cf506[]={7715,0},
+cf507[]={7717,0},
+cf508[]={7719,0},
+cf509[]={7721,0},
+cf510[]={7723,0},
+cf511[]={7725,0},
+cf512[]={7727,0},
+cf513[]={7729,0},
+cf514[]={7731,0},
+cf515[]={7733,0},
+cf516[]={7735,0},
+cf517[]={7737,0},
+cf518[]={7739,0},
+cf519[]={7741,0},
+cf520[]={7743,0},
+cf521[]={7745,0},
+cf522[]={7747,0},
+cf523[]={7749,0},
+cf524[]={7751,0},
+cf525[]={7753,0},
+cf526[]={7755,0},
+cf527[]={7757,0},
+cf528[]={7759,0},
+cf529[]={7761,0},
+cf530[]={7763,0},
+cf531[]={7765,0},
+cf532[]={7767,0},
+cf533[]={7769,0},
+cf534[]={7771,0},
+cf535[]={7773,0},
+cf536[]={7775,0},
+cf537[]={7777,0},
+cf538[]={7779,0},
+cf539[]={7781,0},
+cf540[]={7783,0},
+cf541[]={7785,0},
+cf542[]={7787,0},
+cf543[]={7789,0},
+cf544[]={7791,0},
+cf545[]={7793,0},
+cf546[]={7795,0},
+cf547[]={7797,0},
+cf548[]={7799,0},
+cf549[]={7801,0},
+cf550[]={7803,0},
+cf551[]={7805,0},
+cf552[]={7807,0},
+cf553[]={7809,0},
+cf554[]={7811,0},
+cf555[]={7813,0},
+cf556[]={7815,0},
+cf557[]={7817,0},
+cf558[]={7819,0},
+cf559[]={7821,0},
+cf560[]={7823,0},
+cf561[]={7825,0},
+cf562[]={7827,0},
+cf563[]={7829,0},
+cf564[]={104,817,0},
+cf565[]={116,776,0},
+cf566[]={119,778,0},
+cf567[]={121,778,0},
+cf568[]={97,702,0},
+cf569[]={7841,0},
+cf570[]={7843,0},
+cf571[]={7845,0},
+cf572[]={7847,0},
+cf573[]={7849,0},
+cf574[]={7851,0},
+cf575[]={7853,0},
+cf576[]={7855,0},
+cf577[]={7857,0},
+cf578[]={7859,0},
+cf579[]={7861,0},
+cf580[]={7863,0},
+cf581[]={7865,0},
+cf582[]={7867,0},
+cf583[]={7869,0},
+cf584[]={7871,0},
+cf585[]={7873,0},
+cf586[]={7875,0},
+cf587[]={7877,0},
+cf588[]={7879,0},
+cf589[]={7881,0},
+cf590[]={7883,0},
+cf591[]={7885,0},
+cf592[]={7887,0},
+cf593[]={7889,0},
+cf594[]={7891,0},
+cf595[]={7893,0},
+cf596[]={7895,0},
+cf597[]={7897,0},
+cf598[]={7899,0},
+cf599[]={7901,0},
+cf600[]={7903,0},
+cf601[]={7905,0},
+cf602[]={7907,0},
+cf603[]={7909,0},
+cf604[]={7911,0},
+cf605[]={7913,0},
+cf606[]={7915,0},
+cf607[]={7917,0},
+cf608[]={7919,0},
+cf609[]={7921,0},
+cf610[]={7923,0},
+cf611[]={7925,0},
+cf612[]={7927,0},
+cf613[]={7929,0},
+cf614[]={7936,0},
+cf615[]={7937,0},
+cf616[]={7938,0},
+cf617[]={7939,0},
+cf618[]={7940,0},
+cf619[]={7941,0},
+cf620[]={7942,0},
+cf621[]={7943,0},
+cf622[]={7952,0},
+cf623[]={7953,0},
+cf624[]={7954,0},
+cf625[]={7955,0},
+cf626[]={7956,0},
+cf627[]={7957,0},
+cf628[]={7968,0},
+cf629[]={7969,0},
+cf630[]={7970,0},
+cf631[]={7971,0},
+cf632[]={7972,0},
+cf633[]={7973,0},
+cf634[]={7974,0},
+cf635[]={7975,0},
+cf636[]={7984,0},
+cf637[]={7985,0},
+cf638[]={7986,0},
+cf639[]={7987,0},
+cf640[]={7988,0},
+cf641[]={7989,0},
+cf642[]={7990,0},
+cf643[]={7991,0},
+cf644[]={8000,0},
+cf645[]={8001,0},
+cf646[]={8002,0},
+cf647[]={8003,0},
+cf648[]={8004,0},
+cf649[]={8005,0},
+cf650[]={965,787,0},
+cf651[]={965,787,768,0},
+cf652[]={965,787,769,0},
+cf653[]={965,787,834,0},
+cf654[]={8017,0},
+cf655[]={8019,0},
+cf656[]={8021,0},
+cf657[]={8023,0},
+cf658[]={8032,0},
+cf659[]={8033,0},
+cf660[]={8034,0},
+cf661[]={8035,0},
+cf662[]={8036,0},
+cf663[]={8037,0},
+cf664[]={8038,0},
+cf665[]={8039,0},
+cf666[]={7936,953,0},
+cf667[]={7937,953,0},
+cf668[]={7938,953,0},
+cf669[]={7939,953,0},
+cf670[]={7940,953,0},
+cf671[]={7941,953,0},
+cf672[]={7942,953,0},
+cf673[]={7943,953,0},
+cf674[]={7968,953,0},
+cf675[]={7969,953,0},
+cf676[]={7970,953,0},
+cf677[]={7971,953,0},
+cf678[]={7972,953,0},
+cf679[]={7973,953,0},
+cf680[]={7974,953,0},
+cf681[]={7975,953,0},
+cf682[]={8032,953,0},
+cf683[]={8033,953,0},
+cf684[]={8034,953,0},
+cf685[]={8035,953,0},
+cf686[]={8036,953,0},
+cf687[]={8037,953,0},
+cf688[]={8038,953,0},
+cf689[]={8039,953,0},
+cf690[]={8048,953,0},
+cf691[]={945,953,0},
+cf692[]={940,953,0},
+cf693[]={945,834,0},
+cf694[]={945,834,953,0},
+cf695[]={8112,0},
+cf696[]={8113,0},
+cf697[]={8048,0},
+cf698[]={8049,0},
+cf699[]={8052,953,0},
+cf700[]={951,953,0},
+cf701[]={942,953,0},
+cf702[]={951,834,0},
+cf703[]={951,834,953,0},
+cf704[]={8050,0},
+cf705[]={8051,0},
+cf706[]={8052,0},
+cf707[]={8053,0},
+cf708[]={953,776,768,0},
+cf709[]={953,834,0},
+cf710[]={953,776,834,0},
+cf711[]={8144,0},
+cf712[]={8145,0},
+cf713[]={8054,0},
+cf714[]={8055,0},
+cf715[]={965,776,768,0},
+cf716[]={961,787,0},
+cf717[]={965,834,0},
+cf718[]={965,776,834,0},
+cf719[]={8160,0},
+cf720[]={8161,0},
+cf721[]={8058,0},
+cf722[]={8059,0},
+cf723[]={8165,0},
+cf724[]={8060,953,0},
+cf725[]={969,953,0},
+cf726[]={974,953,0},
+cf727[]={969,834,0},
+cf728[]={969,834,953,0},
+cf729[]={8056,0},
+cf730[]={8057,0},
+cf731[]={8060,0},
+cf732[]={8061,0},
+cf733[]={8526,0},
+cf734[]={8560,0},
+cf735[]={8561,0},
+cf736[]={8562,0},
+cf737[]={8563,0},
+cf738[]={8564,0},
+cf739[]={8565,0},
+cf740[]={8566,0},
+cf741[]={8567,0},
+cf742[]={8568,0},
+cf743[]={8569,0},
+cf744[]={8570,0},
+cf745[]={8571,0},
+cf746[]={8572,0},
+cf747[]={8573,0},
+cf748[]={8574,0},
+cf749[]={8575,0},
+cf750[]={8580,0},
+cf751[]={9424,0},
+cf752[]={9425,0},
+cf753[]={9426,0},
+cf754[]={9427,0},
+cf755[]={9428,0},
+cf756[]={9429,0},
+cf757[]={9430,0},
+cf758[]={9431,0},
+cf759[]={9432,0},
+cf760[]={9433,0},
+cf761[]={9434,0},
+cf762[]={9435,0},
+cf763[]={9436,0},
+cf764[]={9437,0},
+cf765[]={9438,0},
+cf766[]={9439,0},
+cf767[]={9440,0},
+cf768[]={9441,0},
+cf769[]={9442,0},
+cf770[]={9443,0},
+cf771[]={9444,0},
+cf772[]={9445,0},
+cf773[]={9446,0},
+cf774[]={9447,0},
+cf775[]={9448,0},
+cf776[]={9449,0},
+cf777[]={11312,0},
+cf778[]={11313,0},
+cf779[]={11314,0},
+cf780[]={11315,0},
+cf781[]={11316,0},
+cf782[]={11317,0},
+cf783[]={11318,0},
+cf784[]={11319,0},
+cf785[]={11320,0},
+cf786[]={11321,0},
+cf787[]={11322,0},
+cf788[]={11323,0},
+cf789[]={11324,0},
+cf790[]={11325,0},
+cf791[]={11326,0},
+cf792[]={11327,0},
+cf793[]={11328,0},
+cf794[]={11329,0},
+cf795[]={11330,0},
+cf796[]={11331,0},
+cf797[]={11332,0},
+cf798[]={11333,0},
+cf799[]={11334,0},
+cf800[]={11335,0},
+cf801[]={11336,0},
+cf802[]={11337,0},
+cf803[]={11338,0},
+cf804[]={11339,0},
+cf805[]={11340,0},
+cf806[]={11341,0},
+cf807[]={11342,0},
+cf808[]={11343,0},
+cf809[]={11344,0},
+cf810[]={11345,0},
+cf811[]={11346,0},
+cf812[]={11347,0},
+cf813[]={11348,0},
+cf814[]={11349,0},
+cf815[]={11350,0},
+cf816[]={11351,0},
+cf817[]={11352,0},
+cf818[]={11353,0},
+cf819[]={11354,0},
+cf820[]={11355,0},
+cf821[]={11356,0},
+cf822[]={11357,0},
+cf823[]={11358,0},
+cf824[]={11361,0},
+cf825[]={619,0},
+cf826[]={7549,0},
+cf827[]={637,0},
+cf828[]={11368,0},
+cf829[]={11370,0},
+cf830[]={11372,0},
+cf831[]={11382,0},
+cf832[]={11393,0},
+cf833[]={11395,0},
+cf834[]={11397,0},
+cf835[]={11399,0},
+cf836[]={11401,0},
+cf837[]={11403,0},
+cf838[]={11405,0},
+cf839[]={11407,0},
+cf840[]={11409,0},
+cf841[]={11411,0},
+cf842[]={11413,0},
+cf843[]={11415,0},
+cf844[]={11417,0},
+cf845[]={11419,0},
+cf846[]={11421,0},
+cf847[]={11423,0},
+cf848[]={11425,0},
+cf849[]={11427,0},
+cf850[]={11429,0},
+cf851[]={11431,0},
+cf852[]={11433,0},
+cf853[]={11435,0},
+cf854[]={11437,0},
+cf855[]={11439,0},
+cf856[]={11441,0},
+cf857[]={11443,0},
+cf858[]={11445,0},
+cf859[]={11447,0},
+cf860[]={11449,0},
+cf861[]={11451,0},
+cf862[]={11453,0},
+cf863[]={11455,0},
+cf864[]={11457,0},
+cf865[]={11459,0},
+cf866[]={11461,0},
+cf867[]={11463,0},
+cf868[]={11465,0},
+cf869[]={11467,0},
+cf870[]={11469,0},
+cf871[]={11471,0},
+cf872[]={11473,0},
+cf873[]={11475,0},
+cf874[]={11477,0},
+cf875[]={11479,0},
+cf876[]={11481,0},
+cf877[]={11483,0},
+cf878[]={11485,0},
+cf879[]={11487,0},
+cf880[]={11489,0},
+cf881[]={11491,0},
+cf882[]={102,102,0},
+cf883[]={102,105,0},
+cf884[]={102,108,0},
+cf885[]={102,102,105,0},
+cf886[]={102,102,108,0},
+cf887[]={115,116,0},
+cf888[]={1396,1398,0},
+cf889[]={1396,1381,0},
+cf890[]={1396,1387,0},
+cf891[]={1406,1398,0},
+cf892[]={1396,1389,0},
+cf893[]={65345,0},
+cf894[]={65346,0},
+cf895[]={65347,0},
+cf896[]={65348,0},
+cf897[]={65349,0},
+cf898[]={65350,0},
+cf899[]={65351,0},
+cf900[]={65352,0},
+cf901[]={65353,0},
+cf902[]={65354,0},
+cf903[]={65355,0},
+cf904[]={65356,0},
+cf905[]={65357,0},
+cf906[]={65358,0},
+cf907[]={65359,0},
+cf908[]={65360,0},
+cf909[]={65361,0},
+cf910[]={65362,0},
+cf911[]={65363,0},
+cf912[]={65364,0},
+cf913[]={65365,0},
+cf914[]={65366,0},
+cf915[]={65367,0},
+cf916[]={65368,0},
+cf917[]={65369,0},
+cf918[]={65370,0},
+cf919[]={66600,0},
+cf920[]={66601,0},
+cf921[]={66602,0},
+cf922[]={66603,0},
+cf923[]={66604,0},
+cf924[]={66605,0},
+cf925[]={66606,0},
+cf926[]={66607,0},
+cf927[]={66608,0},
+cf928[]={66609,0},
+cf929[]={66610,0},
+cf930[]={66611,0},
+cf931[]={66612,0},
+cf932[]={66613,0},
+cf933[]={66614,0},
+cf934[]={66615,0},
+cf935[]={66616,0},
+cf936[]={66617,0},
+cf937[]={66618,0},
+cf938[]={66619,0},
+cf939[]={66620,0},
+cf940[]={66621,0},
+cf941[]={66622,0},
+cf942[]={66623,0},
+cf943[]={66624,0},
+cf944[]={66625,0},
+cf945[]={66626,0},
+cf946[]={66627,0},
+cf947[]={66628,0},
+cf948[]={66629,0},
+cf949[]={66630,0},
+cf950[]={66631,0},
+cf951[]={66632,0},
+cf952[]={66633,0},
+cf953[]={66634,0},
+cf954[]={66635,0},
+cf955[]={66636,0},
+cf956[]={66637,0},
+cf957[]={66638,0},
+cf958[]={66639,0};
+static const struct unidata st0[] = {
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Zs,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Ps,0},
+{0,0,0,0,0,0,Pe,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Pd,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,cf0,0,32,0,Lu,0},
+{0,0,cf1,0,32,0,Lu,0},
+{0,0,cf2,0,32,0,Lu,0},
+{0,0,cf3,0,32,0,Lu,0},
+{0,0,cf4,0,32,0,Lu,0},
+{0,0,cf5,0,32,0,Lu,0},
+{0,0,cf6,0,32,0,Lu,0},
+{0,0,cf7,0,32,0,Lu,0},
+{0,0,cf8,0,32,0,Lu,0},
+{0,0,cf9,0,32,0,Lu,0},
+{0,0,cf10,0,32,0,Lu,0},
+{0,0,cf11,0,32,0,Lu,0},
+{0,0,cf12,0,32,0,Lu,0},
+{0,0,cf13,0,32,0,Lu,0},
+{0,0,cf14,0,32,0,Lu,0},
+{0,0,cf15,0,32,0,Lu,0},
+{0,0,cf16,0,32,0,Lu,0},
+{0,0,cf17,0,32,0,Lu,0},
+{0,0,cf18,0,32,0,Lu,0},
+{0,0,cf19,0,32,0,Lu,0},
+{0,0,cf20,0,32,0,Lu,0},
+{0,0,cf21,0,32,0,Lu,0},
+{0,0,cf22,0,32,0,Lu,0},
+{0,0,cf23,0,32,0,Lu,0},
+{0,0,cf24,0,32,0,Lu,0},
+{0,0,cf25,0,32,0,Lu,0},
+{0,0,0,0,0,0,Ps,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Pe,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Pc,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,0,0,0,Ps,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Pe,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Cc,0}
 };
-static const struct unidata subtable1[] = {
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, -199 },
-  { unicode_gc_Ll, 0, -232, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, -121 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, -300, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 210 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 206 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 205 },
-  { unicode_gc_Lu, 0, 0, 205 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 79 },
-  { unicode_gc_Lu, 0, 0, 202 },
-  { unicode_gc_Lu, 0, 0, 203 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 205 },
-  { unicode_gc_Lu, 0, 0, 207 },
-  { unicode_gc_Ll, 0, 97, 0 },
-  { unicode_gc_Lu, 0, 0, 211 },
-  { unicode_gc_Lu, 0, 0, 209 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 211 },
-  { unicode_gc_Lu, 0, 0, 213 },
-  { unicode_gc_Ll, 0, 130, 0 },
-  { unicode_gc_Lu, 0, 0, 214 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 218 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 218 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 218 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 217 },
-  { unicode_gc_Lu, 0, 0, 217 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 219 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 56, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 2 },
-  { unicode_gc_Lt, 0, -1, 1 },
-  { unicode_gc_Ll, 0, -2, 0 },
-  { unicode_gc_Lu, 0, 0, 2 },
-  { unicode_gc_Lt, 0, -1, 1 },
-  { unicode_gc_Ll, 0, -2, 0 },
-  { unicode_gc_Lu, 0, 0, 2 },
-  { unicode_gc_Lt, 0, -1, 1 },
-  { unicode_gc_Ll, 0, -2, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, -79, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 2 },
-  { unicode_gc_Lt, 0, -1, 1 },
-  { unicode_gc_Ll, 0, -2, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, -97 },
-  { unicode_gc_Lu, 0, 0, -56 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 }
+static const struct unidata st1[] = {
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{0,0,0,0,0,0,Cc,0},
+{cd0,0,0,0,0,0,Zs,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,So,0},
+{cd1,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,So,0},
+{cd2,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Pi,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,So,0},
+{cd3,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Sm,0},
+{cd4,0,0,0,0,0,No,0},
+{cd5,0,0,0,0,0,No,0},
+{cd6,0,0,0,0,0,Sk,0},
+{cd7,0,cf26,743,0,0,Ll,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Po,0},
+{cd8,0,0,0,0,0,Sk,0},
+{cd9,0,0,0,0,0,No,0},
+{cd10,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Pf,0},
+{cd11,0,0,0,0,0,No,0},
+{cd12,0,0,0,0,0,No,0},
+{cd13,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,Po,0},
+{cd14,cd14,cf27,0,32,0,Lu,0},
+{cd15,cd15,cf28,0,32,0,Lu,0},
+{cd16,cd16,cf29,0,32,0,Lu,0},
+{cd17,cd17,cf30,0,32,0,Lu,0},
+{cd18,cd18,cf31,0,32,0,Lu,0},
+{cd19,cd19,cf32,0,32,0,Lu,0},
+{0,0,cf33,0,32,0,Lu,0},
+{cd20,cd20,cf34,0,32,0,Lu,0},
+{cd21,cd21,cf35,0,32,0,Lu,0},
+{cd22,cd22,cf36,0,32,0,Lu,0},
+{cd23,cd23,cf37,0,32,0,Lu,0},
+{cd24,cd24,cf38,0,32,0,Lu,0},
+{cd25,cd25,cf39,0,32,0,Lu,0},
+{cd26,cd26,cf40,0,32,0,Lu,0},
+{cd27,cd27,cf41,0,32,0,Lu,0},
+{cd28,cd28,cf42,0,32,0,Lu,0},
+{0,0,cf43,0,32,0,Lu,0},
+{cd29,cd29,cf44,0,32,0,Lu,0},
+{cd30,cd30,cf45,0,32,0,Lu,0},
+{cd31,cd31,cf46,0,32,0,Lu,0},
+{cd32,cd32,cf47,0,32,0,Lu,0},
+{cd33,cd33,cf48,0,32,0,Lu,0},
+{cd34,cd34,cf49,0,32,0,Lu,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,cf50,0,32,0,Lu,0},
+{cd35,cd35,cf51,0,32,0,Lu,0},
+{cd36,cd36,cf52,0,32,0,Lu,0},
+{cd37,cd37,cf53,0,32,0,Lu,0},
+{cd38,cd38,cf54,0,32,0,Lu,0},
+{cd39,cd39,cf55,0,32,0,Lu,0},
+{0,0,cf56,0,32,0,Lu,0},
+{0,0,cf57,0,0,0,Ll,0},
+{cd40,cd40,0,-32,0,0,Ll,0},
+{cd41,cd41,0,-32,0,0,Ll,0},
+{cd42,cd42,0,-32,0,0,Ll,0},
+{cd43,cd43,0,-32,0,0,Ll,0},
+{cd44,cd44,0,-32,0,0,Ll,0},
+{cd45,cd45,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd46,cd46,0,-32,0,0,Ll,0},
+{cd47,cd47,0,-32,0,0,Ll,0},
+{cd48,cd48,0,-32,0,0,Ll,0},
+{cd49,cd49,0,-32,0,0,Ll,0},
+{cd50,cd50,0,-32,0,0,Ll,0},
+{cd51,cd51,0,-32,0,0,Ll,0},
+{cd52,cd52,0,-32,0,0,Ll,0},
+{cd53,cd53,0,-32,0,0,Ll,0},
+{cd54,cd54,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd55,cd55,0,-32,0,0,Ll,0},
+{cd56,cd56,0,-32,0,0,Ll,0},
+{cd57,cd57,0,-32,0,0,Ll,0},
+{cd58,cd58,0,-32,0,0,Ll,0},
+{cd59,cd59,0,-32,0,0,Ll,0},
+{cd60,cd60,0,-32,0,0,Ll,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd61,cd61,0,-32,0,0,Ll,0},
+{cd62,cd62,0,-32,0,0,Ll,0},
+{cd63,cd63,0,-32,0,0,Ll,0},
+{cd64,cd64,0,-32,0,0,Ll,0},
+{cd65,cd65,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd66,cd66,0,121,0,0,Ll,0}
 };
-static const struct unidata subtable2[] = {
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, -130 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -210, 0 },
-  { unicode_gc_Ll, 0, -206, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -205, 0 },
-  { unicode_gc_Ll, 0, -205, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -202, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -203, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -205, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -207, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -209, 0 },
-  { unicode_gc_Ll, 0, -211, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -211, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -213, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -214, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -218, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -218, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -218, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -217, 0 },
-  { unicode_gc_Ll, 0, -217, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -219, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 }
+static const struct unidata st2[] = {
+{cd67,cd67,cf58,0,1,0,Lu,0},
+{cd68,cd68,0,-1,0,0,Ll,0},
+{cd69,cd69,cf59,0,1,0,Lu,0},
+{cd70,cd70,0,-1,0,0,Ll,0},
+{cd71,cd71,cf60,0,1,0,Lu,0},
+{cd72,cd72,0,-1,0,0,Ll,0},
+{cd73,cd73,cf61,0,1,0,Lu,0},
+{cd74,cd74,0,-1,0,0,Ll,0},
+{cd75,cd75,cf62,0,1,0,Lu,0},
+{cd76,cd76,0,-1,0,0,Ll,0},
+{cd77,cd77,cf63,0,1,0,Lu,0},
+{cd78,cd78,0,-1,0,0,Ll,0},
+{cd79,cd79,cf64,0,1,0,Lu,0},
+{cd80,cd80,0,-1,0,0,Ll,0},
+{cd81,cd81,cf65,0,1,0,Lu,0},
+{cd82,cd82,0,-1,0,0,Ll,0},
+{0,0,cf66,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd83,cd83,cf67,0,1,0,Lu,0},
+{cd84,cd84,0,-1,0,0,Ll,0},
+{cd85,cd85,cf68,0,1,0,Lu,0},
+{cd86,cd86,0,-1,0,0,Ll,0},
+{cd87,cd87,cf69,0,1,0,Lu,0},
+{cd88,cd88,0,-1,0,0,Ll,0},
+{cd89,cd89,cf70,0,1,0,Lu,0},
+{cd90,cd90,0,-1,0,0,Ll,0},
+{cd91,cd91,cf71,0,1,0,Lu,0},
+{cd92,cd92,0,-1,0,0,Ll,0},
+{cd93,cd93,cf72,0,1,0,Lu,0},
+{cd94,cd94,0,-1,0,0,Ll,0},
+{cd95,cd95,cf73,0,1,0,Lu,0},
+{cd96,cd96,0,-1,0,0,Ll,0},
+{cd97,cd97,cf74,0,1,0,Lu,0},
+{cd98,cd98,0,-1,0,0,Ll,0},
+{cd99,cd99,cf75,0,1,0,Lu,0},
+{cd100,cd100,0,-1,0,0,Ll,0},
+{cd101,cd101,cf76,0,1,0,Lu,0},
+{cd102,cd102,0,-1,0,0,Ll,0},
+{0,0,cf77,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd103,cd103,cf78,0,1,0,Lu,0},
+{cd104,cd104,0,-1,0,0,Ll,0},
+{cd105,cd105,cf79,0,1,0,Lu,0},
+{cd106,cd106,0,-1,0,0,Ll,0},
+{cd107,cd107,cf80,0,1,0,Lu,0},
+{cd108,cd108,0,-1,0,0,Ll,0},
+{cd109,cd109,cf81,0,1,0,Lu,0},
+{cd110,cd110,0,-1,0,0,Ll,0},
+{cd111,cd111,cf82,0,-199,0,Lu,unicode_normalize_before_casefold},
+{0,0,0,-232,0,0,Ll,0},
+{cd112,0,cf83,0,1,0,Lu,0},
+{cd113,0,0,-1,0,0,Ll,0},
+{cd114,cd114,cf84,0,1,0,Lu,0},
+{cd115,cd115,0,-1,0,0,Ll,0},
+{cd116,cd116,cf85,0,1,0,Lu,0},
+{cd117,cd117,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{cd118,cd118,cf86,0,1,0,Lu,0},
+{cd119,cd119,0,-1,0,0,Ll,0},
+{cd120,cd120,cf87,0,1,0,Lu,0},
+{cd121,cd121,0,-1,0,0,Ll,0},
+{cd122,cd122,cf88,0,1,0,Lu,0},
+{cd123,cd123,0,-1,0,0,Ll,0},
+{cd124,0,cf89,0,1,0,Lu,0},
+{cd125,0,0,-1,0,0,Ll,0},
+{0,0,cf90,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd126,cd126,cf91,0,1,0,Lu,0},
+{cd127,cd127,0,-1,0,0,Ll,0},
+{cd128,cd128,cf92,0,1,0,Lu,0},
+{cd129,cd129,0,-1,0,0,Ll,0},
+{cd130,cd130,cf93,0,1,0,Lu,0},
+{cd131,cd131,0,-1,0,0,Ll,0},
+{cd132,0,cf94,0,0,0,Ll,0},
+{0,0,cf95,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd133,cd133,cf96,0,1,0,Lu,0},
+{cd134,cd134,0,-1,0,0,Ll,0},
+{cd135,cd135,cf97,0,1,0,Lu,0},
+{cd136,cd136,0,-1,0,0,Ll,0},
+{cd137,cd137,cf98,0,1,0,Lu,0},
+{cd138,cd138,0,-1,0,0,Ll,0},
+{0,0,cf99,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd139,cd139,cf100,0,1,0,Lu,0},
+{cd140,cd140,0,-1,0,0,Ll,0},
+{cd141,cd141,cf101,0,1,0,Lu,0},
+{cd142,cd142,0,-1,0,0,Ll,0},
+{cd143,cd143,cf102,0,1,0,Lu,0},
+{cd144,cd144,0,-1,0,0,Ll,0},
+{cd145,cd145,cf103,0,1,0,Lu,0},
+{cd146,cd146,0,-1,0,0,Ll,0},
+{cd147,cd147,cf104,0,1,0,Lu,0},
+{cd148,cd148,0,-1,0,0,Ll,0},
+{cd149,cd149,cf105,0,1,0,Lu,0},
+{cd150,cd150,0,-1,0,0,Ll,0},
+{cd151,cd151,cf106,0,1,0,Lu,0},
+{cd152,cd152,0,-1,0,0,Ll,0},
+{cd153,cd153,cf107,0,1,0,Lu,0},
+{cd154,cd154,0,-1,0,0,Ll,0},
+{cd155,cd155,cf108,0,1,0,Lu,0},
+{cd156,cd156,0,-1,0,0,Ll,0},
+{0,0,cf109,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd157,cd157,cf110,0,1,0,Lu,0},
+{cd158,cd158,0,-1,0,0,Ll,0},
+{cd159,cd159,cf111,0,1,0,Lu,0},
+{cd160,cd160,0,-1,0,0,Ll,0},
+{cd161,cd161,cf112,0,1,0,Lu,0},
+{cd162,cd162,0,-1,0,0,Ll,0},
+{cd163,cd163,cf113,0,1,0,Lu,0},
+{cd164,cd164,0,-1,0,0,Ll,0},
+{cd165,cd165,cf114,0,1,0,Lu,0},
+{cd166,cd166,0,-1,0,0,Ll,0},
+{cd167,cd167,cf115,0,1,0,Lu,0},
+{cd168,cd168,0,-1,0,0,Ll,0},
+{cd169,cd169,cf116,0,1,0,Lu,0},
+{cd170,cd170,0,-1,0,0,Ll,0},
+{cd171,cd171,cf117,0,1,0,Lu,0},
+{cd172,cd172,0,-1,0,0,Ll,0},
+{cd173,cd173,cf118,0,-121,0,Lu,0},
+{cd174,cd174,cf119,0,1,0,Lu,0},
+{cd175,cd175,0,-1,0,0,Ll,0},
+{cd176,cd176,cf120,0,1,0,Lu,0},
+{cd177,cd177,0,-1,0,0,Ll,0},
+{cd178,cd178,cf121,0,1,0,Lu,0},
+{cd179,cd179,0,-1,0,0,Ll,0},
+{cd180,0,cf18,-300,0,0,Ll,0}
 };
-static const struct unidata subtable3[] = {
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 232, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 232, 0, 0 },
-  { unicode_gc_Mn, 216, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 202, 0, 0 },
-  { unicode_gc_Mn, 202, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 202, 0, 0 },
-  { unicode_gc_Mn, 202, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 1, 0, 0 },
-  { unicode_gc_Mn, 1, 0, 0 },
-  { unicode_gc_Mn, 1, 0, 0 },
-  { unicode_gc_Mn, 1, 0, 0 },
-  { unicode_gc_Mn, 1, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 240, 84, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 234, 0, 0 },
-  { unicode_gc_Mn, 234, 0, 0 },
-  { unicode_gc_Mn, 233, 0, 0 },
-  { unicode_gc_Mn, 234, 0, 0 },
-  { unicode_gc_Mn, 234, 0, 0 },
-  { unicode_gc_Mn, 233, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Sk, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 38 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 37 },
-  { unicode_gc_Lu, 0, 0, 37 },
-  { unicode_gc_Lu, 0, 0, 37 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 64 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 63 },
-  { unicode_gc_Lu, 0, 0, 63 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Ll, 0, -38, 0 },
-  { unicode_gc_Ll, 0, -37, 0 },
-  { unicode_gc_Ll, 0, -37, 0 },
-  { unicode_gc_Ll, 0, -37, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -31, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -64, 0 },
-  { unicode_gc_Ll, 0, -63, 0 },
-  { unicode_gc_Ll, 0, -63, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -62, 0 },
-  { unicode_gc_Ll, 0, -57, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -47, 0 },
-  { unicode_gc_Ll, 0, -54, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Ll, 0, -86, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, 7, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, -60 },
-  { unicode_gc_Ll, 0, -96, 0 },
-  { unicode_gc_Sm, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, -7 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st3[] = {
+{0,0,0,195,0,0,Ll,0},
+{0,0,cf122,0,210,0,Lu,0},
+{0,0,cf123,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf124,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf125,0,206,0,Lu,0},
+{0,0,cf126,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf127,0,205,0,Lu,0},
+{0,0,cf128,0,205,0,Lu,0},
+{0,0,cf129,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf130,0,79,0,Lu,0},
+{0,0,cf131,0,202,0,Lu,0},
+{0,0,cf132,0,203,0,Lu,0},
+{0,0,cf133,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf134,0,205,0,Lu,0},
+{0,0,cf135,0,207,0,Lu,0},
+{0,0,0,97,0,0,Ll,0},
+{0,0,cf136,0,211,0,Lu,0},
+{0,0,cf137,0,209,0,Lu,0},
+{0,0,cf138,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,163,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf139,0,211,0,Lu,0},
+{0,0,cf140,0,213,0,Lu,0},
+{0,0,0,130,0,0,Ll,0},
+{0,0,cf141,0,214,0,Lu,0},
+{cd181,cd181,cf142,0,1,0,Lu,0},
+{cd182,cd182,0,-1,0,0,Ll,0},
+{0,0,cf143,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf144,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf145,0,218,0,Lu,0},
+{0,0,cf146,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf147,0,218,0,Lu,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf148,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf149,0,218,0,Lu,0},
+{cd183,cd183,cf150,0,1,0,Lu,0},
+{cd184,cd184,0,-1,0,0,Ll,0},
+{0,0,cf151,0,217,0,Lu,0},
+{0,0,cf152,0,217,0,Lu,0},
+{0,0,cf153,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf154,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf155,0,219,0,Lu,0},
+{0,0,cf156,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,cf157,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,56,0,0,Ll,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd185,0,cf158,0,2,0,Lu,0},
+{cd186,0,cf158,-1,1,0,Lt,0},
+{cd187,0,0,-2,0,0,Ll,0},
+{cd188,0,cf159,0,2,0,Lu,0},
+{cd189,0,cf159,-1,1,0,Lt,0},
+{cd190,0,0,-2,0,0,Ll,0},
+{cd191,0,cf160,0,2,0,Lu,0},
+{cd192,0,cf160,-1,1,0,Lt,0},
+{cd193,0,0,-2,0,0,Ll,0},
+{cd194,cd194,cf161,0,1,0,Lu,0},
+{cd195,cd195,0,-1,0,0,Ll,0},
+{cd196,cd196,cf162,0,1,0,Lu,0},
+{cd197,cd197,0,-1,0,0,Ll,0},
+{cd198,cd198,cf163,0,1,0,Lu,0},
+{cd199,cd199,0,-1,0,0,Ll,0},
+{cd200,cd200,cf164,0,1,0,Lu,0},
+{cd201,cd201,0,-1,0,0,Ll,0},
+{cd202,cd202,cf165,0,1,0,Lu,0},
+{cd203,cd203,0,-1,0,0,Ll,0},
+{cd204,cd204,cf166,0,1,0,Lu,0},
+{cd205,cd205,0,-1,0,0,Ll,0},
+{cd206,cd206,cf167,0,1,0,Lu,0},
+{cd207,cd207,0,-1,0,0,Ll,0},
+{cd208,cd208,cf168,0,1,0,Lu,0},
+{cd209,cd209,0,-1,0,0,Ll,0},
+{0,0,0,-79,0,0,Ll,0},
+{cd210,cd210,cf169,0,1,0,Lu,0},
+{cd211,cd211,0,-1,0,0,Ll,0},
+{cd212,cd212,cf170,0,1,0,Lu,0},
+{cd213,cd213,0,-1,0,0,Ll,0},
+{cd214,cd214,cf171,0,1,0,Lu,0},
+{cd215,cd215,0,-1,0,0,Ll,0},
+{0,0,cf172,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd216,cd216,cf173,0,1,0,Lu,0},
+{cd217,cd217,0,-1,0,0,Ll,0},
+{cd218,cd218,cf174,0,1,0,Lu,0},
+{cd219,cd219,0,-1,0,0,Ll,0},
+{cd220,cd220,cf175,0,1,0,Lu,0},
+{cd221,cd221,0,-1,0,0,Ll,0},
+{cd222,cd222,cf176,0,1,0,Lu,0},
+{cd223,cd223,0,-1,0,0,Ll,0},
+{cd224,cd224,cf177,0,1,0,Lu,0},
+{cd225,cd225,0,-1,0,0,Ll,0},
+{cd226,cd226,cf178,0,0,0,Ll,unicode_normalize_before_casefold},
+{cd227,0,cf179,0,2,0,Lu,0},
+{cd228,0,cf179,-1,1,0,Lt,0},
+{cd229,0,0,-2,0,0,Ll,0},
+{cd230,cd230,cf180,0,1,0,Lu,0},
+{cd231,cd231,0,-1,0,0,Ll,0},
+{0,0,cf181,0,-97,0,Lu,0},
+{0,0,cf182,0,-56,0,Lu,0},
+{cd232,cd232,cf183,0,1,0,Lu,0},
+{cd233,cd233,0,-1,0,0,Ll,0},
+{cd234,cd234,cf184,0,1,0,Lu,0},
+{cd235,cd235,0,-1,0,0,Ll,0},
+{cd236,cd236,cf185,0,1,0,Lu,0},
+{cd237,cd237,0,-1,0,0,Ll,0},
+{cd238,cd238,cf186,0,1,0,Lu,0},
+{cd239,cd239,0,-1,0,0,Ll,0}
 };
-static const struct unidata subtable4[] = {
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 80 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Lu, 0, 0, 32 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -32, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Ll, 0, -80, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Me, 0, 0, 0 },
-  { unicode_gc_Me, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st4[] = {
+{cd240,cd240,cf187,0,1,0,Lu,0},
+{cd241,cd241,0,-1,0,0,Ll,0},
+{cd242,cd242,cf188,0,1,0,Lu,0},
+{cd243,cd243,0,-1,0,0,Ll,0},
+{cd244,cd244,cf189,0,1,0,Lu,0},
+{cd245,cd245,0,-1,0,0,Ll,0},
+{cd246,cd246,cf190,0,1,0,Lu,0},
+{cd247,cd247,0,-1,0,0,Ll,0},
+{cd248,cd248,cf191,0,1,0,Lu,0},
+{cd249,cd249,0,-1,0,0,Ll,0},
+{cd250,cd250,cf192,0,1,0,Lu,0},
+{cd251,cd251,0,-1,0,0,Ll,0},
+{cd252,cd252,cf193,0,1,0,Lu,0},
+{cd253,cd253,0,-1,0,0,Ll,0},
+{cd254,cd254,cf194,0,1,0,Lu,0},
+{cd255,cd255,0,-1,0,0,Ll,0},
+{cd256,cd256,cf195,0,1,0,Lu,0},
+{cd257,cd257,0,-1,0,0,Ll,0},
+{cd258,cd258,cf196,0,1,0,Lu,0},
+{cd259,cd259,0,-1,0,0,Ll,0},
+{cd260,cd260,cf197,0,1,0,Lu,0},
+{cd261,cd261,0,-1,0,0,Ll,0},
+{cd262,cd262,cf198,0,1,0,Lu,0},
+{cd263,cd263,0,-1,0,0,Ll,0},
+{cd264,cd264,cf199,0,1,0,Lu,0},
+{cd265,cd265,0,-1,0,0,Ll,0},
+{cd266,cd266,cf200,0,1,0,Lu,0},
+{cd267,cd267,0,-1,0,0,Ll,0},
+{0,0,cf201,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd268,cd268,cf202,0,1,0,Lu,0},
+{cd269,cd269,0,-1,0,0,Ll,0},
+{0,0,cf203,0,-130,0,Lu,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf204,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf205,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd270,cd270,cf206,0,1,0,Lu,0},
+{cd271,cd271,0,-1,0,0,Ll,0},
+{cd272,cd272,cf207,0,1,0,Lu,0},
+{cd273,cd273,0,-1,0,0,Ll,0},
+{cd274,cd274,cf208,0,1,0,Lu,0},
+{cd275,cd275,0,-1,0,0,Ll,0},
+{cd276,cd276,cf209,0,1,0,Lu,0},
+{cd277,cd277,0,-1,0,0,Ll,0},
+{cd278,cd278,cf210,0,1,0,Lu,0},
+{cd279,cd279,0,-1,0,0,Ll,0},
+{cd280,cd280,cf211,0,1,0,Lu,0},
+{cd281,cd281,0,-1,0,0,Ll,0},
+{cd282,cd282,cf212,0,1,0,Lu,0},
+{cd283,cd283,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf213,0,10795,0,Lu,0},
+{0,0,cf214,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf215,0,-163,0,Lu,0},
+{0,0,cf216,0,10792,0,Lu,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf217,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf218,0,-195,0,Lu,0},
+{0,0,cf219,0,69,0,Lu,0},
+{0,0,cf220,0,71,0,Lu,0},
+{0,0,cf221,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf222,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf223,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf224,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf225,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-210,0,0,Ll,0},
+{0,0,0,-206,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-205,0,0,Ll,0},
+{0,0,0,-205,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-202,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-203,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-205,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-207,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-209,0,0,Ll,0},
+{0,0,0,-211,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,10743,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-211,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-213,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-214,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,10727,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0}
 };
-static const struct unidata subtable5[] = {
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Lu, 0, 0, 1 },
-  { unicode_gc_Ll, 0, -1, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Lu, 0, 0, 48 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, -48, 0 },
-  { unicode_gc_Ll, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Pd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 222, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 222, 0, 0 },
-  { unicode_gc_Mn, 228, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 10, 0, 0 },
-  { unicode_gc_Mn, 11, 0, 0 },
-  { unicode_gc_Mn, 12, 0, 0 },
-  { unicode_gc_Mn, 13, 0, 0 },
-  { unicode_gc_Mn, 14, 0, 0 },
-  { unicode_gc_Mn, 15, 0, 0 },
-  { unicode_gc_Mn, 16, 0, 0 },
-  { unicode_gc_Mn, 17, 0, 0 },
-  { unicode_gc_Mn, 18, 0, 0 },
-  { unicode_gc_Mn, 19, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 20, 0, 0 },
-  { unicode_gc_Mn, 21, 0, 0 },
-  { unicode_gc_Mn, 22, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Mn, 23, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Mn, 24, 0, 0 },
-  { unicode_gc_Mn, 25, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st5[] = {
+{0,0,0,-218,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-218,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-218,0,0,Ll,0},
+{0,0,0,-69,0,0,Ll,0},
+{0,0,0,-217,0,0,Ll,0},
+{0,0,0,-217,0,0,Ll,0},
+{0,0,0,-71,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,-219,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{cd284,0,0,0,0,0,Lm,0},
+{cd285,0,0,0,0,0,Lm,0},
+{cd286,0,0,0,0,0,Lm,0},
+{cd287,0,0,0,0,0,Lm,0},
+{cd288,0,0,0,0,0,Lm,0},
+{cd289,0,0,0,0,0,Lm,0},
+{cd290,0,0,0,0,0,Lm,0},
+{cd291,0,0,0,0,0,Lm,0},
+{cd292,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{cd293,0,0,0,0,0,Sk,0},
+{cd294,0,0,0,0,0,Sk,0},
+{cd295,0,0,0,0,0,Sk,0},
+{cd296,0,0,0,0,0,Sk,0},
+{cd297,0,0,0,0,0,Sk,0},
+{cd298,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{cd299,0,0,0,0,0,Lm,0},
+{cd300,0,0,0,0,0,Lm,0},
+{cd180,0,0,0,0,0,Lm,0},
+{cd301,0,0,0,0,0,Lm,0},
+{cd302,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0}
 };
-static const struct unidata subtable6[] = {
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 27, 0, 0 },
-  { unicode_gc_Mn, 28, 0, 0 },
-  { unicode_gc_Mn, 29, 0, 0 },
-  { unicode_gc_Mn, 30, 0, 0 },
-  { unicode_gc_Mn, 31, 0, 0 },
-  { unicode_gc_Mn, 32, 0, 0 },
-  { unicode_gc_Mn, 33, 0, 0 },
-  { unicode_gc_Mn, 34, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 35, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Me, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 }
+static const struct unidata st6[] = {
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,232,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,232,Mn,0},
+{0,0,0,0,0,216,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,202,Mn,0},
+{0,0,0,0,0,202,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,202,Mn,0},
+{0,0,0,0,0,202,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,1,Mn,0},
+{0,0,0,0,0,1,Mn,0},
+{0,0,0,0,0,1,Mn,0},
+{0,0,0,0,0,1,Mn,0},
+{0,0,0,0,0,1,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{cd303,cd303,0,0,0,230,Mn,0},
+{cd304,cd304,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{cd305,cd305,0,0,0,230,Mn,0},
+{cd306,cd306,0,0,0,230,Mn,0},
+{0,0,cf226,84,0,240,Mn,unicode_normalize_before_casefold},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,232,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,233,Mn,0},
+{0,0,0,0,0,234,Mn,0},
+{0,0,0,0,0,234,Mn,0},
+{0,0,0,0,0,233,Mn,0},
+{0,0,0,0,0,234,Mn,0},
+{0,0,0,0,0,234,Mn,0},
+{0,0,0,0,0,233,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd307,cd307,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Sk,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd308,0,0,0,0,0,Lm,0},
+{0,0,0,130,0,0,Ll,0},
+{0,0,0,130,0,0,Ll,0},
+{0,0,0,130,0,0,Ll,0},
+{cd309,cd309,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable7[] = {
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cf, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 36, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st7[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd6,0,0,0,0,0,Sk,0},
+{cd310,cd310,0,0,0,0,Sk,0},
+{cd311,cd311,cf227,0,38,0,Lu,0},
+{cd312,cd312,0,0,0,0,Po,0},
+{cd313,cd313,cf228,0,37,0,Lu,0},
+{cd314,cd314,cf229,0,37,0,Lu,0},
+{cd315,cd315,cf230,0,37,0,Lu,0},
+{0,0,0,0,0,0,Cn,0},
+{cd316,cd316,cf231,0,64,0,Lu,0},
+{0,0,0,0,0,0,Cn,0},
+{cd317,cd317,cf232,0,63,0,Lu,0},
+{cd318,cd318,cf233,0,63,0,Lu,0},
+{cd319,cd319,cf234,0,0,0,Ll,unicode_normalize_before_casefold},
+{0,0,cf235,0,32,0,Lu,0},
+{0,0,cf236,0,32,0,Lu,0},
+{0,0,cf237,0,32,0,Lu,0},
+{0,0,cf238,0,32,0,Lu,0},
+{0,0,cf239,0,32,0,Lu,0},
+{0,0,cf240,0,32,0,Lu,0},
+{0,0,cf241,0,32,0,Lu,0},
+{0,0,cf242,0,32,0,Lu,0},
+{0,0,cf226,0,32,0,Lu,0},
+{0,0,cf243,0,32,0,Lu,0},
+{0,0,cf244,0,32,0,Lu,0},
+{0,0,cf26,0,32,0,Lu,0},
+{0,0,cf245,0,32,0,Lu,0},
+{0,0,cf246,0,32,0,Lu,0},
+{0,0,cf247,0,32,0,Lu,0},
+{0,0,cf248,0,32,0,Lu,0},
+{0,0,cf249,0,32,0,Lu,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,cf250,0,32,0,Lu,0},
+{0,0,cf251,0,32,0,Lu,0},
+{0,0,cf252,0,32,0,Lu,0},
+{0,0,cf253,0,32,0,Lu,0},
+{0,0,cf254,0,32,0,Lu,0},
+{0,0,cf255,0,32,0,Lu,0},
+{0,0,cf256,0,32,0,Lu,0},
+{cd320,cd320,cf257,0,32,0,Lu,0},
+{cd321,cd321,cf258,0,32,0,Lu,0},
+{cd322,cd322,0,-38,0,0,Ll,0},
+{cd323,cd323,0,-37,0,0,Ll,0},
+{cd324,cd324,0,-37,0,0,Ll,0},
+{cd325,cd325,0,-37,0,0,Ll,0},
+{cd326,cd326,cf259,0,0,0,Ll,unicode_normalize_before_casefold},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,cf250,-31,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd327,cd327,0,-32,0,0,Ll,0},
+{cd328,cd328,0,-32,0,0,Ll,0},
+{cd329,cd329,0,-64,0,0,Ll,0},
+{cd330,cd330,0,-63,0,0,Ll,0},
+{cd331,cd331,0,-63,0,0,Ll,0},
+{0,0,0,0,0,0,Cn,0},
+{cd332,0,cf236,-62,0,0,Ll,0},
+{cd333,0,cf242,-57,0,0,Ll,0},
+{cd334,0,0,0,0,0,Lu,0},
+{cd335,cd335,0,0,0,0,Lu,0},
+{cd336,cd336,0,0,0,0,Lu,0},
+{cd337,0,cf253,-47,0,0,Ll,0},
+{cd338,0,cf248,-54,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf260,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf261,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf262,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf263,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf264,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf265,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf266,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf267,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf268,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf269,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf270,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf271,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd339,0,cf243,-86,0,0,Ll,0},
+{cd340,0,cf249,-80,0,0,Ll,0},
+{cd341,0,0,7,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{cd342,0,cf242,0,-60,0,Lu,0},
+{cd343,0,cf239,-96,0,0,Ll,0},
+{0,0,0,0,0,0,Sm,0},
+{0,0,cf272,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd344,0,cf273,0,-7,0,Lu,0},
+{0,0,cf274,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Ll,0},
+{0,0,cf275,0,-130,0,Lu,0},
+{0,0,cf276,0,-130,0,Lu,0},
+{0,0,cf277,0,-130,0,Lu,0}
 };
-static const struct unidata subtable8[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st8[] = {
+{cd345,cd345,cf278,0,80,0,Lu,0},
+{cd346,cd346,cf279,0,80,0,Lu,0},
+{0,0,cf280,0,80,0,Lu,0},
+{cd347,cd347,cf281,0,80,0,Lu,0},
+{0,0,cf282,0,80,0,Lu,0},
+{0,0,cf283,0,80,0,Lu,0},
+{0,0,cf284,0,80,0,Lu,0},
+{cd348,cd348,cf285,0,80,0,Lu,0},
+{0,0,cf286,0,80,0,Lu,0},
+{0,0,cf287,0,80,0,Lu,0},
+{0,0,cf288,0,80,0,Lu,0},
+{0,0,cf289,0,80,0,Lu,0},
+{cd349,cd349,cf290,0,80,0,Lu,0},
+{cd350,cd350,cf291,0,80,0,Lu,0},
+{cd351,cd351,cf292,0,80,0,Lu,0},
+{0,0,cf293,0,80,0,Lu,0},
+{0,0,cf294,0,32,0,Lu,0},
+{0,0,cf295,0,32,0,Lu,0},
+{0,0,cf296,0,32,0,Lu,0},
+{0,0,cf297,0,32,0,Lu,0},
+{0,0,cf298,0,32,0,Lu,0},
+{0,0,cf299,0,32,0,Lu,0},
+{0,0,cf300,0,32,0,Lu,0},
+{0,0,cf301,0,32,0,Lu,0},
+{0,0,cf302,0,32,0,Lu,0},
+{cd352,cd352,cf303,0,32,0,Lu,0},
+{0,0,cf304,0,32,0,Lu,0},
+{0,0,cf305,0,32,0,Lu,0},
+{0,0,cf306,0,32,0,Lu,0},
+{0,0,cf307,0,32,0,Lu,0},
+{0,0,cf308,0,32,0,Lu,0},
+{0,0,cf309,0,32,0,Lu,0},
+{0,0,cf310,0,32,0,Lu,0},
+{0,0,cf311,0,32,0,Lu,0},
+{0,0,cf312,0,32,0,Lu,0},
+{0,0,cf313,0,32,0,Lu,0},
+{0,0,cf314,0,32,0,Lu,0},
+{0,0,cf315,0,32,0,Lu,0},
+{0,0,cf316,0,32,0,Lu,0},
+{0,0,cf317,0,32,0,Lu,0},
+{0,0,cf318,0,32,0,Lu,0},
+{0,0,cf319,0,32,0,Lu,0},
+{0,0,cf320,0,32,0,Lu,0},
+{0,0,cf321,0,32,0,Lu,0},
+{0,0,cf322,0,32,0,Lu,0},
+{0,0,cf323,0,32,0,Lu,0},
+{0,0,cf324,0,32,0,Lu,0},
+{0,0,cf325,0,32,0,Lu,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd353,cd353,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{0,0,0,-32,0,0,Ll,0},
+{cd354,cd354,0,-80,0,0,Ll,0},
+{cd355,cd355,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{cd356,cd356,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{cd357,cd357,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{cd358,cd358,0,-80,0,0,Ll,0},
+{cd359,cd359,0,-80,0,0,Ll,0},
+{cd360,cd360,0,-80,0,0,Ll,0},
+{0,0,0,-80,0,0,Ll,0},
+{0,0,cf326,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf327,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf328,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf329,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf330,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf331,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf332,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf333,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf334,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf335,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf336,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd361,cd361,cf337,0,1,0,Lu,0},
+{cd362,cd362,0,-1,0,0,Ll,0},
+{0,0,cf338,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf339,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf340,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf341,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0}
 };
-static const struct unidata subtable9[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st9[] = {
+{0,0,cf342,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Me,0},
+{0,0,0,0,0,0,Me,0},
+{0,0,cf343,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf344,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf345,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf346,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf347,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf348,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf349,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf350,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf351,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf352,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf353,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf354,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf355,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf356,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf357,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf358,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf359,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf360,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf361,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf362,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf363,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf364,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf365,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf366,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf367,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf368,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf369,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf370,0,15,0,Lu,0},
+{cd363,cd363,cf371,0,1,0,Lu,0},
+{cd364,cd364,0,-1,0,0,Ll,0},
+{0,0,cf372,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf373,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf374,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf375,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf376,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf377,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,-15,0,0,Ll,0},
+{cd365,cd365,cf378,0,1,0,Lu,0},
+{cd366,cd366,0,-1,0,0,Ll,0},
+{cd367,cd367,cf379,0,1,0,Lu,0},
+{cd368,cd368,0,-1,0,0,Ll,0},
+{0,0,cf380,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd369,cd369,cf381,0,1,0,Lu,0},
+{cd370,cd370,0,-1,0,0,Ll,0},
+{0,0,cf382,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd371,cd371,cf383,0,1,0,Lu,0},
+{cd372,cd372,0,-1,0,0,Ll,0},
+{cd373,cd373,cf384,0,1,0,Lu,0},
+{cd374,cd374,0,-1,0,0,Ll,0},
+{cd375,cd375,cf385,0,1,0,Lu,0},
+{cd376,cd376,0,-1,0,0,Ll,0},
+{0,0,cf386,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd377,cd377,cf387,0,1,0,Lu,0},
+{cd378,cd378,0,-1,0,0,Ll,0},
+{cd379,cd379,cf388,0,1,0,Lu,0},
+{cd380,cd380,0,-1,0,0,Ll,0},
+{cd381,cd381,cf389,0,1,0,Lu,0},
+{cd382,cd382,0,-1,0,0,Ll,0},
+{0,0,cf390,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd383,cd383,cf391,0,1,0,Lu,0},
+{cd384,cd384,0,-1,0,0,Ll,0},
+{cd385,cd385,cf392,0,1,0,Lu,0},
+{cd386,cd386,0,-1,0,0,Ll,0},
+{cd387,cd387,cf393,0,1,0,Lu,0},
+{cd388,cd388,0,-1,0,0,Ll,0},
+{cd389,cd389,cf394,0,1,0,Lu,0},
+{cd390,cd390,0,-1,0,0,Ll,0},
+{cd391,cd391,cf395,0,1,0,Lu,0},
+{cd392,cd392,0,-1,0,0,Ll,0},
+{cd393,cd393,cf396,0,1,0,Lu,0},
+{cd394,cd394,0,-1,0,0,Ll,0},
+{0,0,cf397,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{cd395,cd395,cf398,0,1,0,Lu,0},
+{cd396,cd396,0,-1,0,0,Ll,0},
+{0,0,cf399,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf400,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf401,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0}
 };
-static const struct unidata subtable10[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st10[] = {
+{0,0,cf402,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf403,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf404,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf405,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf406,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf407,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf408,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf409,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf410,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,cf411,0,1,0,Lu,0},
+{0,0,0,-1,0,0,Ll,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,cf412,0,48,0,Lu,0},
+{0,0,cf413,0,48,0,Lu,0},
+{0,0,cf414,0,48,0,Lu,0},
+{0,0,cf415,0,48,0,Lu,0},
+{0,0,cf416,0,48,0,Lu,0},
+{0,0,cf417,0,48,0,Lu,0},
+{0,0,cf418,0,48,0,Lu,0},
+{0,0,cf419,0,48,0,Lu,0},
+{0,0,cf420,0,48,0,Lu,0},
+{0,0,cf421,0,48,0,Lu,0},
+{0,0,cf422,0,48,0,Lu,0},
+{0,0,cf423,0,48,0,Lu,0},
+{0,0,cf424,0,48,0,Lu,0},
+{0,0,cf425,0,48,0,Lu,0},
+{0,0,cf426,0,48,0,Lu,0},
+{0,0,cf427,0,48,0,Lu,0},
+{0,0,cf428,0,48,0,Lu,0},
+{0,0,cf429,0,48,0,Lu,0},
+{0,0,cf430,0,48,0,Lu,0},
+{0,0,cf431,0,48,0,Lu,0},
+{0,0,cf432,0,48,0,Lu,0},
+{0,0,cf433,0,48,0,Lu,0},
+{0,0,cf434,0,48,0,Lu,0},
+{0,0,cf435,0,48,0,Lu,0},
+{0,0,cf436,0,48,0,Lu,0},
+{0,0,cf437,0,48,0,Lu,0},
+{0,0,cf438,0,48,0,Lu,0},
+{0,0,cf439,0,48,0,Lu,0},
+{0,0,cf440,0,48,0,Lu,0},
+{0,0,cf441,0,48,0,Lu,0},
+{0,0,cf442,0,48,0,Lu,0},
+{0,0,cf443,0,48,0,Lu,0},
+{0,0,cf444,0,48,0,Lu,0},
+{0,0,cf445,0,48,0,Lu,0},
+{0,0,cf446,0,48,0,Lu,0},
+{0,0,cf447,0,48,0,Lu,0},
+{0,0,cf448,0,48,0,Lu,0},
+{0,0,cf449,0,48,0,Lu,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0}
 };
-static const struct unidata subtable11[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st11[] = {
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{0,0,0,-48,0,0,Ll,0},
+{cd397,0,cf450,0,0,0,Ll,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Pd,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,222,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,222,Mn,0},
+{0,0,0,0,0,228,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,10,Mn,0},
+{0,0,0,0,0,11,Mn,0},
+{0,0,0,0,0,12,Mn,0},
+{0,0,0,0,0,13,Mn,0},
+{0,0,0,0,0,14,Mn,0},
+{0,0,0,0,0,15,Mn,0},
+{0,0,0,0,0,16,Mn,0},
+{0,0,0,0,0,17,Mn,0},
+{0,0,0,0,0,18,Mn,0},
+{0,0,0,0,0,19,Mn,0},
+{0,0,0,0,0,19,Mn,0},
+{0,0,0,0,0,20,Mn,0},
+{0,0,0,0,0,21,Mn,0},
+{0,0,0,0,0,22,Mn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,23,Mn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,24,Mn,0},
+{0,0,0,0,0,25,Mn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,18,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable12[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 84, 0, 0 },
-  { unicode_gc_Mn, 91, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st12[] = {
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{cd398,cd398,0,0,0,0,Lo,0},
+{cd399,cd399,0,0,0,0,Lo,0},
+{cd400,cd400,0,0,0,0,Lo,0},
+{cd401,cd401,0,0,0,0,Lo,0},
+{cd402,cd402,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,27,Mn,0},
+{0,0,0,0,0,28,Mn,0},
+{0,0,0,0,0,29,Mn,0},
+{0,0,0,0,0,30,Mn,0},
+{0,0,0,0,0,31,Mn,0},
+{0,0,0,0,0,32,Mn,0},
+{0,0,0,0,0,33,Mn,0},
+{0,0,0,0,0,34,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,35,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd403,0,0,0,0,0,Lo,0},
+{cd404,0,0,0,0,0,Lo,0},
+{cd405,0,0,0,0,0,Lo,0},
+{cd406,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0}
 };
-static const struct unidata subtable13[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st13[] = {
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd407,cd407,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd408,cd408,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd409,cd409,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Me,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Lo,0}
 };
-static const struct unidata subtable14[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 103, 0, 0 },
-  { unicode_gc_Mn, 103, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Sc, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 107, 0, 0 },
-  { unicode_gc_Mn, 107, 0, 0 },
-  { unicode_gc_Mn, 107, 0, 0 },
-  { unicode_gc_Mn, 107, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 118, 0, 0 },
-  { unicode_gc_Mn, 118, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lm, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 122, 0, 0 },
-  { unicode_gc_Mn, 122, 0, 0 },
-  { unicode_gc_Mn, 122, 0, 0 },
-  { unicode_gc_Mn, 122, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st14[] = {
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cf,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,36,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable15[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 216, 0, 0 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 129, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 132, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 130, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Mn, 230, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Mn, 220, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_So, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st15[] = {
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Lm,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable16[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 7, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 9, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mc, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Mn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Lu, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st16[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable17[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st17[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd410,cd410,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd411,cd411,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{cd412,cd412,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,7,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,9,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,220,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,230,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd413,cd413,0,0,0,0,Lo,0},
+{cd414,cd414,0,0,0,0,Lo,0},
+{cd415,cd415,0,0,0,0,Lo,0},
+{cd416,cd416,0,0,0,0,Lo,0},
+{cd417,cd417,0,0,0,0,Lo,0},
+{cd418,cd418,0,0,0,0,Lo,0},
+{cd419,cd419,0,0,0,0,Lo,0},
+{cd420,cd420,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Po,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0}
 };
-static const struct unidata subtable18[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 }
+static const struct unidata st18[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,7,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd421,cd421,0,0,0,0,Mc,0},
+{cd422,cd422,0,0,0,0,Mc,0},
+{0,0,0,0,0,9,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd423,cd423,0,0,0,0,Lo,0},
+{cd424,cd424,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{cd425,cd425,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,No,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable19[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_Nd, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_No, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 }
+static const struct unidata st19[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{cd426,cd426,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{cd427,cd427,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,7,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,9,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd428,cd428,0,0,0,0,Lo,0},
+{cd429,cd429,0,0,0,0,Lo,0},
+{cd430,cd430,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{cd431,cd431,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable20[] = {
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 }
+static const struct unidata st20[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,7,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,9,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Sc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable21[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 }
+static const struct unidata st21[] = {
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,7,Mn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mc,0},
+{cd432,cd432,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd433,cd433,0,0,0,0,Mc,0},
+{cd434,cd434,0,0,0,0,Mc,0},
+{0,0,0,0,0,9,Mn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Mn,0},
+{0,0,0,0,0,0,Mc,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{cd435,cd435,0,0,0,0,Lo,0},
+{cd436,cd436,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,Nd,0},
+{0,0,0,0,0,0,So,0},
+{0,0,0,0,0,0,Lo,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0},
+{0,0,0,0,0,0,Cn,0}
 };
-static const struct unidata subtable22[] = {
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Po, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Zs, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Ps, 0, 0, 0 },
-  { unicode_gc_Pe, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Cn, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-  { unicode_gc_Lo, 0, 0, 0 },
-&nb