This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [BZ 14094] Update locale data to Unicode 7.0.0


Version2 of Patch.

>----- Original Message -----
>From: "Joseph S. Myers" <joseph@codesourcery.com>
>To: "Pravin Satpute" <psatpute@redhat.com>
>Cc: libc-alpha@sourceware.org, "Carlos O'Donell" <carlos@redhat.com>
>Sent: Sunday, June 22, 2014 2:34:30 AM
>Subject: Re: [PATCH] [BZ 14094] Update locale data to Unicode 7.0.0

>>On Sun, 22 Jun 2014, Pravin Satpute wrote:


>>  A.  Process for updating locales/i18n ctype with new Unicode release is
>> documented @ [1], I think it should get added either in WIKI, or docs
>> folder of glibc.

>The process should ideally be running a single command - no manual editing 
>at all.  (That command might be a script that wraps some other commands.)  
>If tempted to write instructions for running a sequence of commands and 
>editing the result, writing a script to automate that is better.

Now, we have single script. scripts/ctype-gen.sh, It generates unicode-ctype file.
Only for creating patch we need to copy content of unicode-ctype to i18n file. 

>>      Report/Analysis for backward compatibility is available AT
>> backward-compatibility5_1-to-7_0 [3]

>That report is a very useful starting point, but doesn't seem to explain 
>things at the human level.  What changes have there been to previously 
>supported characters, and why, in terms of Unicode character properties, 
>are those changes correct changes?  Maybe something more verbose that 
>names the characters individually and states what the old ctype 
>information was, and what the new information is, and what the relevant 
>Unicode proeprties are that explain the new information, would help.

Improved report available AT https://github.com/pravins/glibc-i18n/blob/master/unicode7-0/ctype-compatibility5_1-to-7_0

>You're changing how upper/lower/alpha properties are generated.  Does that 
>fix bug 14010?  If so, you can include [BZ #14010] in your ChangeLog 
>entry.  Does it obsolete the special cases in 
>gen-unicode-ctype.c:is_alpha?  If so, you should remove the parts of
>gen-unicode-ctype.c that are no longer used.  You should also confirm that 
>each of the special cases there is properly handled by the new logic - or 
>state explicitly that the handling of certain identified characters with 
>special cases is being deliberately changed, because the Unicode 
>properties for those characters are better than the special-case handling.

These classes now disable in gen-unicode-ctype.c and also moved this file to scripts/

>>  
>>  /* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
>> -   Unicode 6.0.  */
>> -#define __STDC_ISO_10646__		201103L
>> +   Unicode 6.0.
>> +   Unicode 7.0.0 Published on 2014 June 16   */
>> +#define __STDC_ISO_10646__		201406L

>maybe put 201304L there until such an amendment is published.

Done. Thanks for pointer.

>> diff --git a/scripts/check-backcompatibility.py b/scripts/check-backcompatibility.py
>> new file mode 100755
>> index 0000000..a56ac0a
>> --- /dev/null
>> +++ b/scripts/check-backcompatibility.py

>I think in scripts/ the name should be more specific about *what* is 
>having compatibility checked - scripts/ is for all of glibc, not just 
>locale data.

Now script name is check-compatibility.py I think starting name of scripts with ctype will 
help to identify them quickly.

>> +# Copyright (C) 2013-14, Pravin Satpute <psatpute@redhat.com>

>glibc contributions should be assigned to the FSF (and miscellaneous 
>programs would normally by GPLv2+ / LGPLv2.1+ unless there is some reason 
>to deviate from the norm for such programs in glibc).

Done.

Let me know if anything more missing.

Thanks,
Pravin Satpute
From 4c677f7b72bcd7e4e94294b7bb5f2902ed08ea11 Mon Sep 17 00:00:00 2001
From: Pravin Satpute <psatpute@redhat.com>
Date: Wed, 25 Jun 2014 11:54:30 +0530
Subject: [PATCH] Resolves #14094 and #14010

---
 ChangeLog                        |   20 +
 include/stdc-predef.h            |    6 +-
 localedata/ChangeLog             |    4 +
 localedata/gen-unicode-ctype.c   |  784 -----------
 localedata/locales/i18n          | 2822 +++++++++++++++++++++-----------------
 scripts/ctype-compatibility.py   |  213 +++
 scripts/ctype-gen.sh             |   29 +
 scripts/gen-unicode-ctype-dcp.py |   98 ++
 scripts/gen-unicode-ctype.c      |  791 +++++++++++
 9 files changed, 2703 insertions(+), 2064 deletions(-)
 delete mode 100644 localedata/gen-unicode-ctype.c
 create mode 100755 scripts/ctype-compatibility.py
 create mode 100755 scripts/ctype-gen.sh
 create mode 100755 scripts/gen-unicode-ctype-dcp.py
 create mode 100644 scripts/gen-unicode-ctype.c

diff --git a/ChangeLog b/ChangeLog
index 9409918..1557a73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2014-06-25  Pravin Satpute  <psatpute@redhat.com>
+
+        * scripts/gen-unicode-ctype.c: Program moved from
+	localedate to scripts.
+
+        * scripts/gen-unicode-ctype.c: Disabled upper, lower
+        alpha and outdigit classes.
+
+        * scripts/gen-unicode-ctype-dcp.py: New script for
+	generating locales/i18n upper, lower and alpha ctype from 
+	DerivedCoreProperties.txt
+
+	* scripts/ctype-gen.sh: Shell script to generate LC_CTYPE for 
+	new Unicode version.
+
+        * scripts/ctype-compatibility.py:  Script for testing
+	testing backward compatibility of LC_CTYPE locales/i18n.
+
+	* include/stdc-predef.h: Updated for latest  ISO/IEC 10646 amendment.
+
 2014-06-25  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #17086]
diff --git a/include/stdc-predef.h b/include/stdc-predef.h
index 87e3666..d1f5989 100644
--- a/include/stdc-predef.h
+++ b/include/stdc-predef.h
@@ -49,9 +49,9 @@
 # define __STDC_IEC_559_COMPLEX__	1
 #endif
 
-/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
-   Unicode 6.0.  */
-#define __STDC_ISO_10646__		201103L
+/* wchar_t uses ISO/IEC 10646 amendment published 2013-04-15) /
+    */
+#define __STDC_ISO_10646__		201304L
 
 /* We do not support C11 <threads.h>.  */
 #define __STDC_NO_THREADS__		1
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 9dd3cf2..13e9bee 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+ 2014-06-25  Pravin Satpute  <psatpute@redhat.com>
+         [BZ #14094 #14010]
+	* locales/i18n: Updated to Unicode 7.0.0
+
 2014-06-20  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
 	* Makefile (LOCALES): Add en_GB.UTF-8.
diff --git a/localedata/gen-unicode-ctype.c b/localedata/gen-unicode-ctype.c
deleted file mode 100644
index 0c001b2..0000000
--- a/localedata/gen-unicode-ctype.c
+++ /dev/null
@@ -1,784 +0,0 @@
-/* Generate a Unicode conforming LC_CTYPE category from a UnicodeData file.
-   Copyright (C) 2000-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Usage example:
-     $ gen-unicode /usr/local/share/Unidata/UnicodeData.txt 3.1
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <string.h>
-#include <time.h>
-
-/* This structure represents one line in the UnicodeData.txt file.  */
-struct unicode_attribute
-{
-  const char *name;           /* Character name */
-  const char *category;       /* General category */
-  const char *combining;      /* Canonical combining classes */
-  const char *bidi;           /* Bidirectional category */
-  const char *decomposition;  /* Character decomposition mapping */
-  const char *decdigit;       /* Decimal digit value */
-  const char *digit;          /* Digit value */
-  const char *numeric;        /* Numeric value */
-  int mirrored;               /* mirrored */
-  const char *oldname;        /* Old Unicode 1.0 name */
-  const char *comment;        /* Comment */
-  unsigned int upper;         /* Uppercase mapping */
-  unsigned int lower;         /* Lowercase mapping */
-  unsigned int title;         /* Titlecase mapping */
-};
-
-/* Missing fields are represented with "" for strings, and NONE for
-   characters.  */
-#define NONE (~(unsigned int)0)
-
-/* The entire contents of the UnicodeData.txt file.  */
-struct unicode_attribute unicode_attributes [0x110000];
-
-/* Stores in unicode_attributes[i] the values from the given fields.  */
-static void
-fill_attribute (unsigned int i,
-		const char *field1, const char *field2,
-		const char *field3, const char *field4,
-		const char *field5, const char *field6,
-		const char *field7, const char *field8,
-		const char *field9, const char *field10,
-		const char *field11, const char *field12,
-		const char *field13, const char *field14)
-{
-  struct unicode_attribute * uni;
-
-  if (i >= 0x110000)
-    {
-      fprintf (stderr, "index too large\n");
-      exit (1);
-    }
-  if (strcmp (field2, "Cs") == 0)
-    /* Surrogates are UTF-16 artefacts, not real characters. Ignore them.  */
-    return;
-  uni = &unicode_attributes[i];
-  /* Copy the strings.  */
-  uni->name          = strdup (field1);
-  uni->category      = (field2[0] == '\0' ? "" : strdup (field2));
-  uni->combining     = (field3[0] == '\0' ? "" : strdup (field3));
-  uni->bidi          = (field4[0] == '\0' ? "" : strdup (field4));
-  uni->decomposition = (field5[0] == '\0' ? "" : strdup (field5));
-  uni->decdigit      = (field6[0] == '\0' ? "" : strdup (field6));
-  uni->digit         = (field7[0] == '\0' ? "" : strdup (field7));
-  uni->numeric       = (field8[0] == '\0' ? "" : strdup (field8));
-  uni->mirrored      = (field9[0] == 'Y');
-  uni->oldname       = (field10[0] == '\0' ? "" : strdup (field10));
-  uni->comment       = (field11[0] == '\0' ? "" : strdup (field11));
-  uni->upper = (field12[0] =='\0' ? NONE : strtoul (field12, NULL, 16));
-  uni->lower = (field13[0] =='\0' ? NONE : strtoul (field13, NULL, 16));
-  uni->title = (field14[0] =='\0' ? NONE : strtoul (field14, NULL, 16));
-}
-
-/* Maximum length of a field in the UnicodeData.txt file.  */
-#define FIELDLEN 120
-
-/* Reads the next field from STREAM.  The buffer BUFFER has size FIELDLEN.
-   Reads up to (but excluding) DELIM.
-   Returns 1 when a field was successfully read, otherwise 0.  */
-static int
-getfield (FILE *stream, char *buffer, int delim)
-{
-  int count = 0;
-  int c;
-
-  for (; (c = getc (stream)), (c != EOF && c != delim); )
-    {
-      /* The original unicode.org UnicodeData.txt file happens to have
-	 CR/LF line terminators.  Silently convert to LF.  */
-      if (c == '\r')
-	continue;
-
-      /* Put c into the buffer.  */
-      if (++count >= FIELDLEN - 1)
-	{
-	  fprintf (stderr, "field too long\n");
-	  exit (1);
-	}
-      *buffer++ = c;
-    }
-
-  if (c == EOF)
-    return 0;
-
-  *buffer = '\0';
-  return 1;
-}
-
-/* Stores in unicode_attributes[] the entire contents of the UnicodeData.txt
-   file.  */
-static void
-fill_attributes (const char *unicodedata_filename)
-{
-  unsigned int i, j;
-  FILE *stream;
-  char field0[FIELDLEN];
-  char field1[FIELDLEN];
-  char field2[FIELDLEN];
-  char field3[FIELDLEN];
-  char field4[FIELDLEN];
-  char field5[FIELDLEN];
-  char field6[FIELDLEN];
-  char field7[FIELDLEN];
-  char field8[FIELDLEN];
-  char field9[FIELDLEN];
-  char field10[FIELDLEN];
-  char field11[FIELDLEN];
-  char field12[FIELDLEN];
-  char field13[FIELDLEN];
-  char field14[FIELDLEN];
-  int lineno = 0;
-
-  for (i = 0; i < 0x110000; i++)
-    unicode_attributes[i].name = NULL;
-
-  stream = fopen (unicodedata_filename, "r");
-  if (stream == NULL)
-    {
-      fprintf (stderr, "error during fopen of '%s'\n", unicodedata_filename);
-      exit (1);
-    }
-
-  for (;;)
-    {
-      int n;
-
-      lineno++;
-      n = getfield (stream, field0, ';');
-      n += getfield (stream, field1, ';');
-      n += getfield (stream, field2, ';');
-      n += getfield (stream, field3, ';');
-      n += getfield (stream, field4, ';');
-      n += getfield (stream, field5, ';');
-      n += getfield (stream, field6, ';');
-      n += getfield (stream, field7, ';');
-      n += getfield (stream, field8, ';');
-      n += getfield (stream, field9, ';');
-      n += getfield (stream, field10, ';');
-      n += getfield (stream, field11, ';');
-      n += getfield (stream, field12, ';');
-      n += getfield (stream, field13, ';');
-      n += getfield (stream, field14, '\n');
-      if (n == 0)
-	break;
-      if (n != 15)
-	{
-	  fprintf (stderr, "short line in'%s':%d\n",
-		   unicodedata_filename, lineno);
-	  exit (1);
-	}
-      i = strtoul (field0, NULL, 16);
-      if (field1[0] == '<'
-	  && strlen (field1) >= 9
-	  && !strcmp (field1 + strlen(field1) - 8, ", First>"))
-	{
-	  /* Deal with a range. */
-	  lineno++;
-	  n = getfield (stream, field0, ';');
-	  n += getfield (stream, field1, ';');
-	  n += getfield (stream, field2, ';');
-	  n += getfield (stream, field3, ';');
-	  n += getfield (stream, field4, ';');
-	  n += getfield (stream, field5, ';');
-	  n += getfield (stream, field6, ';');
-	  n += getfield (stream, field7, ';');
-	  n += getfield (stream, field8, ';');
-	  n += getfield (stream, field9, ';');
-	  n += getfield (stream, field10, ';');
-	  n += getfield (stream, field11, ';');
-	  n += getfield (stream, field12, ';');
-	  n += getfield (stream, field13, ';');
-	  n += getfield (stream, field14, '\n');
-	  if (n != 15)
-	    {
-	      fprintf (stderr, "missing end range in '%s':%d\n",
-		       unicodedata_filename, lineno);
-	      exit (1);
-	    }
-	  if (!(field1[0] == '<'
-		&& strlen (field1) >= 8
-		&& !strcmp (field1 + strlen (field1) - 7, ", Last>")))
-	    {
-	      fprintf (stderr, "missing end range in '%s':%d\n",
-		       unicodedata_filename, lineno);
-	      exit (1);
-	    }
-	  field1[strlen (field1) - 7] = '\0';
-	  j = strtoul (field0, NULL, 16);
-	  for (; i <= j; i++)
-	    fill_attribute (i, field1+1, field2, field3, field4, field5,
-			       field6, field7, field8, field9, field10,
-			       field11, field12, field13, field14);
-	}
-      else
-	{
-	  /* Single character line */
-	  fill_attribute (i, field1, field2, field3, field4, field5,
-			     field6, field7, field8, field9, field10,
-			     field11, field12, field13, field14);
-	}
-    }
-  if (ferror (stream) || fclose (stream))
-    {
-      fprintf (stderr, "error reading from '%s'\n", unicodedata_filename);
-      exit (1);
-    }
-}
-
-/* Character mappings.  */
-
-static unsigned int
-to_upper (unsigned int ch)
-{
-  if (unicode_attributes[ch].name != NULL
-      && unicode_attributes[ch].upper != NONE)
-    return unicode_attributes[ch].upper;
-  else
-    return ch;
-}
-
-static unsigned int
-to_lower (unsigned int ch)
-{
-  if (unicode_attributes[ch].name != NULL
-      && unicode_attributes[ch].lower != NONE)
-    return unicode_attributes[ch].lower;
-  else
-    return ch;
-}
-
-static unsigned int
-to_title (unsigned int ch)
-{
-  if (unicode_attributes[ch].name != NULL
-      && unicode_attributes[ch].title != NONE)
-    return unicode_attributes[ch].title;
-  else
-    return ch;
-}
-
-/* Character class properties.  */
-
-static bool
-is_upper (unsigned int ch)
-{
-  return (to_lower (ch) != ch);
-}
-
-static bool
-is_lower (unsigned int ch)
-{
-  return (to_upper (ch) != ch)
-	 /* <U00DF> is lowercase, but without simple to_upper mapping.  */
-	 || (ch == 0x00DF);
-}
-
-static bool
-is_alpha (unsigned int ch)
-{
-  return (unicode_attributes[ch].name != NULL
-	  && ((unicode_attributes[ch].category[0] == 'L'
-	       /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
-		  <U0E2F>, <U0E46> should belong to is_punct.  */
-	       && (ch != 0x0E2F) && (ch != 0x0E46))
-	      /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
-		 <U0E31>, <U0E34>..<U0E3A>, <U0E47>..<U0E4E> are is_alpha.  */
-	      || (ch == 0x0E31)
-	      || (ch >= 0x0E34 && ch <= 0x0E3A)
-	      || (ch >= 0x0E47 && ch <= 0x0E4E)
-	      /* Avoid warning for <U0345>.  */
-	      || (ch == 0x0345)
-	      /* Avoid warnings for <U2160>..<U217F>.  */
-	      || (unicode_attributes[ch].category[0] == 'N'
-		  && unicode_attributes[ch].category[1] == 'l')
-	      /* Avoid warnings for <U24B6>..<U24E9>.  */
-	      || (unicode_attributes[ch].category[0] == 'S'
-		  && unicode_attributes[ch].category[1] == 'o'
-		  && strstr (unicode_attributes[ch].name, " LETTER ")
-		     != NULL)
-	      /* Consider all the non-ASCII digits as alphabetic.
-		 ISO C 99 forbids us to have them in category "digit",
-		 but we want iswalnum to return true on them.  */
-	      || (unicode_attributes[ch].category[0] == 'N'
-		  && unicode_attributes[ch].category[1] == 'd'
-		  && !(ch >= 0x0030 && ch <= 0x0039))));
-}
-
-static bool
-is_digit (unsigned int ch)
-{
-#if 0
-  return (unicode_attributes[ch].name != NULL
-	  && unicode_attributes[ch].category[0] == 'N'
-	  && unicode_attributes[ch].category[1] == 'd');
-  /* Note: U+0BE7..U+0BEF and U+1369..U+1371 are digit systems without
-     a zero.  Must add <0> in front of them by hand.  */
-#else
-  /* SUSV2 gives us some freedom for the "digit" category, but ISO C 99
-     takes it away:
-     7.25.2.1.5:
-        The iswdigit function tests for any wide character that corresponds
-        to a decimal-digit character (as defined in 5.2.1).
-     5.2.1:
-        the 10 decimal digits 0 1 2 3 4 5 6 7 8 9
-   */
-  return (ch >= 0x0030 && ch <= 0x0039);
-#endif
-}
-
-static bool
-is_outdigit (unsigned int ch)
-{
-  return (ch >= 0x0030 && ch <= 0x0039);
-}
-
-static bool
-is_blank (unsigned int ch)
-{
-  return (ch == 0x0009 /* '\t' */
-	  /* Category Zs without mention of "<noBreak>" */
-	  || (unicode_attributes[ch].name != NULL
-	      && unicode_attributes[ch].category[0] == 'Z'
-	      && unicode_attributes[ch].category[1] == 's'
-	      && !strstr (unicode_attributes[ch].decomposition, "<noBreak>")));
-}
-
-static bool
-is_space (unsigned int ch)
-{
-  /* Don't make U+00A0 a space. Non-breaking space means that all programs
-     should treat it like a punctuation character, not like a space. */
-  return (ch == 0x0020 /* ' ' */
-	  || ch == 0x000C /* '\f' */
-	  || ch == 0x000A /* '\n' */
-	  || ch == 0x000D /* '\r' */
-	  || ch == 0x0009 /* '\t' */
-	  || ch == 0x000B /* '\v' */
-	  /* Categories Zl, Zp, and Zs without mention of "<noBreak>" */
-	  || (unicode_attributes[ch].name != NULL
-	      && unicode_attributes[ch].category[0] == 'Z'
-	      && (unicode_attributes[ch].category[1] == 'l'
-		  || unicode_attributes[ch].category[1] == 'p'
-		  || (unicode_attributes[ch].category[1] == 's'
-		      && !strstr (unicode_attributes[ch].decomposition,
-				  "<noBreak>")))));
-}
-
-static bool
-is_cntrl (unsigned int ch)
-{
-  return (unicode_attributes[ch].name != NULL
-	  && (!strcmp (unicode_attributes[ch].name, "<control>")
-	      /* Categories Zl and Zp */
-	      || (unicode_attributes[ch].category[0] == 'Z'
-		  && (unicode_attributes[ch].category[1] == 'l'
-		      || unicode_attributes[ch].category[1] == 'p'))));
-}
-
-static bool
-is_xdigit (unsigned int ch)
-{
-#if 0
-  return is_digit (ch)
-	 || (ch >= 0x0041 && ch <= 0x0046)
-	 || (ch >= 0x0061 && ch <= 0x0066);
-#else
-  /* SUSV2 gives us some freedom for the "xdigit" category, but ISO C 99
-     takes it away:
-     7.25.2.1.12:
-        The iswxdigit function tests for any wide character that corresponds
-        to a hexadecimal-digit character (as defined in 6.4.4.1).
-     6.4.4.1:
-        hexadecimal-digit: one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
-   */
-  return (ch >= 0x0030 && ch <= 0x0039)
-	 || (ch >= 0x0041 && ch <= 0x0046)
-	 || (ch >= 0x0061 && ch <= 0x0066);
-#endif
-}
-
-static bool
-is_graph (unsigned int ch)
-{
-  return (unicode_attributes[ch].name != NULL
-	  && strcmp (unicode_attributes[ch].name, "<control>")
-	  && !is_space (ch));
-}
-
-static bool
-is_print (unsigned int ch)
-{
-  return (unicode_attributes[ch].name != NULL
-	  && strcmp (unicode_attributes[ch].name, "<control>")
-	  /* Categories Zl and Zp */
-	  && !(unicode_attributes[ch].name != NULL
-	       && unicode_attributes[ch].category[0] == 'Z'
-	       && (unicode_attributes[ch].category[1] == 'l'
-		   || unicode_attributes[ch].category[1] == 'p')));
-}
-
-static bool
-is_punct (unsigned int ch)
-{
-#if 0
-  return (unicode_attributes[ch].name != NULL
-	  && unicode_attributes[ch].category[0] == 'P');
-#else
-  /* The traditional POSIX definition of punctuation is every graphic,
-     non-alphanumeric character.  */
-  return (is_graph (ch) && !is_alpha (ch) && !is_digit (ch));
-#endif
-}
-
-static bool
-is_combining (unsigned int ch)
-{
-  /* Up to Unicode 3.0.1 we took the Combining property from the PropList.txt
-     file. In 3.0.1 it was identical to the union of the general categories
-     "Mn", "Mc", "Me". In Unicode 3.1 this property has been dropped from the
-     PropList.txt file, so we take the latter definition.  */
-  return (unicode_attributes[ch].name != NULL
-	  && unicode_attributes[ch].category[0] == 'M'
-	  && (unicode_attributes[ch].category[1] == 'n'
-	      || unicode_attributes[ch].category[1] == 'c'
-	      || unicode_attributes[ch].category[1] == 'e'));
-}
-
-static bool
-is_combining_level3 (unsigned int ch)
-{
-  return is_combining (ch)
-	 && !(unicode_attributes[ch].combining[0] != '\0'
-	      && unicode_attributes[ch].combining[0] != '0'
-	      && strtoul (unicode_attributes[ch].combining, NULL, 10) >= 200);
-}
-
-/* Return the UCS symbol string for a Unicode character.  */
-static const char *
-ucs_symbol (unsigned int i)
-{
-  static char buf[11+1];
-
-  sprintf (buf, (i < 0x10000 ? "<U%04X>" : "<U%08X>"), i);
-  return buf;
-}
-
-/* Return the UCS symbol range string for a Unicode characters interval.  */
-static const char *
-ucs_symbol_range (unsigned int low, unsigned int high)
-{
-  static char buf[24+1];
-
-  strcpy (buf, ucs_symbol (low));
-  strcat (buf, "..");
-  strcat (buf, ucs_symbol (high));
-  return buf;
-}
-
-/* Output a character class (= property) table.  */
-
-static void
-output_charclass (FILE *stream, const char *classname,
-		  bool (*func) (unsigned int))
-{
-  char table[0x110000];
-  unsigned int i;
-  bool need_semicolon;
-  const int max_column = 75;
-  int column;
-
-  for (i = 0; i < 0x110000; i++)
-    table[i] = (int) func (i);
-
-  fprintf (stream, "%s ", classname);
-  need_semicolon = false;
-  column = 1000;
-  for (i = 0; i < 0x110000; )
-    {
-      if (!table[i])
-	i++;
-      else
-	{
-	  unsigned int low, high;
-	  char buf[25];
-
-	  low = i;
-	  do
-	    i++;
-	  while (i < 0x110000 && table[i]);
-	  high = i - 1;
-
-	  if (low == high)
-	    strcpy (buf, ucs_symbol (low));
-	  else
-	    strcpy (buf, ucs_symbol_range (low, high));
-
-	  if (need_semicolon)
-	    {
-	      fprintf (stream, ";");
-	      column++;
-	    }
-
-	  if (column + strlen (buf) > max_column)
-	    {
-	      fprintf (stream, "/\n   ");
-	      column = 3;
-	    }
-
-	  fprintf (stream, "%s", buf);
-	  column += strlen (buf);
-	  need_semicolon = true;
-	}
-    }
-  fprintf (stream, "\n");
-}
-
-/* Output a character mapping table.  */
-
-static void
-output_charmap (FILE *stream, const char *mapname,
-		unsigned int (*func) (unsigned int))
-{
-  char table[0x110000];
-  unsigned int i;
-  bool need_semicolon;
-  const int max_column = 75;
-  int column;
-
-  for (i = 0; i < 0x110000; i++)
-    table[i] = (func (i) != i);
-
-  fprintf (stream, "%s ", mapname);
-  need_semicolon = false;
-  column = 1000;
-  for (i = 0; i < 0x110000; i++)
-    if (table[i])
-      {
-	char buf[25+1];
-
-	strcpy (buf, "(");
-	strcat (buf, ucs_symbol (i));
-	strcat (buf, ",");
-	strcat (buf, ucs_symbol (func (i)));
-	strcat (buf, ")");
-
-	if (need_semicolon)
-	  {
-	    fprintf (stream, ";");
-	    column++;
-	  }
-
-	if (column + strlen (buf) > max_column)
-	  {
-	    fprintf (stream, "/\n   ");
-	    column = 3;
-	  }
-
-	fprintf (stream, "%s", buf);
-	column += strlen (buf);
-	need_semicolon = true;
-      }
-  fprintf (stream, "\n");
-}
-
-/* Output the width table.  */
-
-static void
-output_widthmap (FILE *stream)
-{
-}
-
-/* Output the tables to the given file.  */
-
-static void
-output_tables (const char *filename, const char *version)
-{
-  FILE *stream;
-  unsigned int ch;
-
-  stream = fopen (filename, "w");
-  if (stream == NULL)
-    {
-      fprintf (stderr, "cannot open '%s' for writing\n", filename);
-      exit (1);
-    }
-
-  fprintf (stream, "escape_char /\n");
-  fprintf (stream, "comment_char %%\n");
-  fprintf (stream, "\n");
-  fprintf (stream, "%% Generated automatically by gen-unicode-ctype for Unicode %s.\n",
-	   version);
-  fprintf (stream, "\n");
-
-  fprintf (stream, "LC_IDENTIFICATION\n");
-  fprintf (stream, "title     \"Unicode %s FDCC-set\"\n", version);
-  fprintf (stream, "source    \"UnicodeData.txt, PropList.txt\"\n");
-  fprintf (stream, "address   \"\"\n");
-  fprintf (stream, "contact   \"\"\n");
-  fprintf (stream, "email     \"bug-glibc-locales@gnu.org\"\n");
-  fprintf (stream, "tel       \"\"\n");
-  fprintf (stream, "fax       \"\"\n");
-  fprintf (stream, "language  \"\"\n");
-  fprintf (stream, "territory \"Earth\"\n");
-  fprintf (stream, "revision  \"%s\"\n", version);
-  {
-    time_t now;
-    char date[11];
-    now = time (NULL);
-    strftime (date, sizeof (date), "%Y-%m-%d", gmtime (&now));
-    fprintf (stream, "date      \"%s\"\n", date);
-  }
-  fprintf (stream, "category  \"unicode:2001\";LC_CTYPE\n");
-  fprintf (stream, "END LC_IDENTIFICATION\n");
-  fprintf (stream, "\n");
-
-  /* Verifications. */
-  for (ch = 0; ch < 0x110000; ch++)
-    {
-      /* toupper restriction: "Only characters specified for the keywords
-	 lower and upper shall be specified.  */
-      if (to_upper (ch) != ch && !(is_lower (ch) || is_upper (ch)))
-	fprintf (stderr,
-		 "%s is not upper|lower but toupper(0x%04X) = 0x%04X\n",
-		 ucs_symbol (ch), ch, to_upper (ch));
-
-      /* tolower restriction: "Only characters specified for the keywords
-	 lower and upper shall be specified.  */
-      if (to_lower (ch) != ch && !(is_lower (ch) || is_upper (ch)))
-	fprintf (stderr,
-		 "%s is not upper|lower but tolower(0x%04X) = 0x%04X\n",
-		 ucs_symbol (ch), ch, to_lower (ch));
-
-      /* alpha restriction: "Characters classified as either upper or lower
-	 shall automatically belong to this class.  */
-      if ((is_lower (ch) || is_upper (ch)) && !is_alpha (ch))
-	fprintf (stderr, "%s is upper|lower but not alpha\n", ucs_symbol (ch));
-
-      /* alpha restriction: "No character specified for the keywords cntrl,
-	 digit, punct or space shall be specified."  */
-      if (is_alpha (ch) && is_cntrl (ch))
-	fprintf (stderr, "%s is alpha and cntrl\n", ucs_symbol (ch));
-      if (is_alpha (ch) && is_digit (ch))
-	fprintf (stderr, "%s is alpha and digit\n", ucs_symbol (ch));
-      if (is_alpha (ch) && is_punct (ch))
-	fprintf (stderr, "%s is alpha and punct\n", ucs_symbol (ch));
-      if (is_alpha (ch) && is_space (ch))
-	fprintf (stderr, "%s is alpha and space\n", ucs_symbol (ch));
-
-      /* space restriction: "No character specified for the keywords upper,
-	 lower, alpha, digit, graph or xdigit shall be specified."
-	 upper, lower, alpha already checked above.  */
-      if (is_space (ch) && is_digit (ch))
-	fprintf (stderr, "%s is space and digit\n", ucs_symbol (ch));
-      if (is_space (ch) && is_graph (ch))
-	fprintf (stderr, "%s is space and graph\n", ucs_symbol (ch));
-      if (is_space (ch) && is_xdigit (ch))
-	fprintf (stderr, "%s is space and xdigit\n", ucs_symbol (ch));
-
-      /* cntrl restriction: "No character specified for the keywords upper,
-	 lower, alpha, digit, punct, graph, print or xdigit shall be
-	 specified."  upper, lower, alpha already checked above.  */
-      if (is_cntrl (ch) && is_digit (ch))
-	fprintf (stderr, "%s is cntrl and digit\n", ucs_symbol (ch));
-      if (is_cntrl (ch) && is_punct (ch))
-	fprintf (stderr, "%s is cntrl and punct\n", ucs_symbol (ch));
-      if (is_cntrl (ch) && is_graph (ch))
-	fprintf (stderr, "%s is cntrl and graph\n", ucs_symbol (ch));
-      if (is_cntrl (ch) && is_print (ch))
-	fprintf (stderr, "%s is cntrl and print\n", ucs_symbol (ch));
-      if (is_cntrl (ch) && is_xdigit (ch))
-	fprintf (stderr, "%s is cntrl and xdigit\n", ucs_symbol (ch));
-
-      /* punct restriction: "No character specified for the keywords upper,
-	 lower, alpha, digit, cntrl, xdigit or as the <space> character shall
-	 be specified."  upper, lower, alpha, cntrl already checked above.  */
-      if (is_punct (ch) && is_digit (ch))
-	fprintf (stderr, "%s is punct and digit\n", ucs_symbol (ch));
-      if (is_punct (ch) && is_xdigit (ch))
-	fprintf (stderr, "%s is punct and xdigit\n", ucs_symbol (ch));
-      if (is_punct (ch) && (ch == 0x0020))
-	fprintf (stderr, "%s is punct\n", ucs_symbol (ch));
-
-      /* graph restriction: "No character specified for the keyword cntrl
-	 shall be specified."  Already checked above.  */
-
-      /* print restriction: "No character specified for the keyword cntrl
-	 shall be specified."  Already checked above.  */
-
-      /* graph - print relation: differ only in the <space> character.
-	 How is this possible if there are more than one space character?!
-	 I think susv2/xbd/locale.html should speak of "space characters",
-	 not "space character".  */
-      if (is_print (ch) && !(is_graph (ch) || /* ch == 0x0020 */ is_space (ch)))
-	fprintf (stderr,
-		 "%s is print but not graph|<space>\n", ucs_symbol (ch));
-      if (!is_print (ch) && (is_graph (ch) || ch == 0x0020))
-	fprintf (stderr,
-		 "%s is graph|<space> but not print\n", ucs_symbol (ch));
-    }
-
-  fprintf (stream, "LC_CTYPE\n");
-  output_charclass (stream, "upper", is_upper);
-  output_charclass (stream, "lower", is_lower);
-  output_charclass (stream, "alpha", is_alpha);
-  output_charclass (stream, "digit", is_digit);
-  output_charclass (stream, "outdigit", is_outdigit);
-  output_charclass (stream, "blank", is_blank);
-  output_charclass (stream, "space", is_space);
-  output_charclass (stream, "cntrl", is_cntrl);
-  output_charclass (stream, "punct", is_punct);
-  output_charclass (stream, "xdigit", is_xdigit);
-  output_charclass (stream, "graph", is_graph);
-  output_charclass (stream, "print", is_print);
-  output_charclass (stream, "class \"combining\";", is_combining);
-  output_charclass (stream, "class \"combining_level3\";", is_combining_level3);
-  output_charmap (stream, "toupper", to_upper);
-  output_charmap (stream, "tolower", to_lower);
-  output_charmap (stream, "map \"totitle\";", to_title);
-  output_widthmap (stream);
-  fprintf (stream, "END LC_CTYPE\n");
-
-  if (ferror (stream) || fclose (stream))
-    {
-      fprintf (stderr, "error writing to '%s'\n", filename);
-      exit (1);
-    }
-}
-
-int
-main (int argc, char * argv[])
-{
-  if (argc != 3)
-    {
-      fprintf (stderr, "Usage: %s UnicodeData.txt version\n", argv[0]);
-      exit (1);
-    }
-
-  fill_attributes (argv[1]);
-
-  output_tables ("unicode", argv[2]);
-
-  return 0;
-}
diff --git a/localedata/locales/i18n b/localedata/locales/i18n
index 4f8b9e1..89092db 100644
--- a/localedata/locales/i18n
+++ b/localedata/locales/i18n
@@ -12,7 +12,7 @@ fax                   ""
 language              ""
 territory             ""
 revision              ""
-date                  "2008-04-13"
+date                  "2014-06-24"
 %
 category  "i18n:2000";LC_IDENTIFICATION
 category  "i18n:2000";LC_CTYPE
@@ -30,734 +30,757 @@ END LC_IDENTIFICATION
 
 LC_CTYPE
 % The following is the 14652 i18n fdcc-set LC_CTYPE category.
-% It covers Unicode version 5.0.0.
+% It covers Unicode version 7.0.0.
 % The character classes and mapping tables were automatically generated
-% using the gen-unicode-ctype.c program.
+% using the ctype-gen.sh script.
 
-% The "upper" class reflects the uppercase characters of class "alpha"
-upper /
-% BASIC LATIN/
-   <U0041>..<U005A>;/
-% LATIN-1 SUPPLEMENT/
-   <U00C0>..<U00D6>;<U00D8>..<U00DE>;/
-% LATIN EXTENDED-A/
-   <U0100>..(2)..<U0136>;/
-   <U0139>..(2)..<U0147>;/
-   <U014A>..(2)..<U0178>;/
-   <U0179>..(2)..<U017D>;/
-% LATIN EXTENDED-B/
-   <U0181>;<U0182>..(2)..<U0186>;<U0187>;/
-   <U0189>..<U018B>;<U018E>..<U0191>;<U0193>;<U0194>;/
-   <U0196>..<U0198>;<U019C>;<U019D>;<U019F>;/
-   <U01A0>..(2)..<U01A4>;/
-   <U01A6>;<U01A7>;<U01A9>;<U01AC>;<U01AE>;<U01AF>;<U01B1>..<U01B3>;/
-   <U01B5>;<U01B7>;<U01B8>;<U01BC>;<U01C4>;<U01C5>;<U01C7>;<U01C8>;/
-   <U01CA>;<U01CB>;/
-   <U01CD>..(2)..<U01DB>;/
-   <U01DE>..(2)..<U01EE>;/
-   <U01F1>;<U01F2>;<U01F4>;<U01F6>..<U01F8>;<U01FA>..(2)..<U01FE>;/
-   <U0200>..(2)..<U0232>;/
-   <U023A>;<U023B>;<U023D>;<U023E>;/
-   <U0241>;<U0243>..<U0246>;<U0248>;<U024A>;<U024C>;<U024E>;/
-% BASIC GREEK/
-   <U0370>;<U0372>;<U0376>;/
-   <U0386>;<U0388>..<U038A>;<U038C>;<U038E>;<U038F>;<U0391>..<U03A1>;/
-   <U03A3>..<U03AB>;<U03D8>..(2)..<U03DE>;/
-% GREEK SYMBOLS AND COPTIC/
-   <U03E0>..(2)..<U03EE>;<U03F4>;/
-   <U03F7>;<U03F9>..<U03FA>;<U03FD>..<U03FF>;/
-% CYRILLIC/
-   <U0400>..<U042F>;<U0460>..(2)..<U047E>;/
-   <U0480>;<U048A>..(2)..<U04BE>;<U04C0>;<U04C1>..(2)..<U04CD>;/
-   <U04D0>..(2)..<U04FE>;/
-% CYRILLIC SUPPLEMENT/
-   <U0500>..(2)..<U0522>;/
-% ARMENIAN/
-   <U0531>..<U0556>;/
-% GEORGIAN/
-% is not addressed as the letters does not have a uppercase/lowercase relation/
-% well, there are three georgian blocks defined; one caseless (the one usually/
-% used), one defined as uppercase and one as lowercase. defining the uppercase one here/
-   <U10A0>..<U10C5>;/
-% LATIN EXTENDED ADDITIONAL/
-   <U1E00>..(2)..<U1E7E>;/
-   <U1E80>..(2)..<U1E94>;<U1E9E>;/
-   <U1EA0>..(2)..<U1EFE>;/
-% GREEK EXTENDED/
-   <U1F08>..<U1F0F>;<U1F18>..<U1F1D>;<U1F28>..<U1F2F>;<U1F38>..<U1F3F>;/
-   <U1F48>..<U1F4D>;<U1F59>..(2)..<U1F5F>;<U1F68>..<U1F6F>;/
-   <U1F88>..<U1F8F>;<U1F98>..<U1F9F>;<U1FA8>..<U1FAF>;<U1FB8>..<U1FBC>;/
-   <U1FC8>..<U1FCC>;<U1FD8>..<U1FDB>;<U1FE8>..<U1FEC>;<U1FF8>..<U1FFC>;/
-% LETTERLIKE SYMBOLS/
-   <U2126>;<U212A>..<U212B>;/
-   <U2132>;/
-% NUMBER FORMS/
-   <U2160>..<U216F>;/
-   <U2183>;/
-% ENCLOSED ALPHANUMERICS/
-   <U24B6>..<U24CF>;/
-% GLAGOLITIC/
-   <U2C00>..<U2C2E>;/
-% LATIN EXTENDED-C/
-   <U2C60>;<U2C62>..<U2C64>;<U2C67>..(2)..<U2C6B>;<U2C6D>..<U2C6F>;/
-   <U2C72>;<U2C75>;<UA78B>;/
-% COPTIC/
-   <U2C80>..(2)..<U2CE2>;/
-% CYRILLIC SUPPLEMENT 2/
-   <UA640>..(2)..<UA65E>;<UA662>..(2)..<UA66C>;<UA680>..(2)..<UA696>;/
-% LATIN EXTENDED-D/
-   <UA722>..(2)..<UA72E>;<UA732>..(2)..<UA76E>;<UA779>..(2)..<UA77D>;/
-   <UA77E>..(2)..<UA786>;/
-% HALFWIDTH AND FULLWIDTH FORMS/
-   <UFF21>..<UFF3A>;/
-% DESERET/
-   <U00010400>..<U00010427>
-
-% The "lower" class reflects the lowercase characters of class "alpha"
-lower /
-% BASIC LATIN/
-   <U0061>..<U007A>;/
-% LATIN-1 SUPPLEMENT/
-   <U00B5>;<U00DF>..<U00F6>;<U00F8>..<U00FF>;/
-% LATIN EXTENDED-A/
-   <U0101>..(2)..<U0137>;<U013A>..(2)..<U0148>;/
-   <U014B>..(2)..<U0177>;<U017A>..(2)..<U017E>;<U017F>;/
-% LATIN EXTENDED-B/
-   <U0180>;<U0183>;<U0185>;<U0188>;<U018C>;<U0192>;<U0195>;/
-   <U0199>;<U019A>;<U019E>;<U01A1>;<U01A3>;<U01A5>;<U01A8>;<U01AD>;/
-   <U01B0>;<U01B4>;<U01B6>;<U01B9>;<U01BD>;<U01BF>;<U01C5>;<U01C6>;/
-   <U01C8>;<U01C9>;<U01CB>;<U01CC>..(2)..<U01DC>;/
-   <U01DD>..(2)..<U01EF>;<U01F2>;<U01F3>;<U01F5>;<U01F9>..(2)..<U01FF>;/
-   <U0201>..(2)..<U021F>;<U0223>..(2)..<U0233>;/
-   <U023C>;<U0242>;<U0247>..(2)..<U024F>;/
-% IPA EXTENSIONS/
-   <U0253>;<U0254>;<U0256>;<U0257>;<U0259>;<U025B>;<U0260>;<U0263>;<U0268>;/
-   <U0269>;<U026B>;<U026F>;<U0272>;<U0275>;<U027D>;<U0280>;<U0283>;<U0288>..<U028C>;/
-   <U0292>;/
-% COMBINING DIACRITICAL MARKS/
-   <U0345>;/
-% BASIC GREEK/
-   <U0371>;<U0373>;<U0377>;/
-   <U037B>..<U037D>;/
-   <U03AC>..<U03AF>;<U03B1>..<U03CE>;/
-% GREEK SYMBOLS AND COPTIC/
-   <U03D0>;<U03D1>;<U03D5>;<U03D6>;<U03D9>..(2)..<U03EF>;<U03F0>..<U03F2>;/
-   <U03F5>;<U03F8>;<U03FB>;/
-% CYRILLIC/
-   <U0430>..<U045F>;<U0461>..(2)..<U047F>;/
-   <U0481>;<U048B>..(2)..<U04BF>;<U04C2>..(2)..<U04CE>;/
-   <U04CF>;/
-   <U04D1>..(2)..<U0523>;/
-% ARMENIAN/
-   <U0561>..<U0586>;/
-% PHONETIC EXTENSIONS/
-   <U1D7D>;/
-% LATIN EXTENDED ADDITIONAL/
-   <U1E01>..(2)..<U1E95>;<U1E9B>..<U1E9D>;<U1E9F>;<U1EA1>..(2)..<U1EFF>;/
-% GREEK EXTENDED/
-   <U1F00>..<U1F07>;<U1F10>..<U1F15>;<U1F20>..<U1F27>;<U1F30>..<U1F37>;/
-   <U1F40>..<U1F45>;<U1F51>..(2)..<U1F57>;<U1F60>..<U1F67>;<U1F70>..<U1F7D>;/
-   <U1F80>..<U1F87>;<U1F90>..<U1F97>;<U1FA0>..<U1FA7>;<U1FB0>;<U1FB1>;/
-   <U1FB3>;<U1FBE>;<U1FC3>;<U1FD0>;<U1FD1>;<U1FE0>;<U1FE1>;<U1FE5>;/
-   <U1FF3>;/
-% LETTERLIKE SYMBOLS/
-   <U214E>;/
-% NUMBER FORMS/
-   <U2170>..<U217F>;<U2188>;/
-% ENCLOSED ALPHANUMERICS/
-   <U24D0>..<U24E9>;/
-% GLAGOLITIC/
-   <U2C30>..<U2C5E>;/
-% LATIN EXTENDED-C/
-   <U2C61>;<U2C65>;<U2C66>..(2)..<U2C6C>;<U2C71>;<U2C73>;<U2C74>;/
-   <U2C76>..<U2C7A>;/
-% COPTIC/
-   <U2C81>..(2)..<U2CE3>;/
-% GEORGIAN SUPPLEMENT/
-% well, there are three georgian blocks defined; one caseless (the one usually/
-% used), one defined as uppercase and one as lowercase. defining the lowercase one here/
-   <U2D00>..<U2D25>;/
-% CYRILLIC SUPPLEMENT 2/
-   <UA641>..(2)..<UA65F>;<UA663>..(2)..<UA66D>;<UA681>..(2)..<UA697>;/
-% LATIN EXTENDED-D/
-   <UA723>..(2)..<UA72F>;<UA730>;<UA731>..(2)..<UA76F>;<UA771>..<UA778>;/
-   <UA77A>..(2)..<UA77C>;<UA77F>..(2)..<UA787>;<UA78C>;/
-% HALFWIDTH AND FULLWIDTH FORMS/
-   <UFF41>..<UFF5A>;/
-% DESERET/
-   <U00010428>..<U0001044F>
-
-% The "alpha" class of the "i18n" FDCC-set is reflecting
-% the recommendations in TR 10176 annex A
-alpha /
-% BASIC LATIN/
-   <U0041>..<U005A>;<U0061>..<U007A>;/
-% LATIN-1 SUPPLEMENT/
-   <U00AA>;<U00B5>;<U00BA>;<U00C0>..<U00D6>;<U00D8>..<U00F6>;/
-   <U00F8>..<U00FF>;/
-% LATIN EXTENDED-A/
-   <U0100>..<U017F>;/
-% LATIN EXTENDED-B/
-   <U0180>..<U024F>;/
-% IPA EXTENSIONS/
-   <U0250>..<U02AF>;/
-% SPACING MODIFIER LETTERS/
-   <U02B0>..<U02C1>;<U02C6>..<U02D1>;<U02E0>..<U02E4>;/
-   <U02EE>;/
-% COMBINING DIACRITICAL MARKS/
-   <U0345>;/
-% BASIC GREEK/
-   <U0370>..<U0373>;<U0376>..<U0377>;<U037A>..<U037D>;<U0386>;/
-   <U0388>..<U038A>;<U038C>;<U038E>..<U03A1>;/
-   <U03A3>..<U03CE>;/
-% GREEK SYMBOLS AND COPTIC/
-   <U03D0>..<U03F5>;<U03F7>..<U03FF>;/
-% CYRILLIC/
-   <U0400>..<U0481>;<U048A>..<U04FF>;/
-% CYRILLIC SUPPLEMENT/
-   <U0500>..<U0523>;/
-% ARMENIAN/
-   <U0531>..<U0556>;<U0559>;<U0561>..<U0587>;/
-% HEBREW/
-   <U05D0>..<U05EA>;<U05F0>..<U05F2>;/
-% ARABIC/
-   <U0621>..<U064A>;<U066E>..<U066F>;<U0671>..<U06D3>;/
-   <U06D5>;<U06E5>..<U06E6>;<U06EE>..<U06EF>;<U06FA>..<U06FC>;<U06FF>;/
-% SYRIAC/
-   <U0710>;<U0712>..<U072F>;<U074D>..<U074F>;/
-% ARABIC SUPPLEMENT/
-   <U0750>..<U077F>;/
-% THAANA/
-   <U0780>..<U07A5>;<U07B1>;/
-% NKO/
-   <U07C0>..<U07EA>;<U07F4>..<U07F5>;<U07FA>;/
-% - All Matras of Indic and Sinhala are moved from punct to alpha class/
-% - Added Unicode 5.1 charctares of Indic scripts/
-% DEVANAGARI/
-   <U0901>..<U0939>;<U093C>..<U094D>;/
-   <U0950>..<U0954>;<U0958>..<U0961>;/
-   <U0962>;<U0963>;<U0972>;<U097B>..<U097F>;/
-% TABLE 18 BENGALI/
-   <U0981>..<U0983>;<U0985>..<U098C>;<U098F>;<U0990>;<U0993>..<U09A8>;/
-   <U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;<U09BC>..<U09C4>;/
-   <U09C7>;<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
-   <U09DC>;<U09DD>;<U09DF>..<U09E3>;<U09F0>..<U09FA>;/
-% GURMUKHI/
-   <U0A01>..<U0A03>;<U0A05>..<U0A0A>;<U0A0F>;<U0A10>;<U0A13>..<U0A28>;/
-   <U0A2A>..<U0A30>;<U0A32>;<U0A33>;<U0A35>;<U0A36>;<U0A38>;<U0A39>;/
-   <U0A3C>;<U0A3E>..<U0A42>;<U0A47>;<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
-   <U0A59>..<U0A5C>;<U0A5E>;<U0A70>..<U0A75>;/
-% GUJARATI/
-   <U0A81>..<U0A83>;/
-   <U0A85>..<U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;/
-   <U0AAA>..<U0AB0>;<U0AB2>;<U0AB3>;<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;/
-   <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
-   <U0AD0>;<U0AE0>..<U0AE3>;<U0AF1>;/
-% ORIYA/
-   <U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;/
-   <U0B2A>..<U0B30>;<U0B32>;<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;/
-   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>;<U0B5D>;/
-   <U0B5F>..<U0B63>;<U0B70>;<U0B71>;/
-% TAMIL/
-   <U0B82>;<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>;/
-   <U0B9A>;<U0B9C>;<U0B9E>;<U0B9F>;<U0BA3>;<U0BA4>;<U0BA8>..<U0BAA>;/
-   <U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;/
-  <U0BD0>;<U0BD7>;<U0BF0>..<U0BFA>;/
-% TELUGU/
-   <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
-   <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
-   <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
-% KANNADA/
-   <U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
-   <U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;/
-   <U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;<U0CF1>;<U0CF2>;/
-% MALAYALAM/
-   <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
-   <U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
-   <U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
-   <U0D60>..<U0D63>;<U0D79>..<U0D7F>;/
-% SINHALA/
-   <U0D82>..<U0D83>;<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
-   <U0DC0>..<U0DC6>;<U0DCA>;/
-   <U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;/
-% THAI/
-   <U0E01>..<U0E2E>;<U0E30>..<U0E3A>;<U0E40>..<U0E45>;<U0E47>..<U0E4E>;/
-% LAO/
-   <U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;/
-   <U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;/
-   <U0EAA>..<U0EAB>;<U0EAD>..<U0EB0>;<U0EB2>..<U0EB3>;<U0EBD>;/
-   <U0EC0>..<U0EC4>;<U0EC6>;<U0EDC>..<U0EDD>;/
-% TIBETAN/
-   <U0F00>;<U0F40>..<U0F47>;<U0F49>..<U0F6C>;<U0F88>..<U0F8B>;/
-% MYANMAR/
-   <U1000>..<U102A>;<U1050>..<U1055>;<U105A>..<U105D>;<U1061>;<U0165>;/
-   <U1066>;<U106E>..<U1070>;<U1075>..<U1081>;<U108E>;/
-% GEORGIAN/
-   <U10A0>..<U10C5>;<U10D0>..<U10FA>;<U10FC>;/
-% HANGUL JAMO/
-   <U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;/
-% ETHIOPIC/
-   <U1200>..<U1248>;<U124A>..<U124D>;/
-   <U1250>..<U1256>;<U1258>;<U125A>..<U125D>;<U1260>..<U1288>;/
-   <U128A>..<U128D>;<U1290>..<U12B0>;<U12B2>..<U12B5>;/
-   <U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;<U12C8>..<U12D6>;/
-   <U12D8>..<U1310>;/
-   <U1312>..<U1315>;<U1318>..<U135A>;/
-% ETHIOPIC EXTENDED/
-   <U1380>..<U138F>;/
-% CHEROKEE/
-   <U13A0>..<U13F4>;/
-% UNIFIED CANADIAN ABORIGINAL SYLLABICS/
-   <U1401>..<U166C>;<U166F>..<U1676>;/
-% OGHAM/
-   <U1681>..<U169A>;/
-% RUNIC/
-   <U16A0>..<U16EA>;<U16EE>..<U16F0>;/
-% TAGALOG/
-   <U1700>..<U170C>;<U170E>..<U1711>;/
-% HANUNOO/
-   <U1720>..<U1731>;/
-% BUHID/
-   <U1740>..<U1751>;/
-% TAGBANWA/
-   <U1760>..<U176C>;<U176E>..<U1770>;/
-% KHMER/
-   <U1780>..<U17B3>;<U17D7>;<U17DC>;/
-% MONGOLIAN/
-   <U1820>..<U1877>;<U1880>..<U18A8>;<U18AA>;/
-% LIMBU/
-   <U1900>..<U191C>;<U1946>..<U194F>;/
-% TAI LE/
-   <U1950>..<U196D>;<U1970>..<U1974>;/
-% NEW TAI LUE/
-   <U1980>..<U19A9>;<U19C1>..<U19C7>;<U19D0>..<U19D9>;/
-% BUGINESE/
-   <U1A00>..<U1A16>;/
-% BALINESE/
-   <U1B05>..<U1B33>;<U1B45>..<U1B4B>;<U1B50>..<U1B59>;/
-% SUNDANESE/
-   <U1B83>..<U1BA0>;<U1BAE>..<U1BAF>;/
-% LEPCHA/
-   <U1C00>..<U1C23>;<U1C4D>..<U1C4F>;/
-% OL CHIKI/
-   <U1C5A>..<U1C7D>;/
-% PHONETIC EXTENSIONS/
-   <U1D00>..<U1DBF>;/
-% LATIN EXTENDED ADDITIONAL/
-   <U1E00>..<U1E9F>;<U1EA0>..<U1EFF>;/
-% GREEK EXTENDED/
-   <U1F00>..<U1F15>;<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;/
-   <U1F50>..<U1F57>;<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;/
-   <U1F80>..<U1FB4>;<U1FB6>..<U1FBC>;<U1FBE>;<U1FC2>..<U1FC4>;/
-   <U1FC6>..<U1FCC>;<U1FD0>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FE0>..<U1FEC>;/
-   <U1FF2>..<U1FF4>;<U1FF6>..<U1FFC>;/
-% SUPERSCRIPTS AND SUBSCRIPTS/
-   <U2071>;<U207F>;<U2090>..<U2094>;/
-% LETTERLIKE SYMBOLS/
-   <U2102>;<U2107>;<U210A>..<U2113>;<U2115>;<U2119>..<U211D>;<U2124>;/
-   <U2126>;<U2128>..<U212D>;<U212F>..<U2139>;/
-   <U213C>..<U213F>;<U2145>..<U2149>;<U214E>;/
-% NUMBER FORMS/
-   <U2160>..<U2188>;/
-% ENCLOSED ALPHANUMERICS/
-   <U249C>..<U24E9>;/
-% GLAGOLITIC/
-   <U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
-% LATIN EXTENDED-C/
-   <U2C60>..<U2C6F>;<U2C71>..<U2C7D>;/
-% COPTIC/
-   <U2C80>..<U2CE4>;/
-% GEORGIAN SUPPLEMENT/
-   <U2D00>..<U2D25>;/
-% TIFINAGH/
-   <U2D30>..<U2D65>;<U2D6F>;/
-% ETHIOPIC EXTENDED/
-   <U2D80>..<U2D96>;<U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;/
-   <U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;/
-   <U2DD8>..<U2DDE>;/
-% CJK SYMBOLS AND PUNCTUATION/
-   <U3005>..<U3007>;<U3021>..<U3029>;<U3031>..<U3035>;<U3038>..<U303C>;/
-% HIRAGANA/
-   <U3041>..<U3096>;<U309D>..<U309F>;/
-% KATAKANA/
-   <U30A1>..<U30FA>;<U30FC>..<U30FF>;/
-% BOPOMOFO/
-   <U3105>..<U312D>;/
-% HANGUL COMPATIBILITY JAMO/
-   <U3131>..<U318E>;/
-% BOPOMOFO EXTENDED/
-   <U31A0>..<U31B7>;/
-% KATAKANA PHONETIC EXTENSIONS/
-   <U31F0>..<U31FF>;/
-% CJK UNIFIED IDEOGRAPHS EXTENSION/
-   <U3400>..<U4DB5>;/
-% CJK UNIFIED IDEOGRAPHS/
-   <U4E00>..<U9FBB>;/
-% YI SYLLABLES/
-   <UA000>..<UA48C>;/
-% VAI SYLLABLES/
-   <UA500>..<UA60B>;<UA610>..<UA61F>;<UA62A>..<UA62B>;/
-% CYRILLIC SUPPLEMENT 2/
-   <UA640>..<UA65F>;<UA662>..<UA66E>;<UA680>..<UA697>;/
-% LATIN EXTENDED-D/
-   <UA717>..<UA71F>;<UA722>..<UA78C>;<UA7FB>..<UA7FF>;/
-% SYLOTI NEGRI/
-   <UA800>;<UA801>;<UA803>..<UA805>;<UA807>..<UA80A>;<UA80C>..<UA822>;/
-% PHAGS PA/
-   <UA840>..<UA873>;/
-% SAURASHTRA/
-   <UA882>..<UA8B3>;/
-% KAYAH LI/
-   <UA90A>..<UA92D>;/
-% REJANG/
-   <UA930>..<UA946>;/
-% CHAM/
-   <UAA00>..<UAA28>;<UAA40>..<UAA42>;<UAA44>..<UAA4B>;/
-% HANGUL SYLLABLES/
-   <UAC00>..<UD7A3>;/
-% CJK COMPATIBILITY IDEOGRAPHS/
-   <UF900>..<UFA2D>;<UFA30>..<UFA6A>;/
-   <UFA70>..<UFAD9>;/
-% ALPHABETIC PRESENTATION FORMS/
-   <UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>;<UFB1F>..<UFB28>;/
-   <UFB2A>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;<UFB40>;<UFB41>;<UFB43>;/
-   <UFB44>;<UFB46>..<UFB4F>;/
-% ARABIC PRESENTATION FORMS-A/
-   <UFB50>..<UFBB1>;<UFBD3>..<UFD3D>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;/
-   <UFDF0>..<UFDFB>;/
-% ARABIC PRESENTATION FORMS-B/
-   <UFE70>..<UFE74>;<UFE76>..<UFEFC>;/
-% HALFWIDTH AND FULLWIDTH FORMS/
-   <UFF21>..<UFF3A>;<UFF41>..<UFF5A>;<UFF66>..<UFFBE>;<UFFC2>..<UFFC7>;/
-   <UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;/
-% LINEAR B SYLLABARY/
-   <U00010000>..<U0001000B>;<U0001000D>..<U00010026>;/
-   <U00010028>..<U0001003A>;<U0001003C>..<U0001003D>;/
-   <U0001003F>..<U0001004D>;<U00010050>..<U0001005D>;/
-% LINEAR B IDEOGRAMS/
-   <U00010080>..<U000100FA>;/
-% ANCIENT GREEK NUMBERS/
-   <U00010140>..<U00010174>;/
-% LYCIAN/
-   <U00010280>..<U0001029C>;/
-% CARIAN/
-   <U000102A0>..<U000102D0>;/
-% OLD ITALIC/
-   <U00010300>..<U0001031E>;/
-% GOTHIC/
-   <U00010330>..<U0001034A>;/
-% UGARITIC/
-   <U00010380>..<U0001039D>;/
-% OLD PERSIAN/
-   <U000103A0>..<U000103C3>;<U000103C8>..<U000103CF>;/
-   <U000103D1>..<U000103D5>;/
-% DESERET/
-   <U00010400>..<U0001044F>;/
-% SHAVIAN/
-   <U00010450>..<U0001047F>;/
-% OSMANYA/
-   <U00010480>..<U0001049D>;<U000104A0>..<U000104A9>;/
-% CYPRIOT SYLLABARY/
-   <U00010800>..<U00010805>;<U00010808>;<U0001080A>..<U00010835>;/
-   <U00010837>..<U00010838>;<U0001083C>;<U0001083F>;/
-% PHOENICIAN/
-   <U00010900>..<U00010915>;<U00010A00>;<U00010A10>..<U00010A13>;/
-% KHAROSHTI/
-   <U00010A15>..<U00010A17>;<U00010A19>..<U00010A33>;/
-% CUNEIFORM/
-   <U00012000>..<U0001236E>;/
-% CUNEIFORM NUMBERS AND PONCTUATION/
-   <U00012400>..<U00012462>;/
-% BYZANTINE MUSICAL SYMBOLS/
-% MATHEMATICAL ALPHANUMERIC SYMBOLS/
-   <U0001D400>..<U0001D454>;<U0001D456>..<U0001D49C>;/
-   <U0001D49E>..<U0001D49F>;<U0001D4A2>;<U0001D4A5>..<U0001D4A6>;/
-   <U0001D4A9>..<U0001D4AC>;<U0001D4AE>..<U0001D4B9>;<U0001D4BB>;/
-   <U0001D4BD>..<U0001D4C3>;<U0001D4C5>..<U0001D505>;/
-   <U0001D507>..<U0001D50A>;<U0001D50D>..<U0001D514>;/
-   <U0001D516>..<U0001D51C>;<U0001D51E>..<U0001D539>;/
-   <U0001D53B>..<U0001D53E>;<U0001D540>..<U0001D544>;<U0001D546>;/
-   <U0001D54A>..<U0001D550>;<U0001D552>..<U0001D6A5>;/
-   <U0001D6A8>..<U0001D6C0>;<U0001D6C2>..<U0001D6DA>;/
-   <U0001D6DC>..<U0001D6FA>;<U0001D6FC>..<U0001D714>;/
-   <U0001D716>..<U0001D734>;<U0001D736>..<U0001D74E>;/
-   <U0001D750>..<U0001D76E>;<U0001D770>..<U0001D788>;/
-   <U0001D78A>..<U0001D7A8>;<U0001D7AA>..<U0001D7C2>;/
-   <U0001D7C4>..<U0001D7CB>;<U0001D7CE>..<U0001D7FF>;/
-% CJK UNIFIED IDEOGRAPHS EXTENSION/
-   <U00020000>..<U0002A6D6>;/
-% CJK COMPATIBILITY IDEOGRAPHS SUPPLEMENT/
-   <U0002F800>..<U0002FA1D>;/
-% The non-ASCII number characters are included here because ISO C 99    /
-% forbids us to classify them as digits; however, they behave more like /
-% alphanumeric than like punctuation.                                   /
-% ARABIC/
-   <U0660>..<U0669>;<U06F0>..<U06F9>;/
-% DEVANAGARI/
-   <U0966>..<U096F>;/
-% BENGALI/
-   <U09E6>..<U09EF>;/
-% GURMUKHI/
-   <U0A66>..<U0A6F>;/
-% GUJARATI/
-   <U0AE6>..<U0AEF>;/
-% ORIYA/
-   <U0B66>..<U0B6F>;/
-% TAMIL/
-   <U0BE6>..<U0BEF>;/
-% TELUGU/
-   <U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
-% KANNADA/
-   <U0CE6>..<U0CEF>;/
-% MALAYALAM/
-   <U0D66>..<U0D75>;<U0D70>..<U0D75>;/
-% THAI/
-   <U0E50>..<U0E59>;/
-% LAO/
-   <U0ED0>..<U0ED9>;/
-% TIBETAN/
-   <U0F20>..<U0F29>;/
-% MYANMAR/
-   <U1040>..<U1049>;/
-% KHMER/
-   <U17E0>..<U17E9>;/
-% MONGOLIAN/
-   <U1810>..<U1819>;/
-% SUNDANESE/
-   <U1BB0>..<U1BB9>;/
-% LEPCHA/
-   <U1C40>..<U1C49>;/
-% OL CHIKI/
-   <U1C50>..<U1C59>;/
-% VAI/
-   <UA620>..<UA629>;/
-% SAURASHTRA/
-   <UA8D0>..<UA8D9>;/
-% KAYAH LI/
-   <UA900>..<UA909>;/
-% CHAM/
-   <UAA50>..<UAA59>;/
-% HALFWIDTH AND FULLWIDTH FORMS/
-   <UFF10>..<UFF19>
-
-% The "digit" class must only contain the BASIC LATIN digits, says ISO C 99
-% (sections 7.25.2.1.5 and 5.2.1).
+alpha \
+    <U0041>..<U005A>;<U0061>..<U007A>;<U00AA>;<U00B5>;<U00BA>;/
+    <U00C0>..<U00D6>;<U00D8>..<U00F6>;<U00F8>..<U01BA>;<U01BB>;/
+    <U01BC>..<U01BF>;<U01C0>..<U01C3>;<U01C4>..<U0293>;<U0294>;/
+    <U0295>..<U02AF>;<U02B0>..<U02C1>;<U02C6>..<U02D1>;<U02E0>..<U02E4>;/
+    <U02EC>;<U02EE>;<U0345>;<U0370>..<U0373>;<U0374>;<U0376>..<U0377>;/
+    <U037A>;<U037B>..<U037D>;<U037F>;<U0386>;<U0388>..<U038A>;/
+    <U038C>;<U038E>..<U03A1>;<U03A3>..<U03F5>;<U03F7>..<U0481>;/
+    <U048A>..<U052F>;<U0531>..<U0556>;<U0559>;<U0561>..<U0587>;/
+    <U05B0>..<U05BD>;<U05BF>;<U05C1>..<U05C2>;<U05C4>..<U05C5>;/
+    <U05C7>;<U05D0>..<U05EA>;<U05F0>..<U05F2>;<U0610>..<U061A>;/
+    <U0620>..<U063F>;<U0640>;<U0641>..<U064A>;<U064B>..<U0657>;/
+    <U0659>..<U065F>;<U066E>..<U066F>;<U0670>;<U0671>..<U06D3>;/
+    <U06D5>;<U06D6>..<U06DC>;<U06E1>..<U06E4>;<U06E5>..<U06E6>;/
+    <U06E7>..<U06E8>;<U06ED>;<U06EE>..<U06EF>;<U06FA>..<U06FC>;/
+    <U06FF>;<U0710>;<U0711>;<U0712>..<U072F>;<U0730>..<U073F>;/
+    <U074D>..<U07A5>;<U07A6>..<U07B0>;<U07B1>;<U07CA>..<U07EA>;/
+    <U07F4>..<U07F5>;<U07FA>;<U0800>..<U0815>;<U0816>..<U0817>;/
+    <U081A>;<U081B>..<U0823>;<U0824>;<U0825>..<U0827>;<U0828>;/
+    <U0829>..<U082C>;<U0840>..<U0858>;<U08A0>..<U08B2>;<U08E4>..<U08E9>;/
+    <U08F0>..<U0902>;<U0903>;<U0904>..<U0939>;<U093A>;<U093B>;/
+    <U093D>;<U093E>..<U0940>;<U0941>..<U0948>;<U0949>..<U094C>;/
+    <U094E>..<U094F>;<U0950>;<U0955>..<U0957>;<U0958>..<U0961>;/
+    <U0962>..<U0963>;<U0971>;<U0972>..<U0980>;<U0981>;<U0982>..<U0983>;/
+    <U0985>..<U098C>;<U098F>..<U0990>;<U0993>..<U09A8>;<U09AA>..<U09B0>;/
+    <U09B2>;<U09B6>..<U09B9>;<U09BD>;<U09BE>..<U09C0>;<U09C1>..<U09C4>;/
+    <U09C7>..<U09C8>;<U09CB>..<U09CC>;<U09CE>;<U09D7>;<U09DC>..<U09DD>;/
+    <U09DF>..<U09E1>;<U09E2>..<U09E3>;<U09F0>..<U09F1>;<U0A01>..<U0A02>;/
+    <U0A03>;<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;/
+    <U0A2A>..<U0A30>;<U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;/
+    <U0A3E>..<U0A40>;<U0A41>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4C>;/
+    <U0A51>;<U0A59>..<U0A5C>;<U0A5E>;<U0A70>..<U0A71>;<U0A72>..<U0A74>;/
+    <U0A75>;<U0A81>..<U0A82>;<U0A83>;<U0A85>..<U0A8D>;<U0A8F>..<U0A91>;/
+    <U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;/
+    <U0ABD>;<U0ABE>..<U0AC0>;<U0AC1>..<U0AC5>;<U0AC7>..<U0AC8>;/
+    <U0AC9>;<U0ACB>..<U0ACC>;<U0AD0>;<U0AE0>..<U0AE1>;<U0AE2>..<U0AE3>;/
+    <U0B01>;<U0B02>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;/
+    <U0B13>..<U0B28>;<U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B35>..<U0B39>;/
+    <U0B3D>;<U0B3E>;<U0B3F>;<U0B40>;<U0B41>..<U0B44>;<U0B47>..<U0B48>;/
+    <U0B4B>..<U0B4C>;<U0B56>;<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;/
+    <U0B62>..<U0B63>;<U0B71>;<U0B82>;<U0B83>;<U0B85>..<U0B8A>;/
+    <U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;/
+    <U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;/
+    <U0BBE>..<U0BBF>;<U0BC0>;<U0BC1>..<U0BC2>;<U0BC6>..<U0BC8>;/
+    <U0BCA>..<U0BCC>;<U0BD0>;<U0BD7>;<U0C00>;<U0C01>..<U0C03>;/
+    <U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C39>;/
+    <U0C3D>;<U0C3E>..<U0C40>;<U0C41>..<U0C44>;<U0C46>..<U0C48>;/
+    <U0C4A>..<U0C4C>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C61>;/
+    <U0C62>..<U0C63>;<U0C81>;<U0C82>..<U0C83>;<U0C85>..<U0C8C>;/
+    <U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;/
+    <U0CBD>;<U0CBE>;<U0CBF>;<U0CC0>..<U0CC4>;<U0CC6>;<U0CC7>..<U0CC8>;/
+    <U0CCA>..<U0CCB>;<U0CCC>;<U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE1>;/
+    <U0CE2>..<U0CE3>;<U0CF1>..<U0CF2>;<U0D01>;<U0D02>..<U0D03>;/
+    <U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D3A>;<U0D3D>;/
+    <U0D3E>..<U0D40>;<U0D41>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4C>;/
+    <U0D4E>;<U0D57>;<U0D60>..<U0D61>;<U0D62>..<U0D63>;<U0D7A>..<U0D7F>;/
+    <U0D82>..<U0D83>;<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;/
+    <U0DBD>;<U0DC0>..<U0DC6>;<U0DCF>..<U0DD1>;<U0DD2>..<U0DD4>;/
+    <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E01>..<U0E30>;/
+    <U0E31>;<U0E32>..<U0E33>;<U0E34>..<U0E3A>;<U0E40>..<U0E45>;/
+    <U0E46>;<U0E4D>;<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;/
+    <U0E8A>;<U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;/
+    <U0EA5>;<U0EA7>;<U0EAA>..<U0EAB>;<U0EAD>..<U0EB0>;<U0EB1>;/
+    <U0EB2>..<U0EB3>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;<U0EBD>;/
+    <U0EC0>..<U0EC4>;<U0EC6>;<U0ECD>;<U0EDC>..<U0EDF>;<U0F00>;/
+    <U0F40>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F7E>;<U0F7F>;/
+    <U0F80>..<U0F81>;<U0F88>..<U0F8C>;<U0F8D>..<U0F97>;<U0F99>..<U0FBC>;/
+    <U1000>..<U102A>;<U102B>..<U102C>;<U102D>..<U1030>;<U1031>;/
+    <U1032>..<U1036>;<U1038>;<U103B>..<U103C>;<U103D>..<U103E>;/
+    <U103F>;<U1050>..<U1055>;<U1056>..<U1057>;<U1058>..<U1059>;/
+    <U105A>..<U105D>;<U105E>..<U1060>;<U1061>;<U1062>;<U1065>..<U1066>;/
+    <U1067>..<U1068>;<U106E>..<U1070>;<U1071>..<U1074>;<U1075>..<U1081>;/
+    <U1082>;<U1083>..<U1084>;<U1085>..<U1086>;<U108E>;<U109C>;/
+    <U109D>;<U10A0>..<U10C5>;<U10C7>;<U10CD>;<U10D0>..<U10FA>;/
+    <U10FC>;<U10FD>..<U1248>;<U124A>..<U124D>;<U1250>..<U1256>;/
+    <U1258>;<U125A>..<U125D>;<U1260>..<U1288>;<U128A>..<U128D>;/
+    <U1290>..<U12B0>;<U12B2>..<U12B5>;<U12B8>..<U12BE>;<U12C0>;/
+    <U12C2>..<U12C5>;<U12C8>..<U12D6>;<U12D8>..<U1310>;<U1312>..<U1315>;/
+    <U1318>..<U135A>;<U135F>;<U1380>..<U138F>;<U13A0>..<U13F4>;/
+    <U1401>..<U166C>;<U166F>..<U167F>;<U1681>..<U169A>;<U16A0>..<U16EA>;/
+    <U16EE>..<U16F0>;<U16F1>..<U16F8>;<U1700>..<U170C>;<U170E>..<U1711>;/
+    <U1712>..<U1713>;<U1720>..<U1731>;<U1732>..<U1733>;<U1740>..<U1751>;/
+    <U1752>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;<U1772>..<U1773>;/
+    <U1780>..<U17B3>;<U17B6>;<U17B7>..<U17BD>;<U17BE>..<U17C5>;/
+    <U17C6>;<U17C7>..<U17C8>;<U17D7>;<U17DC>;<U1820>..<U1842>;/
+    <U1843>;<U1844>..<U1877>;<U1880>..<U18A8>;<U18A9>;<U18AA>;/
+    <U18B0>..<U18F5>;<U1900>..<U191E>;<U1920>..<U1922>;<U1923>..<U1926>;/
+    <U1927>..<U1928>;<U1929>..<U192B>;<U1930>..<U1931>;<U1932>;/
+    <U1933>..<U1938>;<U1950>..<U196D>;<U1970>..<U1974>;<U1980>..<U19AB>;/
+    <U19B0>..<U19C0>;<U19C1>..<U19C7>;<U19C8>..<U19C9>;<U1A00>..<U1A16>;/
+    <U1A17>..<U1A18>;<U1A19>..<U1A1A>;<U1A1B>;<U1A20>..<U1A54>;/
+    <U1A55>;<U1A56>;<U1A57>;<U1A58>..<U1A5E>;<U1A61>;<U1A62>;/
+    <U1A63>..<U1A64>;<U1A65>..<U1A6C>;<U1A6D>..<U1A72>;<U1A73>..<U1A74>;/
+    <U1AA7>;<U1B00>..<U1B03>;<U1B04>;<U1B05>..<U1B33>;<U1B35>;/
+    <U1B36>..<U1B3A>;<U1B3B>;<U1B3C>;<U1B3D>..<U1B41>;<U1B42>;/
+    <U1B43>;<U1B45>..<U1B4B>;<U1B80>..<U1B81>;<U1B82>;<U1B83>..<U1BA0>;/
+    <U1BA1>;<U1BA2>..<U1BA5>;<U1BA6>..<U1BA7>;<U1BA8>..<U1BA9>;/
+    <U1BAC>..<U1BAD>;<U1BAE>..<U1BAF>;<U1BBA>..<U1BE5>;<U1BE7>;/
+    <U1BE8>..<U1BE9>;<U1BEA>..<U1BEC>;<U1BED>;<U1BEE>;<U1BEF>..<U1BF1>;/
+    <U1C00>..<U1C23>;<U1C24>..<U1C2B>;<U1C2C>..<U1C33>;<U1C34>..<U1C35>;/
+    <U1C4D>..<U1C4F>;<U1C5A>..<U1C77>;<U1C78>..<U1C7D>;<U1CE9>..<U1CEC>;/
+    <U1CEE>..<U1CF1>;<U1CF2>..<U1CF3>;<U1CF5>..<U1CF6>;<U1D00>..<U1D2B>;/
+    <U1D2C>..<U1D6A>;<U1D6B>..<U1D77>;<U1D78>;<U1D79>..<U1D9A>;/
+    <U1D9B>..<U1DBF>;<U1DE7>..<U1DF4>;<U1E00>..<U1F15>;<U1F18>..<U1F1D>;/
+    <U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;<U1F59>;/
+    <U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;<U1FB6>..<U1FBC>;/
+    <U1FBE>;<U1FC2>..<U1FC4>;<U1FC6>..<U1FCC>;<U1FD0>..<U1FD3>;/
+    <U1FD6>..<U1FDB>;<U1FE0>..<U1FEC>;<U1FF2>..<U1FF4>;<U1FF6>..<U1FFC>;/
+    <U2071>;<U207F>;<U2090>..<U209C>;<U2102>;<U2107>;<U210A>..<U2113>;/
+    <U2115>;<U2119>..<U211D>;<U2124>;<U2126>;<U2128>;<U212A>..<U212D>;/
+    <U212F>..<U2134>;<U2135>..<U2138>;<U2139>;<U213C>..<U213F>;/
+    <U2145>..<U2149>;<U214E>;<U2160>..<U2182>;<U2183>..<U2184>;/
+    <U2185>..<U2188>;<U24B6>..<U24E9>;<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
+    <U2C60>..<U2C7B>;<U2C7C>..<U2C7D>;<U2C7E>..<U2CE4>;<U2CEB>..<U2CEE>;/
+    <U2CF2>..<U2CF3>;<U2D00>..<U2D25>;<U2D27>;<U2D2D>;<U2D30>..<U2D67>;/
+    <U2D6F>;<U2D80>..<U2D96>;<U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;/
+    <U2DB0>..<U2DB6>;<U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;/
+    <U2DD0>..<U2DD6>;<U2DD8>..<U2DDE>;<U2DE0>..<U2DFF>;<U2E2F>;/
+    <U3005>;<U3006>;<U3007>;<U3021>..<U3029>;<U3031>..<U3035>;/
+    <U3038>..<U303A>;<U303B>;<U303C>;<U3041>..<U3096>;<U309D>..<U309E>;/
+    <U309F>;<U30A1>..<U30FA>;<U30FC>..<U30FE>;<U30FF>;<U3105>..<U312D>;/
+    <U3131>..<U318E>;<U31A0>..<U31BA>;<U31F0>..<U31FF>;<U3400>..<U4DB5>;/
+    <U4E00>..<U9FCC>;<UA000>..<UA014>;<UA015>;<UA016>..<UA48C>;/
+    <UA4D0>..<UA4F7>;<UA4F8>..<UA4FD>;<UA500>..<UA60B>;<UA60C>;/
+    <UA610>..<UA61F>;<UA62A>..<UA62B>;<UA640>..<UA66D>;<UA66E>;/
+    <UA674>..<UA67B>;<UA67F>;<UA680>..<UA69B>;<UA69C>..<UA69D>;/
+    <UA69F>;<UA6A0>..<UA6E5>;<UA6E6>..<UA6EF>;<UA717>..<UA71F>;/
+    <UA722>..<UA76F>;<UA770>;<UA771>..<UA787>;<UA788>;<UA78B>..<UA78E>;/
+    <UA790>..<UA7AD>;<UA7B0>..<UA7B1>;<UA7F7>;<UA7F8>..<UA7F9>;/
+    <UA7FA>;<UA7FB>..<UA801>;<UA803>..<UA805>;<UA807>..<UA80A>;/
+    <UA80C>..<UA822>;<UA823>..<UA824>;<UA825>..<UA826>;<UA827>;/
+    <UA840>..<UA873>;<UA880>..<UA881>;<UA882>..<UA8B3>;<UA8B4>..<UA8C3>;/
+    <UA8F2>..<UA8F7>;<UA8FB>;<UA90A>..<UA925>;<UA926>..<UA92A>;/
+    <UA930>..<UA946>;<UA947>..<UA951>;<UA952>;<UA960>..<UA97C>;/
+    <UA980>..<UA982>;<UA983>;<UA984>..<UA9B2>;<UA9B4>..<UA9B5>;/
+    <UA9B6>..<UA9B9>;<UA9BA>..<UA9BB>;<UA9BC>;<UA9BD>..<UA9BF>;/
+    <UA9CF>;<UA9E0>..<UA9E4>;<UA9E6>;<UA9E7>..<UA9EF>;<UA9FA>..<UA9FE>;/
+    <UAA00>..<UAA28>;<UAA29>..<UAA2E>;<UAA2F>..<UAA30>;<UAA31>..<UAA32>;/
+    <UAA33>..<UAA34>;<UAA35>..<UAA36>;<UAA40>..<UAA42>;<UAA43>;/
+    <UAA44>..<UAA4B>;<UAA4C>;<UAA4D>;<UAA60>..<UAA6F>;<UAA70>;/
+    <UAA71>..<UAA76>;<UAA7A>;<UAA7E>..<UAAAF>;<UAAB0>;<UAAB1>;/
+    <UAAB2>..<UAAB4>;<UAAB5>..<UAAB6>;<UAAB7>..<UAAB8>;<UAAB9>..<UAABD>;/
+    <UAABE>;<UAAC0>;<UAAC2>;<UAADB>..<UAADC>;<UAADD>;<UAAE0>..<UAAEA>;/
+    <UAAEB>;<UAAEC>..<UAAED>;<UAAEE>..<UAAEF>;<UAAF2>;<UAAF3>..<UAAF4>;/
+    <UAAF5>;<UAB01>..<UAB06>;<UAB09>..<UAB0E>;<UAB11>..<UAB16>;/
+    <UAB20>..<UAB26>;<UAB28>..<UAB2E>;<UAB30>..<UAB5A>;<UAB5C>..<UAB5F>;/
+    <UAB64>..<UAB65>;<UABC0>..<UABE2>;<UABE3>..<UABE4>;<UABE5>;/
+    <UABE6>..<UABE7>;<UABE8>;<UABE9>..<UABEA>;<UAC00>..<UD7A3>;/
+    <UD7B0>..<UD7C6>;<UD7CB>..<UD7FB>;<UF900>..<UFA6D>;<UFA70>..<UFAD9>;/
+    <UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>;<UFB1E>;<UFB1F>..<UFB28>;/
+    <UFB2A>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;<UFB40>..<UFB41>;/
+    <UFB43>..<UFB44>;<UFB46>..<UFBB1>;<UFBD3>..<UFD3D>;<UFD50>..<UFD8F>;/
+    <UFD92>..<UFDC7>;<UFDF0>..<UFDFB>;<UFE70>..<UFE74>;<UFE76>..<UFEFC>;/
+    <UFF21>..<UFF3A>;<UFF41>..<UFF5A>;<UFF66>..<UFF6F>;<UFF70>;/
+    <UFF71>..<UFF9D>;<UFF9E>..<UFF9F>;<UFFA0>..<UFFBE>;<UFFC2>..<UFFC7>;/
+    <UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<U10000>..<U1000B>;/
+    <U1000D>..<U10026>;<U10028>..<U1003A>;<U1003C>..<U1003D>;/
+    <U1003F>..<U1004D>;<U10050>..<U1005D>;<U10080>..<U100FA>;/
+    <U10140>..<U10174>;<U10280>..<U1029C>;<U102A0>..<U102D0>;/
+    <U10300>..<U1031F>;<U10330>..<U10340>;<U10341>;/
+    <U10342>..<U10349>;<U1034A>;<U10350>..<U10375>;/
+    <U10376>..<U1037A>;<U10380>..<U1039D>;<U103A0>..<U103C3>;/
+    <U103C8>..<U103CF>;<U103D1>..<U103D5>;<U10400>..<U1044F>;/
+    <U10450>..<U1049D>;<U10500>..<U10527>;<U10530>..<U10563>;/
+    <U10600>..<U10736>;<U10740>..<U10755>;<U10760>..<U10767>;/
+    <U10800>..<U10805>;<U10808>;<U1080A>..<U10835>;/
+    <U10837>..<U10838>;<U1083C>;<U1083F>..<U10855>;/
+    <U10860>..<U10876>;<U10880>..<U1089E>;<U10900>..<U10915>;/
+    <U10920>..<U10939>;<U10980>..<U109B7>;<U109BE>..<U109BF>;/
+    <U10A00>;<U10A01>..<U10A03>;<U10A05>..<U10A06>;/
+    <U10A0C>..<U10A0F>;<U10A10>..<U10A13>;<U10A15>..<U10A17>;/
+    <U10A19>..<U10A33>;<U10A60>..<U10A7C>;<U10A80>..<U10A9C>;/
+    <U10AC0>..<U10AC7>;<U10AC9>..<U10AE4>;<U10B00>..<U10B35>;/
+    <U10B40>..<U10B55>;<U10B60>..<U10B72>;<U10B80>..<U10B91>;/
+    <U10C00>..<U10C48>;<U11000>;<U11001>;<U11002>;<U11003>..<U11037>;/
+    <U11038>..<U11045>;<U11082>;<U11083>..<U110AF>;/
+    <U110B0>..<U110B2>;<U110B3>..<U110B6>;<U110B7>..<U110B8>;/
+    <U110D0>..<U110E8>;<U11100>..<U11102>;<U11103>..<U11126>;/
+    <U11127>..<U1112B>;<U1112C>;<U1112D>..<U11132>;/
+    <U11150>..<U11172>;<U11176>;<U11180>..<U11181>;/
+    <U11182>;<U11183>..<U111B2>;<U111B3>..<U111B5>;/
+    <U111B6>..<U111BE>;<U111BF>;<U111C1>..<U111C4>;/
+    <U111DA>;<U11200>..<U11211>;<U11213>..<U1122B>;/
+    <U1122C>..<U1122E>;<U1122F>..<U11231>;<U11232>..<U11233>;/
+    <U11234>;<U11237>;<U112B0>..<U112DE>;<U112DF>;<U112E0>..<U112E2>;/
+    <U112E3>..<U112E8>;<U11301>;<U11302>..<U11303>;/
+    <U11305>..<U1130C>;<U1130F>..<U11310>;<U11313>..<U11328>;/
+    <U1132A>..<U11330>;<U11332>..<U11333>;<U11335>..<U11339>;/
+    <U1133D>;<U1133E>..<U1133F>;<U11340>;<U11341>..<U11344>;/
+    <U11347>..<U11348>;<U1134B>..<U1134C>;<U11357>;/
+    <U1135D>..<U11361>;<U11362>..<U11363>;<U11480>..<U114AF>;/
+    <U114B0>..<U114B2>;<U114B3>..<U114B8>;<U114B9>;/
+    <U114BA>;<U114BB>..<U114BE>;<U114BF>..<U114C0>;/
+    <U114C1>;<U114C4>..<U114C5>;<U114C7>;<U11580>..<U115AE>;/
+    <U115AF>..<U115B1>;<U115B2>..<U115B5>;<U115B8>..<U115BB>;/
+    <U115BC>..<U115BD>;<U115BE>;<U11600>..<U1162F>;/
+    <U11630>..<U11632>;<U11633>..<U1163A>;<U1163B>..<U1163C>;/
+    <U1163D>;<U1163E>;<U11640>;<U11644>;<U11680>..<U116AA>;/
+    <U116AB>;<U116AC>;<U116AD>;<U116AE>..<U116AF>;<U116B0>..<U116B5>;/
+    <U118A0>..<U118DF>;<U118FF>;<U11AC0>..<U11AF8>;/
+    <U12000>..<U12398>;<U12400>..<U1246E>;<U13000>..<U1342E>;/
+    <U16800>..<U16A38>;<U16A40>..<U16A5E>;<U16AD0>..<U16AED>;/
+    <U16B00>..<U16B2F>;<U16B30>..<U16B36>;<U16B40>..<U16B43>;/
+    <U16B63>..<U16B77>;<U16B7D>..<U16B8F>;<U16F00>..<U16F44>;/
+    <U16F50>;<U16F51>..<U16F7E>;<U16F93>..<U16F9F>;/
+    <U1B000>..<U1B001>;<U1BC00>..<U1BC6A>;<U1BC70>..<U1BC7C>;/
+    <U1BC80>..<U1BC88>;<U1BC90>..<U1BC99>;<U1BC9E>;/
+    <U1D400>..<U1D454>;<U1D456>..<U1D49C>;<U1D49E>..<U1D49F>;/
+    <U1D4A2>;<U1D4A5>..<U1D4A6>;<U1D4A9>..<U1D4AC>;/
+    <U1D4AE>..<U1D4B9>;<U1D4BB>;<U1D4BD>..<U1D4C3>;/
+    <U1D4C5>..<U1D505>;<U1D507>..<U1D50A>;<U1D50D>..<U1D514>;/
+    <U1D516>..<U1D51C>;<U1D51E>..<U1D539>;<U1D53B>..<U1D53E>;/
+    <U1D540>..<U1D544>;<U1D546>;<U1D54A>..<U1D550>;/
+    <U1D552>..<U1D6A5>;<U1D6A8>..<U1D6C0>;<U1D6C2>..<U1D6DA>;/
+    <U1D6DC>..<U1D6FA>;<U1D6FC>..<U1D714>;<U1D716>..<U1D734>;/
+    <U1D736>..<U1D74E>;<U1D750>..<U1D76E>;<U1D770>..<U1D788>;/
+    <U1D78A>..<U1D7A8>;<U1D7AA>..<U1D7C2>;<U1D7C4>..<U1D7CB>;/
+    <U1E800>..<U1E8C4>;<U1EE00>..<U1EE03>;<U1EE05>..<U1EE1F>;/
+    <U1EE21>..<U1EE22>;<U1EE24>;<U1EE27>;<U1EE29>..<U1EE32>;/
+    <U1EE34>..<U1EE37>;<U1EE39>;<U1EE3B>;<U1EE42>;<U1EE47>;/
+    <U1EE49>;<U1EE4B>;<U1EE4D>..<U1EE4F>;<U1EE51>..<U1EE52>;/
+    <U1EE54>;<U1EE57>;<U1EE59>;<U1EE5B>;<U1EE5D>;<U1EE5F>;<U1EE61>..<U1EE62>;/
+    <U1EE64>;<U1EE67>..<U1EE6A>;<U1EE6C>..<U1EE72>;/
+    <U1EE74>..<U1EE77>;<U1EE79>..<U1EE7C>;<U1EE7E>;/
+    <U1EE80>..<U1EE89>;<U1EE8B>..<U1EE9B>;<U1EEA1>..<U1EEA3>;/
+    <U1EEA5>..<U1EEA9>;<U1EEAB>..<U1EEBB>;<U1F130>..<U1F149>;/
+    <U1F150>..<U1F169>;<U1F170>..<U1F189>;<U20000>..<U2A6D6>;/
+    <U2A700>..<U2B734>;<U2B740>..<U2B81D>;<U2F800>..<U2FA1D>;/
+    
+lower \
+    <U0061>..<U007A>;<U00AA>;<U00B5>;<U00BA>;<U00DF>..<U00F6>;/
+    <U00F8>..<U00FF>;<U0101>;<U0103>;<U0105>;<U0107>;<U0109>;/
+    <U010B>;<U010D>;<U010F>;<U0111>;<U0113>;<U0115>;<U0117>;/
+    <U0119>;<U011B>;<U011D>;<U011F>;<U0121>;<U0123>;<U0125>;/
+    <U0127>;<U0129>;<U012B>;<U012D>;<U012F>;<U0131>;<U0133>;/
+    <U0135>;<U0137>..<U0138>;<U013A>;<U013C>;<U013E>;<U0140>;/
+    <U0142>;<U0144>;<U0146>;<U0148>..<U0149>;<U014B>;<U014D>;/
+    <U014F>;<U0151>;<U0153>;<U0155>;<U0157>;<U0159>;<U015B>;/
+    <U015D>;<U015F>;<U0161>;<U0163>;<U0165>;<U0167>;<U0169>;/
+    <U016B>;<U016D>;<U016F>;<U0171>;<U0173>;<U0175>;<U0177>;/
+    <U017A>;<U017C>;<U017E>..<U0180>;<U0183>;<U0185>;<U0188>;/
+    <U018C>..<U018D>;<U0192>;<U0195>;<U0199>..<U019B>;<U019E>;/
+    <U01A1>;<U01A3>;<U01A5>;<U01A8>;<U01AA>..<U01AB>;<U01AD>;/
+    <U01B0>;<U01B4>;<U01B6>;<U01B9>..<U01BA>;<U01BD>..<U01BF>;/
+    <U01C6>;<U01C9>;<U01CC>;<U01CE>;<U01D0>;<U01D2>;<U01D4>;/
+    <U01D6>;<U01D8>;<U01DA>;<U01DC>..<U01DD>;<U01DF>;<U01E1>;/
+    <U01E3>;<U01E5>;<U01E7>;<U01E9>;<U01EB>;<U01ED>;<U01EF>..<U01F0>;/
+    <U01F3>;<U01F5>;<U01F9>;<U01FB>;<U01FD>;<U01FF>;<U0201>;/
+    <U0203>;<U0205>;<U0207>;<U0209>;<U020B>;<U020D>;<U020F>;/
+    <U0211>;<U0213>;<U0215>;<U0217>;<U0219>;<U021B>;<U021D>;/
+    <U021F>;<U0221>;<U0223>;<U0225>;<U0227>;<U0229>;<U022B>;/
+    <U022D>;<U022F>;<U0231>;<U0233>..<U0239>;<U023C>;<U023F>..<U0240>;/
+    <U0242>;<U0247>;<U0249>;<U024B>;<U024D>;<U024F>..<U0293>;/
+    <U0295>..<U02AF>;<U02B0>..<U02B8>;<U02C0>..<U02C1>;<U02E0>..<U02E4>;/
+    <U0345>;<U0371>;<U0373>;<U0377>;<U037A>;<U037B>..<U037D>;/
+    <U0390>;<U03AC>..<U03CE>;<U03D0>..<U03D1>;<U03D5>..<U03D7>;/
+    <U03D9>;<U03DB>;<U03DD>;<U03DF>;<U03E1>;<U03E3>;<U03E5>;/
+    <U03E7>;<U03E9>;<U03EB>;<U03ED>;<U03EF>..<U03F3>;<U03F5>;/
+    <U03F8>;<U03FB>..<U03FC>;<U0430>..<U045F>;<U0461>;<U0463>;/
+    <U0465>;<U0467>;<U0469>;<U046B>;<U046D>;<U046F>;<U0471>;/
+    <U0473>;<U0475>;<U0477>;<U0479>;<U047B>;<U047D>;<U047F>;/
+    <U0481>;<U048B>;<U048D>;<U048F>;<U0491>;<U0493>;<U0495>;/
+    <U0497>;<U0499>;<U049B>;<U049D>;<U049F>;<U04A1>;<U04A3>;/
+    <U04A5>;<U04A7>;<U04A9>;<U04AB>;<U04AD>;<U04AF>;<U04B1>;/
+    <U04B3>;<U04B5>;<U04B7>;<U04B9>;<U04BB>;<U04BD>;<U04BF>;/
+    <U04C2>;<U04C4>;<U04C6>;<U04C8>;<U04CA>;<U04CC>;<U04CE>..<U04CF>;/
+    <U04D1>;<U04D3>;<U04D5>;<U04D7>;<U04D9>;<U04DB>;<U04DD>;/
+    <U04DF>;<U04E1>;<U04E3>;<U04E5>;<U04E7>;<U04E9>;<U04EB>;/
+    <U04ED>;<U04EF>;<U04F1>;<U04F3>;<U04F5>;<U04F7>;<U04F9>;/
+    <U04FB>;<U04FD>;<U04FF>;<U0501>;<U0503>;<U0505>;<U0507>;/
+    <U0509>;<U050B>;<U050D>;<U050F>;<U0511>;<U0513>;<U0515>;/
+    <U0517>;<U0519>;<U051B>;<U051D>;<U051F>;<U0521>;<U0523>;/
+    <U0525>;<U0527>;<U0529>;<U052B>;<U052D>;<U052F>;<U0561>..<U0587>;/
+    <U1D00>..<U1D2B>;<U1D2C>..<U1D6A>;<U1D6B>..<U1D77>;<U1D78>;/
+    <U1D79>..<U1D9A>;<U1D9B>..<U1DBF>;<U1E01>;<U1E03>;<U1E05>;/
+    <U1E07>;<U1E09>;<U1E0B>;<U1E0D>;<U1E0F>;<U1E11>;<U1E13>;/
+    <U1E15>;<U1E17>;<U1E19>;<U1E1B>;<U1E1D>;<U1E1F>;<U1E21>;/
+    <U1E23>;<U1E25>;<U1E27>;<U1E29>;<U1E2B>;<U1E2D>;<U1E2F>;/
+    <U1E31>;<U1E33>;<U1E35>;<U1E37>;<U1E39>;<U1E3B>;<U1E3D>;/
+    <U1E3F>;<U1E41>;<U1E43>;<U1E45>;<U1E47>;<U1E49>;<U1E4B>;/
+    <U1E4D>;<U1E4F>;<U1E51>;<U1E53>;<U1E55>;<U1E57>;<U1E59>;/
+    <U1E5B>;<U1E5D>;<U1E5F>;<U1E61>;<U1E63>;<U1E65>;<U1E67>;/
+    <U1E69>;<U1E6B>;<U1E6D>;<U1E6F>;<U1E71>;<U1E73>;<U1E75>;/
+    <U1E77>;<U1E79>;<U1E7B>;<U1E7D>;<U1E7F>;<U1E81>;<U1E83>;/
+    <U1E85>;<U1E87>;<U1E89>;<U1E8B>;<U1E8D>;<U1E8F>;<U1E91>;/
+    <U1E93>;<U1E95>..<U1E9D>;<U1E9F>;<U1EA1>;<U1EA3>;<U1EA5>;/
+    <U1EA7>;<U1EA9>;<U1EAB>;<U1EAD>;<U1EAF>;<U1EB1>;<U1EB3>;/
+    <U1EB5>;<U1EB7>;<U1EB9>;<U1EBB>;<U1EBD>;<U1EBF>;<U1EC1>;/
+    <U1EC3>;<U1EC5>;<U1EC7>;<U1EC9>;<U1ECB>;<U1ECD>;<U1ECF>;/
+    <U1ED1>;<U1ED3>;<U1ED5>;<U1ED7>;<U1ED9>;<U1EDB>;<U1EDD>;/
+    <U1EDF>;<U1EE1>;<U1EE3>;<U1EE5>;<U1EE7>;<U1EE9>;<U1EEB>;/
+    <U1EED>;<U1EEF>;<U1EF1>;<U1EF3>;<U1EF5>;<U1EF7>;<U1EF9>;/
+    <U1EFB>;<U1EFD>;<U1EFF>..<U1F07>;<U1F10>..<U1F15>;<U1F20>..<U1F27>;/
+    <U1F30>..<U1F37>;<U1F40>..<U1F45>;<U1F50>..<U1F57>;<U1F60>..<U1F67>;/
+    <U1F70>..<U1F7D>;<U1F80>..<U1F87>;<U1F90>..<U1F97>;<U1FA0>..<U1FA7>;/
+    <U1FB0>..<U1FB4>;<U1FB6>..<U1FB7>;<U1FBE>;<U1FC2>..<U1FC4>;/
+    <U1FC6>..<U1FC7>;<U1FD0>..<U1FD3>;<U1FD6>..<U1FD7>;<U1FE0>..<U1FE7>;/
+    <U1FF2>..<U1FF4>;<U1FF6>..<U1FF7>;<U2071>;<U207F>;<U2090>..<U209C>;/
+    <U210A>;<U210E>..<U210F>;<U2113>;<U212F>;<U2134>;<U2139>;/
+    <U213C>..<U213D>;<U2146>..<U2149>;<U214E>;<U2170>..<U217F>;/
+    <U2184>;<U24D0>..<U24E9>;<U2C30>..<U2C5E>;<U2C61>;<U2C65>..<U2C66>;/
+    <U2C68>;<U2C6A>;<U2C6C>;<U2C71>;<U2C73>..<U2C74>;<U2C76>..<U2C7B>;/
+    <U2C7C>..<U2C7D>;<U2C81>;<U2C83>;<U2C85>;<U2C87>;<U2C89>;/
+    <U2C8B>;<U2C8D>;<U2C8F>;<U2C91>;<U2C93>;<U2C95>;<U2C97>;/
+    <U2C99>;<U2C9B>;<U2C9D>;<U2C9F>;<U2CA1>;<U2CA3>;<U2CA5>;/
+    <U2CA7>;<U2CA9>;<U2CAB>;<U2CAD>;<U2CAF>;<U2CB1>;<U2CB3>;/
+    <U2CB5>;<U2CB7>;<U2CB9>;<U2CBB>;<U2CBD>;<U2CBF>;<U2CC1>;/
+    <U2CC3>;<U2CC5>;<U2CC7>;<U2CC9>;<U2CCB>;<U2CCD>;<U2CCF>;/
+    <U2CD1>;<U2CD3>;<U2CD5>;<U2CD7>;<U2CD9>;<U2CDB>;<U2CDD>;/
+    <U2CDF>;<U2CE1>;<U2CE3>..<U2CE4>;<U2CEC>;<U2CEE>;<U2CF3>;/
+    <U2D00>..<U2D25>;<U2D27>;<U2D2D>;<UA641>;<UA643>;<UA645>;/
+    <UA647>;<UA649>;<UA64B>;<UA64D>;<UA64F>;<UA651>;<UA653>;/
+    <UA655>;<UA657>;<UA659>;<UA65B>;<UA65D>;<UA65F>;<UA661>;/
+    <UA663>;<UA665>;<UA667>;<UA669>;<UA66B>;<UA66D>;<UA681>;/
+    <UA683>;<UA685>;<UA687>;<UA689>;<UA68B>;<UA68D>;<UA68F>;/
+    <UA691>;<UA693>;<UA695>;<UA697>;<UA699>;<UA69B>;<UA69C>..<UA69D>;/
+    <UA723>;<UA725>;<UA727>;<UA729>;<UA72B>;<UA72D>;<UA72F>..<UA731>;/
+    <UA733>;<UA735>;<UA737>;<UA739>;<UA73B>;<UA73D>;<UA73F>;/
+    <UA741>;<UA743>;<UA745>;<UA747>;<UA749>;<UA74B>;<UA74D>;/
+    <UA74F>;<UA751>;<UA753>;<UA755>;<UA757>;<UA759>;<UA75B>;/
+    <UA75D>;<UA75F>;<UA761>;<UA763>;<UA765>;<UA767>;<UA769>;/
+    <UA76B>;<UA76D>;<UA76F>;<UA770>;<UA771>..<UA778>;<UA77A>;/
+    <UA77C>;<UA77F>;<UA781>;<UA783>;<UA785>;<UA787>;<UA78C>;/
+    <UA78E>;<UA791>;<UA793>..<UA795>;<UA797>;<UA799>;<UA79B>;/
+    <UA79D>;<UA79F>;<UA7A1>;<UA7A3>;<UA7A5>;<UA7A7>;<UA7A9>;/
+    <UA7F8>..<UA7F9>;<UA7FA>;<UAB30>..<UAB5A>;<UAB5C>..<UAB5F>;/
+    <UAB64>..<UAB65>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFF41>..<UFF5A>;/
+    <U10428>..<U1044F>;<U118C0>..<U118DF>;<U1D41A>..<U1D433>;/
+    <U1D44E>..<U1D454>;<U1D456>..<U1D467>;<U1D482>..<U1D49B>;/
+    <U1D4B6>..<U1D4B9>;<U1D4BB>;<U1D4BD>..<U1D4C3>;/
+    <U1D4C5>..<U1D4CF>;<U1D4EA>..<U1D503>;<U1D51E>..<U1D537>;/
+    <U1D552>..<U1D56B>;<U1D586>..<U1D59F>;<U1D5BA>..<U1D5D3>;/
+    <U1D5EE>..<U1D607>;<U1D622>..<U1D63B>;<U1D656>..<U1D66F>;/
+    <U1D68A>..<U1D6A5>;<U1D6C2>..<U1D6DA>;<U1D6DC>..<U1D6E1>;/
+    <U1D6FC>..<U1D714>;<U1D716>..<U1D71B>;<U1D736>..<U1D74E>;/
+    <U1D750>..<U1D755>;<U1D770>..<U1D788>;<U1D78A>..<U1D78F>;/
+    <U1D7AA>..<U1D7C2>;<U1D7C4>..<U1D7C9>;<U1D7CB>;/
+    
+upper \
+    <U0041>..<U005A>;<U00C0>..<U00D6>;<U00D8>..<U00DE>;<U0100>;/
+    <U0102>;<U0104>;<U0106>;<U0108>;<U010A>;<U010C>;<U010E>;/
+    <U0110>;<U0112>;<U0114>;<U0116>;<U0118>;<U011A>;<U011C>;/
+    <U011E>;<U0120>;<U0122>;<U0124>;<U0126>;<U0128>;<U012A>;/
+    <U012C>;<U012E>;<U0130>;<U0132>;<U0134>;<U0136>;<U0139>;/
+    <U013B>;<U013D>;<U013F>;<U0141>;<U0143>;<U0145>;<U0147>;/
+    <U014A>;<U014C>;<U014E>;<U0150>;<U0152>;<U0154>;<U0156>;/
+    <U0158>;<U015A>;<U015C>;<U015E>;<U0160>;<U0162>;<U0164>;/
+    <U0166>;<U0168>;<U016A>;<U016C>;<U016E>;<U0170>;<U0172>;/
+    <U0174>;<U0176>;<U0178>..<U0179>;<U017B>;<U017D>;<U0181>..<U0182>;/
+    <U0184>;<U0186>..<U0187>;<U0189>..<U018B>;<U018E>..<U0191>;/
+    <U0193>..<U0194>;<U0196>..<U0198>;<U019C>..<U019D>;<U019F>..<U01A0>;/
+    <U01A2>;<U01A4>;<U01A6>..<U01A7>;<U01A9>;<U01AC>;<U01AE>..<U01AF>;/
+    <U01B1>..<U01B3>;<U01B5>;<U01B7>..<U01B8>;<U01BC>;<U01C4>;/
+    <U01C7>;<U01CA>;<U01CD>;<U01CF>;<U01D1>;<U01D3>;<U01D5>;/
+    <U01D7>;<U01D9>;<U01DB>;<U01DE>;<U01E0>;<U01E2>;<U01E4>;/
+    <U01E6>;<U01E8>;<U01EA>;<U01EC>;<U01EE>;<U01F1>;<U01F4>;/
+    <U01F6>..<U01F8>;<U01FA>;<U01FC>;<U01FE>;<U0200>;<U0202>;/
+    <U0204>;<U0206>;<U0208>;<U020A>;<U020C>;<U020E>;<U0210>;/
+    <U0212>;<U0214>;<U0216>;<U0218>;<U021A>;<U021C>;<U021E>;/
+    <U0220>;<U0222>;<U0224>;<U0226>;<U0228>;<U022A>;<U022C>;/
+    <U022E>;<U0230>;<U0232>;<U023A>..<U023B>;<U023D>..<U023E>;/
+    <U0241>;<U0243>..<U0246>;<U0248>;<U024A>;<U024C>;<U024E>;/
+    <U0370>;<U0372>;<U0376>;<U037F>;<U0386>;<U0388>..<U038A>;/
+    <U038C>;<U038E>..<U038F>;<U0391>..<U03A1>;<U03A3>..<U03AB>;/
+    <U03CF>;<U03D2>..<U03D4>;<U03D8>;<U03DA>;<U03DC>;<U03DE>;/
+    <U03E0>;<U03E2>;<U03E4>;<U03E6>;<U03E8>;<U03EA>;<U03EC>;/
+    <U03EE>;<U03F4>;<U03F7>;<U03F9>..<U03FA>;<U03FD>..<U042F>;/
+    <U0460>;<U0462>;<U0464>;<U0466>;<U0468>;<U046A>;<U046C>;/
+    <U046E>;<U0470>;<U0472>;<U0474>;<U0476>;<U0478>;<U047A>;/
+    <U047C>;<U047E>;<U0480>;<U048A>;<U048C>;<U048E>;<U0490>;/
+    <U0492>;<U0494>;<U0496>;<U0498>;<U049A>;<U049C>;<U049E>;/
+    <U04A0>;<U04A2>;<U04A4>;<U04A6>;<U04A8>;<U04AA>;<U04AC>;/
+    <U04AE>;<U04B0>;<U04B2>;<U04B4>;<U04B6>;<U04B8>;<U04BA>;/
+    <U04BC>;<U04BE>;<U04C0>..<U04C1>;<U04C3>;<U04C5>;<U04C7>;/
+    <U04C9>;<U04CB>;<U04CD>;<U04D0>;<U04D2>;<U04D4>;<U04D6>;/
+    <U04D8>;<U04DA>;<U04DC>;<U04DE>;<U04E0>;<U04E2>;<U04E4>;/
+    <U04E6>;<U04E8>;<U04EA>;<U04EC>;<U04EE>;<U04F0>;<U04F2>;/
+    <U04F4>;<U04F6>;<U04F8>;<U04FA>;<U04FC>;<U04FE>;<U0500>;/
+    <U0502>;<U0504>;<U0506>;<U0508>;<U050A>;<U050C>;<U050E>;/
+    <U0510>;<U0512>;<U0514>;<U0516>;<U0518>;<U051A>;<U051C>;/
+    <U051E>;<U0520>;<U0522>;<U0524>;<U0526>;<U0528>;<U052A>;/
+    <U052C>;<U052E>;<U0531>..<U0556>;<U10A0>..<U10C5>;<U10C7>;/
+    <U10CD>;<U1E00>;<U1E02>;<U1E04>;<U1E06>;<U1E08>;<U1E0A>;/
+    <U1E0C>;<U1E0E>;<U1E10>;<U1E12>;<U1E14>;<U1E16>;<U1E18>;/
+    <U1E1A>;<U1E1C>;<U1E1E>;<U1E20>;<U1E22>;<U1E24>;<U1E26>;/
+    <U1E28>;<U1E2A>;<U1E2C>;<U1E2E>;<U1E30>;<U1E32>;<U1E34>;/
+    <U1E36>;<U1E38>;<U1E3A>;<U1E3C>;<U1E3E>;<U1E40>;<U1E42>;/
+    <U1E44>;<U1E46>;<U1E48>;<U1E4A>;<U1E4C>;<U1E4E>;<U1E50>;/
+    <U1E52>;<U1E54>;<U1E56>;<U1E58>;<U1E5A>;<U1E5C>;<U1E5E>;/
+    <U1E60>;<U1E62>;<U1E64>;<U1E66>;<U1E68>;<U1E6A>;<U1E6C>;/
+    <U1E6E>;<U1E70>;<U1E72>;<U1E74>;<U1E76>;<U1E78>;<U1E7A>;/
+    <U1E7C>;<U1E7E>;<U1E80>;<U1E82>;<U1E84>;<U1E86>;<U1E88>;/
+    <U1E8A>;<U1E8C>;<U1E8E>;<U1E90>;<U1E92>;<U1E94>;<U1E9E>;/
+    <U1EA0>;<U1EA2>;<U1EA4>;<U1EA6>;<U1EA8>;<U1EAA>;<U1EAC>;/
+    <U1EAE>;<U1EB0>;<U1EB2>;<U1EB4>;<U1EB6>;<U1EB8>;<U1EBA>;/
+    <U1EBC>;<U1EBE>;<U1EC0>;<U1EC2>;<U1EC4>;<U1EC6>;<U1EC8>;/
+    <U1ECA>;<U1ECC>;<U1ECE>;<U1ED0>;<U1ED2>;<U1ED4>;<U1ED6>;/
+    <U1ED8>;<U1EDA>;<U1EDC>;<U1EDE>;<U1EE0>;<U1EE2>;<U1EE4>;/
+    <U1EE6>;<U1EE8>;<U1EEA>;<U1EEC>;<U1EEE>;<U1EF0>;<U1EF2>;/
+    <U1EF4>;<U1EF6>;<U1EF8>;<U1EFA>;<U1EFC>;<U1EFE>;<U1F08>..<U1F0F>;/
+    <U1F18>..<U1F1D>;<U1F28>..<U1F2F>;<U1F38>..<U1F3F>;<U1F48>..<U1F4D>;/
+    <U1F59>;<U1F5B>;<U1F5D>;<U1F5F>;<U1F68>..<U1F6F>;<U1FB8>..<U1FBB>;/
+    <U1FC8>..<U1FCB>;<U1FD8>..<U1FDB>;<U1FE8>..<U1FEC>;<U1FF8>..<U1FFB>;/
+    <U2102>;<U2107>;<U210B>..<U210D>;<U2110>..<U2112>;<U2115>;/
+    <U2119>..<U211D>;<U2124>;<U2126>;<U2128>;<U212A>..<U212D>;/
+    <U2130>..<U2133>;<U213E>..<U213F>;<U2145>;<U2160>..<U216F>;/
+    <U2183>;<U24B6>..<U24CF>;<U2C00>..<U2C2E>;<U2C60>;<U2C62>..<U2C64>;/
+    <U2C67>;<U2C69>;<U2C6B>;<U2C6D>..<U2C70>;<U2C72>;<U2C75>;/
+    <U2C7E>..<U2C80>;<U2C82>;<U2C84>;<U2C86>;<U2C88>;<U2C8A>;/
+    <U2C8C>;<U2C8E>;<U2C90>;<U2C92>;<U2C94>;<U2C96>;<U2C98>;/
+    <U2C9A>;<U2C9C>;<U2C9E>;<U2CA0>;<U2CA2>;<U2CA4>;<U2CA6>;/
+    <U2CA8>;<U2CAA>;<U2CAC>;<U2CAE>;<U2CB0>;<U2CB2>;<U2CB4>;/
+    <U2CB6>;<U2CB8>;<U2CBA>;<U2CBC>;<U2CBE>;<U2CC0>;<U2CC2>;/
+    <U2CC4>;<U2CC6>;<U2CC8>;<U2CCA>;<U2CCC>;<U2CCE>;<U2CD0>;/
+    <U2CD2>;<U2CD4>;<U2CD6>;<U2CD8>;<U2CDA>;<U2CDC>;<U2CDE>;/
+    <U2CE0>;<U2CE2>;<U2CEB>;<U2CED>;<U2CF2>;<UA640>;<UA642>;/
+    <UA644>;<UA646>;<UA648>;<UA64A>;<UA64C>;<UA64E>;<UA650>;/
+    <UA652>;<UA654>;<UA656>;<UA658>;<UA65A>;<UA65C>;<UA65E>;/
+    <UA660>;<UA662>;<UA664>;<UA666>;<UA668>;<UA66A>;<UA66C>;/
+    <UA680>;<UA682>;<UA684>;<UA686>;<UA688>;<UA68A>;<UA68C>;/
+    <UA68E>;<UA690>;<UA692>;<UA694>;<UA696>;<UA698>;<UA69A>;/
+    <UA722>;<UA724>;<UA726>;<UA728>;<UA72A>;<UA72C>;<UA72E>;/
+    <UA732>;<UA734>;<UA736>;<UA738>;<UA73A>;<UA73C>;<UA73E>;/
+    <UA740>;<UA742>;<UA744>;<UA746>;<UA748>;<UA74A>;<UA74C>;/
+    <UA74E>;<UA750>;<UA752>;<UA754>;<UA756>;<UA758>;<UA75A>;/
+    <UA75C>;<UA75E>;<UA760>;<UA762>;<UA764>;<UA766>;<UA768>;/
+    <UA76A>;<UA76C>;<UA76E>;<UA779>;<UA77B>;<UA77D>..<UA77E>;/
+    <UA780>;<UA782>;<UA784>;<UA786>;<UA78B>;<UA78D>;<UA790>;/
+    <UA792>;<UA796>;<UA798>;<UA79A>;<UA79C>;<UA79E>;<UA7A0>;/
+    <UA7A2>;<UA7A4>;<UA7A6>;<UA7A8>;<UA7AA>..<UA7AD>;<UA7B0>..<UA7B1>;/
+    <UFF21>..<UFF3A>;<U10400>..<U10427>;<U118A0>..<U118BF>;/
+    <U1D400>..<U1D419>;<U1D434>..<U1D44D>;<U1D468>..<U1D481>;/
+    <U1D49C>;<U1D49E>..<U1D49F>;<U1D4A2>;<U1D4A5>..<U1D4A6>;/
+    <U1D4A9>..<U1D4AC>;<U1D4AE>..<U1D4B5>;<U1D4D0>..<U1D4E9>;/
+    <U1D504>..<U1D505>;<U1D507>..<U1D50A>;<U1D50D>..<U1D514>;/
+    <U1D516>..<U1D51C>;<U1D538>..<U1D539>;<U1D53B>..<U1D53E>;/
+    <U1D540>..<U1D544>;<U1D546>;<U1D54A>..<U1D550>;/
+    <U1D56C>..<U1D585>;<U1D5A0>..<U1D5B9>;<U1D5D4>..<U1D5ED>;/
+    <U1D608>..<U1D621>;<U1D63C>..<U1D655>;<U1D670>..<U1D689>;/
+    <U1D6A8>..<U1D6C0>;<U1D6E2>..<U1D6FA>;<U1D71C>..<U1D734>;/
+    <U1D756>..<U1D76E>;<U1D790>..<U1D7A8>;<U1D7CA>;/
+    <U1F130>..<U1F149>;<U1F150>..<U1F169>;<U1F170>..<U1F189>;/
+    
 digit /
    <U0030>..<U0039>
-
 % The "outdigit" information is by default "0" to "9".  We don't have to
 % provide it here since localedef will fill in the bits and it would
 % prevent locales copy-ing this file define their own values.
-% outdigit <U0030>..<U0039>
-
-space /
-% ISO/IEC 6429/
-   <U0009>..<U000D>;/
-% BASIC LATIN/
-   <U0020>;/
-% OGHAM/
-   <U1680>;/
-% MONGOL/
-   <U180E>;/
-% GENERAL PUNCTUATION/
-   <U2000>..<U2006>;<U2008>..<U200A>;<U2028>;<U2029>;<U205F>;/
-% CJK SYMBOLS AND PUNCTUATION, HIRAGANA/
+%outdigit /
+%   <U0030>..<U0039>
+blank /
+   <U0009>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;<U205F>;/
    <U3000>
-
+space /
+   <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/
+   <U2028>..<U2029>;<U205F>;<U3000>
 cntrl /
-   <U0000>..<U001F>;<U007F>..<U009F>;/
-% Treat the Line/Paragraph Separators as control characters, like Line Feed./
-   <U2028>;<U2029>
-
+   <U0000>..<U001F>;<U007F>..<U009F>;<U2028>..<U2029>
 punct /
    <U0021>..<U002F>;<U003A>..<U0040>;<U005B>..<U0060>;<U007B>..<U007E>;/
    <U00A0>..<U00A9>;<U00AB>..<U00B4>;<U00B6>..<U00B9>;<U00BB>..<U00BF>;/
-   <U00D7>;<U00F7>;<U02C2>..<U02C5>;<U02D2>..<U02DF>;<U02E5>..<U02ED>;/
-   <U02EF>..<U0344>;<U0346>..<U036F>;<U0374>..<U0375>;<U037E>;/
-   <U0384>..<U0385>;<U0387>;<U03F6>;<U0482>..<U0486>;<U0488>..<U0489>;/
-   <U055A>..<U055F>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05F3>..<U05F4>;/
-   <U0600>..<U0603>;<U060B>..<U061B>;<U061E>..<U061F>;/
-   <U064B>..<U065E>;<U066A>..<U066D>;<U0670>;<U06D4>;<U06D6>..<U06E4>;/
-   <U06E7>..<U06ED>;<U06FD>..<U06FE>;<U0700>..<U070D>;<U070F>;<U0711>;/
-   <U0730>..<U074A>;<U07A6>..<U07B0>;<U07EB>..<U07F3>;<U07F6>..<U07F9>;/
-   <U0964>;<U0965>;/
-   <U0E2F>;/
-   <U0E3F>;<U0E46>;<U0E4F>;<U0E5A>..<U0E5B>;<U0EB1>;<U0EB4>..<U0EB9>;/
-   <U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F01>..<U0F1F>;<U0F2A>..<U0F3F>;/
-   <U0F71>..<U0F87>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;/
-   <U0FCE>..<U0FD4>;<U102B>..<U103F>;<U104A>..<U104F>;<U1056>..<U1059>;/
-   <U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;<U1071>..<U1074>;/
-   <U1082>..<U108D>;<U108F>..<U1099>;<U109E>;<U109F>;/
-   <U10FB>;<U135F>..<U137C>;<U1390>..<U1399>;/
+   <U00D7>;<U00F7>;<U02C2>..<U02C5>;<U02D2>..<U02DF>;<U02E5>..<U02EB>;/
+   <U02ED>;<U02EF>..<U0344>;<U0346>..<U036F>;<U0375>;<U037E>;/
+   <U0384>..<U0385>;<U0387>;<U03F6>;<U0482>..<U0489>;<U055A>..<U055F>;/
+   <U0589>..<U058A>;<U058D>..<U058F>;<U0591>..<U05C7>;<U05F3>..<U05F4>;/
+   <U0600>..<U061C>;<U061E>..<U061F>;<U064B>..<U065F>;<U066A>..<U066D>;/
+   <U0670>;<U06D4>;<U06D6>..<U06E4>;<U06E7>..<U06ED>;<U06FD>..<U06FE>;/
+   <U0700>..<U070D>;<U070F>;<U0711>;<U0730>..<U074A>;<U07A6>..<U07B0>;/
+   <U07EB>..<U07F3>;<U07F6>..<U07F9>;<U0816>..<U0819>;<U081B>..<U0823>;/
+   <U0825>..<U0827>;<U0829>..<U082D>;<U0830>..<U083E>;<U0859>..<U085B>;/
+   <U085E>;<U08E4>..<U0903>;<U093A>..<U093C>;<U093E>..<U094F>;/
+   <U0951>..<U0957>;<U0962>..<U0965>;<U0970>;<U0981>..<U0983>;<U09BC>;/
+   <U09BE>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;/
+   <U09E2>..<U09E3>;<U09F2>..<U09FB>;<U0A01>..<U0A03>;<U0A3C>;/
+   <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
+   <U0A70>..<U0A71>;<U0A75>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;/
+   <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AE2>..<U0AE3>;<U0AF0>..<U0AF1>;/
+   <U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;<U0B47>..<U0B48>;/
+   <U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B62>..<U0B63>;<U0B70>;/
+   <U0B72>..<U0B77>;<U0B82>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;/
+   <U0BCA>..<U0BCD>;<U0BD7>;<U0BF0>..<U0BFA>;<U0C00>..<U0C03>;/
+   <U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
+   <U0C62>..<U0C63>;<U0C78>..<U0C7F>;<U0C81>..<U0C83>;<U0CBC>;/
+   <U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
+   <U0CE2>..<U0CE3>;<U0D01>..<U0D03>;<U0D3E>..<U0D44>;<U0D46>..<U0D48>;/
+   <U0D4A>..<U0D4D>;<U0D57>;<U0D62>..<U0D63>;<U0D70>..<U0D75>;<U0D79>;/
+   <U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+   <U0DF2>..<U0DF4>;<U0E2F>;<U0E3F>;<U0E46>;<U0E4F>;<U0E5A>..<U0E5B>;/
+   <U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;/
+   <U0F01>..<U0F1F>;<U0F2A>..<U0F3F>;<U0F71>..<U0F87>;<U0F8D>..<U0F97>;/
+   <U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCE>..<U0FDA>;<U102B>..<U103E>;/
+   <U104A>..<U104F>;<U1056>..<U1059>;<U105E>..<U1060>;<U1062>..<U1064>;/
+   <U1067>..<U106D>;<U1071>..<U1074>;<U1082>..<U108D>;<U108F>;/
+   <U109A>..<U109F>;<U10FB>;<U135D>..<U137C>;<U1390>..<U1399>;<U1400>;/
    <U166D>..<U166E>;<U169B>..<U169C>;<U16EB>..<U16ED>;<U1712>..<U1714>;/
    <U1732>..<U1736>;<U1752>..<U1753>;<U1772>..<U1773>;<U17B4>..<U17D6>;/
-   <U17D8>..<U17DB>;<U17DD>;<U17F0>..<U17F9>;<U1800>..<U180D>;<U18A9>;/
+   <U17D8>..<U17DB>;<U17DD>;<U17F0>..<U17F9>;<U1800>..<U180E>;<U18A9>;/
    <U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U1945>;/
-   <U19B0>..<U19C0>;<U19C8>..<U19C9>;<U19DE>..<U19FF>;<U1A17>..<U1A1B>;/
-   <U1A1E>..<U1A1F>;<U1B00>..<U1B04>;<U1B34>..<U1B44>;<U1B5A>..<U1B7C>;/
-   <U1B80>..<U1B82>;<U1BA1>..<U1BAA>;<U1C24>..<U1C37>;<U1C3B>..<U1C3F>;/
-   <U1C7E>..<U1C7F>;/
-   <U1DC0>..<U1DE6>;<U1DFE>..<U1DFF>;<U1FBD>;<U1FBF>..<U1FC1>;/
-   <U1FCD>..<U1FCF>;<U1FDD>..<U1FDF>;<U1FED>..<U1FEF>;<U1FFD>..<U1FFE>;/
-   <U2007>;<U200B>..<U2027>;<U202A>..<U205E>;<U2060>..<U2064>;/
-   <U206A>..<U2070>;<U2074>..<U207E>;<U2080>..<U208E>;<U20A0>..<U20B5>;/
-   <U20D0>..<U20F0>;<U2100>..<U2101>;<U2103>..<U2106>;<U2108>..<U2109>;/
-   <U2114>;<U2116>..<U2118>;<U211E>..<U2123>;<U2125>;<U2127>;<U212E>;/
-   <U213A>..<U213B>;<U2140>..<U2144>;<U214A>..<U214D>;<U2153>..<U215F>;/
-   <U2190>..<U23E7>;<U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U249B>;/
-   <U24EA>..<U269D>;<U26A0>..<U26C3>;<U2701>..<U2704>;<U2706>..<U2709>;/
-   <U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
-   <U2758>..<U275E>;<U2761>..<U2794>;<U2798>..<U27AF>;<U27B1>..<U27BE>;/
-   <U27C0>..<U27CA>;<U27CC>;<U27D0>..<U27EF>;<U27F0>..<U2B4C>;/
-   <U2B50>..<U2B54>;<U2DE0>..<U2DFF>;/
-   <U2CE5>..<U2CEA>;<U2CF9>..<U2CFF>;<U2E00>..<U2E30>;/
+   <U19B0>..<U19C0>;<U19C8>..<U19C9>;<U19DA>;<U19DE>..<U19FF>;/
+   <U1A17>..<U1A1B>;<U1A1E>..<U1A1F>;<U1A55>..<U1A5E>;<U1A60>..<U1A7C>;/
+   <U1A7F>;<U1AA0>..<U1AA6>;<U1AA8>..<U1AAD>;<U1AB0>..<U1ABE>;/
+   <U1B00>..<U1B04>;<U1B34>..<U1B44>;<U1B5A>..<U1B7C>;<U1B80>..<U1B82>;/
+   <U1BA1>..<U1BAD>;<U1BE6>..<U1BF3>;<U1BFC>..<U1BFF>;<U1C24>..<U1C37>;/
+   <U1C3B>..<U1C3F>;<U1C7E>..<U1C7F>;<U1CC0>..<U1CC7>;<U1CD0>..<U1CE8>;/
+   <U1CED>;<U1CF2>..<U1CF4>;<U1CF8>..<U1CF9>;<U1DC0>..<U1DF5>;/
+   <U1DFC>..<U1DFF>;<U1FBD>;<U1FBF>..<U1FC1>;<U1FCD>..<U1FCF>;/
+   <U1FDD>..<U1FDF>;<U1FED>..<U1FEF>;<U1FFD>..<U1FFE>;<U2007>;/
+   <U200B>..<U2027>;<U202A>..<U205E>;<U2060>..<U2064>;<U2066>..<U2070>;/
+   <U2074>..<U207E>;<U2080>..<U208E>;<U20A0>..<U20BD>;<U20D0>..<U20F0>;/
+   <U2100>..<U2101>;<U2103>..<U2106>;<U2108>..<U2109>;<U2114>;/
+   <U2116>..<U2118>;<U211E>..<U2123>;<U2125>;<U2127>;<U212E>;/
+   <U213A>..<U213B>;<U2140>..<U2144>;<U214A>..<U214D>;<U214F>..<U215F>;/
+   <U2189>;<U2190>..<U23FA>;<U2400>..<U2426>;<U2440>..<U244A>;/
+   <U2460>..<U249B>;<U24EA>..<U2B73>;<U2B76>..<U2B95>;<U2B98>..<U2BB9>;/
+   <U2BBD>..<U2BC8>;<U2BCA>..<U2BD1>;<U2CE5>..<U2CEA>;<U2CEF>..<U2CF1>;/
+   <U2CF9>..<U2CFF>;<U2D70>;<U2D7F>;<U2DE0>..<U2E2E>;<U2E30>..<U2E42>;/
    <U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;/
    <U3001>..<U3004>;<U3008>..<U3020>;<U302A>..<U3030>;<U3036>..<U3037>;/
    <U303D>..<U303F>;<U3099>..<U309C>;<U30A0>;<U30FB>;<U3190>..<U319F>;/
-   <U31C0>..<U31CF>;<U3200>..<U321E>;<U3220>..<U3243>;<U3250>..<U32FE>;/
-   <U3300>..<U33FF>;<U4DC0>..<U4DFF>;<UA490>..<UA4C6>;<UA60C>..<UA60F>;/
-   <UA66F>..<UA673>;<UA67C>..<UA67F>;<UA700>..<UA716>;/
-   <UA720>..<UA721>;<UA802>;<UA806>;<UA80B>;<UA823>..<UA82B>;/
-   <UA874>..<UA877>;<UA880>;<UA881>;<UA8B4>..<UA8C4>;<UA8CE>..<UA8CF>;/
-   <UA92E>..<UA92F>;<UA947>..<UA953>;<UA95F>;<UAA29>..<UAA36>;<UAA43>;/
-   <UAA4C>..<UAA4D>;<UAA5C>..<UAA5F>;/
-   <UE000>..<UF8FF>;<UFB1E>;<UFB29>;<UFD3E>..<UFD3F>;/
-   <UFDFC>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE26>;<UFE30>..<UFE52>;/
-   <UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFEFF>;<UFF01>..<UFF0F>;/
-   <UFF1A>..<UFF20>;<UFF3B>..<UFF40>;<UFF5B>..<UFF65>;<UFFE0>..<UFFE6>;/
-   <UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;<U00010100>..<U00010102>;/
-   <U00010107>..<U00010133>;<U00010137>..<U0001013F>;/
-   <U00010175>..<U0001018A>;<U00010320>..<U00010323>;<U0001039F>;/
-   <U000103D0>;<U00010916>..<U00010919>;<U0001091F>;/
-   <U00010A01>..<U00010A03>;<U00010A05>..<U00010A06>;/
+   <U31C0>..<U31E3>;<U3200>..<U321E>;<U3220>..<U32FE>;<U3300>..<U33FF>;/
+   <U4DC0>..<U4DFF>;<UA490>..<UA4C6>;<UA4FE>..<UA4FF>;<UA60D>..<UA60F>;/
+   <UA66F>..<UA67E>;<UA69F>;<UA6F0>..<UA6F7>;<UA700>..<UA716>;/
+   <UA720>..<UA721>;<UA789>..<UA78A>;<UA802>;<UA806>;<UA80B>;/
+   <UA823>..<UA82B>;<UA830>..<UA839>;<UA874>..<UA877>;<UA880>..<UA881>;/
+   <UA8B4>..<UA8C4>;<UA8CE>..<UA8CF>;<UA8E0>..<UA8F1>;<UA8F8>..<UA8FA>;/
+   <UA926>..<UA92F>;<UA947>..<UA953>;<UA95F>;<UA980>..<UA983>;/
+   <UA9B3>..<UA9CD>;<UA9DE>..<UA9DF>;<UA9E5>;<UAA29>..<UAA36>;<UAA43>;/
+   <UAA4C>..<UAA4D>;<UAA5C>..<UAA5F>;<UAA77>..<UAA79>;<UAA7B>..<UAA7D>;/
+   <UAAB0>;<UAAB2>..<UAAB4>;<UAAB7>..<UAAB8>;<UAABE>..<UAABF>;<UAAC1>;/
+   <UAADE>..<UAADF>;<UAAEB>..<UAAF1>;<UAAF5>..<UAAF6>;<UAB5B>;/
+   <UABE3>..<UABED>;<UE000>..<UF8FF>;<UFB1E>;<UFB29>;<UFBB2>..<UFBC1>;/
+   <UFD3E>..<UFD3F>;<UFDFC>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE2D>;/
+   <UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFEFF>;/
+   <UFF01>..<UFF0F>;<UFF1A>..<UFF20>;<UFF3B>..<UFF40>;<UFF5B>..<UFF65>;/
+   <UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;/
+   <U00010100>..<U00010102>;<U00010107>..<U00010133>;/
+   <U00010137>..<U0001013F>;<U00010175>..<U0001018C>;/
+   <U00010190>..<U0001019B>;<U000101A0>;<U000101D0>..<U000101FD>;/
+   <U000102E0>..<U000102FB>;<U00010320>..<U00010323>;/
+   <U00010376>..<U0001037A>;<U0001039F>;<U000103D0>;<U0001056F>;/
+   <U00010857>..<U0001085F>;<U00010877>..<U0001087F>;/
+   <U000108A7>..<U000108AF>;<U00010916>..<U0001091B>;<U0001091F>;/
+   <U0001093F>;<U00010A01>..<U00010A03>;<U00010A05>..<U00010A06>;/
    <U00010A0C>..<U00010A0F>;<U00010A38>..<U00010A3A>;/
    <U00010A3F>..<U00010A47>;<U00010A50>..<U00010A58>;/
-   <U00012470>..<U00012473>;<U0001D000>..<U0001D0F5>;/
+   <U00010A7D>..<U00010A7F>;<U00010A9D>..<U00010A9F>;<U00010AC8>;/
+   <U00010AE5>..<U00010AE6>;<U00010AEB>..<U00010AF6>;/
+   <U00010B39>..<U00010B3F>;<U00010B58>..<U00010B5F>;/
+   <U00010B78>..<U00010B7F>;<U00010B99>..<U00010B9C>;/
+   <U00010BA9>..<U00010BAF>;<U00010E60>..<U00010E7E>;/
+   <U00011000>..<U00011002>;<U00011038>..<U0001104D>;/
+   <U00011052>..<U00011065>;<U0001107F>..<U00011082>;/
+   <U000110B0>..<U000110C1>;<U00011100>..<U00011102>;/
+   <U00011127>..<U00011134>;<U00011140>..<U00011143>;/
+   <U00011173>..<U00011175>;<U00011180>..<U00011182>;/
+   <U000111B3>..<U000111C0>;<U000111C5>..<U000111C8>;<U000111CD>;/
+   <U000111E1>..<U000111F4>;<U0001122C>..<U0001123D>;/
+   <U000112DF>..<U000112EA>;<U00011301>..<U00011303>;<U0001133C>;/
+   <U0001133E>..<U00011344>;<U00011347>..<U00011348>;/
+   <U0001134B>..<U0001134D>;<U00011357>;<U00011362>..<U00011363>;/
+   <U00011366>..<U0001136C>;<U00011370>..<U00011374>;/
+   <U000114B0>..<U000114C3>;<U000114C6>;<U000115AF>..<U000115B5>;/
+   <U000115B8>..<U000115C9>;<U00011630>..<U00011643>;/
+   <U000116AB>..<U000116B7>;<U000118EA>..<U000118F2>;/
+   <U00012470>..<U00012474>;<U00016A6E>..<U00016A6F>;/
+   <U00016AF0>..<U00016AF5>;<U00016B30>..<U00016B3F>;/
+   <U00016B44>..<U00016B45>;<U00016B5B>..<U00016B61>;/
+   <U00016F51>..<U00016F7E>;<U00016F8F>..<U00016F92>;/
+   <U0001BC9C>..<U0001BCA3>;<U0001D000>..<U0001D0F5>;/
    <U0001D100>..<U0001D126>;<U0001D129>..<U0001D1DD>;/
    <U0001D200>..<U0001D245>;<U0001D300>..<U0001D356>;/
    <U0001D360>..<U0001D371>;<U0001D6C1>;<U0001D6DB>;<U0001D6FB>;<U0001D715>;/
    <U0001D735>;<U0001D74F>;<U0001D76F>;<U0001D789>;<U0001D7A9>;<U0001D7C3>;/
-   <U000E0001>;<U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
+   <U0001E8C7>..<U0001E8D6>;<U0001EEF0>..<U0001EEF1>;/
+   <U0001F000>..<U0001F02B>;<U0001F030>..<U0001F093>;/
+   <U0001F0A0>..<U0001F0AE>;<U0001F0B1>..<U0001F0BF>;/
+   <U0001F0C1>..<U0001F0CF>;<U0001F0D1>..<U0001F0F5>;/
+   <U0001F100>..<U0001F10C>;<U0001F12D>..<U0001F12E>;/
+   <U0001F14A>..<U0001F14F>;<U0001F16A>..<U0001F16B>;/
+   <U0001F18B>..<U0001F19A>;<U0001F200>..<U0001F202>;/
+   <U0001F210>..<U0001F23A>;<U0001F240>..<U0001F248>;/
+   <U0001F250>..<U0001F251>;<U0001F300>..<U0001F32C>;/
+   <U0001F330>..<U0001F37D>;<U0001F380>..<U0001F3CE>;/
+   <U0001F3D4>..<U0001F3F7>;<U0001F400>..<U0001F4FE>;/
+   <U0001F500>..<U0001F54A>;<U0001F550>..<U0001F579>;/
+   <U0001F57B>..<U0001F5A3>;<U0001F5A5>..<U0001F642>;/
+   <U0001F645>..<U0001F6CF>;<U0001F6E0>..<U0001F6EC>;/
+   <U0001F6F0>..<U0001F6F3>;<U0001F700>..<U0001F773>;/
+   <U0001F780>..<U0001F7D4>;<U0001F800>..<U0001F80B>;/
+   <U0001F810>..<U0001F847>;<U0001F850>..<U0001F859>;/
+   <U0001F860>..<U0001F887>;<U0001F890>..<U0001F8AD>;<U000E0001>;/
+   <U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
    <U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
-
+xdigit /
+   <U0030>..<U0039>;<U0041>..<U0046>;<U0061>..<U0066>
 graph /
-   <U0021>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037E>;/
-   <U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U0486>;/
-   <U0488>..<U0523>;<U0531>..<U0556>;<U0559>..<U055F>;/
-   <U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05D0>..<U05EA>;/
-   <U05F0>..<U05F4>;<U0600>..<U0603>;<U0606>..<U061B>;/
-   <U061E>..<U061F>;<U0621>..<U065E>;<U0660>..<U070D>;/
-   <U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
-   <U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0972>;/
-   <U097B>..<U097F>;<U0981>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
+   <U0021>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037F>;<U0384>..<U038A>;/
+   <U038C>;<U038E>..<U03A1>;<U03A3>..<U052F>;<U0531>..<U0556>;/
+   <U0559>..<U055F>;<U0561>..<U0587>;<U0589>..<U058A>;<U058D>..<U058F>;/
+   <U0591>..<U05C7>;<U05D0>..<U05EA>;<U05F0>..<U05F4>;<U0600>..<U061C>;/
+   <U061E>..<U070D>;<U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
+   <U0800>..<U082D>;<U0830>..<U083E>;<U0840>..<U085B>;<U085E>;/
+   <U08A0>..<U08B2>;<U08E4>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
    <U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;/
    <U09BC>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
-   <U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FA>;<U0A01>..<U0A03>;/
+   <U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FB>;<U0A01>..<U0A03>;/
    <U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
    <U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;<U0A3C>;/
    <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
-   <U0A59>..<U0A5C>;/
-   <U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
-   <U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;/
-   <U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
-   <U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AEF>;<U0AF1>;<U0B01>..<U0B03>;/
-   <U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
-   <U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;<U0B47>..<U0B48>;/
-   <U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B63>;/
-   <U0B66>..<U0B71>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;/
-   <U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;<U0B9E>..<U0B9F>;/
-   <U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;/
-   <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0BE6>..<U0BFA>;/
-   <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
-   <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
+   <U0A59>..<U0A5C>;<U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;/
+   <U0A85>..<U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;/
+   <U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;/
+   <U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AF1>;/
+   <U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;/
+   <U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;/
+   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;/
+   <U0B5F>..<U0B63>;<U0B66>..<U0B77>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;/
+   <U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;/
+   <U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;/
+   <U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
+   <U0BE6>..<U0BFA>;<U0C00>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;/
+   <U0C12>..<U0C28>;<U0C2A>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
    <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
-   <U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
-   <U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
-   <U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;/
-   <U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;/
-   <U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D05>..<U0D0C>;/
-   <U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
-   <U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D63>;/
-   <U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;/
-   <U0D9A>..<U0DB1>;/
-   <U0DB3>..<U0DBB>;<U0DBD>;<U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;/
-   <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;/
-   <U0E3F>..<U0E5B>;<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;/
-   <U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;/
-   <U0EA7>;<U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;/
-   <U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;/
-   <U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F8B>;/
-   <U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCE>..<U0FD4>;/
-   <U1000>..<U102A>;<U102B>..<U103F>;<U1040>..<U1099>;<U109E>;<U109F>;/
-   <U10A0>..<U10C5>;<U10D0>..<U10FC>;/
-   <U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1248>;/
-   <U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
-   <U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;<U12B2>..<U12B5>;/
-   <U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;<U12C8>..<U12D6>;/
-   <U12D8>..<U1310>;<U1312>..<U1315>;<U1318>..<U135A>;<U135F>..<U137C>;/
-   <U1380>..<U1399>;<U13A0>..<U13F4>;<U1401>..<U1676>;<U1681>..<U169C>;/
-   <U16A0>..<U16F0>;<U1700>..<U170C>;<U170E>..<U1714>;<U1720>..<U1736>;/
-   <U1740>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;<U1772>..<U1773>;/
-   <U1780>..<U17DD>;<U17E0>..<U17E9>;<U17F0>..<U17F9>;<U1800>..<U180D>;/
-   <U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;<U1900>..<U191C>;/
-   <U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U196D>;/
-   <U1970>..<U1974>;<U1980>..<U19A9>;<U19B0>..<U19C9>;<U19D0>..<U19D9>;/
-   <U19DE>..<U1A1B>;<U1A1E>..<U1A1F>;<U1B00>..<U1B4B>;<U1B50>..<U1B7C>;/
-   <U1B80>..<U1BAA>;<U1BAE>..<U1BB9>;<U1C00>..<U1C37>;<U1C3B>..<U1C49>;/
-   <U1C4D>..<U1C7F>;/
-   <U1D00>..<U1DE6>;<U1DFE>..<U1E9F>;<U1EA0>..<U1EFF>;<U1F00>..<U1F15>;/
+   <U0C66>..<U0C6F>;<U0C78>..<U0C7F>;<U0C81>..<U0C83>;<U0C85>..<U0C8C>;/
+   <U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;/
+   <U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
+   <U0CDE>;<U0CE0>..<U0CE3>;<U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;/
+   <U0D01>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D3A>;/
+   <U0D3D>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4E>;<U0D57>;/
+   <U0D60>..<U0D63>;<U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;/
+   <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+   <U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+   <U0DE6>..<U0DEF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;<U0E3F>..<U0E5B>;/
+   <U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;/
+   <U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;/
+   <U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;<U0EC0>..<U0EC4>;/
+   <U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;<U0EDC>..<U0EDF>;/
+   <U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F97>;<U0F99>..<U0FBC>;/
+   <U0FBE>..<U0FCC>;<U0FCE>..<U0FDA>;<U1000>..<U10C5>;<U10C7>;<U10CD>;/
+   <U10D0>..<U1248>;<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;/
+   <U125A>..<U125D>;<U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;/
+   <U12B2>..<U12B5>;<U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;/
+   <U12C8>..<U12D6>;<U12D8>..<U1310>;<U1312>..<U1315>;<U1318>..<U135A>;/
+   <U135D>..<U137C>;<U1380>..<U1399>;<U13A0>..<U13F4>;<U1400>..<U167F>;/
+   <U1681>..<U169C>;<U16A0>..<U16F8>;<U1700>..<U170C>;<U170E>..<U1714>;/
+   <U1720>..<U1736>;<U1740>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;/
+   <U1772>..<U1773>;<U1780>..<U17DD>;<U17E0>..<U17E9>;<U17F0>..<U17F9>;/
+   <U1800>..<U180E>;<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;/
+   <U18B0>..<U18F5>;<U1900>..<U191E>;<U1920>..<U192B>;<U1930>..<U193B>;/
+   <U1940>;<U1944>..<U196D>;<U1970>..<U1974>;<U1980>..<U19AB>;/
+   <U19B0>..<U19C9>;<U19D0>..<U19DA>;<U19DE>..<U1A1B>;<U1A1E>..<U1A5E>;/
+   <U1A60>..<U1A7C>;<U1A7F>..<U1A89>;<U1A90>..<U1A99>;<U1AA0>..<U1AAD>;/
+   <U1AB0>..<U1ABE>;<U1B00>..<U1B4B>;<U1B50>..<U1B7C>;<U1B80>..<U1BF3>;/
+   <U1BFC>..<U1C37>;<U1C3B>..<U1C49>;<U1C4D>..<U1C7F>;<U1CC0>..<U1CC7>;/
+   <U1CD0>..<U1CF6>;<U1CF8>..<U1CF9>;<U1D00>..<U1DF5>;<U1DFC>..<U1F15>;/
    <U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;/
    <U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;/
    <U1FB6>..<U1FC4>;<U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;/
    <U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2007>;<U200B>..<U2027>;/
-   <U202A>..<U205E>;<U2060>..<U2064>;<U206A>..<U2071>;<U2074>..<U208E>;/
-   <U2090>..<U2094>;<U20A0>..<U20B5>;<U20D0>..<U20F0>;<U2100>..<U214F>;/
-   <U2153>..<U2188>;<U2190>..<U23E7>;<U2400>..<U2426>;<U2440>..<U244A>;/
-   <U2460>..<U269D>;<U26A0>..<U26C3>;<U2701>..<U2704>;<U2706>..<U2709>;/
-   <U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
-   <U2758>..<U275E>;<U2761>..<U2794>;<U2798>..<U27AF>;<U27B1>..<U27BE>;/
-   <U27C0>..<U27CA>;<U27CC>;<U27D0>..<U27EF>;<U27F0>..<U2B4C>;/
-   <U2B50>..<U2B54>;/
-   <U2C00>..<U2C2E>;<U2C30>..<U2C5E>;<U2C60>..<U2C6F>;<U2C71>..<U2C7D>;/
-   <U2C80>..<U2CEA>;<U2CF9>..<U2D25>;<U2D30>..<U2D65>;<U2D6F>;/
-   <U2D80>..<U2D96>;<U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;/
-   <U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;/
-   <U2DD8>..<U2DDE>;<U2DE0>..<U2E30>;<U2E80>..<U2E99>;/
-   <U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;<U3001>..<U303F>;/
-   <U3041>..<U3096>;<U3099>..<U30FF>;<U3105>..<U312D>;<U3131>..<U318E>;/
-   <U3190>..<U31B7>;<U31C0>..<U31CF>;<U31F0>..<U321E>;<U3220>..<U3243>;/
-   <U3250>..<U32FE>;<U3300>..<U4DB5>;<U4DC0>..<U9FBB>;<UA000>..<UA48C>;/
-   <UA490>..<UA4C6>;<UA500>..<UA62B>;<UA640>..<UA65F>;<UA662>..<UA673>;/
-   <UA67C>..<UA697>;<UA700>..<UA78C>;<UA7FB>..<UA7FF>;<UA800>..<UA82B>;/
-   <UA840>..<UA877>;<UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UA900>..<UA953>;/
-   <UA95F>;<UAA00>..<UAA36>;<UAA40>..<UAA4D>;<UAA50>..<UAA59>;/
-   <UAA5C>..<UAA5F>;<UAC00>..<UD7A3>;<UE000>..<UFA2D>;<UFA30>..<UFA6A>;/
-   <UFA70>..<UFAD9>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>..<UFB36>;/
-   <UFB38>..<UFB3C>;<UFB3E>;<UFB40>..<UFB41>;<UFB43>..<UFB44>;/
-   <UFB46>..<UFBB1>;<UFBD3>..<UFD3F>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;/
-   <UFDF0>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE26>;<UFE30>..<UFE52>;/
-   <UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFE70>..<UFE74>;<UFE76>..<UFEFC>;/
-   <UFEFF>;<UFF01>..<UFFBE>;<UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;/
-   <UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;/
-   <UFFF9>..<UFFFD>;<U00010000>..<U0001000B>;<U0001000D>..<U00010026>;/
-   <U00010028>..<U0001003A>;<U0001003C>..<U0001003D>;/
-   <U0001003F>..<U0001004D>;<U00010050>..<U0001005D>;/
-   <U00010080>..<U000100FA>;<U00010100>..<U00010102>;/
-   <U00010107>..<U00010133>;<U00010137>..<U0001018A>;/
-   <U00010190>..<U0001019B>;<U000101D0>..<U000101FD>;/
-   <U00010280>..<U0001029C>;<U000102A0>..<U000102D0>;/
-   <U00010300>..<U0001031E>;<U00010320>..<U00010323>;/
-   <U00010330>..<U0001034A>;<U00010380>..<U0001039D>;/
+   <U202A>..<U205E>;<U2060>..<U2064>;<U2066>..<U2071>;<U2074>..<U208E>;/
+   <U2090>..<U209C>;<U20A0>..<U20BD>;<U20D0>..<U20F0>;<U2100>..<U2189>;/
+   <U2190>..<U23FA>;<U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U2B73>;/
+   <U2B76>..<U2B95>;<U2B98>..<U2BB9>;<U2BBD>..<U2BC8>;<U2BCA>..<U2BD1>;/
+   <U2C00>..<U2C2E>;<U2C30>..<U2C5E>;<U2C60>..<U2CF3>;<U2CF9>..<U2D25>;/
+   <U2D27>;<U2D2D>;<U2D30>..<U2D67>;<U2D6F>..<U2D70>;<U2D7F>..<U2D96>;/
+   <U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;<U2DB8>..<U2DBE>;/
+   <U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;<U2DD8>..<U2DDE>;/
+   <U2DE0>..<U2E42>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;/
+   <U2FF0>..<U2FFB>;<U3001>..<U303F>;<U3041>..<U3096>;<U3099>..<U30FF>;/
+   <U3105>..<U312D>;<U3131>..<U318E>;<U3190>..<U31BA>;<U31C0>..<U31E3>;/
+   <U31F0>..<U321E>;<U3220>..<U32FE>;<U3300>..<U4DB5>;<U4DC0>..<U9FCC>;/
+   <UA000>..<UA48C>;<UA490>..<UA4C6>;<UA4D0>..<UA62B>;<UA640>..<UA69D>;/
+   <UA69F>..<UA6F7>;<UA700>..<UA78E>;<UA790>..<UA7AD>;<UA7B0>..<UA7B1>;/
+   <UA7F7>..<UA82B>;<UA830>..<UA839>;<UA840>..<UA877>;<UA880>..<UA8C4>;/
+   <UA8CE>..<UA8D9>;<UA8E0>..<UA8FB>;<UA900>..<UA953>;<UA95F>..<UA97C>;/
+   <UA980>..<UA9CD>;<UA9CF>..<UA9D9>;<UA9DE>..<UA9FE>;<UAA00>..<UAA36>;/
+   <UAA40>..<UAA4D>;<UAA50>..<UAA59>;<UAA5C>..<UAAC2>;<UAADB>..<UAAF6>;/
+   <UAB01>..<UAB06>;<UAB09>..<UAB0E>;<UAB11>..<UAB16>;<UAB20>..<UAB26>;/
+   <UAB28>..<UAB2E>;<UAB30>..<UAB5F>;<UAB64>..<UAB65>;<UABC0>..<UABED>;/
+   <UABF0>..<UABF9>;<UAC00>..<UD7A3>;<UD7B0>..<UD7C6>;<UD7CB>..<UD7FB>;/
+   <UE000>..<UFA6D>;<UFA70>..<UFAD9>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;/
+   <UFB1D>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;<UFB40>..<UFB41>;/
+   <UFB43>..<UFB44>;<UFB46>..<UFBC1>;<UFBD3>..<UFD3F>;<UFD50>..<UFD8F>;/
+   <UFD92>..<UFDC7>;<UFDF0>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE2D>;/
+   <UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFE70>..<UFE74>;/
+   <UFE76>..<UFEFC>;<UFEFF>;<UFF01>..<UFFBE>;<UFFC2>..<UFFC7>;/
+   <UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<UFFE0>..<UFFE6>;/
+   <UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;<U00010000>..<U0001000B>;/
+   <U0001000D>..<U00010026>;<U00010028>..<U0001003A>;/
+   <U0001003C>..<U0001003D>;<U0001003F>..<U0001004D>;/
+   <U00010050>..<U0001005D>;<U00010080>..<U000100FA>;/
+   <U00010100>..<U00010102>;<U00010107>..<U00010133>;/
+   <U00010137>..<U0001018C>;<U00010190>..<U0001019B>;<U000101A0>;/
+   <U000101D0>..<U000101FD>;<U00010280>..<U0001029C>;/
+   <U000102A0>..<U000102D0>;<U000102E0>..<U000102FB>;/
+   <U00010300>..<U00010323>;<U00010330>..<U0001034A>;/
+   <U00010350>..<U0001037A>;<U00010380>..<U0001039D>;/
    <U0001039F>..<U000103C3>;<U000103C8>..<U000103D5>;/
    <U00010400>..<U0001049D>;<U000104A0>..<U000104A9>;/
-   <U00010800>..<U00010805>;<U00010808>;<U0001080A>..<U00010835>;/
-   <U00010837>..<U00010838>;<U0001083C>;<U0001083F>;/
-   <U00010900>..<U00010919>;<U0001091F>;<U00010A00>..<U00010A03>;/
+   <U00010500>..<U00010527>;<U00010530>..<U00010563>;<U0001056F>;/
+   <U00010600>..<U00010736>;<U00010740>..<U00010755>;/
+   <U00010760>..<U00010767>;<U00010800>..<U00010805>;<U00010808>;/
+   <U0001080A>..<U00010835>;<U00010837>..<U00010838>;<U0001083C>;/
+   <U0001083F>..<U00010855>;<U00010857>..<U0001089E>;/
+   <U000108A7>..<U000108AF>;<U00010900>..<U0001091B>;/
+   <U0001091F>..<U00010939>;<U0001093F>;<U00010980>..<U000109B7>;/
+   <U000109BE>..<U000109BF>;<U00010A00>..<U00010A03>;/
    <U00010A05>..<U00010A06>;<U00010A0C>..<U00010A13>;/
    <U00010A15>..<U00010A17>;<U00010A19>..<U00010A33>;/
    <U00010A38>..<U00010A3A>;<U00010A3F>..<U00010A47>;/
-   <U00010A50>..<U00010A58>;<U00012000>..<U0001236E>;/
-   <U00012400>..<U00012462>;<U00012470>..<U00012473>;/
+   <U00010A50>..<U00010A58>;<U00010A60>..<U00010A9F>;/
+   <U00010AC0>..<U00010AE6>;<U00010AEB>..<U00010AF6>;/
+   <U00010B00>..<U00010B35>;<U00010B39>..<U00010B55>;/
+   <U00010B58>..<U00010B72>;<U00010B78>..<U00010B91>;/
+   <U00010B99>..<U00010B9C>;<U00010BA9>..<U00010BAF>;/
+   <U00010C00>..<U00010C48>;<U00010E60>..<U00010E7E>;/
+   <U00011000>..<U0001104D>;<U00011052>..<U0001106F>;/
+   <U0001107F>..<U000110C1>;<U000110D0>..<U000110E8>;/
+   <U000110F0>..<U000110F9>;<U00011100>..<U00011134>;/
+   <U00011136>..<U00011143>;<U00011150>..<U00011176>;/
+   <U00011180>..<U000111C8>;<U000111CD>;<U000111D0>..<U000111DA>;/
+   <U000111E1>..<U000111F4>;<U00011200>..<U00011211>;/
+   <U00011213>..<U0001123D>;<U000112B0>..<U000112EA>;/
+   <U000112F0>..<U000112F9>;<U00011301>..<U00011303>;/
+   <U00011305>..<U0001130C>;<U0001130F>..<U00011310>;/
+   <U00011313>..<U00011328>;<U0001132A>..<U00011330>;/
+   <U00011332>..<U00011333>;<U00011335>..<U00011339>;/
+   <U0001133C>..<U00011344>;<U00011347>..<U00011348>;/
+   <U0001134B>..<U0001134D>;<U00011357>;<U0001135D>..<U00011363>;/
+   <U00011366>..<U0001136C>;<U00011370>..<U00011374>;/
+   <U00011480>..<U000114C7>;<U000114D0>..<U000114D9>;/
+   <U00011580>..<U000115B5>;<U000115B8>..<U000115C9>;/
+   <U00011600>..<U00011644>;<U00011650>..<U00011659>;/
+   <U00011680>..<U000116B7>;<U000116C0>..<U000116C9>;/
+   <U000118A0>..<U000118F2>;<U000118FF>;<U00011AC0>..<U00011AF8>;/
+   <U00012000>..<U00012398>;<U00012400>..<U0001246E>;/
+   <U00012470>..<U00012474>;<U00013000>..<U0001342E>;/
+   <U00016800>..<U00016A38>;<U00016A40>..<U00016A5E>;/
+   <U00016A60>..<U00016A69>;<U00016A6E>..<U00016A6F>;/
+   <U00016AD0>..<U00016AED>;<U00016AF0>..<U00016AF5>;/
+   <U00016B00>..<U00016B45>;<U00016B50>..<U00016B59>;/
+   <U00016B5B>..<U00016B61>;<U00016B63>..<U00016B77>;/
+   <U00016B7D>..<U00016B8F>;<U00016F00>..<U00016F44>;/
+   <U00016F50>..<U00016F7E>;<U00016F8F>..<U00016F9F>;/
+   <U0001B000>..<U0001B001>;<U0001BC00>..<U0001BC6A>;/
+   <U0001BC70>..<U0001BC7C>;<U0001BC80>..<U0001BC88>;/
+   <U0001BC90>..<U0001BC99>;<U0001BC9C>..<U0001BCA3>;/
    <U0001D000>..<U0001D0F5>;<U0001D100>..<U0001D126>;/
    <U0001D129>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
    <U0001D300>..<U0001D356>;<U0001D360>..<U0001D371>;/
@@ -770,109 +793,128 @@ graph /
    <U0001D53B>..<U0001D53E>;<U0001D540>..<U0001D544>;<U0001D546>;/
    <U0001D54A>..<U0001D550>;<U0001D552>..<U0001D6A5>;/
    <U0001D6A8>..<U0001D7CB>;<U0001D7CE>..<U0001D7FF>;/
-   <U0001F000>..<U0001F02B>;<U0001F030>..<U0001F093>;/
-   <U00020000>..<U0002A6D6>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
+   <U0001E800>..<U0001E8C4>;<U0001E8C7>..<U0001E8D6>;/
+   <U0001EE00>..<U0001EE03>;<U0001EE05>..<U0001EE1F>;/
+   <U0001EE21>..<U0001EE22>;<U0001EE24>;<U0001EE27>;/
+   <U0001EE29>..<U0001EE32>;<U0001EE34>..<U0001EE37>;<U0001EE39>;/
+   <U0001EE3B>;<U0001EE42>;<U0001EE47>;<U0001EE49>;<U0001EE4B>;/
+   <U0001EE4D>..<U0001EE4F>;<U0001EE51>..<U0001EE52>;<U0001EE54>;/
+   <U0001EE57>;<U0001EE59>;<U0001EE5B>;<U0001EE5D>;<U0001EE5F>;/
+   <U0001EE61>..<U0001EE62>;<U0001EE64>;<U0001EE67>..<U0001EE6A>;/
+   <U0001EE6C>..<U0001EE72>;<U0001EE74>..<U0001EE77>;/
+   <U0001EE79>..<U0001EE7C>;<U0001EE7E>;<U0001EE80>..<U0001EE89>;/
+   <U0001EE8B>..<U0001EE9B>;<U0001EEA1>..<U0001EEA3>;/
+   <U0001EEA5>..<U0001EEA9>;<U0001EEAB>..<U0001EEBB>;/
+   <U0001EEF0>..<U0001EEF1>;<U0001F000>..<U0001F02B>;/
+   <U0001F030>..<U0001F093>;<U0001F0A0>..<U0001F0AE>;/
+   <U0001F0B1>..<U0001F0BF>;<U0001F0C1>..<U0001F0CF>;/
+   <U0001F0D1>..<U0001F0F5>;<U0001F100>..<U0001F10C>;/
+   <U0001F110>..<U0001F12E>;<U0001F130>..<U0001F16B>;/
+   <U0001F170>..<U0001F19A>;<U0001F1E6>..<U0001F202>;/
+   <U0001F210>..<U0001F23A>;<U0001F240>..<U0001F248>;/
+   <U0001F250>..<U0001F251>;<U0001F300>..<U0001F32C>;/
+   <U0001F330>..<U0001F37D>;<U0001F380>..<U0001F3CE>;/
+   <U0001F3D4>..<U0001F3F7>;<U0001F400>..<U0001F4FE>;/
+   <U0001F500>..<U0001F54A>;<U0001F550>..<U0001F579>;/
+   <U0001F57B>..<U0001F5A3>;<U0001F5A5>..<U0001F642>;/
+   <U0001F645>..<U0001F6CF>;<U0001F6E0>..<U0001F6EC>;/
+   <U0001F6F0>..<U0001F6F3>;<U0001F700>..<U0001F773>;/
+   <U0001F780>..<U0001F7D4>;<U0001F800>..<U0001F80B>;/
+   <U0001F810>..<U0001F847>;<U0001F850>..<U0001F859>;/
+   <U0001F860>..<U0001F887>;<U0001F890>..<U0001F8AD>;/
+   <U00020000>..<U0002A6D6>;<U0002A700>..<U0002B734>;/
+   <U0002B740>..<U0002B81D>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
    <U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
    <U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
-
 print /
-   <U0020>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037E>;/
-   <U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U0486>;/
-   <U0488>..<U0523>;<U0531>..<U0556>;<U0559>..<U055F>;/
-   <U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05D0>..<U05EA>;/
-   <U05F0>..<U05F4>;<U0600>..<U0603>;<U0606>..<U061B>;/
-   <U061E>..<U061F>;<U0621>..<U065E>;<U0660>..<U070D>;/
-   <U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
-   <U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0972>;/
-   <U097B>..<U097F>;<U0981>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
+   <U0020>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037F>;<U0384>..<U038A>;/
+   <U038C>;<U038E>..<U03A1>;<U03A3>..<U052F>;<U0531>..<U0556>;/
+   <U0559>..<U055F>;<U0561>..<U0587>;<U0589>..<U058A>;<U058D>..<U058F>;/
+   <U0591>..<U05C7>;<U05D0>..<U05EA>;<U05F0>..<U05F4>;<U0600>..<U061C>;/
+   <U061E>..<U070D>;<U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
+   <U0800>..<U082D>;<U0830>..<U083E>;<U0840>..<U085B>;<U085E>;/
+   <U08A0>..<U08B2>;<U08E4>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
    <U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;/
    <U09BC>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
-   <U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FA>;<U0A01>..<U0A03>;/
+   <U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FB>;<U0A01>..<U0A03>;/
    <U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
    <U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;<U0A3C>;/
    <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
-   <U0A59>..<U0A5C>;/
-   <U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
-   <U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;/
-   <U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
-   <U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AEF>;<U0AF1>;<U0B01>..<U0B03>;/
-   <U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
-   <U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;<U0B47>..<U0B48>;/
-   <U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B63>;/
-   <U0B66>..<U0B71>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;/
-   <U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;<U0B9E>..<U0B9F>;/
-   <U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;/
-   <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0BE6>..<U0BFA>;/
-   <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
-   <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
+   <U0A59>..<U0A5C>;<U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;/
+   <U0A85>..<U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;/
+   <U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;/
+   <U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AF1>;/
+   <U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;/
+   <U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;/
+   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;/
+   <U0B5F>..<U0B63>;<U0B66>..<U0B77>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;/
+   <U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;/
+   <U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;/
+   <U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
+   <U0BE6>..<U0BFA>;<U0C00>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;/
+   <U0C12>..<U0C28>;<U0C2A>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
    <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
-   <U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
-   <U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
-   <U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;/
-   <U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;/
-   <U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D05>..<U0D0C>;/
-   <U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
-   <U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D63>;/
-   <U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;/
-   <U0D9A>..<U0DB1>;/
-   <U0DB3>..<U0DBB>;<U0DBD>;<U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;/
-   <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;/
-   <U0E3F>..<U0E5B>;<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;/
-   <U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;/
-   <U0EA7>;<U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;/
-   <U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;/
-   <U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F8B>;/
-   <U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCE>..<U0FD4>;/
-   <U1000>..<U102A>;<U102B>..<U103F>;<U1040>..<U1099>;<U109E>;<U109F>;/
-   <U10A0>..<U10C5>;<U10D0>..<U10FC>;/
-   <U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1248>;/
-   <U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
-   <U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;<U12B2>..<U12B5>;/
-   <U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;<U12C8>..<U12D6>;/
-   <U12D8>..<U1310>;<U1312>..<U1315>;<U1318>..<U135A>;<U135F>..<U137C>;/
-   <U1380>..<U1399>;<U13A0>..<U13F4>;<U1401>..<U1676>;<U1680>..<U169C>;/
-   <U16A0>..<U16F0>;<U1700>..<U170C>;<U170E>..<U1714>;<U1720>..<U1736>;/
+   <U0C66>..<U0C6F>;<U0C78>..<U0C7F>;<U0C81>..<U0C83>;<U0C85>..<U0C8C>;/
+   <U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;/
+   <U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
+   <U0CDE>;<U0CE0>..<U0CE3>;<U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;/
+   <U0D01>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D3A>;/
+   <U0D3D>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4E>;<U0D57>;/
+   <U0D60>..<U0D63>;<U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;/
+   <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+   <U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+   <U0DE6>..<U0DEF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;<U0E3F>..<U0E5B>;/
+   <U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;/
+   <U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;/
+   <U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;<U0EC0>..<U0EC4>;/
+   <U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;<U0EDC>..<U0EDF>;/
+   <U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F97>;<U0F99>..<U0FBC>;/
+   <U0FBE>..<U0FCC>;<U0FCE>..<U0FDA>;<U1000>..<U10C5>;<U10C7>;<U10CD>;/
+   <U10D0>..<U1248>;<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;/
+   <U125A>..<U125D>;<U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;/
+   <U12B2>..<U12B5>;<U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;/
+   <U12C8>..<U12D6>;<U12D8>..<U1310>;<U1312>..<U1315>;<U1318>..<U135A>;/
+   <U135D>..<U137C>;<U1380>..<U1399>;<U13A0>..<U13F4>;<U1400>..<U169C>;/
+   <U16A0>..<U16F8>;<U1700>..<U170C>;<U170E>..<U1714>;<U1720>..<U1736>;/
    <U1740>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;<U1772>..<U1773>;/
    <U1780>..<U17DD>;<U17E0>..<U17E9>;<U17F0>..<U17F9>;<U1800>..<U180E>;/
-   <U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;<U1900>..<U191C>;/
-   <U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U196D>;/
-   <U1970>..<U1974>;<U1980>..<U19A9>;<U19B0>..<U19C9>;<U19D0>..<U19D9>;/
-   <U19DE>..<U1A1B>;<U1A1E>..<U1A1F>;<U1B00>..<U1B4B>;<U1B50>..<U1B7C>;/
-   <U1B80>..<U1BAA>;<U1BAE>..<U1BB9>;<U1C00>..<U1C37>;<U1C3B>..<U1C49>;/
-   <U1C4D>..<U1C7F>;/
-   <U1D00>..<U1DE6>;<U1DFE>..<U1E9F>;<U1EA0>..<U1EFF>;<U1F00>..<U1F15>;/
-   <U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;/
-   <U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;/
-   <U1FB6>..<U1FC4>;<U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;/
-   <U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2000>..<U2027>;<U202A>..<U2064>;/
-   <U206A>..<U2071>;<U2074>..<U208E>;<U2090>..<U2094>;<U20A0>..<U20B5>;/
-   <U20D0>..<U20F0>;<U2100>..<U214F>;<U2153>..<U2188>;<U2190>..<U23E7>;/
-   <U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U269D>;<U26A0>..<U26C3>;/
-   <U2701>..<U2704>;<U2706>..<U2709>;<U270C>..<U2727>;<U2729>..<U274B>;/
-   <U274D>;<U274F>..<U2752>;<U2756>;<U2758>..<U275E>;<U2761>..<U2794>;/
-   <U2798>..<U27AF>;<U27B1>..<U27BE>;<U27C0>..<U27CA>;<U27CC>;/
-   <U27D0>..<U27EF>;/
-   <U27F0>..<U2B4C>;<U2B50>..<U2B54>;<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
-   <U2C60>..<U2C6F>;<U2C71>..<U2C7D>;<U2C80>..<U2CEA>;<U2CF9>..<U2D25>;/
-   <U2D30>..<U2D65>;<U2D6F>;<U2D80>..<U2D96>;<U2DA0>..<U2DA6>;/
-   <U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;<U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;/
-   <U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;<U2DD8>..<U2DDE>;<U2DE0>..<U2E30>;/
-   <U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;/
-   <U2FF0>..<U2FFB>;<U3000>..<U303F>;<U3041>..<U3096>;<U3099>..<U30FF>;/
-   <U3105>..<U312D>;<U3131>..<U318E>;<U3190>..<U31B7>;<U31C0>..<U31CF>;/
-   <U31F0>..<U321E>;<U3220>..<U3243>;<U3250>..<U32FE>;<U3300>..<U4DB5>;/
-   <U4DC0>..<U9FBB>;<UA000>..<UA48C>;<UA490>..<UA4C6>;<UA500>..<UA62B>;/
-   <UA640>..<UA65F>;<UA662>..<UA673>;<UA67C>..<UA697>;<UA700>..<UA78C>;/
-   <UA7FB>..<UA7FF>;<UA800>..<UA82B>;<UA840>..<UA877>;/
-   <UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UAC00>..<UD7A3>;/
-   <UA840>..<UA877>;<UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UA900>..<UA953>;/
-   <UA95F>;<UAA00>..<UAA36>;<UAA40>..<UAA4D>;<UAA50>..<UAA59>;/
-   <UAA5C>..<UAA5F>;/
-   <UE000>..<UFA2D>;<UFA30>..<UFA6A>;<UFA70>..<UFAD9>;<UFB00>..<UFB06>;/
+   <U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;<U18B0>..<U18F5>;/
+   <U1900>..<U191E>;<U1920>..<U192B>;<U1930>..<U193B>;<U1940>;/
+   <U1944>..<U196D>;<U1970>..<U1974>;<U1980>..<U19AB>;<U19B0>..<U19C9>;/
+   <U19D0>..<U19DA>;<U19DE>..<U1A1B>;<U1A1E>..<U1A5E>;<U1A60>..<U1A7C>;/
+   <U1A7F>..<U1A89>;<U1A90>..<U1A99>;<U1AA0>..<U1AAD>;<U1AB0>..<U1ABE>;/
+   <U1B00>..<U1B4B>;<U1B50>..<U1B7C>;<U1B80>..<U1BF3>;<U1BFC>..<U1C37>;/
+   <U1C3B>..<U1C49>;<U1C4D>..<U1C7F>;<U1CC0>..<U1CC7>;<U1CD0>..<U1CF6>;/
+   <U1CF8>..<U1CF9>;<U1D00>..<U1DF5>;<U1DFC>..<U1F15>;<U1F18>..<U1F1D>;/
+   <U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;<U1F59>;<U1F5B>;/
+   <U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;<U1FB6>..<U1FC4>;/
+   <U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;<U1FF2>..<U1FF4>;/
+   <U1FF6>..<U1FFE>;<U2000>..<U2027>;<U202A>..<U2064>;<U2066>..<U2071>;/
+   <U2074>..<U208E>;<U2090>..<U209C>;<U20A0>..<U20BD>;<U20D0>..<U20F0>;/
+   <U2100>..<U2189>;<U2190>..<U23FA>;<U2400>..<U2426>;<U2440>..<U244A>;/
+   <U2460>..<U2B73>;<U2B76>..<U2B95>;<U2B98>..<U2BB9>;<U2BBD>..<U2BC8>;/
+   <U2BCA>..<U2BD1>;<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;<U2C60>..<U2CF3>;/
+   <U2CF9>..<U2D25>;<U2D27>;<U2D2D>;<U2D30>..<U2D67>;<U2D6F>..<U2D70>;/
+   <U2D7F>..<U2D96>;<U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;/
+   <U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;/
+   <U2DD8>..<U2DDE>;<U2DE0>..<U2E42>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;/
+   <U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;<U3000>..<U303F>;<U3041>..<U3096>;/
+   <U3099>..<U30FF>;<U3105>..<U312D>;<U3131>..<U318E>;<U3190>..<U31BA>;/
+   <U31C0>..<U31E3>;<U31F0>..<U321E>;<U3220>..<U32FE>;<U3300>..<U4DB5>;/
+   <U4DC0>..<U9FCC>;<UA000>..<UA48C>;<UA490>..<UA4C6>;<UA4D0>..<UA62B>;/
+   <UA640>..<UA69D>;<UA69F>..<UA6F7>;<UA700>..<UA78E>;<UA790>..<UA7AD>;/
+   <UA7B0>..<UA7B1>;<UA7F7>..<UA82B>;<UA830>..<UA839>;<UA840>..<UA877>;/
+   <UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UA8E0>..<UA8FB>;<UA900>..<UA953>;/
+   <UA95F>..<UA97C>;<UA980>..<UA9CD>;<UA9CF>..<UA9D9>;<UA9DE>..<UA9FE>;/
+   <UAA00>..<UAA36>;<UAA40>..<UAA4D>;<UAA50>..<UAA59>;<UAA5C>..<UAAC2>;/
+   <UAADB>..<UAAF6>;<UAB01>..<UAB06>;<UAB09>..<UAB0E>;<UAB11>..<UAB16>;/
+   <UAB20>..<UAB26>;<UAB28>..<UAB2E>;<UAB30>..<UAB5F>;<UAB64>..<UAB65>;/
+   <UABC0>..<UABED>;<UABF0>..<UABF9>;<UAC00>..<UD7A3>;<UD7B0>..<UD7C6>;/
+   <UD7CB>..<UD7FB>;<UE000>..<UFA6D>;<UFA70>..<UFAD9>;<UFB00>..<UFB06>;/
    <UFB13>..<UFB17>;<UFB1D>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;/
-   <UFB40>..<UFB41>;<UFB43>..<UFB44>;<UFB46>..<UFBB1>;<UFBD3>..<UFD3F>;/
+   <UFB40>..<UFB41>;<UFB43>..<UFB44>;<UFB46>..<UFBC1>;<UFBD3>..<UFD3F>;/
    <UFD50>..<UFD8F>;<UFD92>..<UFDC7>;<UFDF0>..<UFDFD>;<UFE00>..<UFE19>;/
-   <UFE20>..<UFE26>;<UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;/
+   <UFE20>..<UFE2D>;<UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;/
    <UFE70>..<UFE74>;<UFE76>..<UFEFC>;<UFEFF>;<UFF01>..<UFFBE>;/
    <UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;/
    <UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;/
@@ -880,47 +922,222 @@ print /
    <U00010028>..<U0001003A>;<U0001003C>..<U0001003D>;/
    <U0001003F>..<U0001004D>;<U00010050>..<U0001005D>;/
    <U00010080>..<U000100FA>;<U00010100>..<U00010102>;/
-   <U00010107>..<U00010133>;<U00010137>..<U0001018A>;/
-   <U00010190>..<U0001019B>;<U000101D0>..<U000101FD>;/
+   <U00010107>..<U00010133>;<U00010137>..<U0001018C>;/
+   <U00010190>..<U0001019B>;<U000101A0>;<U000101D0>..<U000101FD>;/
    <U00010280>..<U0001029C>;<U000102A0>..<U000102D0>;/
-   <U00010300>..<U0001031E>;<U00010320>..<U00010323>;/
-   <U00010330>..<U0001034A>;<U00010380>..<U0001039D>;/
-   <U0001039F>..<U000103C3>;<U000103C8>..<U000103D5>;/
-   <U00010400>..<U0001049D>;<U000104A0>..<U000104A9>;/
+   <U000102E0>..<U000102FB>;<U00010300>..<U00010323>;/
+   <U00010330>..<U0001034A>;<U00010350>..<U0001037A>;/
+   <U00010380>..<U0001039D>;<U0001039F>..<U000103C3>;/
+   <U000103C8>..<U000103D5>;<U00010400>..<U0001049D>;/
+   <U000104A0>..<U000104A9>;<U00010500>..<U00010527>;/
+   <U00010530>..<U00010563>;<U0001056F>;<U00010600>..<U00010736>;/
+   <U00010740>..<U00010755>;<U00010760>..<U00010767>;/
    <U00010800>..<U00010805>;<U00010808>;<U0001080A>..<U00010835>;/
-   <U00010837>..<U00010838>;<U0001083C>;<U0001083F>;/
-   <U00010900>..<U00010919>;<U0001091F>;<U00010A00>..<U00010A03>;/
-   <U00010A05>..<U00010A06>;<U00010A0C>..<U00010A13>;/
-   <U00010A15>..<U00010A17>;<U00010A19>..<U00010A33>;/
-   <U00010A38>..<U00010A3A>;<U00010A3F>..<U00010A47>;/
-   <U00010A50>..<U00010A58>;<U00012000>..<U0001236E>;/
-   <U00012400>..<U00012462>;<U00012470>..<U00012473>;/
-   <U0001D000>..<U0001D0F5>;<U0001D100>..<U0001D126>;/
-   <U0001D129>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
-   <U0001D300>..<U0001D356>;<U0001D360>..<U0001D371>;/
-   <U0001D400>..<U0001D454>;<U0001D456>..<U0001D49C>;/
-   <U0001D49E>..<U0001D49F>;<U0001D4A2>;<U0001D4A5>..<U0001D4A6>;/
-   <U0001D4A9>..<U0001D4AC>;<U0001D4AE>..<U0001D4B9>;<U0001D4BB>;/
-   <U0001D4BD>..<U0001D4C3>;<U0001D4C5>..<U0001D505>;/
-   <U0001D507>..<U0001D50A>;<U0001D50D>..<U0001D514>;/
-   <U0001D516>..<U0001D51C>;<U0001D51E>..<U0001D539>;/
-   <U0001D53B>..<U0001D53E>;<U0001D540>..<U0001D544>;<U0001D546>;/
-   <U0001D54A>..<U0001D550>;<U0001D552>..<U0001D6A5>;/
-   <U0001D6A8>..<U0001D7CB>;<U0001D7CE>..<U0001D7FF>;/
-   <U0001F000>..<U0001F02B>;<U0001F030>..<U0001F093>;/
-   <U00020000>..<U0002A6D6>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
+   <U00010837>..<U00010838>;<U0001083C>;<U0001083F>..<U00010855>;/
+   <U00010857>..<U0001089E>;<U000108A7>..<U000108AF>;/
+   <U00010900>..<U0001091B>;<U0001091F>..<U00010939>;<U0001093F>;/
+   <U00010980>..<U000109B7>;<U000109BE>..<U000109BF>;/
+   <U00010A00>..<U00010A03>;<U00010A05>..<U00010A06>;/
+   <U00010A0C>..<U00010A13>;<U00010A15>..<U00010A17>;/
+   <U00010A19>..<U00010A33>;<U00010A38>..<U00010A3A>;/
+   <U00010A3F>..<U00010A47>;<U00010A50>..<U00010A58>;/
+   <U00010A60>..<U00010A9F>;<U00010AC0>..<U00010AE6>;/
+   <U00010AEB>..<U00010AF6>;<U00010B00>..<U00010B35>;/
+   <U00010B39>..<U00010B55>;<U00010B58>..<U00010B72>;/
+   <U00010B78>..<U00010B91>;<U00010B99>..<U00010B9C>;/
+   <U00010BA9>..<U00010BAF>;<U00010C00>..<U00010C48>;/
+   <U00010E60>..<U00010E7E>;<U00011000>..<U0001104D>;/
+   <U00011052>..<U0001106F>;<U0001107F>..<U000110C1>;/
+   <U000110D0>..<U000110E8>;<U000110F0>..<U000110F9>;/
+   <U00011100>..<U00011134>;<U00011136>..<U00011143>;/
+   <U00011150>..<U00011176>;<U00011180>..<U000111C8>;<U000111CD>;/
+   <U000111D0>..<U000111DA>;<U000111E1>..<U000111F4>;/
+   <U00011200>..<U00011211>;<U00011213>..<U0001123D>;/
+   <U000112B0>..<U000112EA>;<U000112F0>..<U000112F9>;/
+   <U00011301>..<U00011303>;<U00011305>..<U0001130C>;/
+   <U0001130F>..<U00011310>;<U00011313>..<U00011328>;/
+   <U0001132A>..<U00011330>;<U00011332>..<U00011333>;/
+   <U00011335>..<U00011339>;<U0001133C>..<U00011344>;/
+   <U00011347>..<U00011348>;<U0001134B>..<U0001134D>;<U00011357>;/
+   <U0001135D>..<U00011363>;<U00011366>..<U0001136C>;/
+   <U00011370>..<U00011374>;<U00011480>..<U000114C7>;/
+   <U000114D0>..<U000114D9>;<U00011580>..<U000115B5>;/
+   <U000115B8>..<U000115C9>;<U00011600>..<U00011644>;/
+   <U00011650>..<U00011659>;<U00011680>..<U000116B7>;/
+   <U000116C0>..<U000116C9>;<U000118A0>..<U000118F2>;<U000118FF>;/
+   <U00011AC0>..<U00011AF8>;<U00012000>..<U00012398>;/
+   <U00012400>..<U0001246E>;<U00012470>..<U00012474>;/
+   <U00013000>..<U0001342E>;<U00016800>..<U00016A38>;/
+   <U00016A40>..<U00016A5E>;<U00016A60>..<U00016A69>;/
+   <U00016A6E>..<U00016A6F>;<U00016AD0>..<U00016AED>;/
+   <U00016AF0>..<U00016AF5>;<U00016B00>..<U00016B45>;/
+   <U00016B50>..<U00016B59>;<U00016B5B>..<U00016B61>;/
+   <U00016B63>..<U00016B77>;<U00016B7D>..<U00016B8F>;/
+   <U00016F00>..<U00016F44>;<U00016F50>..<U00016F7E>;/
+   <U00016F8F>..<U00016F9F>;<U0001B000>..<U0001B001>;/
+   <U0001BC00>..<U0001BC6A>;<U0001BC70>..<U0001BC7C>;/
+   <U0001BC80>..<U0001BC88>;<U0001BC90>..<U0001BC99>;/
+   <U0001BC9C>..<U0001BCA3>;<U0001D000>..<U0001D0F5>;/
+   <U0001D100>..<U0001D126>;<U0001D129>..<U0001D1DD>;/
+   <U0001D200>..<U0001D245>;<U0001D300>..<U0001D356>;/
+   <U0001D360>..<U0001D371>;<U0001D400>..<U0001D454>;/
+   <U0001D456>..<U0001D49C>;<U0001D49E>..<U0001D49F>;<U0001D4A2>;/
+   <U0001D4A5>..<U0001D4A6>;<U0001D4A9>..<U0001D4AC>;/
+   <U0001D4AE>..<U0001D4B9>;<U0001D4BB>;<U0001D4BD>..<U0001D4C3>;/
+   <U0001D4C5>..<U0001D505>;<U0001D507>..<U0001D50A>;/
+   <U0001D50D>..<U0001D514>;<U0001D516>..<U0001D51C>;/
+   <U0001D51E>..<U0001D539>;<U0001D53B>..<U0001D53E>;/
+   <U0001D540>..<U0001D544>;<U0001D546>;<U0001D54A>..<U0001D550>;/
+   <U0001D552>..<U0001D6A5>;<U0001D6A8>..<U0001D7CB>;/
+   <U0001D7CE>..<U0001D7FF>;<U0001E800>..<U0001E8C4>;/
+   <U0001E8C7>..<U0001E8D6>;<U0001EE00>..<U0001EE03>;/
+   <U0001EE05>..<U0001EE1F>;<U0001EE21>..<U0001EE22>;<U0001EE24>;/
+   <U0001EE27>;<U0001EE29>..<U0001EE32>;<U0001EE34>..<U0001EE37>;/
+   <U0001EE39>;<U0001EE3B>;<U0001EE42>;<U0001EE47>;<U0001EE49>;<U0001EE4B>;/
+   <U0001EE4D>..<U0001EE4F>;<U0001EE51>..<U0001EE52>;<U0001EE54>;/
+   <U0001EE57>;<U0001EE59>;<U0001EE5B>;<U0001EE5D>;<U0001EE5F>;/
+   <U0001EE61>..<U0001EE62>;<U0001EE64>;<U0001EE67>..<U0001EE6A>;/
+   <U0001EE6C>..<U0001EE72>;<U0001EE74>..<U0001EE77>;/
+   <U0001EE79>..<U0001EE7C>;<U0001EE7E>;<U0001EE80>..<U0001EE89>;/
+   <U0001EE8B>..<U0001EE9B>;<U0001EEA1>..<U0001EEA3>;/
+   <U0001EEA5>..<U0001EEA9>;<U0001EEAB>..<U0001EEBB>;/
+   <U0001EEF0>..<U0001EEF1>;<U0001F000>..<U0001F02B>;/
+   <U0001F030>..<U0001F093>;<U0001F0A0>..<U0001F0AE>;/
+   <U0001F0B1>..<U0001F0BF>;<U0001F0C1>..<U0001F0CF>;/
+   <U0001F0D1>..<U0001F0F5>;<U0001F100>..<U0001F10C>;/
+   <U0001F110>..<U0001F12E>;<U0001F130>..<U0001F16B>;/
+   <U0001F170>..<U0001F19A>;<U0001F1E6>..<U0001F202>;/
+   <U0001F210>..<U0001F23A>;<U0001F240>..<U0001F248>;/
+   <U0001F250>..<U0001F251>;<U0001F300>..<U0001F32C>;/
+   <U0001F330>..<U0001F37D>;<U0001F380>..<U0001F3CE>;/
+   <U0001F3D4>..<U0001F3F7>;<U0001F400>..<U0001F4FE>;/
+   <U0001F500>..<U0001F54A>;<U0001F550>..<U0001F579>;/
+   <U0001F57B>..<U0001F5A3>;<U0001F5A5>..<U0001F642>;/
+   <U0001F645>..<U0001F6CF>;<U0001F6E0>..<U0001F6EC>;/
+   <U0001F6F0>..<U0001F6F3>;<U0001F700>..<U0001F773>;/
+   <U0001F780>..<U0001F7D4>;<U0001F800>..<U0001F80B>;/
+   <U0001F810>..<U0001F847>;<U0001F850>..<U0001F859>;/
+   <U0001F860>..<U0001F887>;<U0001F890>..<U0001F8AD>;/
+   <U00020000>..<U0002A6D6>;<U0002A700>..<U0002B734>;/
+   <U0002B740>..<U0002B81D>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
    <U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
    <U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
-
-% The "xdigit" class must only contain the BASIC LATIN digits and A-F, a-f,
-% says ISO C 99 (sections 7.25.2.1.12 and 6.4.4.1).
-xdigit /
-   <U0030>..<U0039>;<U0041>..<U0046>;<U0061>..<U0066>
-
-blank /
-   <U0009>;<U0020>;<U1680>;<U180E>;<U2000>..<U2006>;<U2008>..<U200A>;/
-   <U205F>;<U3000>
-
+class "combining"; /
+   <U0300>..<U036F>;<U0483>..<U0489>;<U0591>..<U05BD>;<U05BF>;/
+   <U05C1>..<U05C2>;<U05C4>..<U05C5>;<U05C7>;<U0610>..<U061A>;/
+   <U064B>..<U065F>;<U0670>;<U06D6>..<U06DC>;<U06DF>..<U06E4>;/
+   <U06E7>..<U06E8>;<U06EA>..<U06ED>;<U0711>;<U0730>..<U074A>;/
+   <U07A6>..<U07B0>;<U07EB>..<U07F3>;<U0816>..<U0819>;<U081B>..<U0823>;/
+   <U0825>..<U0827>;<U0829>..<U082D>;<U0859>..<U085B>;<U08E4>..<U0903>;/
+   <U093A>..<U093C>;<U093E>..<U094F>;<U0951>..<U0957>;<U0962>..<U0963>;/
+   <U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;/
+   <U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;<U0A01>..<U0A03>;<U0A3C>;/
+   <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
+   <U0A70>..<U0A71>;<U0A75>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;/
+   <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AE2>..<U0AE3>;<U0B01>..<U0B03>;/
+   <U0B3C>;<U0B3E>..<U0B44>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;/
+   <U0B56>..<U0B57>;<U0B62>..<U0B63>;<U0B82>;<U0BBE>..<U0BC2>;/
+   <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0C00>..<U0C03>;/
+   <U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
+   <U0C62>..<U0C63>;<U0C81>..<U0C83>;<U0CBC>;<U0CBE>..<U0CC4>;/
+   <U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;/
+   <U0D01>..<U0D03>;<U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+   <U0D57>;<U0D62>..<U0D63>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;/
+   <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
+   <U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;/
+   <U0EC8>..<U0ECD>;<U0F18>..<U0F19>;<U0F35>;<U0F37>;<U0F39>;/
+   <U0F3E>..<U0F3F>;<U0F71>..<U0F84>;<U0F86>..<U0F87>;<U0F8D>..<U0F97>;/
+   <U0F99>..<U0FBC>;<U0FC6>;<U102B>..<U103E>;<U1056>..<U1059>;/
+   <U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;<U1071>..<U1074>;/
+   <U1082>..<U108D>;<U108F>;<U109A>..<U109D>;<U135D>..<U135F>;/
+   <U1712>..<U1714>;<U1732>..<U1734>;<U1752>..<U1753>;<U1772>..<U1773>;/
+   <U17B4>..<U17D3>;<U17DD>;<U180B>..<U180D>;<U18A9>;<U1920>..<U192B>;/
+   <U1930>..<U193B>;<U19B0>..<U19C0>;<U19C8>..<U19C9>;<U1A17>..<U1A1B>;/
+   <U1A55>..<U1A5E>;<U1A60>..<U1A7C>;<U1A7F>;<U1AB0>..<U1ABE>;/
+   <U1B00>..<U1B04>;<U1B34>..<U1B44>;<U1B6B>..<U1B73>;<U1B80>..<U1B82>;/
+   <U1BA1>..<U1BAD>;<U1BE6>..<U1BF3>;<U1C24>..<U1C37>;<U1CD0>..<U1CD2>;/
+   <U1CD4>..<U1CE8>;<U1CED>;<U1CF2>..<U1CF4>;<U1CF8>..<U1CF9>;/
+   <U1DC0>..<U1DF5>;<U1DFC>..<U1DFF>;<U20D0>..<U20F0>;<U2CEF>..<U2CF1>;/
+   <U2D7F>;<U2DE0>..<U2DFF>;<U302A>..<U302F>;<U3099>..<U309A>;/
+   <UA66F>..<UA672>;<UA674>..<UA67D>;<UA69F>;<UA6F0>..<UA6F1>;<UA802>;/
+   <UA806>;<UA80B>;<UA823>..<UA827>;<UA880>..<UA881>;<UA8B4>..<UA8C4>;/
+   <UA8E0>..<UA8F1>;<UA926>..<UA92D>;<UA947>..<UA953>;<UA980>..<UA983>;/
+   <UA9B3>..<UA9C0>;<UA9E5>;<UAA29>..<UAA36>;<UAA43>;<UAA4C>..<UAA4D>;/
+   <UAA7B>..<UAA7D>;<UAAB0>;<UAAB2>..<UAAB4>;<UAAB7>..<UAAB8>;/
+   <UAABE>..<UAABF>;<UAAC1>;<UAAEB>..<UAAEF>;<UAAF5>..<UAAF6>;/
+   <UABE3>..<UABEA>;<UABEC>..<UABED>;<UFB1E>;<UFE00>..<UFE0F>;/
+   <UFE20>..<UFE2D>;<U000101FD>;<U000102E0>;<U00010376>..<U0001037A>;/
+   <U00010A01>..<U00010A03>;<U00010A05>..<U00010A06>;/
+   <U00010A0C>..<U00010A0F>;<U00010A38>..<U00010A3A>;<U00010A3F>;/
+   <U00010AE5>..<U00010AE6>;<U00011000>..<U00011002>;/
+   <U00011038>..<U00011046>;<U0001107F>..<U00011082>;/
+   <U000110B0>..<U000110BA>;<U00011100>..<U00011102>;/
+   <U00011127>..<U00011134>;<U00011173>;<U00011180>..<U00011182>;/
+   <U000111B3>..<U000111C0>;<U0001122C>..<U00011237>;/
+   <U000112DF>..<U000112EA>;<U00011301>..<U00011303>;<U0001133C>;/
+   <U0001133E>..<U00011344>;<U00011347>..<U00011348>;/
+   <U0001134B>..<U0001134D>;<U00011357>;<U00011362>..<U00011363>;/
+   <U00011366>..<U0001136C>;<U00011370>..<U00011374>;/
+   <U000114B0>..<U000114C3>;<U000115AF>..<U000115B5>;/
+   <U000115B8>..<U000115C0>;<U00011630>..<U00011640>;/
+   <U000116AB>..<U000116B7>;<U00016AF0>..<U00016AF4>;/
+   <U00016B30>..<U00016B36>;<U00016F51>..<U00016F7E>;/
+   <U00016F8F>..<U00016F92>;<U0001BC9D>..<U0001BC9E>;/
+   <U0001D165>..<U0001D169>;<U0001D16D>..<U0001D172>;/
+   <U0001D17B>..<U0001D182>;<U0001D185>..<U0001D18B>;/
+   <U0001D1AA>..<U0001D1AD>;<U0001D242>..<U0001D244>;/
+   <U0001E8D0>..<U0001E8D6>;<U000E0100>..<U000E01EF>
+class "combining_level3"; /
+   <U0334>..<U0338>;<U034F>;<U0488>..<U0489>;<U05B0>..<U05BD>;<U05BF>;/
+   <U05C1>..<U05C2>;<U05C7>;<U0618>..<U061A>;<U064B>..<U0652>;<U0670>;/
+   <U0711>;<U07A6>..<U07B0>;<U08F0>..<U08F2>;<U0900>..<U0903>;/
+   <U093A>..<U093C>;<U093E>..<U094F>;<U0955>..<U0957>;<U0962>..<U0963>;/
+   <U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;/
+   <U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;<U0A01>..<U0A03>;<U0A3C>;/
+   <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
+   <U0A70>..<U0A71>;<U0A75>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;/
+   <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AE2>..<U0AE3>;<U0B01>..<U0B03>;/
+   <U0B3C>;<U0B3E>..<U0B44>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;/
+   <U0B56>..<U0B57>;<U0B62>..<U0B63>;<U0B82>;<U0BBE>..<U0BC2>;/
+   <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0C00>..<U0C03>;/
+   <U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
+   <U0C62>..<U0C63>;<U0C81>..<U0C83>;<U0CBC>;<U0CBE>..<U0CC4>;/
+   <U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;/
+   <U0D01>..<U0D03>;<U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+   <U0D57>;<U0D62>..<U0D63>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;/
+   <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
+   <U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;/
+   <U0EC8>..<U0ECD>;<U0F3E>..<U0F3F>;<U0F71>..<U0F81>;<U0F84>;/
+   <U0F8D>..<U0F97>;<U0F99>..<U0FBC>;<U102B>..<U103E>;<U1056>..<U1059>;/
+   <U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;<U1071>..<U1074>;/
+   <U1082>..<U108C>;<U108F>;<U109A>..<U109D>;<U1712>..<U1714>;/
+   <U1732>..<U1734>;<U1752>..<U1753>;<U1772>..<U1773>;<U17B4>..<U17D3>;/
+   <U180B>..<U180D>;<U1920>..<U192B>;<U1930>..<U1938>;<U19B0>..<U19C0>;/
+   <U19C8>..<U19C9>;<U1A19>..<U1A1B>;<U1A55>..<U1A5E>;<U1A60>..<U1A74>;/
+   <U1ABE>;<U1B00>..<U1B04>;<U1B34>..<U1B44>;<U1B80>..<U1B82>;/
+   <U1BA1>..<U1BAD>;<U1BE6>..<U1BF3>;<U1C24>..<U1C37>;<U1CD4>;/
+   <U1CE1>..<U1CE8>;<U1CF2>..<U1CF3>;<U20D2>..<U20D3>;<U20D8>..<U20DA>;/
+   <U20DD>..<U20E0>;<U20E2>..<U20E6>;<U20EA>..<U20EB>;<U2D7F>;/
+   <U3099>..<U309A>;<UA670>..<UA672>;<UA802>;<UA806>;<UA80B>;/
+   <UA823>..<UA827>;<UA880>..<UA881>;<UA8B4>..<UA8C4>;<UA926>..<UA92A>;/
+   <UA947>..<UA953>;<UA980>..<UA983>;<UA9B3>..<UA9C0>;<UA9E5>;/
+   <UAA29>..<UAA36>;<UAA43>;<UAA4C>..<UAA4D>;<UAA7B>..<UAA7D>;/
+   <UAAEB>..<UAAEF>;<UAAF5>..<UAAF6>;<UABE3>..<UABEA>;<UABEC>..<UABED>;/
+   <UFB1E>;<UFE00>..<UFE0F>;<U00010A01>..<U00010A03>;/
+   <U00010A05>..<U00010A06>;<U00010A0C>;<U00010A0E>;<U00010A39>;<U00010A3F>;/
+   <U00011000>..<U00011002>;<U00011038>..<U00011046>;/
+   <U0001107F>..<U00011082>;<U000110B0>..<U000110BA>;/
+   <U00011127>..<U00011134>;<U00011173>;<U00011180>..<U00011182>;/
+   <U000111B3>..<U000111C0>;<U0001122C>..<U00011237>;/
+   <U000112DF>..<U000112EA>;<U00011301>..<U00011303>;<U0001133C>;/
+   <U0001133E>..<U00011344>;<U00011347>..<U00011348>;/
+   <U0001134B>..<U0001134D>;<U00011357>;<U00011362>..<U00011363>;/
+   <U000114B0>..<U000114C3>;<U000115AF>..<U000115B5>;/
+   <U000115B8>..<U000115C0>;<U00011630>..<U00011640>;/
+   <U000116AB>..<U000116B7>;<U00016AF0>..<U00016AF4>;/
+   <U00016F51>..<U00016F7E>;<U00016F8F>..<U00016F92>;/
+   <U0001BC9D>..<U0001BC9E>;<U0001D167>..<U0001D169>;/
+   <U000E0100>..<U000E01EF>
 toupper /
    (<U0061>,<U0041>);(<U0062>,<U0042>);(<U0063>,<U0043>);(<U0064>,<U0044>);/
    (<U0065>,<U0045>);(<U0066>,<U0046>);(<U0067>,<U0047>);(<U0068>,<U0048>);/
@@ -971,18 +1188,19 @@ toupper /
    (<U0217>,<U0216>);(<U0219>,<U0218>);(<U021B>,<U021A>);(<U021D>,<U021C>);/
    (<U021F>,<U021E>);(<U0223>,<U0222>);(<U0225>,<U0224>);(<U0227>,<U0226>);/
    (<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);(<U022F>,<U022E>);/
-   (<U0231>,<U0230>);(<U0233>,<U0232>);(<U023C>,<U023B>);(<U0242>,<U0241>);/
-   (<U0247>,<U0246>);(<U0249>,<U0248>);(<U024B>,<U024A>);(<U024D>,<U024C>);/
-   (<U024F>,<U024E>);(<U0250>,<U2C6F>);(<U0251>,<U2C6D>);(<U0253>,<U0181>);/
-   (<U0254>,<U0186>);(<U0256>,<U0189>);/
-   (<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);(<U0260>,<U0193>);/
-   (<U0263>,<U0194>);(<U0268>,<U0197>);(<U0269>,<U0196>);(<U026B>,<U2C62>);/
-   (<U026F>,<U019C>);(<U0271>,<U2C6E>);(<U0272>,<U019D>);(<U0275>,<U019F>);/
-   (<U027D>,<U2C64>);/
-   (<U0280>,<U01A6>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);(<U0289>,<U0244>);/
+   (<U0231>,<U0230>);(<U0233>,<U0232>);(<U023C>,<U023B>);(<U023F>,<U2C7E>);/
+   (<U0240>,<U2C7F>);(<U0242>,<U0241>);(<U0247>,<U0246>);(<U0249>,<U0248>);/
+   (<U024B>,<U024A>);(<U024D>,<U024C>);(<U024F>,<U024E>);(<U0250>,<U2C6F>);/
+   (<U0251>,<U2C6D>);(<U0252>,<U2C70>);(<U0253>,<U0181>);(<U0254>,<U0186>);/
+   (<U0256>,<U0189>);(<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);/
+   (<U025C>,<UA7AB>);(<U0260>,<U0193>);(<U0261>,<UA7AC>);(<U0263>,<U0194>);/
+   (<U0265>,<UA78D>);(<U0266>,<UA7AA>);(<U0268>,<U0197>);(<U0269>,<U0196>);/
+   (<U026B>,<U2C62>);(<U026C>,<UA7AD>);(<U026F>,<U019C>);(<U0271>,<U2C6E>);/
+   (<U0272>,<U019D>);(<U0275>,<U019F>);(<U027D>,<U2C64>);(<U0280>,<U01A6>);/
+   (<U0283>,<U01A9>);(<U0287>,<UA7B1>);(<U0288>,<U01AE>);(<U0289>,<U0244>);/
    (<U028A>,<U01B1>);(<U028B>,<U01B2>);(<U028C>,<U0245>);(<U0292>,<U01B7>);/
-   (<U0345>,<U0399>);(<U0371>,<U0370>);(<U0373>,<U0372>);(<U0377>,<U0376>);/
-   (<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
+   (<U029E>,<UA7B0>);(<U0345>,<U0399>);(<U0371>,<U0370>);(<U0373>,<U0372>);/
+   (<U0377>,<U0376>);(<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
    (<U03AC>,<U0386>);(<U03AD>,<U0388>);(<U03AE>,<U0389>);(<U03AF>,<U038A>);/
    (<U03B1>,<U0391>);(<U03B2>,<U0392>);(<U03B3>,<U0393>);(<U03B4>,<U0394>);/
    (<U03B5>,<U0395>);(<U03B6>,<U0396>);(<U03B7>,<U0397>);(<U03B8>,<U0398>);/
@@ -992,47 +1210,49 @@ toupper /
    (<U03C5>,<U03A5>);(<U03C6>,<U03A6>);(<U03C7>,<U03A7>);(<U03C8>,<U03A8>);/
    (<U03C9>,<U03A9>);(<U03CA>,<U03AA>);(<U03CB>,<U03AB>);(<U03CC>,<U038C>);/
    (<U03CD>,<U038E>);(<U03CE>,<U038F>);(<U03D0>,<U0392>);(<U03D1>,<U0398>);/
-   (<U03D5>,<U03A6>);(<U03D6>,<U03A0>);(<U03D9>,<U03D8>);(<U03DB>,<U03DA>);/
-   (<U03DD>,<U03DC>);(<U03DF>,<U03DE>);(<U03E1>,<U03E0>);(<U03E3>,<U03E2>);/
-   (<U03E5>,<U03E4>);(<U03E7>,<U03E6>);(<U03E9>,<U03E8>);(<U03EB>,<U03EA>);/
-   (<U03ED>,<U03EC>);(<U03EF>,<U03EE>);(<U03F0>,<U039A>);(<U03F1>,<U03A1>);/
-   (<U03F2>,<U03F9>);(<U03F5>,<U0395>);(<U03F8>,<U03F7>);(<U03FB>,<U03FA>);/
-   (<U0430>,<U0410>);(<U0431>,<U0411>);(<U0432>,<U0412>);(<U0433>,<U0413>);/
-   (<U0434>,<U0414>);(<U0435>,<U0415>);(<U0436>,<U0416>);(<U0437>,<U0417>);/
-   (<U0438>,<U0418>);(<U0439>,<U0419>);(<U043A>,<U041A>);(<U043B>,<U041B>);/
-   (<U043C>,<U041C>);(<U043D>,<U041D>);(<U043E>,<U041E>);(<U043F>,<U041F>);/
-   (<U0440>,<U0420>);(<U0441>,<U0421>);(<U0442>,<U0422>);(<U0443>,<U0423>);/
-   (<U0444>,<U0424>);(<U0445>,<U0425>);(<U0446>,<U0426>);(<U0447>,<U0427>);/
-   (<U0448>,<U0428>);(<U0449>,<U0429>);(<U044A>,<U042A>);(<U044B>,<U042B>);/
-   (<U044C>,<U042C>);(<U044D>,<U042D>);(<U044E>,<U042E>);(<U044F>,<U042F>);/
-   (<U0450>,<U0400>);(<U0451>,<U0401>);(<U0452>,<U0402>);(<U0453>,<U0403>);/
-   (<U0454>,<U0404>);(<U0455>,<U0405>);(<U0456>,<U0406>);(<U0457>,<U0407>);/
-   (<U0458>,<U0408>);(<U0459>,<U0409>);(<U045A>,<U040A>);(<U045B>,<U040B>);/
-   (<U045C>,<U040C>);(<U045D>,<U040D>);(<U045E>,<U040E>);(<U045F>,<U040F>);/
-   (<U0461>,<U0460>);(<U0463>,<U0462>);(<U0465>,<U0464>);(<U0467>,<U0466>);/
-   (<U0469>,<U0468>);(<U046B>,<U046A>);(<U046D>,<U046C>);(<U046F>,<U046E>);/
-   (<U0471>,<U0470>);(<U0473>,<U0472>);(<U0475>,<U0474>);(<U0477>,<U0476>);/
-   (<U0479>,<U0478>);(<U047B>,<U047A>);(<U047D>,<U047C>);(<U047F>,<U047E>);/
-   (<U0481>,<U0480>);(<U048B>,<U048A>);(<U048D>,<U048C>);(<U048F>,<U048E>);/
-   (<U0491>,<U0490>);(<U0493>,<U0492>);(<U0495>,<U0494>);(<U0497>,<U0496>);/
-   (<U0499>,<U0498>);(<U049B>,<U049A>);(<U049D>,<U049C>);(<U049F>,<U049E>);/
-   (<U04A1>,<U04A0>);(<U04A3>,<U04A2>);(<U04A5>,<U04A4>);(<U04A7>,<U04A6>);/
-   (<U04A9>,<U04A8>);(<U04AB>,<U04AA>);(<U04AD>,<U04AC>);(<U04AF>,<U04AE>);/
-   (<U04B1>,<U04B0>);(<U04B3>,<U04B2>);(<U04B5>,<U04B4>);(<U04B7>,<U04B6>);/
-   (<U04B9>,<U04B8>);(<U04BB>,<U04BA>);(<U04BD>,<U04BC>);(<U04BF>,<U04BE>);/
-   (<U04C2>,<U04C1>);(<U04C4>,<U04C3>);(<U04C6>,<U04C5>);(<U04C8>,<U04C7>);/
-   (<U04CA>,<U04C9>);(<U04CC>,<U04CB>);(<U04CE>,<U04CD>);(<U04CF>,<U04C0>);/
-   (<U04D1>,<U04D0>);(<U04D3>,<U04D2>);(<U04D5>,<U04D4>);(<U04D7>,<U04D6>);/
-   (<U04D9>,<U04D8>);(<U04DB>,<U04DA>);(<U04DD>,<U04DC>);(<U04DF>,<U04DE>);/
-   (<U04E1>,<U04E0>);(<U04E3>,<U04E2>);(<U04E5>,<U04E4>);(<U04E7>,<U04E6>);/
-   (<U04E9>,<U04E8>);(<U04EB>,<U04EA>);(<U04ED>,<U04EC>);(<U04EF>,<U04EE>);/
-   (<U04F1>,<U04F0>);(<U04F3>,<U04F2>);(<U04F5>,<U04F4>);(<U04F7>,<U04F6>);/
-   (<U04F9>,<U04F8>);(<U04FB>,<U04FA>);(<U04FD>,<U04FC>);(<U04FF>,<U04FE>);/
-   (<U0501>,<U0500>);(<U0503>,<U0502>);(<U0505>,<U0504>);(<U0507>,<U0506>);/
-   (<U0509>,<U0508>);(<U050B>,<U050A>);(<U050D>,<U050C>);(<U050F>,<U050E>);/
-   (<U0511>,<U0510>);(<U0513>,<U0512>);(<U0515>,<U0514>);(<U0517>,<U0516>);/
-   (<U0519>,<U0518>);(<U051B>,<U051A>);(<U051D>,<U051C>);(<U051F>,<U051E>);/
-   (<U0521>,<U0520>);(<U0523>,<U0522>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
+   (<U03D5>,<U03A6>);(<U03D6>,<U03A0>);(<U03D7>,<U03CF>);(<U03D9>,<U03D8>);/
+   (<U03DB>,<U03DA>);(<U03DD>,<U03DC>);(<U03DF>,<U03DE>);(<U03E1>,<U03E0>);/
+   (<U03E3>,<U03E2>);(<U03E5>,<U03E4>);(<U03E7>,<U03E6>);(<U03E9>,<U03E8>);/
+   (<U03EB>,<U03EA>);(<U03ED>,<U03EC>);(<U03EF>,<U03EE>);(<U03F0>,<U039A>);/
+   (<U03F1>,<U03A1>);(<U03F2>,<U03F9>);(<U03F3>,<U037F>);(<U03F5>,<U0395>);/
+   (<U03F8>,<U03F7>);(<U03FB>,<U03FA>);(<U0430>,<U0410>);(<U0431>,<U0411>);/
+   (<U0432>,<U0412>);(<U0433>,<U0413>);(<U0434>,<U0414>);(<U0435>,<U0415>);/
+   (<U0436>,<U0416>);(<U0437>,<U0417>);(<U0438>,<U0418>);(<U0439>,<U0419>);/
+   (<U043A>,<U041A>);(<U043B>,<U041B>);(<U043C>,<U041C>);(<U043D>,<U041D>);/
+   (<U043E>,<U041E>);(<U043F>,<U041F>);(<U0440>,<U0420>);(<U0441>,<U0421>);/
+   (<U0442>,<U0422>);(<U0443>,<U0423>);(<U0444>,<U0424>);(<U0445>,<U0425>);/
+   (<U0446>,<U0426>);(<U0447>,<U0427>);(<U0448>,<U0428>);(<U0449>,<U0429>);/
+   (<U044A>,<U042A>);(<U044B>,<U042B>);(<U044C>,<U042C>);(<U044D>,<U042D>);/
+   (<U044E>,<U042E>);(<U044F>,<U042F>);(<U0450>,<U0400>);(<U0451>,<U0401>);/
+   (<U0452>,<U0402>);(<U0453>,<U0403>);(<U0454>,<U0404>);(<U0455>,<U0405>);/
+   (<U0456>,<U0406>);(<U0457>,<U0407>);(<U0458>,<U0408>);(<U0459>,<U0409>);/
+   (<U045A>,<U040A>);(<U045B>,<U040B>);(<U045C>,<U040C>);(<U045D>,<U040D>);/
+   (<U045E>,<U040E>);(<U045F>,<U040F>);(<U0461>,<U0460>);(<U0463>,<U0462>);/
+   (<U0465>,<U0464>);(<U0467>,<U0466>);(<U0469>,<U0468>);(<U046B>,<U046A>);/
+   (<U046D>,<U046C>);(<U046F>,<U046E>);(<U0471>,<U0470>);(<U0473>,<U0472>);/
+   (<U0475>,<U0474>);(<U0477>,<U0476>);(<U0479>,<U0478>);(<U047B>,<U047A>);/
+   (<U047D>,<U047C>);(<U047F>,<U047E>);(<U0481>,<U0480>);(<U048B>,<U048A>);/
+   (<U048D>,<U048C>);(<U048F>,<U048E>);(<U0491>,<U0490>);(<U0493>,<U0492>);/
+   (<U0495>,<U0494>);(<U0497>,<U0496>);(<U0499>,<U0498>);(<U049B>,<U049A>);/
+   (<U049D>,<U049C>);(<U049F>,<U049E>);(<U04A1>,<U04A0>);(<U04A3>,<U04A2>);/
+   (<U04A5>,<U04A4>);(<U04A7>,<U04A6>);(<U04A9>,<U04A8>);(<U04AB>,<U04AA>);/
+   (<U04AD>,<U04AC>);(<U04AF>,<U04AE>);(<U04B1>,<U04B0>);(<U04B3>,<U04B2>);/
+   (<U04B5>,<U04B4>);(<U04B7>,<U04B6>);(<U04B9>,<U04B8>);(<U04BB>,<U04BA>);/
+   (<U04BD>,<U04BC>);(<U04BF>,<U04BE>);(<U04C2>,<U04C1>);(<U04C4>,<U04C3>);/
+   (<U04C6>,<U04C5>);(<U04C8>,<U04C7>);(<U04CA>,<U04C9>);(<U04CC>,<U04CB>);/
+   (<U04CE>,<U04CD>);(<U04CF>,<U04C0>);(<U04D1>,<U04D0>);(<U04D3>,<U04D2>);/
+   (<U04D5>,<U04D4>);(<U04D7>,<U04D6>);(<U04D9>,<U04D8>);(<U04DB>,<U04DA>);/
+   (<U04DD>,<U04DC>);(<U04DF>,<U04DE>);(<U04E1>,<U04E0>);(<U04E3>,<U04E2>);/
+   (<U04E5>,<U04E4>);(<U04E7>,<U04E6>);(<U04E9>,<U04E8>);(<U04EB>,<U04EA>);/
+   (<U04ED>,<U04EC>);(<U04EF>,<U04EE>);(<U04F1>,<U04F0>);(<U04F3>,<U04F2>);/
+   (<U04F5>,<U04F4>);(<U04F7>,<U04F6>);(<U04F9>,<U04F8>);(<U04FB>,<U04FA>);/
+   (<U04FD>,<U04FC>);(<U04FF>,<U04FE>);(<U0501>,<U0500>);(<U0503>,<U0502>);/
+   (<U0505>,<U0504>);(<U0507>,<U0506>);(<U0509>,<U0508>);(<U050B>,<U050A>);/
+   (<U050D>,<U050C>);(<U050F>,<U050E>);(<U0511>,<U0510>);(<U0513>,<U0512>);/
+   (<U0515>,<U0514>);(<U0517>,<U0516>);(<U0519>,<U0518>);(<U051B>,<U051A>);/
+   (<U051D>,<U051C>);(<U051F>,<U051E>);(<U0521>,<U0520>);(<U0523>,<U0522>);/
+   (<U0525>,<U0524>);(<U0527>,<U0526>);(<U0529>,<U0528>);(<U052B>,<U052A>);/
+   (<U052D>,<U052C>);(<U052F>,<U052E>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
    (<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
    (<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
    (<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
@@ -1042,38 +1262,38 @@ toupper /
    (<U057B>,<U054B>);(<U057C>,<U054C>);(<U057D>,<U054D>);(<U057E>,<U054E>);/
    (<U057F>,<U054F>);(<U0580>,<U0550>);(<U0581>,<U0551>);(<U0582>,<U0552>);/
    (<U0583>,<U0553>);(<U0584>,<U0554>);(<U0585>,<U0555>);(<U0586>,<U0556>);/
-   (<U1D7D>,<U2C63>);(<U1E01>,<U1E00>);(<U1E03>,<U1E02>);(<U1E05>,<U1E04>);/
-   (<U1E07>,<U1E06>);(<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);(<U1E0D>,<U1E0C>);/
-   (<U1E0F>,<U1E0E>);(<U1E11>,<U1E10>);(<U1E13>,<U1E12>);(<U1E15>,<U1E14>);/
-   (<U1E17>,<U1E16>);(<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);(<U1E1D>,<U1E1C>);/
-   (<U1E1F>,<U1E1E>);(<U1E21>,<U1E20>);(<U1E23>,<U1E22>);(<U1E25>,<U1E24>);/
-   (<U1E27>,<U1E26>);(<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);(<U1E2D>,<U1E2C>);/
-   (<U1E2F>,<U1E2E>);(<U1E31>,<U1E30>);(<U1E33>,<U1E32>);(<U1E35>,<U1E34>);/
-   (<U1E37>,<U1E36>);(<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);(<U1E3D>,<U1E3C>);/
-   (<U1E3F>,<U1E3E>);(<U1E41>,<U1E40>);(<U1E43>,<U1E42>);(<U1E45>,<U1E44>);/
-   (<U1E47>,<U1E46>);(<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);(<U1E4D>,<U1E4C>);/
-   (<U1E4F>,<U1E4E>);(<U1E51>,<U1E50>);(<U1E53>,<U1E52>);(<U1E55>,<U1E54>);/
-   (<U1E57>,<U1E56>);(<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);(<U1E5D>,<U1E5C>);/
-   (<U1E5F>,<U1E5E>);(<U1E61>,<U1E60>);(<U1E63>,<U1E62>);(<U1E65>,<U1E64>);/
-   (<U1E67>,<U1E66>);(<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);(<U1E6D>,<U1E6C>);/
-   (<U1E6F>,<U1E6E>);(<U1E71>,<U1E70>);(<U1E73>,<U1E72>);(<U1E75>,<U1E74>);/
-   (<U1E77>,<U1E76>);(<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);(<U1E7D>,<U1E7C>);/
-   (<U1E7F>,<U1E7E>);(<U1E81>,<U1E80>);(<U1E83>,<U1E82>);(<U1E85>,<U1E84>);/
-   (<U1E87>,<U1E86>);(<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);(<U1E8D>,<U1E8C>);/
-   (<U1E8F>,<U1E8E>);(<U1E91>,<U1E90>);(<U1E93>,<U1E92>);(<U1E95>,<U1E94>);/
-   (<U1E9B>,<U1E60>);(<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);(<U1EA5>,<U1EA4>);/
-   (<U1EA7>,<U1EA6>);(<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);(<U1EAD>,<U1EAC>);/
-   (<U1EAF>,<U1EAE>);(<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);(<U1EB5>,<U1EB4>);/
-   (<U1EB7>,<U1EB6>);(<U1EB9>,<U1EB8>);(<U1EBB>,<U1EBA>);(<U1EBD>,<U1EBC>);/
-   (<U1EBF>,<U1EBE>);(<U1EC1>,<U1EC0>);(<U1EC3>,<U1EC2>);(<U1EC5>,<U1EC4>);/
-   (<U1EC7>,<U1EC6>);(<U1EC9>,<U1EC8>);(<U1ECB>,<U1ECA>);(<U1ECD>,<U1ECC>);/
-   (<U1ECF>,<U1ECE>);(<U1ED1>,<U1ED0>);(<U1ED3>,<U1ED2>);(<U1ED5>,<U1ED4>);/
-   (<U1ED7>,<U1ED6>);(<U1ED9>,<U1ED8>);(<U1EDB>,<U1EDA>);(<U1EDD>,<U1EDC>);/
-   (<U1EDF>,<U1EDE>);(<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);(<U1EE5>,<U1EE4>);/
-   (<U1EE7>,<U1EE6>);(<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);(<U1EED>,<U1EEC>);/
-   (<U1EEF>,<U1EEE>);(<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);(<U1EF5>,<U1EF4>);/
-   (<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1EFB>,<U1EFA>);(<U1EFD>,<U1EFC>);/
-   (<U1EFF>,<U1EFE>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
+   (<U1D79>,<UA77D>);(<U1D7D>,<U2C63>);(<U1E01>,<U1E00>);(<U1E03>,<U1E02>);/
+   (<U1E05>,<U1E04>);(<U1E07>,<U1E06>);(<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);/
+   (<U1E0D>,<U1E0C>);(<U1E0F>,<U1E0E>);(<U1E11>,<U1E10>);(<U1E13>,<U1E12>);/
+   (<U1E15>,<U1E14>);(<U1E17>,<U1E16>);(<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);/
+   (<U1E1D>,<U1E1C>);(<U1E1F>,<U1E1E>);(<U1E21>,<U1E20>);(<U1E23>,<U1E22>);/
+   (<U1E25>,<U1E24>);(<U1E27>,<U1E26>);(<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);/
+   (<U1E2D>,<U1E2C>);(<U1E2F>,<U1E2E>);(<U1E31>,<U1E30>);(<U1E33>,<U1E32>);/
+   (<U1E35>,<U1E34>);(<U1E37>,<U1E36>);(<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);/
+   (<U1E3D>,<U1E3C>);(<U1E3F>,<U1E3E>);(<U1E41>,<U1E40>);(<U1E43>,<U1E42>);/
+   (<U1E45>,<U1E44>);(<U1E47>,<U1E46>);(<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);/
+   (<U1E4D>,<U1E4C>);(<U1E4F>,<U1E4E>);(<U1E51>,<U1E50>);(<U1E53>,<U1E52>);/
+   (<U1E55>,<U1E54>);(<U1E57>,<U1E56>);(<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);/
+   (<U1E5D>,<U1E5C>);(<U1E5F>,<U1E5E>);(<U1E61>,<U1E60>);(<U1E63>,<U1E62>);/
+   (<U1E65>,<U1E64>);(<U1E67>,<U1E66>);(<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);/
+   (<U1E6D>,<U1E6C>);(<U1E6F>,<U1E6E>);(<U1E71>,<U1E70>);(<U1E73>,<U1E72>);/
+   (<U1E75>,<U1E74>);(<U1E77>,<U1E76>);(<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);/
+   (<U1E7D>,<U1E7C>);(<U1E7F>,<U1E7E>);(<U1E81>,<U1E80>);(<U1E83>,<U1E82>);/
+   (<U1E85>,<U1E84>);(<U1E87>,<U1E86>);(<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);/
+   (<U1E8D>,<U1E8C>);(<U1E8F>,<U1E8E>);(<U1E91>,<U1E90>);(<U1E93>,<U1E92>);/
+   (<U1E95>,<U1E94>);(<U1E9B>,<U1E60>);(<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);/
+   (<U1EA5>,<U1EA4>);(<U1EA7>,<U1EA6>);(<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);/
+   (<U1EAD>,<U1EAC>);(<U1EAF>,<U1EAE>);(<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);/
+   (<U1EB5>,<U1EB4>);(<U1EB7>,<U1EB6>);(<U1EB9>,<U1EB8>);(<U1EBB>,<U1EBA>);/
+   (<U1EBD>,<U1EBC>);(<U1EBF>,<U1EBE>);(<U1EC1>,<U1EC0>);(<U1EC3>,<U1EC2>);/
+   (<U1EC5>,<U1EC4>);(<U1EC7>,<U1EC6>);(<U1EC9>,<U1EC8>);(<U1ECB>,<U1ECA>);/
+   (<U1ECD>,<U1ECC>);(<U1ECF>,<U1ECE>);(<U1ED1>,<U1ED0>);(<U1ED3>,<U1ED2>);/
+   (<U1ED5>,<U1ED4>);(<U1ED7>,<U1ED6>);(<U1ED9>,<U1ED8>);(<U1EDB>,<U1EDA>);/
+   (<U1EDD>,<U1EDC>);(<U1EDF>,<U1EDE>);(<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);/
+   (<U1EE5>,<U1EE4>);(<U1EE7>,<U1EE6>);(<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);/
+   (<U1EED>,<U1EEC>);(<U1EEF>,<U1EEE>);(<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);/
+   (<U1EF5>,<U1EF4>);(<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1EFB>,<U1EFA>);/
+   (<U1EFD>,<U1EFC>);(<U1EFF>,<U1EFE>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
    (<U1F02>,<U1F0A>);(<U1F03>,<U1F0B>);(<U1F04>,<U1F0C>);(<U1F05>,<U1F0D>);/
    (<U1F06>,<U1F0E>);(<U1F07>,<U1F0F>);(<U1F10>,<U1F18>);(<U1F11>,<U1F19>);/
    (<U1F12>,<U1F1A>);(<U1F13>,<U1F1B>);(<U1F14>,<U1F1C>);(<U1F15>,<U1F1D>);/
@@ -1122,20 +1342,20 @@ toupper /
    (<U2C59>,<U2C29>);(<U2C5A>,<U2C2A>);(<U2C5B>,<U2C2B>);(<U2C5C>,<U2C2C>);/
    (<U2C5D>,<U2C2D>);(<U2C5E>,<U2C2E>);(<U2C61>,<U2C60>);(<U2C65>,<U023A>);/
    (<U2C66>,<U023E>);(<U2C68>,<U2C67>);(<U2C6A>,<U2C69>);(<U2C6C>,<U2C6B>);/
-   (<U2C73>,<U2C72>);/
-   (<U2C76>,<U2C75>);(<U2C81>,<U2C80>);(<U2C83>,<U2C82>);(<U2C85>,<U2C84>);/
-   (<U2C87>,<U2C86>);(<U2C89>,<U2C88>);(<U2C8B>,<U2C8A>);(<U2C8D>,<U2C8C>);/
-   (<U2C8F>,<U2C8E>);(<U2C91>,<U2C90>);(<U2C93>,<U2C92>);(<U2C95>,<U2C94>);/
-   (<U2C97>,<U2C96>);(<U2C99>,<U2C98>);(<U2C9B>,<U2C9A>);(<U2C9D>,<U2C9C>);/
-   (<U2C9F>,<U2C9E>);(<U2CA1>,<U2CA0>);(<U2CA3>,<U2CA2>);(<U2CA5>,<U2CA4>);/
-   (<U2CA7>,<U2CA6>);(<U2CA9>,<U2CA8>);(<U2CAB>,<U2CAA>);(<U2CAD>,<U2CAC>);/
-   (<U2CAF>,<U2CAE>);(<U2CB1>,<U2CB0>);(<U2CB3>,<U2CB2>);(<U2CB5>,<U2CB4>);/
-   (<U2CB7>,<U2CB6>);(<U2CB9>,<U2CB8>);(<U2CBB>,<U2CBA>);(<U2CBD>,<U2CBC>);/
-   (<U2CBF>,<U2CBE>);(<U2CC1>,<U2CC0>);(<U2CC3>,<U2CC2>);(<U2CC5>,<U2CC4>);/
-   (<U2CC7>,<U2CC6>);(<U2CC9>,<U2CC8>);(<U2CCB>,<U2CCA>);(<U2CCD>,<U2CCC>);/
-   (<U2CCF>,<U2CCE>);(<U2CD1>,<U2CD0>);(<U2CD3>,<U2CD2>);(<U2CD5>,<U2CD4>);/
-   (<U2CD7>,<U2CD6>);(<U2CD9>,<U2CD8>);(<U2CDB>,<U2CDA>);(<U2CDD>,<U2CDC>);/
-   (<U2CDF>,<U2CDE>);(<U2CE1>,<U2CE0>);(<U2CE3>,<U2CE2>);(<U2D00>,<U10A0>);/
+   (<U2C73>,<U2C72>);(<U2C76>,<U2C75>);(<U2C81>,<U2C80>);(<U2C83>,<U2C82>);/
+   (<U2C85>,<U2C84>);(<U2C87>,<U2C86>);(<U2C89>,<U2C88>);(<U2C8B>,<U2C8A>);/
+   (<U2C8D>,<U2C8C>);(<U2C8F>,<U2C8E>);(<U2C91>,<U2C90>);(<U2C93>,<U2C92>);/
+   (<U2C95>,<U2C94>);(<U2C97>,<U2C96>);(<U2C99>,<U2C98>);(<U2C9B>,<U2C9A>);/
+   (<U2C9D>,<U2C9C>);(<U2C9F>,<U2C9E>);(<U2CA1>,<U2CA0>);(<U2CA3>,<U2CA2>);/
+   (<U2CA5>,<U2CA4>);(<U2CA7>,<U2CA6>);(<U2CA9>,<U2CA8>);(<U2CAB>,<U2CAA>);/
+   (<U2CAD>,<U2CAC>);(<U2CAF>,<U2CAE>);(<U2CB1>,<U2CB0>);(<U2CB3>,<U2CB2>);/
+   (<U2CB5>,<U2CB4>);(<U2CB7>,<U2CB6>);(<U2CB9>,<U2CB8>);(<U2CBB>,<U2CBA>);/
+   (<U2CBD>,<U2CBC>);(<U2CBF>,<U2CBE>);(<U2CC1>,<U2CC0>);(<U2CC3>,<U2CC2>);/
+   (<U2CC5>,<U2CC4>);(<U2CC7>,<U2CC6>);(<U2CC9>,<U2CC8>);(<U2CCB>,<U2CCA>);/
+   (<U2CCD>,<U2CCC>);(<U2CCF>,<U2CCE>);(<U2CD1>,<U2CD0>);(<U2CD3>,<U2CD2>);/
+   (<U2CD5>,<U2CD4>);(<U2CD7>,<U2CD6>);(<U2CD9>,<U2CD8>);(<U2CDB>,<U2CDA>);/
+   (<U2CDD>,<U2CDC>);(<U2CDF>,<U2CDE>);(<U2CE1>,<U2CE0>);(<U2CE3>,<U2CE2>);/
+   (<U2CEC>,<U2CEB>);(<U2CEE>,<U2CED>);(<U2CF3>,<U2CF2>);(<U2D00>,<U10A0>);/
    (<U2D01>,<U10A1>);(<U2D02>,<U10A2>);(<U2D03>,<U10A3>);(<U2D04>,<U10A4>);/
    (<U2D05>,<U10A5>);(<U2D06>,<U10A6>);(<U2D07>,<U10A7>);(<U2D08>,<U10A8>);/
    (<U2D09>,<U10A9>);(<U2D0A>,<U10AA>);(<U2D0B>,<U10AB>);(<U2D0C>,<U10AC>);/
@@ -1145,13 +1365,37 @@ toupper /
    (<U2D19>,<U10B9>);(<U2D1A>,<U10BA>);(<U2D1B>,<U10BB>);(<U2D1C>,<U10BC>);/
    (<U2D1D>,<U10BD>);(<U2D1E>,<U10BE>);(<U2D1F>,<U10BF>);(<U2D20>,<U10C0>);/
    (<U2D21>,<U10C1>);(<U2D22>,<U10C2>);(<U2D23>,<U10C3>);(<U2D24>,<U10C4>);/
-   (<U2D25>,<U10C5>);(<UFF41>,<UFF21>);(<UFF42>,<UFF22>);(<UFF43>,<UFF23>);/
-   (<UFF44>,<UFF24>);(<UFF45>,<UFF25>);(<UFF46>,<UFF26>);(<UFF47>,<UFF27>);/
-   (<UFF48>,<UFF28>);(<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);(<UFF4B>,<UFF2B>);/
-   (<UFF4C>,<UFF2C>);(<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);(<UFF4F>,<UFF2F>);/
-   (<UFF50>,<UFF30>);(<UFF51>,<UFF31>);(<UFF52>,<UFF32>);(<UFF53>,<UFF33>);/
-   (<UFF54>,<UFF34>);(<UFF55>,<UFF35>);(<UFF56>,<UFF36>);(<UFF57>,<UFF37>);/
-   (<UFF58>,<UFF38>);(<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>);/
+   (<U2D25>,<U10C5>);(<U2D27>,<U10C7>);(<U2D2D>,<U10CD>);(<UA641>,<UA640>);/
+   (<UA643>,<UA642>);(<UA645>,<UA644>);(<UA647>,<UA646>);(<UA649>,<UA648>);/
+   (<UA64B>,<UA64A>);(<UA64D>,<UA64C>);(<UA64F>,<UA64E>);(<UA651>,<UA650>);/
+   (<UA653>,<UA652>);(<UA655>,<UA654>);(<UA657>,<UA656>);(<UA659>,<UA658>);/
+   (<UA65B>,<UA65A>);(<UA65D>,<UA65C>);(<UA65F>,<UA65E>);(<UA661>,<UA660>);/
+   (<UA663>,<UA662>);(<UA665>,<UA664>);(<UA667>,<UA666>);(<UA669>,<UA668>);/
+   (<UA66B>,<UA66A>);(<UA66D>,<UA66C>);(<UA681>,<UA680>);(<UA683>,<UA682>);/
+   (<UA685>,<UA684>);(<UA687>,<UA686>);(<UA689>,<UA688>);(<UA68B>,<UA68A>);/
+   (<UA68D>,<UA68C>);(<UA68F>,<UA68E>);(<UA691>,<UA690>);(<UA693>,<UA692>);/
+   (<UA695>,<UA694>);(<UA697>,<UA696>);(<UA699>,<UA698>);(<UA69B>,<UA69A>);/
+   (<UA723>,<UA722>);(<UA725>,<UA724>);(<UA727>,<UA726>);(<UA729>,<UA728>);/
+   (<UA72B>,<UA72A>);(<UA72D>,<UA72C>);(<UA72F>,<UA72E>);(<UA733>,<UA732>);/
+   (<UA735>,<UA734>);(<UA737>,<UA736>);(<UA739>,<UA738>);(<UA73B>,<UA73A>);/
+   (<UA73D>,<UA73C>);(<UA73F>,<UA73E>);(<UA741>,<UA740>);(<UA743>,<UA742>);/
+   (<UA745>,<UA744>);(<UA747>,<UA746>);(<UA749>,<UA748>);(<UA74B>,<UA74A>);/
+   (<UA74D>,<UA74C>);(<UA74F>,<UA74E>);(<UA751>,<UA750>);(<UA753>,<UA752>);/
+   (<UA755>,<UA754>);(<UA757>,<UA756>);(<UA759>,<UA758>);(<UA75B>,<UA75A>);/
+   (<UA75D>,<UA75C>);(<UA75F>,<UA75E>);(<UA761>,<UA760>);(<UA763>,<UA762>);/
+   (<UA765>,<UA764>);(<UA767>,<UA766>);(<UA769>,<UA768>);(<UA76B>,<UA76A>);/
+   (<UA76D>,<UA76C>);(<UA76F>,<UA76E>);(<UA77A>,<UA779>);(<UA77C>,<UA77B>);/
+   (<UA77F>,<UA77E>);(<UA781>,<UA780>);(<UA783>,<UA782>);(<UA785>,<UA784>);/
+   (<UA787>,<UA786>);(<UA78C>,<UA78B>);(<UA791>,<UA790>);(<UA793>,<UA792>);/
+   (<UA797>,<UA796>);(<UA799>,<UA798>);(<UA79B>,<UA79A>);(<UA79D>,<UA79C>);/
+   (<UA79F>,<UA79E>);(<UA7A1>,<UA7A0>);(<UA7A3>,<UA7A2>);(<UA7A5>,<UA7A4>);/
+   (<UA7A7>,<UA7A6>);(<UA7A9>,<UA7A8>);(<UFF41>,<UFF21>);(<UFF42>,<UFF22>);/
+   (<UFF43>,<UFF23>);(<UFF44>,<UFF24>);(<UFF45>,<UFF25>);(<UFF46>,<UFF26>);/
+   (<UFF47>,<UFF27>);(<UFF48>,<UFF28>);(<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);/
+   (<UFF4B>,<UFF2B>);(<UFF4C>,<UFF2C>);(<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);/
+   (<UFF4F>,<UFF2F>);(<UFF50>,<UFF30>);(<UFF51>,<UFF31>);(<UFF52>,<UFF32>);/
+   (<UFF53>,<UFF33>);(<UFF54>,<UFF34>);(<UFF55>,<UFF35>);(<UFF56>,<UFF36>);/
+   (<UFF57>,<UFF37>);(<UFF58>,<UFF38>);(<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>);/
    (<U00010428>,<U00010400>);(<U00010429>,<U00010401>);/
    (<U0001042A>,<U00010402>);(<U0001042B>,<U00010403>);/
    (<U0001042C>,<U00010404>);(<U0001042D>,<U00010405>);/
@@ -1171,8 +1415,23 @@ toupper /
    (<U00010448>,<U00010420>);(<U00010449>,<U00010421>);/
    (<U0001044A>,<U00010422>);(<U0001044B>,<U00010423>);/
    (<U0001044C>,<U00010424>);(<U0001044D>,<U00010425>);/
-   (<U0001044E>,<U00010426>);(<U0001044F>,<U00010427>)
-
+   (<U0001044E>,<U00010426>);(<U0001044F>,<U00010427>);/
+   (<U000118C0>,<U000118A0>);(<U000118C1>,<U000118A1>);/
+   (<U000118C2>,<U000118A2>);(<U000118C3>,<U000118A3>);/
+   (<U000118C4>,<U000118A4>);(<U000118C5>,<U000118A5>);/
+   (<U000118C6>,<U000118A6>);(<U000118C7>,<U000118A7>);/
+   (<U000118C8>,<U000118A8>);(<U000118C9>,<U000118A9>);/
+   (<U000118CA>,<U000118AA>);(<U000118CB>,<U000118AB>);/
+   (<U000118CC>,<U000118AC>);(<U000118CD>,<U000118AD>);/
+   (<U000118CE>,<U000118AE>);(<U000118CF>,<U000118AF>);/
+   (<U000118D0>,<U000118B0>);(<U000118D1>,<U000118B1>);/
+   (<U000118D2>,<U000118B2>);(<U000118D3>,<U000118B3>);/
+   (<U000118D4>,<U000118B4>);(<U000118D5>,<U000118B5>);/
+   (<U000118D6>,<U000118B6>);(<U000118D7>,<U000118B7>);/
+   (<U000118D8>,<U000118B8>);(<U000118D9>,<U000118B9>);/
+   (<U000118DA>,<U000118BA>);(<U000118DB>,<U000118BB>);/
+   (<U000118DC>,<U000118BC>);(<U000118DD>,<U000118BD>);/
+   (<U000118DE>,<U000118BE>);(<U000118DF>,<U000118BF>)
 tolower /
    (<U0041>,<U0061>);(<U0042>,<U0062>);(<U0043>,<U0063>);(<U0044>,<U0064>);/
    (<U0045>,<U0065>);(<U0046>,<U0066>);(<U0047>,<U0067>);(<U0048>,<U0068>);/
@@ -1231,7 +1490,7 @@ tolower /
    (<U023E>,<U2C66>);(<U0241>,<U0242>);(<U0243>,<U0180>);(<U0244>,<U0289>);/
    (<U0245>,<U028C>);(<U0246>,<U0247>);(<U0248>,<U0249>);(<U024A>,<U024B>);/
    (<U024C>,<U024D>);(<U024E>,<U024F>);(<U0370>,<U0371>);(<U0372>,<U0373>);/
-   (<U0376>,<U0377>);(<U0386>,<U03AC>);(<U0388>,<U03AD>);/
+   (<U0376>,<U0377>);(<U037F>,<U03F3>);(<U0386>,<U03AC>);(<U0388>,<U03AD>);/
    (<U0389>,<U03AE>);(<U038A>,<U03AF>);(<U038C>,<U03CC>);(<U038E>,<U03CD>);/
    (<U038F>,<U03CE>);(<U0391>,<U03B1>);(<U0392>,<U03B2>);(<U0393>,<U03B3>);/
    (<U0394>,<U03B4>);(<U0395>,<U03B5>);(<U0396>,<U03B6>);(<U0397>,<U03B7>);/
@@ -1239,149 +1498,151 @@ tolower /
    (<U039C>,<U03BC>);(<U039D>,<U03BD>);(<U039E>,<U03BE>);(<U039F>,<U03BF>);/
    (<U03A0>,<U03C0>);(<U03A1>,<U03C1>);(<U03A3>,<U03C3>);(<U03A4>,<U03C4>);/
    (<U03A5>,<U03C5>);(<U03A6>,<U03C6>);(<U03A7>,<U03C7>);(<U03A8>,<U03C8>);/
-   (<U03A9>,<U03C9>);(<U03AA>,<U03CA>);(<U03AB>,<U03CB>);(<U03D8>,<U03D9>);/
-   (<U03DA>,<U03DB>);(<U03DC>,<U03DD>);(<U03DE>,<U03DF>);(<U03E0>,<U03E1>);/
-   (<U03E2>,<U03E3>);(<U03E4>,<U03E5>);(<U03E6>,<U03E7>);(<U03E8>,<U03E9>);/
-   (<U03EA>,<U03EB>);(<U03EC>,<U03ED>);(<U03EE>,<U03EF>);(<U03F4>,<U03B8>);/
-   (<U03F7>,<U03F8>);(<U03F9>,<U03F2>);(<U03FA>,<U03FB>);(<U03FD>,<U037B>);/
-   (<U03FE>,<U037C>);(<U03FF>,<U037D>);(<U0400>,<U0450>);(<U0401>,<U0451>);/
-   (<U0402>,<U0452>);(<U0403>,<U0453>);(<U0404>,<U0454>);(<U0405>,<U0455>);/
-   (<U0406>,<U0456>);(<U0407>,<U0457>);(<U0408>,<U0458>);(<U0409>,<U0459>);/
-   (<U040A>,<U045A>);(<U040B>,<U045B>);(<U040C>,<U045C>);(<U040D>,<U045D>);/
-   (<U040E>,<U045E>);(<U040F>,<U045F>);(<U0410>,<U0430>);(<U0411>,<U0431>);/
-   (<U0412>,<U0432>);(<U0413>,<U0433>);(<U0414>,<U0434>);(<U0415>,<U0435>);/
-   (<U0416>,<U0436>);(<U0417>,<U0437>);(<U0418>,<U0438>);(<U0419>,<U0439>);/
-   (<U041A>,<U043A>);(<U041B>,<U043B>);(<U041C>,<U043C>);(<U041D>,<U043D>);/
-   (<U041E>,<U043E>);(<U041F>,<U043F>);(<U0420>,<U0440>);(<U0421>,<U0441>);/
-   (<U0422>,<U0442>);(<U0423>,<U0443>);(<U0424>,<U0444>);(<U0425>,<U0445>);/
-   (<U0426>,<U0446>);(<U0427>,<U0447>);(<U0428>,<U0448>);(<U0429>,<U0449>);/
-   (<U042A>,<U044A>);(<U042B>,<U044B>);(<U042C>,<U044C>);(<U042D>,<U044D>);/
-   (<U042E>,<U044E>);(<U042F>,<U044F>);(<U0460>,<U0461>);(<U0462>,<U0463>);/
-   (<U0464>,<U0465>);(<U0466>,<U0467>);(<U0468>,<U0469>);(<U046A>,<U046B>);/
-   (<U046C>,<U046D>);(<U046E>,<U046F>);(<U0470>,<U0471>);(<U0472>,<U0473>);/
-   (<U0474>,<U0475>);(<U0476>,<U0477>);(<U0478>,<U0479>);(<U047A>,<U047B>);/
-   (<U047C>,<U047D>);(<U047E>,<U047F>);(<U0480>,<U0481>);(<U048A>,<U048B>);/
-   (<U048C>,<U048D>);(<U048E>,<U048F>);(<U0490>,<U0491>);(<U0492>,<U0493>);/
-   (<U0494>,<U0495>);(<U0496>,<U0497>);(<U0498>,<U0499>);(<U049A>,<U049B>);/
-   (<U049C>,<U049D>);(<U049E>,<U049F>);(<U04A0>,<U04A1>);(<U04A2>,<U04A3>);/
-   (<U04A4>,<U04A5>);(<U04A6>,<U04A7>);(<U04A8>,<U04A9>);(<U04AA>,<U04AB>);/
-   (<U04AC>,<U04AD>);(<U04AE>,<U04AF>);(<U04B0>,<U04B1>);(<U04B2>,<U04B3>);/
-   (<U04B4>,<U04B5>);(<U04B6>,<U04B7>);(<U04B8>,<U04B9>);(<U04BA>,<U04BB>);/
-   (<U04BC>,<U04BD>);(<U04BE>,<U04BF>);(<U04C0>,<U04CF>);(<U04C1>,<U04C2>);/
-   (<U04C3>,<U04C4>);(<U04C5>,<U04C6>);(<U04C7>,<U04C8>);(<U04C9>,<U04CA>);/
-   (<U04CB>,<U04CC>);(<U04CD>,<U04CE>);(<U04D0>,<U04D1>);(<U04D2>,<U04D3>);/
-   (<U04D4>,<U04D5>);(<U04D6>,<U04D7>);(<U04D8>,<U04D9>);(<U04DA>,<U04DB>);/
-   (<U04DC>,<U04DD>);(<U04DE>,<U04DF>);(<U04E0>,<U04E1>);(<U04E2>,<U04E3>);/
-   (<U04E4>,<U04E5>);(<U04E6>,<U04E7>);(<U04E8>,<U04E9>);(<U04EA>,<U04EB>);/
-   (<U04EC>,<U04ED>);(<U04EE>,<U04EF>);(<U04F0>,<U04F1>);(<U04F2>,<U04F3>);/
-   (<U04F4>,<U04F5>);(<U04F6>,<U04F7>);(<U04F8>,<U04F9>);(<U04FA>,<U04FB>);/
-   (<U04FC>,<U04FD>);(<U04FE>,<U04FF>);(<U0500>,<U0501>);(<U0502>,<U0503>);/
-   (<U0504>,<U0505>);(<U0506>,<U0507>);(<U0508>,<U0509>);(<U050A>,<U050B>);/
-   (<U050C>,<U050D>);(<U050E>,<U050F>);(<U0510>,<U0511>);(<U0512>,<U0513>);/
-   (<U0514>,<U0515>);(<U0516>,<U0517>);(<U0518>,<U0519>);(<U051A>,<U051B>);/
-   (<U051C>,<U051D>);(<U051E>,<U051F>);(<U0520>,<U0521>);(<U0522>,<U0523>);/
-   (<U0531>,<U0561>);(<U0532>,<U0562>);(<U0533>,<U0563>);(<U0534>,<U0564>);/
-   (<U0535>,<U0565>);(<U0536>,<U0566>);(<U0537>,<U0567>);(<U0538>,<U0568>);/
-   (<U0539>,<U0569>);(<U053A>,<U056A>);(<U053B>,<U056B>);(<U053C>,<U056C>);/
-   (<U053D>,<U056D>);(<U053E>,<U056E>);(<U053F>,<U056F>);(<U0540>,<U0570>);/
-   (<U0541>,<U0571>);(<U0542>,<U0572>);(<U0543>,<U0573>);(<U0544>,<U0574>);/
-   (<U0545>,<U0575>);(<U0546>,<U0576>);(<U0547>,<U0577>);(<U0548>,<U0578>);/
-   (<U0549>,<U0579>);(<U054A>,<U057A>);(<U054B>,<U057B>);(<U054C>,<U057C>);/
-   (<U054D>,<U057D>);(<U054E>,<U057E>);(<U054F>,<U057F>);(<U0550>,<U0580>);/
-   (<U0551>,<U0581>);(<U0552>,<U0582>);(<U0553>,<U0583>);(<U0554>,<U0584>);/
-   (<U0555>,<U0585>);(<U0556>,<U0586>);(<U10A0>,<U2D00>);(<U10A1>,<U2D01>);/
-   (<U10A2>,<U2D02>);(<U10A3>,<U2D03>);(<U10A4>,<U2D04>);(<U10A5>,<U2D05>);/
-   (<U10A6>,<U2D06>);(<U10A7>,<U2D07>);(<U10A8>,<U2D08>);(<U10A9>,<U2D09>);/
-   (<U10AA>,<U2D0A>);(<U10AB>,<U2D0B>);(<U10AC>,<U2D0C>);(<U10AD>,<U2D0D>);/
-   (<U10AE>,<U2D0E>);(<U10AF>,<U2D0F>);(<U10B0>,<U2D10>);(<U10B1>,<U2D11>);/
-   (<U10B2>,<U2D12>);(<U10B3>,<U2D13>);(<U10B4>,<U2D14>);(<U10B5>,<U2D15>);/
-   (<U10B6>,<U2D16>);(<U10B7>,<U2D17>);(<U10B8>,<U2D18>);(<U10B9>,<U2D19>);/
-   (<U10BA>,<U2D1A>);(<U10BB>,<U2D1B>);(<U10BC>,<U2D1C>);(<U10BD>,<U2D1D>);/
-   (<U10BE>,<U2D1E>);(<U10BF>,<U2D1F>);(<U10C0>,<U2D20>);(<U10C1>,<U2D21>);/
-   (<U10C2>,<U2D22>);(<U10C3>,<U2D23>);(<U10C4>,<U2D24>);(<U10C5>,<U2D25>);/
-   (<U1E00>,<U1E01>);(<U1E02>,<U1E03>);(<U1E04>,<U1E05>);(<U1E06>,<U1E07>);/
-   (<U1E08>,<U1E09>);(<U1E0A>,<U1E0B>);(<U1E0C>,<U1E0D>);(<U1E0E>,<U1E0F>);/
-   (<U1E10>,<U1E11>);(<U1E12>,<U1E13>);(<U1E14>,<U1E15>);(<U1E16>,<U1E17>);/
-   (<U1E18>,<U1E19>);(<U1E1A>,<U1E1B>);(<U1E1C>,<U1E1D>);(<U1E1E>,<U1E1F>);/
-   (<U1E20>,<U1E21>);(<U1E22>,<U1E23>);(<U1E24>,<U1E25>);(<U1E26>,<U1E27>);/
-   (<U1E28>,<U1E29>);(<U1E2A>,<U1E2B>);(<U1E2C>,<U1E2D>);(<U1E2E>,<U1E2F>);/
-   (<U1E30>,<U1E31>);(<U1E32>,<U1E33>);(<U1E34>,<U1E35>);(<U1E36>,<U1E37>);/
-   (<U1E38>,<U1E39>);(<U1E3A>,<U1E3B>);(<U1E3C>,<U1E3D>);(<U1E3E>,<U1E3F>);/
-   (<U1E40>,<U1E41>);(<U1E42>,<U1E43>);(<U1E44>,<U1E45>);(<U1E46>,<U1E47>);/
-   (<U1E48>,<U1E49>);(<U1E4A>,<U1E4B>);(<U1E4C>,<U1E4D>);(<U1E4E>,<U1E4F>);/
-   (<U1E50>,<U1E51>);(<U1E52>,<U1E53>);(<U1E54>,<U1E55>);(<U1E56>,<U1E57>);/
-   (<U1E58>,<U1E59>);(<U1E5A>,<U1E5B>);(<U1E5C>,<U1E5D>);(<U1E5E>,<U1E5F>);/
-   (<U1E60>,<U1E61>);(<U1E62>,<U1E63>);(<U1E64>,<U1E65>);(<U1E66>,<U1E67>);/
-   (<U1E68>,<U1E69>);(<U1E6A>,<U1E6B>);(<U1E6C>,<U1E6D>);(<U1E6E>,<U1E6F>);/
-   (<U1E70>,<U1E71>);(<U1E72>,<U1E73>);(<U1E74>,<U1E75>);(<U1E76>,<U1E77>);/
-   (<U1E78>,<U1E79>);(<U1E7A>,<U1E7B>);(<U1E7C>,<U1E7D>);(<U1E7E>,<U1E7F>);/
-   (<U1E80>,<U1E81>);(<U1E82>,<U1E83>);(<U1E84>,<U1E85>);(<U1E86>,<U1E87>);/
-   (<U1E88>,<U1E89>);(<U1E8A>,<U1E8B>);(<U1E8C>,<U1E8D>);(<U1E8E>,<U1E8F>);/
-   (<U1E90>,<U1E91>);(<U1E92>,<U1E93>);(<U1E94>,<U1E95>);(<U1E9E>,<U00DF>);/
-   (<U1EA0>,<U1EA1>);/
-   (<U1EA2>,<U1EA3>);(<U1EA4>,<U1EA5>);(<U1EA6>,<U1EA7>);(<U1EA8>,<U1EA9>);/
-   (<U1EAA>,<U1EAB>);(<U1EAC>,<U1EAD>);(<U1EAE>,<U1EAF>);(<U1EB0>,<U1EB1>);/
-   (<U1EB2>,<U1EB3>);(<U1EB4>,<U1EB5>);(<U1EB6>,<U1EB7>);(<U1EB8>,<U1EB9>);/
-   (<U1EBA>,<U1EBB>);(<U1EBC>,<U1EBD>);(<U1EBE>,<U1EBF>);(<U1EC0>,<U1EC1>);/
-   (<U1EC2>,<U1EC3>);(<U1EC4>,<U1EC5>);(<U1EC6>,<U1EC7>);(<U1EC8>,<U1EC9>);/
-   (<U1ECA>,<U1ECB>);(<U1ECC>,<U1ECD>);(<U1ECE>,<U1ECF>);(<U1ED0>,<U1ED1>);/
-   (<U1ED2>,<U1ED3>);(<U1ED4>,<U1ED5>);(<U1ED6>,<U1ED7>);(<U1ED8>,<U1ED9>);/
-   (<U1EDA>,<U1EDB>);(<U1EDC>,<U1EDD>);(<U1EDE>,<U1EDF>);(<U1EE0>,<U1EE1>);/
-   (<U1EE2>,<U1EE3>);(<U1EE4>,<U1EE5>);(<U1EE6>,<U1EE7>);(<U1EE8>,<U1EE9>);/
-   (<U1EEA>,<U1EEB>);(<U1EEC>,<U1EED>);(<U1EEE>,<U1EEF>);(<U1EF0>,<U1EF1>);/
-   (<U1EF2>,<U1EF3>);(<U1EF4>,<U1EF5>);(<U1EF6>,<U1EF7>);(<U1EF8>,<U1EF9>);/
-   (<U1EFA>,<U1EFB>);(<U1EFC>,<U1EFD>);(<U1EFE>,<U1EFF>);/
-   (<U1F08>,<U1F00>);(<U1F09>,<U1F01>);(<U1F0A>,<U1F02>);(<U1F0B>,<U1F03>);/
-   (<U1F0C>,<U1F04>);(<U1F0D>,<U1F05>);(<U1F0E>,<U1F06>);(<U1F0F>,<U1F07>);/
-   (<U1F18>,<U1F10>);(<U1F19>,<U1F11>);(<U1F1A>,<U1F12>);(<U1F1B>,<U1F13>);/
-   (<U1F1C>,<U1F14>);(<U1F1D>,<U1F15>);(<U1F28>,<U1F20>);(<U1F29>,<U1F21>);/
-   (<U1F2A>,<U1F22>);(<U1F2B>,<U1F23>);(<U1F2C>,<U1F24>);(<U1F2D>,<U1F25>);/
-   (<U1F2E>,<U1F26>);(<U1F2F>,<U1F27>);(<U1F38>,<U1F30>);(<U1F39>,<U1F31>);/
-   (<U1F3A>,<U1F32>);(<U1F3B>,<U1F33>);(<U1F3C>,<U1F34>);(<U1F3D>,<U1F35>);/
-   (<U1F3E>,<U1F36>);(<U1F3F>,<U1F37>);(<U1F48>,<U1F40>);(<U1F49>,<U1F41>);/
-   (<U1F4A>,<U1F42>);(<U1F4B>,<U1F43>);(<U1F4C>,<U1F44>);(<U1F4D>,<U1F45>);/
-   (<U1F59>,<U1F51>);(<U1F5B>,<U1F53>);(<U1F5D>,<U1F55>);(<U1F5F>,<U1F57>);/
-   (<U1F68>,<U1F60>);(<U1F69>,<U1F61>);(<U1F6A>,<U1F62>);(<U1F6B>,<U1F63>);/
-   (<U1F6C>,<U1F64>);(<U1F6D>,<U1F65>);(<U1F6E>,<U1F66>);(<U1F6F>,<U1F67>);/
-   (<U1F88>,<U1F80>);(<U1F89>,<U1F81>);(<U1F8A>,<U1F82>);(<U1F8B>,<U1F83>);/
-   (<U1F8C>,<U1F84>);(<U1F8D>,<U1F85>);(<U1F8E>,<U1F86>);(<U1F8F>,<U1F87>);/
-   (<U1F98>,<U1F90>);(<U1F99>,<U1F91>);(<U1F9A>,<U1F92>);(<U1F9B>,<U1F93>);/
-   (<U1F9C>,<U1F94>);(<U1F9D>,<U1F95>);(<U1F9E>,<U1F96>);(<U1F9F>,<U1F97>);/
-   (<U1FA8>,<U1FA0>);(<U1FA9>,<U1FA1>);(<U1FAA>,<U1FA2>);(<U1FAB>,<U1FA3>);/
-   (<U1FAC>,<U1FA4>);(<U1FAD>,<U1FA5>);(<U1FAE>,<U1FA6>);(<U1FAF>,<U1FA7>);/
-   (<U1FB8>,<U1FB0>);(<U1FB9>,<U1FB1>);(<U1FBA>,<U1F70>);(<U1FBB>,<U1F71>);/
-   (<U1FBC>,<U1FB3>);(<U1FC8>,<U1F72>);(<U1FC9>,<U1F73>);(<U1FCA>,<U1F74>);/
-   (<U1FCB>,<U1F75>);(<U1FCC>,<U1FC3>);(<U1FD8>,<U1FD0>);(<U1FD9>,<U1FD1>);/
-   (<U1FDA>,<U1F76>);(<U1FDB>,<U1F77>);(<U1FE8>,<U1FE0>);(<U1FE9>,<U1FE1>);/
-   (<U1FEA>,<U1F7A>);(<U1FEB>,<U1F7B>);(<U1FEC>,<U1FE5>);(<U1FF8>,<U1F78>);/
-   (<U1FF9>,<U1F79>);(<U1FFA>,<U1F7C>);(<U1FFB>,<U1F7D>);(<U1FFC>,<U1FF3>);/
-   (<U2126>,<U03C9>);(<U212A>,<U006B>);(<U212B>,<U00E5>);(<U2132>,<U214E>);/
-   (<U2160>,<U2170>);(<U2161>,<U2171>);(<U2162>,<U2172>);(<U2163>,<U2173>);/
-   (<U2164>,<U2174>);(<U2165>,<U2175>);(<U2166>,<U2176>);(<U2167>,<U2177>);/
-   (<U2168>,<U2178>);(<U2169>,<U2179>);(<U216A>,<U217A>);(<U216B>,<U217B>);/
-   (<U216C>,<U217C>);(<U216D>,<U217D>);(<U216E>,<U217E>);(<U216F>,<U217F>);/
-   (<U2183>,<U2184>);(<U24B6>,<U24D0>);(<U24B7>,<U24D1>);(<U24B8>,<U24D2>);/
-   (<U24B9>,<U24D3>);(<U24BA>,<U24D4>);(<U24BB>,<U24D5>);(<U24BC>,<U24D6>);/
-   (<U24BD>,<U24D7>);(<U24BE>,<U24D8>);(<U24BF>,<U24D9>);(<U24C0>,<U24DA>);/
-   (<U24C1>,<U24DB>);(<U24C2>,<U24DC>);(<U24C3>,<U24DD>);(<U24C4>,<U24DE>);/
-   (<U24C5>,<U24DF>);(<U24C6>,<U24E0>);(<U24C7>,<U24E1>);(<U24C8>,<U24E2>);/
-   (<U24C9>,<U24E3>);(<U24CA>,<U24E4>);(<U24CB>,<U24E5>);(<U24CC>,<U24E6>);/
-   (<U24CD>,<U24E7>);(<U24CE>,<U24E8>);(<U24CF>,<U24E9>);(<U2C00>,<U2C30>);/
-   (<U2C01>,<U2C31>);(<U2C02>,<U2C32>);(<U2C03>,<U2C33>);(<U2C04>,<U2C34>);/
-   (<U2C05>,<U2C35>);(<U2C06>,<U2C36>);(<U2C07>,<U2C37>);(<U2C08>,<U2C38>);/
-   (<U2C09>,<U2C39>);(<U2C0A>,<U2C3A>);(<U2C0B>,<U2C3B>);(<U2C0C>,<U2C3C>);/
-   (<U2C0D>,<U2C3D>);(<U2C0E>,<U2C3E>);(<U2C0F>,<U2C3F>);(<U2C10>,<U2C40>);/
-   (<U2C11>,<U2C41>);(<U2C12>,<U2C42>);(<U2C13>,<U2C43>);(<U2C14>,<U2C44>);/
-   (<U2C15>,<U2C45>);(<U2C16>,<U2C46>);(<U2C17>,<U2C47>);(<U2C18>,<U2C48>);/
-   (<U2C19>,<U2C49>);(<U2C1A>,<U2C4A>);(<U2C1B>,<U2C4B>);(<U2C1C>,<U2C4C>);/
-   (<U2C1D>,<U2C4D>);(<U2C1E>,<U2C4E>);(<U2C1F>,<U2C4F>);(<U2C20>,<U2C50>);/
-   (<U2C21>,<U2C51>);(<U2C22>,<U2C52>);(<U2C23>,<U2C53>);(<U2C24>,<U2C54>);/
-   (<U2C25>,<U2C55>);(<U2C26>,<U2C56>);(<U2C27>,<U2C57>);(<U2C28>,<U2C58>);/
-   (<U2C29>,<U2C59>);(<U2C2A>,<U2C5A>);(<U2C2B>,<U2C5B>);(<U2C2C>,<U2C5C>);/
-   (<U2C2D>,<U2C5D>);(<U2C2E>,<U2C5E>);(<U2C60>,<U2C61>);(<U2C62>,<U026B>);/
-   (<U2C63>,<U1D7D>);(<U2C64>,<U027D>);(<U2C67>,<U2C68>);(<U2C69>,<U2C6A>);/
-   (<U2C6B>,<U2C6C>);(<U2C6D>,<U0251>);(<U2C6E>,<U0271>);(<U2C6F>,<U0250>);/
-   (<U2C72>,<U2C73>);(<U2C75>,<U2C76>);(<U2C80>,<U2C81>);(<U2C82>,<U2C83>);/
+   (<U03A9>,<U03C9>);(<U03AA>,<U03CA>);(<U03AB>,<U03CB>);(<U03CF>,<U03D7>);/
+   (<U03D8>,<U03D9>);(<U03DA>,<U03DB>);(<U03DC>,<U03DD>);(<U03DE>,<U03DF>);/
+   (<U03E0>,<U03E1>);(<U03E2>,<U03E3>);(<U03E4>,<U03E5>);(<U03E6>,<U03E7>);/
+   (<U03E8>,<U03E9>);(<U03EA>,<U03EB>);(<U03EC>,<U03ED>);(<U03EE>,<U03EF>);/
+   (<U03F4>,<U03B8>);(<U03F7>,<U03F8>);(<U03F9>,<U03F2>);(<U03FA>,<U03FB>);/
+   (<U03FD>,<U037B>);(<U03FE>,<U037C>);(<U03FF>,<U037D>);(<U0400>,<U0450>);/
+   (<U0401>,<U0451>);(<U0402>,<U0452>);(<U0403>,<U0453>);(<U0404>,<U0454>);/
+   (<U0405>,<U0455>);(<U0406>,<U0456>);(<U0407>,<U0457>);(<U0408>,<U0458>);/
+   (<U0409>,<U0459>);(<U040A>,<U045A>);(<U040B>,<U045B>);(<U040C>,<U045C>);/
+   (<U040D>,<U045D>);(<U040E>,<U045E>);(<U040F>,<U045F>);(<U0410>,<U0430>);/
+   (<U0411>,<U0431>);(<U0412>,<U0432>);(<U0413>,<U0433>);(<U0414>,<U0434>);/
+   (<U0415>,<U0435>);(<U0416>,<U0436>);(<U0417>,<U0437>);(<U0418>,<U0438>);/
+   (<U0419>,<U0439>);(<U041A>,<U043A>);(<U041B>,<U043B>);(<U041C>,<U043C>);/
+   (<U041D>,<U043D>);(<U041E>,<U043E>);(<U041F>,<U043F>);(<U0420>,<U0440>);/
+   (<U0421>,<U0441>);(<U0422>,<U0442>);(<U0423>,<U0443>);(<U0424>,<U0444>);/
+   (<U0425>,<U0445>);(<U0426>,<U0446>);(<U0427>,<U0447>);(<U0428>,<U0448>);/
+   (<U0429>,<U0449>);(<U042A>,<U044A>);(<U042B>,<U044B>);(<U042C>,<U044C>);/
+   (<U042D>,<U044D>);(<U042E>,<U044E>);(<U042F>,<U044F>);(<U0460>,<U0461>);/
+   (<U0462>,<U0463>);(<U0464>,<U0465>);(<U0466>,<U0467>);(<U0468>,<U0469>);/
+   (<U046A>,<U046B>);(<U046C>,<U046D>);(<U046E>,<U046F>);(<U0470>,<U0471>);/
+   (<U0472>,<U0473>);(<U0474>,<U0475>);(<U0476>,<U0477>);(<U0478>,<U0479>);/
+   (<U047A>,<U047B>);(<U047C>,<U047D>);(<U047E>,<U047F>);(<U0480>,<U0481>);/
+   (<U048A>,<U048B>);(<U048C>,<U048D>);(<U048E>,<U048F>);(<U0490>,<U0491>);/
+   (<U0492>,<U0493>);(<U0494>,<U0495>);(<U0496>,<U0497>);(<U0498>,<U0499>);/
+   (<U049A>,<U049B>);(<U049C>,<U049D>);(<U049E>,<U049F>);(<U04A0>,<U04A1>);/
+   (<U04A2>,<U04A3>);(<U04A4>,<U04A5>);(<U04A6>,<U04A7>);(<U04A8>,<U04A9>);/
+   (<U04AA>,<U04AB>);(<U04AC>,<U04AD>);(<U04AE>,<U04AF>);(<U04B0>,<U04B1>);/
+   (<U04B2>,<U04B3>);(<U04B4>,<U04B5>);(<U04B6>,<U04B7>);(<U04B8>,<U04B9>);/
+   (<U04BA>,<U04BB>);(<U04BC>,<U04BD>);(<U04BE>,<U04BF>);(<U04C0>,<U04CF>);/
+   (<U04C1>,<U04C2>);(<U04C3>,<U04C4>);(<U04C5>,<U04C6>);(<U04C7>,<U04C8>);/
+   (<U04C9>,<U04CA>);(<U04CB>,<U04CC>);(<U04CD>,<U04CE>);(<U04D0>,<U04D1>);/
+   (<U04D2>,<U04D3>);(<U04D4>,<U04D5>);(<U04D6>,<U04D7>);(<U04D8>,<U04D9>);/
+   (<U04DA>,<U04DB>);(<U04DC>,<U04DD>);(<U04DE>,<U04DF>);(<U04E0>,<U04E1>);/
+   (<U04E2>,<U04E3>);(<U04E4>,<U04E5>);(<U04E6>,<U04E7>);(<U04E8>,<U04E9>);/
+   (<U04EA>,<U04EB>);(<U04EC>,<U04ED>);(<U04EE>,<U04EF>);(<U04F0>,<U04F1>);/
+   (<U04F2>,<U04F3>);(<U04F4>,<U04F5>);(<U04F6>,<U04F7>);(<U04F8>,<U04F9>);/
+   (<U04FA>,<U04FB>);(<U04FC>,<U04FD>);(<U04FE>,<U04FF>);(<U0500>,<U0501>);/
+   (<U0502>,<U0503>);(<U0504>,<U0505>);(<U0506>,<U0507>);(<U0508>,<U0509>);/
+   (<U050A>,<U050B>);(<U050C>,<U050D>);(<U050E>,<U050F>);(<U0510>,<U0511>);/
+   (<U0512>,<U0513>);(<U0514>,<U0515>);(<U0516>,<U0517>);(<U0518>,<U0519>);/
+   (<U051A>,<U051B>);(<U051C>,<U051D>);(<U051E>,<U051F>);(<U0520>,<U0521>);/
+   (<U0522>,<U0523>);(<U0524>,<U0525>);(<U0526>,<U0527>);(<U0528>,<U0529>);/
+   (<U052A>,<U052B>);(<U052C>,<U052D>);(<U052E>,<U052F>);(<U0531>,<U0561>);/
+   (<U0532>,<U0562>);(<U0533>,<U0563>);(<U0534>,<U0564>);(<U0535>,<U0565>);/
+   (<U0536>,<U0566>);(<U0537>,<U0567>);(<U0538>,<U0568>);(<U0539>,<U0569>);/
+   (<U053A>,<U056A>);(<U053B>,<U056B>);(<U053C>,<U056C>);(<U053D>,<U056D>);/
+   (<U053E>,<U056E>);(<U053F>,<U056F>);(<U0540>,<U0570>);(<U0541>,<U0571>);/
+   (<U0542>,<U0572>);(<U0543>,<U0573>);(<U0544>,<U0574>);(<U0545>,<U0575>);/
+   (<U0546>,<U0576>);(<U0547>,<U0577>);(<U0548>,<U0578>);(<U0549>,<U0579>);/
+   (<U054A>,<U057A>);(<U054B>,<U057B>);(<U054C>,<U057C>);(<U054D>,<U057D>);/
+   (<U054E>,<U057E>);(<U054F>,<U057F>);(<U0550>,<U0580>);(<U0551>,<U0581>);/
+   (<U0552>,<U0582>);(<U0553>,<U0583>);(<U0554>,<U0584>);(<U0555>,<U0585>);/
+   (<U0556>,<U0586>);(<U10A0>,<U2D00>);(<U10A1>,<U2D01>);(<U10A2>,<U2D02>);/
+   (<U10A3>,<U2D03>);(<U10A4>,<U2D04>);(<U10A5>,<U2D05>);(<U10A6>,<U2D06>);/
+   (<U10A7>,<U2D07>);(<U10A8>,<U2D08>);(<U10A9>,<U2D09>);(<U10AA>,<U2D0A>);/
+   (<U10AB>,<U2D0B>);(<U10AC>,<U2D0C>);(<U10AD>,<U2D0D>);(<U10AE>,<U2D0E>);/
+   (<U10AF>,<U2D0F>);(<U10B0>,<U2D10>);(<U10B1>,<U2D11>);(<U10B2>,<U2D12>);/
+   (<U10B3>,<U2D13>);(<U10B4>,<U2D14>);(<U10B5>,<U2D15>);(<U10B6>,<U2D16>);/
+   (<U10B7>,<U2D17>);(<U10B8>,<U2D18>);(<U10B9>,<U2D19>);(<U10BA>,<U2D1A>);/
+   (<U10BB>,<U2D1B>);(<U10BC>,<U2D1C>);(<U10BD>,<U2D1D>);(<U10BE>,<U2D1E>);/
+   (<U10BF>,<U2D1F>);(<U10C0>,<U2D20>);(<U10C1>,<U2D21>);(<U10C2>,<U2D22>);/
+   (<U10C3>,<U2D23>);(<U10C4>,<U2D24>);(<U10C5>,<U2D25>);(<U10C7>,<U2D27>);/
+   (<U10CD>,<U2D2D>);(<U1E00>,<U1E01>);(<U1E02>,<U1E03>);(<U1E04>,<U1E05>);/
+   (<U1E06>,<U1E07>);(<U1E08>,<U1E09>);(<U1E0A>,<U1E0B>);(<U1E0C>,<U1E0D>);/
+   (<U1E0E>,<U1E0F>);(<U1E10>,<U1E11>);(<U1E12>,<U1E13>);(<U1E14>,<U1E15>);/
+   (<U1E16>,<U1E17>);(<U1E18>,<U1E19>);(<U1E1A>,<U1E1B>);(<U1E1C>,<U1E1D>);/
+   (<U1E1E>,<U1E1F>);(<U1E20>,<U1E21>);(<U1E22>,<U1E23>);(<U1E24>,<U1E25>);/
+   (<U1E26>,<U1E27>);(<U1E28>,<U1E29>);(<U1E2A>,<U1E2B>);(<U1E2C>,<U1E2D>);/
+   (<U1E2E>,<U1E2F>);(<U1E30>,<U1E31>);(<U1E32>,<U1E33>);(<U1E34>,<U1E35>);/
+   (<U1E36>,<U1E37>);(<U1E38>,<U1E39>);(<U1E3A>,<U1E3B>);(<U1E3C>,<U1E3D>);/
+   (<U1E3E>,<U1E3F>);(<U1E40>,<U1E41>);(<U1E42>,<U1E43>);(<U1E44>,<U1E45>);/
+   (<U1E46>,<U1E47>);(<U1E48>,<U1E49>);(<U1E4A>,<U1E4B>);(<U1E4C>,<U1E4D>);/
+   (<U1E4E>,<U1E4F>);(<U1E50>,<U1E51>);(<U1E52>,<U1E53>);(<U1E54>,<U1E55>);/
+   (<U1E56>,<U1E57>);(<U1E58>,<U1E59>);(<U1E5A>,<U1E5B>);(<U1E5C>,<U1E5D>);/
+   (<U1E5E>,<U1E5F>);(<U1E60>,<U1E61>);(<U1E62>,<U1E63>);(<U1E64>,<U1E65>);/
+   (<U1E66>,<U1E67>);(<U1E68>,<U1E69>);(<U1E6A>,<U1E6B>);(<U1E6C>,<U1E6D>);/
+   (<U1E6E>,<U1E6F>);(<U1E70>,<U1E71>);(<U1E72>,<U1E73>);(<U1E74>,<U1E75>);/
+   (<U1E76>,<U1E77>);(<U1E78>,<U1E79>);(<U1E7A>,<U1E7B>);(<U1E7C>,<U1E7D>);/
+   (<U1E7E>,<U1E7F>);(<U1E80>,<U1E81>);(<U1E82>,<U1E83>);(<U1E84>,<U1E85>);/
+   (<U1E86>,<U1E87>);(<U1E88>,<U1E89>);(<U1E8A>,<U1E8B>);(<U1E8C>,<U1E8D>);/
+   (<U1E8E>,<U1E8F>);(<U1E90>,<U1E91>);(<U1E92>,<U1E93>);(<U1E94>,<U1E95>);/
+   (<U1E9E>,<U00DF>);(<U1EA0>,<U1EA1>);(<U1EA2>,<U1EA3>);(<U1EA4>,<U1EA5>);/
+   (<U1EA6>,<U1EA7>);(<U1EA8>,<U1EA9>);(<U1EAA>,<U1EAB>);(<U1EAC>,<U1EAD>);/
+   (<U1EAE>,<U1EAF>);(<U1EB0>,<U1EB1>);(<U1EB2>,<U1EB3>);(<U1EB4>,<U1EB5>);/
+   (<U1EB6>,<U1EB7>);(<U1EB8>,<U1EB9>);(<U1EBA>,<U1EBB>);(<U1EBC>,<U1EBD>);/
+   (<U1EBE>,<U1EBF>);(<U1EC0>,<U1EC1>);(<U1EC2>,<U1EC3>);(<U1EC4>,<U1EC5>);/
+   (<U1EC6>,<U1EC7>);(<U1EC8>,<U1EC9>);(<U1ECA>,<U1ECB>);(<U1ECC>,<U1ECD>);/
+   (<U1ECE>,<U1ECF>);(<U1ED0>,<U1ED1>);(<U1ED2>,<U1ED3>);(<U1ED4>,<U1ED5>);/
+   (<U1ED6>,<U1ED7>);(<U1ED8>,<U1ED9>);(<U1EDA>,<U1EDB>);(<U1EDC>,<U1EDD>);/
+   (<U1EDE>,<U1EDF>);(<U1EE0>,<U1EE1>);(<U1EE2>,<U1EE3>);(<U1EE4>,<U1EE5>);/
+   (<U1EE6>,<U1EE7>);(<U1EE8>,<U1EE9>);(<U1EEA>,<U1EEB>);(<U1EEC>,<U1EED>);/
+   (<U1EEE>,<U1EEF>);(<U1EF0>,<U1EF1>);(<U1EF2>,<U1EF3>);(<U1EF4>,<U1EF5>);/
+   (<U1EF6>,<U1EF7>);(<U1EF8>,<U1EF9>);(<U1EFA>,<U1EFB>);(<U1EFC>,<U1EFD>);/
+   (<U1EFE>,<U1EFF>);(<U1F08>,<U1F00>);(<U1F09>,<U1F01>);(<U1F0A>,<U1F02>);/
+   (<U1F0B>,<U1F03>);(<U1F0C>,<U1F04>);(<U1F0D>,<U1F05>);(<U1F0E>,<U1F06>);/
+   (<U1F0F>,<U1F07>);(<U1F18>,<U1F10>);(<U1F19>,<U1F11>);(<U1F1A>,<U1F12>);/
+   (<U1F1B>,<U1F13>);(<U1F1C>,<U1F14>);(<U1F1D>,<U1F15>);(<U1F28>,<U1F20>);/
+   (<U1F29>,<U1F21>);(<U1F2A>,<U1F22>);(<U1F2B>,<U1F23>);(<U1F2C>,<U1F24>);/
+   (<U1F2D>,<U1F25>);(<U1F2E>,<U1F26>);(<U1F2F>,<U1F27>);(<U1F38>,<U1F30>);/
+   (<U1F39>,<U1F31>);(<U1F3A>,<U1F32>);(<U1F3B>,<U1F33>);(<U1F3C>,<U1F34>);/
+   (<U1F3D>,<U1F35>);(<U1F3E>,<U1F36>);(<U1F3F>,<U1F37>);(<U1F48>,<U1F40>);/
+   (<U1F49>,<U1F41>);(<U1F4A>,<U1F42>);(<U1F4B>,<U1F43>);(<U1F4C>,<U1F44>);/
+   (<U1F4D>,<U1F45>);(<U1F59>,<U1F51>);(<U1F5B>,<U1F53>);(<U1F5D>,<U1F55>);/
+   (<U1F5F>,<U1F57>);(<U1F68>,<U1F60>);(<U1F69>,<U1F61>);(<U1F6A>,<U1F62>);/
+   (<U1F6B>,<U1F63>);(<U1F6C>,<U1F64>);(<U1F6D>,<U1F65>);(<U1F6E>,<U1F66>);/
+   (<U1F6F>,<U1F67>);(<U1F88>,<U1F80>);(<U1F89>,<U1F81>);(<U1F8A>,<U1F82>);/
+   (<U1F8B>,<U1F83>);(<U1F8C>,<U1F84>);(<U1F8D>,<U1F85>);(<U1F8E>,<U1F86>);/
+   (<U1F8F>,<U1F87>);(<U1F98>,<U1F90>);(<U1F99>,<U1F91>);(<U1F9A>,<U1F92>);/
+   (<U1F9B>,<U1F93>);(<U1F9C>,<U1F94>);(<U1F9D>,<U1F95>);(<U1F9E>,<U1F96>);/
+   (<U1F9F>,<U1F97>);(<U1FA8>,<U1FA0>);(<U1FA9>,<U1FA1>);(<U1FAA>,<U1FA2>);/
+   (<U1FAB>,<U1FA3>);(<U1FAC>,<U1FA4>);(<U1FAD>,<U1FA5>);(<U1FAE>,<U1FA6>);/
+   (<U1FAF>,<U1FA7>);(<U1FB8>,<U1FB0>);(<U1FB9>,<U1FB1>);(<U1FBA>,<U1F70>);/
+   (<U1FBB>,<U1F71>);(<U1FBC>,<U1FB3>);(<U1FC8>,<U1F72>);(<U1FC9>,<U1F73>);/
+   (<U1FCA>,<U1F74>);(<U1FCB>,<U1F75>);(<U1FCC>,<U1FC3>);(<U1FD8>,<U1FD0>);/
+   (<U1FD9>,<U1FD1>);(<U1FDA>,<U1F76>);(<U1FDB>,<U1F77>);(<U1FE8>,<U1FE0>);/
+   (<U1FE9>,<U1FE1>);(<U1FEA>,<U1F7A>);(<U1FEB>,<U1F7B>);(<U1FEC>,<U1FE5>);/
+   (<U1FF8>,<U1F78>);(<U1FF9>,<U1F79>);(<U1FFA>,<U1F7C>);(<U1FFB>,<U1F7D>);/
+   (<U1FFC>,<U1FF3>);(<U2126>,<U03C9>);(<U212A>,<U006B>);(<U212B>,<U00E5>);/
+   (<U2132>,<U214E>);(<U2160>,<U2170>);(<U2161>,<U2171>);(<U2162>,<U2172>);/
+   (<U2163>,<U2173>);(<U2164>,<U2174>);(<U2165>,<U2175>);(<U2166>,<U2176>);/
+   (<U2167>,<U2177>);(<U2168>,<U2178>);(<U2169>,<U2179>);(<U216A>,<U217A>);/
+   (<U216B>,<U217B>);(<U216C>,<U217C>);(<U216D>,<U217D>);(<U216E>,<U217E>);/
+   (<U216F>,<U217F>);(<U2183>,<U2184>);(<U24B6>,<U24D0>);(<U24B7>,<U24D1>);/
+   (<U24B8>,<U24D2>);(<U24B9>,<U24D3>);(<U24BA>,<U24D4>);(<U24BB>,<U24D5>);/
+   (<U24BC>,<U24D6>);(<U24BD>,<U24D7>);(<U24BE>,<U24D8>);(<U24BF>,<U24D9>);/
+   (<U24C0>,<U24DA>);(<U24C1>,<U24DB>);(<U24C2>,<U24DC>);(<U24C3>,<U24DD>);/
+   (<U24C4>,<U24DE>);(<U24C5>,<U24DF>);(<U24C6>,<U24E0>);(<U24C7>,<U24E1>);/
+   (<U24C8>,<U24E2>);(<U24C9>,<U24E3>);(<U24CA>,<U24E4>);(<U24CB>,<U24E5>);/
+   (<U24CC>,<U24E6>);(<U24CD>,<U24E7>);(<U24CE>,<U24E8>);(<U24CF>,<U24E9>);/
+   (<U2C00>,<U2C30>);(<U2C01>,<U2C31>);(<U2C02>,<U2C32>);(<U2C03>,<U2C33>);/
+   (<U2C04>,<U2C34>);(<U2C05>,<U2C35>);(<U2C06>,<U2C36>);(<U2C07>,<U2C37>);/
+   (<U2C08>,<U2C38>);(<U2C09>,<U2C39>);(<U2C0A>,<U2C3A>);(<U2C0B>,<U2C3B>);/
+   (<U2C0C>,<U2C3C>);(<U2C0D>,<U2C3D>);(<U2C0E>,<U2C3E>);(<U2C0F>,<U2C3F>);/
+   (<U2C10>,<U2C40>);(<U2C11>,<U2C41>);(<U2C12>,<U2C42>);(<U2C13>,<U2C43>);/
+   (<U2C14>,<U2C44>);(<U2C15>,<U2C45>);(<U2C16>,<U2C46>);(<U2C17>,<U2C47>);/
+   (<U2C18>,<U2C48>);(<U2C19>,<U2C49>);(<U2C1A>,<U2C4A>);(<U2C1B>,<U2C4B>);/
+   (<U2C1C>,<U2C4C>);(<U2C1D>,<U2C4D>);(<U2C1E>,<U2C4E>);(<U2C1F>,<U2C4F>);/
+   (<U2C20>,<U2C50>);(<U2C21>,<U2C51>);(<U2C22>,<U2C52>);(<U2C23>,<U2C53>);/
+   (<U2C24>,<U2C54>);(<U2C25>,<U2C55>);(<U2C26>,<U2C56>);(<U2C27>,<U2C57>);/
+   (<U2C28>,<U2C58>);(<U2C29>,<U2C59>);(<U2C2A>,<U2C5A>);(<U2C2B>,<U2C5B>);/
+   (<U2C2C>,<U2C5C>);(<U2C2D>,<U2C5D>);(<U2C2E>,<U2C5E>);(<U2C60>,<U2C61>);/
+   (<U2C62>,<U026B>);(<U2C63>,<U1D7D>);(<U2C64>,<U027D>);(<U2C67>,<U2C68>);/
+   (<U2C69>,<U2C6A>);(<U2C6B>,<U2C6C>);(<U2C6D>,<U0251>);(<U2C6E>,<U0271>);/
+   (<U2C6F>,<U0250>);(<U2C70>,<U0252>);(<U2C72>,<U2C73>);(<U2C75>,<U2C76>);/
+   (<U2C7E>,<U023F>);(<U2C7F>,<U0240>);(<U2C80>,<U2C81>);(<U2C82>,<U2C83>);/
    (<U2C84>,<U2C85>);(<U2C86>,<U2C87>);(<U2C88>,<U2C89>);(<U2C8A>,<U2C8B>);/
    (<U2C8C>,<U2C8D>);(<U2C8E>,<U2C8F>);(<U2C90>,<U2C91>);(<U2C92>,<U2C93>);/
    (<U2C94>,<U2C95>);(<U2C96>,<U2C97>);(<U2C98>,<U2C99>);(<U2C9A>,<U2C9B>);/
@@ -1394,34 +1655,75 @@ tolower /
    (<U2CCC>,<U2CCD>);(<U2CCE>,<U2CCF>);(<U2CD0>,<U2CD1>);(<U2CD2>,<U2CD3>);/
    (<U2CD4>,<U2CD5>);(<U2CD6>,<U2CD7>);(<U2CD8>,<U2CD9>);(<U2CDA>,<U2CDB>);/
    (<U2CDC>,<U2CDD>);(<U2CDE>,<U2CDF>);(<U2CE0>,<U2CE1>);(<U2CE2>,<U2CE3>);/
-   (<UFF21>,<UFF41>);(<UFF22>,<UFF42>);(<UFF23>,<UFF43>);(<UFF24>,<UFF44>);/
-   (<UFF25>,<UFF45>);(<UFF26>,<UFF46>);(<UFF27>,<UFF47>);(<UFF28>,<UFF48>);/
-   (<UFF29>,<UFF49>);(<UFF2A>,<UFF4A>);(<UFF2B>,<UFF4B>);(<UFF2C>,<UFF4C>);/
-   (<UFF2D>,<UFF4D>);(<UFF2E>,<UFF4E>);(<UFF2F>,<UFF4F>);(<UFF30>,<UFF50>);/
-   (<UFF31>,<UFF51>);(<UFF32>,<UFF52>);(<UFF33>,<UFF53>);(<UFF34>,<UFF54>);/
-   (<UFF35>,<UFF55>);(<UFF36>,<UFF56>);(<UFF37>,<UFF57>);(<UFF38>,<UFF58>);/
-   (<UFF39>,<UFF59>);(<UFF3A>,<UFF5A>);(<U00010400>,<U00010428>);/
-   (<U00010401>,<U00010429>);(<U00010402>,<U0001042A>);/
-   (<U00010403>,<U0001042B>);(<U00010404>,<U0001042C>);/
-   (<U00010405>,<U0001042D>);(<U00010406>,<U0001042E>);/
-   (<U00010407>,<U0001042F>);(<U00010408>,<U00010430>);/
-   (<U00010409>,<U00010431>);(<U0001040A>,<U00010432>);/
-   (<U0001040B>,<U00010433>);(<U0001040C>,<U00010434>);/
-   (<U0001040D>,<U00010435>);(<U0001040E>,<U00010436>);/
-   (<U0001040F>,<U00010437>);(<U00010410>,<U00010438>);/
-   (<U00010411>,<U00010439>);(<U00010412>,<U0001043A>);/
-   (<U00010413>,<U0001043B>);(<U00010414>,<U0001043C>);/
-   (<U00010415>,<U0001043D>);(<U00010416>,<U0001043E>);/
-   (<U00010417>,<U0001043F>);(<U00010418>,<U00010440>);/
-   (<U00010419>,<U00010441>);(<U0001041A>,<U00010442>);/
-   (<U0001041B>,<U00010443>);(<U0001041C>,<U00010444>);/
-   (<U0001041D>,<U00010445>);(<U0001041E>,<U00010446>);/
-   (<U0001041F>,<U00010447>);(<U00010420>,<U00010448>);/
-   (<U00010421>,<U00010449>);(<U00010422>,<U0001044A>);/
-   (<U00010423>,<U0001044B>);(<U00010424>,<U0001044C>);/
-   (<U00010425>,<U0001044D>);(<U00010426>,<U0001044E>);/
-   (<U00010427>,<U0001044F>)
-
+   (<U2CEB>,<U2CEC>);(<U2CED>,<U2CEE>);(<U2CF2>,<U2CF3>);(<UA640>,<UA641>);/
+   (<UA642>,<UA643>);(<UA644>,<UA645>);(<UA646>,<UA647>);(<UA648>,<UA649>);/
+   (<UA64A>,<UA64B>);(<UA64C>,<UA64D>);(<UA64E>,<UA64F>);(<UA650>,<UA651>);/
+   (<UA652>,<UA653>);(<UA654>,<UA655>);(<UA656>,<UA657>);(<UA658>,<UA659>);/
+   (<UA65A>,<UA65B>);(<UA65C>,<UA65D>);(<UA65E>,<UA65F>);(<UA660>,<UA661>);/
+   (<UA662>,<UA663>);(<UA664>,<UA665>);(<UA666>,<UA667>);(<UA668>,<UA669>);/
+   (<UA66A>,<UA66B>);(<UA66C>,<UA66D>);(<UA680>,<UA681>);(<UA682>,<UA683>);/
+   (<UA684>,<UA685>);(<UA686>,<UA687>);(<UA688>,<UA689>);(<UA68A>,<UA68B>);/
+   (<UA68C>,<UA68D>);(<UA68E>,<UA68F>);(<UA690>,<UA691>);(<UA692>,<UA693>);/
+   (<UA694>,<UA695>);(<UA696>,<UA697>);(<UA698>,<UA699>);(<UA69A>,<UA69B>);/
+   (<UA722>,<UA723>);(<UA724>,<UA725>);(<UA726>,<UA727>);(<UA728>,<UA729>);/
+   (<UA72A>,<UA72B>);(<UA72C>,<UA72D>);(<UA72E>,<UA72F>);(<UA732>,<UA733>);/
+   (<UA734>,<UA735>);(<UA736>,<UA737>);(<UA738>,<UA739>);(<UA73A>,<UA73B>);/
+   (<UA73C>,<UA73D>);(<UA73E>,<UA73F>);(<UA740>,<UA741>);(<UA742>,<UA743>);/
+   (<UA744>,<UA745>);(<UA746>,<UA747>);(<UA748>,<UA749>);(<UA74A>,<UA74B>);/
+   (<UA74C>,<UA74D>);(<UA74E>,<UA74F>);(<UA750>,<UA751>);(<UA752>,<UA753>);/
+   (<UA754>,<UA755>);(<UA756>,<UA757>);(<UA758>,<UA759>);(<UA75A>,<UA75B>);/
+   (<UA75C>,<UA75D>);(<UA75E>,<UA75F>);(<UA760>,<UA761>);(<UA762>,<UA763>);/
+   (<UA764>,<UA765>);(<UA766>,<UA767>);(<UA768>,<UA769>);(<UA76A>,<UA76B>);/
+   (<UA76C>,<UA76D>);(<UA76E>,<UA76F>);(<UA779>,<UA77A>);(<UA77B>,<UA77C>);/
+   (<UA77D>,<U1D79>);(<UA77E>,<UA77F>);(<UA780>,<UA781>);(<UA782>,<UA783>);/
+   (<UA784>,<UA785>);(<UA786>,<UA787>);(<UA78B>,<UA78C>);(<UA78D>,<U0265>);/
+   (<UA790>,<UA791>);(<UA792>,<UA793>);(<UA796>,<UA797>);(<UA798>,<UA799>);/
+   (<UA79A>,<UA79B>);(<UA79C>,<UA79D>);(<UA79E>,<UA79F>);(<UA7A0>,<UA7A1>);/
+   (<UA7A2>,<UA7A3>);(<UA7A4>,<UA7A5>);(<UA7A6>,<UA7A7>);(<UA7A8>,<UA7A9>);/
+   (<UA7AA>,<U0266>);(<UA7AB>,<U025C>);(<UA7AC>,<U0261>);(<UA7AD>,<U026C>);/
+   (<UA7B0>,<U029E>);(<UA7B1>,<U0287>);(<UFF21>,<UFF41>);(<UFF22>,<UFF42>);/
+   (<UFF23>,<UFF43>);(<UFF24>,<UFF44>);(<UFF25>,<UFF45>);(<UFF26>,<UFF46>);/
+   (<UFF27>,<UFF47>);(<UFF28>,<UFF48>);(<UFF29>,<UFF49>);(<UFF2A>,<UFF4A>);/
+   (<UFF2B>,<UFF4B>);(<UFF2C>,<UFF4C>);(<UFF2D>,<UFF4D>);(<UFF2E>,<UFF4E>);/
+   (<UFF2F>,<UFF4F>);(<UFF30>,<UFF50>);(<UFF31>,<UFF51>);(<UFF32>,<UFF52>);/
+   (<UFF33>,<UFF53>);(<UFF34>,<UFF54>);(<UFF35>,<UFF55>);(<UFF36>,<UFF56>);/
+   (<UFF37>,<UFF57>);(<UFF38>,<UFF58>);(<UFF39>,<UFF59>);(<UFF3A>,<UFF5A>);/
+   (<U00010400>,<U00010428>);(<U00010401>,<U00010429>);/
+   (<U00010402>,<U0001042A>);(<U00010403>,<U0001042B>);/
+   (<U00010404>,<U0001042C>);(<U00010405>,<U0001042D>);/
+   (<U00010406>,<U0001042E>);(<U00010407>,<U0001042F>);/
+   (<U00010408>,<U00010430>);(<U00010409>,<U00010431>);/
+   (<U0001040A>,<U00010432>);(<U0001040B>,<U00010433>);/
+   (<U0001040C>,<U00010434>);(<U0001040D>,<U00010435>);/
+   (<U0001040E>,<U00010436>);(<U0001040F>,<U00010437>);/
+   (<U00010410>,<U00010438>);(<U00010411>,<U00010439>);/
+   (<U00010412>,<U0001043A>);(<U00010413>,<U0001043B>);/
+   (<U00010414>,<U0001043C>);(<U00010415>,<U0001043D>);/
+   (<U00010416>,<U0001043E>);(<U00010417>,<U0001043F>);/
+   (<U00010418>,<U00010440>);(<U00010419>,<U00010441>);/
+   (<U0001041A>,<U00010442>);(<U0001041B>,<U00010443>);/
+   (<U0001041C>,<U00010444>);(<U0001041D>,<U00010445>);/
+   (<U0001041E>,<U00010446>);(<U0001041F>,<U00010447>);/
+   (<U00010420>,<U00010448>);(<U00010421>,<U00010449>);/
+   (<U00010422>,<U0001044A>);(<U00010423>,<U0001044B>);/
+   (<U00010424>,<U0001044C>);(<U00010425>,<U0001044D>);/
+   (<U00010426>,<U0001044E>);(<U00010427>,<U0001044F>);/
+   (<U000118A0>,<U000118C0>);(<U000118A1>,<U000118C1>);/
+   (<U000118A2>,<U000118C2>);(<U000118A3>,<U000118C3>);/
+   (<U000118A4>,<U000118C4>);(<U000118A5>,<U000118C5>);/
+   (<U000118A6>,<U000118C6>);(<U000118A7>,<U000118C7>);/
+   (<U000118A8>,<U000118C8>);(<U000118A9>,<U000118C9>);/
+   (<U000118AA>,<U000118CA>);(<U000118AB>,<U000118CB>);/
+   (<U000118AC>,<U000118CC>);(<U000118AD>,<U000118CD>);/
+   (<U000118AE>,<U000118CE>);(<U000118AF>,<U000118CF>);/
+   (<U000118B0>,<U000118D0>);(<U000118B1>,<U000118D1>);/
+   (<U000118B2>,<U000118D2>);(<U000118B3>,<U000118D3>);/
+   (<U000118B4>,<U000118D4>);(<U000118B5>,<U000118D5>);/
+   (<U000118B6>,<U000118D6>);(<U000118B7>,<U000118D7>);/
+   (<U000118B8>,<U000118D8>);(<U000118B9>,<U000118D9>);/
+   (<U000118BA>,<U000118DA>);(<U000118BB>,<U000118DB>);/
+   (<U000118BC>,<U000118DC>);(<U000118BD>,<U000118DD>);/
+   (<U000118BE>,<U000118DE>);(<U000118BF>,<U000118DF>)
 map "totitle"; /
    (<U0061>,<U0041>);(<U0062>,<U0042>);(<U0063>,<U0043>);(<U0064>,<U0044>);/
    (<U0065>,<U0045>);(<U0066>,<U0046>);(<U0067>,<U0047>);(<U0068>,<U0048>);/
@@ -1472,15 +1774,19 @@ map "totitle"; /
    (<U0217>,<U0216>);(<U0219>,<U0218>);(<U021B>,<U021A>);(<U021D>,<U021C>);/
    (<U021F>,<U021E>);(<U0223>,<U0222>);(<U0225>,<U0224>);(<U0227>,<U0226>);/
    (<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);(<U022F>,<U022E>);/
-   (<U0231>,<U0230>);(<U0233>,<U0232>);(<U023C>,<U023B>);(<U0242>,<U0241>);/
-   (<U0247>,<U0246>);(<U0249>,<U0248>);(<U024B>,<U024A>);(<U024D>,<U024C>);/
-   (<U024F>,<U024E>);(<U0253>,<U0181>);(<U0254>,<U0186>);(<U0256>,<U0189>);/
-   (<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);(<U0260>,<U0193>);/
-   (<U0263>,<U0194>);(<U0268>,<U0197>);(<U0269>,<U0196>);(<U026B>,<U2C62>);/
-   (<U026F>,<U019C>);(<U0272>,<U019D>);(<U0275>,<U019F>);(<U027D>,<U2C64>);/
-   (<U0280>,<U01A6>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);(<U0289>,<U0244>);/
+   (<U0231>,<U0230>);(<U0233>,<U0232>);(<U023C>,<U023B>);(<U023F>,<U2C7E>);/
+   (<U0240>,<U2C7F>);(<U0242>,<U0241>);(<U0247>,<U0246>);(<U0249>,<U0248>);/
+   (<U024B>,<U024A>);(<U024D>,<U024C>);(<U024F>,<U024E>);(<U0250>,<U2C6F>);/
+   (<U0251>,<U2C6D>);(<U0252>,<U2C70>);(<U0253>,<U0181>);(<U0254>,<U0186>);/
+   (<U0256>,<U0189>);(<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);/
+   (<U025C>,<UA7AB>);(<U0260>,<U0193>);(<U0261>,<UA7AC>);(<U0263>,<U0194>);/
+   (<U0265>,<UA78D>);(<U0266>,<UA7AA>);(<U0268>,<U0197>);(<U0269>,<U0196>);/
+   (<U026B>,<U2C62>);(<U026C>,<UA7AD>);(<U026F>,<U019C>);(<U0271>,<U2C6E>);/
+   (<U0272>,<U019D>);(<U0275>,<U019F>);(<U027D>,<U2C64>);(<U0280>,<U01A6>);/
+   (<U0283>,<U01A9>);(<U0287>,<UA7B1>);(<U0288>,<U01AE>);(<U0289>,<U0244>);/
    (<U028A>,<U01B1>);(<U028B>,<U01B2>);(<U028C>,<U0245>);(<U0292>,<U01B7>);/
-   (<U0345>,<U0399>);(<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
+   (<U029E>,<UA7B0>);(<U0345>,<U0399>);(<U0371>,<U0370>);(<U0373>,<U0372>);/
+   (<U0377>,<U0376>);(<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
    (<U03AC>,<U0386>);(<U03AD>,<U0388>);(<U03AE>,<U0389>);(<U03AF>,<U038A>);/
    (<U03B1>,<U0391>);(<U03B2>,<U0392>);(<U03B3>,<U0393>);(<U03B4>,<U0394>);/
    (<U03B5>,<U0395>);(<U03B6>,<U0396>);(<U03B7>,<U0397>);(<U03B8>,<U0398>);/
@@ -1490,47 +1796,49 @@ map "totitle"; /
    (<U03C5>,<U03A5>);(<U03C6>,<U03A6>);(<U03C7>,<U03A7>);(<U03C8>,<U03A8>);/
    (<U03C9>,<U03A9>);(<U03CA>,<U03AA>);(<U03CB>,<U03AB>);(<U03CC>,<U038C>);/
    (<U03CD>,<U038E>);(<U03CE>,<U038F>);(<U03D0>,<U0392>);(<U03D1>,<U0398>);/
-   (<U03D5>,<U03A6>);(<U03D6>,<U03A0>);(<U03D9>,<U03D8>);(<U03DB>,<U03DA>);/
-   (<U03DD>,<U03DC>);(<U03DF>,<U03DE>);(<U03E1>,<U03E0>);(<U03E3>,<U03E2>);/
-   (<U03E5>,<U03E4>);(<U03E7>,<U03E6>);(<U03E9>,<U03E8>);(<U03EB>,<U03EA>);/
-   (<U03ED>,<U03EC>);(<U03EF>,<U03EE>);(<U03F0>,<U039A>);(<U03F1>,<U03A1>);/
-   (<U03F2>,<U03F9>);(<U03F5>,<U0395>);(<U03F8>,<U03F7>);(<U03FB>,<U03FA>);/
-   (<U0430>,<U0410>);(<U0431>,<U0411>);(<U0432>,<U0412>);(<U0433>,<U0413>);/
-   (<U0434>,<U0414>);(<U0435>,<U0415>);(<U0436>,<U0416>);(<U0437>,<U0417>);/
-   (<U0438>,<U0418>);(<U0439>,<U0419>);(<U043A>,<U041A>);(<U043B>,<U041B>);/
-   (<U043C>,<U041C>);(<U043D>,<U041D>);(<U043E>,<U041E>);(<U043F>,<U041F>);/
-   (<U0440>,<U0420>);(<U0441>,<U0421>);(<U0442>,<U0422>);(<U0443>,<U0423>);/
-   (<U0444>,<U0424>);(<U0445>,<U0425>);(<U0446>,<U0426>);(<U0447>,<U0427>);/
-   (<U0448>,<U0428>);(<U0449>,<U0429>);(<U044A>,<U042A>);(<U044B>,<U042B>);/
-   (<U044C>,<U042C>);(<U044D>,<U042D>);(<U044E>,<U042E>);(<U044F>,<U042F>);/
-   (<U0450>,<U0400>);(<U0451>,<U0401>);(<U0452>,<U0402>);(<U0453>,<U0403>);/
-   (<U0454>,<U0404>);(<U0455>,<U0405>);(<U0456>,<U0406>);(<U0457>,<U0407>);/
-   (<U0458>,<U0408>);(<U0459>,<U0409>);(<U045A>,<U040A>);(<U045B>,<U040B>);/
-   (<U045C>,<U040C>);(<U045D>,<U040D>);(<U045E>,<U040E>);(<U045F>,<U040F>);/
-   (<U0461>,<U0460>);(<U0463>,<U0462>);(<U0465>,<U0464>);(<U0467>,<U0466>);/
-   (<U0469>,<U0468>);(<U046B>,<U046A>);(<U046D>,<U046C>);(<U046F>,<U046E>);/
-   (<U0471>,<U0470>);(<U0473>,<U0472>);(<U0475>,<U0474>);(<U0477>,<U0476>);/
-   (<U0479>,<U0478>);(<U047B>,<U047A>);(<U047D>,<U047C>);(<U047F>,<U047E>);/
-   (<U0481>,<U0480>);(<U048B>,<U048A>);(<U048D>,<U048C>);(<U048F>,<U048E>);/
-   (<U0491>,<U0490>);(<U0493>,<U0492>);(<U0495>,<U0494>);(<U0497>,<U0496>);/
-   (<U0499>,<U0498>);(<U049B>,<U049A>);(<U049D>,<U049C>);(<U049F>,<U049E>);/
-   (<U04A1>,<U04A0>);(<U04A3>,<U04A2>);(<U04A5>,<U04A4>);(<U04A7>,<U04A6>);/
-   (<U04A9>,<U04A8>);(<U04AB>,<U04AA>);(<U04AD>,<U04AC>);(<U04AF>,<U04AE>);/
-   (<U04B1>,<U04B0>);(<U04B3>,<U04B2>);(<U04B5>,<U04B4>);(<U04B7>,<U04B6>);/
-   (<U04B9>,<U04B8>);(<U04BB>,<U04BA>);(<U04BD>,<U04BC>);(<U04BF>,<U04BE>);/
-   (<U04C2>,<U04C1>);(<U04C4>,<U04C3>);(<U04C6>,<U04C5>);(<U04C8>,<U04C7>);/
-   (<U04CA>,<U04C9>);(<U04CC>,<U04CB>);(<U04CE>,<U04CD>);(<U04CF>,<U04C0>);/
-   (<U04D1>,<U04D0>);(<U04D3>,<U04D2>);(<U04D5>,<U04D4>);(<U04D7>,<U04D6>);/
-   (<U04D9>,<U04D8>);(<U04DB>,<U04DA>);(<U04DD>,<U04DC>);(<U04DF>,<U04DE>);/
-   (<U04E1>,<U04E0>);(<U04E3>,<U04E2>);(<U04E5>,<U04E4>);(<U04E7>,<U04E6>);/
-   (<U04E9>,<U04E8>);(<U04EB>,<U04EA>);(<U04ED>,<U04EC>);(<U04EF>,<U04EE>);/
-   (<U04F1>,<U04F0>);(<U04F3>,<U04F2>);(<U04F5>,<U04F4>);(<U04F7>,<U04F6>);/
-   (<U04F9>,<U04F8>);(<U04FB>,<U04FA>);(<U04FD>,<U04FC>);(<U04FF>,<U04FE>);/
-   (<U0501>,<U0500>);(<U0503>,<U0502>);(<U0505>,<U0504>);(<U0507>,<U0506>);/
-   (<U0509>,<U0508>);(<U050B>,<U050A>);(<U050D>,<U050C>);(<U050F>,<U050E>);/
-   (<U0511>,<U0510>);(<U0513>,<U0512>);(<U0515>,<U0514>);(<U0517>,<U0516>);/
-   (<U0519>,<U0518>);(<U051B>,<U051A>);(<U051D>,<U051C>);(<U051F>,<U051E>);/
-   (<U0521>,<U0520>);(<U0523>,<U0522>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
+   (<U03D5>,<U03A6>);(<U03D6>,<U03A0>);(<U03D7>,<U03CF>);(<U03D9>,<U03D8>);/
+   (<U03DB>,<U03DA>);(<U03DD>,<U03DC>);(<U03DF>,<U03DE>);(<U03E1>,<U03E0>);/
+   (<U03E3>,<U03E2>);(<U03E5>,<U03E4>);(<U03E7>,<U03E6>);(<U03E9>,<U03E8>);/
+   (<U03EB>,<U03EA>);(<U03ED>,<U03EC>);(<U03EF>,<U03EE>);(<U03F0>,<U039A>);/
+   (<U03F1>,<U03A1>);(<U03F2>,<U03F9>);(<U03F3>,<U037F>);(<U03F5>,<U0395>);/
+   (<U03F8>,<U03F7>);(<U03FB>,<U03FA>);(<U0430>,<U0410>);(<U0431>,<U0411>);/
+   (<U0432>,<U0412>);(<U0433>,<U0413>);(<U0434>,<U0414>);(<U0435>,<U0415>);/
+   (<U0436>,<U0416>);(<U0437>,<U0417>);(<U0438>,<U0418>);(<U0439>,<U0419>);/
+   (<U043A>,<U041A>);(<U043B>,<U041B>);(<U043C>,<U041C>);(<U043D>,<U041D>);/
+   (<U043E>,<U041E>);(<U043F>,<U041F>);(<U0440>,<U0420>);(<U0441>,<U0421>);/
+   (<U0442>,<U0422>);(<U0443>,<U0423>);(<U0444>,<U0424>);(<U0445>,<U0425>);/
+   (<U0446>,<U0426>);(<U0447>,<U0427>);(<U0448>,<U0428>);(<U0449>,<U0429>);/
+   (<U044A>,<U042A>);(<U044B>,<U042B>);(<U044C>,<U042C>);(<U044D>,<U042D>);/
+   (<U044E>,<U042E>);(<U044F>,<U042F>);(<U0450>,<U0400>);(<U0451>,<U0401>);/
+   (<U0452>,<U0402>);(<U0453>,<U0403>);(<U0454>,<U0404>);(<U0455>,<U0405>);/
+   (<U0456>,<U0406>);(<U0457>,<U0407>);(<U0458>,<U0408>);(<U0459>,<U0409>);/
+   (<U045A>,<U040A>);(<U045B>,<U040B>);(<U045C>,<U040C>);(<U045D>,<U040D>);/
+   (<U045E>,<U040E>);(<U045F>,<U040F>);(<U0461>,<U0460>);(<U0463>,<U0462>);/
+   (<U0465>,<U0464>);(<U0467>,<U0466>);(<U0469>,<U0468>);(<U046B>,<U046A>);/
+   (<U046D>,<U046C>);(<U046F>,<U046E>);(<U0471>,<U0470>);(<U0473>,<U0472>);/
+   (<U0475>,<U0474>);(<U0477>,<U0476>);(<U0479>,<U0478>);(<U047B>,<U047A>);/
+   (<U047D>,<U047C>);(<U047F>,<U047E>);(<U0481>,<U0480>);(<U048B>,<U048A>);/
+   (<U048D>,<U048C>);(<U048F>,<U048E>);(<U0491>,<U0490>);(<U0493>,<U0492>);/
+   (<U0495>,<U0494>);(<U0497>,<U0496>);(<U0499>,<U0498>);(<U049B>,<U049A>);/
+   (<U049D>,<U049C>);(<U049F>,<U049E>);(<U04A1>,<U04A0>);(<U04A3>,<U04A2>);/
+   (<U04A5>,<U04A4>);(<U04A7>,<U04A6>);(<U04A9>,<U04A8>);(<U04AB>,<U04AA>);/
+   (<U04AD>,<U04AC>);(<U04AF>,<U04AE>);(<U04B1>,<U04B0>);(<U04B3>,<U04B2>);/
+   (<U04B5>,<U04B4>);(<U04B7>,<U04B6>);(<U04B9>,<U04B8>);(<U04BB>,<U04BA>);/
+   (<U04BD>,<U04BC>);(<U04BF>,<U04BE>);(<U04C2>,<U04C1>);(<U04C4>,<U04C3>);/
+   (<U04C6>,<U04C5>);(<U04C8>,<U04C7>);(<U04CA>,<U04C9>);(<U04CC>,<U04CB>);/
+   (<U04CE>,<U04CD>);(<U04CF>,<U04C0>);(<U04D1>,<U04D0>);(<U04D3>,<U04D2>);/
+   (<U04D5>,<U04D4>);(<U04D7>,<U04D6>);(<U04D9>,<U04D8>);(<U04DB>,<U04DA>);/
+   (<U04DD>,<U04DC>);(<U04DF>,<U04DE>);(<U04E1>,<U04E0>);(<U04E3>,<U04E2>);/
+   (<U04E5>,<U04E4>);(<U04E7>,<U04E6>);(<U04E9>,<U04E8>);(<U04EB>,<U04EA>);/
+   (<U04ED>,<U04EC>);(<U04EF>,<U04EE>);(<U04F1>,<U04F0>);(<U04F3>,<U04F2>);/
+   (<U04F5>,<U04F4>);(<U04F7>,<U04F6>);(<U04F9>,<U04F8>);(<U04FB>,<U04FA>);/
+   (<U04FD>,<U04FC>);(<U04FF>,<U04FE>);(<U0501>,<U0500>);(<U0503>,<U0502>);/
+   (<U0505>,<U0504>);(<U0507>,<U0506>);(<U0509>,<U0508>);(<U050B>,<U050A>);/
+   (<U050D>,<U050C>);(<U050F>,<U050E>);(<U0511>,<U0510>);(<U0513>,<U0512>);/
+   (<U0515>,<U0514>);(<U0517>,<U0516>);(<U0519>,<U0518>);(<U051B>,<U051A>);/
+   (<U051D>,<U051C>);(<U051F>,<U051E>);(<U0521>,<U0520>);(<U0523>,<U0522>);/
+   (<U0525>,<U0524>);(<U0527>,<U0526>);(<U0529>,<U0528>);(<U052B>,<U052A>);/
+   (<U052D>,<U052C>);(<U052F>,<U052E>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
    (<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
    (<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
    (<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
@@ -1540,37 +1848,38 @@ map "totitle"; /
    (<U057B>,<U054B>);(<U057C>,<U054C>);(<U057D>,<U054D>);(<U057E>,<U054E>);/
    (<U057F>,<U054F>);(<U0580>,<U0550>);(<U0581>,<U0551>);(<U0582>,<U0552>);/
    (<U0583>,<U0553>);(<U0584>,<U0554>);(<U0585>,<U0555>);(<U0586>,<U0556>);/
-   (<U1D7D>,<U2C63>);(<U1E01>,<U1E00>);(<U1E03>,<U1E02>);(<U1E05>,<U1E04>);/
-   (<U1E07>,<U1E06>);(<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);(<U1E0D>,<U1E0C>);/
-   (<U1E0F>,<U1E0E>);(<U1E11>,<U1E10>);(<U1E13>,<U1E12>);(<U1E15>,<U1E14>);/
-   (<U1E17>,<U1E16>);(<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);(<U1E1D>,<U1E1C>);/
-   (<U1E1F>,<U1E1E>);(<U1E21>,<U1E20>);(<U1E23>,<U1E22>);(<U1E25>,<U1E24>);/
-   (<U1E27>,<U1E26>);(<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);(<U1E2D>,<U1E2C>);/
-   (<U1E2F>,<U1E2E>);(<U1E31>,<U1E30>);(<U1E33>,<U1E32>);(<U1E35>,<U1E34>);/
-   (<U1E37>,<U1E36>);(<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);(<U1E3D>,<U1E3C>);/
-   (<U1E3F>,<U1E3E>);(<U1E41>,<U1E40>);(<U1E43>,<U1E42>);(<U1E45>,<U1E44>);/
-   (<U1E47>,<U1E46>);(<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);(<U1E4D>,<U1E4C>);/
-   (<U1E4F>,<U1E4E>);(<U1E51>,<U1E50>);(<U1E53>,<U1E52>);(<U1E55>,<U1E54>);/
-   (<U1E57>,<U1E56>);(<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);(<U1E5D>,<U1E5C>);/
-   (<U1E5F>,<U1E5E>);(<U1E61>,<U1E60>);(<U1E63>,<U1E62>);(<U1E65>,<U1E64>);/
-   (<U1E67>,<U1E66>);(<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);(<U1E6D>,<U1E6C>);/
-   (<U1E6F>,<U1E6E>);(<U1E71>,<U1E70>);(<U1E73>,<U1E72>);(<U1E75>,<U1E74>);/
-   (<U1E77>,<U1E76>);(<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);(<U1E7D>,<U1E7C>);/
-   (<U1E7F>,<U1E7E>);(<U1E81>,<U1E80>);(<U1E83>,<U1E82>);(<U1E85>,<U1E84>);/
-   (<U1E87>,<U1E86>);(<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);(<U1E8D>,<U1E8C>);/
-   (<U1E8F>,<U1E8E>);(<U1E91>,<U1E90>);(<U1E93>,<U1E92>);(<U1E95>,<U1E94>);/
-   (<U1E9B>,<U1E60>);(<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);(<U1EA5>,<U1EA4>);/
-   (<U1EA7>,<U1EA6>);(<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);(<U1EAD>,<U1EAC>);/
-   (<U1EAF>,<U1EAE>);(<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);(<U1EB5>,<U1EB4>);/
-   (<U1EB7>,<U1EB6>);(<U1EB9>,<U1EB8>);(<U1EBB>,<U1EBA>);(<U1EBD>,<U1EBC>);/
-   (<U1EBF>,<U1EBE>);(<U1EC1>,<U1EC0>);(<U1EC3>,<U1EC2>);(<U1EC5>,<U1EC4>);/
-   (<U1EC7>,<U1EC6>);(<U1EC9>,<U1EC8>);(<U1ECB>,<U1ECA>);(<U1ECD>,<U1ECC>);/
-   (<U1ECF>,<U1ECE>);(<U1ED1>,<U1ED0>);(<U1ED3>,<U1ED2>);(<U1ED5>,<U1ED4>);/
-   (<U1ED7>,<U1ED6>);(<U1ED9>,<U1ED8>);(<U1EDB>,<U1EDA>);(<U1EDD>,<U1EDC>);/
-   (<U1EDF>,<U1EDE>);(<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);(<U1EE5>,<U1EE4>);/
-   (<U1EE7>,<U1EE6>);(<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);(<U1EED>,<U1EEC>);/
-   (<U1EEF>,<U1EEE>);(<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);(<U1EF5>,<U1EF4>);/
-   (<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
+   (<U1D79>,<UA77D>);(<U1D7D>,<U2C63>);(<U1E01>,<U1E00>);(<U1E03>,<U1E02>);/
+   (<U1E05>,<U1E04>);(<U1E07>,<U1E06>);(<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);/
+   (<U1E0D>,<U1E0C>);(<U1E0F>,<U1E0E>);(<U1E11>,<U1E10>);(<U1E13>,<U1E12>);/
+   (<U1E15>,<U1E14>);(<U1E17>,<U1E16>);(<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);/
+   (<U1E1D>,<U1E1C>);(<U1E1F>,<U1E1E>);(<U1E21>,<U1E20>);(<U1E23>,<U1E22>);/
+   (<U1E25>,<U1E24>);(<U1E27>,<U1E26>);(<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);/
+   (<U1E2D>,<U1E2C>);(<U1E2F>,<U1E2E>);(<U1E31>,<U1E30>);(<U1E33>,<U1E32>);/
+   (<U1E35>,<U1E34>);(<U1E37>,<U1E36>);(<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);/
+   (<U1E3D>,<U1E3C>);(<U1E3F>,<U1E3E>);(<U1E41>,<U1E40>);(<U1E43>,<U1E42>);/
+   (<U1E45>,<U1E44>);(<U1E47>,<U1E46>);(<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);/
+   (<U1E4D>,<U1E4C>);(<U1E4F>,<U1E4E>);(<U1E51>,<U1E50>);(<U1E53>,<U1E52>);/
+   (<U1E55>,<U1E54>);(<U1E57>,<U1E56>);(<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);/
+   (<U1E5D>,<U1E5C>);(<U1E5F>,<U1E5E>);(<U1E61>,<U1E60>);(<U1E63>,<U1E62>);/
+   (<U1E65>,<U1E64>);(<U1E67>,<U1E66>);(<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);/
+   (<U1E6D>,<U1E6C>);(<U1E6F>,<U1E6E>);(<U1E71>,<U1E70>);(<U1E73>,<U1E72>);/
+   (<U1E75>,<U1E74>);(<U1E77>,<U1E76>);(<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);/
+   (<U1E7D>,<U1E7C>);(<U1E7F>,<U1E7E>);(<U1E81>,<U1E80>);(<U1E83>,<U1E82>);/
+   (<U1E85>,<U1E84>);(<U1E87>,<U1E86>);(<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);/
+   (<U1E8D>,<U1E8C>);(<U1E8F>,<U1E8E>);(<U1E91>,<U1E90>);(<U1E93>,<U1E92>);/
+   (<U1E95>,<U1E94>);(<U1E9B>,<U1E60>);(<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);/
+   (<U1EA5>,<U1EA4>);(<U1EA7>,<U1EA6>);(<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);/
+   (<U1EAD>,<U1EAC>);(<U1EAF>,<U1EAE>);(<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);/
+   (<U1EB5>,<U1EB4>);(<U1EB7>,<U1EB6>);(<U1EB9>,<U1EB8>);(<U1EBB>,<U1EBA>);/
+   (<U1EBD>,<U1EBC>);(<U1EBF>,<U1EBE>);(<U1EC1>,<U1EC0>);(<U1EC3>,<U1EC2>);/
+   (<U1EC5>,<U1EC4>);(<U1EC7>,<U1EC6>);(<U1EC9>,<U1EC8>);(<U1ECB>,<U1ECA>);/
+   (<U1ECD>,<U1ECC>);(<U1ECF>,<U1ECE>);(<U1ED1>,<U1ED0>);(<U1ED3>,<U1ED2>);/
+   (<U1ED5>,<U1ED4>);(<U1ED7>,<U1ED6>);(<U1ED9>,<U1ED8>);(<U1EDB>,<U1EDA>);/
+   (<U1EDD>,<U1EDC>);(<U1EDF>,<U1EDE>);(<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);/
+   (<U1EE5>,<U1EE4>);(<U1EE7>,<U1EE6>);(<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);/
+   (<U1EED>,<U1EEC>);(<U1EEF>,<U1EEE>);(<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);/
+   (<U1EF5>,<U1EF4>);(<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1EFB>,<U1EFA>);/
+   (<U1EFD>,<U1EFC>);(<U1EFF>,<U1EFE>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
    (<U1F02>,<U1F0A>);(<U1F03>,<U1F0B>);(<U1F04>,<U1F0C>);(<U1F05>,<U1F0D>);/
    (<U1F06>,<U1F0E>);(<U1F07>,<U1F0F>);(<U1F10>,<U1F18>);(<U1F11>,<U1F19>);/
    (<U1F12>,<U1F1A>);(<U1F13>,<U1F1B>);(<U1F14>,<U1F1C>);(<U1F15>,<U1F1D>);/
@@ -1619,19 +1928,20 @@ map "totitle"; /
    (<U2C59>,<U2C29>);(<U2C5A>,<U2C2A>);(<U2C5B>,<U2C2B>);(<U2C5C>,<U2C2C>);/
    (<U2C5D>,<U2C2D>);(<U2C5E>,<U2C2E>);(<U2C61>,<U2C60>);(<U2C65>,<U023A>);/
    (<U2C66>,<U023E>);(<U2C68>,<U2C67>);(<U2C6A>,<U2C69>);(<U2C6C>,<U2C6B>);/
-   (<U2C76>,<U2C75>);(<U2C81>,<U2C80>);(<U2C83>,<U2C82>);(<U2C85>,<U2C84>);/
-   (<U2C87>,<U2C86>);(<U2C89>,<U2C88>);(<U2C8B>,<U2C8A>);(<U2C8D>,<U2C8C>);/
-   (<U2C8F>,<U2C8E>);(<U2C91>,<U2C90>);(<U2C93>,<U2C92>);(<U2C95>,<U2C94>);/
-   (<U2C97>,<U2C96>);(<U2C99>,<U2C98>);(<U2C9B>,<U2C9A>);(<U2C9D>,<U2C9C>);/
-   (<U2C9F>,<U2C9E>);(<U2CA1>,<U2CA0>);(<U2CA3>,<U2CA2>);(<U2CA5>,<U2CA4>);/
-   (<U2CA7>,<U2CA6>);(<U2CA9>,<U2CA8>);(<U2CAB>,<U2CAA>);(<U2CAD>,<U2CAC>);/
-   (<U2CAF>,<U2CAE>);(<U2CB1>,<U2CB0>);(<U2CB3>,<U2CB2>);(<U2CB5>,<U2CB4>);/
-   (<U2CB7>,<U2CB6>);(<U2CB9>,<U2CB8>);(<U2CBB>,<U2CBA>);(<U2CBD>,<U2CBC>);/
-   (<U2CBF>,<U2CBE>);(<U2CC1>,<U2CC0>);(<U2CC3>,<U2CC2>);(<U2CC5>,<U2CC4>);/
-   (<U2CC7>,<U2CC6>);(<U2CC9>,<U2CC8>);(<U2CCB>,<U2CCA>);(<U2CCD>,<U2CCC>);/
-   (<U2CCF>,<U2CCE>);(<U2CD1>,<U2CD0>);(<U2CD3>,<U2CD2>);(<U2CD5>,<U2CD4>);/
-   (<U2CD7>,<U2CD6>);(<U2CD9>,<U2CD8>);(<U2CDB>,<U2CDA>);(<U2CDD>,<U2CDC>);/
-   (<U2CDF>,<U2CDE>);(<U2CE1>,<U2CE0>);(<U2CE3>,<U2CE2>);(<U2D00>,<U10A0>);/
+   (<U2C73>,<U2C72>);(<U2C76>,<U2C75>);(<U2C81>,<U2C80>);(<U2C83>,<U2C82>);/
+   (<U2C85>,<U2C84>);(<U2C87>,<U2C86>);(<U2C89>,<U2C88>);(<U2C8B>,<U2C8A>);/
+   (<U2C8D>,<U2C8C>);(<U2C8F>,<U2C8E>);(<U2C91>,<U2C90>);(<U2C93>,<U2C92>);/
+   (<U2C95>,<U2C94>);(<U2C97>,<U2C96>);(<U2C99>,<U2C98>);(<U2C9B>,<U2C9A>);/
+   (<U2C9D>,<U2C9C>);(<U2C9F>,<U2C9E>);(<U2CA1>,<U2CA0>);(<U2CA3>,<U2CA2>);/
+   (<U2CA5>,<U2CA4>);(<U2CA7>,<U2CA6>);(<U2CA9>,<U2CA8>);(<U2CAB>,<U2CAA>);/
+   (<U2CAD>,<U2CAC>);(<U2CAF>,<U2CAE>);(<U2CB1>,<U2CB0>);(<U2CB3>,<U2CB2>);/
+   (<U2CB5>,<U2CB4>);(<U2CB7>,<U2CB6>);(<U2CB9>,<U2CB8>);(<U2CBB>,<U2CBA>);/
+   (<U2CBD>,<U2CBC>);(<U2CBF>,<U2CBE>);(<U2CC1>,<U2CC0>);(<U2CC3>,<U2CC2>);/
+   (<U2CC5>,<U2CC4>);(<U2CC7>,<U2CC6>);(<U2CC9>,<U2CC8>);(<U2CCB>,<U2CCA>);/
+   (<U2CCD>,<U2CCC>);(<U2CCF>,<U2CCE>);(<U2CD1>,<U2CD0>);(<U2CD3>,<U2CD2>);/
+   (<U2CD5>,<U2CD4>);(<U2CD7>,<U2CD6>);(<U2CD9>,<U2CD8>);(<U2CDB>,<U2CDA>);/
+   (<U2CDD>,<U2CDC>);(<U2CDF>,<U2CDE>);(<U2CE1>,<U2CE0>);(<U2CE3>,<U2CE2>);/
+   (<U2CEC>,<U2CEB>);(<U2CEE>,<U2CED>);(<U2CF3>,<U2CF2>);(<U2D00>,<U10A0>);/
    (<U2D01>,<U10A1>);(<U2D02>,<U10A2>);(<U2D03>,<U10A3>);(<U2D04>,<U10A4>);/
    (<U2D05>,<U10A5>);(<U2D06>,<U10A6>);(<U2D07>,<U10A7>);(<U2D08>,<U10A8>);/
    (<U2D09>,<U10A9>);(<U2D0A>,<U10AA>);(<U2D0B>,<U10AB>);(<U2D0C>,<U10AC>);/
@@ -1641,13 +1951,37 @@ map "totitle"; /
    (<U2D19>,<U10B9>);(<U2D1A>,<U10BA>);(<U2D1B>,<U10BB>);(<U2D1C>,<U10BC>);/
    (<U2D1D>,<U10BD>);(<U2D1E>,<U10BE>);(<U2D1F>,<U10BF>);(<U2D20>,<U10C0>);/
    (<U2D21>,<U10C1>);(<U2D22>,<U10C2>);(<U2D23>,<U10C3>);(<U2D24>,<U10C4>);/
-   (<U2D25>,<U10C5>);(<UFF41>,<UFF21>);(<UFF42>,<UFF22>);(<UFF43>,<UFF23>);/
-   (<UFF44>,<UFF24>);(<UFF45>,<UFF25>);(<UFF46>,<UFF26>);(<UFF47>,<UFF27>);/
-   (<UFF48>,<UFF28>);(<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);(<UFF4B>,<UFF2B>);/
-   (<UFF4C>,<UFF2C>);(<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);(<UFF4F>,<UFF2F>);/
-   (<UFF50>,<UFF30>);(<UFF51>,<UFF31>);(<UFF52>,<UFF32>);(<UFF53>,<UFF33>);/
-   (<UFF54>,<UFF34>);(<UFF55>,<UFF35>);(<UFF56>,<UFF36>);(<UFF57>,<UFF37>);/
-   (<UFF58>,<UFF38>);(<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>);/
+   (<U2D25>,<U10C5>);(<U2D27>,<U10C7>);(<U2D2D>,<U10CD>);(<UA641>,<UA640>);/
+   (<UA643>,<UA642>);(<UA645>,<UA644>);(<UA647>,<UA646>);(<UA649>,<UA648>);/
+   (<UA64B>,<UA64A>);(<UA64D>,<UA64C>);(<UA64F>,<UA64E>);(<UA651>,<UA650>);/
+   (<UA653>,<UA652>);(<UA655>,<UA654>);(<UA657>,<UA656>);(<UA659>,<UA658>);/
+   (<UA65B>,<UA65A>);(<UA65D>,<UA65C>);(<UA65F>,<UA65E>);(<UA661>,<UA660>);/
+   (<UA663>,<UA662>);(<UA665>,<UA664>);(<UA667>,<UA666>);(<UA669>,<UA668>);/
+   (<UA66B>,<UA66A>);(<UA66D>,<UA66C>);(<UA681>,<UA680>);(<UA683>,<UA682>);/
+   (<UA685>,<UA684>);(<UA687>,<UA686>);(<UA689>,<UA688>);(<UA68B>,<UA68A>);/
+   (<UA68D>,<UA68C>);(<UA68F>,<UA68E>);(<UA691>,<UA690>);(<UA693>,<UA692>);/
+   (<UA695>,<UA694>);(<UA697>,<UA696>);(<UA699>,<UA698>);(<UA69B>,<UA69A>);/
+   (<UA723>,<UA722>);(<UA725>,<UA724>);(<UA727>,<UA726>);(<UA729>,<UA728>);/
+   (<UA72B>,<UA72A>);(<UA72D>,<UA72C>);(<UA72F>,<UA72E>);(<UA733>,<UA732>);/
+   (<UA735>,<UA734>);(<UA737>,<UA736>);(<UA739>,<UA738>);(<UA73B>,<UA73A>);/
+   (<UA73D>,<UA73C>);(<UA73F>,<UA73E>);(<UA741>,<UA740>);(<UA743>,<UA742>);/
+   (<UA745>,<UA744>);(<UA747>,<UA746>);(<UA749>,<UA748>);(<UA74B>,<UA74A>);/
+   (<UA74D>,<UA74C>);(<UA74F>,<UA74E>);(<UA751>,<UA750>);(<UA753>,<UA752>);/
+   (<UA755>,<UA754>);(<UA757>,<UA756>);(<UA759>,<UA758>);(<UA75B>,<UA75A>);/
+   (<UA75D>,<UA75C>);(<UA75F>,<UA75E>);(<UA761>,<UA760>);(<UA763>,<UA762>);/
+   (<UA765>,<UA764>);(<UA767>,<UA766>);(<UA769>,<UA768>);(<UA76B>,<UA76A>);/
+   (<UA76D>,<UA76C>);(<UA76F>,<UA76E>);(<UA77A>,<UA779>);(<UA77C>,<UA77B>);/
+   (<UA77F>,<UA77E>);(<UA781>,<UA780>);(<UA783>,<UA782>);(<UA785>,<UA784>);/
+   (<UA787>,<UA786>);(<UA78C>,<UA78B>);(<UA791>,<UA790>);(<UA793>,<UA792>);/
+   (<UA797>,<UA796>);(<UA799>,<UA798>);(<UA79B>,<UA79A>);(<UA79D>,<UA79C>);/
+   (<UA79F>,<UA79E>);(<UA7A1>,<UA7A0>);(<UA7A3>,<UA7A2>);(<UA7A5>,<UA7A4>);/
+   (<UA7A7>,<UA7A6>);(<UA7A9>,<UA7A8>);(<UFF41>,<UFF21>);(<UFF42>,<UFF22>);/
+   (<UFF43>,<UFF23>);(<UFF44>,<UFF24>);(<UFF45>,<UFF25>);(<UFF46>,<UFF26>);/
+   (<UFF47>,<UFF27>);(<UFF48>,<UFF28>);(<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);/
+   (<UFF4B>,<UFF2B>);(<UFF4C>,<UFF2C>);(<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);/
+   (<UFF4F>,<UFF2F>);(<UFF50>,<UFF30>);(<UFF51>,<UFF31>);(<UFF52>,<UFF32>);/
+   (<UFF53>,<UFF33>);(<UFF54>,<UFF34>);(<UFF55>,<UFF35>);(<UFF56>,<UFF36>);/
+   (<UFF57>,<UFF37>);(<UFF58>,<UFF38>);(<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>);/
    (<U00010428>,<U00010400>);(<U00010429>,<U00010401>);/
    (<U0001042A>,<U00010402>);(<U0001042B>,<U00010403>);/
    (<U0001042C>,<U00010404>);(<U0001042D>,<U00010405>);/
@@ -1667,89 +2001,23 @@ map "totitle"; /
    (<U00010448>,<U00010420>);(<U00010449>,<U00010421>);/
    (<U0001044A>,<U00010422>);(<U0001044B>,<U00010423>);/
    (<U0001044C>,<U00010424>);(<U0001044D>,<U00010425>);/
-   (<U0001044E>,<U00010426>);(<U0001044F>,<U00010427>)
-
-% The "combining" class reflects ISO/IEC 10646-1 annex B.1
-% That is, all combining characters (level 2+3).
-class "combining"; /
-   <U0300>..<U036F>;<U0483>..<U0486>;<U0488>..<U0489>;<U0591>..<U05BD>;/
-   <U05BF>;<U05C1>..<U05C2>;<U05C4>..<U05C5>;<U05C7>;<U0610>..<U061A>;/
-   <U064B>..<U065E>;<U0670>;<U06D6>..<U06DC>;<U06DE>..<U06E4>;/
-   <U06E7>..<U06E8>;<U06EA>..<U06ED>;<U0711>;<U0730>..<U074A>;/
-   <U07A6>..<U07B0>;<U07EB>..<U07F3>;<U0901>..<U0903>;<U093C>;/
-   <U093E>..<U094D>;<U0951>..<U0954>;<U0962>..<U0963>;<U0981>..<U0983>;/
-   <U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;/
-   <U09E2>..<U09E3>;<U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;/
-   <U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;/
-   <U0A75>;<U0A81>..<U0A83>;/
-   <U0ABC>;<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
-   <U0AE2>..<U0AE3>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;/
-   <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B82>;/
-   <U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
-   <U0C01>..<U0C03>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;/
-   <U0C55>..<U0C56>;<U0C62>..<U0C63>;<U0C82>..<U0C83>;<U0CBC>;/
-   <U0CBE>..<U0CC4>;/
-   <U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;/
-   <U0D02>..<U0D03>;<U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
-   <U0D57>;<U0D62>..<U0D63>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;/
-   <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
-   <U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;/
-   <U0EC8>..<U0ECD>;<U0F18>..<U0F19>;<U0F35>;<U0F37>;<U0F39>;/
-   <U0F3E>..<U0F3F>;<U0F71>..<U0F84>;<U0F86>..<U0F87>;<U0F90>..<U0F97>;/
-   <U0F99>..<U0FBC>;<U0FC6>;<U102B>..<U103F>;/
-   <U1056>..<U1059>;<U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;/
-   <U1071>..<U1074>;<U1082>..<U108D>;<U108F>;/
-   <U135F>;<U1712>..<U1714>;<U1732>..<U1734>;/
-   <U1752>..<U1753>;<U1772>..<U1773>;<U17B6>..<U17D3>;<U17DD>;/
-   <U180B>..<U180D>;<U18A9>;<U1920>..<U192B>;<U1930>..<U193B>;/
-   <U19B0>..<U19C0>;<U19C8>..<U19C9>;<U1A17>..<U1A1B>;<U1B00>..<U1B04>;/
-   <U1B34>..<U1B44>;<U1B6B>..<U1B73>;<U1DC0>..<U1DE6>;<U1DFE>..<U1DFF>;/
-   <U20D0>..<U20F0>;<U2DE0>..<U2DFF>;<U302A>..<U302F>;<U3099>..<U309A>;/
-   <UA66F>..<UA672>;<UA67C>;<UA67D>;<UA802>;<UA806>;/
-   <UA80B>;<UA823>..<UA827>;<UFB1E>;<UFE00>..<UFE0F>;<UFE20>..<UFE26>;/
-   <U00010A01>..<U00010A03>;<U00010A05>..<U00010A06>;/
-   <U00010A0C>..<U00010A0F>;<U00010A38>..<U00010A3A>;<U00010A3F>;/
-   <U0001D165>..<U0001D169>;<U0001D16D>..<U0001D172>;/
-   <U0001D17B>..<U0001D182>;<U0001D185>..<U0001D18B>;/
-   <U0001D1AA>..<U0001D1AD>;<U0001D242>..<U0001D244>;/
-   <U000E0100>..<U000E01EF>
-
-% The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2
-% That is, combining characters of level 3.
-class "combining_level3"; /
-   <U0334>..<U0338>;<U034F>;<U0488>..<U0489>;<U05B0>..<U05BD>;<U05BF>;/
-   <U05C1>..<U05C2>;<U05C7>;<U064B>..<U0652>;<U0670>;<U06DE>;<U0711>;/
-   <U07A6>..<U07B0>;<U0901>..<U0903>;<U093C>;<U093E>..<U094D>;/
-   <U0962>..<U0963>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
-   <U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;/
-   <U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;/
-   <U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;<U0375>;<U0A81>..<U0A83>;/
-   <U0ABC>;/
-   <U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AE2>..<U0AE3>;/
-   <U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;<U0B47>..<U0B48>;/
-   <U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B82>;<U0BBE>..<U0BC2>;/
-   <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0C01>..<U0C03>;/
-   <U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
-   <U0C62>..<U0C63>;/
-   <U0C82>..<U0C83>;<U0CBC>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;/
-   <U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;<U0D02>..<U0D03>;/
-   <U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
-   <U0D62>..<U0D63>;/
-   <U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
-   <U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;<U0E47>..<U0E4E>;<U0EB1>;/
-   <U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F3E>..<U0F3F>;/
-   <U0F71>..<U0F81>;<U0F84>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;/
-   <U102B>..<U103F>;<U1056>..<U1059>;<U105E>..<U1060>;<U1062>..<U1064>;/
-   <U1067>..<U106D>;/
-   <U1071>..<U1074>;<U1082>..<U108D>;<U108F>;<U1712>..<U1714>;/
-   <U1732>..<U1734>;<U1752>..<U1753>;<U1772>..<U1773>;<U17B6>..<U17D3>;/
-   <U180B>..<U180D>;<U1920>..<U192B>;<U1930>..<U1938>;<U19B0>..<U19C0>;/
-   <U19C8>..<U19C9>;<U1A19>..<U1A1B>;<U1B00>..<U1B04>;<U1B34>..<U1B44>;/
-   <U20D2>..<U20D3>;<U20D8>..<U20DA>;<U20DD>..<U20E0>;<U20E2>..<U20E6>;/
-   <U20EA>..<U20EB>;<U3099>..<U309A>;<UA802>;<UA806>;<UA80B>;/
-   <UA823>..<UA827>;<UFB1E>;<UFE00>..<UFE0F>;<U00010A01>..<U00010A03>;/
-   <U00010A05>..<U00010A06>;<U00010A0C>;<U00010A0E>;<U00010A39>;<U00010A3F>;/
-   <U0001D167>..<U0001D169>;<U000E0100>..<U000E01EF>
+   (<U0001044E>,<U00010426>);(<U0001044F>,<U00010427>);/
+   (<U000118C0>,<U000118A0>);(<U000118C1>,<U000118A1>);/
+   (<U000118C2>,<U000118A2>);(<U000118C3>,<U000118A3>);/
+   (<U000118C4>,<U000118A4>);(<U000118C5>,<U000118A5>);/
+   (<U000118C6>,<U000118A6>);(<U000118C7>,<U000118A7>);/
+   (<U000118C8>,<U000118A8>);(<U000118C9>,<U000118A9>);/
+   (<U000118CA>,<U000118AA>);(<U000118CB>,<U000118AB>);/
+   (<U000118CC>,<U000118AC>);(<U000118CD>,<U000118AD>);/
+   (<U000118CE>,<U000118AE>);(<U000118CF>,<U000118AF>);/
+   (<U000118D0>,<U000118B0>);(<U000118D1>,<U000118B1>);/
+   (<U000118D2>,<U000118B2>);(<U000118D3>,<U000118B3>);/
+   (<U000118D4>,<U000118B4>);(<U000118D5>,<U000118B5>);/
+   (<U000118D6>,<U000118B6>);(<U000118D7>,<U000118B7>);/
+   (<U000118D8>,<U000118B8>);(<U000118D9>,<U000118B9>);/
+   (<U000118DA>,<U000118BA>);(<U000118DB>,<U000118BB>);/
+   (<U000118DC>,<U000118BC>);(<U000118DD>,<U000118BD>);/
+   (<U000118DE>,<U000118BE>);(<U000118DF>,<U000118BF>)
 
 translit_start
 
diff --git a/scripts/ctype-compatibility.py b/scripts/ctype-compatibility.py
new file mode 100755
index 0000000..553339d
--- /dev/null
+++ b/scripts/ctype-compatibility.py
@@ -0,0 +1,213 @@
+#!/usr/bin/python
+# -*- coding: UTF-8 -i*-
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by Pravin Satpute <psatpute@redhat.com>, 2014.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+# This script is useful for checking backward compatibility of newly 
+# generated LC_CTYPE file from gen-unicode-ctype.c and gen-unicode-ctype-dcp.py
+# USAGE: python check-backcompatibility.py existing_ctype_file new_ctype_file 
+# Existing LC_CTYPE file /usr/share/i18n/locale/i18n and new generated 'unicode-ctype'
+
+import os
+import sys
+
+class ctype:
+    def __init__(self):
+        self.upper, self.lower, self.alpha, self.digit, self.space, self.cntrl, self.punct, \
+            self.graph, self.printc, self.xdigit, self.blank, self.combining, self.combining3  \
+            = [], [], [], [], [], [], [], [], [], [], [], [], []
+
+"""Captures Unicode values from character class and add 
+to ctype struct
+"""
+def extract_class_and_unichars(filename, struct_ctype):
+    ipfile = open(filename)
+    flines = ipfile.readlines()
+    linecount = len(flines)
+    i = 0
+    for l in flines:
+	w = l.split()
+	if len(w) > 1:
+	    if l.split()[0] == "upper":
+#                print "found uppper", i
+		process_chars(i+1, struct_ctype.upper, flines)
+	    if l.split()[0] == "lower":
+		process_chars(i+1, struct_ctype.lower, flines)
+	    if l.split()[0] == "alpha":
+		process_chars(i+1, struct_ctype.alpha, flines)
+	    if l.split()[0] == "digit":
+		process_chars(i+1, struct_ctype.digit, flines)
+	    if l.split()[0] == "space":
+		process_chars(i+1, struct_ctype.space, flines)
+	    if l.split()[0] == "cntrl":
+		process_chars(i+1, struct_ctype.cntrl, flines)
+	    if l.split()[0] == "punct":
+		process_chars(i+1, struct_ctype.punct, flines)
+	    if l.split()[0] == "graph":
+		process_chars(i+1, struct_ctype.graph, flines)
+	    if l.split()[0] == "print":
+		process_chars(i+1, struct_ctype.printc, flines)
+	    if l.split()[0] == "xdigit":
+		process_chars(i+1, struct_ctype.xdigit, flines)
+	    if l.split()[0] == "blank":
+		process_chars(i+1, struct_ctype.blank, flines)
+            if l.split()[1] == "\"combining\";":
+#                print "combining"
+		process_chars(i+1, struct_ctype.combining, flines)
+            if l.split()[1] == "\"combining_level3\";":
+#                print "combining_level3"
+		process_chars(i+1, struct_ctype.combining3, flines)
+
+        i = i+1
+#    print "alpha chars group", struct_ctype.alpha
+
+
+"""Breaks each line of i18n and unicode file into Unicode blocks
+Separated by ";" and extract Unicode values and add into Struct
+"""
+def process_chars(line_no, list_name, flines):
+	for x in range(line_no, len(flines)):
+#		print x
+		if len(flines[x].split()) < 1:
+			break
+		if flines[x].split()[0] == "%":
+		    continue
+		
+		else:
+# Break line into Unicode value range
+		    l = flines[x].strip().split(";")
+		    if l[len(l)-1] != "/":
+			list_lenght = len(l)+1
+		    else:
+			list_lenght = len(l)
+		    for i in range (0, list_lenght-1):
+			 individual_word = l[i].split("..")
+#			 print  individual_word
+# For blocks of characters in  "<UXXXX>..<UXXXX>"
+			 if  len(individual_word ) == 1:
+#				print individual_word[0]
+				uni_char = individual_word[0][2:len(individual_word[0])-1]
+                                hex_uni_char = hex(int(uni_char,16))
+				list_name.append(hex_uni_char)
+# For blocks of characters in  "<UXXXX>..<UXXXX>"
+			 if  len(individual_word ) == 2:
+#				print individual_word
+				uni_char1 = individual_word[0][2:len(individual_word[0])-1]
+				uni_char2 = individual_word[1][2:len(individual_word[0])-1]
+#				print int(uni_char1,16), hex(int(uni_char1,16))
+				count = 0
+				for i in range (int(uni_char1,16), int(uni_char2,16)+1):
+                                     list_name.append(hex(int(uni_char1,16)+count))
+				     count = count + 1
+# For blocks of characters in  "<UXXXX>..(2)..<UXXXX>"
+			 if  len(individual_word ) == 3:
+#				print individual_word
+				uni_char1 = individual_word[0][2:len(individual_word[0])-1]
+				uni_char2 = individual_word[2][2:len(individual_word[0])-1]
+#				print int(uni_char1,16), hex(int(uni_char1,16))
+#				print int(uni_char2,16), hex(int(uni_char2,16))
+				count = 0
+				for i in range (int(uni_char1,16), int(uni_char2,16)+1,2):
+                                     list_name.append(hex(int(uni_char1,16)+count))
+				     count = count + 2
+# This condition specifically added for file generated by gen-unicode-ctype.c
+# it does not break char group by line
+		l = flines[x].strip().split(";")
+		if l[len(l)-1] != "/":
+			break
+		    
+# Compared values added in stuct
+def compare_list(old_list, new_list):
+    for property, value in vars(old_list).iteritems():
+        exec("prop = %s %s" % ("new_list.",property))
+        print "%s: %d chars in old ctype and %d chars in new ctype" % (property, len(value), len(prop))
+	report(value, prop)
+
+# Report values to stdout
+def report(old_list, new_list):
+   missing_chars = list(set(old_list)-set(old_list).intersection(set(new_list)))
+   print "Missing %d characters of old ctype in new ctype \n " % len(missing_chars), sorted(missing_chars)
+   print "\n****************************************************"
+
+
+# This function compares TOLOWER, TOUPPER and TOTITLE pairs of i18n and unicode file
+def check_pairs(file_old, file_new):
+    ipfile = open(file_old)
+    flines = ipfile.readlines()
+    linecount = len(flines)
+    i = 0
+    for l in flines:
+	w = l.split()
+	if len(w) > 1:
+	    if l.split()[0] == "toupper":
+                pair_name = "toupper"
+		print "Processing for TOUPPER pair group"
+		process_pairs(i+1, flines, file_new, pair_name)
+		print "Completed processing for TOUPPER pair group"
+	    if l.split()[0] == "tolower":
+                pair_name = "tolower"
+		print "Processing for TOLOWER pair group"
+		process_pairs(i+1, flines, file_new, pair_name)
+		print "Completed processing for TOLOWER pair group"
+	    if l.split()[1] == "\"totitle\";":
+                pair_name = "totitle"
+		print "Processing for TOTITLE pair group"
+		process_pairs(i+1, flines, file_new, pair_name)
+		print "Completed processing for TOTITLE pair group"
+        i = i + 1
+
+
+""" Split the i18n file line into Unicode pairs and check into 
+unicode files
+"""
+def process_pairs(line_no, flines, file_new, pair_name):
+        f = open(file_new).read()
+	for x in range(line_no, len(flines)):
+		if len(flines[x].split()) < 1:
+			break
+		if flines[x].split()[0] == "%":
+		    continue
+		
+		else:
+# Break line into pairs, separated by ;
+		    l = flines[x].strip().split(";")
+		    if l[len(l)-1] != "/":
+			list_lenght = len(l)+1
+		    else:
+			list_lenght = len(l)
+		    for i in range (0, list_lenght-1):
+                        if l[i] not in f:
+			   print "%s not present in %s pair new ctype" % (l[i], pair_name)
+# Groups are not separated by line in unicode file
+		l = flines[x].strip().split(";")
+		if l[len(l)-1] != "/":
+			break
+
+
+if __name__ == "__main__":
+    if len(sys.argv) < 3:
+        print  "USAGE: python check_backcompatibility existing_ctype_file new_ctype_file "
+    else:
+        file_i18n = sys.argv[1]
+        file_unicode = sys.argv[2]
+        ext_ctype = ctype()
+        new_ctype = ctype()
+        extract_class_and_unichars(file_i18n, ext_ctype)
+        extract_class_and_unichars(file_unicode, new_ctype)
+        compare_list(ext_ctype, new_ctype)
+        check_pairs(file_i18n, file_unicode)
diff --git a/scripts/ctype-gen.sh b/scripts/ctype-gen.sh
new file mode 100755
index 0000000..99d9ba8
--- /dev/null
+++ b/scripts/ctype-gen.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# Script to generate new ctype using gen-unicode-ctype.c and 
+# gen-unicode-ctype-dcp.py
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by Pravin Satpute <psatpute@redhat.com>, 2014.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+if [ $# -eq 0 ]; then
+    echo "USAGE: ./ctype-gen.sh UnicodeData.txt DerivedCoreProperties.txt VERSION"
+    exit 1
+fi
+gcc -o gen-unicode-ctype.out gen-unicode-ctype.c
+./gen-unicode-ctype.out $1 $3
+python gen-unicode-ctype-dcp.py $2
+rm -rf unicode
diff --git a/scripts/gen-unicode-ctype-dcp.py b/scripts/gen-unicode-ctype-dcp.py
new file mode 100755
index 0000000..eb1f2e1
--- /dev/null
+++ b/scripts/gen-unicode-ctype-dcp.py
@@ -0,0 +1,98 @@
+#!/usr/bin/python
+# -*- coding: UTF-8 -i*-
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by Pravin Satpute <psatpute@redhat.com>, 2014.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+# This script generates alpha, upper and lower ctype from 
+# DerivedCoreProperties.txt file of UCD and add it to "unicode" file generated 
+# by gen-unicode-ctype.c
+# USAGE: python gen-unicode-ctype-dcp.py DerivedCoreProperties.txt
+
+import os
+import sys		
+
+def process_dcp(dcp_file, outfile):
+    ipfile = open(dcp_file)
+    flines = ipfile.readlines()
+    linecount = len(flines)
+    i = 0
+    for l in flines:
+	w = l.split()
+	if len(w) > 3:
+	    if (l.split()[3] == "Uppercase") and (l.split()[2] == "Property:"):
+#               print "uppercase @ ", i
+	       outfile.write("upper \\\n")
+	       write_class(i+3, outfile, flines)
+
+	    if (l.split()[3] == "Lowercase") and (l.split()[2] == "Property:"):
+#               print "lowercase @ ", i
+	       outfile.write("lower \\\n")
+	       write_class(i+3, outfile, flines)
+
+	    if (l.split()[3] == "Alphabetic") and (l.split()[2] == "Property:"):
+#               print "alphabetic @ ", i
+	       outfile.write("alpha \\\n")
+	       write_class(i+3, outfile, flines)
+        i = i+1
+    ipfile.close()
+
+def write_class(line_no, outfile, flines):
+    nline_count = 0
+    outfile.write("    ")
+    for x in range(line_no, len(flines)):
+# next time counter to write "\n" to file
+        if nline_count > 6:
+	    outfile.write("/\n    ")
+            nline_count = 0
+        if len(flines[x].split()) < 1:
+	    continue
+	if flines[x].split()[1] == "Total":
+#         print x
+	    break
+	if len(flines[x].split()[0].split(".."))==1:
+#            print flines[x].split()[0].split("..")
+	    outfile.write( "<U"  + flines[x].split()[0].split("..")[0] + ">;")
+            nline_count = nline_count + 1
+	else:
+#         print flines[x].split()[0].split("..")
+	    outfile.write( "<U"  + flines[x].split()[0].split("..")[0] + ">..<U" + flines[x].split()[0].split("..")[1] + ">;")
+            if len(flines[x].split()[0].split("..")[0]) > 4:
+                nline_count = nline_count + 3
+            else:
+                nline_count = nline_count + 2
+    outfile.write("\n")
+
+if __name__ == "__main__":
+    if len(sys.argv) < 2:
+        print  "USAGE: python gen-unicode-ctype-dcp.py DerivedCoreProperties.txt"
+    else:
+        dcp_file = sys.argv[1]
+        outfile=open("unicode-ctype","w")
+        unicode_file=open("unicode")
+	flines = unicode_file.readlines()
+	i = 0
+	for l in flines:
+		outfile.write(l)
+		i = i+1
+		if l == "LC_CTYPE\n":
+		   break
+	process_dcp(dcp_file, outfile)
+       	for x in range(i,len(flines)):
+		outfile.write(flines[x])
+        outfile.close()
+        unicode_file.close()
diff --git a/scripts/gen-unicode-ctype.c b/scripts/gen-unicode-ctype.c
new file mode 100644
index 0000000..6dfb95f
--- /dev/null
+++ b/scripts/gen-unicode-ctype.c
@@ -0,0 +1,791 @@
+/* Generate a Unicode conforming LC_CTYPE category from a UnicodeData file.
+   Copyright (C) 2000-2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Usage example:
+     $ gen-unicode /usr/local/share/Unidata/UnicodeData.txt 3.1
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <string.h>
+#include <time.h>
+
+/* This structure represents one line in the UnicodeData.txt file.  */
+struct unicode_attribute
+{
+  const char *name;           /* Character name */
+  const char *category;       /* General category */
+  const char *combining;      /* Canonical combining classes */
+  const char *bidi;           /* Bidirectional category */
+  const char *decomposition;  /* Character decomposition mapping */
+  const char *decdigit;       /* Decimal digit value */
+  const char *digit;          /* Digit value */
+  const char *numeric;        /* Numeric value */
+  int mirrored;               /* mirrored */
+  const char *oldname;        /* Old Unicode 1.0 name */
+  const char *comment;        /* Comment */
+  unsigned int upper;         /* Uppercase mapping */
+  unsigned int lower;         /* Lowercase mapping */
+  unsigned int title;         /* Titlecase mapping */
+};
+
+/* Missing fields are represented with "" for strings, and NONE for
+   characters.  */
+#define NONE (~(unsigned int)0)
+
+/* The entire contents of the UnicodeData.txt file.  */
+struct unicode_attribute unicode_attributes [0x110000];
+
+/* Stores in unicode_attributes[i] the values from the given fields.  */
+static void
+fill_attribute (unsigned int i,
+		const char *field1, const char *field2,
+		const char *field3, const char *field4,
+		const char *field5, const char *field6,
+		const char *field7, const char *field8,
+		const char *field9, const char *field10,
+		const char *field11, const char *field12,
+		const char *field13, const char *field14)
+{
+  struct unicode_attribute * uni;
+
+  if (i >= 0x110000)
+    {
+      fprintf (stderr, "index too large\n");
+      exit (1);
+    }
+  if (strcmp (field2, "Cs") == 0)
+    /* Surrogates are UTF-16 artefacts, not real characters. Ignore them.  */
+    return;
+  uni = &unicode_attributes[i];
+  /* Copy the strings.  */
+  uni->name          = strdup (field1);
+  uni->category      = (field2[0] == '\0' ? "" : strdup (field2));
+  uni->combining     = (field3[0] == '\0' ? "" : strdup (field3));
+  uni->bidi          = (field4[0] == '\0' ? "" : strdup (field4));
+  uni->decomposition = (field5[0] == '\0' ? "" : strdup (field5));
+  uni->decdigit      = (field6[0] == '\0' ? "" : strdup (field6));
+  uni->digit         = (field7[0] == '\0' ? "" : strdup (field7));
+  uni->numeric       = (field8[0] == '\0' ? "" : strdup (field8));
+  uni->mirrored      = (field9[0] == 'Y');
+  uni->oldname       = (field10[0] == '\0' ? "" : strdup (field10));
+  uni->comment       = (field11[0] == '\0' ? "" : strdup (field11));
+  uni->upper = (field12[0] =='\0' ? NONE : strtoul (field12, NULL, 16));
+  uni->lower = (field13[0] =='\0' ? NONE : strtoul (field13, NULL, 16));
+  uni->title = (field14[0] =='\0' ? NONE : strtoul (field14, NULL, 16));
+}
+
+/* Maximum length of a field in the UnicodeData.txt file.  */
+#define FIELDLEN 120
+
+/* Reads the next field from STREAM.  The buffer BUFFER has size FIELDLEN.
+   Reads up to (but excluding) DELIM.
+   Returns 1 when a field was successfully read, otherwise 0.  */
+static int
+getfield (FILE *stream, char *buffer, int delim)
+{
+  int count = 0;
+  int c;
+
+  for (; (c = getc (stream)), (c != EOF && c != delim); )
+    {
+      /* The original unicode.org UnicodeData.txt file happens to have
+	 CR/LF line terminators.  Silently convert to LF.  */
+      if (c == '\r')
+	continue;
+
+      /* Put c into the buffer.  */
+      if (++count >= FIELDLEN - 1)
+	{
+	  fprintf (stderr, "field too long\n");
+	  exit (1);
+	}
+      *buffer++ = c;
+    }
+
+  if (c == EOF)
+    return 0;
+
+  *buffer = '\0';
+  return 1;
+}
+
+/* Stores in unicode_attributes[] the entire contents of the UnicodeData.txt
+   file.  */
+static void
+fill_attributes (const char *unicodedata_filename)
+{
+  unsigned int i, j;
+  FILE *stream;
+  char field0[FIELDLEN];
+  char field1[FIELDLEN];
+  char field2[FIELDLEN];
+  char field3[FIELDLEN];
+  char field4[FIELDLEN];
+  char field5[FIELDLEN];
+  char field6[FIELDLEN];
+  char field7[FIELDLEN];
+  char field8[FIELDLEN];
+  char field9[FIELDLEN];
+  char field10[FIELDLEN];
+  char field11[FIELDLEN];
+  char field12[FIELDLEN];
+  char field13[FIELDLEN];
+  char field14[FIELDLEN];
+  int lineno = 0;
+
+  for (i = 0; i < 0x110000; i++)
+    unicode_attributes[i].name = NULL;
+
+  stream = fopen (unicodedata_filename, "r");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "error during fopen of '%s'\n", unicodedata_filename);
+      exit (1);
+    }
+
+  for (;;)
+    {
+      int n;
+
+      lineno++;
+      n = getfield (stream, field0, ';');
+      n += getfield (stream, field1, ';');
+      n += getfield (stream, field2, ';');
+      n += getfield (stream, field3, ';');
+      n += getfield (stream, field4, ';');
+      n += getfield (stream, field5, ';');
+      n += getfield (stream, field6, ';');
+      n += getfield (stream, field7, ';');
+      n += getfield (stream, field8, ';');
+      n += getfield (stream, field9, ';');
+      n += getfield (stream, field10, ';');
+      n += getfield (stream, field11, ';');
+      n += getfield (stream, field12, ';');
+      n += getfield (stream, field13, ';');
+      n += getfield (stream, field14, '\n');
+      if (n == 0)
+	break;
+      if (n != 15)
+	{
+	  fprintf (stderr, "short line in'%s':%d\n",
+		   unicodedata_filename, lineno);
+	  exit (1);
+	}
+      i = strtoul (field0, NULL, 16);
+      if (field1[0] == '<'
+	  && strlen (field1) >= 9
+	  && !strcmp (field1 + strlen(field1) - 8, ", First>"))
+	{
+	  /* Deal with a range. */
+	  lineno++;
+	  n = getfield (stream, field0, ';');
+	  n += getfield (stream, field1, ';');
+	  n += getfield (stream, field2, ';');
+	  n += getfield (stream, field3, ';');
+	  n += getfield (stream, field4, ';');
+	  n += getfield (stream, field5, ';');
+	  n += getfield (stream, field6, ';');
+	  n += getfield (stream, field7, ';');
+	  n += getfield (stream, field8, ';');
+	  n += getfield (stream, field9, ';');
+	  n += getfield (stream, field10, ';');
+	  n += getfield (stream, field11, ';');
+	  n += getfield (stream, field12, ';');
+	  n += getfield (stream, field13, ';');
+	  n += getfield (stream, field14, '\n');
+	  if (n != 15)
+	    {
+	      fprintf (stderr, "missing end range in '%s':%d\n",
+		       unicodedata_filename, lineno);
+	      exit (1);
+	    }
+	  if (!(field1[0] == '<'
+		&& strlen (field1) >= 8
+		&& !strcmp (field1 + strlen (field1) - 7, ", Last>")))
+	    {
+	      fprintf (stderr, "missing end range in '%s':%d\n",
+		       unicodedata_filename, lineno);
+	      exit (1);
+	    }
+	  field1[strlen (field1) - 7] = '\0';
+	  j = strtoul (field0, NULL, 16);
+	  for (; i <= j; i++)
+	    fill_attribute (i, field1+1, field2, field3, field4, field5,
+			       field6, field7, field8, field9, field10,
+			       field11, field12, field13, field14);
+	}
+      else
+	{
+	  /* Single character line */
+	  fill_attribute (i, field1, field2, field3, field4, field5,
+			     field6, field7, field8, field9, field10,
+			     field11, field12, field13, field14);
+	}
+    }
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error reading from '%s'\n", unicodedata_filename);
+      exit (1);
+    }
+}
+
+/* Character mappings.  */
+
+static unsigned int
+to_upper (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].upper != NONE)
+    return unicode_attributes[ch].upper;
+  else
+    return ch;
+}
+
+static unsigned int
+to_lower (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].lower != NONE)
+    return unicode_attributes[ch].lower;
+  else
+    return ch;
+}
+
+static unsigned int
+to_title (unsigned int ch)
+{
+  if (unicode_attributes[ch].name != NULL
+      && unicode_attributes[ch].title != NONE)
+    return unicode_attributes[ch].title;
+  else
+    return ch;
+}
+
+/* Character class properties.  */
+
+static bool
+is_upper (unsigned int ch)
+{
+  return (to_lower (ch) != ch);
+}
+
+static bool
+is_lower (unsigned int ch)
+{
+  return (to_upper (ch) != ch)
+	 /* <U00DF> is lowercase, but without simple to_upper mapping.  */
+	 || (ch == 0x00DF);
+}
+
+static bool
+is_alpha (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+	  && ((unicode_attributes[ch].category[0] == 'L'
+	       /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
+		  <U0E2F>, <U0E46> should belong to is_punct.  */
+	       && (ch != 0x0E2F) && (ch != 0x0E46))
+	      /* Theppitak Karoonboonyanan <thep@links.nectec.or.th> says
+		 <U0E31>, <U0E34>..<U0E3A>, <U0E47>..<U0E4E> are is_alpha.  */
+	      || (ch == 0x0E31)
+	      || (ch >= 0x0E34 && ch <= 0x0E3A)
+	      || (ch >= 0x0E47 && ch <= 0x0E4E)
+	      /* Avoid warning for <U0345>.  */
+	      || (ch == 0x0345)
+	      /* Avoid warnings for <U2160>..<U217F>.  */
+	      || (unicode_attributes[ch].category[0] == 'N'
+		  && unicode_attributes[ch].category[1] == 'l')
+	      /* Avoid warnings for <U24B6>..<U24E9>.  */
+	      || (unicode_attributes[ch].category[0] == 'S'
+		  && unicode_attributes[ch].category[1] == 'o'
+		  && strstr (unicode_attributes[ch].name, " LETTER ")
+		     != NULL)
+	      /* Consider all the non-ASCII digits as alphabetic.
+		 ISO C 99 forbids us to have them in category "digit",
+		 but we want iswalnum to return true on them.  */
+	      || (unicode_attributes[ch].category[0] == 'N'
+		  && unicode_attributes[ch].category[1] == 'd'
+		  && !(ch >= 0x0030 && ch <= 0x0039))));
+}
+
+static bool
+is_digit (unsigned int ch)
+{
+#if 0
+  return (unicode_attributes[ch].name != NULL
+	  && unicode_attributes[ch].category[0] == 'N'
+	  && unicode_attributes[ch].category[1] == 'd');
+  /* Note: U+0BE7..U+0BEF and U+1369..U+1371 are digit systems without
+     a zero.  Must add <0> in front of them by hand.  */
+#else
+  /* SUSV2 gives us some freedom for the "digit" category, but ISO C 99
+     takes it away:
+     7.25.2.1.5:
+        The iswdigit function tests for any wide character that corresponds
+        to a decimal-digit character (as defined in 5.2.1).
+     5.2.1:
+        the 10 decimal digits 0 1 2 3 4 5 6 7 8 9
+   */
+  return (ch >= 0x0030 && ch <= 0x0039);
+#endif
+}
+
+static bool
+is_outdigit (unsigned int ch)
+{
+  return (ch >= 0x0030 && ch <= 0x0039);
+}
+
+static bool
+is_blank (unsigned int ch)
+{
+  return (ch == 0x0009 /* '\t' */
+	  /* Category Zs without mention of "<noBreak>" */
+	  || (unicode_attributes[ch].name != NULL
+	      && unicode_attributes[ch].category[0] == 'Z'
+	      && unicode_attributes[ch].category[1] == 's'
+	      && !strstr (unicode_attributes[ch].decomposition, "<noBreak>")));
+}
+
+static bool
+is_space (unsigned int ch)
+{
+  /* Don't make U+00A0 a space. Non-breaking space means that all programs
+     should treat it like a punctuation character, not like a space. */
+  return (ch == 0x0020 /* ' ' */
+	  || ch == 0x000C /* '\f' */
+	  || ch == 0x000A /* '\n' */
+	  || ch == 0x000D /* '\r' */
+	  || ch == 0x0009 /* '\t' */
+	  || ch == 0x000B /* '\v' */
+	  /* Categories Zl, Zp, and Zs without mention of "<noBreak>" */
+	  || (unicode_attributes[ch].name != NULL
+	      && unicode_attributes[ch].category[0] == 'Z'
+	      && (unicode_attributes[ch].category[1] == 'l'
+		  || unicode_attributes[ch].category[1] == 'p'
+		  || (unicode_attributes[ch].category[1] == 's'
+		      && !strstr (unicode_attributes[ch].decomposition,
+				  "<noBreak>")))));
+}
+
+static bool
+is_cntrl (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+	  && (!strcmp (unicode_attributes[ch].name, "<control>")
+	      /* Categories Zl and Zp */
+	      || (unicode_attributes[ch].category[0] == 'Z'
+		  && (unicode_attributes[ch].category[1] == 'l'
+		      || unicode_attributes[ch].category[1] == 'p'))));
+}
+
+static bool
+is_xdigit (unsigned int ch)
+{
+#if 0
+  return is_digit (ch)
+	 || (ch >= 0x0041 && ch <= 0x0046)
+	 || (ch >= 0x0061 && ch <= 0x0066);
+#else
+  /* SUSV2 gives us some freedom for the "xdigit" category, but ISO C 99
+     takes it away:
+     7.25.2.1.12:
+        The iswxdigit function tests for any wide character that corresponds
+        to a hexadecimal-digit character (as defined in 6.4.4.1).
+     6.4.4.1:
+        hexadecimal-digit: one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
+   */
+  return (ch >= 0x0030 && ch <= 0x0039)
+	 || (ch >= 0x0041 && ch <= 0x0046)
+	 || (ch >= 0x0061 && ch <= 0x0066);
+#endif
+}
+
+static bool
+is_graph (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+	  && strcmp (unicode_attributes[ch].name, "<control>")
+	  && !is_space (ch));
+}
+
+static bool
+is_print (unsigned int ch)
+{
+  return (unicode_attributes[ch].name != NULL
+	  && strcmp (unicode_attributes[ch].name, "<control>")
+	  /* Categories Zl and Zp */
+	  && !(unicode_attributes[ch].name != NULL
+	       && unicode_attributes[ch].category[0] == 'Z'
+	       && (unicode_attributes[ch].category[1] == 'l'
+		   || unicode_attributes[ch].category[1] == 'p')));
+}
+
+static bool
+is_punct (unsigned int ch)
+{
+#if 0
+  return (unicode_attributes[ch].name != NULL
+	  && unicode_attributes[ch].category[0] == 'P');
+#else
+  /* The traditional POSIX definition of punctuation is every graphic,
+     non-alphanumeric character.  */
+  return (is_graph (ch) && !is_alpha (ch) && !is_digit (ch));
+#endif
+}
+
+static bool
+is_combining (unsigned int ch)
+{
+  /* Up to Unicode 3.0.1 we took the Combining property from the PropList.txt
+     file. In 3.0.1 it was identical to the union of the general categories
+     "Mn", "Mc", "Me". In Unicode 3.1 this property has been dropped from the
+     PropList.txt file, so we take the latter definition.  */
+  return (unicode_attributes[ch].name != NULL
+	  && unicode_attributes[ch].category[0] == 'M'
+	  && (unicode_attributes[ch].category[1] == 'n'
+	      || unicode_attributes[ch].category[1] == 'c'
+	      || unicode_attributes[ch].category[1] == 'e'));
+}
+
+static bool
+is_combining_level3 (unsigned int ch)
+{
+  return is_combining (ch)
+	 && !(unicode_attributes[ch].combining[0] != '\0'
+	      && unicode_attributes[ch].combining[0] != '0'
+	      && strtoul (unicode_attributes[ch].combining, NULL, 10) >= 200);
+}
+
+/* Return the UCS symbol string for a Unicode character.  */
+static const char *
+ucs_symbol (unsigned int i)
+{
+  static char buf[11+1];
+
+  sprintf (buf, (i < 0x10000 ? "<U%04X>" : "<U%08X>"), i);
+  return buf;
+}
+
+/* Return the UCS symbol range string for a Unicode characters interval.  */
+static const char *
+ucs_symbol_range (unsigned int low, unsigned int high)
+{
+  static char buf[24+1];
+
+  strcpy (buf, ucs_symbol (low));
+  strcat (buf, "..");
+  strcat (buf, ucs_symbol (high));
+  return buf;
+}
+
+/* Output a character class (= property) table.  */
+
+static void
+output_charclass (FILE *stream, const char *classname,
+		  bool (*func) (unsigned int))
+{
+  char table[0x110000];
+  unsigned int i;
+  bool need_semicolon;
+  const int max_column = 75;
+  int column;
+
+  for (i = 0; i < 0x110000; i++)
+    table[i] = (int) func (i);
+
+  fprintf (stream, "%s ", classname);
+  need_semicolon = false;
+  column = 1000;
+  for (i = 0; i < 0x110000; )
+    {
+      if (!table[i])
+	i++;
+      else
+	{
+	  unsigned int low, high;
+	  char buf[25];
+
+	  low = i;
+	  do
+	    i++;
+	  while (i < 0x110000 && table[i]);
+	  high = i - 1;
+
+	  if (low == high)
+	    strcpy (buf, ucs_symbol (low));
+	  else
+	    strcpy (buf, ucs_symbol_range (low, high));
+
+	  if (need_semicolon)
+	    {
+	      fprintf (stream, ";");
+	      column++;
+	    }
+
+	  if (column + strlen (buf) > max_column)
+	    {
+	      fprintf (stream, "/\n   ");
+	      column = 3;
+	    }
+
+	  fprintf (stream, "%s", buf);
+	  column += strlen (buf);
+	  need_semicolon = true;
+	}
+    }
+  fprintf (stream, "\n");
+}
+
+/* Output a character mapping table.  */
+
+static void
+output_charmap (FILE *stream, const char *mapname,
+		unsigned int (*func) (unsigned int))
+{
+  char table[0x110000];
+  unsigned int i;
+  bool need_semicolon;
+  const int max_column = 75;
+  int column;
+
+  for (i = 0; i < 0x110000; i++)
+    table[i] = (func (i) != i);
+
+  fprintf (stream, "%s ", mapname);
+  need_semicolon = false;
+  column = 1000;
+  for (i = 0; i < 0x110000; i++)
+    if (table[i])
+      {
+	char buf[25+1];
+
+	strcpy (buf, "(");
+	strcat (buf, ucs_symbol (i));
+	strcat (buf, ",");
+	strcat (buf, ucs_symbol (func (i)));
+	strcat (buf, ")");
+
+	if (need_semicolon)
+	  {
+	    fprintf (stream, ";");
+	    column++;
+	  }
+
+	if (column + strlen (buf) > max_column)
+	  {
+	    fprintf (stream, "/\n   ");
+	    column = 3;
+	  }
+
+	fprintf (stream, "%s", buf);
+	column += strlen (buf);
+	need_semicolon = true;
+      }
+  fprintf (stream, "\n");
+}
+
+/* Output the width table.  */
+
+static void
+output_widthmap (FILE *stream)
+{
+}
+
+/* Output the tables to the given file.  */
+
+static void
+output_tables (const char *filename, const char *version)
+{
+  FILE *stream;
+  unsigned int ch;
+
+  stream = fopen (filename, "w");
+  if (stream == NULL)
+    {
+      fprintf (stderr, "cannot open '%s' for writing\n", filename);
+      exit (1);
+    }
+
+  fprintf (stream, "escape_char /\n");
+  fprintf (stream, "comment_char %%\n");
+  fprintf (stream, "\n");
+  fprintf (stream, "%% Generated automatically by gen-unicode-ctype for Unicode %s.\n",
+	   version);
+  fprintf (stream, "\n");
+
+  fprintf (stream, "LC_IDENTIFICATION\n");
+  fprintf (stream, "title     \"Unicode %s FDCC-set\"\n", version);
+  fprintf (stream, "source    \"UnicodeData.txt, PropList.txt, DerivedCoreProperties.txt\"\n");
+  fprintf (stream, "address   \"\"\n");
+  fprintf (stream, "contact   \"\"\n");
+  fprintf (stream, "email     \"bug-glibc-locales@gnu.org\"\n");
+  fprintf (stream, "tel       \"\"\n");
+  fprintf (stream, "fax       \"\"\n");
+  fprintf (stream, "language  \"\"\n");
+  fprintf (stream, "territory \"Earth\"\n");
+  fprintf (stream, "revision  \"%s\"\n", version);
+  {
+    time_t now;
+    char date[11];
+    now = time (NULL);
+    strftime (date, sizeof (date), "%Y-%m-%d", gmtime (&now));
+    fprintf (stream, "date      \"%s\"\n", date);
+  }
+  fprintf (stream, "category  \"unicode:2001\";LC_CTYPE\n");
+  fprintf (stream, "END LC_IDENTIFICATION\n");
+  fprintf (stream, "\n");
+
+  /* Verifications. */
+  for (ch = 0; ch < 0x110000; ch++)
+    {
+      /* toupper restriction: "Only characters specified for the keywords
+	 lower and upper shall be specified.  */
+      if (to_upper (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+	fprintf (stderr,
+		 "%s is not upper|lower but toupper(0x%04X) = 0x%04X\n",
+		 ucs_symbol (ch), ch, to_upper (ch));
+
+      /* tolower restriction: "Only characters specified for the keywords
+	 lower and upper shall be specified.  */
+      if (to_lower (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+	fprintf (stderr,
+		 "%s is not upper|lower but tolower(0x%04X) = 0x%04X\n",
+		 ucs_symbol (ch), ch, to_lower (ch));
+
+      /* alpha restriction: "Characters classified as either upper or lower
+	 shall automatically belong to this class.  */
+      if ((is_lower (ch) || is_upper (ch)) && !is_alpha (ch))
+	fprintf (stderr, "%s is upper|lower but not alpha\n", ucs_symbol (ch));
+
+      /* alpha restriction: "No character specified for the keywords cntrl,
+	 digit, punct or space shall be specified."  */
+      if (is_alpha (ch) && is_cntrl (ch))
+	fprintf (stderr, "%s is alpha and cntrl\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_digit (ch))
+	fprintf (stderr, "%s is alpha and digit\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_punct (ch))
+	fprintf (stderr, "%s is alpha and punct\n", ucs_symbol (ch));
+      if (is_alpha (ch) && is_space (ch))
+	fprintf (stderr, "%s is alpha and space\n", ucs_symbol (ch));
+
+      /* space restriction: "No character specified for the keywords upper,
+	 lower, alpha, digit, graph or xdigit shall be specified."
+	 upper, lower, alpha already checked above.  */
+      if (is_space (ch) && is_digit (ch))
+	fprintf (stderr, "%s is space and digit\n", ucs_symbol (ch));
+      if (is_space (ch) && is_graph (ch))
+	fprintf (stderr, "%s is space and graph\n", ucs_symbol (ch));
+      if (is_space (ch) && is_xdigit (ch))
+	fprintf (stderr, "%s is space and xdigit\n", ucs_symbol (ch));
+
+      /* cntrl restriction: "No character specified for the keywords upper,
+	 lower, alpha, digit, punct, graph, print or xdigit shall be
+	 specified."  upper, lower, alpha already checked above.  */
+      if (is_cntrl (ch) && is_digit (ch))
+	fprintf (stderr, "%s is cntrl and digit\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_punct (ch))
+	fprintf (stderr, "%s is cntrl and punct\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_graph (ch))
+	fprintf (stderr, "%s is cntrl and graph\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_print (ch))
+	fprintf (stderr, "%s is cntrl and print\n", ucs_symbol (ch));
+      if (is_cntrl (ch) && is_xdigit (ch))
+	fprintf (stderr, "%s is cntrl and xdigit\n", ucs_symbol (ch));
+
+      /* punct restriction: "No character specified for the keywords upper,
+	 lower, alpha, digit, cntrl, xdigit or as the <space> character shall
+	 be specified."  upper, lower, alpha, cntrl already checked above.  */
+      if (is_punct (ch) && is_digit (ch))
+	fprintf (stderr, "%s is punct and digit\n", ucs_symbol (ch));
+      if (is_punct (ch) && is_xdigit (ch))
+	fprintf (stderr, "%s is punct and xdigit\n", ucs_symbol (ch));
+      if (is_punct (ch) && (ch == 0x0020))
+	fprintf (stderr, "%s is punct\n", ucs_symbol (ch));
+
+      /* graph restriction: "No character specified for the keyword cntrl
+	 shall be specified."  Already checked above.  */
+
+      /* print restriction: "No character specified for the keyword cntrl
+	 shall be specified."  Already checked above.  */
+
+      /* graph - print relation: differ only in the <space> character.
+	 How is this possible if there are more than one space character?!
+	 I think susv2/xbd/locale.html should speak of "space characters",
+	 not "space character".  */
+      if (is_print (ch) && !(is_graph (ch) || /* ch == 0x0020 */ is_space (ch)))
+	fprintf (stderr,
+		 "%s is print but not graph|<space>\n", ucs_symbol (ch));
+      if (!is_print (ch) && (is_graph (ch) || ch == 0x0020))
+	fprintf (stderr,
+		 "%s is graph|<space> but not print\n", ucs_symbol (ch));
+    }
+
+  fprintf (stream, "LC_CTYPE\n");
+      /* upper, lower and alpha classes are no more required. DerivedCoreProperties.txt 
+         file providing ready to use classification for above classed. We are generating these classes
+         using gen-unicode-ctype-dcp.py script from DerivedCoreProperties.txt.
+         */
+//  output_charclass (stream, "upper", is_upper);
+//  output_charclass (stream, "lower", is_lower);
+//  output_charclass (stream, "alpha", is_alpha);
+  output_charclass (stream, "digit", is_digit);
+      /* The "outdigit" information is by default "0" to "9".  We don't have to
+         provide it here since localedef will fill in the bits and it would
+         prevent locales copy-ing this file define their own values. */
+//  output_charclass (stream, "outdigit", is_outdigit);
+  output_charclass (stream, "blank", is_blank);
+  output_charclass (stream, "space", is_space);
+  output_charclass (stream, "cntrl", is_cntrl);
+  output_charclass (stream, "punct", is_punct);
+  output_charclass (stream, "xdigit", is_xdigit);
+  output_charclass (stream, "graph", is_graph);
+  output_charclass (stream, "print", is_print);
+  output_charclass (stream, "class \"combining\";", is_combining);
+  output_charclass (stream, "class \"combining_level3\";", is_combining_level3);
+  output_charmap (stream, "toupper", to_upper);
+  output_charmap (stream, "tolower", to_lower);
+  output_charmap (stream, "map \"totitle\";", to_title);
+  output_widthmap (stream);
+  fprintf (stream, "END LC_CTYPE\n");
+
+  if (ferror (stream) || fclose (stream))
+    {
+      fprintf (stderr, "error writing to '%s'\n", filename);
+      exit (1);
+    }
+}
+
+int
+main (int argc, char * argv[])
+{
+  if (argc != 3)
+    {
+      fprintf (stderr, "Usage: %s UnicodeData.txt version\n", argv[0]);
+      exit (1);
+    }
+
+  fill_attributes (argv[1]);
+
+  output_tables ("unicode", argv[2]);
+
+  return 0;
+}
-- 
1.9.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]