summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-04-08 07:59:52 +0000
committerJakub Jelinek <jakub@redhat.com>2008-04-08 07:59:52 +0000
commite6e467b8352b6a62b8187fd241671eb55d0f6fc4 (patch)
tree2e7c2ddae1aa58a70c384e1d5b49d3ad198a2718
parent09b731ac2b1b5e79050991f6a9dab964f9a7a60f (diff)
Updated to fedora-glibc-20080408T0706
-rw-r--r--ChangeLog95
-rw-r--r--debug/wctomb_chk.c6
-rw-r--r--fedora/branch.mk4
-rw-r--r--intl/Makefile13
-rw-r--r--intl/dcigettext.c46
-rw-r--r--intl/tst-gettext6.c86
-rw-r--r--intl/tst-gettext6.sh41
-rw-r--r--locale/duplocale.c8
-rw-r--r--locale/freelocale.c8
-rw-r--r--locale/newlocale.c10
-rw-r--r--locale/programs/ld-time.c4
-rw-r--r--locale/programs/locfile.c4
-rw-r--r--locale/setlocale.c12
-rw-r--r--localedata/ChangeLog23
-rw-r--r--localedata/Makefile3
-rw-r--r--localedata/locales/es_ES2068
-rw-r--r--localedata/locales/hu_HU4
-rw-r--r--localedata/locales/iso14651_t1_common718
-rw-r--r--malloc/mtrace.pl2
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h4
-rw-r--r--nscd/nscd.c2
-rw-r--r--po/nl.po143
-rw-r--r--posix/getopt.c24
-rw-r--r--resolv/res_init.c46
-rw-r--r--stdio-common/vfprintf.c3
-rw-r--r--stdlib/mbtowc.c11
-rw-r--r--stdlib/strtod_l.c2
-rw-r--r--stdlib/wctomb.c10
-rw-r--r--string/strfry.c24
-rw-r--r--sunrpc/auth_unix.c2
-rw-r--r--sunrpc/clnt_tcp.c2
-rw-r--r--sunrpc/clnt_udp.c3
-rw-r--r--sunrpc/clnt_unix.c2
-rw-r--r--sunrpc/svc_tcp.c6
-rw-r--r--sunrpc/svc_udp.c3
-rw-r--r--sunrpc/svc_unix.c6
-rw-r--r--sunrpc/xdr.c4
-rw-r--r--sunrpc/xdr_array.c2
-rw-r--r--sunrpc/xdr_rec.c2
-rw-r--r--sunrpc/xdr_ref.c3
-rw-r--r--sysdeps/posix/tempname.c2
-rw-r--r--sysdeps/unix/opendir.c28
-rw-r--r--sysdeps/unix/sysv/linux/net/ethernet.h10
44 files changed, 1011 insertions, 2495 deletions
diff --git a/ChangeLog b/ChangeLog
index ec004b1f4f..718ff1bf64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,98 @@
+2008-04-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #6042]
+ * sysdeps/unix/sysv/linux/net/ethernet.h: Add a few more
+ ETHERTYPE_* definitions.
+ Patch partly by Aurelien Jarno <aurelien@aurel32.net>.
+
+2008-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ * stdlib/mbtowc.c (__no_r_state): Remove.
+ (mbtowc): New static state variable. Use it instead of
+ __no_r_state.
+ * stdlib/wctomb.c (__no_r_state): Remove extern decl.
+ (__wctomb_state): New hidden variable.
+ (wctomb): Use __wctomb_state instead of __no_r_state.
+ * debug/wctomb_chk.c (__no_r_state): Remove extern decl.
+ (__wctomb_state): New extern decl.
+ (__wctomb_chk): Use __wctomb_state instead of __no_r_state.
+
+2008-04-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5475]
+ * resolv/res_init.c: Handle scope IDs in resolv.conf.
+
+2008-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.
+
+2008-04-06 Ulrich Drepper <drepper@redhat.com>
+
+ * po/nl.po: Update from translation team.
+
+2008-03-31 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #6007]
+ * string/strfry.c: Handle empty strings again.
+
+2008-03-30 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5443]
+ * intl/dcigettext.c (__dcigettext): Get reader lock for locale data
+ before looking for translation.
+ * locale/duplocale.c: Transform __libc_setlocale_lock into rwlock.
+ * locale/freelocale.c: Likewise.
+ * locale/newlocale.c: Likewise.
+ * locale/setlocale.c: Likewise.
+ Based partially on a patch by ryo@np.css.fujitsu.com.
+
+2008-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * intl/dcigettext.c (_nl_find_msg): Reread nconversions after
+ acquiring wrlock. Do conv_tab allocation while holding lock.
+ * intl/Makefile: Add rules to build and run tst-gettext6.
+ * intl/tst-gettext6.c: New test.
+ * intl/tst-gettext6.sh: New file.
+
+2008-03-30 Ulrich Drepper <drepper@redhat.com>
+
+ * po/nl.po: Update from translation team.
+
+ * sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size
+ provided through st_blksize, try the default size before giving up.
+
+2008-03-29 Ulrich Drepper <drepper@redhat.com>
+
+ * stdio-common/vfprintf.c (vfprintf): Correct overflow test.
+
+ [BZ #5939]
+ * sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.
+
+ * posix/getopt.c (_getopt_internal_r): Remove old POSIX-demanded
+ error message. POSIX today does not require the messages to be in
+ a specific form. Suggested by Jim Meyering <jim@meyering.net>.
+
+ [BZ #5979]
+ * sunrpc/auth_unix.c: Unify printed strings.
+ * sunrpc/clnt_tcp.c: Likewise.
+ * sunrpc/clnt_udp.c: Likewise.
+ * sunrpc/clnt_unix.c: Likewise.
+ * sunrpc/svc_tcp.c: Likewise.
+ * sunrpc/svc_udp.c: Likewise.
+ * sunrpc/svc_unix.c: Likewise.
+ * sunrpc/xdr.c: Likewise.
+ * sunrpc/xdr_array.c: Likewise.
+ * sunrpc/xdr_rec.c: Likewise.
+ * sunrpc/xdr_ref.c: Likewise.
+ * locale/programs/ld-time.c (time_finish): Unify messages.
+ * locale/programs/locfile.c (handle_copy): Fix typo.
+ * nscd/nscd.c (options): Fix typo.
+
+ [BZ #5995]
+ * stdlib/strtod_l.c: Use correct sign for result in one more
+ underflow case.
+ Patch by Eric Blake <ebb9@byu.net>.
+
2008-03-27 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
diff --git a/debug/wctomb_chk.c b/debug/wctomb_chk.c
index d0366346b8..23fc2ffbd1 100644
--- a/debug/wctomb_chk.c
+++ b/debug/wctomb_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
#include <wcsmbs/wcsmbsload.h>
-extern mbstate_t __no_r_state attribute_hidden; /* Defined in mbtowc.c. */
+extern mbstate_t __wctomb_state attribute_hidden; /* Defined in wctomb.c. */
int
@@ -32,5 +32,5 @@ __wctomb_chk (char *s, wchar_t wchar, size_t buflen)
if (buflen < MB_CUR_MAX)
__chk_fail ();
- return __wcrtomb (s, wchar, &__no_r_state);
+ return __wcrtomb (s, wchar, &__wctomb_state);
}
diff --git a/fedora/branch.mk b/fedora/branch.mk
index a5124e44db..fc38cf831b 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-f8
-fedora-sync-date := 2008-03-28 13:47 UTC
-fedora-sync-tag := fedora-glibc-20080328T1347
+fedora-sync-date := 2008-04-08 07:06 UTC
+fedora-sync-tag := fedora-glibc-20080408T0706
diff --git a/intl/Makefile b/intl/Makefile
index 9da445aa38..1511edd490 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1995-2003, 2005, 2008 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -32,11 +32,11 @@ distribute = gmo.h gettextP.h hash-string.h loadinfo.h locale.alias \
tst-codeset.sh tstcodeset.po \
tst-gettext3.sh \
tst-gettext4.sh tst-gettext4-de.po tst-gettext4-fr.po \
- tst-gettext5.sh
+ tst-gettext5.sh tst-gettext6.sh
include ../Makeconfig
-multithread-test-srcs := tst-gettext4 tst-gettext5
+multithread-test-srcs := tst-gettext4 tst-gettext5 tst-gettext6
test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tst-gettext3
ifeq ($(have-thread-library),yes)
test-srcs += $(multithread-test-srcs)
@@ -67,7 +67,8 @@ ifneq ($(strip $(MSGFMT)),:)
tests: $(objpfx)tst-translit.out $(objpfx)tst-gettext2.out \
$(objpfx)tst-codeset.out $(objpfx)tst-gettext3.out
ifeq ($(have-thread-library),yes)
-tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out
+tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out \
+ $(objpfx)tst-gettext6.out
endif
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-gettext
@@ -90,6 +91,8 @@ $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
$(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
+$(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6
+ $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
endif
endif
@@ -104,6 +107,7 @@ CFLAGS-tst-codeset.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext3.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext4.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext5.c = -DOBJPFX=\"$(objpfx)\"
+CFLAGS-tst-gettext6.c = -DOBJPFX=\"$(objpfx)\"
ifeq ($(have-thread-library),yes)
ifeq (yes,$(build-shared))
@@ -122,6 +126,7 @@ $(objpfx)tst-codeset.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext3.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext4.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext5.out: $(objpfx)tst-gettext.out
+$(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
CPPFLAGS += -D'LOCALEDIR="$(msgcatdir)"' \
-D'LOCALE_ALIAS_PATH="$(msgcatdir)"'
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 7004cd49cf..e0782446e4 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -1,5 +1,6 @@
/* Implementation of the internal dcigettext function.
- Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -449,6 +450,11 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
: n == 1 ? (char *) msgid1 : (char *) msgid2);
#endif
+#ifdef _LIBC
+ __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden)
+ __libc_rwlock_rdlock (__libc_setlocale_lock);
+#endif
+
__libc_rwlock_rdlock (_nl_state_lock);
/* If DOMAINNAME is NULL, we are interested in the default domain. If
@@ -466,7 +472,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
search.category = category;
# ifdef HAVE_PER_THREAD_LOCALE
# ifdef _LIBC
- localename = __current_locale_name (category);
+ localename = strdupa (__current_locale_name (category));
# endif
search.localename = localename;
# endif
@@ -489,6 +495,9 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
else
retval = (char *) (*foundp)->translation;
+# ifdef _LIBC
+ __libc_rwlock_unlock (__libc_setlocale_lock);
+# endif
__libc_rwlock_unlock (_nl_state_lock);
return retval;
}
@@ -548,6 +557,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
/* We cannot get the current working directory. Don't signal an
error but simply return the default string. */
FREE_BLOCKS (block_list);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
__set_errno (saved_errno);
return (plural == 0
@@ -614,6 +624,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
{
no_translation:
FREE_BLOCKS (block_list);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
__set_errno (saved_errno);
return (plural == 0
@@ -727,6 +738,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
if (plural)
retval = plural_lookup (domain, n, retval, retlen);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
return retval;
}
@@ -879,6 +891,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
{
/* We have to allocate a new conversions table. */
__libc_rwlock_wrlock (domain->conversions_lock);
+ nconversions = domain->nconversions;
/* Maybe in the meantime somebody added the translation.
Recheck. */
@@ -1033,6 +1046,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
# endif
)
{
+ __libc_lock_define_initialized (static, lock)
/* We are supposed to do a conversion. First allocate an
appropriate table with the same structure as the table
of translations in the file, where we can put the pointers
@@ -1042,13 +1056,21 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
handle this case by converting RESULTLEN bytes, including
NULs. */
- if (convd->conv_tab == NULL
- && ((convd->conv_tab =
- (char **) calloc (nstrings + domain->n_sysdep_strings,
- sizeof (char *)))
- == NULL))
- /* Mark that we didn't succeed allocating a table. */
- convd->conv_tab = (char **) -1;
+ if (__builtin_expect (convd->conv_tab == NULL, 0))
+ {
+ __libc_lock_lock (lock);
+ if (convd->conv_tab == NULL)
+ {
+ convd->conv_tab
+ = calloc (nstrings + domain->n_sysdep_strings,
+ sizeof (char *));
+ if (convd->conv_tab != NULL)
+ goto not_translated_yet;
+ /* Mark that we didn't succeed allocating a table. */
+ convd->conv_tab = (char **) -1;
+ }
+ __libc_lock_unlock (lock);
+ }
if (__builtin_expect (convd->conv_tab == (char **) -1, 0))
/* Nothing we can do, no more memory. We cannot use the
@@ -1057,12 +1079,14 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
if (convd->conv_tab[act] == NULL)
{
+ __libc_lock_lock (lock);
+ not_translated_yet:;
+
/* We haven't used this string so far, so it is not
translated yet. Do this now. */
/* We use a bit more efficient memory handling.
We allocate always larger blocks which get used over
time. This is faster than many small allocations. */
- __libc_lock_define_initialized (static, lock)
# define INITIAL_BLOCK_SIZE 4080
static unsigned char *freemem;
static size_t freemem_size;
@@ -1074,8 +1098,6 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
transmem_block_t *transmem_list = NULL;
# endif
- __libc_lock_lock (lock);
-
inbuf = (const unsigned char *) result;
outbuf = freemem + sizeof (size_t);
diff --git a/intl/tst-gettext6.c b/intl/tst-gettext6.c
new file mode 100644
index 0000000000..39611aa3b6
--- /dev/null
+++ b/intl/tst-gettext6.c
@@ -0,0 +1,86 @@
+/* Test that gettext() in multithreaded applications works correctly.
+ Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@redhat.com>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <libintl.h>
+#include <locale.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include <unistd.h>
+
+pthread_barrier_t b;
+
+static void *
+tf (void *arg)
+{
+ pthread_barrier_wait (&b);
+ return gettext ("Operation not permitted");
+}
+
+int
+test (void)
+{
+ pthread_t th[4];
+ unsetenv ("LANGUAGE");
+ unsetenv ("OUTPUT_CHARSET");
+ textdomain ("tstgettext6");
+ bindtextdomain ("tstgettext6", OBJPFX "domaindir");
+ setlocale (LC_ALL, "ja_JP.UTF-8");
+ pthread_barrier_init (&b, NULL, 4);
+ for (int i = 0; i < 4; i++)
+ if (pthread_create (&th[i], NULL, tf, NULL))
+ {
+ puts ("pthread_create failed");
+ return 1;
+ }
+ for (int i = 0; i < 4; i++)
+ pthread_join (th[i], NULL);
+ return 0;
+}
+
+int
+main (void)
+{
+ for (int i = 0; i < 300; i++)
+ {
+ pid_t p = fork ();
+ if (p == -1)
+ {
+ printf ("fork failed: %m\n");
+ return 1;
+ }
+ if (p == 0)
+ _exit (test ());
+ int status;
+ wait (&status);
+ if (WIFEXITED (status) && WEXITSTATUS (status) != 0)
+ {
+ printf ("child exited with %d\n", WEXITSTATUS (status));
+ return 1;
+ }
+ else if (WIFSIGNALED (status))
+ {
+ printf ("child killed by signal %d\n", WTERMSIG (status));
+ return 1;
+ }
+ }
+ return 0;
+}
diff --git a/intl/tst-gettext6.sh b/intl/tst-gettext6.sh
new file mode 100644
index 0000000000..95e5ff91a8
--- /dev/null
+++ b/intl/tst-gettext6.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Test that gettext() in multithreaded applications works correctly.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+#
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
+
+common_objpfx=$1
+run_program_prefix=$2
+objpfx=$3
+
+LC_ALL=C
+export LC_ALL
+
+# Create the domain directory.
+mkdir -p ${objpfx}domaindir/ja_JP/LC_MESSAGES
+# Populate it.
+msgfmt -o ${objpfx}domaindir/ja_JP/LC_MESSAGES/tstgettext6.mo ../po/ja.po
+
+GCONV_PATH=${common_objpfx}iconvdata
+export GCONV_PATH
+LOCPATH=${common_objpfx}localedata
+export LOCPATH
+
+${run_program_prefix} ${objpfx}tst-gettext6 > ${objpfx}tst-gettext6.out
+
+exit $?
diff --git a/locale/duplocale.c b/locale/duplocale.c
index 0cec09f63a..61782590d7 100644
--- a/locale/duplocale.c
+++ b/locale/duplocale.c
@@ -1,5 +1,5 @@
/* Duplicate handle for selection of locales.
- Copyright (C) 1997, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1997,2000,2001,2002,2005,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -27,7 +27,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
__locale_t
@@ -54,7 +54,7 @@ __duplocale (__locale_t dataset)
char *namep = (char *) (result + 1);
/* We modify global data (the usage counts). */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
for (cnt = 0; cnt < __LC_LAST; ++cnt)
if (cnt != LC_ALL)
@@ -78,7 +78,7 @@ __duplocale (__locale_t dataset)
result->__ctype_toupper = dataset->__ctype_toupper;
/* It's done. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
}
return result;
diff --git a/locale/freelocale.c b/locale/freelocale.c
index 7430455d56..97a8ee8a5e 100644
--- a/locale/freelocale.c
+++ b/locale/freelocale.c
@@ -1,5 +1,5 @@
/* Free data allocated by a call to setlocale_r
- Copyright (C) 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1996,1997,2000,2002,2005,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -26,7 +26,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
void
@@ -39,7 +39,7 @@ __freelocale (__locale_t dataset)
return;
/* We modify global data (the usage counts). */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
for (cnt = 0; cnt < __LC_LAST; ++cnt)
if (cnt != LC_ALL && dataset->__locales[cnt]->usage_count != UNDELETABLE)
@@ -47,7 +47,7 @@ __freelocale (__locale_t dataset)
_nl_remove_locale (cnt, dataset->__locales[cnt]);
/* It's done. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the locale_t handle itself. */
free (dataset);
diff --git a/locale/newlocale.c b/locale/newlocale.c
index 0c31ba48ae..da142f2912 100644
--- a/locale/newlocale.c
+++ b/locale/newlocale.c
@@ -1,5 +1,5 @@
/* Return a reference to locale information record.
- Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006
+ Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -30,7 +30,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
/* Use this when we come along an error. */
@@ -162,7 +162,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
}
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
/* Now process all categories we are interested in. */
names_len = 0;
@@ -183,7 +183,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
_nl_remove_locale (cnt, result.__locales[cnt]);
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
return NULL;
}
@@ -263,7 +263,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
}
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Update the special members. */
update:
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
index f040c93474..3a00d26f30 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
@@ -433,7 +433,7 @@ No definition for %s category found"), "LC_TIME"));
&& !__isleap (time->era_entries[idx].stop_date[0])))
&& !be_quiet)
WITH_CUR_LOCALE (error (0, 0, _("\
-%s: stopping date is invalid in string %Zd in `era' field"),
+%s: invalid stopping date in string %Zd in `era' field"),
"LC_TIME", idx + 1));
}
}
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
index 17cd0209a4..928048b377 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -779,7 +779,7 @@ handle_copy (struct linereader *ldfile, const struct charmap_t *charmap,
now = lr_token (ldfile, charmap, result, NULL, verbose);
if (now->tok != tok_string)
- lr_error (ldfile, _("expect string argument for `copy'"));
+ lr_error (ldfile, _("expecting string argument for `copy'"));
else if (!ignore_content)
{
if (now->val.str.startmb == NULL)
diff --git a/locale/setlocale.c b/locale/setlocale.c
index c1b8c3faec..767a5aab6b 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006
+/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -123,7 +123,7 @@ static void (*const _nl_category_postload[]) (void) =
/* Lock for protecting global data. */
-__libc_lock_define_initialized (, __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define_initialized (, __libc_setlocale_lock attribute_hidden)
/* Defined in loadmsgcat.c. */
extern int _nl_msg_cat_cntr;
@@ -314,7 +314,7 @@ setlocale (int category, const char *locale)
}
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
/* Load the new data for each category. */
while (category-- > 0)
@@ -381,7 +381,7 @@ setlocale (int category, const char *locale)
free ((char *) newnames[category]);
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the resources (the locale path variable). */
free (locale_path);
@@ -394,7 +394,7 @@ setlocale (int category, const char *locale)
const char *newname[1] = { locale };
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
if (CATEGORY_USED (category))
{
@@ -446,7 +446,7 @@ setlocale (int category, const char *locale)
}
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the resources (the locale path variable. */
free (locale_path);
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 976eb470e8..52cb387c98 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,26 @@
+2008-04-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #6021]
+ * locales/es_ES: Fix p_cs_precedes and n_cs_precedes.
+ Use common collation definition.
+
+ [BZ #6004]
+ * locales/iso14651_t1_common: Fix first weight for U+1E60, U+1E62,
+ U+1E64, U+1E66, and U+1E68.
+ Patch by Jesse Thilo <unixweenie@gmail.com>.
+
+ [BZ #5478]
+ * locales/hu_HU: Fix name_fmt.
+
+2008-03-31 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/iso14651_t1_common: Add support for Gujarati script.
+ Patch by Pravin Satpute <psatpute@redhat.com>.
+
+2008-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile (LOCALES): Add ja_JP.UTF-8.
+
2008-03-23 Ulrich Drepper <drepper@redhat.com>
* locales/iso14651_t1_common: Add support for Devanagari script.
diff --git a/localedata/Makefile b/localedata/Makefile
index 8d51b5a4d8..d3c5e7e9b0 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -133,7 +133,8 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
- tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8
+ tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \
+ ja_JP.UTF-8
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
diff --git a/localedata/locales/es_ES b/localedata/locales/es_ES
index feefeec788..01e13dfc75 100644
--- a/localedata/locales/es_ES
+++ b/localedata/locales/es_ES
@@ -48,2068 +48,8 @@ category "es_ES:2000";LC_TELEPHONE
END LC_IDENTIFICATION
LC_COLLATE
-
-% Base collation scheme: 1994-03-22
-
-% Ordering algorithm:
-% 1. Spaces and hyphen (but not soft
-% hyphen) before punctuation
-% characters, punctuation characters
-% before numbers,
-% numbers before letters.
-% 2. Letters with diacritical marks are
-% members of equivalence classes
-% 3. A distinction is made with regards
-% to case as noted below.
-% 4. Special characters are ignored
-% when comparing letters, but then
-% they are considered
-% 5. The alphabets are sorted in order
-% of first appearance in ISO 10646:
-% Latin, Greek, Cyrillic, etc.
-%
-% According to Greek specifications,
-% the steps 2. and 3. above are reversed
-% for the Greek script
-
-% collating symbols
-
-% The collating symbol naming is
-% mostly taken from ISO 10646-1,
-% for example the case and accent
-% names are from this standard.
-
-collating-symbol <CAPITAL>
-collating-symbol <CAPITAL-SMALL>
-collating-symbol <SMALL-CAPITAL>
-collating-symbol <SMALL>
-
-% <CAPITAL-SMALL> and <SMALL-CAPITAL>
-% are for cases like Danish <U0041><U0061>
-% and Spanish <U0043><U0068> being treated
-% as one letter.
-
-% The <a8> ...... <z8> collating
-% symbols have defined weights as
-% the last character in a group of
-% Latin letters. They are used
-% to specify deltas by locales using
-% a locale as the default ordering
-% and by "replace-after" statements
-% specifying the changed placement
-% in an ordering of a character.
-
-collating-symbol <a8>
-collating-symbol <b8>
-collating-symbol <c8>
-collating-symbol <d8>
-collating-symbol <e8>
-collating-symbol <f8>
-collating-symbol <g8>
-collating-symbol <h8>
-collating-symbol <i8>
-collating-symbol <j8>
-collating-symbol <k8>
-collating-symbol <l8>
-collating-symbol <m8>
-collating-symbol <n8>
-collating-symbol <o8>
-collating-symbol <p8>
-collating-symbol <q8>
-collating-symbol <r8>
-collating-symbol <s8>
-collating-symbol <t8>
-collating-symbol <u8>
-collating-symbol <v8>
-collating-symbol <w8>
-collating-symbol <x8>
-collating-symbol <y8>
-collating-symbol <z8>
-
-collating-symbol <NONE>
-collating-symbol <ACUTE>
-collating-symbol <ACUTE+DOT>
-collating-symbol <GRAVE>
-collating-symbol <DOUBLE-GRAVE>
-collating-symbol <BREVE>
-collating-symbol <BREVE+ACUTE>
-collating-symbol <BREVE+GRAVE>
-collating-symbol <BREVE+MACRON>
-collating-symbol <BREVE+HOOK>
-collating-symbol <BREVE+TILDE>
-collating-symbol <BREVE+DOT-BELOW>
-collating-symbol <BREVE-BELOW>
-collating-symbol <INVERTED-BREVE>
-collating-symbol <CIRCUMFLEX>
-collating-symbol <CIRCUMFLEX+ACUTE>
-collating-symbol <CIRCUMFLEX+GRAVE>
-collating-symbol <CIRCUMFLEX+HOOK>
-collating-symbol <CIRCUMFLEX+TILDE>
-collating-symbol <CIRCUMFLEX+DOT-BELOW>
-collating-symbol <CARON>
-collating-symbol <CARON+DIAERESIS>
-collating-symbol <CARON+DOT>
-collating-symbol <RING>
-collating-symbol <RING+ACUTE>
-collating-symbol <RING-BELOW>
-collating-symbol <DIAERESIS>
-collating-symbol <DIAERESIS+MACRON>
-collating-symbol <DIAERESIS+ACUTE>
-collating-symbol <DIAERESIS+GRAVE>
-collating-symbol <DIAERESIS+CARON>
-collating-symbol <DOUBLE-ACUTE>
-collating-symbol <HOOK>
-collating-symbol <TILDE>
-collating-symbol <TILDE+ACUTE>
-collating-symbol <TILDE+DIAERESIS>
-collating-symbol <TILDE-BELOW>
-collating-symbol <DOT>
-collating-symbol <DOT-BELOW>
-collating-symbol <DOT+DOT-BELOW>
-collating-symbol <STROKE>
-collating-symbol <STROKE+ACUTE>
-collating-symbol <CEDILLA>
-collating-symbol <CEDILLA+ACUTE>
-collating-symbol <CEDILLA+GRAVE>
-collating-symbol <CEDILLA+BREVE>
-collating-symbol <OGONEK>
-collating-symbol <OGONEK+MACRON>
-collating-symbol <MACRON>
-collating-symbol <MACRON+ACUTE>
-collating-symbol <MACRON+GRAVE>
-collating-symbol <MACRON+DIAERESIS>
-collating-symbol <MACRON+DIAERESIS-BELOW>
-collating-symbol <MACRON+DOT>
-collating-symbol <MACRON+DOT-BELOW>
-collating-symbol <MACRON+CIRCUMFLEX>
-collating-symbol <LINE-BELOW>
-collating-symbol <HORN>
-collating-symbol <HORN+ACUTE>
-collating-symbol <HORN+GRAVE>
-collating-symbol <HORN+HOOK>
-collating-symbol <HORN+TILDE>
-collating-symbol <HORN+DOT-BELOW>
-collating-symbol <PRECEDED-BY-APOSTROPHE>
-collating-symbol <GREEK>
-collating-symbol <TONOS>
-collating-symbol <DIALYTICA>
-collating-symbol <DIALYTICA+TONOS>
-collating-symbol <CYRILLIC>
-collating-symbol <HIRAGANA>
-collating-symbol <KATAKANA>
-collating-symbol <SPECIAL>
-
-% letter;accent;case;specials
-
-order_start forward;backward/
- ;forward;position
-
-% <CAPITAL> or <SMALL> letters first:
-
-<SMALL>
-<SMALL-CAPITAL>
-<CAPITAL-SMALL>
-<CAPITAL>
-
-% Accents:
-
-<NONE>
-<ACUTE>
-<ACUTE+DOT>
-<GRAVE>
-<DOUBLE-GRAVE>
-<BREVE>
-<BREVE+ACUTE>
-<BREVE+GRAVE>
-<BREVE+MACRON>
-<BREVE+HOOK>
-<BREVE+TILDE>
-<BREVE+DOT-BELOW>
-<BREVE-BELOW>
-<INVERTED-BREVE>
-<CIRCUMFLEX>
-<CIRCUMFLEX+ACUTE>
-<CIRCUMFLEX+GRAVE>
-<CIRCUMFLEX+HOOK>
-<CIRCUMFLEX+TILDE>
-<CIRCUMFLEX+DOT-BELOW>
-<CARON>
-<CARON+DIAERESIS>
-<CARON+DOT>
-<RING>
-<RING+ACUTE>
-<RING-BELOW>
-<DIAERESIS>
-<DIAERESIS+MACRON>
-<DIAERESIS+ACUTE>
-<DIAERESIS+GRAVE>
-<DIAERESIS+CARON>
-<DOUBLE-ACUTE>
-<HOOK>
-<TILDE>
-<TILDE+ACUTE>
-<TILDE+DIAERESIS>
-<TILDE-BELOW>
-<DOT>
-<DOT-BELOW>
-<DOT+DOT-BELOW>
-<STROKE>
-<STROKE+ACUTE>
-<CEDILLA>
-<CEDILLA+ACUTE>
-<CEDILLA+GRAVE>
-<CEDILLA+BREVE>
-<OGONEK>
-<OGONEK+MACRON>
-<MACRON>
-<MACRON+ACUTE>
-<MACRON+GRAVE>
-<MACRON+DIAERESIS>
-<MACRON+DIAERESIS-BELOW>
-<MACRON+DOT>
-<MACRON+DOT-BELOW>
-<MACRON+CIRCUMFLEX>
-<LINE-BELOW>
-<HORN>
-<HORN+ACUTE>
-<HORN+GRAVE>
-<HORN+HOOK>
-<HORN+TILDE>
-<HORN+DOT-BELOW>
-<PRECEDED-BY-APOSTROPHE>
-<GREEK>
-<TONOS>
-<DIALYTICA>
-<DIALYTICA+TONOS>
-<CYRILLIC>
-<HIRAGANA>
-<KATAKANA>
-<SPECIAL>
-
-<U00A0> <U00A0>;<U00A0>;<U00A0>;IGNORE
-<U0020> IGNORE;IGNORE;IGNORE;<U0020>
-<U0009> IGNORE;IGNORE;IGNORE;<U0009>
-<U000B> IGNORE;IGNORE;IGNORE;<U000B>
-<U000D> IGNORE;IGNORE;IGNORE;<U000D>
-<U000A> IGNORE;IGNORE;IGNORE;<U000A>
-<U000C> IGNORE;IGNORE;IGNORE;<U000C>
-<U005F> IGNORE;IGNORE;IGNORE;<U005F>
-<U00AF> IGNORE;IGNORE;IGNORE;<U00AF>
-<U00AD> IGNORE;IGNORE;IGNORE;<U00AD>
-<U002D> IGNORE;IGNORE;IGNORE;<U002D>
-<U002C> IGNORE;IGNORE;IGNORE;<U002C>
-<U003B> IGNORE;IGNORE;IGNORE;<U003B>
-<U003A> IGNORE;IGNORE;IGNORE;<U003A>
-<U0021> IGNORE;IGNORE;IGNORE;<U0021>
-<U00A1> IGNORE;IGNORE;IGNORE;<U00A1>
-<U003F> IGNORE;IGNORE;IGNORE;<U003F>
-<U00BF> IGNORE;IGNORE;IGNORE;<U00BF>
-<U002F> IGNORE;IGNORE;IGNORE;<U002F>
-<U002E> IGNORE;IGNORE;IGNORE;<U002E>
-<U00B4> IGNORE;IGNORE;IGNORE;<U00B4>
-<U0060> IGNORE;IGNORE;IGNORE;<U0060>
-<U005E> IGNORE;IGNORE;IGNORE;<U005E>
-<U00A8> IGNORE;IGNORE;IGNORE;<U00A8>
-<U007E> IGNORE;IGNORE;IGNORE;<U007E>
-<U00B7> IGNORE;IGNORE;IGNORE;<U00B7>
-<U00B8> IGNORE;IGNORE;IGNORE;<U00B8>
-<U0027> IGNORE;IGNORE;IGNORE;<U0027>
-<U2018> IGNORE;IGNORE;IGNORE;<U2018>
-<U2019> IGNORE;IGNORE;IGNORE;<U2019>
-<U0022> IGNORE;IGNORE;IGNORE;<U0022>
-<U201C> IGNORE;IGNORE;IGNORE;<U201C>
-<U201D> IGNORE;IGNORE;IGNORE;<U201D>
-<U00AB> IGNORE;IGNORE;IGNORE;<U00AB>
-<U00BB> IGNORE;IGNORE;IGNORE;<U00BB>
-<U0028> IGNORE;IGNORE;IGNORE;<U0028>
-<U207D> IGNORE;IGNORE;IGNORE;<U207D>
-<U0029> IGNORE;IGNORE;IGNORE;<U0029>
-<U207E> IGNORE;IGNORE;IGNORE;<U207E>
-<U005B> IGNORE;IGNORE;IGNORE;<U005B>
-<U005D> IGNORE;IGNORE;IGNORE;<U005D>
-<U007B> IGNORE;IGNORE;IGNORE;<U007B>
-<U007D> IGNORE;IGNORE;IGNORE;<U007D>
-<U00A7> IGNORE;IGNORE;IGNORE;<U00A7>
-<U00B6> IGNORE;IGNORE;IGNORE;<U00B6>
-<U00A9> IGNORE;IGNORE;IGNORE;<U00A9>
-<U00AE> IGNORE;IGNORE;IGNORE;<U00AE>
-<U0040> IGNORE;IGNORE;IGNORE;<U0040>
-<U00A4> IGNORE;IGNORE;IGNORE;<U00A4>
-<U00A2> IGNORE;IGNORE;IGNORE;<U00A2>
-<U0024> IGNORE;IGNORE;IGNORE;<U0024>
-<U00A3> IGNORE;IGNORE;IGNORE;<U00A3>
-<U00A5> IGNORE;IGNORE;IGNORE;<U00A5>
-<U002A> IGNORE;IGNORE;IGNORE;<U002A>
-<U005C> IGNORE;IGNORE;IGNORE;<U005C>
-<U0026> IGNORE;IGNORE;IGNORE;<U0026>
-<U0023> IGNORE;IGNORE;IGNORE;<U0023>
-<U0025> IGNORE;IGNORE;IGNORE;<U0025>
-<U207B> IGNORE;IGNORE;IGNORE;<U207B>
-<U002B> IGNORE;IGNORE;IGNORE;<U002B>
-<U207A> IGNORE;IGNORE;IGNORE;<U207A>
-<U00B1> IGNORE;IGNORE;IGNORE;<U00B1>
-<U00F7> IGNORE;IGNORE;IGNORE;<U00F7>
-<U00D7> IGNORE;IGNORE;IGNORE;<U00D7>
-<U2260> IGNORE;IGNORE;IGNORE;<U2260>
-<U003C> IGNORE;IGNORE;IGNORE;<U003C>
-<U2264> IGNORE;IGNORE;IGNORE;<U2264>
-<U003D> IGNORE;IGNORE;IGNORE;<U003D>
-<U2265> IGNORE;IGNORE;IGNORE;<U2265>
-<U003E> IGNORE;IGNORE;IGNORE;<U003E>
-<U00AC> IGNORE;IGNORE;IGNORE;<U00AC>
-<U007C> IGNORE;IGNORE;IGNORE;<U007C>
-<U00A6> IGNORE;IGNORE;IGNORE;<U00A6>
-<U00B0> IGNORE;IGNORE;IGNORE;<U00B0>
-<U00B5> IGNORE;IGNORE;IGNORE;<U00B5>
-<U02C7> IGNORE;IGNORE;IGNORE;<U02C7>
-<U02D8> IGNORE;IGNORE;IGNORE;<U02D8>
-<U02D9> IGNORE;IGNORE;IGNORE;<U02D9>
-<U02DA> IGNORE;IGNORE;IGNORE;<U02DA>
-<U02DB> IGNORE;IGNORE;IGNORE;<U02DB>
-<U02DC> IGNORE;IGNORE;IGNORE;<U02DC>
-<U02DD> IGNORE;IGNORE;IGNORE;<U02DD>
-<U0374> IGNORE;IGNORE;IGNORE;<U0374>
-<U0375> IGNORE;IGNORE;IGNORE;<U0375>
-<U037A> IGNORE;IGNORE;IGNORE;<U037A>
-<U037E> IGNORE;IGNORE;IGNORE;<U037E>
-<U0384> IGNORE;IGNORE;IGNORE;<U0384>
-<U0385> IGNORE;IGNORE;IGNORE;<U0385>
-<U0387> IGNORE;IGNORE;IGNORE;<U0387>
-<U03D0> IGNORE;IGNORE;IGNORE;<U03D0>
-<U1FBF> IGNORE;IGNORE;IGNORE;<U1FBF>
-<U1FC0> IGNORE;IGNORE;IGNORE;<U1FC0>
-<U1FC1> IGNORE;IGNORE;IGNORE;<U1FC1>
-<U1FCD> IGNORE;IGNORE;IGNORE;<U1FCD>
-<U1FCE> IGNORE;IGNORE;IGNORE;<U1FCE>
-<U1FCF> IGNORE;IGNORE;IGNORE;<U1FCF>
-<U1FDD> IGNORE;IGNORE;IGNORE;<U1FDD>
-<U1FDE> IGNORE;IGNORE;IGNORE;<U1FDE>
-<U1FDF> IGNORE;IGNORE;IGNORE;<U1FDF>
-<U1FED> IGNORE;IGNORE;IGNORE;<U1FED>
-<U1FEF> IGNORE;IGNORE;IGNORE;<U1FEF>
-<U1FFE> IGNORE;IGNORE;IGNORE;<U1FFE>
-<U2002> IGNORE;IGNORE;IGNORE;<U2002>
-<U2003> IGNORE;IGNORE;IGNORE;<U2003>
-<U2004> IGNORE;IGNORE;IGNORE;<U2004>
-<U2005> IGNORE;IGNORE;IGNORE;<U2005>
-<U2006> IGNORE;IGNORE;IGNORE;<U2006>
-<U200E> IGNORE;IGNORE;IGNORE;<U200E>
-<U200F> IGNORE;IGNORE;IGNORE;<U200F>
-<U2009> IGNORE;IGNORE;IGNORE;<U2009>
-<U200A> IGNORE;IGNORE;IGNORE;<U200A>
-<U2010> IGNORE;IGNORE;IGNORE;<U2010>
-<U2013> IGNORE;IGNORE;IGNORE;<U2013>
-<U2014> IGNORE;IGNORE;IGNORE;<U2014>
-<U2015> IGNORE;IGNORE;IGNORE;<U2015>
-<U2016> IGNORE;IGNORE;IGNORE;<U2016>
-<U2017> IGNORE;IGNORE;IGNORE;<U2017>
-<U201A> IGNORE;IGNORE;IGNORE;<U201A>
-<U201B> IGNORE;IGNORE;IGNORE;<U201B>
-<U201E> IGNORE;IGNORE;IGNORE;<U201E>
-<U201F> IGNORE;IGNORE;IGNORE;<U201F>
-<U2020> IGNORE;IGNORE;IGNORE;<U2020>
-<U2021> IGNORE;IGNORE;IGNORE;<U2021>
-<U2219> IGNORE;IGNORE;IGNORE;<U2219>
-<U2025> IGNORE;IGNORE;IGNORE;<U2025>
-<U2026> IGNORE;IGNORE;IGNORE;<U2026>
-<U2030> IGNORE;IGNORE;IGNORE;<U2030>
-<U2032> IGNORE;IGNORE;IGNORE;<U2032>
-<U2033> IGNORE;IGNORE;IGNORE;<U2033>
-<U2034> IGNORE;IGNORE;IGNORE;<U2034>
-<U2035> IGNORE;IGNORE;IGNORE;<U2035>
-<U2036> IGNORE;IGNORE;IGNORE;<U2036>
-<U2037> IGNORE;IGNORE;IGNORE;<U2037>
-<U2038> IGNORE;IGNORE;IGNORE;<U2038>
-<U2039> IGNORE;IGNORE;IGNORE;<U2039>
-<U203A> IGNORE;IGNORE;IGNORE;<U203A>
-<U203B> IGNORE;IGNORE;IGNORE;<U203B>
-<U203C> IGNORE;IGNORE;IGNORE;<U203C>
-<U203E> IGNORE;IGNORE;IGNORE;<U203E>
-<U207C> IGNORE;IGNORE;IGNORE;<U207C>
-<U2080> IGNORE;IGNORE;IGNORE;<U2080>
-<U2081> IGNORE;IGNORE;IGNORE;<U2081>
-<U2082> IGNORE;IGNORE;IGNORE;<U2082>
-<U2083> IGNORE;IGNORE;IGNORE;<U2083>
-<U2084> IGNORE;IGNORE;IGNORE;<U2084>
-<U2085> IGNORE;IGNORE;IGNORE;<U2085>
-<U2086> IGNORE;IGNORE;IGNORE;<U2086>
-<U2087> IGNORE;IGNORE;IGNORE;<U2087>
-<U2088> IGNORE;IGNORE;IGNORE;<U2088>
-<U2089> IGNORE;IGNORE;IGNORE;<U2089>
-<U208A> IGNORE;IGNORE;IGNORE;<U208A>
-<U208B> IGNORE;IGNORE;IGNORE;<U208B>
-<U208C> IGNORE;IGNORE;IGNORE;<U208C>
-<U208D> IGNORE;IGNORE;IGNORE;<U208D>
-<U208E> IGNORE;IGNORE;IGNORE;<U208E>
-<U20A3> IGNORE;IGNORE;IGNORE;<U20A3>
-<U20A4> IGNORE;IGNORE;IGNORE;<U20A4>
-<U20A7> IGNORE;IGNORE;IGNORE;<U20A7>
-<U20A9> IGNORE;IGNORE;IGNORE;<U20A9>
-<U2103> IGNORE;IGNORE;IGNORE;<U2103>
-<U2105> IGNORE;IGNORE;IGNORE;<U2105>
-<U2109> IGNORE;IGNORE;IGNORE;<U2109>
-<U2116> IGNORE;IGNORE;IGNORE;<U2116>
-<U2117> IGNORE;IGNORE;IGNORE;<U2117>
-<U211E> IGNORE;IGNORE;IGNORE;<U211E>
-<U2120> IGNORE;IGNORE;IGNORE;<U2120>
-<U2122> IGNORE;IGNORE;IGNORE;<U2122>
-<U2126> IGNORE;IGNORE;IGNORE;<U2126>
-<U212B> IGNORE;IGNORE;IGNORE;<U212B>
-<U2153> IGNORE;IGNORE;IGNORE;<U2153>
-<U2154> IGNORE;IGNORE;IGNORE;<U2154>
-<U2155> IGNORE;IGNORE;IGNORE;<U2155>
-<U2156> IGNORE;IGNORE;IGNORE;<U2156>
-<U2157> IGNORE;IGNORE;IGNORE;<U2157>
-<U2158> IGNORE;IGNORE;IGNORE;<U2158>
-<U2159> IGNORE;IGNORE;IGNORE;<U2159>
-<U215A> IGNORE;IGNORE;IGNORE;<U215A>
-<U2160> IGNORE;IGNORE;IGNORE;<U2160>
-<U2161> IGNORE;IGNORE;IGNORE;<U2161>
-<U2162> IGNORE;IGNORE;IGNORE;<U2162>
-<U2163> IGNORE;IGNORE;IGNORE;<U2163>
-<U2164> IGNORE;IGNORE;IGNORE;<U2164>
-<U2165> IGNORE;IGNORE;IGNORE;<U2165>
-<U2166> IGNORE;IGNORE;IGNORE;<U2166>
-<U2167> IGNORE;IGNORE;IGNORE;<U2167>
-<U2168> IGNORE;IGNORE;IGNORE;<U2168>
-<U2169> IGNORE;IGNORE;IGNORE;<U2169>
-<U216A> IGNORE;IGNORE;IGNORE;<U216A>
-<U216B> IGNORE;IGNORE;IGNORE;<U216B>
-<U216C> IGNORE;IGNORE;IGNORE;<U216C>
-<U216D> IGNORE;IGNORE;IGNORE;<U216D>
-<U216E> IGNORE;IGNORE;IGNORE;<U216E>
-<U216F> IGNORE;IGNORE;IGNORE;<U216F>
-<U2170> IGNORE;IGNORE;IGNORE;<U2170>
-<U2171> IGNORE;IGNORE;IGNORE;<U2171>
-<U2172> IGNORE;IGNORE;IGNORE;<U2172>
-<U2173> IGNORE;IGNORE;IGNORE;<U2173>
-<U2174> IGNORE;IGNORE;IGNORE;<U2174>
-<U2175> IGNORE;IGNORE;IGNORE;<U2175>
-<U2176> IGNORE;IGNORE;IGNORE;<U2176>
-<U2177> IGNORE;IGNORE;IGNORE;<U2177>
-<U2178> IGNORE;IGNORE;IGNORE;<U2178>
-<U2179> IGNORE;IGNORE;IGNORE;<U2179>
-<U217A> IGNORE;IGNORE;IGNORE;<U217A>
-<U217B> IGNORE;IGNORE;IGNORE;<U217B>
-<U217C> IGNORE;IGNORE;IGNORE;<U217C>
-<U217D> IGNORE;IGNORE;IGNORE;<U217D>
-<U217E> IGNORE;IGNORE;IGNORE;<U217E>
-<U217F> IGNORE;IGNORE;IGNORE;<U217F>
-<U2180> IGNORE;IGNORE;IGNORE;<U2180>
-<U2181> IGNORE;IGNORE;IGNORE;<U2181>
-<U2182> IGNORE;IGNORE;IGNORE;<U2182>
-<U2191> IGNORE;IGNORE;IGNORE;<U2191>
-<U2193> IGNORE;IGNORE;IGNORE;<U2193>
-<U2194> IGNORE;IGNORE;IGNORE;<U2194>
-<U2195> IGNORE;IGNORE;IGNORE;<U2195>
-<U2196> IGNORE;IGNORE;IGNORE;<U2196>
-<U2197> IGNORE;IGNORE;IGNORE;<U2197>
-<U2198> IGNORE;IGNORE;IGNORE;<U2198>
-<U2199> IGNORE;IGNORE;IGNORE;<U2199>
-<U21A8> IGNORE;IGNORE;IGNORE;<U21A8>
-<U21C0> IGNORE;IGNORE;IGNORE;<U21C0>
-<U21D0> IGNORE;IGNORE;IGNORE;<U21D0>
-<U21D2> IGNORE;IGNORE;IGNORE;<U21D2>
-<U21D4> IGNORE;IGNORE;IGNORE;<U21D4>
-<U2200> IGNORE;IGNORE;IGNORE;<U2200>
-<U2202> IGNORE;IGNORE;IGNORE;<U2202>
-<U2203> IGNORE;IGNORE;IGNORE;<U2203>
-<U2205> IGNORE;IGNORE;IGNORE;<U2205>
-<U2206> IGNORE;IGNORE;IGNORE;<U2206>
-<U2207> IGNORE;IGNORE;IGNORE;<U2207>
-<U2208> IGNORE;IGNORE;IGNORE;<U2208>
-<U220B> IGNORE;IGNORE;IGNORE;<U220B>
-<U220F> IGNORE;IGNORE;IGNORE;<U220F>
-<U2211> IGNORE;IGNORE;IGNORE;<U2211>
-<U2212> IGNORE;IGNORE;IGNORE;<U2212>
-<U2213> IGNORE;IGNORE;IGNORE;<U2213>
-<U2214> IGNORE;IGNORE;IGNORE;<U2214>
-<U2044> IGNORE;IGNORE;IGNORE;<U2044>
-<U2217> IGNORE;IGNORE;IGNORE;<U2217>
-<U2218> IGNORE;IGNORE;IGNORE;<U2218>
-<U2022> IGNORE;IGNORE;IGNORE;<U2022>
-<U221A> IGNORE;IGNORE;IGNORE;<U221A>
-<U221D> IGNORE;IGNORE;IGNORE;<U221D>
-<U221E> IGNORE;IGNORE;IGNORE;<U221E>
-<U221F> IGNORE;IGNORE;IGNORE;<U221F>
-<U2220> IGNORE;IGNORE;IGNORE;<U2220>
-<U2225> IGNORE;IGNORE;IGNORE;<U2225>
-<U2227> IGNORE;IGNORE;IGNORE;<U2227>
-<U2228> IGNORE;IGNORE;IGNORE;<U2228>
-<U2229> IGNORE;IGNORE;IGNORE;<U2229>
-<U222A> IGNORE;IGNORE;IGNORE;<U222A>
-<U222B> IGNORE;IGNORE;IGNORE;<U222B>
-<U222C> IGNORE;IGNORE;IGNORE;<U222C>
-<U222E> IGNORE;IGNORE;IGNORE;<U222E>
-<U2234> IGNORE;IGNORE;IGNORE;<U2234>
-<U2235> IGNORE;IGNORE;IGNORE;<U2235>
-<U2236> IGNORE;IGNORE;IGNORE;<U2236>
-<U2237> IGNORE;IGNORE;IGNORE;<U2237>
-<U223C> IGNORE;IGNORE;IGNORE;<U223C>
-<U223E> IGNORE;IGNORE;IGNORE;<U223E>
-<U2243> IGNORE;IGNORE;IGNORE;<U2243>
-<U2245> IGNORE;IGNORE;IGNORE;<U2245>
-<U2248> IGNORE;IGNORE;IGNORE;<U2248>
-<U224C> IGNORE;IGNORE;IGNORE;<U224C>
-<U2253> IGNORE;IGNORE;IGNORE;<U2253>
-<U2261> IGNORE;IGNORE;IGNORE;<U2261>
-<U226A> IGNORE;IGNORE;IGNORE;<U226A>
-<U226B> IGNORE;IGNORE;IGNORE;<U226B>
-<U226E> IGNORE;IGNORE;IGNORE;<U226E>
-<U226F> IGNORE;IGNORE;IGNORE;<U226F>
-<U2282> IGNORE;IGNORE;IGNORE;<U2282>
-<U2283> IGNORE;IGNORE;IGNORE;<U2283>
-<U2286> IGNORE;IGNORE;IGNORE;<U2286>
-<U2287> IGNORE;IGNORE;IGNORE;<U2287>
-<U2299> IGNORE;IGNORE;IGNORE;<U2299>
-<U229A> IGNORE;IGNORE;IGNORE;<U229A>
-<U22A5> IGNORE;IGNORE;IGNORE;<U22A5>
-<U22C5> IGNORE;IGNORE;IGNORE;<U22C5>
-<U22EE> IGNORE;IGNORE;IGNORE;<U22EE>
-<U2302> IGNORE;IGNORE;IGNORE;<U2302>
-<U2308> IGNORE;IGNORE;IGNORE;<U2308>
-<U2309> IGNORE;IGNORE;IGNORE;<U2309>
-<U230A> IGNORE;IGNORE;IGNORE;<U230A>
-<U230B> IGNORE;IGNORE;IGNORE;<U230B>
-<U2310> IGNORE;IGNORE;IGNORE;<U2310>
-<U2312> IGNORE;IGNORE;IGNORE;<U2312>
-<U2315> IGNORE;IGNORE;IGNORE;<U2315>
-<U2320> IGNORE;IGNORE;IGNORE;<U2320>
-<U2321> IGNORE;IGNORE;IGNORE;<U2321>
-<U2423> IGNORE;IGNORE;IGNORE;<U2423>
-<U2440> IGNORE;IGNORE;IGNORE;<U2440>
-<U2441> IGNORE;IGNORE;IGNORE;<U2441>
-<U2442> IGNORE;IGNORE;IGNORE;<U2442>
-<U2443> IGNORE;IGNORE;IGNORE;<U2443>
-<U2446> IGNORE;IGNORE;IGNORE;<U2446>
-<U2447> IGNORE;IGNORE;IGNORE;<U2447>
-<U2448> IGNORE;IGNORE;IGNORE;<U2448>
-<U2449> IGNORE;IGNORE;IGNORE;<U2449>
-<U2460> IGNORE;IGNORE;IGNORE;<U2460>
-<U2461> IGNORE;IGNORE;IGNORE;<U2461>
-<U2462> IGNORE;IGNORE;IGNORE;<U2462>
-<U2463> IGNORE;IGNORE;IGNORE;<U2463>
-<U2464> IGNORE;IGNORE;IGNORE;<U2464>
-<U2465> IGNORE;IGNORE;IGNORE;<U2465>
-<U2466> IGNORE;IGNORE;IGNORE;<U2466>
-<U2467> IGNORE;IGNORE;IGNORE;<U2467>
-<U2468> IGNORE;IGNORE;IGNORE;<U2468>
-<U2469> IGNORE;IGNORE;IGNORE;<U2469>
-<U246A> IGNORE;IGNORE;IGNORE;<U246A>
-<U246B> IGNORE;IGNORE;IGNORE;<U246B>
-<U246C> IGNORE;IGNORE;IGNORE;<U246C>
-<U246D> IGNORE;IGNORE;IGNORE;<U246D>
-<U246E> IGNORE;IGNORE;IGNORE;<U246E>
-<U246F> IGNORE;IGNORE;IGNORE;<U246F>
-<U2470> IGNORE;IGNORE;IGNORE;<U2470>
-<U2471> IGNORE;IGNORE;IGNORE;<U2471>
-<U2472> IGNORE;IGNORE;IGNORE;<U2472>
-<U2473> IGNORE;IGNORE;IGNORE;<U2473>
-<U2474> IGNORE;IGNORE;IGNORE;<U2474>
-<U2475> IGNORE;IGNORE;IGNORE;<U2475>
-<U2476> IGNORE;IGNORE;IGNORE;<U2476>
-<U2477> IGNORE;IGNORE;IGNORE;<U2477>
-<U2478> IGNORE;IGNORE;IGNORE;<U2478>
-<U2479> IGNORE;IGNORE;IGNORE;<U2479>
-<U247A> IGNORE;IGNORE;IGNORE;<U247A>
-<U247B> IGNORE;IGNORE;IGNORE;<U247B>
-<U247C> IGNORE;IGNORE;IGNORE;<U247C>
-<U247D> IGNORE;IGNORE;IGNORE;<U247D>
-<U247E> IGNORE;IGNORE;IGNORE;<U247E>
-<U247F> IGNORE;IGNORE;IGNORE;<U247F>
-<U2480> IGNORE;IGNORE;IGNORE;<U2480>
-<U2481> IGNORE;IGNORE;IGNORE;<U2481>
-<U2482> IGNORE;IGNORE;IGNORE;<U2482>
-<U2483> IGNORE;IGNORE;IGNORE;<U2483>
-<U2484> IGNORE;IGNORE;IGNORE;<U2484>
-<U2485> IGNORE;IGNORE;IGNORE;<U2485>
-<U2486> IGNORE;IGNORE;IGNORE;<U2486>
-<U2487> IGNORE;IGNORE;IGNORE;<U2487>
-<U2488> IGNORE;IGNORE;IGNORE;<U2488>
-<U2489> IGNORE;IGNORE;IGNORE;<U2489>
-<U248A> IGNORE;IGNORE;IGNORE;<U248A>
-<U248B> IGNORE;IGNORE;IGNORE;<U248B>
-<U248C> IGNORE;IGNORE;IGNORE;<U248C>
-<U248D> IGNORE;IGNORE;IGNORE;<U248D>
-<U248E> IGNORE;IGNORE;IGNORE;<U248E>
-<U248F> IGNORE;IGNORE;IGNORE;<U248F>
-<U2490> IGNORE;IGNORE;IGNORE;<U2490>
-<U2491> IGNORE;IGNORE;IGNORE;<U2491>
-<U2492> IGNORE;IGNORE;IGNORE;<U2492>
-<U2493> IGNORE;IGNORE;IGNORE;<U2493>
-<U2494> IGNORE;IGNORE;IGNORE;<U2494>
-<U2495> IGNORE;IGNORE;IGNORE;<U2495>
-<U2496> IGNORE;IGNORE;IGNORE;<U2496>
-<U2497> IGNORE;IGNORE;IGNORE;<U2497>
-<U2498> IGNORE;IGNORE;IGNORE;<U2498>
-<U2499> IGNORE;IGNORE;IGNORE;<U2499>
-<U249A> IGNORE;IGNORE;IGNORE;<U249A>
-<U249B> IGNORE;IGNORE;IGNORE;<U249B>
-<U24EA> IGNORE;IGNORE;IGNORE;<U24EA>
-<U2500> IGNORE;IGNORE;IGNORE;<U2500>
-<U2550> IGNORE;IGNORE;IGNORE;<U2550>
-<U2502> IGNORE;IGNORE;IGNORE;<U2502>
-<U2551> IGNORE;IGNORE;IGNORE;<U2551>
-<U2504> IGNORE;IGNORE;IGNORE;<U2504>
-<U2505> IGNORE;IGNORE;IGNORE;<U2505>
-<U2506> IGNORE;IGNORE;IGNORE;<U2506>
-<U2507> IGNORE;IGNORE;IGNORE;<U2507>
-<U2508> IGNORE;IGNORE;IGNORE;<U2508>
-<U2509> IGNORE;IGNORE;IGNORE;<U2509>
-<U250A> IGNORE;IGNORE;IGNORE;<U250A>
-<U250B> IGNORE;IGNORE;IGNORE;<U250B>
-<U250C> IGNORE;IGNORE;IGNORE;<U250C>
-<U2552> IGNORE;IGNORE;IGNORE;<U2552>
-<U2553> IGNORE;IGNORE;IGNORE;<U2553>
-<U2554> IGNORE;IGNORE;IGNORE;<U2554>
-<U2510> IGNORE;IGNORE;IGNORE;<U2510>
-<U2555> IGNORE;IGNORE;IGNORE;<U2555>
-<U2556> IGNORE;IGNORE;IGNORE;<U2556>
-<U2557> IGNORE;IGNORE;IGNORE;<U2557>
-<U2514> IGNORE;IGNORE;IGNORE;<U2514>
-<U2558> IGNORE;IGNORE;IGNORE;<U2558>
-<U2559> IGNORE;IGNORE;IGNORE;<U2559>
-<U255A> IGNORE;IGNORE;IGNORE;<U255A>
-<U2518> IGNORE;IGNORE;IGNORE;<U2518>
-<U255B> IGNORE;IGNORE;IGNORE;<U255B>
-<U255C> IGNORE;IGNORE;IGNORE;<U255C>
-<U255D> IGNORE;IGNORE;IGNORE;<U255D>
-<U251C> IGNORE;IGNORE;IGNORE;<U251C>
-<U255E> IGNORE;IGNORE;IGNORE;<U255E>
-<U251E> IGNORE;IGNORE;IGNORE;<U251E>
-<U251F> IGNORE;IGNORE;IGNORE;<U251F>
-<U255F> IGNORE;IGNORE;IGNORE;<U255F>
-<U2521> IGNORE;IGNORE;IGNORE;<U2521>
-<U2522> IGNORE;IGNORE;IGNORE;<U2522>
-<U2560> IGNORE;IGNORE;IGNORE;<U2560>
-<U2524> IGNORE;IGNORE;IGNORE;<U2524>
-<U2561> IGNORE;IGNORE;IGNORE;<U2561>
-<U2526> IGNORE;IGNORE;IGNORE;<U2526>
-<U2527> IGNORE;IGNORE;IGNORE;<U2527>
-<U2562> IGNORE;IGNORE;IGNORE;<U2562>
-<U2529> IGNORE;IGNORE;IGNORE;<U2529>
-<U252A> IGNORE;IGNORE;IGNORE;<U252A>
-<U2563> IGNORE;IGNORE;IGNORE;<U2563>
-<U252C> IGNORE;IGNORE;IGNORE;<U252C>
-<U252D> IGNORE;IGNORE;IGNORE;<U252D>
-<U252E> IGNORE;IGNORE;IGNORE;<U252E>
-<U2564> IGNORE;IGNORE;IGNORE;<U2564>
-<U2565> IGNORE;IGNORE;IGNORE;<U2565>
-<U2531> IGNORE;IGNORE;IGNORE;<U2531>
-<U2532> IGNORE;IGNORE;IGNORE;<U2532>
-<U2566> IGNORE;IGNORE;IGNORE;<U2566>
-<U2534> IGNORE;IGNORE;IGNORE;<U2534>
-<U2535> IGNORE;IGNORE;IGNORE;<U2535>
-<U2536> IGNORE;IGNORE;IGNORE;<U2536>
-<U2567> IGNORE;IGNORE;IGNORE;<U2567>
-<U2568> IGNORE;IGNORE;IGNORE;<U2568>
-<U2539> IGNORE;IGNORE;IGNORE;<U2539>
-<U253A> IGNORE;IGNORE;IGNORE;<U253A>
-<U2569> IGNORE;IGNORE;IGNORE;<U2569>
-<U253C> IGNORE;IGNORE;IGNORE;<U253C>
-<U253D> IGNORE;IGNORE;IGNORE;<U253D>
-<U253E> IGNORE;IGNORE;IGNORE;<U253E>
-<U256A> IGNORE;IGNORE;IGNORE;<U256A>
-<U2540> IGNORE;IGNORE;IGNORE;<U2540>
-<U2541> IGNORE;IGNORE;IGNORE;<U2541>
-<U256B> IGNORE;IGNORE;IGNORE;<U256B>
-<U2543> IGNORE;IGNORE;IGNORE;<U2543>
-<U2544> IGNORE;IGNORE;IGNORE;<U2544>
-<U2545> IGNORE;IGNORE;IGNORE;<U2545>
-<U2546> IGNORE;IGNORE;IGNORE;<U2546>
-<U2547> IGNORE;IGNORE;IGNORE;<U2547>
-<U2548> IGNORE;IGNORE;IGNORE;<U2548>
-<U2549> IGNORE;IGNORE;IGNORE;<U2549>
-<U254A> IGNORE;IGNORE;IGNORE;<U254A>
-<U256C> IGNORE;IGNORE;IGNORE;<U256C>
-<U2571> IGNORE;IGNORE;IGNORE;<U2571>
-<U2572> IGNORE;IGNORE;IGNORE;<U2572>
-<U2580> IGNORE;IGNORE;IGNORE;<U2580>
-<U2584> IGNORE;IGNORE;IGNORE;<U2584>
-<U2588> IGNORE;IGNORE;IGNORE;<U2588>
-<U258C> IGNORE;IGNORE;IGNORE;<U258C>
-<U2590> IGNORE;IGNORE;IGNORE;<U2590>
-<U2591> IGNORE;IGNORE;IGNORE;<U2591>
-<U2592> IGNORE;IGNORE;IGNORE;<U2592>
-<U2593> IGNORE;IGNORE;IGNORE;<U2593>
-<U25A0> IGNORE;IGNORE;IGNORE;<U25A0>
-<U25A1> IGNORE;IGNORE;IGNORE;<U25A1>
-<U25A2> IGNORE;IGNORE;IGNORE;<U25A2>
-<U25A3> IGNORE;IGNORE;IGNORE;<U25A3>
-<U25A4> IGNORE;IGNORE;IGNORE;<U25A4>
-<U25A5> IGNORE;IGNORE;IGNORE;<U25A5>
-<U25A6> IGNORE;IGNORE;IGNORE;<U25A6>
-<U25A7> IGNORE;IGNORE;IGNORE;<U25A7>
-<U25A8> IGNORE;IGNORE;IGNORE;<U25A8>
-<U25A9> IGNORE;IGNORE;IGNORE;<U25A9>
-<U25AA> IGNORE;IGNORE;IGNORE;<U25AA>
-<U25AC> IGNORE;IGNORE;IGNORE;<U25AC>
-<U25AD> IGNORE;IGNORE;IGNORE;<U25AD>
-<U25B2> IGNORE;IGNORE;IGNORE;<U25B2>
-<U25B3> IGNORE;IGNORE;IGNORE;<U25B3>
-<U25B7> IGNORE;IGNORE;IGNORE;<U25B7>
-<U25BA> IGNORE;IGNORE;IGNORE;<U25BA>
-<U25BC> IGNORE;IGNORE;IGNORE;<U25BC>
-<U25BD> IGNORE;IGNORE;IGNORE;<U25BD>
-<U25C1> IGNORE;IGNORE;IGNORE;<U25C1>
-<U25C4> IGNORE;IGNORE;IGNORE;<U25C4>
-<U25C6> IGNORE;IGNORE;IGNORE;<U25C6>
-<U25C7> IGNORE;IGNORE;IGNORE;<U25C7>
-<U25CA> IGNORE;IGNORE;IGNORE;<U25CA>
-<U25CB> IGNORE;IGNORE;IGNORE;<U25CB>
-<U25CE> IGNORE;IGNORE;IGNORE;<U25CE>
-<U25CF> IGNORE;IGNORE;IGNORE;<U25CF>
-<U25D0> IGNORE;IGNORE;IGNORE;<U25D0>
-<U25D1> IGNORE;IGNORE;IGNORE;<U25D1>
-<U25D8> IGNORE;IGNORE;IGNORE;<U25D8>
-<U25D9> IGNORE;IGNORE;IGNORE;<U25D9>
-<U25E2> IGNORE;IGNORE;IGNORE;<U25E2>
-<U25E3> IGNORE;IGNORE;IGNORE;<U25E3>
-<U25EF> IGNORE;IGNORE;IGNORE;<U25EF>
-<U2605> IGNORE;IGNORE;IGNORE;<U2605>
-<U2606> IGNORE;IGNORE;IGNORE;<U2606>
-<U260E> IGNORE;IGNORE;IGNORE;<U260E>
-<U260F> IGNORE;IGNORE;IGNORE;<U260F>
-<U261C> IGNORE;IGNORE;IGNORE;<U261C>
-<U261E> IGNORE;IGNORE;IGNORE;<U261E>
-<U263A> IGNORE;IGNORE;IGNORE;<U263A>
-<U263B> IGNORE;IGNORE;IGNORE;<U263B>
-<U263C> IGNORE;IGNORE;IGNORE;<U263C>
-<U2640> IGNORE;IGNORE;IGNORE;<U2640>
-<U2642> IGNORE;IGNORE;IGNORE;<U2642>
-<U2660> IGNORE;IGNORE;IGNORE;<U2660>
-<U2661> IGNORE;IGNORE;IGNORE;<U2661>
-<U2662> IGNORE;IGNORE;IGNORE;<U2662>
-<U2663> IGNORE;IGNORE;IGNORE;<U2663>
-<U2664> IGNORE;IGNORE;IGNORE;<U2664>
-<U2665> IGNORE;IGNORE;IGNORE;<U2665>
-<U2666> IGNORE;IGNORE;IGNORE;<U2666>
-<U2667> IGNORE;IGNORE;IGNORE;<U2667>
-<U2669> IGNORE;IGNORE;IGNORE;<U2669>
-<U266A> IGNORE;IGNORE;IGNORE;<U266A>
-<U266B> IGNORE;IGNORE;IGNORE;<U266B>
-<U266C> IGNORE;IGNORE;IGNORE;<U266C>
-<U266D> IGNORE;IGNORE;IGNORE;<U266D>
-<U266E> IGNORE;IGNORE;IGNORE;<U266E>
-<U266F> IGNORE;IGNORE;IGNORE;<U266F>
-<U2713> IGNORE;IGNORE;IGNORE;<U2713>
-<U2717> IGNORE;IGNORE;IGNORE;<U2717>
-<U2720> IGNORE;IGNORE;IGNORE;<U2720>
-<U3000> IGNORE;IGNORE;IGNORE;<U3000>
-<U3001> IGNORE;IGNORE;IGNORE;<U3001>
-<U3002> IGNORE;IGNORE;IGNORE;<U3002>
-<U3003> IGNORE;IGNORE;IGNORE;<U3003>
-<U3004> IGNORE;IGNORE;IGNORE;<U3004>
-<U3005> IGNORE;IGNORE;IGNORE;<U3005>
-<U3006> IGNORE;IGNORE;IGNORE;<U3006>
-<U3007> IGNORE;IGNORE;IGNORE;<U3007>
-<U300A> IGNORE;IGNORE;IGNORE;<U300A>
-<U300B> IGNORE;IGNORE;IGNORE;<U300B>
-<U300C> IGNORE;IGNORE;IGNORE;<U300C>
-<U300D> IGNORE;IGNORE;IGNORE;<U300D>
-<U300E> IGNORE;IGNORE;IGNORE;<U300E>
-<U300F> IGNORE;IGNORE;IGNORE;<U300F>
-<U3010> IGNORE;IGNORE;IGNORE;<U3010>
-<U3011> IGNORE;IGNORE;IGNORE;<U3011>
-<U3012> IGNORE;IGNORE;IGNORE;<U3012>
-<U3013> IGNORE;IGNORE;IGNORE;<U3013>
-<U3014> IGNORE;IGNORE;IGNORE;<U3014>
-<U3015> IGNORE;IGNORE;IGNORE;<U3015>
-<U3016> IGNORE;IGNORE;IGNORE;<U3016>
-<U3017> IGNORE;IGNORE;IGNORE;<U3017>
-<U301C> IGNORE;IGNORE;IGNORE;<U301C>
-<U3020> IGNORE;IGNORE;IGNORE;<U3020>
-<U309B> IGNORE;IGNORE;IGNORE;<U309B>
-<U309C> IGNORE;IGNORE;IGNORE;<U309C>
-<U309D> IGNORE;IGNORE;IGNORE;<U309D>
-<U309E> IGNORE;IGNORE;IGNORE;<U309E>
-<U30FB> IGNORE;IGNORE;IGNORE;<U30FB>
-<U30FC> IGNORE;IGNORE;IGNORE;<U30FC>
-<U30FD> IGNORE;IGNORE;IGNORE;<U30FD>
-<U30FE> IGNORE;IGNORE;IGNORE;<U30FE>
-<U321C> IGNORE;IGNORE;IGNORE;<U321C>
-<U3220> IGNORE;IGNORE;IGNORE;<U3220>
-<U3221> IGNORE;IGNORE;IGNORE;<U3221>
-<U3222> IGNORE;IGNORE;IGNORE;<U3222>
-<U3223> IGNORE;IGNORE;IGNORE;<U3223>
-<U3224> IGNORE;IGNORE;IGNORE;<U3224>
-<U3225> IGNORE;IGNORE;IGNORE;<U3225>
-<U3226> IGNORE;IGNORE;IGNORE;<U3226>
-<U3227> IGNORE;IGNORE;IGNORE;<U3227>
-<U3228> IGNORE;IGNORE;IGNORE;<U3228>
-<U3229> IGNORE;IGNORE;IGNORE;<U3229>
-<U327F> IGNORE;IGNORE;IGNORE;<U327F>
-<U33C2> IGNORE;IGNORE;IGNORE;<U33C2>
-<U33D8> IGNORE;IGNORE;IGNORE;<U33D8>
-<U0000> IGNORE;IGNORE;IGNORE;<U0000>
-<U0001> IGNORE;IGNORE;IGNORE;<U0001>
-<U0002> IGNORE;IGNORE;IGNORE;<U0002>
-<U0003> IGNORE;IGNORE;IGNORE;<U0003>
-<U0004> IGNORE;IGNORE;IGNORE;<U0004>
-<U0005> IGNORE;IGNORE;IGNORE;<U0005>
-<U0006> IGNORE;IGNORE;IGNORE;<U0006>
-<U0007> IGNORE;IGNORE;IGNORE;<U0007>
-<U0008> IGNORE;IGNORE;IGNORE;<U0008>
-<U000E> IGNORE;IGNORE;IGNORE;<U000E>
-<U000F> IGNORE;IGNORE;IGNORE;<U000F>
-<U0010> IGNORE;IGNORE;IGNORE;<U0010>
-<U0011> IGNORE;IGNORE;IGNORE;<U0011>
-<U0012> IGNORE;IGNORE;IGNORE;<U0012>
-<U0013> IGNORE;IGNORE;IGNORE;<U0013>
-<U0014> IGNORE;IGNORE;IGNORE;<U0014>
-<U0015> IGNORE;IGNORE;IGNORE;<U0015>
-<U0016> IGNORE;IGNORE;IGNORE;<U0016>
-<U0017> IGNORE;IGNORE;IGNORE;<U0017>
-<U0018> IGNORE;IGNORE;IGNORE;<U0018>
-<U0019> IGNORE;IGNORE;IGNORE;<U0019>
-<U001A> IGNORE;IGNORE;IGNORE;<U001A>
-<U001B> IGNORE;IGNORE;IGNORE;<U001B>
-<U001C> IGNORE;IGNORE;IGNORE;<U001C>
-<U001D> IGNORE;IGNORE;IGNORE;<U001D>
-<U001E> IGNORE;IGNORE;IGNORE;<U001E>
-<U001F> IGNORE;IGNORE;IGNORE;<U001F>
-<U007F> IGNORE;IGNORE;IGNORE;<U007F>
-<U0080> IGNORE;IGNORE;IGNORE;<U0080>
-<U0081> IGNORE;IGNORE;IGNORE;<U0081>
-<U0082> IGNORE;IGNORE;IGNORE;<U0082>
-<U0083> IGNORE;IGNORE;IGNORE;<U0083>
-<U0084> IGNORE;IGNORE;IGNORE;<U0084>
-<U0085> IGNORE;IGNORE;IGNORE;<U0085>
-<U0086> IGNORE;IGNORE;IGNORE;<U0086>
-<U0087> IGNORE;IGNORE;IGNORE;<U0087>
-<U0088> IGNORE;IGNORE;IGNORE;<U0088>
-<U0089> IGNORE;IGNORE;IGNORE;<U0089>
-<U008A> IGNORE;IGNORE;IGNORE;<U008A>
-<U008B> IGNORE;IGNORE;IGNORE;<U008B>
-<U008C> IGNORE;IGNORE;IGNORE;<U008C>
-<U008D> IGNORE;IGNORE;IGNORE;<U008D>
-<U008E> IGNORE;IGNORE;IGNORE;<U008E>
-<U008F> IGNORE;IGNORE;IGNORE;<U008F>
-<U0090> IGNORE;IGNORE;IGNORE;<U0090>
-<U0091> IGNORE;IGNORE;IGNORE;<U0091>
-<U0092> IGNORE;IGNORE;IGNORE;<U0092>
-<U0093> IGNORE;IGNORE;IGNORE;<U0093>
-<U0094> IGNORE;IGNORE;IGNORE;<U0094>
-<U0095> IGNORE;IGNORE;IGNORE;<U0095>
-<U0096> IGNORE;IGNORE;IGNORE;<U0096>
-<U0097> IGNORE;IGNORE;IGNORE;<U0097>
-<U0098> IGNORE;IGNORE;IGNORE;<U0098>
-<U0099> IGNORE;IGNORE;IGNORE;<U0099>
-<U009A> IGNORE;IGNORE;IGNORE;<U009A>
-<U009B> IGNORE;IGNORE;IGNORE;<U009B>
-<U009C> IGNORE;IGNORE;IGNORE;<U009C>
-<U009D> IGNORE;IGNORE;IGNORE;<U009D>
-<U009E> IGNORE;IGNORE;IGNORE;<U009E>
-<U009F> IGNORE;IGNORE;IGNORE;<U009F>
-<UE000> IGNORE;IGNORE;IGNORE;<UE000>
-<UE001> IGNORE;IGNORE;IGNORE;<UE001>
-<UE002> IGNORE;IGNORE;IGNORE;<UE002>
-<U0301> IGNORE;IGNORE;IGNORE;<U0301>
-<UE004> IGNORE;IGNORE;IGNORE;<UE004>
-<UE005> IGNORE;IGNORE;IGNORE;<UE005>
-<UE006> IGNORE;IGNORE;IGNORE;<UE006>
-<UE007> IGNORE;IGNORE;IGNORE;<UE007>
-<UE008> IGNORE;IGNORE;IGNORE;<UE008>
-<UE009> IGNORE;IGNORE;IGNORE;<UE009>
-<UE00A> IGNORE;IGNORE;IGNORE;<UE00A>
-<UE00B> IGNORE;IGNORE;IGNORE;<UE00B>
-<UE00C> IGNORE;IGNORE;IGNORE;<UE00C>
-<UE00D> IGNORE;IGNORE;IGNORE;<UE00D>
-<UE00E> IGNORE;IGNORE;IGNORE;<UE00E>
-<UE00F> IGNORE;IGNORE;IGNORE;<UE00F>
-<"=> IGNORE;IGNORE;IGNORE;<"=>
-<UE011> IGNORE;IGNORE;IGNORE;<UE011>
-<UE012> IGNORE;IGNORE;IGNORE;<UE012>
-<UE013> IGNORE;IGNORE;IGNORE;<UE013>
-<UE014> IGNORE;IGNORE;IGNORE;<UE014>
-<UE015> IGNORE;IGNORE;IGNORE;<UE015>
-<UE017> IGNORE;IGNORE;IGNORE;<UE017>
-<UE018> IGNORE;IGNORE;IGNORE;<UE018>
-<UE019> IGNORE;IGNORE;IGNORE;<UE019>
-UNDEFINED IGNORE;IGNORE;IGNORE
-
-<U0030> <U0030>;<U0030>;IGNORE;IGNORE
-<U2070> <U0030>;<U2070>;IGNORE;IGNORE
-<U215B> <U0030>;<U215B>;IGNORE;IGNORE
-<U00BC> <U0030>;<U00BC>;IGNORE;IGNORE
-<U215C> <U0030>;<U215C>;IGNORE;IGNORE
-<U00BD> <U0030>;<U00BD>;IGNORE;IGNORE
-<U215D> <U0030>;<U215D>;IGNORE;IGNORE
-<U00BE> <U0030>;<U00BE>;IGNORE;IGNORE
-<U215E> <U0030>;<U215E>;IGNORE;IGNORE
-<U0031> <U0031>;<U0031>;IGNORE;IGNORE
-<U0032> <U0032>;<U0032>;IGNORE;IGNORE
-<U0033> <U0033>;<U0033>;IGNORE;IGNORE
-<U0034> <U0034>;<U0034>;IGNORE;IGNORE
-<U0035> <U0035>;<U0035>;IGNORE;IGNORE
-<U0036> <U0036>;<U0036>;IGNORE;IGNORE
-<U0037> <U0037>;<U0037>;IGNORE;IGNORE
-<U0038> <U0038>;<U0038>;IGNORE;IGNORE
-<U0039> <U0039>;<U0039>;IGNORE;IGNORE
-<U00B9> <U0031>;<U00B9>;IGNORE;IGNORE
-<U00B2> <U0032>;<U00B2>;IGNORE;IGNORE
-<U00B3> <U0033>;<U00B3>;IGNORE;IGNORE
-<U2074> <U0034>;<U2074>;IGNORE;IGNORE
-<U2075> <U0035>;<U2075>;IGNORE;IGNORE
-<U2076> <U0036>;<U2076>;IGNORE;IGNORE
-<U2077> <U0037>;<U2077>;IGNORE;IGNORE
-<U2078> <U0038>;<U2078>;IGNORE;IGNORE
-<U2079> <U0039>;<U2079>;IGNORE;IGNORE
-<U0041> <U0041>;<NONE>;<CAPITAL>;IGNORE
-<U0061> <U0041>;<NONE>;<SMALL>;IGNORE
-<U00AA> <U0041>;<NONE>;<U00AA>;IGNORE
-<U00C1> <U0041>;<ACUTE>;<CAPITAL>;IGNORE
-<U00E1> <U0041>;<ACUTE>;<SMALL>;IGNORE
-<U00C0> <U0041>;<GRAVE>;<CAPITAL>;IGNORE
-<U00E0> <U0041>;<GRAVE>;<SMALL>;IGNORE
-<U0200> <U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U0201> <U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U0102> <U0041>;<BREVE>;<CAPITAL>;IGNORE
-<U0103> <U0041>;<BREVE>;<SMALL>;IGNORE
-<U1EAE> <U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
-<U1EAF> <U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
-<U1EB0> <U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
-<U1EB1> <U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
-<U1EB2> <U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
-<U1EB3> <U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
-<U1EB4> <U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
-<U1EB5> <U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
-<U1EB6> <U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EB7> <U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
-<U0202> <U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U0203> <U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U00C2> <U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U00E2> <U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U1EA4> <U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
-<U1EA5> <U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
-<U1EA6> <U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
-<U1EA7> <U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
-<U1EA8> <U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
-<U1EA9> <U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
-<U1EAA> <U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
-<U1EAB> <U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
-<U1EAC> <U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EAD> <U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
-<U01CD> <U0041>;<CARON>;<CAPITAL>;IGNORE
-<U01CE> <U0041>;<CARON>;<SMALL>;IGNORE
-<U00C5> <U0041>;<RING>;<CAPITAL>;IGNORE
-<U00E5> <U0041>;<RING>;<SMALL>;IGNORE
-<U01FA> <U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
-<U01FB> <U0041>;<RING+ACUTE>;<SMALL>;IGNORE
-<U1E00> <U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
-<U1E01> <U0041>;<RING-BELOW>;<SMALL>;IGNORE
-<U00C4> <U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00E4> <U0041>;<DIAERESIS>;<SMALL>;IGNORE
-<U01DE> <U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
-<U01DF> <U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
-<U1EA2> <U0041>;<HOOK>;<CAPITAL>;IGNORE
-<U1EA3> <U0041>;<HOOK>;<SMALL>;IGNORE
-<U00C3> <U0041>;<TILDE>;<CAPITAL>;IGNORE
-<U00E3> <U0041>;<TILDE>;<SMALL>;IGNORE
-<U1EA0> <U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EA1> <U0041>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0104> <U0041>;<OGONEK>;<CAPITAL>;IGNORE
-<U0105> <U0041>;<OGONEK>;<SMALL>;IGNORE
-<U0100> <U0041>;<MACRON>;<CAPITAL>;IGNORE
-<U0101> <U0041>;<MACRON>;<SMALL>;IGNORE
-<U01E0> <U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
-<U01E1> <U0041>;<MACRON+DOT>;<SMALL>;IGNORE
-<a8>
-<U00C6> "<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
-<U00E6> "<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
-<U01FC> "<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
-<U01FD> "<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
-<U01E2> "<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
-<U01E3> "<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
-<U0042> <U0042>;<NONE>;<CAPITAL>;IGNORE
-<U0062> <U0042>;<NONE>;<SMALL>;IGNORE
-<U1E02> <U0042>;<DOT>;<CAPITAL>;IGNORE
-<U1E03> <U0042>;<DOT>;<SMALL>;IGNORE
-<U1E04> <U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E05> <U0042>;<DOT-BELOW>;<SMALL>;IGNORE
-<U1E06> <U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E07> <U0042>;<LINE-BELOW>;<SMALL>;IGNORE
-<b8>
-<U0043> <U0043>;<NONE>;<CAPITAL>;IGNORE
-<U0063> <U0043>;<NONE>;<SMALL>;IGNORE
-<U0106> <U0043>;<ACUTE>;<CAPITAL>;IGNORE
-<U0107> <U0043>;<ACUTE>;<SMALL>;IGNORE
-<U0108> <U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U0109> <U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U010C> <U0043>;<CARON>;<CAPITAL>;IGNORE
-<U010D> <U0043>;<CARON>;<SMALL>;IGNORE
-<U0187> <U0043>;<HOOK>;<CAPITAL>;IGNORE
-<U0188> <U0043>;<HOOK>;<SMALL>;IGNORE
-<U010A> <U0043>;<DOT>;<CAPITAL>;IGNORE
-<U010B> <U0043>;<DOT>;<SMALL>;IGNORE
-<U00C7> <U0043>;<CEDILLA>;<CAPITAL>;IGNORE
-<U00E7> <U0043>;<CEDILLA>;<SMALL>;IGNORE
-<U1E08> <U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
-<U1E09> <U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
-<c8>
-<U0044> <U0044>;<NONE>;<CAPITAL>;IGNORE
-<U0064> <U0044>;<NONE>;<SMALL>;IGNORE
-<U010E> <U0044>;<CARON>;<CAPITAL>;IGNORE
-<U010F> <U0044>;<CARON>;<SMALL>;IGNORE
-<U1E0A> <U0044>;<DOT>;<CAPITAL>;IGNORE
-<U1E0B> <U0044>;<DOT>;<SMALL>;IGNORE
-<U1E0C> <U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E0D> <U0044>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0110> <U0044>;<STROKE>;<CAPITAL>;IGNORE
-<U0111> <U0044>;<STROKE>;<SMALL>;IGNORE
-<U1E10> <U0044>;<CEDILLA>;<CAPITAL>;IGNORE
-<U1E11> <U0044>;<CEDILLA>;<SMALL>;IGNORE
-<U1E12> <U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E13> <U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E0E> <U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E0F> <U0044>;<LINE-BELOW>;<SMALL>;IGNORE
-<d8>
-<U0045> <U0045>;<NONE>;<CAPITAL>;IGNORE
-<U0065> <U0045>;<NONE>;<SMALL>;IGNORE
-<U00C9> <U0045>;<ACUTE>;<CAPITAL>;IGNORE
-<U00E9> <U0045>;<ACUTE>;<SMALL>;IGNORE
-<U00C8> <U0045>;<GRAVE>;<CAPITAL>;IGNORE
-<U00E8> <U0045>;<GRAVE>;<SMALL>;IGNORE
-<U0204> <U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U0205> <U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U0114> <U0045>;<BREVE>;<CAPITAL>;IGNORE
-<U0115> <U0045>;<BREVE>;<SMALL>;IGNORE
-<U0206> <U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U0207> <U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U00CA> <U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U00EA> <U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U1EBE> <U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
-<U1EBF> <U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
-<U1EC0> <U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
-<U1EC1> <U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
-<U1EC2> <U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
-<U1EC3> <U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
-<U1EC4> <U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
-<U1EC5> <U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
-<U1EC6> <U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EC7> <U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
-<U011A> <U0045>;<CARON>;<CAPITAL>;IGNORE
-<U011B> <U0045>;<CARON>;<SMALL>;IGNORE
-<U00CB> <U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00EB> <U0045>;<DIAERESIS>;<SMALL>;IGNORE
-<U1EBA> <U0045>;<HOOK>;<CAPITAL>;IGNORE
-<U1EBB> <U0045>;<HOOK>;<SMALL>;IGNORE
-<U1EBC> <U0045>;<TILDE>;<CAPITAL>;IGNORE
-<U1EBD> <U0045>;<TILDE>;<SMALL>;IGNORE
-<U1E1A> <U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
-<U1E1B> <U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
-<U0116> <U0045>;<DOT>;<CAPITAL>;IGNORE
-<U0117> <U0045>;<DOT>;<SMALL>;IGNORE
-<U1EB8> <U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EB9> <U0045>;<DOT-BELOW>;<SMALL>;IGNORE
-<U1E1C> <U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
-<U1E1D> <U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
-<U0118> <U0045>;<OGONEK>;<CAPITAL>;IGNORE
-<U0119> <U0045>;<OGONEK>;<SMALL>;IGNORE
-<U0112> <U0045>;<MACRON>;<CAPITAL>;IGNORE
-<U0113> <U0045>;<MACRON>;<SMALL>;IGNORE
-<U1E16> <U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
-<U1E17> <U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
-<U1E14> <U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
-<U1E15> <U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
-<U1E18> <U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E19> <U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<e8>
-<U0046> <U0046>;<NONE>;<CAPITAL>;IGNORE
-<U0066> <U0046>;<NONE>;<SMALL>;IGNORE
-<U0191> <U0046>;<HOOK>;<CAPITAL>;IGNORE
-<U0192> <U0046>;<HOOK>;<SMALL>;IGNORE
-<U1E1E> <U0046>;<DOT>;<CAPITAL>;IGNORE
-<U1E1F> <U0046>;<DOT>;<SMALL>;IGNORE
-<f8>
-<UFB00> "<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
-<UFB01> "<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
-<UFB02> "<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
-<UFB03> "<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
-<UFB04> "<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
-<U0047> <U0047>;<NONE>;<CAPITAL>;IGNORE
-<U0067> <U0047>;<NONE>;<SMALL>;IGNORE
-<U01F4> <U0047>;<ACUTE>;<CAPITAL>;IGNORE
-<U01F5> <U0047>;<ACUTE>;<SMALL>;IGNORE
-<U011E> <U0047>;<BREVE>;<CAPITAL>;IGNORE
-<U011F> <U0047>;<BREVE>;<SMALL>;IGNORE
-<U011C> <U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U011D> <U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U01E6> <U0047>;<CARON>;<CAPITAL>;IGNORE
-<U01E7> <U0047>;<CARON>;<SMALL>;IGNORE
-<U0120> <U0047>;<DOT>;<CAPITAL>;IGNORE
-<U0121> <U0047>;<DOT>;<SMALL>;IGNORE
-<U01E4> <U0047>;<STROKE>;<CAPITAL>;IGNORE
-<U01E5> <U0047>;<STROKE>;<SMALL>;IGNORE
-<U0122> <U0047>;<CEDILLA>;<CAPITAL>;IGNORE
-<U0123> <U0047>;<CEDILLA>;<SMALL>;IGNORE
-<U1E20> <U0047>;<MACRON>;<CAPITAL>;IGNORE
-<U1E21> <U0047>;<MACRON>;<SMALL>;IGNORE
-<g8>
-<U0048> <U0048>;<NONE>;<CAPITAL>;IGNORE
-<U0068> <U0048>;<NONE>;<SMALL>;IGNORE
-<U1E2A> <U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
-<U1E2B> <U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
-<U0124> <U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U0125> <U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E26> <U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U1E27> <U0048>;<DIAERESIS>;<SMALL>;IGNORE
-<U1E22> <U0048>;<DOT>;<CAPITAL>;IGNORE
-<U1E23> <U0048>;<DOT>;<SMALL>;IGNORE
-<U1E24> <U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E25> <U0048>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0126> <U0048>;<STROKE>;<CAPITAL>;IGNORE
-<U0127> <U0048>;<STROKE>;<SMALL>;IGNORE
-<U1E28> <U0048>;<CEDILLA>;<CAPITAL>;IGNORE
-<U1E29> <U0048>;<CEDILLA>;<SMALL>;IGNORE
-<h8>
-<U0049> <U0049>;<NONE>;<CAPITAL>;IGNORE
-<U0069> <U0049>;<NONE>;<SMALL>;IGNORE
-<U00CD> <U0049>;<ACUTE>;<CAPITAL>;IGNORE
-<U00ED> <U0049>;<ACUTE>;<SMALL>;IGNORE
-<U00CC> <U0049>;<GRAVE>;<CAPITAL>;IGNORE
-<U00EC> <U0049>;<GRAVE>;<SMALL>;IGNORE
-<U0208> <U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U0209> <U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U012C> <U0049>;<BREVE>;<CAPITAL>;IGNORE
-<U012D> <U0049>;<BREVE>;<SMALL>;IGNORE
-<U020A> <U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U020B> <U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U00CE> <U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U00EE> <U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U01CF> <U0049>;<CARON>;<CAPITAL>;IGNORE
-<U01D0> <U0049>;<CARON>;<SMALL>;IGNORE
-<U00CF> <U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00EF> <U0049>;<DIAERESIS>;<SMALL>;IGNORE
-<U1E2E> <U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
-<U1E2F> <U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
-<U1EC8> <U0049>;<HOOK>;<CAPITAL>;IGNORE
-<U1EC9> <U0049>;<HOOK>;<SMALL>;IGNORE
-<U0128> <U0049>;<TILDE>;<CAPITAL>;IGNORE
-<U0129> <U0049>;<TILDE>;<SMALL>;IGNORE
-<U1E2C> <U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
-<U1E2D> <U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
-<U0130> <U0049>;<DOT>;<CAPITAL>;IGNORE
-<U0131> <U0049>;<DOT>;<SMALL>;IGNORE
-<U1ECA> <U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1ECB> <U0049>;<DOT-BELOW>;<SMALL>;IGNORE
-<U012E> <U0049>;<OGONEK>;<CAPITAL>;IGNORE
-<U012F> <U0049>;<OGONEK>;<SMALL>;IGNORE
-<U012A> <U0049>;<MACRON>;<CAPITAL>;IGNORE
-<U012B> <U0049>;<MACRON>;<SMALL>;IGNORE
-<i8>
-<U0132> "<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
-<U0133> "<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
-<U004A> <U004A>;<NONE>;<CAPITAL>;IGNORE
-<U006A> <U004A>;<NONE>;<SMALL>;IGNORE
-<U0134> <U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U0135> <U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<j8>
-<U004B> <U004B>;<NONE>;<CAPITAL>;IGNORE
-<U006B> <U004B>;<NONE>;<SMALL>;IGNORE
-<U1E30> <U004B>;<ACUTE>;<CAPITAL>;IGNORE
-<U1E31> <U004B>;<ACUTE>;<SMALL>;IGNORE
-<U01E8> <U004B>;<CARON>;<CAPITAL>;IGNORE
-<U01E9> <U004B>;<CARON>;<SMALL>;IGNORE
-<U0198> <U004B>;<HOOK>;<CAPITAL>;IGNORE
-<U0199> <U004B>;<HOOK>;<SMALL>;IGNORE
-<U1E32> <U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E33> <U004B>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0136> <U004B>;<CEDILLA>;<CAPITAL>;IGNORE
-<U0137> <U004B>;<CEDILLA>;<SMALL>;IGNORE
-<U1E34> <U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E35> <U004B>;<LINE-BELOW>;<SMALL>;IGNORE
-<k8>
-<U0138> <U004B>;<U0138>;<SMALL>;IGNORE
-<U004C> <U004C>;<NONE>;<CAPITAL>;IGNORE
-<U006C> <U004C>;<NONE>;<SMALL>;IGNORE
-<U0139> <U004C>;<ACUTE>;<CAPITAL>;IGNORE
-<U013A> <U004C>;<ACUTE>;<SMALL>;IGNORE
-<U013D> <U004C>;<CARON>;<CAPITAL>;IGNORE
-<U013E> <U004C>;<CARON>;<SMALL>;IGNORE
-<U013F> <U004C>;<DOT>;<CAPITAL>;IGNORE
-<U0140> <U004C>;<DOT>;<SMALL>;IGNORE
-<U1E36> <U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E37> <U004C>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0141> <U004C>;<STROKE>;<CAPITAL>;IGNORE
-<U0142> <U004C>;<STROKE>;<SMALL>;IGNORE
-<U013B> <U004C>;<CEDILLA>;<CAPITAL>;IGNORE
-<U013C> <U004C>;<CEDILLA>;<SMALL>;IGNORE
-<U1E38> <U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E39> <U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
-<U1E3C> <U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E3D> <U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E3A> <U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E3B> <U004C>;<LINE-BELOW>;<SMALL>;IGNORE
-<l8>
-<U004D> <U004D>;<NONE>;<CAPITAL>;IGNORE
-<U006D> <U004D>;<NONE>;<SMALL>;IGNORE
-<U1E3E> <U004D>;<ACUTE>;<CAPITAL>;IGNORE
-<U1E3F> <U004D>;<ACUTE>;<SMALL>;IGNORE
-<U1E40> <U004D>;<DOT>;<CAPITAL>;IGNORE
-<U1E41> <U004D>;<DOT>;<SMALL>;IGNORE
-<U1E42> <U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E43> <U004D>;<DOT-BELOW>;<SMALL>;IGNORE
-<m8>
-<U004E> <U004E>;<NONE>;<CAPITAL>;IGNORE
-<U006E> <U004E>;<NONE>;<SMALL>;IGNORE
-<U0143> <U004E>;<ACUTE>;<CAPITAL>;IGNORE
-<U0144> <U004E>;<ACUTE>;<SMALL>;IGNORE
-<U0147> <U004E>;<CARON>;<CAPITAL>;IGNORE
-<U0148> <U004E>;<CARON>;<SMALL>;IGNORE
-<U1E44> <U004E>;<DOT>;<CAPITAL>;IGNORE
-<U1E45> <U004E>;<DOT>;<SMALL>;IGNORE
-<U1E46> <U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E47> <U004E>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0145> <U004E>;<CEDILLA>;<CAPITAL>;IGNORE
-<U0146> <U004E>;<CEDILLA>;<SMALL>;IGNORE
-<U1E4A> <U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E4B> <U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E48> <U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E49> <U004E>;<LINE-BELOW>;<SMALL>;IGNORE
-<U0149> <U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
-<n8>
-<U00D1> <U00D1>;<NONE>;<CAPITAL>;IGNORE
-<U00F1> <U00D1>;<NONE>;<SMALL>;IGNORE
-<U014A> "<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
-<U014B> "<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
-<U004F> <U004F>;<NONE>;<CAPITAL>;IGNORE
-<U006F> <U004F>;<NONE>;<SMALL>;IGNORE
-<U00BA> <U004F>;<NONE>;<U00BA>;IGNORE
-<U00D3> <U004F>;<ACUTE>;<CAPITAL>;IGNORE
-<U00F3> <U004F>;<ACUTE>;<SMALL>;IGNORE
-<U00D2> <U004F>;<GRAVE>;<CAPITAL>;IGNORE
-<U00F2> <U004F>;<GRAVE>;<SMALL>;IGNORE
-<U020C> <U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U020D> <U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U014E> <U004F>;<BREVE>;<CAPITAL>;IGNORE
-<U014F> <U004F>;<BREVE>;<SMALL>;IGNORE
-<U020E> <U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U020F> <U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U00D4> <U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U00F4> <U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U1ED0> <U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
-<U1ED1> <U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
-<U1ED2> <U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
-<U1ED3> <U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
-<U1ED4> <U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
-<U1ED5> <U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
-<U1ED6> <U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
-<U1ED7> <U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
-<U1ED8> <U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1ED9> <U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
-<U01D1> <U004F>;<CARON>;<CAPITAL>;IGNORE
-<U01D2> <U004F>;<CARON>;<SMALL>;IGNORE
-<U00D6> <U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00F6> <U004F>;<DIAERESIS>;<SMALL>;IGNORE
-<U0150> <U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
-<U0151> <U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
-<U1ECE> <U004F>;<HOOK>;<CAPITAL>;IGNORE
-<U1ECF> <U004F>;<HOOK>;<SMALL>;IGNORE
-<U00D5> <U004F>;<TILDE>;<CAPITAL>;IGNORE
-<U00F5> <U004F>;<TILDE>;<SMALL>;IGNORE
-<U1E4C> <U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
-<U1E4D> <U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
-<U1E4E> <U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
-<U1E4F> <U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
-<U1ECC> <U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1ECD> <U004F>;<DOT-BELOW>;<SMALL>;IGNORE
-<U00D8> <U004F>;<STROKE>;<CAPITAL>;IGNORE
-<U00F8> <U004F>;<STROKE>;<SMALL>;IGNORE
-<U01FE> <U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
-<U01FF> <U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
-<U01EA> <U004F>;<OGONEK>;<CAPITAL>;IGNORE
-<U01EB> <U004F>;<OGONEK>;<SMALL>;IGNORE
-<U01EC> <U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
-<U01ED> <U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
-<U014C> <U004F>;<MACRON>;<CAPITAL>;IGNORE
-<U014D> <U004F>;<MACRON>;<SMALL>;IGNORE
-<U1E52> <U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
-<U1E53> <U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
-<U1E50> <U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
-<U1E51> <U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
-<U01A0> <U004F>;<HORN>;<CAPITAL>;IGNORE
-<U01A1> <U004F>;<HORN>;<SMALL>;IGNORE
-<U1EDA> <U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
-<U1EDB> <U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
-<U1EDC> <U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
-<U1EDD> <U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
-<U1EDE> <U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
-<U1EDF> <U004F>;<HORN+HOOK>;<SMALL>;IGNORE
-<U1EE0> <U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
-<U1EE1> <U004F>;<HORN+TILDE>;<SMALL>;IGNORE
-<U1EE2> <U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EE3> <U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
-<o8>
-<U0152> "<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
-<U0153> "<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
-<U0050> <U0050>;<NONE>;<CAPITAL>;IGNORE
-<U0070> <U0050>;<NONE>;<SMALL>;IGNORE
-<U1E54> <U0050>;<ACUTE>;<CAPITAL>;IGNORE
-<U1E55> <U0050>;<ACUTE>;<SMALL>;IGNORE
-<U1E56> <U0050>;<DOT>;<CAPITAL>;IGNORE
-<U1E57> <U0050>;<DOT>;<SMALL>;IGNORE
-<p8>
-<U0051> <U0051>;<NONE>;<CAPITAL>;IGNORE
-<U0071> <U0051>;<NONE>;<SMALL>;IGNORE
-<q8>
-<U0052> <U0052>;<NONE>;<CAPITAL>;IGNORE
-<U0072> <U0052>;<NONE>;<SMALL>;IGNORE
-<U0154> <U0052>;<ACUTE>;<CAPITAL>;IGNORE
-<U0155> <U0052>;<ACUTE>;<SMALL>;IGNORE
-<U0210> <U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U0211> <U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U0212> <U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U0213> <U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U0158> <U0052>;<CARON>;<CAPITAL>;IGNORE
-<U0159> <U0052>;<CARON>;<SMALL>;IGNORE
-<U1E58> <U0052>;<DOT>;<CAPITAL>;IGNORE
-<U1E59> <U0052>;<DOT>;<SMALL>;IGNORE
-<U1E5A> <U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E5B> <U0052>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0156> <U0052>;<CEDILLA>;<CAPITAL>;IGNORE
-<U0157> <U0052>;<CEDILLA>;<SMALL>;IGNORE
-<U1E5C> <U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E5D> <U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
-<U1E5E> <U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E5F> <U0052>;<LINE-BELOW>;<SMALL>;IGNORE
-<r8>
-<U0053> <U0053>;<NONE>;<CAPITAL>;IGNORE
-<U0073> <U0053>;<NONE>;<SMALL>;IGNORE
-<UFB06> "<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
-<U015A> <U0053>;<ACUTE>;<CAPITAL>;IGNORE
-<U015B> <U0053>;<ACUTE>;<SMALL>;IGNORE
-<U1E64> <U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
-<U1E65> <U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
-<U015C> <U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U015D> <U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U0160> <U0053>;<CARON>;<CAPITAL>;IGNORE
-<U0161> <U0053>;<CARON>;<SMALL>;IGNORE
-<U1E66> <U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
-<U1E67> <U0053>;<CARON+DOT>;<SMALL>;IGNORE
-<U1E60> <U0053>;<DOT>;<CAPITAL>;IGNORE
-<U1E61> <U0053>;<DOT>;<SMALL>;IGNORE
-<U1E62> <U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E63> <U0053>;<DOT-BELOW>;<SMALL>;IGNORE
-<U1E68> <U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E69> <U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
-<U015E> <U0053>;<CEDILLA>;<CAPITAL>;IGNORE
-<U015F> <U0053>;<CEDILLA>;<SMALL>;IGNORE
-<s8>
-<U017F> <U0053>;<U017F>;<SMALL>;IGNORE
-<U00DF> "<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
-<UFB05> "<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
-<U0054> <U0054>;<NONE>;<CAPITAL>;IGNORE
-<U0074> <U0054>;<NONE>;<SMALL>;IGNORE
-<U0164> <U0054>;<CARON>;<CAPITAL>;IGNORE
-<U0165> <U0054>;<CARON>;<SMALL>;IGNORE
-<U1E6A> <U0054>;<DOT>;<CAPITAL>;IGNORE
-<U1E6B> <U0054>;<DOT>;<SMALL>;IGNORE
-<U1E6C> <U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E6D> <U0054>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0166> <U0054>;<STROKE>;<CAPITAL>;IGNORE
-<U0167> <U0054>;<STROKE>;<SMALL>;IGNORE
-<U0162> <U0054>;<CEDILLA>;<CAPITAL>;IGNORE
-<U0163> <U0054>;<CEDILLA>;<SMALL>;IGNORE
-<U1E70> <U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E71> <U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E6E> <U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E6F> <U0054>;<LINE-BELOW>;<SMALL>;IGNORE
-<t8>
-<U00DE> "<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
-<U00FE> "<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
-<U0055> <U0055>;<NONE>;<CAPITAL>;IGNORE
-<U0075> <U0055>;<NONE>;<SMALL>;IGNORE
-<U00DA> <U0055>;<ACUTE>;<CAPITAL>;IGNORE
-<U00FA> <U0055>;<ACUTE>;<SMALL>;IGNORE
-<U00D9> <U0055>;<GRAVE>;<CAPITAL>;IGNORE
-<U00F9> <U0055>;<GRAVE>;<SMALL>;IGNORE
-<U0214> <U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
-<U0215> <U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
-<U016C> <U0055>;<BREVE>;<CAPITAL>;IGNORE
-<U016D> <U0055>;<BREVE>;<SMALL>;IGNORE
-<U0216> <U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
-<U0217> <U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
-<U00DB> <U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U00FB> <U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U01D3> <U0055>;<CARON>;<CAPITAL>;IGNORE
-<U01D4> <U0055>;<CARON>;<SMALL>;IGNORE
-<U016E> <U0055>;<RING>;<CAPITAL>;IGNORE
-<U016F> <U0055>;<RING>;<SMALL>;IGNORE
-<U00DC> <U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00FC> <U0055>;<DIAERESIS>;<SMALL>;IGNORE
-<U01D5> <U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
-<U01D6> <U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
-<U01D7> <U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
-<U01D8> <U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
-<U01DB> <U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
-<U01DC> <U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
-<U01D9> <U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
-<U01DA> <U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
-<U0170> <U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
-<U0171> <U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
-<U1EE6> <U0055>;<HOOK>;<CAPITAL>;IGNORE
-<U1EE7> <U0055>;<HOOK>;<SMALL>;IGNORE
-<U0168> <U0055>;<TILDE>;<CAPITAL>;IGNORE
-<U0169> <U0055>;<TILDE>;<SMALL>;IGNORE
-<U1E78> <U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
-<U1E79> <U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
-<U1E74> <U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
-<U1E75> <U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
-<U1EE4> <U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EE5> <U0055>;<DOT-BELOW>;<SMALL>;IGNORE
-<U0172> <U0055>;<OGONEK>;<CAPITAL>;IGNORE
-<U0173> <U0055>;<OGONEK>;<SMALL>;IGNORE
-<U016A> <U0055>;<MACRON>;<CAPITAL>;IGNORE
-<U016B> <U0055>;<MACRON>;<SMALL>;IGNORE
-<U1E7A> <U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
-<U1E7B> <U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
-<U1E72> <U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
-<U1E73> <U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
-<U1E76> <U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E77> <U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
-<U01AF> <U0055>;<HORN>;<CAPITAL>;IGNORE
-<U01B0> <U0055>;<HORN>;<SMALL>;IGNORE
-<U1EE8> <U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
-<U1EE9> <U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
-<U1EEA> <U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
-<U1EEB> <U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
-<U1EEC> <U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
-<U1EED> <U0055>;<HORN+HOOK>;<SMALL>;IGNORE
-<U1EEE> <U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
-<U1EEF> <U0055>;<HORN+TILDE>;<SMALL>;IGNORE
-<U1EF0> <U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EF1> <U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
-<u8>
-<U0056> <U0056>;<NONE>;<CAPITAL>;IGNORE
-<U0076> <U0056>;<NONE>;<SMALL>;IGNORE
-<U1E7C> <U0056>;<TILDE>;<CAPITAL>;IGNORE
-<U1E7D> <U0056>;<TILDE>;<SMALL>;IGNORE
-<U1E7E> <U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E7F> <U0056>;<DOT-BELOW>;<SMALL>;IGNORE
-<v8>
-<U0057> <U0057>;<NONE>;<CAPITAL>;IGNORE
-<U0077> <U0057>;<NONE>;<SMALL>;IGNORE
-<U1E82> <U0057>;<ACUTE>;<CAPITAL>;IGNORE
-<U1E83> <U0057>;<ACUTE>;<SMALL>;IGNORE
-<U1E80> <U0057>;<GRAVE>;<CAPITAL>;IGNORE
-<U1E81> <U0057>;<GRAVE>;<SMALL>;IGNORE
-<U0174> <U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U0175> <U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U1E84> <U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U1E85> <U0057>;<DIAERESIS>;<SMALL>;IGNORE
-<U1E86> <U0057>;<DOT>;<CAPITAL>;IGNORE
-<U1E87> <U0057>;<DOT>;<SMALL>;IGNORE
-<U1E88> <U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E89> <U0057>;<DOT-BELOW>;<SMALL>;IGNORE
-<w8>
-<U0058> <U0058>;<NONE>;<CAPITAL>;IGNORE
-<U0078> <U0058>;<NONE>;<SMALL>;IGNORE
-<U1E8C> <U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U1E8D> <U0058>;<DIAERESIS>;<SMALL>;IGNORE
-<U1E8A> <U0058>;<DOT>;<CAPITAL>;IGNORE
-<U1E8B> <U0058>;<DOT>;<SMALL>;IGNORE
-<x8>
-<U0059> <U0059>;<NONE>;<CAPITAL>;IGNORE
-<U0079> <U0059>;<NONE>;<SMALL>;IGNORE
-<U00DD> <U0059>;<ACUTE>;<CAPITAL>;IGNORE
-<U00FD> <U0059>;<ACUTE>;<SMALL>;IGNORE
-<U1EF2> <U0059>;<GRAVE>;<CAPITAL>;IGNORE
-<U1EF3> <U0059>;<GRAVE>;<SMALL>;IGNORE
-<U0176> <U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U0177> <U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U0178> <U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
-<U00FF> <U0059>;<DIAERESIS>;<SMALL>;IGNORE
-<U1EF6> <U0059>;<HOOK>;<CAPITAL>;IGNORE
-<U1EF7> <U0059>;<HOOK>;<SMALL>;IGNORE
-<U1EF8> <U0059>;<TILDE>;<CAPITAL>;IGNORE
-<U1EF9> <U0059>;<TILDE>;<SMALL>;IGNORE
-<U1E8E> <U0059>;<DOT>;<CAPITAL>;IGNORE
-<U1E8F> <U0059>;<DOT>;<SMALL>;IGNORE
-<U1EF4> <U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1EF5> <U0059>;<DOT-BELOW>;<SMALL>;IGNORE
-<y8>
-<U005A> <U005A>;<NONE>;<CAPITAL>;IGNORE
-<U007A> <U005A>;<NONE>;<SMALL>;IGNORE
-<U0179> <U005A>;<ACUTE>;<CAPITAL>;IGNORE
-<U017A> <U005A>;<ACUTE>;<SMALL>;IGNORE
-<U1E90> <U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
-<U1E91> <U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
-<U017D> <U005A>;<CARON>;<CAPITAL>;IGNORE
-<U017E> <U005A>;<CARON>;<SMALL>;IGNORE
-<U017B> <U005A>;<DOT>;<CAPITAL>;IGNORE
-<U017C> <U005A>;<DOT>;<SMALL>;IGNORE
-<U1E92> <U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
-<U1E93> <U005A>;<DOT-BELOW>;<SMALL>;IGNORE
-<U01B5> <U005A>;<STROKE>;<CAPITAL>;IGNORE
-<U01B6> <U005A>;<STROKE>;<SMALL>;IGNORE
-<U1E94> <U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
-<U1E95> <U005A>;<LINE-BELOW>;<SMALL>;IGNORE
-<z8>
-<U0391> <U0391>;<CAPITAL>;<GREEK>;IGNORE
-<U0386> <U0391>;<CAPITAL>;<TONOS>;IGNORE
-<U03B1> <U0391>;<SMALL>;<GREEK>;IGNORE
-<U03AC> <U0391>;<SMALL>;<TONOS>;IGNORE
-<U0392> <U0392>;<CAPITAL>;<GREEK>;IGNORE
-<U03B2> <U0392>;<SMALL>;<GREEK>;IGNORE
-<U0393> <U0393>;<CAPITAL>;<GREEK>;IGNORE
-<U03B3> <U0393>;<SMALL>;<GREEK>;IGNORE
-<U0394> <U0394>;<CAPITAL>;<GREEK>;IGNORE
-<U03B4> <U0394>;<SMALL>;<GREEK>;IGNORE
-<U0395> <U0395>;<CAPITAL>;<GREEK>;IGNORE
-<U0388> <U0395>;<CAPITAL>;<TONOS>;IGNORE
-<U03B5> <U0395>;<SMALL>;<GREEK>;IGNORE
-<U03AD> <U0395>;<SMALL>;<TONOS>;IGNORE
-<U0396> <U0396>;<CAPITAL>;<GREEK>;IGNORE
-<U03B6> <U0396>;<SMALL>;<GREEK>;IGNORE
-<U0397> <U0397>;<CAPITAL>;<GREEK>;IGNORE
-<U0389> <U0397>;<CAPITAL>;<TONOS>;IGNORE
-<U03B7> <U0397>;<SMALL>;<GREEK>;IGNORE
-<U03AE> <U0397>;<SMALL>;<TONOS>;IGNORE
-<U0398> <U0398>;<CAPITAL>;<GREEK>;IGNORE
-<U03B8> <U0398>;<SMALL>;<GREEK>;IGNORE
-<U0399> <U0399>;<CAPITAL>;<GREEK>;IGNORE
-<U038A> <U0399>;<CAPITAL>;<TONOS>;IGNORE
-<U03AA> <U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
-<U03B9> <U0399>;<SMALL>;<GREEK>;IGNORE
-<U03AF> <U0399>;<SMALL>;<TONOS>;IGNORE
-<U03CA> <U0399>;<SMALL>;<DIALYTICA>;IGNORE
-<U0390> <U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
-<U039A> <U039A>;<CAPITAL>;<GREEK>;IGNORE
-<U03BA> <U039A>;<SMALL>;<GREEK>;IGNORE
-<U039B> <U039B>;<CAPITAL>;<GREEK>;IGNORE
-<U03BB> <U039B>;<SMALL>;<GREEK>;IGNORE
-<U039C> <U039C>;<CAPITAL>;<GREEK>;IGNORE
-<U03BC> <U039C>;<SMALL>;<GREEK>;IGNORE
-<U039D> <U039D>;<CAPITAL>;<GREEK>;IGNORE
-<U03BD> <U039D>;<SMALL>;<GREEK>;IGNORE
-<U039E> <U039E>;<CAPITAL>;<GREEK>;IGNORE
-<U03BE> <U039E>;<SMALL>;<GREEK>;IGNORE
-<U039F> <U039F>;<CAPITAL>;<GREEK>;IGNORE
-<U038C> <U039F>;<CAPITAL>;<TONOS>;IGNORE
-<U03BF> <U039F>;<SMALL>;<GREEK>;IGNORE
-<U03CC> <U039F>;<SMALL>;<TONOS>;IGNORE
-<U03A0> <U03A0>;<CAPITAL>;<GREEK>;IGNORE
-<U03C0> <U03A0>;<SMALL>;<GREEK>;IGNORE
-<U03A1> <U03A1>;<CAPITAL>;<GREEK>;IGNORE
-<U03C1> <U03A1>;<SMALL>;<GREEK>;IGNORE
-<U03A3> <U03A3>;<CAPITAL>;<GREEK>;IGNORE
-<U03C3> <U03A3>;<SMALL>;<GREEK>;IGNORE
-<U03C2> <U03A3>;<SMALL>;<U03C2>;IGNORE
-<U03A4> <U03A4>;<CAPITAL>;<GREEK>;IGNORE
-<U03C4> <U03A4>;<SMALL>;<GREEK>;IGNORE
-<U03A5> <U03A5>;<CAPITAL>;<GREEK>;IGNORE
-<U038E> <U03A5>;<CAPITAL>;<TONOS>;IGNORE
-<U03AB> <U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
-<U03C5> <U03A5>;<SMALL>;<GREEK>;IGNORE
-<U03CD> <U03A5>;<SMALL>;<TONOS>;IGNORE
-<U03CB> <U03A5>;<SMALL>;<DIALYTICA>;IGNORE
-<U03B0> <U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
-<U03A6> <U03A6>;<CAPITAL>;<GREEK>;IGNORE
-<U03C6> <U03A6>;<SMALL>;<GREEK>;IGNORE
-<U03A7> <U03A7>;<CAPITAL>;<GREEK>;IGNORE
-<U03C7> <U03A7>;<SMALL>;<GREEK>;IGNORE
-<U03A8> <U03A8>;<CAPITAL>;<GREEK>;IGNORE
-<U03C8> <U03A8>;<SMALL>;<GREEK>;IGNORE
-<U03A9> <U03A9>;<CAPITAL>;<GREEK>;IGNORE
-<U038F> <U03A9>;<CAPITAL>;<TONOS>;IGNORE
-<U03C9> <U03A9>;<SMALL>;<GREEK>;IGNORE
-<U03CE> <U03A9>;<SMALL>;<TONOS>;IGNORE
-<U0410> <U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0430> <U0410>;<CYRILLIC>;<SMALL>;IGNORE
-<U0411> <U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0431> <U0411>;<CYRILLIC>;<SMALL>;IGNORE
-<U0412> <U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0432> <U0412>;<CYRILLIC>;<SMALL>;IGNORE
-<U0413> <U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0433> <U0413>;<CYRILLIC>;<SMALL>;IGNORE
-<U0403> <U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0453> <U0403>;<CYRILLIC>;<SMALL>;IGNORE
-<U0490> <U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0491> <U0490>;<CYRILLIC>;<SMALL>;IGNORE
-<U0414> <U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0434> <U0414>;<CYRILLIC>;<SMALL>;IGNORE
-<U0402> <U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0452> <U0402>;<CYRILLIC>;<SMALL>;IGNORE
-<U0415> <U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0435> <U0415>;<CYRILLIC>;<SMALL>;IGNORE
-<U0401> <U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0451> <U0401>;<CYRILLIC>;<SMALL>;IGNORE
-<U0404> <U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0454> <U0404>;<CYRILLIC>;<SMALL>;IGNORE
-<U0416> <U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0436> <U0416>;<CYRILLIC>;<SMALL>;IGNORE
-<U0417> <U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0437> <U0417>;<CYRILLIC>;<SMALL>;IGNORE
-<U0418> <U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0438> <U0418>;<CYRILLIC>;<SMALL>;IGNORE
-<U0406> <U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0456> <U0406>;<CYRILLIC>;<SMALL>;IGNORE
-<U0407> <U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0457> <U0407>;<CYRILLIC>;<SMALL>;IGNORE
-<U0408> <U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0458> <U0408>;<CYRILLIC>;<SMALL>;IGNORE
-<U0419> <U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0439> <U0419>;<CYRILLIC>;<SMALL>;IGNORE
-<U041A> <U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043A> <U041A>;<CYRILLIC>;<SMALL>;IGNORE
-<U040C> <U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U045C> <U040C>;<CYRILLIC>;<SMALL>;IGNORE
-<U041B> <U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043B> <U041B>;<CYRILLIC>;<SMALL>;IGNORE
-<U0409> <U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0459> <U0409>;<CYRILLIC>;<SMALL>;IGNORE
-<U041C> <U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043C> <U041C>;<CYRILLIC>;<SMALL>;IGNORE
-<U041D> <U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043D> <U041D>;<CYRILLIC>;<SMALL>;IGNORE
-<U040A> <U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U045A> <U040A>;<CYRILLIC>;<SMALL>;IGNORE
-<U041E> <U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043E> <U041E>;<CYRILLIC>;<SMALL>;IGNORE
-<U041F> <U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U043F> <U041F>;<CYRILLIC>;<SMALL>;IGNORE
-<U0420> <U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0440> <U0420>;<CYRILLIC>;<SMALL>;IGNORE
-<U0421> <U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0441> <U0421>;<CYRILLIC>;<SMALL>;IGNORE
-<U0422> <U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0442> <U0422>;<CYRILLIC>;<SMALL>;IGNORE
-<U040B> <U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U045B> <U040B>;<CYRILLIC>;<SMALL>;IGNORE
-<U0423> <U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0443> <U0423>;<CYRILLIC>;<SMALL>;IGNORE
-<U040E> <U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U045E> <U040E>;<CYRILLIC>;<SMALL>;IGNORE
-<U0424> <U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0444> <U0424>;<CYRILLIC>;<SMALL>;IGNORE
-<U0425> <U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0445> <U0425>;<CYRILLIC>;<SMALL>;IGNORE
-<U0426> <U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0446> <U0426>;<CYRILLIC>;<SMALL>;IGNORE
-<U0405> <U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0455> <U0405>;<CYRILLIC>;<SMALL>;IGNORE
-<U0427> <U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0447> <U0427>;<CYRILLIC>;<SMALL>;IGNORE
-<U040F> <U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U045F> <U040F>;<CYRILLIC>;<SMALL>;IGNORE
-<U0428> <U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0448> <U0428>;<CYRILLIC>;<SMALL>;IGNORE
-<U0429> <U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0449> <U0429>;<CYRILLIC>;<SMALL>;IGNORE
-<U044A> <U044A>;<CYRILLIC>;<SMALL>;IGNORE
-<U042A> <U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U042B> <U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U044B> <U042B>;<CYRILLIC>;<SMALL>;IGNORE
-<U044C> <U044C>;<CYRILLIC>;<SMALL>;IGNORE
-<U042C> <U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U042D> <U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U044D> <U042D>;<CYRILLIC>;<SMALL>;IGNORE
-<U042E> <U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U044E> <U042E>;<CYRILLIC>;<SMALL>;IGNORE
-<U042F> <U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U044F> <U042F>;<CYRILLIC>;<SMALL>;IGNORE
-<U0462> <U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0463> <U0462>;<CYRILLIC>;<SMALL>;IGNORE
-<U046A> <U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U046B> <U046A>;<CYRILLIC>;<SMALL>;IGNORE
-<U0472> <U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0473> <U0472>;<CYRILLIC>;<SMALL>;IGNORE
-<U0474> <U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0475> <U0474>;<CYRILLIC>;<SMALL>;IGNORE
-<U0480> <U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
-<U0481> <U0480>;<CYRILLIC>;<SMALL>;IGNORE
-<U05D0> <U05D0>;IGNORE;IGNORE;IGNORE
-<U05D1> <U05D1>;IGNORE;IGNORE;IGNORE
-<U05D2> <U05D2>;IGNORE;IGNORE;IGNORE
-<U05D3> <U05D3>;IGNORE;IGNORE;IGNORE
-<U05D4> <U05D4>;IGNORE;IGNORE;IGNORE
-<U05D5> <U05D5>;IGNORE;IGNORE;IGNORE
-<U05D6> <U05D6>;IGNORE;IGNORE;IGNORE
-<U05D7> <U05D7>;IGNORE;IGNORE;IGNORE
-<U05D8> <U05D8>;IGNORE;IGNORE;IGNORE
-<U05D9> <U05D9>;IGNORE;IGNORE;IGNORE
-<U05DA> <U05DA>;IGNORE;IGNORE;IGNORE
-<U05DB> <U05DB>;IGNORE;IGNORE;IGNORE
-<U05DC> <U05DC>;IGNORE;IGNORE;IGNORE
-<U05DD> <U05DD>;IGNORE;IGNORE;IGNORE
-<U05DE> <U05DE>;IGNORE;IGNORE;IGNORE
-<U05DF> <U05DF>;IGNORE;IGNORE;IGNORE
-<U05E0> <U05E0>;IGNORE;IGNORE;IGNORE
-<U05E1> <U05E1>;IGNORE;IGNORE;IGNORE
-<U05E2> <U05E2>;IGNORE;IGNORE;IGNORE
-<U05E3> <U05E3>;IGNORE;IGNORE;IGNORE
-<U05E4> <U05E4>;IGNORE;IGNORE;IGNORE
-<U05E5> <U05E5>;IGNORE;IGNORE;IGNORE
-<U05E6> <U05E6>;IGNORE;IGNORE;IGNORE
-<U05E7> <U05E7>;IGNORE;IGNORE;IGNORE
-<U05E8> <U05E8>;IGNORE;IGNORE;IGNORE
-<U05E9> <U05E9>;IGNORE;IGNORE;IGNORE
-<U05EA> <U05EA>;IGNORE;IGNORE;IGNORE
-
-% Arabic collating
-
-<U060C> IGNORE;IGNORE;IGNORE;<U060C>
-<U061B> IGNORE;IGNORE;IGNORE;<U061B>
-<U061F> IGNORE;IGNORE;IGNORE;<U061F>
-<U0640> IGNORE;IGNORE;IGNORE;<U0640>
-
-<U0621> <U0621>;<U0621>;IGNORE;IGNORE
-<U0622> <U0622>;<U0622>;IGNORE;IGNORE
-<UFE82> <U0622>;<UFE82>;IGNORE;IGNORE
-<U0623> <U0621>;<U0623>;IGNORE;IGNORE
-<UFE84> <U0621>;<UFE84>;IGNORE;IGNORE
-<U0624> <U0621>;<U0624>;IGNORE;IGNORE
-<U0625> <U0621>;<U0625>;IGNORE;IGNORE
-<UFE88> <U0621>;<UFE88>;IGNORE;IGNORE
-<U0626> <U0621>;<U0626>;IGNORE;IGNORE
-<U0670> <U0670>;<U0670>;IGNORE;IGNORE
-<U0627> <U0627>;<U0627>;IGNORE;IGNORE
-<UFE8D> <U0627>;<UFE8D>;IGNORE;IGNORE
-<UFE8E> <U0627>;<UFE8E>;IGNORE;IGNORE
-<UE016> <U0627>;<UE016>;IGNORE;IGNORE
-<U0628> <U0628>;<U0628>;IGNORE;IGNORE
-<UFE8F> <U0628>;<UFE8F>;IGNORE;IGNORE
-<UFE90> <U0628>;<UFE90>;IGNORE;IGNORE
-<UFE91> <U0628>;<UFE91>;IGNORE;IGNORE
-<UFE92> <U0628>;<UFE92>;IGNORE;IGNORE
-<U067E> <U067E>;<U067E>;IGNORE;IGNORE
-<U06A4> <U06A4>;<U06A4>;IGNORE;IGNORE
-<U0629> <U0629>;<U0629>;IGNORE;IGNORE
-<UFE93> <U0629>;<UFE93>;IGNORE;IGNORE
-<UFE94> <U0629>;<UFE94>;IGNORE;IGNORE
-<U062A> <U0629>;<U062A>;IGNORE;IGNORE
-<UFE95> <U0629>;<UFE95>;IGNORE;IGNORE
-<UFE96> <U0629>;<UFE96>;IGNORE;IGNORE
-<UFE97> <U0629>;<UFE97>;IGNORE;IGNORE
-<UFE98> <U0629>;<UFE98>;IGNORE;IGNORE
-<U062B> <U062B>;<U062B>;IGNORE;IGNORE
-<UFE99> <U062B>;<UFE99>;IGNORE;IGNORE
-<UFE9A> <U062B>;<UFE9A>;IGNORE;IGNORE
-<UFE9B> <U062B>;<UFE9B>;IGNORE;IGNORE
-<UFE9C> <U062B>;<UFE9C>;IGNORE;IGNORE
-<U062C> <U062C>;<U062C>;IGNORE;IGNORE
-<UFE9D> <U062C>;<UFE9D>;IGNORE;IGNORE
-<UFE9E> <U062C>;<UFE9E>;IGNORE;IGNORE
-<UFE9F> <U062C>;<UFE9F>;IGNORE;IGNORE
-<UFEA0> <U062C>;<UFEA0>;IGNORE;IGNORE
-<U062D> <U062D>;<U062D>;IGNORE;IGNORE
-<UFEA1> <U062D>;<UFEA1>;IGNORE;IGNORE
-<UFEA2> <U062D>;<UFEA2>;IGNORE;IGNORE
-<UFEA3> <U062D>;<UFEA3>;IGNORE;IGNORE
-<UFEA4> <U062D>;<UFEA4>;IGNORE;IGNORE
-<U062E> <U062E>;<U062E>;IGNORE;IGNORE
-<UFEA5> <U062E>;<UFEA5>;IGNORE;IGNORE
-<UFEA6> <U062E>;<UFEA6>;IGNORE;IGNORE
-<UFEA7> <U062E>;<UFEA7>;IGNORE;IGNORE
-<UFEA8> <U062E>;<UFEA8>;IGNORE;IGNORE
-<U062F> <U062F>;<U062F>;IGNORE;IGNORE
-<UFEA9> <U062F>;<UFEA9>;IGNORE;IGNORE
-<UFEAA> <U062F>;<UFEAA>;IGNORE;IGNORE
-<U0630> <U0630>;<U0630>;IGNORE;IGNORE
-<UFEAB> <U0630>;<UFEAB>;IGNORE;IGNORE
-<UFEAC> <U0630>;<UFEAC>;IGNORE;IGNORE
-<U0631> <U0631>;<U0631>;IGNORE;IGNORE
-<UFEAD> <U0631>;<UFEAD>;IGNORE;IGNORE
-<UFEAE> <U0631>;<UFEAE>;IGNORE;IGNORE
-<U0632> <U0632>;<U0632>;IGNORE;IGNORE
-<UFEAF> <U0632>;<UFEAF>;IGNORE;IGNORE
-<UFEB0> <U0632>;<UFEB0>;IGNORE;IGNORE
-<U0633> <U0633>;<U0633>;IGNORE;IGNORE
-<UFEB1> <U0633>;<UFEB1>;IGNORE;IGNORE
-<UFEB2> <U0633>;<UFEB2>;IGNORE;IGNORE
-<UFEB3> <U0633>;<UFEB3>;IGNORE;IGNORE
-<UFEB4> <U0633>;<UFEB4>;IGNORE;IGNORE
-<U0634> <U0634>;<U0634>;IGNORE;IGNORE
-<UFEB5> <U0634>;<UFEB5>;IGNORE;IGNORE
-<UFEB6> <U0634>;<UFEB6>;IGNORE;IGNORE
-<UFEB7> <U0634>;<UFEB7>;IGNORE;IGNORE
-<UFEB8> <U0634>;<UFEB8>;IGNORE;IGNORE
-<U0635> <U0635>;<U0635>;IGNORE;IGNORE
-<UFEB9> <U0635>;<UFEB9>;IGNORE;IGNORE
-<UFEBA> <U0635>;<UFEBA>;IGNORE;IGNORE
-<UFEBB> <U0635>;<UFEBB>;IGNORE;IGNORE
-<UFEBC> <U0635>;<UFEBC>;IGNORE;IGNORE
-<U0636> <U0636>;<U0636>;IGNORE;IGNORE
-<UFEBD> <U0636>;<UFEBD>;IGNORE;IGNORE
-<UFEBE> <U0636>;<UFEBE>;IGNORE;IGNORE
-<UFEBF> <U0636>;<UFEBF>;IGNORE;IGNORE
-<UFEC0> <U0636>;<UFEC0>;IGNORE;IGNORE
-<U0637> <U0637>;<U0637>;IGNORE;IGNORE
-<UFEC1> <U0637>;<UFEC1>;IGNORE;IGNORE
-<UFEC2> <U0637>;<UFEC2>;IGNORE;IGNORE
-<UFEC3> <U0637>;<UFEC3>;IGNORE;IGNORE
-<UFEC4> <U0637>;<UFEC4>;IGNORE;IGNORE
-<U0638> <U0638>;<U0638>;IGNORE;IGNORE
-<UFEC5> <U0638>;<UFEC5>;IGNORE;IGNORE
-<UFEC6> <U0638>;<UFEC6>;IGNORE;IGNORE
-<UFEC7> <U0638>;<UFEC7>;IGNORE;IGNORE
-<UFEC8> <U0638>;<UFEC8>;IGNORE;IGNORE
-<U0639> <U0639>;<U0639>;IGNORE;IGNORE
-<UFEC9> <U0639>;<UFEC9>;IGNORE;IGNORE
-<UFECA> <U0639>;<UFECA>;IGNORE;IGNORE
-<UFECB> <U0639>;<UFECB>;IGNORE;IGNORE
-<UFECC> <U0639>;<UFECC>;IGNORE;IGNORE
-<U063A> <U063A>;<U063A>;IGNORE;IGNORE
-<UFECD> <U063A>;<UFECD>;IGNORE;IGNORE
-<UFECE> <U063A>;<UFECE>;IGNORE;IGNORE
-<UFECF> <U063A>;<UFECF>;IGNORE;IGNORE
-<UFED0> <U063A>;<UFED0>;IGNORE;IGNORE
-<U0641> <U0641>;<U0641>;IGNORE;IGNORE
-<UFED1> <U0641>;<UFED1>;IGNORE;IGNORE
-<UFED2> <U0641>;<UFED2>;IGNORE;IGNORE
-<UFED3> <U0641>;<UFED3>;IGNORE;IGNORE
-<UFED4> <U0641>;<UFED4>;IGNORE;IGNORE
-<U0642> <U0642>;<U0642>;IGNORE;IGNORE
-<UFED5> <U0642>;<UFED5>;IGNORE;IGNORE
-<UFED6> <U0642>;<UFED6>;IGNORE;IGNORE
-<UFED7> <U0642>;<UFED7>;IGNORE;IGNORE
-<UFED8> <U0642>;<UFED8>;IGNORE;IGNORE
-<U0643> <U0643>;<U0643>;IGNORE;IGNORE
-<UFED9> <U0643>;<UFED9>;IGNORE;IGNORE
-<UFEDA> <U0643>;<UFEDA>;IGNORE;IGNORE
-<UFEDB> <U0643>;<UFEDB>;IGNORE;IGNORE
-<UFEDC> <U0643>;<UFEDC>;IGNORE;IGNORE
-<U0644> <U0644>;<U0644>;IGNORE;IGNORE
-<UFEDD> <U0644>;<UFEDD>;IGNORE;IGNORE
-<UFEDE> <U0644>;<UFEDE>;IGNORE;IGNORE
-<UFEDF> <U0644>;<UFEDF>;IGNORE;IGNORE
-<UFEE0> <U0644>;<UFEE0>;IGNORE;IGNORE
-<U0645> <U0645>;<U0645>;IGNORE;IGNORE
-<UFEE1> <U0645>;<UFEE1>;IGNORE;IGNORE
-<UFEE2> <U0645>;<UFEE2>;IGNORE;IGNORE
-<UFEE3> <U0645>;<UFEE3>;IGNORE;IGNORE
-<UFEE4> <U0645>;<UFEE4>;IGNORE;IGNORE
-<U0646> <U0646>;<U0646>;IGNORE;IGNORE
-<UFEE5> <U0646>;<UFEE5>;IGNORE;IGNORE
-<UFEE6> <U0646>;<UFEE6>;IGNORE;IGNORE
-<UFEE7> <U0646>;<UFEE7>;IGNORE;IGNORE
-<UFEE8> <U0646>;<UFEE8>;IGNORE;IGNORE
-<U0647> <U0647>;<U0647>;IGNORE;IGNORE
-<UFEE9> <U0647>;<UFEE9>;IGNORE;IGNORE
-<UFEEA> <U0647>;<UFEEA>;IGNORE;IGNORE
-<UFEEB> <U0647>;<UFEEB>;IGNORE;IGNORE
-<UFEEC> <U0647>;<UFEEC>;IGNORE;IGNORE
-<U0648> <U0648>;<U0648>;IGNORE;IGNORE
-<UFEED> <U0648>;<UFEED>;IGNORE;IGNORE
-<UFEEE> <U0648>;<UFEEE>;IGNORE;IGNORE
-<U0649> <U0649>;<U0649>;IGNORE;IGNORE
-<UFEEF> <U0649>;<UFEEF>;IGNORE;IGNORE
-<UFEF0> <U0649>;<UFEF0>;IGNORE;IGNORE
-<U064A> <U064A>;<U064A>;IGNORE;IGNORE
-<UFEF1> <U064A>;<UFEF1>;IGNORE;IGNORE
-<UFEF2> <U064A>;<UFEF2>;IGNORE;IGNORE
-<UFEF3> <U064A>;<UFEF3>;IGNORE;IGNORE
-<UFEF4> <U064A>;<UFEF4>;IGNORE;IGNORE
-
-<U064B> IGNORE;IGNORE;<U064B>;IGNORE
-<U064C> IGNORE;IGNORE;<U064C>;IGNORE
-<U064D> IGNORE;IGNORE;<U064D>;IGNORE
-<U064E> IGNORE;IGNORE;<U064E>;IGNORE
-<U064F> IGNORE;IGNORE;<U064F>;IGNORE
-<U0650> IGNORE;IGNORE;<U0650>;IGNORE
-<U0651> IGNORE;IGNORE;<U0651>;IGNORE
-<UFE7D> IGNORE;IGNORE;<UFE7D>;IGNORE
-<U0652> IGNORE;IGNORE;<U0652>;IGNORE
-
-<U0660> <U0030>;<U0660>;IGNORE;IGNORE
-<U0661> <U0031>;<U0661>;IGNORE;IGNORE
-<U0662> <U0032>;<U0662>;IGNORE;IGNORE
-<U0663> <U0033>;<U0663>;IGNORE;IGNORE
-<U0664> <U0034>;<U0664>;IGNORE;IGNORE
-<U0665> <U0035>;<U0665>;IGNORE;IGNORE
-<U0666> <U0036>;<U0666>;IGNORE;IGNORE
-<U0667> <U0037>;<U0667>;IGNORE;IGNORE
-<U0668> <U0038>;<U0668>;IGNORE;IGNORE
-<U0669> <U0039>;<U0669>;IGNORE;IGNORE
-
-<UFEF5> "<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
-<UFEF6> "<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
-<UFEF7> "<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
-<UFEF8> "<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
-<UFEF9> "<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
-<UFEFA> "<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
-<UFEFB> "<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
-<UFEFC> "<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
-
-% katakana/hiragana sorting
-% base is katakana, as this is present in most charsets
-% normal before voiced before semi-voiced
-% small vocals before normal vocals
-% katakana before hiragana
-
-<U30A1> <U30A1>;<U30A1>;IGNORE;IGNORE
-<U3041> <U30A1>;<U3041>;IGNORE;IGNORE
-<U30A2> <U30A1>;<U30A2>;IGNORE;IGNORE
-<U3042> <U30A1>;<U3042>;IGNORE;IGNORE
-<U30A3> <U30A3>;<U30A3>;IGNORE;IGNORE
-<U3043> <U30A3>;<U3043>;IGNORE;IGNORE
-<U30A4> <U30A3>;<U30A4>;IGNORE;IGNORE
-<U3044> <U30A3>;<U3044>;IGNORE;IGNORE
-<U30A5> <U30A5>;<U30A5>;IGNORE;IGNORE
-<U3045> <U30A5>;<U3045>;IGNORE;IGNORE
-<U30A6> <U30A5>;<U30A6>;IGNORE;IGNORE
-<U3046> <U30A5>;<U3046>;IGNORE;IGNORE
-<U30F4> <U30A5>;<U30F4>;IGNORE;IGNORE
-<U30A7> <U30A7>;<U30A7>;IGNORE;IGNORE
-<U3047> <U30A7>;<U3047>;IGNORE;IGNORE
-<U30A8> <U30A7>;<U30A8>;IGNORE;IGNORE
-<U3048> <U30A7>;<U3048>;IGNORE;IGNORE
-<U30A9> <U30A9>;<U30A9>;IGNORE;IGNORE
-<U3049> <U30A9>;<U3049>;IGNORE;IGNORE
-<U30AA> <U30A9>;<U30AA>;IGNORE;IGNORE
-<U304A> <U30A9>;<U304A>;IGNORE;IGNORE
-<U30F5> <U30F5>;<U30F5>;IGNORE;IGNORE
-<U30AB> <U30F5>;<U30AB>;IGNORE;IGNORE
-<U304B> <U30F5>;<U304B>;IGNORE;IGNORE
-<U30AC> <U30F5>;<U30AC>;IGNORE;IGNORE
-<U304C> <U30F5>;<U304C>;IGNORE;IGNORE
-<U30AD> <U30AD>;<U30AD>;IGNORE;IGNORE
-<U304D> <U30AD>;<U304D>;IGNORE;IGNORE
-<U30AE> <U30AD>;<U30AE>;IGNORE;IGNORE
-<U304E> <U30AD>;<U304E>;IGNORE;IGNORE
-<U30AF> <U30AF>;<U30AF>;IGNORE;IGNORE
-<U304F> <U30AF>;<U304F>;IGNORE;IGNORE
-<U30B0> <U30AF>;<U30B0>;IGNORE;IGNORE
-<U3050> <U30AF>;<U3050>;IGNORE;IGNORE
-<U30F6> <U30F6>;<U30F6>;IGNORE;IGNORE
-<U30B1> <U30F6>;<U30B1>;IGNORE;IGNORE
-<U3051> <U30F6>;<U3051>;IGNORE;IGNORE
-<U30B2> <U30F6>;<U30B2>;IGNORE;IGNORE
-<U3052> <U30F6>;<U3052>;IGNORE;IGNORE
-<U30B3> <U30B3>;<U30B3>;IGNORE;IGNORE
-<U3053> <U30B3>;<U3053>;IGNORE;IGNORE
-<U30B4> <U30B3>;<U30B4>;IGNORE;IGNORE
-<U3054> <U30B3>;<U3054>;IGNORE;IGNORE
-<U30B5> <U30B5>;<U30B5>;IGNORE;IGNORE
-<U3055> <U30B5>;<U3055>;IGNORE;IGNORE
-<U30B6> <U30B5>;<U30B6>;IGNORE;IGNORE
-<U3056> <U30B5>;<U3056>;IGNORE;IGNORE
-<U30B7> <U30B7>;<U30B7>;IGNORE;IGNORE
-<U3057> <U30B7>;<U3057>;IGNORE;IGNORE
-<U30B8> <U30B7>;<U30B8>;IGNORE;IGNORE
-<U3058> <U30B7>;<U3058>;IGNORE;IGNORE
-<U30B9> <U30B9>;<U30B9>;IGNORE;IGNORE
-<U3059> <U30B9>;<U3059>;IGNORE;IGNORE
-<U30BA> <U30B9>;<U30BA>;IGNORE;IGNORE
-<U305A> <U30B9>;<U305A>;IGNORE;IGNORE
-<U30BB> <U30BB>;<U30BB>;IGNORE;IGNORE
-<U305B> <U30BB>;<U305B>;IGNORE;IGNORE
-<U30BC> <U30BB>;<U30BC>;IGNORE;IGNORE
-<U305C> <U30BB>;<U305C>;IGNORE;IGNORE
-<U30BD> <U30BD>;<U30BD>;IGNORE;IGNORE
-<U305D> <U30BD>;<U305D>;IGNORE;IGNORE
-<U30BE> <U30BD>;<U30BE>;IGNORE;IGNORE
-<U305E> <U30BD>;<U305E>;IGNORE;IGNORE
-<U30BF> <U30BF>;<U30BF>;IGNORE;IGNORE
-<U305F> <U30BF>;<U305F>;IGNORE;IGNORE
-<U30C0> <U30BF>;<U30C0>;IGNORE;IGNORE
-<U3060> <U30BF>;<U3060>;IGNORE;IGNORE
-<U30C1> <U30C1>;<U30C1>;IGNORE;IGNORE
-<U3061> <U30C1>;<U3061>;IGNORE;IGNORE
-<U30C2> <U30C1>;<U30C2>;IGNORE;IGNORE
-<U3062> <U30C1>;<U3062>;IGNORE;IGNORE
-<U30C3> <U30C3>;<U30C3>;IGNORE;IGNORE
-<U3063> <U30C3>;<U3063>;IGNORE;IGNORE
-<U30C4> <U30C3>;<U30C4>;IGNORE;IGNORE
-<U3064> <U30C3>;<U3064>;IGNORE;IGNORE
-<U30C5> <U30C3>;<U30C5>;IGNORE;IGNORE
-<U3065> <U30C3>;<U3065>;IGNORE;IGNORE
-<U30C6> <U30C6>;<U30C6>;IGNORE;IGNORE
-<U3066> <U30C6>;<U3066>;IGNORE;IGNORE
-<U30C7> <U30C6>;<U30C7>;IGNORE;IGNORE
-<U3067> <U30C6>;<U3067>;IGNORE;IGNORE
-<U30C8> <U30C8>;<U30C8>;IGNORE;IGNORE
-<U3068> <U30C8>;<U3068>;IGNORE;IGNORE
-<U30C9> <U30C8>;<U30C9>;IGNORE;IGNORE
-<U3069> <U30C8>;<U3069>;IGNORE;IGNORE
-<U30CA> <U30CA>;<U30CA>;IGNORE;IGNORE
-<U306A> <U30CA>;<U306A>;IGNORE;IGNORE
-<U30CB> <U30CB>;<U30CB>;IGNORE;IGNORE
-<U306B> <U30CB>;<U306B>;IGNORE;IGNORE
-<U30CC> <U30CC>;<U30CC>;IGNORE;IGNORE
-<U306C> <U30CC>;<U306C>;IGNORE;IGNORE
-<U30CD> <U30CD>;<U30CD>;IGNORE;IGNORE
-<U306D> <U30CD>;<U306D>;IGNORE;IGNORE
-<U30CE> <U30CE>;<U30CE>;IGNORE;IGNORE
-<U306E> <U30CE>;<U306E>;IGNORE;IGNORE
-<U30CF> <U30CF>;<U30CF>;IGNORE;IGNORE
-<U306F> <U30CF>;<U306F>;IGNORE;IGNORE
-<U30D0> <U30CF>;<U30D0>;IGNORE;IGNORE
-<U3070> <U30CF>;<U3070>;IGNORE;IGNORE
-<U30D1> <U30CF>;<U30D1>;IGNORE;IGNORE
-<U3071> <U30CF>;<U3071>;IGNORE;IGNORE
-<U30D2> <U30D2>;<U30D2>;IGNORE;IGNORE
-<U3072> <U30D2>;<U3072>;IGNORE;IGNORE
-<U30D3> <U30D2>;<U30D3>;IGNORE;IGNORE
-<U3073> <U30D2>;<U3073>;IGNORE;IGNORE
-<U30D4> <U30D2>;<U30D4>;IGNORE;IGNORE
-<U3074> <U30D2>;<U3074>;IGNORE;IGNORE
-<U30D5> <U30D5>;<U30D5>;IGNORE;IGNORE
-<U3075> <U30D5>;<U3075>;IGNORE;IGNORE
-<U30D6> <U30D5>;<U30D6>;IGNORE;IGNORE
-<U3076> <U30D5>;<U3076>;IGNORE;IGNORE
-<U30D7> <U30D5>;<U30D7>;IGNORE;IGNORE
-<U3077> <U30D5>;<U3077>;IGNORE;IGNORE
-<U30D8> <U30D8>;<U30D8>;IGNORE;IGNORE
-<U3078> <U30D8>;<U3078>;IGNORE;IGNORE
-<U30D9> <U30D8>;<U30D9>;IGNORE;IGNORE
-<U3079> <U30D8>;<U3079>;IGNORE;IGNORE
-<U30DA> <U30D8>;<U30DA>;IGNORE;IGNORE
-<U307A> <U30D8>;<U307A>;IGNORE;IGNORE
-<U30DB> <U30DB>;<U30DB>;IGNORE;IGNORE
-<U307B> <U30DB>;<U307B>;IGNORE;IGNORE
-<U30DC> <U30DB>;<U30DC>;IGNORE;IGNORE
-<U307C> <U30DB>;<U307C>;IGNORE;IGNORE
-<U30DD> <U30DB>;<U30DD>;IGNORE;IGNORE
-<U307D> <U30DB>;<U307D>;IGNORE;IGNORE
-<U30DE> <U30DE>;<U30DE>;IGNORE;IGNORE
-<U307E> <U30DE>;<U307E>;IGNORE;IGNORE
-<U30DF> <U30DF>;<U30DF>;IGNORE;IGNORE
-<U307F> <U30DF>;<U307F>;IGNORE;IGNORE
-<U30E0> <U30E0>;<U30E0>;IGNORE;IGNORE
-<U3080> <U30E0>;<U3080>;IGNORE;IGNORE
-<U30E1> <U30E1>;<U30E1>;IGNORE;IGNORE
-<U3081> <U30E1>;<U3081>;IGNORE;IGNORE
-<U30E2> <U30E2>;<U30E2>;IGNORE;IGNORE
-<U3082> <U30E2>;<U3082>;IGNORE;IGNORE
-<U30E3> <U30E3>;<U30E3>;IGNORE;IGNORE
-<U3083> <U30E3>;<U3083>;IGNORE;IGNORE
-<U30E4> <U30E3>;<U30E4>;IGNORE;IGNORE
-<U3084> <U30E3>;<U3084>;IGNORE;IGNORE
-<U30E5> <U30E5>;<U30E5>;IGNORE;IGNORE
-<U3085> <U30E5>;<U3085>;IGNORE;IGNORE
-<U30E6> <U30E5>;<U30E6>;IGNORE;IGNORE
-<U3086> <U30E5>;<U3086>;IGNORE;IGNORE
-<U30E7> <U30E7>;<U30E7>;IGNORE;IGNORE
-<U3087> <U30E7>;<U3087>;IGNORE;IGNORE
-<U30E8> <U30E7>;<U30E8>;IGNORE;IGNORE
-<U3088> <U30E7>;<U3088>;IGNORE;IGNORE
-<U30E9> <U30E9>;<U30E9>;IGNORE;IGNORE
-<U3089> <U30E9>;<U3089>;IGNORE;IGNORE
-<U30EA> <U30EA>;<U30EA>;IGNORE;IGNORE
-<U308A> <U30EA>;<U308A>;IGNORE;IGNORE
-<U30EB> <U30EB>;<U30EB>;IGNORE;IGNORE
-<U308B> <U30EB>;<U308B>;IGNORE;IGNORE
-<U30EC> <U30EC>;<U30EC>;IGNORE;IGNORE
-<U308C> <U30EC>;<U308C>;IGNORE;IGNORE
-<U30ED> <U30ED>;<U30ED>;IGNORE;IGNORE
-<U308D> <U30ED>;<U308D>;IGNORE;IGNORE
-<U30EE> <U30EE>;<U30EE>;IGNORE;IGNORE
-<U308E> <U30EE>;<U308E>;IGNORE;IGNORE
-<U30EF> <U30EE>;<U30EF>;IGNORE;IGNORE
-<U308F> <U30EE>;<U308F>;IGNORE;IGNORE
-<U30F0> <U30F0>;<U30F0>;IGNORE;IGNORE
-<U3090> <U30F0>;<U3090>;IGNORE;IGNORE
-<U30F1> <U30F1>;<U30F1>;IGNORE;IGNORE
-<U3091> <U30F1>;<U3091>;IGNORE;IGNORE
-<U30F2> <U30F2>;<U30F2>;IGNORE;IGNORE
-<U3092> <U30F2>;<U3092>;IGNORE;IGNORE
-<U30F3> <U30F3>;<U30F3>;IGNORE;IGNORE
-<U3093> <U30F3>;<U3093>;IGNORE;IGNORE
-
-order_end
-
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
END LC_COLLATE
LC_CTYPE
@@ -2135,9 +75,9 @@ positive_sign ""
negative_sign "<U002D>"
int_frac_digits 2
frac_digits 2
-p_cs_precedes 1
+p_cs_precedes 0
p_sep_by_space 1
-n_cs_precedes 1
+n_cs_precedes 0
n_sep_by_space 1
p_sign_posn 1
n_sign_posn 1
diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU
index 95be95b0a3..97e544df6a 100644
--- a/localedata/locales/hu_HU
+++ b/localedata/locales/hu_HU
@@ -543,8 +543,8 @@ measurement 1
END LC_MEASUREMENT
LC_NAME
-name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
+name_fmt "<U0025><U0064><U0025><U0074><U0025><U0066><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0067>"
END LC_NAME
LC_ADDRESS
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index bf6b63338e..ab36f0ed9f 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -61,6 +61,7 @@ script <CYRIL>
script <ARMENIAN>
script <GEORGIAN>
script <DEVANAGARI>
+script <GUJARATI>
# Déclaration des symboles internes / Declaration of internal symbols
#
@@ -474,84 +475,84 @@ collating-symbol <GEORG-FI>
collating-symbol <NUM>
collating-symbol <NKT>
collating-symbol <dv-abbrevation>
-collating-symbol <dom>
-collating-symbol <dvw-shorta>
-collating-symbol <dvw-a>
-collating-symbol <dvw-aa>
-collating-symbol <dvw-i>
-collating-symbol <dvw-ii>
-collating-symbol <dvw-u>
-collating-symbol <dvw-uu>
-collating-symbol <dvw-vocalicr>
-collating-symbol <dvw-vocalicrr>
-collating-symbol <dvw-vocalicl>
-collating-symbol <dvw-vocalicll>
-collating-symbol <dvw-candrae>
-collating-symbol <dvw-shorte>
-collating-symbol <dvw-e>
-collating-symbol <dvw-ai>
-collating-symbol <dvw-candrao>
-collating-symbol <dvw-shorto>
-collating-symbol <dvw-o>
-collating-symbol <dvw-au>
-collating-symbol <d_ka>
-collating-symbol <d_kha>
-collating-symbol <d_ga>
-collating-symbol <d_gga>
-collating-symbol <d_gha>
-collating-symbol <d_nga>
-collating-symbol <d_ca>
-collating-symbol <d_cha>
-collating-symbol <d_ja>
-collating-symbol <d_jja>
-collating-symbol <d_jha>
-collating-symbol <d_nya>
-collating-symbol <d_tta>
-collating-symbol <d_ttha>
-collating-symbol <d_dda>
-collating-symbol <d_ddda>
-collating-symbol <d_ddha>
-collating-symbol <d_nna>
-collating-symbol <d_ta>
-collating-symbol <d_tha>
-collating-symbol <d_da>
-collating-symbol <d_dha>
-collating-symbol <d_na>
-collating-symbol <d_pa>
-collating-symbol <d_pha>
-collating-symbol <d_ba>
+collating-symbol <dom>
+collating-symbol <dvw-shorta>
+collating-symbol <dvw-a>
+collating-symbol <dvw-aa>
+collating-symbol <dvw-i>
+collating-symbol <dvw-ii>
+collating-symbol <dvw-u>
+collating-symbol <dvw-uu>
+collating-symbol <dvw-vocalicr>
+collating-symbol <dvw-vocalicrr>
+collating-symbol <dvw-vocalicl>
+collating-symbol <dvw-vocalicll>
+collating-symbol <dvw-candrae>
+collating-symbol <dvw-shorte>
+collating-symbol <dvw-e>
+collating-symbol <dvw-ai>
+collating-symbol <dvw-candrao>
+collating-symbol <dvw-shorto>
+collating-symbol <dvw-o>
+collating-symbol <dvw-au>
+collating-symbol <d_ka>
+collating-symbol <d_kha>
+collating-symbol <d_ga>
+collating-symbol <d_gga>
+collating-symbol <d_gha>
+collating-symbol <d_nga>
+collating-symbol <d_ca>
+collating-symbol <d_cha>
+collating-symbol <d_ja>
+collating-symbol <d_jja>
+collating-symbol <d_jha>
+collating-symbol <d_nya>
+collating-symbol <d_tta>
+collating-symbol <d_ttha>
+collating-symbol <d_dda>
+collating-symbol <d_ddda>
+collating-symbol <d_ddha>
+collating-symbol <d_nna>
+collating-symbol <d_ta>
+collating-symbol <d_tha>
+collating-symbol <d_da>
+collating-symbol <d_dha>
+collating-symbol <d_na>
+collating-symbol <d_pa>
+collating-symbol <d_pha>
+collating-symbol <d_ba>
collating-symbol <d_bba>
-collating-symbol <d_bha>
-collating-symbol <d_ma>
-collating-symbol <d_ya>
-collating-symbol <d_ra>
-collating-symbol <d_la>
-collating-symbol <d_lla>
-collating-symbol <d_va>
-collating-symbol <d_sha>
-collating-symbol <d_ssa>
-collating-symbol <d_sa>
-collating-symbol <d_ha>
-collating-symbol <d_avagrah>
-collating-symbol <d_glo-stop>
-collating-symbol <dm-aa>
-collating-symbol <dm-i>
-collating-symbol <dm-ii>
-collating-symbol <dm-u>
+collating-symbol <d_bha>
+collating-symbol <d_ma>
+collating-symbol <d_ya>
+collating-symbol <d_ra>
+collating-symbol <d_la>
+collating-symbol <d_lla>
+collating-symbol <d_va>
+collating-symbol <d_sha>
+collating-symbol <d_ssa>
+collating-symbol <d_sa>
+collating-symbol <d_ha>
+collating-symbol <d_avagrah>
+collating-symbol <d_glo-stop>
+collating-symbol <dm-aa>
+collating-symbol <dm-i>
+collating-symbol <dm-ii>
+collating-symbol <dm-u>
collating-symbol <dm-uu>
-collating-symbol <dm-vocalicr>
-collating-symbol <dm-vocalicrr>
-collating-symbol <dm-vocalicl>
-collating-symbol <dm-vocalicll>
-collating-symbol <dm-candrae>
-collating-symbol <dm-shorte>
-collating-symbol <dm-e>
-collating-symbol <dm-ai>
-collating-symbol <dm-candrao>
-collating-symbol <dm-shorto>
-collating-symbol <dm-o>
-collating-symbol <dm-au>
-collating-symbol <dvd-anuswara>
+collating-symbol <dm-vocalicr>
+collating-symbol <dm-vocalicrr>
+collating-symbol <dm-vocalicl>
+collating-symbol <dm-vocalicll>
+collating-symbol <dm-candrae>
+collating-symbol <dm-shorte>
+collating-symbol <dm-e>
+collating-symbol <dm-ai>
+collating-symbol <dm-candrao>
+collating-symbol <dm-shorto>
+collating-symbol <dm-o>
+collating-symbol <dm-au>
+collating-symbol <dvd-anuswara>
collating-symbol <dvd-chandrabindu>
collating-symbol <dvd-visarg>
collating-symbol <d_halant>
@@ -560,6 +561,96 @@ collating-symbol <d_anudatta>
collating-symbol <dv-grave>
collating-symbol <dv-acute>
+#<GUJARATI>
+#
+# Added Akhand Characters in sorting as per requirement of mr_IN
+# gvd- denotes vowel modifier
+# gm- denotes matras
+# gvw- denotes vowels
+# <GNKT> denotes Nukta characters
+
+collating-element <gu-ksha> from "<U0A95><U0ACD><U0AB7>"
+collating-element <gu-dnya> from "<U0A9C><U0ACD><U0A9E>"
+collating-element <gu-shra> from "<U0AB6><U0ACD><U0AB0>"
+collating-element <gu-tra> from "<U0AA4><U0ACD><U0AB0>"
+
+# defning symbols
+collating-symbol <GNKT>
+collating-symbol <gom>
+collating-symbol <gvw-a>
+collating-symbol <gvw-aa>
+collating-symbol <gvw-i>
+collating-symbol <gvw-ii>
+collating-symbol <gvw-u>
+collating-symbol <gvw-uu>
+collating-symbol <gvw-vocalicr>
+collating-symbol <gvw-vocalicrr>
+collating-symbol <gvw-vocalicl>
+collating-symbol <gvw-vocalicll>
+collating-symbol <gvw-candrae>
+collating-symbol <gvw-e>
+collating-symbol <gvw-ai>
+collating-symbol <gvw-candrao>
+collating-symbol <gvw-o>
+collating-symbol <gvw-au>
+collating-symbol <g-ka>
+collating-symbol <g-kha>
+collating-symbol <g-ga>
+collating-symbol <g-gha>
+collating-symbol <g-nga>
+collating-symbol <g-ca>
+collating-symbol <g-cha>
+collating-symbol <g-ja>
+collating-symbol <g-jha>
+collating-symbol <g-nya>
+collating-symbol <g-tta>
+collating-symbol <g-ttha>
+collating-symbol <g-dda>
+collating-symbol <g-ddha>
+collating-symbol <g-nna>
+collating-symbol <g-ta>
+collating-symbol <g-tha>
+collating-symbol <g-da>
+collating-symbol <g-dha>
+collating-symbol <g-na>
+collating-symbol <g-pa>
+collating-symbol <g-pha>
+collating-symbol <g-ba>
+collating-symbol <g-bha>
+collating-symbol <g-ma>
+collating-symbol <g-ya>
+collating-symbol <g-ra>
+collating-symbol <g-la>
+collating-symbol <g-lla>
+collating-symbol <g-va>
+collating-symbol <g-sha>
+collating-symbol <g-ssa>
+collating-symbol <g-sa>
+collating-symbol <g-ha>
+collating-symbol <g-ksha>
+collating-symbol <g-dnya>
+collating-symbol <g-shra>
+collating-symbol <g-tra>
+collating-symbol <g-avagrah>
+collating-symbol <gm-aa>
+collating-symbol <gm-i>
+collating-symbol <gm-ii>
+collating-symbol <gm-u>
+collating-symbol <gm-uu>
+collating-symbol <gm-vocalicr>
+collating-symbol <gm-vocalicrr>
+collating-symbol <gm-vocalicl>
+collating-symbol <gm-vocalicll>
+collating-symbol <gm-candrae>
+collating-symbol <gm-e>
+collating-symbol <gm-ai>
+collating-symbol <gm-candrao>
+collating-symbol <gm-o>
+collating-symbol <gm-au>
+collating-symbol <gvd-anuswara>
+collating-symbol <gvd-chandrabindu>
+collating-symbol <gvd-visarg>
+collating-symbol <g-halant>
# Ordre des symboles internes / Order of internal symbols
#
@@ -983,87 +1074,168 @@ collating-symbol <dv-acute>
<dv-grave>
<dv-acute>
<dv-abbrevation>
-<dom>
-<dvw-shorta>
-<dvw-a>
-<dvw-aa>
-<dvw-i>
-<dvw-ii>
-<dvw-u>
-<dvw-uu>
-<dvw-vocalicr>
-<dvw-vocalicrr>
-<dvw-vocalicl>
-<dvw-vocalicll>
-<dvw-candrae>
-<dvw-shorte>
-<dvw-e>
-<dvw-ai>
-<dvw-candrao>
-<dvw-shorto>
-<dvw-o>
-<dvw-au>
-<d_ka>
-<d_kha>
-<d_ga>
-<d_gga>
-<d_gha>
-<d_nga>
-<d_ca>
-<d_cha>
-<d_ja>
-<d_jja>
-<d_jha>
-<d_nya>
-<d_tta>
-<d_ttha>
-<d_dda>
-<d_ddda>
-<d_ddha>
-<d_nna>
-<d_ta>
-<d_tha>
-<d_da>
-<d_dha>
-<d_na>
-<d_pa>
-<d_pha>
-<d_ba>
+<dom>
+<dvw-shorta>
+<dvw-a>
+<dvw-aa>
+<dvw-i>
+<dvw-ii>
+<dvw-u>
+<dvw-uu>
+<dvw-vocalicr>
+<dvw-vocalicrr>
+<dvw-vocalicl>
+<dvw-vocalicll>
+<dvw-candrae>
+<dvw-shorte>
+<dvw-e>
+<dvw-ai>
+<dvw-candrao>
+<dvw-shorto>
+<dvw-o>
+<dvw-au>
+<d_ka>
+<d_kha>
+<d_ga>
+<d_gga>
+<d_gha>
+<d_nga>
+<d_ca>
+<d_cha>
+<d_ja>
+<d_jja>
+<d_jha>
+<d_nya>
+<d_tta>
+<d_ttha>
+<d_dda>
+<d_ddda>
+<d_ddha>
+<d_nna>
+<d_ta>
+<d_tha>
+<d_da>
+<d_dha>
+<d_na>
+<d_pa>
+<d_pha>
+<d_ba>
<d_bba>
-<d_bha>
-<d_ma>
-<d_ya>
-<d_ra>
-<d_la>
-<d_lla>
-<d_va>
-<d_sha>
-<d_ssa>
-<d_sa>
-<d_ha>
-<d_avagrah>
-<d_glo-stop>
-<dm-aa>
-<dm-i>
-<dm-ii>
-<dm-u>
+<d_bha>
+<d_ma>
+<d_ya>
+<d_ra>
+<d_la>
+<d_lla>
+<d_va>
+<d_sha>
+<d_ssa>
+<d_sa>
+<d_ha>
+<d_avagrah>
+<d_glo-stop>
+<dm-aa>
+<dm-i>
+<dm-ii>
+<dm-u>
<dm-uu>
-<dm-vocalicr>
-<dm-vocalicrr>
-<dm-vocalicl>
-<dm-vocalicll>
-<dm-candrae>
-<dm-shorte>
-<dm-e>
-<dm-ai>
-<dm-candrao>
-<dm-shorto>
-<dm-o>
-<dm-au>
+<dm-vocalicr>
+<dm-vocalicrr>
+<dm-vocalicl>
+<dm-vocalicll>
+<dm-candrae>
+<dm-shorte>
+<dm-e>
+<dm-ai>
+<dm-candrao>
+<dm-shorto>
+<dm-o>
+<dm-au>
<dvd-anuswara>
<dvd-chandrabindu>
<dvd-visarg>
<d_halant>
+#
+# <GUJARATI>
+#
+# collation weights in order
+
+<GNKT>
+<gom>
+<gvw-a>
+<gvw-aa>
+<gvw-i>
+<gvw-ii>
+<gvw-u>
+<gvw-uu>
+<gvw-vocalicr>
+<gvw-vocalicrr>
+<gvw-vocalicl>
+<gvw-vocalicll>
+<gvw-candrae>
+<gvw-e>
+<gvw-ai>
+<gvw-candrao>
+<gvw-o>
+<gvw-au>
+<g-ka>
+<g-kha>
+<g-ga>
+<g-gha>
+<g-nga>
+<g-ca>
+<g-cha>
+<g-ja>
+<g-jha>
+<g-nya>
+<g-tta>
+<g-ttha>
+<g-dda>
+<g-ddha>
+<g-nna>
+<g-ta>
+<g-tha>
+<g-da>
+<g-dha>
+<g-na>
+<g-pa>
+<g-pha>
+<g-ba>
+<g-bha>
+<g-ma>
+<g-ya>
+<g-ra>
+<g-la>
+<g-lla>
+<g-va>
+<g-sha>
+<g-ssa>
+<g-sa>
+<g-ha>
+<g-ksha>
+<g-dnya>
+<g-shra>
+<g-tra>
+<g-avagrah>
+<gm-aa>
+<gm-i>
+<gm-ii>
+<gm-u>
+<gm-uu>
+<gm-vocalicr>
+<gm-vocalicrr>
+<gm-vocalicl>
+<gm-vocalicll>
+<gm-candrae>
+<gm-e>
+<gm-ai>
+<gm-candrao>
+<gm-o>
+<gm-au>
+<gvd-anuswara>
+<gvd-chandrabindu>
+<gvd-visarg>
+<g-halant>
order_start <SPECIAL>;forward;backward;forward;forward,position
#
@@ -1899,11 +2071,11 @@ endif
<U0160> <s>;<CAR>;<CAP>;IGNORE # 742 <S<>
<U015E> <s>;<CDI>;<CAP>;IGNORE # 743 <S,>
<U0218> <s>;<CDI>;<CAP>;IGNORE # 744 Ș
-<U1E60> <r>;<PCT>;<CAP>;IGNORE # 745 Ṡ
-<U1E62> <r>;<BPT>;<CAP>;IGNORE # 746 Ṣ
-<U1E64> <r>;<ACA>;<CAP>;<PCT> # 747 Ṥ
-<U1E66> <r>;<CAR>;<CAP>;<PCT> # 748 Ṧ
-<U1E68> <r>;<BPT>;<CAP>;<PCT> # 749 Ṩ
+<U1E60> <s>;<PCT>;<CAP>;IGNORE # 745 Ṡ
+<U1E62> <s>;<BPT>;<CAP>;IGNORE # 746 Ṣ
+<U1E64> <s>;<ACA>;<CAP>;<PCT> # 747 Ṥ
+<U1E66> <s>;<CAR>;<CAP>;<PCT> # 748 Ṧ
+<U1E68> <s>;<BPT>;<CAP>;<PCT> # 749 Ṩ
<U0054> <t>;<BAS>;<CAP>;IGNORE # 750 T
<U0164> <t>;<CAR>;<CAP>;IGNORE # 751 <T<>
<U0166> <t>;<OBL>;<CAP>;IGNORE # 752 <T//>
@@ -2843,104 +3015,192 @@ order_start <DEVANAGARI>;forward;forward;forward;forward,position
<U096D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
<U096E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
<U096F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
-<U0950> <dom> ;<BAS>;<MIN>;IGNORE
+<U0950> <dom> ;<BAS>;<MIN>;IGNORE
<U0904> <dvw-shorta> ;<BAS>;<MIN>;IGNORE
<U0905> <dvw-a> ;<BAS>;<MIN>;IGNORE
<U0906> <dvw-aa> ;<BAS>;<MIN>;IGNORE
<U0907> <dvw-i> ;<BAS>;<MIN>;IGNORE
<U0908> <dvw-ii> ;<BAS>;<MIN>;IGNORE
<U0909> <dvw-u> ;<BAS>;<MIN>;IGNORE
-<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE
-<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE
-<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE
-<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE
-<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE
-<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE
-<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE
-<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE
-<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE
-<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE
-<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE
-<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE
+<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE
+<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE
+<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE
+<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE
+<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE
+<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE
+<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE
+<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE
<U0914> <dvw-au>;<BAS>;<MIN>;IGNORE
-<U0915> <d_ka>;<BAS>;<MIN>;IGNORE
-<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0916> <d_kha>;<BAS>;<MIN>;IGNORE
-<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0917> <d_ga>;<BAS>;<MIN>;IGNORE
-<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U097B> <d_gga>;<BAS>;<MIN>;IGNORE
+<U0915> <d_ka>;<BAS>;<MIN>;IGNORE
+<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0916> <d_kha>;<BAS>;<MIN>;IGNORE
+<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0917> <d_ga>;<BAS>;<MIN>;IGNORE
+<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097B> <d_gga>;<BAS>;<MIN>;IGNORE
<U0918> <d_gha>;<BAS>;<MIN>;IGNORE
-<U0919> <d_nga>;<BAS>;<MIN>;IGNORE
-<U091A> <d_ca>;<BAS>;<MIN>;IGNORE
-<U091B> <d_cha>;<BAS>;<MIN>;IGNORE
-<U091C> <d_ja>;<BAS>;<MIN>;IGNORE
-<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U097C> <d_jja>;<BAS>;<MIN>;IGNORE
-<U091D> <d_jha>;<BAS>;<MIN>;IGNORE
-<U091E> <d_nya>;<BAS>;<MIN>;IGNORE
-<U091F> <d_tta>;<BAS>;<MIN>;IGNORE
-<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE
-<U0921> <d_dda>;<BAS>;<MIN>;IGNORE
+<U0919> <d_nga>;<BAS>;<MIN>;IGNORE
+<U091A> <d_ca>;<BAS>;<MIN>;IGNORE
+<U091B> <d_cha>;<BAS>;<MIN>;IGNORE
+<U091C> <d_ja>;<BAS>;<MIN>;IGNORE
+<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097C> <d_jja>;<BAS>;<MIN>;IGNORE
+<U091D> <d_jha>;<BAS>;<MIN>;IGNORE
+<U091E> <d_nya>;<BAS>;<MIN>;IGNORE
+<U091F> <d_tta>;<BAS>;<MIN>;IGNORE
+<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE
+<U0921> <d_dda>;<BAS>;<MIN>;IGNORE
<U095C> <d_dda>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE
-<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE
+<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE
+<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE
<U095D> <d_ddha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0923> <d_nna>;<BAS>;<MIN>;IGNORE
-<U0924> <d_ta>;<BAS>;<MIN>;IGNORE
-<U0925> <d_tha>;<BAS>;<MIN>;IGNORE
-<U0926> <d_da>;<BAS>;<MIN>;IGNORE
-<U0927> <d_dha>;<BAS>;<MIN>;IGNORE
-<U0928> <d_na>;<BAS>;<MIN>;IGNORE
+<U0923> <d_nna>;<BAS>;<MIN>;IGNORE
+<U0924> <d_ta>;<BAS>;<MIN>;IGNORE
+<U0925> <d_tha>;<BAS>;<MIN>;IGNORE
+<U0926> <d_da>;<BAS>;<MIN>;IGNORE
+<U0927> <d_dha>;<BAS>;<MIN>;IGNORE
+<U0928> <d_na>;<BAS>;<MIN>;IGNORE
<U0929> <d_na>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U092A> <d_pa>;<BAS>;<MIN>;IGNORE
-<U092B> <d_pha>;<BAS>;<MIN>;IGNORE
+<U092A> <d_pa>;<BAS>;<MIN>;IGNORE
+<U092B> <d_pha>;<BAS>;<MIN>;IGNORE
<U095E> <d_pha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U092C> <d_ba>;<BAS>;<MIN>;IGNORE
-<U097F> <d_bba>;<BAS>;<MIN>;IGNORE
-<U092D> <d_bha>;<BAS>;<MIN>;IGNORE
-<U092E> <d_ma>;<BAS>;<MIN>;IGNORE
-<U092F> <d_ya>;<BAS>;<MIN>;IGNORE
+<U092C> <d_ba>;<BAS>;<MIN>;IGNORE
+<U097F> <d_bba>;<BAS>;<MIN>;IGNORE
+<U092D> <d_bha>;<BAS>;<MIN>;IGNORE
+<U092E> <d_ma>;<BAS>;<MIN>;IGNORE
+<U092F> <d_ya>;<BAS>;<MIN>;IGNORE
<U095F> <d_ya>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0930> <d_ra>;<BAS>;<MIN>;IGNORE
+<U0930> <d_ra>;<BAS>;<MIN>;IGNORE
<U0931> <d_ra>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0932> <d_la>;<BAS>;<MIN>;IGNORE
-<U0933> <d_lla>;<BAS>;<MIN>;IGNORE
+<U0932> <d_la>;<BAS>;<MIN>;IGNORE
+<U0933> <d_lla>;<BAS>;<MIN>;IGNORE
<U0934> <d_lla>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
-<U0935> <d_va>;<BAS>;<MIN>;IGNORE
-<U0936> <d_sha>;<BAS>;<MIN>;IGNORE
-<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE
-<U0938> <d_sa>;<BAS>;<MIN>;IGNORE
-<U0939> <d_ha>;<BAS>;<MIN>;IGNORE
-<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE
-<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE
-<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE
-<U093F> <dm-i>;<BAS>;<MIN>;IGNORE
-<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE
-<U0941> <dm-u>;<BAS>;<MIN>;IGNORE
+<U0935> <d_va>;<BAS>;<MIN>;IGNORE
+<U0936> <d_sha>;<BAS>;<MIN>;IGNORE
+<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE
+<U0938> <d_sa>;<BAS>;<MIN>;IGNORE
+<U0939> <d_ha>;<BAS>;<MIN>;IGNORE
+<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE
+<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE
+<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE
+<U093F> <dm-i>;<BAS>;<MIN>;IGNORE
+<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE
+<U0941> <dm-u>;<BAS>;<MIN>;IGNORE
<U0942> <dm-uu>;<BAS>;<MIN>;IGNORE
-<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE
-<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE
-<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE
-<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE
-<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE
-<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE
-<U0947> <dm-e>;<BAS>;<MIN>;IGNORE
-<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE
-<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE
-<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE
-<U094B> <dm-o>;<BAS>;<MIN>;IGNORE
-<U094C> <dm-au>;<BAS>;<MIN>;IGNORE
+<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE
+<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE
+<U0947> <dm-e>;<BAS>;<MIN>;IGNORE
+<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE
+<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE
+<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE
+<U094B> <dm-o>;<BAS>;<MIN>;IGNORE
+<U094C> <dm-au>;<BAS>;<MIN>;IGNORE
<U0902> <dvd-anuswara>;<BAS>;<MIN>;IGNORE
<U0901> <dvd-chandrabindu>;<BAS>;<MIN>;IGNORE
<U0903> <dvd-visarg>;<BAS>;<MIN>;IGNORE
<U094D> <d_halant>;<BAS>;<MIN>;IGNORE
-<U093C> IGNORE;<NKT>;<MIN>;IGNORE
+<U093C> IGNORE;<NKT>;<MIN>;IGNORE
<U0951> IGNORE;<d_udatta>;<MIN>;IGNORE
<U0952> IGNORE;<d_anudatta>;<MIN>;IGNORE
<U0953> IGNORE;<dv-grave>;<MIN>;IGNORE
<U0954> IGNORE;<dv-acute>;<MIN>;IGNORE
+order_start <GUJARATI>;forward;forward;forward;forward,position
+<U0AE6> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE7> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE8> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE9> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEA> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEB> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEC> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AED> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEE> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEF> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AD0> <gom> ;<BAS>;<MIN>;IGNORE
+<U0A85> <gvw-a> ;<BAS>;<MIN>;IGNORE
+<U0A86> <gvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0A87> <gvw-i> ;<BAS>;<MIN>;IGNORE
+<U0A88> <gvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0A89> <gvw-u> ;<BAS>;<MIN>;IGNORE
+<U0A8A> <gvw-uu>;<BAS>;<MIN>;IGNORE
+<U0A8B> <gvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0AE0> <gvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0A8C> <gvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0AE1> <gvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0A8D> <gvw-candrae>;<BAS>;<MIN>;IGNORE
+<U0A8F> <gvw-e>;<BAS>;<MIN>;IGNORE
+<U0A90> <gvw-ai>;<BAS>;<MIN>;IGNORE
+<U0A91> <gvw-candrao>;<BAS>;<MIN>;IGNORE
+<U0A93> <gvw-o>;<BAS>;<MIN>;IGNORE
+<U0A94> <gvw-au>;<BAS>;<MIN>;IGNORE
+<U0A95> <g-ka>;<BAS>;<MIN>;IGNORE
+<U0A96> <g-kha>;<BAS>;<MIN>;IGNORE
+<U0A97> <g-ga>;<BAS>;<MIN>;IGNORE
+<U0A98> <g-gha>;<BAS>;<MIN>;IGNORE
+<U0A99> <g-nga>;<BAS>;<MIN>;IGNORE
+<U0A9A> <g-ca>;<BAS>;<MIN>;IGNORE
+<U0A9B> <g-cha>;<BAS>;<MIN>;IGNORE
+<U0A9C> <g-ja>;<BAS>;<MIN>;IGNORE
+<U0A9D> <g-jha>;<BAS>;<MIN>;IGNORE
+<U0A9E> <g-nya>;<BAS>;<MIN>;IGNORE
+<U0A9F> <g-tta>;<BAS>;<MIN>;IGNORE
+<U0AA0> <g-ttha>;<BAS>;<MIN>;IGNORE
+<U0AA1> <g-dda>;<BAS>;<MIN>;IGNORE
+<U0AA2> <g-ddha>;<BAS>;<MIN>;IGNORE
+<U0AA3> <g-nna>;<BAS>;<MIN>;IGNORE
+<U0AA4> <g-ta>;<BAS>;<MIN>;IGNORE
+<U0AA5> <g-tha>;<BAS>;<MIN>;IGNORE
+<U0AA6> <g-da>;<BAS>;<MIN>;IGNORE
+<U0AA7> <g-dha>;<BAS>;<MIN>;IGNORE
+<U0AA8> <g-na>;<BAS>;<MIN>;IGNORE
+<U0AAA> <g-pa>;<BAS>;<MIN>;IGNORE
+<U0AAB> <g-pha>;<BAS>;<MIN>;IGNORE
+<U0AAC> <g-ba>;<BAS>;<MIN>;IGNORE
+<U0AAD> <g-bha>;<BAS>;<MIN>;IGNORE
+<U0AAE> <g-ma>;<BAS>;<MIN>;IGNORE
+<U0AAF> <g-ya>;<BAS>;<MIN>;IGNORE
+<U0AB0> <g-ra>;<BAS>;<MIN>;IGNORE
+<U0AB2> <g-la>;<BAS>;<MIN>;IGNORE
+<U0AB3> <g-lla>;<BAS>;<MIN>;IGNORE
+<U0AB5> <g-va>;<BAS>;<MIN>;IGNORE
+<U0AB6> <g-sha>;<BAS>;<MIN>;IGNORE
+<U0AB7> <g-ssa>;<BAS>;<MIN>;IGNORE
+<U0AB8> <g-sa>;<BAS>;<MIN>;IGNORE
+<U0AB9> <g-ha>;<BAS>;<MIN>;IGNORE
+<gu-ksha> <g-ksha>;<BAS>;<MIN>;IGNORE
+<gu-dnya> <g-dnya>;<BAS>;<MIN>;IGNORE
+<gu-shra> <g-shra>;<BAS>;<MIN>;IGNORE
+<gu-tra> <g-tra>;<BAS>;<MIN>;IGNORE
+<U0ABD> <g-avagrah>;<BAS>;<MIN>;IGNORE
+<U0ABE> <gm-aa>;<BAS>;<MIN>;IGNORE
+<U0ABF> <gm-i>;<BAS>;<MIN>;IGNORE
+<U0AC0> <gm-ii>;<BAS>;<MIN>;IGNORE
+<U0AC1> <gm-u>;<BAS>;<MIN>;IGNORE
+<U0AC2> <gm-uu>;<BAS>;<MIN>;IGNORE
+<U0AC3> <gm-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0AC4> <gm-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0AE2> <gm-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0AE3> <gm-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0AC5> <gm-candrae>;<BAS>;<MIN>;IGNORE
+<U0AC7> <gm-e>;<BAS>;<MIN>;IGNORE
+<U0AC8> <gm-ai>;<BAS>;<MIN>;IGNORE
+<U0AC9> <gm-candrao>;<BAS>;<MIN>;IGNORE
+<U0ACB> <gm-o>;<BAS>;<MIN>;IGNORE
+<U0ACC> <gm-au>;<BAS>;<MIN>;IGNORE
+<U0A82> <gvd-anuswara>;<BAS>;<MIN>;IGNORE
+<U0A81> <gvd-chandrabindu>;<BAS>;<MIN>;IGNORE
+<U0A83> <gvd-visarg>;<BAS>;<MIN>;IGNORE
+<U0ACD> <g-halant>;<BAS>;<MIN>;IGNORE
+<U0ABC> IGNORE;<GNKT>;<MIN>;IGNORE
+
order_end
END LC_COLLATE
diff --git a/malloc/mtrace.pl b/malloc/mtrace.pl
index 5e5e1ea0ab..782861129f 100644
--- a/malloc/mtrace.pl
+++ b/malloc/mtrace.pl
@@ -1,5 +1,5 @@
#! @PERL@
-eval "exec @PERL@ -S $0 $*"
+eval "exec @PERL@ -S $0 $@"
if 0;
# Copyright (C) 1997-2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 528e42840e..5fda52a60d 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2008-04-08 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #6020]
+ * sysdeps/unix/sysv/linux/sparc/lowlevellock.h
+ (lll_futex_wake_unlock): Add private argument to the pre-v9 macro.
+ Patch by Sunil Amitkumar Janki <devel.sjanki@gmail.com>.
+
2008-03-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
index f4512b2622..754a0f51fe 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@@ -120,7 +120,7 @@
/* Returns non-zero if error happened, zero if success. */
#ifdef __sparc32_atomic_do_lock
/* Avoid FUTEX_WAKE_OP if supporting pre-v9 CPUs. */
-# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2) 1
+# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) 1
#else
# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \
({ \
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 56c42c920a..aa1490936c 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -100,7 +100,7 @@ static const struct argp_option options[] =
N_("Do not fork and display messages on the current tty") },
{ "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") },
{ "shutdown", 'K', NULL, 0, N_("Shut the server down") },
- { "statistic", 'g', NULL, 0, N_("Print current configuration statistic") },
+ { "statistics", 'g', NULL, 0, N_("Print current configuration statistics") },
{ "invalidate", 'i', N_("TABLE"), 0,
N_("Invalidate the specified cache") },
{ "secure", 'S', N_("TABLE,yes"), OPTION_HIDDEN,
diff --git a/po/nl.po b/po/nl.po
index 418fe74d6b..9fbc5e4c8d 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,14 +1,15 @@
-# Translation of libc-2.7 to Dutch.
-# Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+# Dutch translations for libc.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc package.
#
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007.
+# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2007, 2008.
msgid ""
msgstr ""
"Project-Id-Version: libc-2.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-15 21:18-0700\n"
-"PO-Revision-Date: 2007-11-14 21:31+0100\n"
+"PO-Revision-Date: 2008-04-05 22:04+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
@@ -322,7 +323,7 @@ msgstr ""
"\n"
" -?,--help deze hulptekst tonen\n"
" --usage een korte gebruikssamenvatting tonen\n"
-" -V,--version versie-informatie tonen\n"
+" -V,--version programmaversie tonen\n"
"\n"
"Voor het rapporteren van gebreken in dit programma, zie:\n"
" <http://www.gnu.org/software/libc/bugs.html>.\\n"
@@ -940,7 +941,7 @@ msgstr ""
" -u, --unused ongebruikte directe afhankelijkheden tonen\n"
" -v, --verbose breedsprakige uitvoer\n"
"\n"
-" --version versie-informatie tonen\n"
+" --version programmaversie tonen\n"
" --help deze hulptekst tonen\n"
"\n"
"Voor het rapporteren van fouten, zie:\n"
@@ -1442,24 +1443,24 @@ msgstr "Teken ligt buiten bereik voor UTF-8"
#: locale/programs/charmap-dir.c:59
#, c-format
msgid "cannot read character map directory `%s'"
-msgstr "kan tekenskaartmap '%s' niet lezen"
+msgstr "kan tekensetdefinitiesmap '%s' niet lezen"
#: locale/programs/charmap.c:138
#, c-format
msgid "character map file `%s' not found"
-msgstr "kan tekenskaartbestand '%s' niet vinden"
+msgstr "kan tekensetdefinitiebestand '%s' niet vinden"
#: locale/programs/charmap.c:195
#, c-format
msgid "default character map file `%s' not found"
-msgstr "kan standaard-tekenskaartbestand '%s' niet vinden"
+msgstr "kan standaard tekensetdefinitiebestand '%s' niet vinden"
#: locale/programs/charmap.c:258
#, c-format
msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
msgstr ""
-"tekenskaart '%s' is niet ASCII-compatibel;\n"
-"de locale voldoet niet aan ISO C\n"
+"tekensetdefinitie '%s' is niet ASCII-compatibel;\n"
+"de taalregio voldoet niet aan ISO C\n"
#: locale/programs/charmap.c:337
#, c-format
@@ -1722,7 +1723,7 @@ msgstr "%s: syntaxfout"
#: locale/programs/ld-collate.c:417
#, c-format
msgid "`%.*s' already defined in charmap"
-msgstr "'%.*s' is al gedefinieerd in tekenskaart"
+msgstr "'%.*s' is al gedefinieerd in tekensetdefinitie"
#: locale/programs/ld-collate.c:426
#, c-format
@@ -1983,7 +1984,7 @@ msgstr "%s: 'endif' zonder bijpassende 'ifdef' of 'ifndef'"
#: locale/programs/ld-ctype.c:439
#, c-format
msgid "No character set name specified in charmap"
-msgstr "Geen tekensetnaam aangegeven in tekenskaart"
+msgstr "Geen tekensetnaam aangegeven in tekensetdefinitie"
#: locale/programs/ld-ctype.c:468
#, c-format
@@ -2023,7 +2024,7 @@ msgstr "<SP>-teken mag niet in klasse '%s' zitten"
#: locale/programs/ld-ctype.c:599
#, c-format
msgid "character <SP> not defined in character map"
-msgstr "<SP>-teken is niet gedefinieerd in tekenskaart"
+msgstr "<SP>-teken is niet gedefinieerd in tekensetdefinitie"
#: locale/programs/ld-ctype.c:714
#, c-format
@@ -2033,12 +2034,12 @@ msgstr "het aantal items in de cijferscategorie is geen veelvoud van tien"
#: locale/programs/ld-ctype.c:763
#, c-format
msgid "no input digits defined and none of the standard names in the charmap"
-msgstr "er zijn geen invoercijfers gedefinieerd en geen van de standaardnamen zit in de tekenskaart"
+msgstr "er zijn geen invoercijfers gedefinieerd en geen van de standaardnamen zit in de tekensetdefinitie"
#: locale/programs/ld-ctype.c:828
#, c-format
msgid "not all characters used in `outdigit' are available in the charmap"
-msgstr "niet alle tekens gebruikt in 'outdigit' zijn beschikbaar in de tekenskaart"
+msgstr "niet alle tekens in 'outdigit' zijn beschikbaar in de tekensetdefinitie"
#: locale/programs/ld-ctype.c:845
#, c-format
@@ -2058,12 +2059,12 @@ msgstr "implementatiegrens: er zijn niet meer dan %Zd tekenklasses toegestaan"
#: locale/programs/ld-ctype.c:1277
#, c-format
msgid "character map `%s' already defined"
-msgstr "tekenskaart '%s' is al gedefinieerd"
+msgstr "tekensetdefinitie '%s' is al gedefinieerd"
#: locale/programs/ld-ctype.c:1283
#, c-format
msgid "implementation limit: no more than %d character maps allowed"
-msgstr "implementatiegrens: er zijn niet meer dan %d tekenskaarten toegestaan"
+msgstr "implementatiegrens: er zijn niet meer dan %d tekensetdefinities toegestaan"
#: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673
#: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471
@@ -2102,7 +2103,7 @@ msgstr "%s: syntaxfout in definitie van nieuwe tekenklasse"
#: locale/programs/ld-ctype.c:2318
#, c-format
msgid "%s: syntax error in definition of new character map"
-msgstr "%s: syntaxfout in definitie van nieuwe tekenskaart"
+msgstr "%s: syntaxfout in nieuwe tekensetdefinitie"
#: locale/programs/ld-ctype.c:2493
msgid "ellipsis range must be marked by two operands of same type"
@@ -2161,7 +2162,7 @@ msgstr "%s: teken '%s' is niet gedefinieerd maar is nodig als standaardwaarde"
#: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
#, c-format
msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr "%s: teken '%s' in de tekenskaart is niet te representeren met één byte"
+msgstr "%s: teken '%s' in de tekensetdefinitie is niet te representeren met één byte"
#: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
#, c-format
@@ -2171,12 +2172,12 @@ msgstr "%s: teken '%s' is nodig als standaardwaarde maar niet te representeren m
#: locale/programs/ld-ctype.c:3489
#, c-format
msgid "no output digits defined and none of the standard names in the charmap"
-msgstr "er zijn geen uitvoercijfers gedefinieerd en geen van de standaardnamen zit in de tekenskaart"
+msgstr "er zijn geen uitvoercijfers gedefinieerd en geen van de standaardnamen zit in de tekensetdefinitie"
#: locale/programs/ld-ctype.c:3780
#, c-format
msgid "%s: transliteration data from locale `%s' not available"
-msgstr "%s: transliteratiegegevens van locale '%s' zijn niet beschikbaar"
+msgstr "%s: transliteratiegegevens van taalregio '%s' zijn niet beschikbaar"
#: locale/programs/ld-ctype.c:3881
#, c-format
@@ -2380,7 +2381,7 @@ msgstr "niet-symbolische tekenwaarden zouden niet gebruikt moeten worden"
#: locale/programs/linereader.c:816
#, c-format
msgid "symbol `%.*s' not in charmap"
-msgstr "symbool '%.*s' zit niet in de tekenskaart"
+msgstr "symbool '%.*s' zit niet in de tekensetdefinitie"
#: locale/programs/linereader.c:837
#, c-format
@@ -2393,11 +2394,11 @@ msgstr "Systeeminformatie:"
#: locale/programs/locale.c:76
msgid "Write names of available locales"
-msgstr "namen van beschikbare locales tonen"
+msgstr "namen van beschikbare taalregio's tonen"
#: locale/programs/locale.c:78
msgid "Write names of available charmaps"
-msgstr "namen van beschikbare tekenskaarten tonen"
+msgstr "namen van beschikbare tekensetdefinities tonen"
#: locale/programs/locale.c:79
msgid "Modify output format:"
@@ -2405,15 +2406,15 @@ msgstr "Aanpassing van uitvoer:"
#: locale/programs/locale.c:80
msgid "Write names of selected categories"
-msgstr "namen van geselecteerde categorieën tonen"
+msgstr "namen van de geselecteerde categorieën tonen"
#: locale/programs/locale.c:81
msgid "Write names of selected keywords"
-msgstr "namen van geselecteerde sleutelwoorden tonen"
+msgstr "namen van de geselecteerde sleutelwoorden tonen"
#: locale/programs/locale.c:82
msgid "Print more information"
-msgstr "breedsprakige uitvoer"
+msgstr "uitgebreide uitvoer produceren"
#: locale/programs/locale.c:87
msgid ""
@@ -2421,7 +2422,7 @@ msgid ""
"<http://www.gnu.org/software/libc/bugs.html>.\n"
msgstr ""
" \n"
-"Informatie over locales weergeven.\vVoor het rapporteren van fouten, zie:\n"
+"Informatie over taalregio-instellingen weergeven.\vVoor het rapporteren van fouten, zie:\n"
" <http://www.gnu.org/software/libc/bugs.html>.\n"
#: locale/programs/locale.c:92
@@ -2435,22 +2436,22 @@ msgstr ""
#: locale/programs/locale.c:193
#, c-format
msgid "Cannot set LC_CTYPE to default locale"
-msgstr "Kan LC_TYPE niet op de standaard-locale instellen"
+msgstr "Kan LC_TYPE niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:195
#, c-format
msgid "Cannot set LC_MESSAGES to default locale"
-msgstr "Kan LC_MESSAGES niet op de standaard-locale instellen"
+msgstr "Kan LC_MESSAGES niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:208
#, c-format
msgid "Cannot set LC_COLLATE to default locale"
-msgstr "Kan LC_COLLATE niet op de standaard-locale instellen"
+msgstr "Kan LC_COLLATE niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:224
#, c-format
msgid "Cannot set LC_ALL to default locale"
-msgstr "Kan LC_ALL niet op de standaard-locale instellen"
+msgstr "Kan LC_ALL niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:500
#, c-format
@@ -2507,7 +2508,7 @@ msgstr "geen nieuwe gegevens aan archief toevoegen"
#: locale/programs/localedef.c:140
msgid "Add locales named by parameters to archive"
-msgstr "genoemde locales aan archief toevoegen"
+msgstr "genoemde taalregio's aan archief toevoegen"
#: locale/programs/localedef.c:141
msgid "Replace existing archive content"
@@ -2515,7 +2516,7 @@ msgstr "bestaande inhoud van archief vervangen"
#: locale/programs/localedef.c:143
msgid "Remove locales named by parameters from archive"
-msgstr "genoemde locales uit archief verwijderen"
+msgstr "genoemde taalregio's uit archief verwijderen"
#: locale/programs/localedef.c:144
msgid "List content of archive"
@@ -2523,13 +2524,13 @@ msgstr "inhoud van archief weergeven"
#: locale/programs/localedef.c:146
msgid "locale.alias file to consult when making archive"
-msgstr "te raadplegen aliassenbestand"
+msgstr "te raadplegen aliassenbestand tijdens archivering"
#: locale/programs/localedef.c:151
msgid "Compile locale specification"
msgstr ""
" \n"
-"Een locale-specificatie compileren."
+"De definitie van een taalregio compileren."
#: locale/programs/localedef.c:154
msgid ""
@@ -2555,7 +2556,7 @@ msgstr "FATAAL: systeem definieert '_POSIX2_LOCALEDEF' niet"
#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
#, c-format
msgid "cannot open locale definition file `%s'"
-msgstr "kan locale-definitiebestand '%s' niet openen"
+msgstr "kan taalregiodefinitiebestand '%s' niet openen"
#: locale/programs/localedef.c:285
#, c-format
@@ -2570,21 +2571,21 @@ msgid ""
" locale path : %s\n"
"%s"
msgstr ""
-"Systeemmap voor tekenskaarten : %s\n"
-" repertoire-kaarten : %s\n"
-" locale-pad : %s\n"
+"Systeemmap voor tekensetdefinities: %s\n"
+" voor repertoirekaarten: %s\n"
+" en het taalregiopad is: %s\n"
"\n"
"%s"
#: locale/programs/localedef.c:567
#, c-format
msgid "circular dependencies between locale definitions"
-msgstr "circulaire afhankelijkheid tussen locale-definities"
+msgstr "circulaire afhankelijkheid tussen taalregiodefinities"
#: locale/programs/localedef.c:573
#, c-format
msgid "cannot add already read locale `%s' a second time"
-msgstr "kan de reeds gelezen locale '%s' niet nogmaals toevoegen"
+msgstr "kan de reeds gelezen taalregio '%s' niet nogmaals toevoegen"
#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
#, c-format
@@ -2610,17 +2611,17 @@ msgstr "kan archiefkop niet in het geheugen plaatsen"
#: locale/programs/locarchive.c:156
#, c-format
msgid "failed to create new locale archive"
-msgstr "aanmaken van een nieuw locale-archief is mislukt"
+msgstr "aanmaken van een nieuw taalregio-archief is mislukt"
#: locale/programs/locarchive.c:168
#, c-format
msgid "cannot change mode of new locale archive"
-msgstr "kan modus van het nieuwe locale-archief niet wijzigen"
+msgstr "kan modus van het nieuwe taalregio-archief niet wijzigen"
#: locale/programs/locarchive.c:255
#, c-format
msgid "cannot map locale archive file"
-msgstr "kan locale-archief niet in het geheugen plaatsen"
+msgstr "kan taalregio-archief niet in het geheugen plaatsen"
#: locale/programs/locarchive.c:331
#, c-format
@@ -2630,12 +2631,12 @@ msgstr "kan nieuwe archief niet vergrendelen"
#: locale/programs/locarchive.c:396
#, c-format
msgid "cannot extend locale archive file"
-msgstr "kan locale-archiefbestand niet uitbreiden"
+msgstr "kan taalregio-archiefbestand niet uitbreiden"
#: locale/programs/locarchive.c:405
#, c-format
msgid "cannot change mode of resized locale archive"
-msgstr "kan modus van aangepast locale-archief niet wijzigen"
+msgstr "kan modus van aangepast taalregio-archief niet wijzigen"
#: locale/programs/locarchive.c:413
#, c-format
@@ -2645,17 +2646,17 @@ msgstr "kan nieuwe archief niet hernoemen"
#: locale/programs/locarchive.c:466
#, c-format
msgid "cannot open locale archive \"%s\""
-msgstr "kan locale-archief '%s' niet openen"
+msgstr "kan taalregio-archief '%s' niet openen"
#: locale/programs/locarchive.c:471
#, c-format
msgid "cannot stat locale archive \"%s\""
-msgstr "kan status van locale-archief '%s' niet opvragen"
+msgstr "kan status van taalregio-archief '%s' niet opvragen"
#: locale/programs/locarchive.c:490
#, c-format
msgid "cannot lock locale archive \"%s\""
-msgstr "kan locale-archief '%s' niet vergrendelen"
+msgstr "kan taalregio-archief '%s' niet vergrendelen"
#: locale/programs/locarchive.c:513
#, c-format
@@ -2665,19 +2666,19 @@ msgstr "kan archiefkop niet lezen"
#: locale/programs/locarchive.c:573
#, c-format
msgid "locale '%s' already exists"
-msgstr "locale '%s' bestaat al"
+msgstr "taalregio '%s' bestaat al"
#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
#: locale/programs/locfile.c:344
#, c-format
msgid "cannot add to locale archive"
-msgstr "kan niet aan locale-archief toevoegen"
+msgstr "kan niet aan taalregio-archief toevoegen"
#: locale/programs/locarchive.c:998
#, c-format
msgid "locale alias file `%s' not found"
-msgstr "kan locale-aliassenbestand '%s' niet vinden"
+msgstr "kan taalregio-aliassenbestand '%s' niet vinden"
#: locale/programs/locarchive.c:1142
#, c-format
@@ -2702,7 +2703,7 @@ msgstr "kan map '%s' niet openen: %s -- genegeerd"
#: locale/programs/locarchive.c:1233
#, c-format
msgid "incomplete set of locale files in \"%s\""
-msgstr "onvolledige verzameling van locale-bestanden in '%s'"
+msgstr "onvolledige verzameling van taalregiobestanden in '%s'"
#: locale/programs/locarchive.c:1297
#, c-format
@@ -2712,7 +2713,7 @@ msgstr "kan niet alle bestanden in '%s' lezen -- genegeerd"
#: locale/programs/locarchive.c:1367
#, c-format
msgid "locale \"%s\" not in archive"
-msgstr "locale '%s' zit niet in archief"
+msgstr "taalregio '%s' zit niet in het archief"
#: locale/programs/locfile.c:132
#, c-format
@@ -2721,7 +2722,7 @@ msgstr "argument van '%s' moet een enkel teken zijn"
#: locale/programs/locfile.c:252
msgid "syntax error: not inside a locale definition section"
-msgstr "syntaxfout: niet binnen een locale-definitie-sectie"
+msgstr "syntaxfout: niet binnen een taalregiodefinitie-sectie"
#: locale/programs/locfile.c:626
#, c-format
@@ -2744,7 +2745,7 @@ msgstr "argument van 'copy' dient een tekenreeks te zijn"
#: locale/programs/locfile.c:786
msgid "locale name should consist only of portable characters"
-msgstr "een locale-naam mag alleen uit overdraagbare tekens bestaan"
+msgstr "een taalregionaam mag alleen uit overdraagbare tekens bestaan"
#: locale/programs/locfile.c:805
msgid "no other keyword shall be specified when `copy' is used"
@@ -2880,7 +2881,7 @@ msgstr ""
"\n"
" -?,--help deze hulptekst tonen\n"
" --usage een korte gebruikssamenvatting tonen\n"
-" -V,--version versie-informatie tonen\n"
+" -V,--version programmaversie tonen\n"
"\n"
" De volgende opties zijn alleen bij grafische uitvoer van toepassing:\n"
" -t,--time-based de grafiek lineair in de tijd maken\n"
@@ -4356,59 +4357,59 @@ msgstr "Onbekende variabele '%s'"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: optie '%s' is niet eenduidig\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option `%s' requires an argument\n"
msgstr "%s: optie '%s' vereist een argument\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- '%c'\n"
+msgid "%s: illegal option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- '%c'\n"
+msgid "%s: invalid option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- '%c'\n"
+msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
+msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
#: posix/regcomp.c:135
@@ -5345,7 +5346,7 @@ msgstr "Onjuist apparaat"
#. TRANS A file that isn't a directory was specified when a directory is required.
#: sysdeps/gnu/errlist.c:229
msgid "Not a directory"
-msgstr "Niet een map"
+msgstr "Is geen map"
#. TRANS File is a directory; you cannot open a directory for writing,
#. TRANS or create or remove hard links to it.
diff --git a/posix/getopt.c b/posix/getopt.c
index 103f572b07..965bfdd3ac 100644
--- a/posix/getopt.c
+++ b/posix/getopt.c
@@ -792,30 +792,16 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
+ char *buf;
+ int n;
#endif
- if (d->__posixly_correct)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- '%c'\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: illegal option -- '%c'\n"), argv[0],
- c);
-#endif
- }
- else
- {
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
- argv[0], c);
+ n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
+ argv[0], c);
#else
- fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0],
- c);
+ fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
#endif
- }
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
diff --git a/resolv/res_init.c b/resolv/res_init.c
index d1a5681a93..a2840968f3 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -69,22 +69,22 @@ static const char sccsid[] = "@(#)res_init.c 8.1 (Berkeley) 6/7/93";
static const char rcsid[] = "$BINDId: res_init.c,v 8.16 2000/05/09 07:10:12 vixie Exp $";
#endif /* LIBC_SCCS and not lint */
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/time.h>
-
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <arpa/nameser.h>
-
#include <ctype.h>
+#include <netdb.h>
#include <resolv.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <arpa/inet.h>
+#include <arpa/nameser.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/types.h>
#include <not-cancel.h>
@@ -327,15 +327,41 @@ __res_vinit(res_state statp, int preinit) {
if ((el = strchr(cp, '\n')) != NULL)
*el = '\0';
+ if ((el = strchr(cp, SCOPE_DELIMITER)) != NULL)
+ *el = '\0';
if ((*cp != '\0') &&
(inet_pton(AF_INET6, cp, &a6) > 0)) {
struct sockaddr_in6 *sa6;
sa6 = malloc(sizeof(*sa6));
if (sa6 != NULL) {
- sa6->sin6_addr = a6;
sa6->sin6_family = AF_INET6;
sa6->sin6_port = htons(NAMESERVER_PORT);
+ sa6->sin6_flowinfo = 0;
+ sa6->sin6_addr = a6;
+
+ if (__builtin_expect (el == NULL, 1))
+ sa6->sin6_scope_id = 0;
+ else {
+ int try_numericscope = 1;
+ if (IN6_IS_ADDR_LINKLOCAL (&a6)
+ || IN6_IS_ADDR_MC_LINKLOCAL (&a6)) {
+ sa6->sin6_scope_id
+ = if_nametoindex (el + 1);
+ if (sa6->sin6_scope_id != 0)
+ try_numericscope = 0;
+ }
+
+ if (try_numericscope) {
+ char *end;
+ sa6->sin6_scope_id
+ = (uint32_t) strtoul (el + 1, &end,
+ 10);
+ if (*end != '\0')
+ sa6->sin6_scope_id = 0;
+ }
+ }
+
statp->_u._ext.nsaddrs[nservall] = sa6;
statp->_u._ext.nssocks[nservall] = -1;
statp->_u._ext.nsmap[nservall] = MAXNS + 1;
diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
index d10a5c6a13..ca6343c37f 100644
--- a/stdio-common/vfprintf.c
+++ b/stdio-common/vfprintf.c
@@ -1513,7 +1513,8 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
if (prec > width
&& prec + 32 > (int)(sizeof (work_buffer) / sizeof (work_buffer[0])))
{
- if (__builtin_expect (prec > ~((size_t) 0) - 31, 0))
+ if (__builtin_expect (prec > ~((size_t) 0) / sizeof (CHAR_T) - 31,
+ 0))
{
done = -1;
goto all_done;
diff --git a/stdlib/mbtowc.c b/stdlib/mbtowc.c
index 744b2b6c0b..ee8850bbc1 100644
--- a/stdlib/mbtowc.c
+++ b/stdlib/mbtowc.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1992, 1995-1999, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995-1999, 2002, 2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,9 +24,6 @@
#include <wcsmbs/wcsmbsload.h>
-/* Common state for all non-restartable conversion functions. */
-mbstate_t __no_r_state attribute_hidden;
-
/* Convert the multibyte character at S, which is no longer
than N characters, to its `wchar_t' representation, placing
this n *PWC and returning its length.
@@ -38,6 +36,7 @@ int
mbtowc (wchar_t *pwc, const char *s, size_t n)
{
int result;
+ static mbstate_t state;
/* If S is NULL the function has to return null or not null
depending on the encoding having a state depending encoding or
@@ -51,7 +50,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n)
/* This is an extension in the Unix standard which does not directly
violate ISO C. */
- memset (&__no_r_state, '\0', sizeof __no_r_state);
+ memset (&state, '\0', sizeof state);
result = fcts->towc->__stateful;
}
@@ -63,7 +62,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n)
}
else
{
- result = __mbrtowc (pwc, s, n, &__no_r_state);
+ result = __mbrtowc (pwc, s, n, &state);
/* The `mbrtowc' functions tell us more than we need. Fold the -1
and -2 result into -1. */
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index 9c2f86a32b..09a8f9bb3b 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -1028,7 +1028,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
if (__builtin_expect (exponent < MIN_10_EXP - (DIG + 1), 0))
{
__set_errno (ERANGE);
- return 0.0;
+ return negative ? -0.0 : 0.0;
}
if (int_no > 0)
diff --git a/stdlib/wctomb.c b/stdlib/wctomb.c
index 49872f5c6b..3ba8a3e2a7 100644
--- a/stdlib/wctomb.c
+++ b/stdlib/wctomb.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1992, 1995-1999, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995-1999, 2002, 2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,7 +24,8 @@
#include <wcsmbs/wcsmbsload.h>
-extern mbstate_t __no_r_state attribute_hidden; /* Defined in mbtowc.c. */
+/* Shared with __wctomb_chk. */
+mbstate_t __wctomb_state attribute_hidden;
/* Convert WCHAR into its multibyte character representation,
putting this in S and returning its length.
@@ -47,11 +49,11 @@ wctomb (char *s, wchar_t wchar)
/* This is an extension in the Unix standard which does not directly
violate ISO C. */
- memset (&__no_r_state, '\0', sizeof __no_r_state);
+ memset (&__wctomb_state, '\0', sizeof __wctomb_state);
return fcts->tomb->__stateful;
}
- return __wcrtomb (s, wchar, &__no_r_state);
+ return __wcrtomb (s, wchar, &__wctomb_state);
}
libc_hidden_def (wctomb)
diff --git a/string/strfry.c b/string/strfry.c
index d392d5526b..d3fcb14bab 100644
--- a/string/strfry.c
+++ b/string/strfry.c
@@ -26,7 +26,6 @@ strfry (char *string)
{
static int init;
static struct random_data rdata;
- size_t len, i;
if (!init)
{
@@ -37,17 +36,18 @@ strfry (char *string)
init = 1;
}
- len = strlen (string) - 1;
- for (i = 0; i < len; ++i)
- {
- int32_t j;
- __random_r (&rdata, &j);
- j = j % (len - i) + i;
-
- char c = string[i];
- string[i] = string[j];
- string[j] = c;
- }
+ size_t len = strlen (string);
+ if (len > 0)
+ for (size_t i = 0; i < len - 1; ++i)
+ {
+ int32_t j;
+ __random_r (&rdata, &j);
+ j = j % (len - i) + i;
+
+ char c = string[i];
+ string[i] = string[j];
+ string[j] = c;
+ }
return string;
}
diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c
index 3eaf0a25ab..734eb088f3 100644
--- a/sunrpc/auth_unix.c
+++ b/sunrpc/auth_unix.c
@@ -111,7 +111,7 @@ authunix_create (char *machname, uid_t uid, gid_t gid, int len,
if (auth == NULL || au == NULL)
{
no_memory:
- (void) __fxprintf (NULL, "%s", _("authunix_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (auth, sizeof (*auth));
mem_free (au, sizeof (*au));
return NULL;
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index 5bec3bcf3a..6825ca57ee 100644
--- a/sunrpc/clnt_tcp.c
+++ b/sunrpc/clnt_tcp.c
@@ -128,7 +128,7 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers,
if (h == NULL || ct == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clnttcp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index 70ee0eae88..634313211d 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -136,7 +136,8 @@ clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version,
if (cl == NULL || cu == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clntudp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s",
+ "clntudp_create", _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
index 848a480581..4107c62294 100644
--- a/sunrpc/clnt_unix.c
+++ b/sunrpc/clnt_unix.c
@@ -125,7 +125,7 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers,
if (h == NULL || ct == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clntunix_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c
index 539a2b8d98..beeb10646e 100644
--- a/sunrpc/svc_tcp.c
+++ b/sunrpc/svc_tcp.c
@@ -176,7 +176,7 @@ svctcp_create (int sock, u_int sendsize, u_int recvsize)
xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
if (r == NULL || xprt == NULL)
{
- (void) __fxprintf (NULL, "%s", _("svctcp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (r, sizeof (*r));
mem_free (xprt, sizeof (SVCXPRT));
return NULL;
@@ -214,8 +214,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize)
cd = (struct tcp_conn *) mem_alloc (sizeof (struct tcp_conn));
if (xprt == (SVCXPRT *) NULL || cd == NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("svc_tcp: makefd_xprt: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", "svc_tcp: makefd_xprt",
+ _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (cd, sizeof (struct tcp_conn));
return NULL;
diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c
index dfeb6de70f..496d6d9602 100644
--- a/sunrpc/svc_udp.c
+++ b/sunrpc/svc_udp.c
@@ -149,7 +149,8 @@ svcudp_bufcreate (sock, sendsz, recvsz)
buf = mem_alloc (((MAX (sendsz, recvsz) + 3) / 4) * 4);
if (xprt == NULL || su == NULL || buf == NULL)
{
- (void) __fxprintf (NULL, "%s", _("svcudp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s",
+ "svcudp_create", _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (su, sizeof (*su));
mem_free (buf, ((MAX (sendsz, recvsz) + 3) / 4) * 4);
diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c
index 1b7b1fbd4f..f103ed96f3 100644
--- a/sunrpc/svc_unix.c
+++ b/sunrpc/svc_unix.c
@@ -173,7 +173,7 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path)
xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
if (r == NULL || xprt == NULL)
{
- __fxprintf (NULL, "%s", _("svcunix_create: out of memory\n"));
+ __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (r, sizeof (*r));
mem_free (xprt, sizeof (SVCXPRT));
return NULL;
@@ -211,8 +211,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize)
cd = (struct unix_conn *) mem_alloc (sizeof (struct unix_conn));
if (xprt == (SVCXPRT *) NULL || cd == (struct unix_conn *) NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("svc_unix: makefd_xprt: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", "svc_unix: makefd_xprt",
+ _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (cd, sizeof (struct unix_conn));
return NULL;
diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c
index 21e339b4ee..8a70d2e557 100644
--- a/sunrpc/xdr.c
+++ b/sunrpc/xdr.c
@@ -563,7 +563,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize)
}
if (sp == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_bytes: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
/* fall into ... */
@@ -715,7 +715,7 @@ xdr_string (xdrs, cpp, maxsize)
*cpp = sp = (char *) mem_alloc (nodesize);
if (sp == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_string: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
sp[size] = 0;
diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c
index 44abdbcfda..e7c8925f5c 100644
--- a/sunrpc/xdr_array.c
+++ b/sunrpc/xdr_array.c
@@ -103,7 +103,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
*addrp = target = calloc (c, elsize);
if (target == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
break;
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index e847e9b47c..6854034c63 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -153,7 +153,7 @@ xdrrec_create (XDR *xdrs, u_int sendsize,
if (rstrm == NULL || buf == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdrrec_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (rstrm, sizeof (RECSTREAM));
mem_free (buf, sendsize + recvsize + BYTES_PER_XDR_UNIT);
/*
diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c
index bc5f72d6a6..532804fadb 100644
--- a/sunrpc/xdr_ref.c
+++ b/sunrpc/xdr_ref.c
@@ -82,8 +82,7 @@ xdr_reference (xdrs, pp, size, proc)
*pp = loc = (caddr_t) calloc (1, size);
if (loc == NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("xdr_reference: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
break;
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c
index eab658da31..be979d8c8a 100644
--- a/sysdeps/posix/tempname.c
+++ b/sysdeps/posix/tempname.c
@@ -297,7 +297,7 @@ __gen_tempname (char *tmpl, int flags, int kind)
{
case __GT_FILE:
fd = __open (tmpl,
- (flags & ~ACCESSPERMS)
+ (flags & ~O_ACCMODE)
| O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
break;
diff --git a/sysdeps/unix/opendir.c b/sysdeps/unix/opendir.c
index 0a116247d2..92029c6547 100644
--- a/sysdeps/unix/opendir.c
+++ b/sysdeps/unix/opendir.c
@@ -171,6 +171,8 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
goto lose;
}
+ const size_t default_allocation = (BUFSIZ < sizeof (struct dirent64)
+ ? sizeof (struct dirent64) : BUFSIZ);
size_t allocation;
#ifdef _STATBUF_ST_BLKSIZE
if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64),
@@ -178,20 +180,30 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
allocation = statp->st_blksize;
else
#endif
- allocation = (BUFSIZ < sizeof (struct dirent64)
- ? sizeof (struct dirent64) : BUFSIZ);
+ allocation = default_allocation;
DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation);
if (dirp == NULL)
- lose:
{
- if (close_fd)
+#ifdef _STATBUF_ST_BLKSIZE
+ if (allocation == statp->st_blksize
+ && allocation != default_allocation)
{
- int save_errno = errno;
- close_not_cancel_no_status (fd);
- __set_errno (save_errno);
+ allocation = default_allocation;
+ dirp = (DIR *) malloc (sizeof (DIR) + allocation);
+ }
+ if (dirp == NULL)
+#endif
+ lose:
+ {
+ if (close_fd)
+ {
+ int save_errno = errno;
+ close_not_cancel_no_status (fd);
+ __set_errno (save_errno);
+ }
+ return NULL;
}
- return NULL;
}
dirp->fd = fd;
diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h
index 7ca8e8348e..0242d5899e 100644
--- a/sysdeps/unix/sysv/linux/net/ethernet.h
+++ b/sysdeps/unix/sysv/linux/net/ethernet.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2001, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,9 +45,17 @@ struct ether_header
/* Ethernet protocol ID's */
#define ETHERTYPE_PUP 0x0200 /* Xerox PUP */
+#define ETHERTYPE_SPRITE 0x0500 /* Sprite */
#define ETHERTYPE_IP 0x0800 /* IP */
#define ETHERTYPE_ARP 0x0806 /* Address resolution */
#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */
+#define ETHERTYPE_AT 0x809B /* AppleTalk protocol */
+#define ETHERTYPE_AARP 0x80F3 /* AppleTalk ARP */
+#define ETHERTYPE_VLAN 0x8100 /* IEEE 802.1Q VLAN tagging */
+#define ETHERTYPE_IPX 0x8137 /* IPX */
+#define ETHERTYPE_IPV6 0x86dd /* IP protocol version 6 */
+#define ETHERTYPE_LOOPBACK 0x9000 /* used to test interfaces */
+
#define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */
#define ETHER_TYPE_LEN 2 /* bytes in type field */