Bug 1402053 - Remove our obsolete implementation of Unicode normalization, now that we can use ICU on all platforms. r=m_kato
authorJonathan Kew <jkew@mozilla.com>
Fri, 22 Sep 2017 10:37:17 +0100
changeset 382387 513b9e8f28e64f26bf268f76c86105d439201ec8
parent 382386 593bddd0b6bd812e16c9a882ce627e31bc65d985
child 382388 8d1f71c4d315ddd353d59705a8925f6a1bd90c75
push id95321
push userjkew@mozilla.com
push dateFri, 22 Sep 2017 09:37:34 +0000
treeherdermozilla-inbound@513b9e8f28e6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersm_kato
bugs1402053
milestone58.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1402053 - Remove our obsolete implementation of Unicode normalization, now that we can use ICU on all platforms. r=m_kato
intl/unicharutil/moz.build
intl/unicharutil/normalization_data.h
intl/unicharutil/nsUnicodeNormalizer.cpp
intl/unicharutil/nsUnicodeNormalizer.h
intl/unicharutil/nsUnicodeNormalizer_ICU.cpp
--- a/intl/unicharutil/moz.build
+++ b/intl/unicharutil/moz.build
@@ -13,21 +13,16 @@ XPIDL_SOURCES += [
 
 XPIDL_MODULE = 'unicharutil'
 
 EXPORTS += [
     'nsUGenCategory.h',
     'nsUnicodeNormalizer.h',
 ]
 
-if CONFIG['ENABLE_INTL_API']:
-    UNIFIED_SOURCES += [
-        'nsUnicodeNormalizer_ICU.cpp',
-    ]
-else:
-    UNIFIED_SOURCES += [
-        'nsUnicodeNormalizer.cpp',
-    ]
+UNIFIED_SOURCES += [
+    'nsUnicodeNormalizer.cpp',
+]
 
 FINAL_LIBRARY = 'xul'
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
deleted file mode 100644
--- a/intl/unicharutil/normalization_data.h
+++ /dev/null
@@ -1,5247 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-
-/* This file is modified from JPNIC's mDNKit, it is under both MPL and
- * JPNIC's license.
- */
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/*
- * Copyright (c) 2000,2002 Japan Network Information Center.
- * All rights reserved.
- *
- * By using this file, you agree to the terms and conditions set forth bellow.
- *
- * 			LICENSE TERMS AND CONDITIONS
- *
- * The following License Terms and Conditions apply, unless a different
- * license is obtained from Japan Network Information Center ("JPNIC"),
- * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
- * Chiyoda-ku, Tokyo 101-0047, Japan.
- *
- * 1. Use, Modification and Redistribution (including distribution of any
- *    modified or derived work) in source and/or binary forms is permitted
- *    under this License Terms and Conditions.
- *
- * 2. Redistribution of source code must retain the copyright notices as they
- *    appear in each source code file, this License Terms and Conditions.
- *
- * 3. Redistribution in binary form must reproduce the Copyright Notice,
- *    this License Terms and Conditions, in the documentation and/or other
- *    materials provided with the distribution.  For the purposes of binary
- *    distribution the "Copyright Notice" refers to the following language:
- *    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
- *
- * 4. The name of JPNIC may not be used to endorse or promote products
- *    derived from this Software without specific prior written approval of
- *    JPNIC.
- *
- * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
- *    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- *    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
- *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- *    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- *    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- *    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- *    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- *    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- *    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- */
-
-/* $Id: normalization_data.h,v 1.1 2005/04/05 23:00:13 jshin%mailaps.org Exp $ */
-/* $-Id: generate_normalize_data.pl,v 1.9 2002/11/29 09:08:13 ishisone Exp -$ */
-/*
- * Do not edit this file!
- * This file is generated from UnicodeData.txt, CompositionExclusions-1.txt,
- * SpecialCasing.txt and CaseFolding.txt.
- */
-
-
-/*
- * Canonical Class
- */
-
-#define CANON_CLASS_BITS_0	9
-#define CANON_CLASS_BITS_1	7
-#define CANON_CLASS_BITS_2	5
-
-static const char16_t canon_class_imap[] = {
-	  272,   400,   528,   656,   784,   784,   784,   784,
-	  784,   784,   912,   784,   784,   784,   784,  1040,
-	 1168,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,  1296,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    1,     2,     3,     4,     0,     0,     0,     0,
-	    0,     0,     0,     0,     5,     0,     0,     0,
-	    0,     0,     0,     0,     6,     7,     8,     0,
-	    9,     0,    10,    11,     0,     0,    12,    13,
-	   14,    15,    16,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    17,    18,     0,     0,    17,    19,     0,
-	    0,    17,    19,     0,     0,    17,    19,     0,
-	    0,    17,    19,     0,     0,     0,    19,     0,
-	    0,     0,    20,     0,     0,    17,    19,     0,
-	    0,     0,    19,     0,     0,     0,    21,     0,
-	    0,    22,    23,     0,     0,    24,    25,     0,
-	   26,    27,     0,    28,    29,     0,    30,     0,
-	    0,    31,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,    32,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	   33,    33,     0,     0,     0,     0,    34,     0,
-	    0,     0,     0,     0,     0,    35,     0,     0,
-	    0,    36,     0,     0,     0,     0,     0,     0,
-	   37,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,    38,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,    39,    40,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    41,     0,     0,    42,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	   43,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	   44,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    45,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	   46,    47,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,    48,    49,    50,     0,     0,
-	    0,     0,    51,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-};
-
-static const struct {
-	unsigned char tbl[32];
-} canon_class_table[] = {
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	 230,  230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
-	 230,  230,  230,  230,  230,  230,  230,  230,  230,  230,  232,
-	 220,  220,  220,  220,  232,  216,  220,  220,  220,  220,
-	}},
-	{{
-	 220,  202,  202,  220,  220,  220,  220,  202,  202,  220,  220,
-	 220,  220,  220,  220,  220,  220,  220,  220,  220,    1,    1,
-	   1,    1,    1,  220,  220,  220,  220,  230,  230,  230,
-	}},
-	{{
-	 230,  230,  230,  230,  230,  240,  230,  220,  220,  220,  230,
-	 230,  230,  220,  220,    0,  230,  230,  230,  220,  220,  220,
-	 220,  230,  232,  220,  220,  230,  233,  234,  234,  233,
-	}},
-	{{
-	 234,  234,  233,  230,  230,  230,  230,  230,  230,  230,  230,
-	 230,  230,  230,  230,  230,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,  230,  230,  230,  230,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,  220,  230,  230,  230,  230,
-	 220,  230,  230,  230,  222,  220,  230,  230,  230,  230,
-	}},
-	{{
-	 230,  230,  220,  220,  220,  220,  220,  220,  230,  230,  220,
-	 230,  230,  222,  228,  230,   10,   11,   12,   13,   14,   15,
-	  16,   17,   18,   19,    0,   20,   21,   22,    0,   23,
-	}},
-	{{
-	   0,   24,   25,    0,  230,  220,    0,   18,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,  230,  230,  230,  230,  230,  230,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	  27,   28,   29,   30,   31,   32,   33,   34,  230,  230,  220,
-	 220,  230,  230,  230,  230,  230,  220,  230,  230,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,   35,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	 230,  230,  230,  230,  230,  230,  230,    0,    0,  230,
-	}},
-	{{
-	 230,  230,  230,  220,  230,    0,    0,  230,  230,    0,  220,
-	 230,  230,  220,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,   36,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,  230,  220,  230,  230,  220,  230,
-	 230,  220,  220,  220,  230,  220,  220,  230,  220,  230,
-	}},
-	{{
-	 230,  230,  220,  230,  220,  230,  220,  230,  220,  230,  230,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    7,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    9,    0,    0,    0,  230,  220,  230,  230,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    9,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    9,    0,    0,    0,    0,    0,    0,    0,   84,
-	  91,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    9,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,  103,  103,    9,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,  107,  107,  107,
-	 107,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,  118,  118,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,  122,  122,  122,
-	 122,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,  220,  220,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  220,
-	   0,  220,    0,  216,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,  129,  130,    0,  132,    0,
-	   0,    0,    0,    0,  130,  130,  130,  130,    0,    0,
-	}},
-	{{
-	 130,    0,  230,  230,    9,    0,  230,  230,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,  220,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    7,    0,    9,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,  230,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    9,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    9,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,  230,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,  228,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,  222,  230,  220,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,  230,  220,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	 230,  230,  220,  230,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,  230,  230,    1,    1,  230,  230,
-	 230,  230,    1,    1,    1,  230,  230,    0,    0,    0,
-	}},
-	{{
-	   0,  230,    0,    0,    0,    1,    1,  230,  220,  230,    1,
-	   1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  218,
-	 228,  232,  222,  224,  224,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    8,    8,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    9,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,   26,    0,
-	}},
-	{{
-	 230,  230,  230,  230,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,  220,    0,  230,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,  230,    1,  220,    0,    0,    0,    0,    9,
-	}},
-	{{
-	   0,    0,    0,    0,    0,  216,  216,    1,    1,    1,    0,
-	   0,    0,  226,  216,  216,  216,  216,  216,    0,    0,    0,
-	   0,    0,    0,    0,    0,  220,  220,  220,  220,  220,
-	}},
-	{{
-	 220,  220,  220,    0,    0,  230,  230,  230,  230,  230,  220,
-	 220,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  230,
-	 230,  230,  230,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-	{{
-	   0,    0,  230,  230,  230,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	   0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-	}},
-};
-
-/*
- * Canonical Composition
- */
-
-#define CANON_COMPOSE_BITS_0	9
-#define CANON_COMPOSE_BITS_1	7
-#define CANON_COMPOSE_BITS_2	5
-
-static const char16_t compose_imap[] = {
-	  272,   400,   528,   656,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	    0,     1,     2,     3,     0,     4,     5,     6,
-	    7,     0,     8,     9,     0,    10,     0,    11,
-	    0,    12,     0,     0,    13,     0,     0,     0,
-	    0,     0,     0,     0,    14,    15,    16,     0,
-	   17,    18,    19,    20,     0,     0,    21,    22,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    23,    24,     0,     0,     0,    25,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    26,     0,     0,     0,     0,    27,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,    28,     0,    29,     0,    30,     0,
-	    0,     0,    31,     0,     0,    32,    33,     0,
-	    0,     0,    34,     0,     0,     0,    35,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    36,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    37,    38,    39,     0,    40,    41,     0,
-	   42,    43,    44,    45,     0,    46,    47,    48,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,    49,     0,    50,     0,
-	   51,    52,    53,    54,    55,    56,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,    57,    58,    59,    60,    61,    62,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-};
-
-static const struct {
-	uint32_t tbl[32];
-} compose_table[] = {
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	   65537,    65538,    65539,        0,
-	}},
-	{{
-	       0,  1048580,   196628,   327703,   393244,  1114146,    65587,
-	  458804,   458811,   983106,    65617,   327762,   393303,   196701,
-	  589920,  1048681,   131193,        0,   524411,   458883,   458890,
-	 1245329,   131236,   393382,   131244,   589998,   393399,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,  1048765,   196813,   327888,   393429,  1114331,    65772,
-	  458989,   524532,   917756,   131338,   327948,   393489,   196887,
-	  590106,  1048867,   131379,        0,   524597,   459069,   524612,
-	 1245516,   131423,   459105,   131432,   655722,   393588,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,   196986,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,   262525,        0,    65921,    65922,   131459,
-	   65925,        0,        0,   262534,        0,        0,        0,
-	       0,    65930,        0,        0,        0,        0,   262539,
-	  197007,    65938,        0,    65939,        0,        0,        0,
-	  262548,        0,        0,        0,
-	}},
-	{{
-	       0,        0,   262552,        0,    65948,    65949,   131486,
-	   65952,        0,        0,   262561,        0,        0,        0,
-	       0,    65957,        0,        0,        0,        0,   262566,
-	  197034,    65965,        0,    65966,        0,        0,        0,
-	  262575,        0,        0,        0,
-	}},
-	{{
-	       0,        0,   262579,   262583,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,   131515,   131517,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,   131519,   131521,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,    65987,    65988,
-	       0,        0,        0,        0,
-	}},
-	{{
-	   65989,    65990,        0,        0,        0,        0,        0,
-	       0,    65991,    65992,    65993,    65994,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    65995,
-	}},
-	{{
-	  328140,   328145,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,   328150,   328155,        0,        0,        0,        0,
-	       0,        0,    66016,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    66017,    66018,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66019,
-	   66020,    66021,    66022,        0,        0,        0,        0,
-	   66023,    66024,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,    66025,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,   459242,        0,        0,        0,
-	  262641,        0,   328181,        0,   459258,        0,        0,
-	       0,        0,        0,   262657,
-	}},
-	{{
-	       0,    66053,        0,        0,        0,   393734,        0,
-	       0,        0,   328204,        0,        0,    66065,        0,
-	   66066,        0,        0,   524819,        0,        0,        0,
-	  262683,        0,   393759,        0,   524837,        0,        0,
-	       0,        0,        0,   262701,
-	}},
-	{{
-	       0,   131633,        0,        0,        0,   524851,        0,
-	       0,        0,   393787,   197185,   197188,        0,        0,
-	   66119,        0,        0,        0,   131656,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66122,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,   131659,        0,        0,    66125,        0,
-	  197198,   131665,    66131,   262740,        0,    66136,        0,
-	       0,        0,    66137,        0,
-	}},
-	{{
-	       0,        0,        0,   262746,        0,        0,        0,
-	   66142,        0,        0,        0,    66143,        0,    66144,
-	       0,        0,   131681,        0,        0,    66147,        0,
-	  197220,   131687,    66153,   262762,        0,    66158,        0,
-	       0,        0,    66159,        0,
-	}},
-	{{
-	       0,        0,        0,   262768,        0,        0,        0,
-	   66164,        0,        0,        0,    66165,        0,    66166,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66167,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,    66168,
-	   66169,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    66170,    66171,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66172,    66173,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	  197246,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66177,        0,    66178,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,    66179,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,    66180,        0,        0,
-	   66181,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66182,        0,        0,        0,        0,        0,
-	       0,        0,    66183,        0,        0,    66184,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	  131721,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	  197259,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,    66190,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,   131727,
-	   66193,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66194,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    66195,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,   197268,
-	       0,        0,        0,    66199,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,   131736,
-	   66202,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,   197275,        0,        0,
-	   66206,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,    66207,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66208,    66209,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,    66210,    66211,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,    66212,    66213,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	  131750,   131752,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    66218,    66219,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,    66220,    66221,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	  262830,   262834,    66230,    66231,    66232,    66233,    66234,
-	   66235,   262844,   262848,    66244,    66245,    66246,    66247,
-	   66248,    66249,   131786,   131788,        0,        0,        0,
-	       0,        0,        0,   131790,   131792,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	  262866,   262870,    66266,    66267,    66268,    66269,    66270,
-	   66271,   262880,   262884,    66280,    66281,    66282,    66283,
-	   66284,    66285,   197358,   197361,        0,        0,        0,
-	       0,        0,        0,   197364,   197367,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	  131834,   131836,        0,        0,        0,        0,        0,
-	       0,   131838,   131840,        0,        0,        0,        0,
-	       0,        0,   197378,   197381,        0,        0,        0,
-	       0,        0,        0,        0,   197384,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	  262923,   262927,    66323,    66324,    66325,    66326,    66327,
-	   66328,   262937,   262941,    66337,    66338,    66339,    66340,
-	   66341,    66342,    66343,        0,        0,        0,    66344,
-	       0,        0,        0,        0,        0,        0,        0,
-	   66345,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66346,        0,        0,        0,        0,        0,
-	       0,        0,        0,   197419,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66350,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66351,        0,        0,        0,        0,        0,
-	       0,        0,   197424,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,    66355,        0,    66356,        0,    66357,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,    66358,        0,    66359,        0,    66360,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,    66361,        0,        0,        0,
-	       0,    66362,        0,        0,    66363,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,    66364,        0,    66365,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	   66366,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,    66367,        0,    66368,        0,
-	       0,    66369,        0,        0,        0,        0,    66370,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,    66371,        0,        0,    66372,    66373,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,    66374,    66375,        0,
-	       0,    66376,    66377,        0,        0,    66378,    66379,
-	   66380,    66381,        0,        0,
-	}},
-	{{
-	       0,        0,    66382,    66383,        0,        0,    66384,
-	   66385,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,    66386,    66387,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,    66388,        0,        0,        0,        0,
-	       0,    66389,    66390,        0,    66391,        0,        0,
-	       0,        0,        0,        0,    66392,    66393,    66394,
-	   66395,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66396,
-	       0,        0,        0,        0,    66397,        0,    66398,
-	       0,    66399,        0,    66400,        0,    66401,        0,
-	   66402,        0,    66403,        0,    66404,        0,    66405,
-	       0,    66406,        0,    66407,
-	}},
-	{{
-	       0,    66408,        0,        0,    66409,        0,    66410,
-	       0,    66411,        0,        0,        0,        0,        0,
-	       0,   131948,        0,        0,   131950,        0,        0,
-	  131952,        0,        0,   131954,        0,        0,   131956,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66422,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,    66423,
-	       0,        0,        0,        0,    66424,        0,    66425,
-	       0,    66426,        0,    66427,        0,    66428,        0,
-	   66429,        0,    66430,        0,    66431,        0,    66432,
-	       0,    66433,        0,    66434,
-	}},
-	{{
-	       0,    66435,        0,        0,    66436,        0,    66437,
-	       0,    66438,        0,        0,        0,        0,        0,
-	       0,   131975,        0,        0,   131977,        0,        0,
-	  131979,        0,        0,   131981,        0,        0,   131983,
-	       0,        0,        0,        0,
-	}},
-	{{
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66449,    66450,    66451,    66452,        0,        0,
-	       0,        0,        0,        0,        0,        0,        0,
-	       0,    66453,        0,        0,
-	}},
-};
-
-static const struct composition compose_seq[] = {
-	{ 0x00000000, 0x00000000 }, { 0x00000338, 0x0000226e },
-	{ 0x00000338, 0x00002260 }, { 0x00000338, 0x0000226f },
-	{ 0x00000300, 0x000000c0 }, { 0x00000301, 0x000000c1 },
-	{ 0x00000302, 0x000000c2 }, { 0x00000303, 0x000000c3 },
-	{ 0x00000304, 0x00000100 }, { 0x00000306, 0x00000102 },
-	{ 0x00000307, 0x00000226 }, { 0x00000308, 0x000000c4 },
-	{ 0x00000309, 0x00001ea2 }, { 0x0000030a, 0x000000c5 },
-	{ 0x0000030c, 0x000001cd }, { 0x0000030f, 0x00000200 },
-	{ 0x00000311, 0x00000202 }, { 0x00000323, 0x00001ea0 },
-	{ 0x00000325, 0x00001e00 }, { 0x00000328, 0x00000104 },
-	{ 0x00000307, 0x00001e02 }, { 0x00000323, 0x00001e04 },
-	{ 0x00000331, 0x00001e06 }, { 0x00000301, 0x00000106 },
-	{ 0x00000302, 0x00000108 }, { 0x00000307, 0x0000010a },
-	{ 0x0000030c, 0x0000010c }, { 0x00000327, 0x000000c7 },
-	{ 0x00000307, 0x00001e0a }, { 0x0000030c, 0x0000010e },
-	{ 0x00000323, 0x00001e0c }, { 0x00000327, 0x00001e10 },
-	{ 0x0000032d, 0x00001e12 }, { 0x00000331, 0x00001e0e },
-	{ 0x00000300, 0x000000c8 }, { 0x00000301, 0x000000c9 },
-	{ 0x00000302, 0x000000ca }, { 0x00000303, 0x00001ebc },
-	{ 0x00000304, 0x00000112 }, { 0x00000306, 0x00000114 },
-	{ 0x00000307, 0x00000116 }, { 0x00000308, 0x000000cb },
-	{ 0x00000309, 0x00001eba }, { 0x0000030c, 0x0000011a },
-	{ 0x0000030f, 0x00000204 }, { 0x00000311, 0x00000206 },
-	{ 0x00000323, 0x00001eb8 }, { 0x00000327, 0x00000228 },
-	{ 0x00000328, 0x00000118 }, { 0x0000032d, 0x00001e18 },
-	{ 0x00000330, 0x00001e1a }, { 0x00000307, 0x00001e1e },
-	{ 0x00000301, 0x000001f4 }, { 0x00000302, 0x0000011c },
-	{ 0x00000304, 0x00001e20 }, { 0x00000306, 0x0000011e },
-	{ 0x00000307, 0x00000120 }, { 0x0000030c, 0x000001e6 },
-	{ 0x00000327, 0x00000122 }, { 0x00000302, 0x00000124 },
-	{ 0x00000307, 0x00001e22 }, { 0x00000308, 0x00001e26 },
-	{ 0x0000030c, 0x0000021e }, { 0x00000323, 0x00001e24 },
-	{ 0x00000327, 0x00001e28 }, { 0x0000032e, 0x00001e2a },
-	{ 0x00000300, 0x000000cc }, { 0x00000301, 0x000000cd },
-	{ 0x00000302, 0x000000ce }, { 0x00000303, 0x00000128 },
-	{ 0x00000304, 0x0000012a }, { 0x00000306, 0x0000012c },
-	{ 0x00000307, 0x00000130 }, { 0x00000308, 0x000000cf },
-	{ 0x00000309, 0x00001ec8 }, { 0x0000030c, 0x000001cf },
-	{ 0x0000030f, 0x00000208 }, { 0x00000311, 0x0000020a },
-	{ 0x00000323, 0x00001eca }, { 0x00000328, 0x0000012e },
-	{ 0x00000330, 0x00001e2c }, { 0x00000302, 0x00000134 },
-	{ 0x00000301, 0x00001e30 }, { 0x0000030c, 0x000001e8 },
-	{ 0x00000323, 0x00001e32 }, { 0x00000327, 0x00000136 },
-	{ 0x00000331, 0x00001e34 }, { 0x00000301, 0x00000139 },
-	{ 0x0000030c, 0x0000013d }, { 0x00000323, 0x00001e36 },
-	{ 0x00000327, 0x0000013b }, { 0x0000032d, 0x00001e3c },
-	{ 0x00000331, 0x00001e3a }, { 0x00000301, 0x00001e3e },
-	{ 0x00000307, 0x00001e40 }, { 0x00000323, 0x00001e42 },
-	{ 0x00000300, 0x000001f8 }, { 0x00000301, 0x00000143 },
-	{ 0x00000303, 0x000000d1 }, { 0x00000307, 0x00001e44 },
-	{ 0x0000030c, 0x00000147 }, { 0x00000323, 0x00001e46 },
-	{ 0x00000327, 0x00000145 }, { 0x0000032d, 0x00001e4a },
-	{ 0x00000331, 0x00001e48 }, { 0x00000300, 0x000000d2 },
-	{ 0x00000301, 0x000000d3 }, { 0x00000302, 0x000000d4 },
-	{ 0x00000303, 0x000000d5 }, { 0x00000304, 0x0000014c },
-	{ 0x00000306, 0x0000014e }, { 0x00000307, 0x0000022e },
-	{ 0x00000308, 0x000000d6 }, { 0x00000309, 0x00001ece },
-	{ 0x0000030b, 0x00000150 }, { 0x0000030c, 0x000001d1 },
-	{ 0x0000030f, 0x0000020c }, { 0x00000311, 0x0000020e },
-	{ 0x0000031b, 0x000001a0 }, { 0x00000323, 0x00001ecc },
-	{ 0x00000328, 0x000001ea }, { 0x00000301, 0x00001e54 },
-	{ 0x00000307, 0x00001e56 }, { 0x00000301, 0x00000154 },
-	{ 0x00000307, 0x00001e58 }, { 0x0000030c, 0x00000158 },
-	{ 0x0000030f, 0x00000210 }, { 0x00000311, 0x00000212 },
-	{ 0x00000323, 0x00001e5a }, { 0x00000327, 0x00000156 },
-	{ 0x00000331, 0x00001e5e }, { 0x00000301, 0x0000015a },
-	{ 0x00000302, 0x0000015c }, { 0x00000307, 0x00001e60 },
-	{ 0x0000030c, 0x00000160 }, { 0x00000323, 0x00001e62 },
-	{ 0x00000326, 0x00000218 }, { 0x00000327, 0x0000015e },
-	{ 0x00000307, 0x00001e6a }, { 0x0000030c, 0x00000164 },
-	{ 0x00000323, 0x00001e6c }, { 0x00000326, 0x0000021a },
-	{ 0x00000327, 0x00000162 }, { 0x0000032d, 0x00001e70 },
-	{ 0x00000331, 0x00001e6e }, { 0x00000300, 0x000000d9 },
-	{ 0x00000301, 0x000000da }, { 0x00000302, 0x000000db },
-	{ 0x00000303, 0x00000168 }, { 0x00000304, 0x0000016a },
-	{ 0x00000306, 0x0000016c }, { 0x00000308, 0x000000dc },
-	{ 0x00000309, 0x00001ee6 }, { 0x0000030a, 0x0000016e },
-	{ 0x0000030b, 0x00000170 }, { 0x0000030c, 0x000001d3 },
-	{ 0x0000030f, 0x00000214 }, { 0x00000311, 0x00000216 },
-	{ 0x0000031b, 0x000001af }, { 0x00000323, 0x00001ee4 },
-	{ 0x00000324, 0x00001e72 }, { 0x00000328, 0x00000172 },
-	{ 0x0000032d, 0x00001e76 }, { 0x00000330, 0x00001e74 },
-	{ 0x00000303, 0x00001e7c }, { 0x00000323, 0x00001e7e },
-	{ 0x00000300, 0x00001e80 }, { 0x00000301, 0x00001e82 },
-	{ 0x00000302, 0x00000174 }, { 0x00000307, 0x00001e86 },
-	{ 0x00000308, 0x00001e84 }, { 0x00000323, 0x00001e88 },
-	{ 0x00000307, 0x00001e8a }, { 0x00000308, 0x00001e8c },
-	{ 0x00000300, 0x00001ef2 }, { 0x00000301, 0x000000dd },
-	{ 0x00000302, 0x00000176 }, { 0x00000303, 0x00001ef8 },
-	{ 0x00000304, 0x00000232 }, { 0x00000307, 0x00001e8e },
-	{ 0x00000308, 0x00000178 }, { 0x00000309, 0x00001ef6 },
-	{ 0x00000323, 0x00001ef4 }, { 0x00000301, 0x00000179 },
-	{ 0x00000302, 0x00001e90 }, { 0x00000307, 0x0000017b },
-	{ 0x0000030c, 0x0000017d }, { 0x00000323, 0x00001e92 },
-	{ 0x00000331, 0x00001e94 }, { 0x00000300, 0x000000e0 },
-	{ 0x00000301, 0x000000e1 }, { 0x00000302, 0x000000e2 },
-	{ 0x00000303, 0x000000e3 }, { 0x00000304, 0x00000101 },
-	{ 0x00000306, 0x00000103 }, { 0x00000307, 0x00000227 },
-	{ 0x00000308, 0x000000e4 }, { 0x00000309, 0x00001ea3 },
-	{ 0x0000030a, 0x000000e5 }, { 0x0000030c, 0x000001ce },
-	{ 0x0000030f, 0x00000201 }, { 0x00000311, 0x00000203 },
-	{ 0x00000323, 0x00001ea1 }, { 0x00000325, 0x00001e01 },
-	{ 0x00000328, 0x00000105 }, { 0x00000307, 0x00001e03 },
-	{ 0x00000323, 0x00001e05 }, { 0x00000331, 0x00001e07 },
-	{ 0x00000301, 0x00000107 }, { 0x00000302, 0x00000109 },
-	{ 0x00000307, 0x0000010b }, { 0x0000030c, 0x0000010d },
-	{ 0x00000327, 0x000000e7 }, { 0x00000307, 0x00001e0b },
-	{ 0x0000030c, 0x0000010f }, { 0x00000323, 0x00001e0d },
-	{ 0x00000327, 0x00001e11 }, { 0x0000032d, 0x00001e13 },
-	{ 0x00000331, 0x00001e0f }, { 0x00000300, 0x000000e8 },
-	{ 0x00000301, 0x000000e9 }, { 0x00000302, 0x000000ea },
-	{ 0x00000303, 0x00001ebd }, { 0x00000304, 0x00000113 },
-	{ 0x00000306, 0x00000115 }, { 0x00000307, 0x00000117 },
-	{ 0x00000308, 0x000000eb }, { 0x00000309, 0x00001ebb },
-	{ 0x0000030c, 0x0000011b }, { 0x0000030f, 0x00000205 },
-	{ 0x00000311, 0x00000207 }, { 0x00000323, 0x00001eb9 },
-	{ 0x00000327, 0x00000229 }, { 0x00000328, 0x00000119 },
-	{ 0x0000032d, 0x00001e19 }, { 0x00000330, 0x00001e1b },
-	{ 0x00000307, 0x00001e1f }, { 0x00000301, 0x000001f5 },
-	{ 0x00000302, 0x0000011d }, { 0x00000304, 0x00001e21 },
-	{ 0x00000306, 0x0000011f }, { 0x00000307, 0x00000121 },
-	{ 0x0000030c, 0x000001e7 }, { 0x00000327, 0x00000123 },
-	{ 0x00000302, 0x00000125 }, { 0x00000307, 0x00001e23 },
-	{ 0x00000308, 0x00001e27 }, { 0x0000030c, 0x0000021f },
-	{ 0x00000323, 0x00001e25 }, { 0x00000327, 0x00001e29 },
-	{ 0x0000032e, 0x00001e2b }, { 0x00000331, 0x00001e96 },
-	{ 0x00000300, 0x000000ec }, { 0x00000301, 0x000000ed },
-	{ 0x00000302, 0x000000ee }, { 0x00000303, 0x00000129 },
-	{ 0x00000304, 0x0000012b }, { 0x00000306, 0x0000012d },
-	{ 0x00000308, 0x000000ef }, { 0x00000309, 0x00001ec9 },
-	{ 0x0000030c, 0x000001d0 }, { 0x0000030f, 0x00000209 },
-	{ 0x00000311, 0x0000020b }, { 0x00000323, 0x00001ecb },
-	{ 0x00000328, 0x0000012f }, { 0x00000330, 0x00001e2d },
-	{ 0x00000302, 0x00000135 }, { 0x0000030c, 0x000001f0 },
-	{ 0x00000301, 0x00001e31 }, { 0x0000030c, 0x000001e9 },
-	{ 0x00000323, 0x00001e33 }, { 0x00000327, 0x00000137 },
-	{ 0x00000331, 0x00001e35 }, { 0x00000301, 0x0000013a },
-	{ 0x0000030c, 0x0000013e }, { 0x00000323, 0x00001e37 },
-	{ 0x00000327, 0x0000013c }, { 0x0000032d, 0x00001e3d },
-	{ 0x00000331, 0x00001e3b }, { 0x00000301, 0x00001e3f },
-	{ 0x00000307, 0x00001e41 }, { 0x00000323, 0x00001e43 },
-	{ 0x00000300, 0x000001f9 }, { 0x00000301, 0x00000144 },
-	{ 0x00000303, 0x000000f1 }, { 0x00000307, 0x00001e45 },
-	{ 0x0000030c, 0x00000148 }, { 0x00000323, 0x00001e47 },
-	{ 0x00000327, 0x00000146 }, { 0x0000032d, 0x00001e4b },
-	{ 0x00000331, 0x00001e49 }, { 0x00000300, 0x000000f2 },
-	{ 0x00000301, 0x000000f3 }, { 0x00000302, 0x000000f4 },
-	{ 0x00000303, 0x000000f5 }, { 0x00000304, 0x0000014d },
-	{ 0x00000306, 0x0000014f }, { 0x00000307, 0x0000022f },
-	{ 0x00000308, 0x000000f6 }, { 0x00000309, 0x00001ecf },
-	{ 0x0000030b, 0x00000151 }, { 0x0000030c, 0x000001d2 },
-	{ 0x0000030f, 0x0000020d }, { 0x00000311, 0x0000020f },
-	{ 0x0000031b, 0x000001a1 }, { 0x00000323, 0x00001ecd },
-	{ 0x00000328, 0x000001eb }, { 0x00000301, 0x00001e55 },
-	{ 0x00000307, 0x00001e57 }, { 0x00000301, 0x00000155 },
-	{ 0x00000307, 0x00001e59 }, { 0x0000030c, 0x00000159 },
-	{ 0x0000030f, 0x00000211 }, { 0x00000311, 0x00000213 },
-	{ 0x00000323, 0x00001e5b }, { 0x00000327, 0x00000157 },
-	{ 0x00000331, 0x00001e5f }, { 0x00000301, 0x0000015b },
-	{ 0x00000302, 0x0000015d }, { 0x00000307, 0x00001e61 },
-	{ 0x0000030c, 0x00000161 }, { 0x00000323, 0x00001e63 },
-	{ 0x00000326, 0x00000219 }, { 0x00000327, 0x0000015f },
-	{ 0x00000307, 0x00001e6b }, { 0x00000308, 0x00001e97 },
-	{ 0x0000030c, 0x00000165 }, { 0x00000323, 0x00001e6d },
-	{ 0x00000326, 0x0000021b }, { 0x00000327, 0x00000163 },
-	{ 0x0000032d, 0x00001e71 }, { 0x00000331, 0x00001e6f },
-	{ 0x00000300, 0x000000f9 }, { 0x00000301, 0x000000fa },
-	{ 0x00000302, 0x000000fb }, { 0x00000303, 0x00000169 },
-	{ 0x00000304, 0x0000016b }, { 0x00000306, 0x0000016d },
-	{ 0x00000308, 0x000000fc }, { 0x00000309, 0x00001ee7 },
-	{ 0x0000030a, 0x0000016f }, { 0x0000030b, 0x00000171 },
-	{ 0x0000030c, 0x000001d4 }, { 0x0000030f, 0x00000215 },
-	{ 0x00000311, 0x00000217 }, { 0x0000031b, 0x000001b0 },
-	{ 0x00000323, 0x00001ee5 }, { 0x00000324, 0x00001e73 },
-	{ 0x00000328, 0x00000173 }, { 0x0000032d, 0x00001e77 },
-	{ 0x00000330, 0x00001e75 }, { 0x00000303, 0x00001e7d },
-	{ 0x00000323, 0x00001e7f }, { 0x00000300, 0x00001e81 },
-	{ 0x00000301, 0x00001e83 }, { 0x00000302, 0x00000175 },
-	{ 0x00000307, 0x00001e87 }, { 0x00000308, 0x00001e85 },
-	{ 0x0000030a, 0x00001e98 }, { 0x00000323, 0x00001e89 },
-	{ 0x00000307, 0x00001e8b }, { 0x00000308, 0x00001e8d },
-	{ 0x00000300, 0x00001ef3 }, { 0x00000301, 0x000000fd },
-	{ 0x00000302, 0x00000177 }, { 0x00000303, 0x00001ef9 },
-	{ 0x00000304, 0x00000233 }, { 0x00000307, 0x00001e8f },
-	{ 0x00000308, 0x000000ff }, { 0x00000309, 0x00001ef7 },
-	{ 0x0000030a, 0x00001e99 }, { 0x00000323, 0x00001ef5 },
-	{ 0x00000301, 0x0000017a }, { 0x00000302, 0x00001e91 },
-	{ 0x00000307, 0x0000017c }, { 0x0000030c, 0x0000017e },
-	{ 0x00000323, 0x00001e93 }, { 0x00000331, 0x00001e95 },
-	{ 0x00000300, 0x00001fed }, { 0x00000301, 0x00000385 },
-	{ 0x00000342, 0x00001fc1 }, { 0x00000300, 0x00001ea6 },
-	{ 0x00000301, 0x00001ea4 }, { 0x00000303, 0x00001eaa },
-	{ 0x00000309, 0x00001ea8 }, { 0x00000304, 0x000001de },
-	{ 0x00000301, 0x000001fa }, { 0x00000301, 0x000001fc },
-	{ 0x00000304, 0x000001e2 }, { 0x00000301, 0x00001e08 },
-	{ 0x00000300, 0x00001ec0 }, { 0x00000301, 0x00001ebe },
-	{ 0x00000303, 0x00001ec4 }, { 0x00000309, 0x00001ec2 },
-	{ 0x00000301, 0x00001e2e }, { 0x00000300, 0x00001ed2 },
-	{ 0x00000301, 0x00001ed0 }, { 0x00000303, 0x00001ed6 },
-	{ 0x00000309, 0x00001ed4 }, { 0x00000301, 0x00001e4c },
-	{ 0x00000304, 0x0000022c }, { 0x00000308, 0x00001e4e },
-	{ 0x00000304, 0x0000022a }, { 0x00000301, 0x000001fe },
-	{ 0x00000300, 0x000001db }, { 0x00000301, 0x000001d7 },
-	{ 0x00000304, 0x000001d5 }, { 0x0000030c, 0x000001d9 },
-	{ 0x00000300, 0x00001ea7 }, { 0x00000301, 0x00001ea5 },
-	{ 0x00000303, 0x00001eab }, { 0x00000309, 0x00001ea9 },
-	{ 0x00000304, 0x000001df }, { 0x00000301, 0x000001fb },
-	{ 0x00000301, 0x000001fd }, { 0x00000304, 0x000001e3 },
-	{ 0x00000301, 0x00001e09 }, { 0x00000300, 0x00001ec1 },
-	{ 0x00000301, 0x00001ebf }, { 0x00000303, 0x00001ec5 },
-	{ 0x00000309, 0x00001ec3 }, { 0x00000301, 0x00001e2f },
-	{ 0x00000300, 0x00001ed3 }, { 0x00000301, 0x00001ed1 },
-	{ 0x00000303, 0x00001ed7 }, { 0x00000309, 0x00001ed5 },
-	{ 0x00000301, 0x00001e4d }, { 0x00000304, 0x0000022d },
-	{ 0x00000308, 0x00001e4f }, { 0x00000304, 0x0000022b },
-	{ 0x00000301, 0x000001ff }, { 0x00000300, 0x000001dc },
-	{ 0x00000301, 0x000001d8 }, { 0x00000304, 0x000001d6 },
-	{ 0x0000030c, 0x000001da }, { 0x00000300, 0x00001eb0 },
-	{ 0x00000301, 0x00001eae }, { 0x00000303, 0x00001eb4 },
-	{ 0x00000309, 0x00001eb2 }, { 0x00000300, 0x00001eb1 },
-	{ 0x00000301, 0x00001eaf }, { 0x00000303, 0x00001eb5 },
-	{ 0x00000309, 0x00001eb3 }, { 0x00000300, 0x00001e14 },
-	{ 0x00000301, 0x00001e16 }, { 0x00000300, 0x00001e15 },
-	{ 0x00000301, 0x00001e17 }, { 0x00000300, 0x00001e50 },
-	{ 0x00000301, 0x00001e52 }, { 0x00000300, 0x00001e51 },
-	{ 0x00000301, 0x00001e53 }, { 0x00000307, 0x00001e64 },
-	{ 0x00000307, 0x00001e65 }, { 0x00000307, 0x00001e66 },
-	{ 0x00000307, 0x00001e67 }, { 0x00000301, 0x00001e78 },
-	{ 0x00000301, 0x00001e79 }, { 0x00000308, 0x00001e7a },
-	{ 0x00000308, 0x00001e7b }, { 0x00000307, 0x00001e9b },
-	{ 0x00000300, 0x00001edc }, { 0x00000301, 0x00001eda },
-	{ 0x00000303, 0x00001ee0 }, { 0x00000309, 0x00001ede },
-	{ 0x00000323, 0x00001ee2 }, { 0x00000300, 0x00001edd },
-	{ 0x00000301, 0x00001edb }, { 0x00000303, 0x00001ee1 },
-	{ 0x00000309, 0x00001edf }, { 0x00000323, 0x00001ee3 },
-	{ 0x00000300, 0x00001eea }, { 0x00000301, 0x00001ee8 },
-	{ 0x00000303, 0x00001eee }, { 0x00000309, 0x00001eec },
-	{ 0x00000323, 0x00001ef0 }, { 0x00000300, 0x00001eeb },
-	{ 0x00000301, 0x00001ee9 }, { 0x00000303, 0x00001eef },
-	{ 0x00000309, 0x00001eed }, { 0x00000323, 0x00001ef1 },
-	{ 0x0000030c, 0x000001ee }, { 0x00000304, 0x000001ec },
-	{ 0x00000304, 0x000001ed }, { 0x00000304, 0x000001e0 },
-	{ 0x00000304, 0x000001e1 }, { 0x00000306, 0x00001e1c },
-	{ 0x00000306, 0x00001e1d }, { 0x00000304, 0x00000230 },
-	{ 0x00000304, 0x00000231 }, { 0x0000030c, 0x000001ef },
-	{ 0x00000300, 0x00001fba }, { 0x00000301, 0x00000386 },
-	{ 0x00000304, 0x00001fb9 }, { 0x00000306, 0x00001fb8 },
-	{ 0x00000313, 0x00001f08 }, { 0x00000314, 0x00001f09 },
-	{ 0x00000345, 0x00001fbc }, { 0x00000300, 0x00001fc8 },
-	{ 0x00000301, 0x00000388 }, { 0x00000313, 0x00001f18 },
-	{ 0x00000314, 0x00001f19 }, { 0x00000300, 0x00001fca },
-	{ 0x00000301, 0x00000389 }, { 0x00000313, 0x00001f28 },
-	{ 0x00000314, 0x00001f29 }, { 0x00000345, 0x00001fcc },
-	{ 0x00000300, 0x00001fda }, { 0x00000301, 0x0000038a },
-	{ 0x00000304, 0x00001fd9 }, { 0x00000306, 0x00001fd8 },
-	{ 0x00000308, 0x000003aa }, { 0x00000313, 0x00001f38 },
-	{ 0x00000314, 0x00001f39 }, { 0x00000300, 0x00001ff8 },
-	{ 0x00000301, 0x0000038c }, { 0x00000313, 0x00001f48 },
-	{ 0x00000314, 0x00001f49 }, { 0x00000314, 0x00001fec },
-	{ 0x00000300, 0x00001fea }, { 0x00000301, 0x0000038e },
-	{ 0x00000304, 0x00001fe9 }, { 0x00000306, 0x00001fe8 },
-	{ 0x00000308, 0x000003ab }, { 0x00000314, 0x00001f59 },
-	{ 0x00000300, 0x00001ffa }, { 0x00000301, 0x0000038f },
-	{ 0x00000313, 0x00001f68 }, { 0x00000314, 0x00001f69 },
-	{ 0x00000345, 0x00001ffc }, { 0x00000345, 0x00001fb4 },
-	{ 0x00000345, 0x00001fc4 }, { 0x00000300, 0x00001f70 },
-	{ 0x00000301, 0x000003ac }, { 0x00000304, 0x00001fb1 },
-	{ 0x00000306, 0x00001fb0 }, { 0x00000313, 0x00001f00 },
-	{ 0x00000314, 0x00001f01 }, { 0x00000342, 0x00001fb6 },
-	{ 0x00000345, 0x00001fb3 }, { 0x00000300, 0x00001f72 },
-	{ 0x00000301, 0x000003ad }, { 0x00000313, 0x00001f10 },
-	{ 0x00000314, 0x00001f11 }, { 0x00000300, 0x00001f74 },
-	{ 0x00000301, 0x000003ae }, { 0x00000313, 0x00001f20 },
-	{ 0x00000314, 0x00001f21 }, { 0x00000342, 0x00001fc6 },
-	{ 0x00000345, 0x00001fc3 }, { 0x00000300, 0x00001f76 },
-	{ 0x00000301, 0x000003af }, { 0x00000304, 0x00001fd1 },
-	{ 0x00000306, 0x00001fd0 }, { 0x00000308, 0x000003ca },
-	{ 0x00000313, 0x00001f30 }, { 0x00000314, 0x00001f31 },
-	{ 0x00000342, 0x00001fd6 }, { 0x00000300, 0x00001f78 },
-	{ 0x00000301, 0x000003cc }, { 0x00000313, 0x00001f40 },
-	{ 0x00000314, 0x00001f41 }, { 0x00000313, 0x00001fe4 },
-	{ 0x00000314, 0x00001fe5 }, { 0x00000300, 0x00001f7a },
-	{ 0x00000301, 0x000003cd }, { 0x00000304, 0x00001fe1 },
-	{ 0x00000306, 0x00001fe0 }, { 0x00000308, 0x000003cb },
-	{ 0x00000313, 0x00001f50 }, { 0x00000314, 0x00001f51 },
-	{ 0x00000342, 0x00001fe6 }, { 0x00000300, 0x00001f7c },
-	{ 0x00000301, 0x000003ce }, { 0x00000313, 0x00001f60 },
-	{ 0x00000314, 0x00001f61 }, { 0x00000342, 0x00001ff6 },
-	{ 0x00000345, 0x00001ff3 }, { 0x00000300, 0x00001fd2 },
-	{ 0x00000301, 0x00000390 }, { 0x00000342, 0x00001fd7 },
-	{ 0x00000300, 0x00001fe2 }, { 0x00000301, 0x000003b0 },
-	{ 0x00000342, 0x00001fe7 }, { 0x00000345, 0x00001ff4 },
-	{ 0x00000301, 0x000003d3 }, { 0x00000308, 0x000003d4 },
-	{ 0x00000308, 0x00000407 }, { 0x00000306, 0x000004d0 },
-	{ 0x00000308, 0x000004d2 }, { 0x00000301, 0x00000403 },
-	{ 0x00000300, 0x00000400 }, { 0x00000306, 0x000004d6 },
-	{ 0x00000308, 0x00000401 }, { 0x00000306, 0x000004c1 },
-	{ 0x00000308, 0x000004dc }, { 0x00000308, 0x000004de },
-	{ 0x00000300, 0x0000040d }, { 0x00000304, 0x000004e2 },
-	{ 0x00000306, 0x00000419 }, { 0x00000308, 0x000004e4 },
-	{ 0x00000301, 0x0000040c }, { 0x00000308, 0x000004e6 },
-	{ 0x00000304, 0x000004ee }, { 0x00000306, 0x0000040e },
-	{ 0x00000308, 0x000004f0 }, { 0x0000030b, 0x000004f2 },
-	{ 0x00000308, 0x000004f4 }, { 0x00000308, 0x000004f8 },
-	{ 0x00000308, 0x000004ec }, { 0x00000306, 0x000004d1 },
-	{ 0x00000308, 0x000004d3 }, { 0x00000301, 0x00000453 },
-	{ 0x00000300, 0x00000450 }, { 0x00000306, 0x000004d7 },
-	{ 0x00000308, 0x00000451 }, { 0x00000306, 0x000004c2 },
-	{ 0x00000308, 0x000004dd }, { 0x00000308, 0x000004df },
-	{ 0x00000300, 0x0000045d }, { 0x00000304, 0x000004e3 },
-	{ 0x00000306, 0x00000439 }, { 0x00000308, 0x000004e5 },
-	{ 0x00000301, 0x0000045c }, { 0x00000308, 0x000004e7 },
-	{ 0x00000304, 0x000004ef }, { 0x00000306, 0x0000045e },
-	{ 0x00000308, 0x000004f1 }, { 0x0000030b, 0x000004f3 },
-	{ 0x00000308, 0x000004f5 }, { 0x00000308, 0x000004f9 },
-	{ 0x00000308, 0x000004ed }, { 0x00000308, 0x00000457 },
-	{ 0x0000030f, 0x00000476 }, { 0x0000030f, 0x00000477 },
-	{ 0x00000308, 0x000004da }, { 0x00000308, 0x000004db },
-	{ 0x00000308, 0x000004ea }, { 0x00000308, 0x000004eb },
-	{ 0x00000653, 0x00000622 }, { 0x00000654, 0x00000623 },
-	{ 0x00000655, 0x00000625 }, { 0x00000654, 0x00000624 },
-	{ 0x00000654, 0x00000626 }, { 0x00000654, 0x000006c2 },
-	{ 0x00000654, 0x000006d3 }, { 0x00000654, 0x000006c0 },
-	{ 0x0000093c, 0x00000929 }, { 0x0000093c, 0x00000931 },
-	{ 0x0000093c, 0x00000934 }, { 0x000009be, 0x000009cb },
-	{ 0x000009d7, 0x000009cc }, { 0x00000b3e, 0x00000b4b },
-	{ 0x00000b56, 0x00000b48 }, { 0x00000b57, 0x00000b4c },
-	{ 0x00000bd7, 0x00000b94 }, { 0x00000bbe, 0x00000bca },
-	{ 0x00000bd7, 0x00000bcc }, { 0x00000bbe, 0x00000bcb },
-	{ 0x00000c56, 0x00000c48 }, { 0x00000cd5, 0x00000cc0 },
-	{ 0x00000cc2, 0x00000cca }, { 0x00000cd5, 0x00000cc7 },
-	{ 0x00000cd6, 0x00000cc8 }, { 0x00000cd5, 0x00000ccb },
-	{ 0x00000d3e, 0x00000d4a }, { 0x00000d57, 0x00000d4c },
-	{ 0x00000d3e, 0x00000d4b }, { 0x00000dca, 0x00000dda },
-	{ 0x00000dcf, 0x00000ddc }, { 0x00000ddf, 0x00000dde },
-	{ 0x00000dca, 0x00000ddd }, { 0x0000102e, 0x00001026 },
-	{ 0x00000304, 0x00001e38 }, { 0x00000304, 0x00001e39 },
-	{ 0x00000304, 0x00001e5c }, { 0x00000304, 0x00001e5d },
-	{ 0x00000307, 0x00001e68 }, { 0x00000307, 0x00001e69 },
-	{ 0x00000302, 0x00001eac }, { 0x00000306, 0x00001eb6 },
-	{ 0x00000302, 0x00001ead }, { 0x00000306, 0x00001eb7 },
-	{ 0x00000302, 0x00001ec6 }, { 0x00000302, 0x00001ec7 },
-	{ 0x00000302, 0x00001ed8 }, { 0x00000302, 0x00001ed9 },
-	{ 0x00000300, 0x00001f02 }, { 0x00000301, 0x00001f04 },
-	{ 0x00000342, 0x00001f06 }, { 0x00000345, 0x00001f80 },
-	{ 0x00000300, 0x00001f03 }, { 0x00000301, 0x00001f05 },
-	{ 0x00000342, 0x00001f07 }, { 0x00000345, 0x00001f81 },
-	{ 0x00000345, 0x00001f82 }, { 0x00000345, 0x00001f83 },
-	{ 0x00000345, 0x00001f84 }, { 0x00000345, 0x00001f85 },
-	{ 0x00000345, 0x00001f86 }, { 0x00000345, 0x00001f87 },
-	{ 0x00000300, 0x00001f0a }, { 0x00000301, 0x00001f0c },
-	{ 0x00000342, 0x00001f0e }, { 0x00000345, 0x00001f88 },
-	{ 0x00000300, 0x00001f0b }, { 0x00000301, 0x00001f0d },
-	{ 0x00000342, 0x00001f0f }, { 0x00000345, 0x00001f89 },
-	{ 0x00000345, 0x00001f8a }, { 0x00000345, 0x00001f8b },
-	{ 0x00000345, 0x00001f8c }, { 0x00000345, 0x00001f8d },
-	{ 0x00000345, 0x00001f8e }, { 0x00000345, 0x00001f8f },
-	{ 0x00000300, 0x00001f12 }, { 0x00000301, 0x00001f14 },
-	{ 0x00000300, 0x00001f13 }, { 0x00000301, 0x00001f15 },
-	{ 0x00000300, 0x00001f1a }, { 0x00000301, 0x00001f1c },
-	{ 0x00000300, 0x00001f1b }, { 0x00000301, 0x00001f1d },
-	{ 0x00000300, 0x00001f22 }, { 0x00000301, 0x00001f24 },
-	{ 0x00000342, 0x00001f26 }, { 0x00000345, 0x00001f90 },
-	{ 0x00000300, 0x00001f23 }, { 0x00000301, 0x00001f25 },
-	{ 0x00000342, 0x00001f27 }, { 0x00000345, 0x00001f91 },
-	{ 0x00000345, 0x00001f92 }, { 0x00000345, 0x00001f93 },
-	{ 0x00000345, 0x00001f94 }, { 0x00000345, 0x00001f95 },
-	{ 0x00000345, 0x00001f96 }, { 0x00000345, 0x00001f97 },
-	{ 0x00000300, 0x00001f2a }, { 0x00000301, 0x00001f2c },
-	{ 0x00000342, 0x00001f2e }, { 0x00000345, 0x00001f98 },
-	{ 0x00000300, 0x00001f2b }, { 0x00000301, 0x00001f2d },
-	{ 0x00000342, 0x00001f2f }, { 0x00000345, 0x00001f99 },
-	{ 0x00000345, 0x00001f9a }, { 0x00000345, 0x00001f9b },
-	{ 0x00000345, 0x00001f9c }, { 0x00000345, 0x00001f9d },
-	{ 0x00000345, 0x00001f9e }, { 0x00000345, 0x00001f9f },
-	{ 0x00000300, 0x00001f32 }, { 0x00000301, 0x00001f34 },
-	{ 0x00000342, 0x00001f36 }, { 0x00000300, 0x00001f33 },
-	{ 0x00000301, 0x00001f35 }, { 0x00000342, 0x00001f37 },
-	{ 0x00000300, 0x00001f3a }, { 0x00000301, 0x00001f3c },
-	{ 0x00000342, 0x00001f3e }, { 0x00000300, 0x00001f3b },
-	{ 0x00000301, 0x00001f3d }, { 0x00000342, 0x00001f3f },
-	{ 0x00000300, 0x00001f42 }, { 0x00000301, 0x00001f44 },
-	{ 0x00000300, 0x00001f43 }, { 0x00000301, 0x00001f45 },
-	{ 0x00000300, 0x00001f4a }, { 0x00000301, 0x00001f4c },
-	{ 0x00000300, 0x00001f4b }, { 0x00000301, 0x00001f4d },
-	{ 0x00000300, 0x00001f52 }, { 0x00000301, 0x00001f54 },
-	{ 0x00000342, 0x00001f56 }, { 0x00000300, 0x00001f53 },
-	{ 0x00000301, 0x00001f55 }, { 0x00000342, 0x00001f57 },
-	{ 0x00000300, 0x00001f5b }, { 0x00000301, 0x00001f5d },
-	{ 0x00000342, 0x00001f5f }, { 0x00000300, 0x00001f62 },
-	{ 0x00000301, 0x00001f64 }, { 0x00000342, 0x00001f66 },
-	{ 0x00000345, 0x00001fa0 }, { 0x00000300, 0x00001f63 },
-	{ 0x00000301, 0x00001f65 }, { 0x00000342, 0x00001f67 },
-	{ 0x00000345, 0x00001fa1 }, { 0x00000345, 0x00001fa2 },
-	{ 0x00000345, 0x00001fa3 }, { 0x00000345, 0x00001fa4 },
-	{ 0x00000345, 0x00001fa5 }, { 0x00000345, 0x00001fa6 },
-	{ 0x00000345, 0x00001fa7 }, { 0x00000300, 0x00001f6a },
-	{ 0x00000301, 0x00001f6c }, { 0x00000342, 0x00001f6e },
-	{ 0x00000345, 0x00001fa8 }, { 0x00000300, 0x00001f6b },
-	{ 0x00000301, 0x00001f6d }, { 0x00000342, 0x00001f6f },
-	{ 0x00000345, 0x00001fa9 }, { 0x00000345, 0x00001faa },
-	{ 0x00000345, 0x00001fab }, { 0x00000345, 0x00001fac },
-	{ 0x00000345, 0x00001fad }, { 0x00000345, 0x00001fae },
-	{ 0x00000345, 0x00001faf }, { 0x00000345, 0x00001fb2 },
-	{ 0x00000345, 0x00001fc2 }, { 0x00000345, 0x00001ff2 },
-	{ 0x00000345, 0x00001fb7 }, { 0x00000300, 0x00001fcd },
-	{ 0x00000301, 0x00001fce }, { 0x00000342, 0x00001fcf },
-	{ 0x00000345, 0x00001fc7 }, { 0x00000345, 0x00001ff7 },
-	{ 0x00000300, 0x00001fdd }, { 0x00000301, 0x00001fde },
-	{ 0x00000342, 0x00001fdf }, { 0x00000338, 0x0000219a },
-	{ 0x00000338, 0x0000219b }, { 0x00000338, 0x000021ae },
-	{ 0x00000338, 0x000021cd }, { 0x00000338, 0x000021cf },
-	{ 0x00000338, 0x000021ce }, { 0x00000338, 0x00002204 },
-	{ 0x00000338, 0x00002209 }, { 0x00000338, 0x0000220c },
-	{ 0x00000338, 0x00002224 }, { 0x00000338, 0x00002226 },
-	{ 0x00000338, 0x00002241 }, { 0x00000338, 0x00002244 },
-	{ 0x00000338, 0x00002247 }, { 0x00000338, 0x00002249 },
-	{ 0x00000338, 0x0000226d }, { 0x00000338, 0x00002262 },
-	{ 0x00000338, 0x00002270 }, { 0x00000338, 0x00002271 },
-	{ 0x00000338, 0x00002274 }, { 0x00000338, 0x00002275 },
-	{ 0x00000338, 0x00002278 }, { 0x00000338, 0x00002279 },
-	{ 0x00000338, 0x00002280 }, { 0x00000338, 0x00002281 },
-	{ 0x00000338, 0x000022e0 }, { 0x00000338, 0x000022e1 },
-	{ 0x00000338, 0x00002284 }, { 0x00000338, 0x00002285 },
-	{ 0x00000338, 0x00002288 }, { 0x00000338, 0x00002289 },
-	{ 0x00000338, 0x000022e2 }, { 0x00000338, 0x000022e3 },
-	{ 0x00000338, 0x000022ac }, { 0x00000338, 0x000022ad },
-	{ 0x00000338, 0x000022ae }, { 0x00000338, 0x000022af },
-	{ 0x00000338, 0x000022ea }, { 0x00000338, 0x000022eb },
-	{ 0x00000338, 0x000022ec }, { 0x00000338, 0x000022ed },
-	{ 0x00003099, 0x00003094 }, { 0x00003099, 0x0000304c },
-	{ 0x00003099, 0x0000304e }, { 0x00003099, 0x00003050 },
-	{ 0x00003099, 0x00003052 }, { 0x00003099, 0x00003054 },
-	{ 0x00003099, 0x00003056 }, { 0x00003099, 0x00003058 },
-	{ 0x00003099, 0x0000305a }, { 0x00003099, 0x0000305c },
-	{ 0x00003099, 0x0000305e }, { 0x00003099, 0x00003060 },
-	{ 0x00003099, 0x00003062 }, { 0x00003099, 0x00003065 },
-	{ 0x00003099, 0x00003067 }, { 0x00003099, 0x00003069 },
-	{ 0x00003099, 0x00003070 }, { 0x0000309a, 0x00003071 },
-	{ 0x00003099, 0x00003073 }, { 0x0000309a, 0x00003074 },
-	{ 0x00003099, 0x00003076 }, { 0x0000309a, 0x00003077 },
-	{ 0x00003099, 0x00003079 }, { 0x0000309a, 0x0000307a },
-	{ 0x00003099, 0x0000307c }, { 0x0000309a, 0x0000307d },
-	{ 0x00003099, 0x0000309e }, { 0x00003099, 0x000030f4 },
-	{ 0x00003099, 0x000030ac }, { 0x00003099, 0x000030ae },
-	{ 0x00003099, 0x000030b0 }, { 0x00003099, 0x000030b2 },
-	{ 0x00003099, 0x000030b4 }, { 0x00003099, 0x000030b6 },
-	{ 0x00003099, 0x000030b8 }, { 0x00003099, 0x000030ba },
-	{ 0x00003099, 0x000030bc }, { 0x00003099, 0x000030be },
-	{ 0x00003099, 0x000030c0 }, { 0x00003099, 0x000030c2 },
-	{ 0x00003099, 0x000030c5 }, { 0x00003099, 0x000030c7 },
-	{ 0x00003099, 0x000030c9 }, { 0x00003099, 0x000030d0 },
-	{ 0x0000309a, 0x000030d1 }, { 0x00003099, 0x000030d3 },
-	{ 0x0000309a, 0x000030d4 }, { 0x00003099, 0x000030d6 },
-	{ 0x0000309a, 0x000030d7 }, { 0x00003099, 0x000030d9 },
-	{ 0x0000309a, 0x000030da }, { 0x00003099, 0x000030dc },
-	{ 0x0000309a, 0x000030dd }, { 0x00003099, 0x000030f7 },
-	{ 0x00003099, 0x000030f8 }, { 0x00003099, 0x000030f9 },
-	{ 0x00003099, 0x000030fa }, { 0x00003099, 0x000030fe },
-};
-
-
-/*
- * Canonical/Compatibility Decomposition
- */
-
-#define DECOMP_BITS_0	9
-#define DECOMP_BITS_1	7
-#define DECOMP_BITS_2	5
-#define DECOMP_COMPAT	32768
-
-static const char16_t decompose_imap[] = {
-	  272,   400,   528,   656,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   912,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,  1040,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,  1168,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	  784,   784,   784,   784,   784,   784,   784,   784,
-	    0,     0,     0,     0,     0,     1,     2,     3,
-	    4,     5,     6,     7,     0,     8,     9,    10,
-	   11,    12,     0,     0,     0,    13,    14,    15,
-	    0,     0,    16,    17,    18,    19,    20,    21,
-	   22,    23,    24,    25,     0,     0,    26,    27,
-	    0,     0,     0,     0,    28,     0,     0,     0,
-	    0,    29,     0,    30,     0,     0,    31,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    32,    33,     0,     0,     0,    34,     0,
-	    0,    35,    36,     0,     0,     0,     0,     0,
-	    0,     0,    37,     0,    38,     0,    39,     0,
-	    0,     0,    40,     0,     0,     0,    41,     0,
-	    0,     0,    42,     0,     0,     0,    43,     0,
-	    0,    44,     0,     0,     0,    45,    46,     0,
-	   47,     0,    48,    49,    50,    51,     0,     0,
-	    0,    52,     0,     0,     0,     0,     0,    53,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,    54,    55,    56,    57,    58,     0,     0,
-	   59,    60,    61,    62,    63,    64,    65,    66,
-	   67,    68,    69,    70,    71,    72,    73,    74,
-	   75,    76,    77,    78,    79,    80,     0,     0,
-	   81,    82,    83,    84,    85,    86,    87,     0,
-	   88,    89,    90,    91,    92,    93,     0,    94,
-	    0,    95,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,    96,    97,    98,    99,   100,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	  101,     0,     0,   102,     0,     0,   103,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,   104,     0,     0,     0,     0,
-	    0,     0,     0,     0,   105,     0,     0,   106,
-	  107,   108,   109,   110,   111,   112,   113,     0,
-	  114,   115,   116,   117,   118,   119,   120,   121,
-	    0,   122,   123,   124,   125,     0,     0,     0,
-	  126,   127,   128,   129,   130,   131,   132,   133,
-	  134,   135,   136,   137,   138,   139,   140,   141,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	  142,   143,   144,   145,   146,   147,   148,   149,
-	  150,   151,   152,   153,   154,   155,   156,     0,
-	  157,   158,   159,   160,   161,   162,   163,   164,
-	  165,   166,   167,   168,   169,   170,   171,   172,
-	  173,   174,   175,   176,   177,   178,   179,   180,
-	  181,   182,   183,   184,   185,   186,   187,   188,
-	  189,   190,   191,   192,   193,   194,   195,   196,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,   197,   198,     0,   199,   200,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	  201,   202,   203,   204,   205,   206,   207,   208,
-	  209,   210,   211,   212,   213,   214,   215,   216,
-	  217,   218,   219,   220,   221,   222,   223,   224,
-	  225,   226,   227,   228,   229,   230,   231,   232,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	  233,   234,   235,   236,   237,   238,   239,   240,
-	  241,   242,   243,   244,   245,   246,   247,   248,
-	  249,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-	    0,     0,     0,     0,     0,     0,     0,     0,
-};
-
-static const struct {
-	char16_t tbl[32];
-} decompose_table[] = {
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 32769,      0,      0,      0,      0,      0,      0,      0,
-	 32770,      0,  32772,      0,      0,      0,      0,  32773,
-	     0,      0,  32775,  32776,  32777,  32779,      0,      0,
-	 32780,  32782,  32783,      0,  32784,  32787,  32790,      0,
-	}},
-	{{
-	    25,     27,     29,     31,     33,     35,      0,     37,
-	    39,     41,     43,     45,     47,     49,     51,     53,
-	     0,     55,     57,     59,     61,     63,     65,      0,
-	     0,     67,     69,     71,     73,     75,      0,      0,
-	}},
-	{{
-	    77,     79,     81,     83,     85,     87,      0,     89,
-	    91,     93,     95,     97,     99,    101,    103,    105,
-	     0,    107,    109,    111,    113,    115,    117,      0,
-	     0,    119,    121,    123,    125,    127,      0,    129,
-	}},
-	{{
-	   131,    133,    135,    137,    139,    141,    143,    145,
-	   147,    149,    151,    153,    155,    157,    159,    161,
-	     0,      0,    163,    165,    167,    169,    171,    173,
-	   175,    177,    179,    181,    183,    185,    187,    189,
-	}},
-	{{
-	   191,    193,    195,    197,    199,    201,      0,      0,
-	   203,    205,    207,    209,    211,    213,    215,    217,
-	   219,      0,  32989,  32991,    225,    227,    229,    231,
-	     0,    233,    235,    237,    239,    241,    243,  33013,
-	}},
-	{{
-	 33015,      0,      0,    249,    251,    253,    255,    257,
-	   259,  33029,      0,      0,    263,    265,    267,    269,
-	   271,    273,      0,      0,    275,    277,    279,    281,
-	   283,    285,    287,    289,    291,    293,    295,    297,
-	}},
-	{{
-	   299,    301,    303,    305,    307,    309,      0,      0,
-	   311,    313,    315,    317,    319,    321,    323,    325,
-	   327,    329,    331,    333,    335,    337,    339,    341,
-	   343,    345,    347,    349,    351,    353,    355,  33125,
-	}},
-	{{
-	   358,    360,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,    362,
-	   364,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,  33134,  33136,  33138,  33140,
-	 33142,  33144,  33146,  33148,  33150,    384,    386,    388,
-	   390,    392,    394,    396,    398,    400,    402,    404,
-	   406,    408,    410,    412,    414,      0,    416,    418,
-	}},
-	{{
-	   420,    422,    424,    426,      0,      0,    428,    430,
-	   432,    434,    436,    438,    440,    442,    444,    446,
-	   448,  33218,  33220,  33222,    456,    458,      0,      0,
-	   460,    462,    464,    466,    468,    470,    472,    474,
-	}},
-	{{
-	   476,    478,    480,    482,    484,    486,    488,    490,
-	   492,    494,    496,    498,    500,    502,    504,    506,
-	   508,    510,    512,    514,    516,    518,    520,    522,
-	   524,    526,    528,    530,      0,      0,    532,    534,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,    536,    538,
-	   540,    542,    544,    546,    548,    550,    552,    554,
-	   556,    558,    560,    562,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 33332,  33333,  33334,  33335,  33336,  33337,  33338,  33339,
-	 33340,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 33341,  33343,  33345,  33347,  33349,  33351,      0,      0,
-	}},
-	{{
-	 33353,  33354,  33355,  33356,  33357,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	   590,    591,      0,    592,    593,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,    595,      0,      0,      0,
-	     0,      0,  33364,      0,      0,      0,    598,      0,
-	}},
-	{{
-	     0,      0,      0,      0,  33367,    601,    603,    605,
-	   606,    608,    610,      0,    612,      0,    614,    616,
-	   618,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,    620,    622,    624,    626,    628,    630,
-	   632,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,    634,    636,    638,    640,    642,      0,
-	 33412,  33413,  33414,    647,    649,  33419,  33420,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 33421,  33422,  33423,      0,  33424,  33425,      0,      0,
-	     0,  33426,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	   659,    661,      0,    663,      0,      0,      0,    665,
-	     0,      0,      0,      0,    667,    669,    671,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    673,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    675,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	   677,    679,      0,    681,      0,      0,      0,    683,
-	     0,      0,      0,      0,    685,    687,    689,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,    691,    693,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,    695,    697,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	   699,    701,    703,    705,      0,      0,    707,    709,
-	     0,      0,    711,    713,    715,    717,    719,    721,
-	}},
-	{{
-	     0,      0,    723,    725,    727,    729,    731,    733,
-	     0,      0,    735,    737,    739,    741,    743,    745,
-	   747,    749,    751,    753,    755,    757,      0,      0,
-	   759,    761,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,  33531,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,    765,    767,    769,    771,    773,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,  33543,  33545,  33547,
-	 33549,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	   783,      0,    785,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,    787,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    789,      0,      0,      0,      0,      0,      0,
-	     0,    791,      0,      0,    793,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	   795,    797,    799,    801,    803,    805,    807,    809,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,    811,    813,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,    815,    817,      0,    819,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,    821,      0,      0,    823,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    825,    827,    829,      0,      0,    831,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	   833,      0,      0,    835,    837,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,    839,    841,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,    843,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,    845,    847,    849,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	   851,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	   853,      0,      0,      0,      0,      0,      0,    855,
-	   857,      0,    859,    861,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,    863,    865,    867,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,    869,      0,    871,    873,    875,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  33645,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  33647,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  33649,  33651,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  33653,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,    886,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,    888,      0,      0,
-	     0,      0,    890,      0,      0,      0,      0,    892,
-	     0,      0,      0,      0,    894,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    896,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,    898,      0,    900,    902,  33672,
-	   906,  33676,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,    910,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,    912,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,    914,      0,      0,
-	}},
-	{{
-	     0,      0,    916,      0,      0,      0,      0,    918,
-	     0,      0,      0,      0,    920,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,    922,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,    924,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  33694,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  33695,  33696,  33697,      0,
-	 33698,  33699,  33700,  33701,  33702,  33703,  33704,  33705,
-	 33706,  33707,  33708,      0,  33709,  33710,  33711,  33712,
-	}},
-	{{
-	 33713,  33714,  33715,  33716,  33717,  33718,  33719,  33720,
-	 33721,  33722,  33723,  33724,  33725,  33726,      0,  33727,
-	 33728,  33729,  33730,  33731,  33732,  33733,  33734,  33735,
-	 33736,  33737,  33738,  33739,  33740,  33741,  33742,  33743,
-	}},
-	{{
-	 33744,  33745,  33746,  33747,  33748,  33749,  33750,  33751,
-	 33752,  33753,  33754,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 33755,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  33756,  33757,  33758,  33759,  33760,
-	}},
-	{{
-	 33761,  33762,  33763,  33764,  33765,  33766,  33767,  33768,
-	 33769,  33770,  33771,  33772,  33773,  33774,  33775,  33776,
-	 33777,  33778,  33779,  33780,  33781,  33782,  33783,  33784,
-	 33785,  33786,  33787,  33788,  33789,  33790,  33791,  33792,
-	}},
-	{{
-	  1025,   1027,   1029,   1031,   1033,   1035,   1037,   1039,
-	  1041,   1043,   1045,   1047,   1049,   1051,   1053,   1055,
-	  1057,   1059,   1061,   1063,   1065,   1067,   1069,   1071,
-	  1073,   1075,   1077,   1079,   1081,   1083,   1085,   1087,
-	}},
-	{{
-	  1089,   1091,   1093,   1095,   1097,   1099,   1101,   1103,
-	  1105,   1107,   1109,   1111,   1113,   1115,   1117,   1119,
-	  1121,   1123,   1125,   1127,   1129,   1131,   1133,   1135,
-	  1137,   1139,   1141,   1143,   1145,   1147,   1149,   1151,
-	}},
-	{{
-	  1153,   1155,   1157,   1159,   1161,   1163,   1165,   1167,
-	  1169,   1171,   1173,   1175,   1177,   1179,   1181,   1183,
-	  1185,   1187,   1189,   1191,   1193,   1195,   1197,   1199,
-	  1201,   1203,   1205,   1207,   1209,   1211,   1213,   1215,
-	}},
-	{{
-	  1217,   1219,   1221,   1223,   1225,   1227,   1229,   1231,
-	  1233,   1235,   1237,   1239,   1241,   1243,   1245,   1247,
-	  1249,   1251,   1253,   1255,   1257,   1259,   1261,   1263,
-	  1265,   1267,   1269,   1271,   1273,   1275,   1277,   1279,
-	}},
-	{{
-	  1281,   1283,   1285,   1287,   1289,   1291,   1293,   1295,
-	  1297,   1299,   1301,   1303,   1305,   1307,   1309,   1311,
-	  1313,   1315,   1317,   1319,   1321,   1323,   1325,   1327,
-	  1329,   1331,  34101,   1335,      0,      0,      0,      0,
-	}},
-	{{
-	  1337,   1339,   1341,   1343,   1345,   1347,   1349,   1351,
-	  1353,   1355,   1357,   1359,   1361,   1363,   1365,   1367,
-	  1369,   1371,   1373,   1375,   1377,   1379,   1381,   1383,
-	  1385,   1387,   1389,   1391,   1393,   1395,   1397,   1399,
-	}},
-	{{
-	  1401,   1403,   1405,   1407,   1409,   1411,   1413,   1415,
-	  1417,   1419,   1421,   1423,   1425,   1427,   1429,   1431,
-	  1433,   1435,   1437,   1439,   1441,   1443,   1445,   1447,
-	  1449,   1451,   1453,   1455,   1457,   1459,   1461,   1463,
-	}},
-	{{
-	  1465,   1467,   1469,   1471,   1473,   1475,   1477,   1479,
-	  1481,   1483,   1485,   1487,   1489,   1491,   1493,   1495,
-	  1497,   1499,   1501,   1503,   1505,   1507,   1509,   1511,
-	  1513,   1515,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	  1517,   1519,   1521,   1523,   1525,   1527,   1529,   1531,
-	  1533,   1535,   1537,   1539,   1541,   1543,   1545,   1547,
-	  1549,   1551,   1553,   1555,   1557,   1559,      0,      0,
-	  1561,   1563,   1565,   1567,   1569,   1571,      0,      0,
-	}},
-	{{
-	  1573,   1575,   1577,   1579,   1581,   1583,   1585,   1587,
-	  1589,   1591,   1593,   1595,   1597,   1599,   1601,   1603,
-	  1605,   1607,   1609,   1611,   1613,   1615,   1617,   1619,
-	  1621,   1623,   1625,   1627,   1629,   1631,   1633,   1635,
-	}},
-	{{
-	  1637,   1639,   1641,   1643,   1645,   1647,      0,      0,
-	  1649,   1651,   1653,   1655,   1657,   1659,      0,      0,
-	  1661,   1663,   1665,   1667,   1669,   1671,   1673,   1675,
-	     0,   1677,      0,   1679,      0,   1681,      0,   1683,
-	}},
-	{{
-	  1685,   1687,   1689,   1691,   1693,   1695,   1697,   1699,
-	  1701,   1703,   1705,   1707,   1709,   1711,   1713,   1715,
-	  1717,   1719,   1720,   1722,   1723,   1725,   1726,   1728,
-	  1729,   1731,   1732,   1734,   1735,   1737,      0,      0,
-	}},
-	{{
-	  1738,   1740,   1742,   1744,   1746,   1748,   1750,   1752,
-	  1754,   1756,   1758,   1760,   1762,   1764,   1766,   1768,
-	  1770,   1772,   1774,   1776,   1778,   1780,   1782,   1784,
-	  1786,   1788,   1790,   1792,   1794,   1796,   1798,   1800,
-	}},
-	{{
-	  1802,   1804,   1806,   1808,   1810,   1812,   1814,   1816,
-	  1818,   1820,   1822,   1824,   1826,   1828,   1830,   1832,
-	  1834,   1836,   1838,   1840,   1842,      0,   1844,   1846,
-	  1848,   1850,   1852,   1854,   1855,  34625,   1859,  34628,
-	}},
-	{{
-	 34630,   1864,   1866,   1868,   1870,      0,   1872,   1874,
-	  1876,   1878,   1879,   1881,   1882,   1884,   1886,   1888,
-	  1890,   1892,   1894,   1896,      0,      0,   1897,   1899,
-	  1901,   1903,   1905,   1907,      0,   1908,   1910,   1912,
-	}},
-	{{
-	  1914,   1916,   1918,   1920,   1921,   1923,   1925,   1927,
-	  1929,   1931,   1933,   1935,   1936,   1938,   1940,   1941,
-	     0,      0,   1942,   1944,   1946,      0,   1948,   1950,
-	  1952,   1954,   1955,   1957,   1958,   1960,  34729,      0,
-	}},
-	{{
-	  1963,   1964,  34733,  34734,  34735,  34736,  34737,  34738,
-	 34739,  34740,  34741,      0,      0,      0,      0,      0,
-	     0,  34742,      0,      0,      0,      0,      0,  34743,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,  34745,  34746,  34748,      0,
-	     0,      0,      0,      0,      0,      0,      0,  34751,
-	     0,      0,      0,  34752,  34754,      0,  34757,  34759,
-	     0,      0,      0,      0,  34762,      0,  34764,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,  34766,
-	 34768,  34770,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,  34772,
-	     0,      0,      0,      0,      0,      0,      0,  34776,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 34777,  34778,      0,      0,  34779,  34780,  34781,  34782,
-	 34783,  34784,  34785,  34786,  34787,  34788,  34789,  34790,
-	}},
-	{{
-	 34791,  34792,  34793,  34794,  34795,  34796,  34797,  34798,
-	 34799,  34800,  34801,  34802,  34803,  34804,  34805,      0,
-	 34806,  34807,  34808,  34809,  34810,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 34811,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 34813,  34816,  34819,  34820,      0,  34822,  34825,  34828,
-	     0,  34829,  34831,  34832,  34833,  34834,  34835,  34836,
-	 34837,  34838,  34839,  34840,      0,  34841,  34842,      0,
-	     0,  34844,  34845,  34846,  34847,  34848,      0,      0,
-	}},
-	{{
-	 34849,  34851,  34854,      0,  34856,      0,   2089,      0,
-	 34858,      0,   2091,   2092,  34861,  34862,      0,  34863,
-	 34864,  34865,      0,  34866,  34867,  34868,  34869,  34870,
-	 34871,  34872,      0,  34873,  34876,  34877,  34878,  34879,
-	}},
-	{{
-	 34880,      0,      0,      0,      0,  34881,  34882,  34883,
-	 34884,  34885,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  34886,  34889,  34892,  34895,  34898,
-	 34901,  34904,  34907,  34910,  34913,  34916,  34919,  34922,
-	}},
-	{{
-	 34924,  34925,  34927,  34930,  34932,  34933,  34935,  34938,
-	 34942,  34944,  34945,  34947,  34950,  34951,  34952,  34953,
-	 34954,  34955,  34957,  34960,  34962,  34963,  34965,  34968,
-	 34972,  34974,  34975,  34977,  34980,  34981,  34982,  34983,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,   2216,   2218,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,   2220,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,   2222,   2224,   2226,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,   2228,      0,      0,      0,
-	     0,   2230,      0,      0,   2232,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,   2234,      0,   2236,      0,
-	     0,      0,      0,      0,  35006,  35008,      0,  35011,
-	 35013,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,   2248,      0,      0,   2250,      0,      0,   2252,
-	     0,   2254,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	  2256,      0,   2258,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,   2260,   2262,   2264,
-	  2266,   2268,      0,      0,   2270,   2272,      0,      0,
-	  2274,   2276,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	  2278,   2280,      0,      0,   2282,   2284,      0,      0,
-	  2286,   2288,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2290,   2292,   2294,   2296,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	  2298,   2300,   2302,   2304,      0,      0,      0,      0,
-	     0,      0,   2306,   2308,   2310,   2312,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,   2314,   2315,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 35084,  35085,  35086,  35087,  35088,  35089,  35090,  35091,
-	 35092,  35093,  35095,  35097,  35099,  35101,  35103,  35105,
-	 35107,  35109,  35111,  35113,  35115,  35118,  35121,  35124,
-	 35127,  35130,  35133,  35136,  35139,  35142,  35146,  35150,
-	}},
-	{{
-	 35154,  35158,  35162,  35166,  35170,  35174,  35178,  35182,
-	 35186,  35188,  35190,  35192,  35194,  35196,  35198,  35200,
-	 35202,  35204,  35207,  35210,  35213,  35216,  35219,  35222,
-	 35225,  35228,  35231,  35234,  35237,  35240,  35243,  35246,
-	}},
-	{{
-	 35249,  35252,  35255,  35258,  35261,  35264,  35267,  35270,
-	 35273,  35276,  35279,  35282,  35285,  35288,  35291,  35294,
-	 35297,  35300,  35303,  35306,  35309,  35312,  35315,  35316,
-	 35317,  35318,  35319,  35320,  35321,  35322,  35323,  35324,
-	}},
-	{{
-	 35325,  35326,  35327,  35328,  35329,  35330,  35331,  35332,
-	 35333,  35334,  35335,  35336,  35337,  35338,  35339,  35340,
-	 35341,  35342,  35343,  35344,  35345,  35346,  35347,  35348,
-	 35349,  35350,  35351,  35352,  35353,  35354,  35355,  35356,
-	}},
-	{{
-	 35357,  35358,  35359,  35360,  35361,  35362,  35363,  35364,
-	 35365,  35366,  35367,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  35368,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,  35372,  35375,  35377,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2612,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,  35382,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,  35383,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  35384,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 35385,  35386,  35387,  35388,  35389,  35390,  35391,  35392,
-	 35393,  35394,  35395,  35396,  35397,  35398,  35399,  35400,
-	 35401,  35402,  35403,  35404,  35405,  35406,  35407,  35408,
-	 35409,  35410,  35411,  35412,  35413,  35414,  35415,  35416,
-	}},
-	{{
-	 35417,  35418,  35419,  35420,  35421,  35422,  35423,  35424,
-	 35425,  35426,  35427,  35428,  35429,  35430,  35431,  35432,
-	 35433,  35434,  35435,  35436,  35437,  35438,  35439,  35440,
-	 35441,  35442,  35443,  35444,  35445,  35446,  35447,  35448,
-	}},
-	{{
-	 35449,  35450,  35451,  35452,  35453,  35454,  35455,  35456,
-	 35457,  35458,  35459,  35460,  35461,  35462,  35463,  35464,
-	 35465,  35466,  35467,  35468,  35469,  35470,  35471,  35472,
-	 35473,  35474,  35475,  35476,  35477,  35478,  35479,  35480,
-	}},
-	{{
-	 35481,  35482,  35483,  35484,  35485,  35486,  35487,  35488,
-	 35489,  35490,  35491,  35492,  35493,  35494,  35495,  35496,
-	 35497,  35498,  35499,  35500,  35501,  35502,  35503,  35504,
-	 35505,  35506,  35507,  35508,  35509,  35510,  35511,  35512,
-	}},
-	{{
-	 35513,  35514,  35515,  35516,  35517,  35518,  35519,  35520,
-	 35521,  35522,  35523,  35524,  35525,  35526,  35527,  35528,
-	 35529,  35530,  35531,  35532,  35533,  35534,  35535,  35536,
-	 35537,  35538,  35539,  35540,  35541,  35542,  35543,  35544,
-	}},
-	{{
-	 35545,  35546,  35547,  35548,  35549,  35550,  35551,  35552,
-	 35553,  35554,  35555,  35556,  35557,  35558,  35559,  35560,
-	 35561,  35562,  35563,  35564,  35565,  35566,  35567,  35568,
-	 35569,  35570,  35571,  35572,  35573,  35574,  35575,  35576,
-	}},
-	{{
-	 35577,  35578,  35579,  35580,  35581,  35582,  35583,  35584,
-	 35585,  35586,  35587,  35588,  35589,  35590,  35591,  35592,
-	 35593,  35594,  35595,  35596,  35597,  35598,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 35599,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,  35600,      0,
-	 35601,  35602,  35603,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2836,      0,   2838,      0,
-	  2840,      0,   2842,      0,   2844,      0,   2846,      0,
-	  2848,      0,   2850,      0,   2852,      0,   2854,      0,
-	}},
-	{{
-	  2856,      0,   2858,      0,      0,   2860,      0,   2862,
-	     0,   2864,      0,      0,      0,      0,      0,      0,
-	  2866,   2868,      0,   2870,   2872,      0,   2874,   2876,
-	     0,   2878,   2880,      0,   2882,   2884,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2886,      0,      0,      0,
-	     0,      0,      0,  35656,  35658,      0,   2892,  35662,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2896,      0,   2898,      0,
-	  2900,      0,   2902,      0,   2904,      0,   2906,      0,
-	  2908,      0,   2910,      0,   2912,      0,   2914,      0,
-	}},
-	{{
-	  2916,      0,   2918,      0,      0,   2920,      0,   2922,
-	     0,   2924,      0,      0,      0,      0,      0,      0,
-	  2926,   2928,      0,   2930,   2932,      0,   2934,   2936,
-	     0,   2938,   2940,      0,   2942,   2944,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,   2946,      0,      0,   2948,
-	  2950,   2952,   2954,      0,      0,      0,   2956,  35726,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,  35728,  35729,  35730,  35731,  35732,  35733,  35734,
-	 35735,  35736,  35737,  35738,  35739,  35740,  35741,  35742,
-	}},
-	{{
-	 35743,  35744,  35745,  35746,  35747,  35748,  35749,  35750,
-	 35751,  35752,  35753,  35754,  35755,  35756,  35757,  35758,
-	 35759,  35760,  35761,  35762,  35763,  35764,  35765,  35766,
-	 35767,  35768,  35769,  35770,  35771,  35772,  35773,  35774,
-	}},
-	{{
-	 35775,  35776,  35777,  35778,  35779,  35780,  35781,  35782,
-	 35783,  35784,  35785,  35786,  35787,  35788,  35789,  35790,
-	 35791,  35792,  35793,  35794,  35795,  35796,  35797,  35798,
-	 35799,  35800,  35801,  35802,  35803,  35804,  35805,  35806,
-	}},
-	{{
-	 35807,  35808,  35809,  35810,  35811,  35812,  35813,  35814,
-	 35815,  35816,  35817,  35818,  35819,  35820,  35821,      0,
-	     0,      0,  35822,  35823,  35824,  35825,  35826,  35827,
-	 35828,  35829,  35830,  35831,  35832,  35833,  35834,  35835,
-	}},
-	{{
-	 35836,  35839,  35842,  35845,  35848,  35851,  35854,  35857,
-	 35860,  35863,  35866,  35869,  35872,  35875,  35878,  35882,
-	 35886,  35890,  35894,  35898,  35902,  35906,  35910,  35914,
-	 35918,  35922,  35926,  35930,  35934,  35938,  35945,      0,
-	}},
-	{{
-	 35951,  35954,  35957,  35960,  35963,  35966,  35969,  35972,
-	 35975,  35978,  35981,  35984,  35987,  35990,  35993,  35996,
-	 35999,  36002,  36005,  36008,  36011,  36014,  36017,  36020,
-	 36023,  36026,  36029,  36032,  36035,  36038,  36041,  36044,
-	}},
-	{{
-	 36047,  36050,  36053,  36056,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 36059,  36062,  36064,  36066,  36068,  36070,  36072,  36074,
-	 36076,  36078,  36080,  36082,  36084,  36086,  36088,  36090,
-	}},
-	{{
-	 36092,  36093,  36094,  36095,  36096,  36097,  36098,  36099,
-	 36100,  36101,  36102,  36103,  36104,  36105,  36106,  36108,
-	 36110,  36112,  36114,  36116,  36118,  36120,  36122,  36124,
-	 36126,  36128,  36130,  36132,  36134,  36139,  36143,      0,
-	}},
-	{{
-	 36145,  36146,  36147,  36148,  36149,  36150,  36151,  36152,
-	 36153,  36154,  36155,  36156,  36157,  36158,  36159,  36160,
-	 36161,  36162,  36163,  36164,  36165,  36166,  36167,  36168,
-	 36169,  36170,  36171,  36172,  36173,  36174,  36175,  36176,
-	}},
-	{{
-	 36177,  36178,  36179,  36180,  36181,  36182,  36183,  36184,
-	 36185,  36186,  36187,  36188,  36189,  36190,  36191,  36192,
-	 36193,  36194,  36196,  36198,  36200,  36202,  36204,  36206,
-	 36208,  36210,  36212,  36214,  36216,  36218,  36220,  36222,
-	}},
-	{{
-	 36224,  36226,  36228,  36230,  36232,  36234,  36236,  36238,
-	 36240,  36242,  36245,  36248,  36251,  36253,  36256,  36258,
-	 36261,  36262,  36263,  36264,  36265,  36266,  36267,  36268,
-	 36269,  36270,  36271,  36272,  36273,  36274,  36275,  36276,
-	}},
-	{{
-	 36277,  36278,  36279,  36280,  36281,  36282,  36283,  36284,
-	 36285,  36286,  36287,  36288,  36289,  36290,  36291,  36292,
-	 36293,  36294,  36295,  36296,  36297,  36298,  36299,  36300,
-	 36301,  36302,  36303,  36304,  36305,  36306,  36307,      0,
-	}},
-	{{
-	 36308,  36312,  36316,  36320,  36323,  36327,  36330,  36333,
-	 36338,  36342,  36345,  36348,  36351,  36355,  36359,  36362,
-	 36365,  36367,  36370,  36374,  36378,  36380,  36385,  36391,
-	 36396,  36399,  36404,  36409,  36413,  36416,  36419,  36422,
-	}},
-	{{
-	 36426,  36431,  36435,  36438,  36441,  36444,  36446,  36448,
-	 36450,  36452,  36455,  36458,  36463,  36466,  36470,  36475,
-	 36478,  36480,  36482,  36487,  36491,  36496,  36499,  36504,
-	 36506,  36509,  36512,  36515,  36518,  36521,  36525,  36528,
-	}},
-	{{
-	 36530,  36533,  36536,  36539,  36543,  36546,  36549,  36552,
-	 36557,  36561,  36563,  36568,  36570,  36574,  36578,  36581,
-	 36584,  36587,  36591,  36593,  36596,  36600,  36602,  36607,
-	 36610,  36612,  36614,  36616,  36618,  36620,  36622,  36624,
-	}},
-	{{
-	 36626,  36628,  36630,  36633,  36636,  36639,  36642,  36645,
-	 36648,  36651,  36654,  36657,  36660,  36663,  36666,  36669,
-	 36672,  36675,  36678,  36680,  36682,  36685,  36687,  36689,
-	 36691,  36694,  36697,  36699,  36701,  36703,  36705,  36707,
-	}},
-	{{
-	 36711,  36713,  36715,  36717,  36719,  36721,  36723,  36725,
-	 36727,  36730,  36734,  36736,  36738,  36740,  36742,  36744,
-	 36746,  36748,  36751,  36754,  36757,  36760,  36762,  36764,
-	 36766,  36768,  36770,  36772,  36774,  36776,  36778,  36780,
-	}},
-	{{
-	 36783,  36786,  36788,  36791,  36794,  36797,  36799,  36802,
-	 36805,  36809,  36811,  36814,  36817,  36820,  36823,  36828,
-	 36834,  36836,  36838,  36840,  36842,  36844,  36846,  36848,
-	 36850,  36852,  36854,  36856,  36858,  36860,  36862,  36864,
-	}},
-	{{
-	 36866,  36868,  36870,  36874,  36876,  36878,  36880,  36884,
-	 36887,  36889,  36891,  36893,  36895,  36897,  36899,  36901,
-	 36903,  36905,  36907,  36910,  36912,  36914,  36917,  36920,
-	 36922,  36926,  36929,  36931,  36933,  36935,  36937,  36940,
-	}},
-	{{
-	 36943,  36945,  36947,  36949,  36951,  36953,  36955,  36957,
-	 36959,  36961,  36964,  36967,  36970,  36973,  36976,  36979,
-	 36982,  36985,  36988,  36991,  36994,  36997,  37000,  37003,
-	 37006,  37009,  37012,  37015,  37018,  37021,  37024,  37027,
-	}},
-	{{
-	  4262,   4263,   4264,   4265,   4266,   4267,   4268,   4269,
-	  4270,   4271,   4272,   4273,   4274,   4275,   4276,   4277,
-	  4278,   4279,   4280,   4281,   4282,   4283,   4284,   4285,
-	  4286,   4287,   4288,   4289,   4290,   4291,   4292,   4293,
-	}},
-	{{
-	  4294,   4295,   4296,   4297,   4298,   4299,   4300,   4301,
-	  4302,   4303,   4304,   4305,   4306,   4307,   4308,   4309,
-	  4310,   4311,   4312,   4313,   4314,   4315,   4316,   4317,
-	  4318,   4319,   4320,   4321,   4322,   4323,   4324,   4325,
-	}},
-	{{
-	  4326,   4327,   4328,   4329,   4330,   4331,   4332,   4333,
-	  4334,   4335,   4336,   4337,   4338,   4339,   4340,   4341,
-	  4342,   4343,   4344,   4345,   4346,   4347,   4348,   4349,
-	  4350,   4351,   4352,   4353,   4354,   4355,   4356,   4357,
-	}},
-	{{
-	  4358,   4359,   4360,   4361,   4362,   4363,   4364,   4365,
-	  4366,   4367,   4368,   4369,   4370,   4371,   4372,   4373,
-	  4374,   4375,   4376,   4377,   4378,   4379,   4380,   4381,
-	  4382,   4383,   4384,   4385,   4386,   4387,   4388,   4389,
-	}},
-	{{
-	  4390,   4391,   4392,   4393,   4394,   4395,   4396,   4397,
-	  4398,   4399,   4400,   4401,   4402,   4403,   4404,   4405,
-	  4406,   4407,   4408,   4409,   4410,   4411,   4412,   4413,
-	  4414,   4415,   4416,   4417,   4418,   4419,   4420,   4421,
-	}},
-	{{
-	  4422,   4423,   4424,   4425,   4426,   4427,   4428,   4429,
-	  4430,   4431,   4432,   4433,   4434,   4435,   4436,   4437,
-	  4438,   4439,   4440,   4441,   4442,   4443,   4444,   4445,
-	  4446,   4447,   4448,   4449,   4450,   4451,   4452,   4453,
-	}},
-	{{
-	  4454,   4455,   4456,   4457,   4458,   4459,   4460,   4461,
-	  4462,   4463,   4464,   4465,   4466,   4467,   4468,   4469,
-	  4470,   4471,   4472,   4473,   4474,   4475,   4476,   4477,
-	  4478,   4479,   4480,   4481,   4482,   4483,   4484,   4485,
-	}},
-	{{
-	  4486,   4487,   4488,   4489,   4490,   4491,   4492,   4493,
-	  4494,   4495,   4496,   4497,   4498,   4499,   4500,   4501,
-	  4502,   4503,   4504,   4505,   4506,   4507,   4508,   4509,
-	  4510,   4511,   4512,   4513,   4514,   4515,   4516,   4517,
-	}},
-	{{
-	  4518,   4519,   4520,   4521,   4522,   4523,   4524,   4525,
-	  4526,   4527,   4528,   4529,   4530,   4531,      0,      0,
-	  4532,      0,   4533,      0,      0,   4534,   4535,   4536,
-	  4537,   4538,   4539,   4540,   4541,   4542,   4543,      0,
-	}},
-	{{
-	  4544,      0,   4545,      0,      0,   4546,   4547,      0,
-	     0,      0,   4548,   4549,   4550,   4551,      0,      0,
-	  4552,   4553,   4554,   4555,   4556,   4557,   4558,   4559,
-	  4560,   4561,   4562,   4563,   4564,   4565,   4566,   4567,
-	}},
-	{{
-	  4568,   4569,   4570,   4571,   4572,   4573,   4574,   4575,
-	  4576,   4577,   4578,   4579,   4580,   4581,   4582,   4583,
-	  4584,   4585,   4586,   4587,   4588,   4589,   4590,   4591,
-	  4592,   4593,   4594,   4595,   4596,   4597,   4598,   4599,
-	}},
-	{{
-	  4600,   4601,   4602,   4603,   4604,   4605,   4606,   4607,
-	  4608,   4609,   4610,      0,      0,      0,      0,      0,
-	  4611,   4612,   4613,   4614,   4615,   4616,   4617,   4618,
-	  4619,   4620,   4621,   4622,   4623,   4624,   4625,   4626,
-	}},
-	{{
-	  4627,   4628,   4629,   4630,   4631,   4632,   4633,   4634,
-	  4635,   4636,   4637,   4638,   4639,   4640,   4641,   4642,
-	  4643,   4644,   4645,   4646,   4647,   4648,   4649,   4650,
-	  4651,   4652,   4653,   4654,   4655,   4656,   4657,   4658,
-	}},
-	{{
-	  4659,   4660,   4661,   4662,   4663,   4664,   4665,   4666,
-	  4667,   4668,   4669,   4670,   4671,   4672,   4673,   4674,
-	  4675,   4676,   4677,   4678,   4679,   4680,   4681,   4682,
-	  4683,   4684,   4685,   4686,   4687,   4688,   4689,   4690,
-	}},
-	{{
-	  4691,   4692,   4693,   4694,   4695,   4696,   4697,   4698,
-	  4699,   4700,   4701,   4702,   4703,   4704,   4705,   4706,
-	  4707,   4708,   4709,   4710,   4711,   4712,   4713,   4714,
-	  4715,   4716,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 37485,  37487,  37489,  37491,  37494,  37497,  37499,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  37501,  37503,  37505,  37507,  37509,
-	     0,      0,      0,      0,      0,   4743,      0,   4745,
-	}},
-	{{
-	 37515,  37516,  37517,  37518,  37519,  37520,  37521,  37522,
-	 37523,  37524,   4757,   4759,   4761,   4763,   4765,   4767,
-	  4769,   4771,   4773,   4775,   4777,   4779,   4781,      0,
-	  4783,   4785,   4787,   4789,   4791,      0,   4793,      0,
-	}},
-	{{
-	  4795,   4797,      0,   4799,   4801,      0,   4803,   4805,
-	  4807,   4809,   4811,   4813,   4815,   4817,   4819,  37589,
-	 37591,  37592,  37593,  37594,  37595,  37596,  37597,  37598,
-	 37599,  37600,  37601,  37602,  37603,  37604,  37605,  37606,
-	}},
-	{{
-	 37607,  37608,  37609,  37610,  37611,  37612,  37613,  37614,
-	 37615,  37616,  37617,  37618,  37619,  37620,  37621,  37622,
-	 37623,  37624,  37625,  37626,  37627,  37628,  37629,  37630,
-	 37631,  37632,  37633,  37634,  37635,  37636,  37637,  37638,
-	}},
-	{{
-	 37639,  37640,  37641,  37642,  37643,  37644,  37645,  37646,
-	 37647,  37648,  37649,  37650,  37651,  37652,  37653,  37654,
-	 37655,  37656,  37657,  37658,  37659,  37660,  37661,  37662,
-	 37663,  37664,  37665,  37666,  37667,  37668,  37669,  37670,
-	}},
-	{{
-	 37671,  37672,  37673,  37674,  37675,  37676,  37677,  37678,
-	 37679,  37680,  37681,  37682,  37683,  37684,  37685,  37686,
-	 37687,  37688,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,  37689,  37690,  37691,  37692,  37693,
-	 37694,  37695,  37696,  37697,  37698,  37699,  37700,  37701,
-	}},
-	{{
-	 37702,  37703,  37704,  37705,  37706,  37707,  37708,  37709,
-	 37710,  37711,  37712,  37714,  37716,  37718,  37720,  37722,
-	 37724,  37726,  37728,  37730,  37732,  37734,  37736,  37738,
-	 37740,  37742,  37744,  37746,  37748,  37749,  37750,  37751,
-	}},
-	{{
-	 37752,  37754,  37756,  37758,  37760,  37762,  37764,  37766,
-	 37768,  37770,  37772,  37774,  37776,  37778,  37780,  37782,
-	 37784,  37786,  37788,  37790,  37792,  37794,  37796,  37798,
-	 37800,  37802,  37804,  37806,  37808,  37810,  37812,  37814,
-	}},
-	{{
-	 37816,  37818,  37820,  37822,  37824,  37826,  37828,  37830,
-	 37832,  37834,  37836,  37838,  37840,  37842,  37844,  37846,
-	 37848,  37850,  37852,  37854,  37856,  37858,  37860,  37862,
-	 37864,  37866,  37868,  37870,  37872,  37874,  37876,  37878,
-	}},
-	{{
-	 37880,  37882,  37884,  37886,  37888,  37890,  37892,  37894,
-	 37896,  37898,  37900,  37902,  37904,  37906,  37908,  37910,
-	 37912,  37914,  37916,  37918,  37920,  37922,  37924,  37926,
-	 37928,  37930,  37932,  37934,  37936,  37938,  37940,  37943,
-	}},
-	{{
-	 37946,  37949,  37952,  37955,  37958,  37960,  37962,  37964,
-	 37966,  37968,  37970,  37972,  37974,  37976,  37978,  37980,
-	 37982,  37984,  37986,  37988,  37990,  37992,  37994,  37996,
-	 37998,  38000,  38002,  38004,  38006,  38008,  38010,  38012,
-	}},
-	{{
-	 38014,  38016,  38018,  38020,  38022,  38024,  38026,  38028,
-	 38030,  38032,  38034,  38036,  38038,  38040,  38042,  38044,
-	 38046,  38048,  38050,  38052,  38054,  38056,  38058,  38060,
-	 38062,  38064,  38066,  38068,  38070,  38072,  38074,  38076,
-	}},
-	{{
-	 38078,  38080,  38082,  38084,  38086,  38088,  38090,  38092,
-	 38094,  38096,  38098,  38100,  38102,  38104,  38106,  38108,
-	 38110,  38112,  38114,  38116,  38118,  38120,  38122,  38124,
-	 38126,  38128,  38130,  38132,  38134,  38136,  38138,  38140,
-	}},
-	{{
-	 38142,  38144,  38146,  38148,  38150,  38152,  38154,  38156,
-	 38158,  38160,  38162,  38164,  38166,  38168,  38170,  38172,
-	 38174,  38176,  38178,  38180,  38182,  38184,  38186,  38188,
-	 38190,  38192,  38194,  38196,  38198,  38200,  38202,  38204,
-	}},
-	{{
-	 38206,  38208,  38210,  38212,  38214,  38216,  38218,  38220,
-	 38222,  38224,  38226,  38228,  38230,  38232,  38234,  38236,
-	 38238,  38240,  38242,  38245,  38248,  38251,  38253,  38255,
-	 38257,  38259,  38261,  38263,  38265,  38267,  38269,  38271,
-	}},
-	{{
-	 38273,  38275,  38277,  38279,  38281,  38283,  38285,  38287,
-	 38289,  38291,  38293,  38295,  38297,  38299,  38301,  38303,
-	 38305,  38307,  38309,  38311,  38313,  38315,  38317,  38319,
-	 38321,  38323,  38325,  38327,  38329,  38331,  38333,  38335,
-	}},
-	{{
-	 38337,  38339,  38341,  38343,  38345,  38347,  38349,  38351,
-	 38353,  38355,  38357,  38359,  38361,  38363,  38365,  38367,
-	 38369,  38371,  38373,  38375,  38377,  38379,  38381,  38383,
-	 38385,  38387,  38389,  38391,  38393,  38395,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 38397,  38400,  38403,  38406,  38409,  38412,  38415,  38418,
-	 38421,  38424,  38427,  38430,  38433,  38436,  38439,  38442,
-	}},
-	{{
-	 38445,  38448,  38451,  38454,  38457,  38460,  38463,  38466,
-	 38469,  38472,  38475,  38478,  38481,  38484,  38487,  38490,
-	 38493,  38496,  38499,  38502,  38505,  38508,  38511,  38514,
-	 38517,  38520,  38523,  38526,  38529,  38532,  38535,  38538,
-	}},
-	{{
-	 38541,  38544,  38547,  38550,  38553,  38556,  38559,  38562,
-	 38565,  38568,  38571,  38574,  38577,  38580,  38583,  38586,
-	     0,      0,  38589,  38592,  38595,  38598,  38601,  38604,
-	 38607,  38610,  38613,  38616,  38619,  38622,  38625,  38628,
-	}},
-	{{
-	 38631,  38634,  38637,  38640,  38643,  38646,  38649,  38652,
-	 38655,  38658,  38661,  38664,  38667,  38670,  38673,  38676,
-	 38679,  38682,  38685,  38688,  38691,  38694,  38697,  38700,
-	 38703,  38706,  38709,  38712,  38715,  38718,  38721,  38724,
-	}},
-	{{
-	 38727,  38730,  38733,  38736,  38739,  38742,  38745,  38748,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 38751,  38754,  38757,  38761,  38765,  38769,  38773,  38777,
-	 38781,  38785,  38788,  38806,  38814,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 38818,  38819,  38820,  38821,  38822,  38823,  38824,  38825,
-	 38826,  38827,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	 38828,  38829,  38830,  38831,  38832,  38833,  38834,  38835,
-	 38836,  38837,  38838,  38839,  38840,  38841,  38842,  38843,
-	}},
-	{{
-	 38844,  38845,  38846,  38847,  38848,      0,      0,  38849,
-	 38850,  38851,  38852,  38853,  38854,  38855,  38856,  38857,
-	 38858,  38859,  38860,      0,  38861,  38862,  38863,  38864,
-	 38865,  38866,  38867,  38868,  38869,  38870,  38871,  38872,
-	}},
-	{{
-	 38873,  38874,  38875,  38876,  38877,  38878,  38879,      0,
-	 38880,  38881,  38882,  38883,      0,      0,      0,      0,
-	 38884,  38886,  38888,      0,  38890,      0,  38892,  38894,
-	 38896,  38898,  38900,  38902,  38904,  38906,  38908,  38910,
-	}},
-	{{
-	 38912,  38913,  38914,  38915,  38916,  38917,  38918,  38919,
-	 38920,  38921,  38922,  38923,  38924,  38925,  38926,  38927,
-	 38928,  38929,  38930,  38931,  38932,  38933,  38934,  38935,
-	 38936,  38937,  38938,  38939,  38940,  38941,  38942,  38943,
-	}},
-	{{
-	 38944,  38945,  38946,  38947,  38948,  38949,  38950,  38951,
-	 38952,  38953,  38954,  38955,  38956,  38957,  38958,  38959,
-	 38960,  38961,  38962,  38963,  38964,  38965,  38966,  38967,
-	 38968,  38969,  38970,  38971,  38972,  38973,  38974,  38975,
-	}},
-	{{
-	 38976,  38977,  38978,  38979,  38980,  38981,  38982,  38983,
-	 38984,  38985,  38986,  38987,  38988,  38989,  38990,  38991,
-	 38992,  38993,  38994,  38995,  38996,  38997,  38998,  38999,
-	 39000,  39001,  39002,  39003,  39004,  39005,  39006,  39007,
-	}},
-	{{
-	 39008,  39009,  39010,  39011,  39012,  39013,  39014,  39015,
-	 39016,  39017,  39018,  39019,  39020,  39021,  39022,  39023,
-	 39024,  39025,  39026,  39027,  39028,  39029,  39031,  39033,
-	 39035,  39037,  39039,  39041,  39043,      0,      0,      0,
-	}},
-	{{
-	     0,  39045,  39046,  39047,  39048,  39049,  39050,  39051,
-	 39052,  39053,  39054,  39055,  39056,  39057,  39058,  39059,
-	 39060,  39061,  39062,  39063,  39064,  39065,  39066,  39067,
-	 39068,  39069,  39070,  39071,  39072,  39073,  39074,  39075,
-	}},
-	{{
-	 39076,  39077,  39078,  39079,  39080,  39081,  39082,  39083,
-	 39084,  39085,  39086,  39087,  39088,  39089,  39090,  39091,
-	 39092,  39093,  39094,  39095,  39096,  39097,  39098,  39099,
-	 39100,  39101,  39102,  39103,  39104,  39105,  39106,  39107,
-	}},
-	{{
-	 39108,  39109,  39110,  39111,  39112,  39113,  39114,  39115,
-	 39116,  39117,  39118,  39119,  39120,  39121,  39122,  39123,
-	 39124,  39125,  39126,  39127,  39128,  39129,  39130,  39131,
-	 39132,  39133,  39134,  39135,  39136,  39137,  39138,  39139,
-	}},
-	{{
-	 39140,  39141,  39142,  39143,  39144,  39145,  39146,  39147,
-	 39148,  39149,  39150,  39151,  39152,  39153,  39154,  39155,
-	 39156,  39157,  39158,  39159,  39160,  39161,  39162,  39163,
-	 39164,  39165,  39166,  39167,  39168,  39169,  39170,  39171,
-	}},
-	{{
-	 39172,  39173,  39174,  39175,  39176,  39177,  39178,  39179,
-	 39180,  39181,  39182,  39183,  39184,  39185,  39186,  39187,
-	 39188,  39189,  39190,  39191,  39192,  39193,  39194,  39195,
-	 39196,  39197,  39198,  39199,  39200,  39201,  39202,  39203,
-	}},
-	{{
-	 39204,  39205,  39206,  39207,  39208,  39209,  39210,  39211,
-	 39212,  39213,  39214,  39215,  39216,  39217,  39218,  39219,
-	 39220,  39221,  39222,  39223,  39224,  39225,  39226,  39227,
-	 39228,  39229,  39230,  39231,  39232,  39233,  39234,      0,
-	}},
-	{{
-	     0,      0,  39235,  39236,  39237,  39238,  39239,  39240,
-	     0,      0,  39241,  39242,  39243,  39244,  39245,  39246,
-	     0,      0,  39247,  39248,  39249,  39250,  39251,  39252,
-	     0,      0,  39253,  39254,  39255,      0,      0,      0,
-	}},
-	{{
-	 39256,  39257,  39258,  39259,  39260,  39261,  39262,      0,
-	 39263,  39264,  39265,  39266,  39267,  39268,  39269,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,   6502,   6504,
-	}},
-	{{
-	  6506,   6508,   6510,   6512,   6514,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,   6516,   6518,   6520,   6522,   6524,
-	}},
-	{{
-	  6526,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	     0,      0,      0,      0,      0,      0,      0,      0,
-	}},
-	{{
-	 39296,  39297,  39298,  39299,  39300,  39301,  39302,  39303,
-	 39304,  39305,  39306,  39307,  39308,  39309,  39310,  39311,
-	 39312,  39313,  39314,  39315,  39316,  39317,  39318,  39319,
-	 39320,  39321,  39322,  39323,  39324,  39325,  39326,  39327,
-	}},
-	{{
-	 39328,  39329,  39330,  39331,  39332,  39333,  39334,  39335,
-	 39336,  39337,  39338,  39339,  39340,  39341,  39342,  39343,
-	 39344,  39345,  39346,  39347,  39348,  39349,  39350,  39351,
-	 39352,  39353,  39354,  39355,  39356,  39357,  39358,  39359,
-	}},
-	{{
-	 39360,  39361,  39362,  39363,  39364,  39365,  39366,  39367,
-	 39368,  39369,  39370,  39371,  39372,  39373,  39374,  39375,
-	 39376,  39377,  39378,  39379,  39380,      0,  39381,  39382,
-	 39383,  39384,  39385,  39386,  39387,  39388,  39389,  39390,
-	}},
-	{{
-	 39391,  39392,  39393,  39394,  39395,  39396,  39397,  39398,
-	 39399,  39400,  39401,  39402,  39403,  39404,  39405,  39406,
-	 39407,  39408,  39409,  39410,  39411,  39412,  39413,  39414,
-	 39415,  39416,  39417,  39418,  39419,  39420,  39421,  39422,
-	}},
-	{{
-	 39423,  39424,  39425,  39426,  39427,  39428,  39429,  39430,
-	 39431,  39432,  39433,  39434,  39435,  39436,  39437,  39438,
-	 39439,  39440,  39441,  39442,  39443,  39444,  39445,  39446,
-	 39447,  39448,  39449,  39450,  39451,      0,  39452,  39453,
-	}},
-	{{
-	     0,      0,  39454,      0,      0,  39455,  39456,      0,
-	     0,  39457,  39458,  39459,  39460,      0,  39461,  39462,
-	 39463,  39464,  39465,  39466,  39467,  39468,  39469,  39470,
-	 39471,  39472,      0,  39473,      0,  39474,  39475,  39476,
-	}},
-	{{
-	 39477,  39478,  39479,  39480,      0,  39481,  39482,  39483,
-	 39484,  39485,  39486,  39487,  39488,  39489,  39490,  39491,
-	 39492,  39493,  39494,  39495,  39496,  39497,  39498,  39499,
-	 39500,  39501,  39502,  39503,  39504,  39505,  39506,  39507,
-	}},
-	{{
-	 39508,  39509,  39510,  39511,  39512,  39513,  39514,  39515,
-	 39516,  39517,  39518,  39519,  39520,  39521,  39522,  39523,
-	 39524,  39525,  39526,  39527,  39528,  39529,  39530,  39531,
-	 39532,  39533,  39534,  39535,  39536,  39537,  39538,  39539,
-	}},
-	{{
-	 39540,  39541,  39542,  39543,  39544,  39545,      0,  39546,
-	 39547,  39548,  39549,      0,      0,  39550,  39551,  39552,
-	 39553,  39554,  39555,  39556,  39557,      0,  39558,  39559,
-	 39560,  39561,  39562,  39563,  39564,      0,  39565,  39566,
-	}},
-	{{
-	 39567,  39568,  39569,  39570,  39571,  39572,  39573,  39574,
-	 39575,  39576,  39577,  39578,  39579,  39580,  39581,  39582,
-	 39583,  39584,  39585,  39586,  39587,  39588,  39589,  39590,
-	 39591,  39592,      0,  39593,  39594,  39595,  39596,      0,
-	}},
-	{{
-	 39597,  39598,  39599,  39600,  39601,      0,  39602,      0,
-	     0,      0,  39603,  39604,  39605,  39606,  39607,  39608,
-	 39609,      0,  39610,  39611,  39612,  39613,  39614,  39615,
-	 39616,  39617,  39618,  39619,  39620,  39621,  39622,  39623,
-	}},
-	{{
-	 39624,  39625,  39626,  39627,  39628,  39629,  39630,  39631,
-	 39632,  39633,  39634,  39635,  39636,  39637,  39638,  39639,
-	 39640,  39641,  39642,  39643,  39644,  39645,  39646,  39647,
-	 39648,  39649,  39650,  39651,  39652,  39653,  39654,  39655,
-	}},
-	{{
-	 39656,  39657,  39658,  39659,  39660,  39661,  39662,  39663,
-	 39664,  39665,  39666,  39667,  39668,  39669,  39670,  39671,
-	 39672,  39673,  39674,  39675,  39676,  39677,  39678,  39679,
-	 39680,  39681,  39682,  39683,  39684,  39685,  39686,  39687,
-	}},
-	{{
-	 39688,  39689,  39690,  39691,  39692,  39693,  39694,  39695,
-	 39696,  39697,  39698,  39699,  39700,  39701,  39702,  39703,
-	 39704,  39705,  39706,  39707,  39708,  39709,  39710,  39711,
-	 39712,  39713,  39714,  39715,  39716,  39717,  39718,  39719,
-	}},
-	{{
-	 39720,  39721,  39722,  39723,  39724,  39725,  39726,  39727,
-	 39728,  39729,  39730,  39731,  39732,  39733,  39734,  39735,
-	 39736,  39737,  39738,  39739,  39740,  39741,  39742,  39743,
-	 39744,  39745,  39746,  39747,  39748,  39749,  39750,  39751,
-	}},
-	{{
-	 39752,  39753,  39754,  39755,  39756,  39757,  39758,  39759,
-	 39760,  39761,  39762,  39763,  39764,  39765,  39766,  39767,
-	 39768,  39769,  39770,  39771,  39772,  39773,  39774,  39775,
-	 39776,  39777,  39778,  39779,  39780,  39781,  39782,  39783,
-	}},
-	{{
-	 39784,  39785,  39786,  39787,  39788,  39789,  39790,  39791,
-	 39792,  39793,  39794,  39795,  39796,  39797,  39798,  39799,
-	 39800,  39801,  39802,  39803,  39804,  39805,  39806,  39807,
-	 39808,  39809,  39810,  39811,  39812,  39813,  39814,  39815,
-	}},
-	{{
-	 39816,  39817,  39818,  39819,  39820,  39821,  39822,  39823,
-	 39824,  39825,  39826,  39827,  39828,  39829,  39830,  39831,
-	 39832,  39833,  39834,  39835,  39836,  39837,  39838,  39839,
-	 39840,  39841,  39842,  39843,  39844,  39845,  39846,  39847,
-	}},
-	{{
-	 39848,  39849,  39850,  39851,  39852,  39853,  39854,  39855,
-	 39856,  39857,  39858,  39859,  39860,  39861,  39862,  39863,
-	 39864,  39865,  39866,  39867,  39868,  39869,  39870,  39871,
-	 39872,  39873,  39874,  39875,  39876,  39877,  39878,  39879,
-	}},
-	{{
-	 39880,  39881,  39882,  39883,  39884,  39885,  39886,  39887,
-	 39888,  39889,  39890,  39891,  39892,  39893,  39894,  39895,
-	 39896,  39897,  39898,  39899,  39900,  39901,  39902,  39903,
-	 39904,  39905,  39906,  39907,  39908,  39909,  39910,  39911,
-	}},
-	{{
-	 39912,  39913,  39914,  39915,  39916,  39917,  39918,  39919,
-	 39920,  39921,  39922,  39923,  39924,  39925,  39926,  39927,
-	 39928,  39929,  39930,  39931,  39932,  39933,  39934,  39935,
-	 39936,  39937,  39938,  39939,  39940,  39941,  39942,  39943,
-	}},
-	{{
-	 39944,  39945,  39946,  39947,  39948,  39949,      0,      0,
-	 39950,  39951,  39952,  39953,  39954,  39955,  39956,  39957,
-	 39958,  39959,  39960,  39961,  39962,  39963,  39964,  39965,
-	 39966,  39967,  39968,  39969,  39970,  39971,  39972,  39973,
-	}},
-	{{
-	 39974,  39975,  39976,  39977,  39978,  39979,  39980,  39981,
-	 39982,  39983,  39984,  39985,  39986,  39987,  39988,  39989,
-	 39990,  39991,  39992,  39993,  39994,  39995,  39996,  39997,
-	 39998,  39999,  40000,  40001,  40002,  40003,  40004,  40005,
-	}},
-	{{
-	 40006,  40007,  40008,  40009,  40010,  40011,  40012,  40013,
-	 40014,  40015,  40016,  40017,  40018,  40019,  40020,  40021,
-	 40022,  40023,  40024,  40025,  40026,  40027,  40028,  40029,
-	 40030,  40031,  40032,  40033,  40034,  40035,  40036,  40037,
-	}},
-	{{
-	 40038,  40039,  40040,  40041,  40042,  40043,  40044,  40045,
-	 40046,  40047,  40048,  40049,  40050,  40051,  40052,  40053,
-	 40054,  40055,  40056,  40057,  40058,  40059,  40060,  40061,
-	 40062,  40063,  40064,  40065,  40066,  40067,  40068,  40069,
-	}},
-	{{
-	 40070,  40071,  40072,  40073,  40074,  40075,  40076,  40077,
-	 40078,  40079,  40080,  40081,  40082,  40083,  40084,  40085,
-	 40086,  40087,  40088,  40089,  40090,  40091,  40092,  40093,
-	 40094,  40095,  40096,  40097,  40098,  40099,  40100,  40101,
-	}},
-	{{
-	 40102,  40103,  40104,  40105,  40106,  40107,  40108,  40109,
-	 40110,  40111,  40112,  40113,  40114,  40115,  40116,  40117,
-	 40118,  40119,  40120,  40121,  40122,  40123,  40124,  40125,
-	 40126,  40127,  40128,  40129,  40130,  40131,  40132,  40133,
-	}},
-	{{
-	 40134,  40135,  40136,  40137,  40138,  40139,  40140,  40141,
-	 40142,  40143,  40144,  40145,  40146,  40147,  40148,  40149,
-	 40150,  40151,  40152,  40153,  40154,  40155,  40156,  40157,
-	 40158,  40159,  40160,  40161,  40162,  40163,  40164,  40165,
-	}},
-	{{
-	 40166,  40167,  40168,  40169,  40170,  40171,  40172,  40173,
-	 40174,  40175,  40176,  40177,  40178,  40179,  40180,  40181,
-	 40182,  40183,  40184,  40185,  40186,  40187,  40188,  40189,
-	 40190,  40191,  40192,  40193,  40194,  40195,  40196,  40197,
-	}},
-	{{
-	 40198,  40199,  40200,  40201,  40202,  40203,  40204,  40205,
-	 40206,  40207,  40208,  40209,  40210,  40211,  40212,  40213,
-	 40214,  40215,  40216,  40217,  40218,  40219,  40220,  40221,
-	 40222,  40223,  40224,  40225,  40226,  40227,  40228,  40229,
-	}},
-	{{
-	 40230,  40231,  40232,  40233,  40234,  40235,  40236,  40237,
-	 40238,  40239,      0,      0,      0,      0,  40240,  40241,
-	 40242,  40243,  40244,  40245,  40246,  40247,  40248,  40249,
-	 40250,  40251,  40252,  40253,  40254,  40255,  40256,  40257,
-	}},
-	{{
-	 40258,  40259,  40260,  40261,  40262,  40263,  40264,  40265,
-	 40266,  40267,  40268,  40269,  40270,  40271,  40272,  40273,
-	 40274,  40275,  40276,  40277,  40278,  40279,  40280,  40281,
-	 40282,  40283,  40284,  40285,  40286,  40287,  40288,  40289,
-	}},
-	{{
-	  7522,   7523,   7524,   7525,   7526,   7527,   7528,   7529,
-	  7530,   7531,   7532,   7533,   7534,   7535,   7536,   7537,
-	  7538,   7539,   7540,   7541,   7542,   7543,   7544,   7545,
-	  7546,   7547,   7548,   7549,   7550,   7551,   7552,   7553,
-	}},
-	{{
-	  7554,   7555,   7556,   7557,   7558,   7559,   7560,   7561,
-	  7562,   7563,   7564,   7565,   7566,   7567,   7568,   7569,
-	  7570,   7571,   7572,   7573,   7574,   7575,   7576,   7577,
-	  7578,   7579,   7580,   7581,   7582,   7583,   7584,   7585,
-	}},
-	{{
-	  7586,   7587,   7588,   7589,   7590,   7591,   7592,   7593,
-	  7594,   7595,   7596,   7597,   7598,   7599,   7600,   7601,
-	  7602,   7603,   7604,   7605,   7606,   7607,   7608,   7609,
-	  7610,   7611,   7612,   7613,   7614,   7615,   7616,   7617,
-	}},
-	{{
-	  7618,   7619,   7620,   7621,   7622,   7623,   7624,   7625,
-	  7626,   7627,   7628,   7629,   7630,   7631,   7632,   7633,
-	  7634,   7635,   7636,   7637,   7638,   7639,   7640,   7641,
-	  7642,   7643,   7644,   7645,   7646,   7647,   7648,   7649,
-	}},
-	{{
-	  7650,   7651,   7652,   7653,   7654,   7655,   7656,   7657,
-	  7658,   7659,   7660,   7661,   7662,   7663,   7664,   7665,
-	  7666,   7667,   7668,   7669,   7670,   7671,   7672,   7673,
-	  7674,   7675,   7676,   7677,   7678,   7679,   7680,   7681,
-	}},
-	{{
-	  7682,   7683,   7684,   7685,   7686,   7687,   7688,   7689,
-	  7690,   7691,   7692,   7693,   7694,   7695,   7696,   7697,
-	  7698,   7699,   7700,   7701,   7702,   7703,   7704,   7705,
-	  7706,   7707,   7708,   7709,   7710,   7711,   7712,   7713,
-	}},
-	{{
-	  7714,   7715,   7716,   7717,   7718,   7719,   7720,   7721,
-	  7722,   7723,   7724,   7725,   7726,   7727,   7728,   7729,
-	  7730,   7731,   7732,   7733,   7734,   7735,   7736,   7737,
-	  7738,   7739,   7740,   7741,   7742,   7743,   7744,   7745,
-	}},
-	{{
-	  7746,   7747,   7748,   7749,   7750,   7751,   7752,   7753,
-	  7754,   7755,   7756,   7757,   7758,   7759,   7760,   7761,
-	  7762,   7763,   7764,   7765,   7766,   7767,   7768,   7769,
-	  7770,   7771,   7772,   7773,   7774,   7775,   7776,   7777,
-	}},
-	{{
-	  7778,   7779,   7780,   7781,   7782,   7783,   7784,   7785,
-	  7786,   7787,   7788,   7789,   7790,   7791,   7792,   7793,
-	  7794,   7795,   7796,   7797,   7798,   7799,   7800,   7801,
-	  7802,   7803,   7804,   7805,   7806,   7807,   7808,   7809,
-	}},
-	{{
-	  7810,   7811,   7812,   7813,   7814,   7815,   7816,   7817,
-	  7818,   7819,   7820,   7821,   7822,   7823,   7824,   7825,
-	  7826,   7827,   7828,   7829,   7830,   7831,   7832,   7833,
-	  7834,   7835,   7836,   7837,   7838,   7839,   7840,   7841,
-	}},
-	{{
-	  7842,   7843,   7844,   7845,   7846,   7847,   7848,   7849,
-	  7850,   7851,   7852,   7853,   7854,   7855,   7856,   7857,
-	  7858,   7859,   7860,   7861,   7862,   7863,   7864,   7865,
-	  7866,   7867,   7868,   7869,   7870,   7871,   7872,   7873,
-	}},
-	{{
-	  7874,   7875,   7876,   7877,   7878,   7879,   7880,   7881,
-	  7882,   7883,   7884,   7885,   7886,   7887,   7888,   7889,
-	  7890,   7891,   7892,   7893,   7894,   7895,   7896,   7897,
-	  7898,   7899,   7900,   7901,   7902,   7903,   7904,   7905,
-	}},
-	{{
-	  7906,   7907,   7908,   7909,   7910,   7911,   7912,   7913,
-	  7914,   7915,   7916,   7917,   7918,   7919,   7920,   7921,
-	  7922,   7923,   7924,   7925,   7926,   7927,   7928,   7929,
-	  7930,   7931,   7932,   7933,   7934,   7935,   7936,   7937,
-	}},
-	{{
-	  7938,   7939,   7940,   7941,   7942,   7943,   7944,   7945,
-	  7946,   7947,   7948,   7949,   7950,   7951,   7952,   7953,
-	  7954,   7955,   7956,   7957,   7958,   7959,   7960,   7961,
-	  7962,   7963,   7964,   7965,   7966,   7967,   7968,   7969,
-	}},
-	{{
-	  7970,   7971,   7972,   7973,   7974,   7975,   7976,   7977,
-	  7978,   7979,   7980,   7981,   7982,   7983,   7984,   7985,
-	  7986,   7987,   7988,   7989,   7990,   7991,   7992,   7993,
-	  7994,   7995,   7996,   7997,   7998,   7999,   8000,   8001,
-	}},
-	{{
-	  8002,   8003,   8004,   8005,   8006,   8007,   8008,   8009,
-	  8010,   8011,   8012,   8013,   8014,   8015,   8016,   8017,
-	  8018,   8019,   8020,   8021,   8022,   8023,   8024,   8025,
-	  8026,   8027,   8028,   8029,   8030,   8031,   8032,   8033,
-	}},
-	{{
-	  8034,   8035,   8036,   8037,   8038,   8039,   8040,   8041,
-	  8042,   8043,   8044,   8045,   8046,   8047,   8048,   8049,
-	  8050,   8051,   8052,   8053,   8054,   8055,   8056,   8057,
-	  8058,   8059,   8060,   8061,   8062,   8063,      0,      0,
-	}},
-};
-static const uint32_t decompose_seq[] = {
-	0x00000000, 0x80000020, 0x00000020, 0x80000308,
-	0x80000061, 0x00000020, 0x80000304, 0x80000032,
-	0x80000033, 0x00000020, 0x80000301, 0x800003bc,
-	0x00000020, 0x80000327, 0x80000031, 0x8000006f,
-	0x00000031, 0x00002044, 0x80000034, 0x00000031,
-	0x00002044, 0x80000032, 0x00000033, 0x00002044,
-	0x80000034, 0x00000041, 0x80000300, 0x00000041,
-	0x80000301, 0x00000041, 0x80000302, 0x00000041,
-	0x80000303, 0x00000041, 0x80000308, 0x00000041,
-	0x8000030a, 0x00000043, 0x80000327, 0x00000045,
-	0x80000300, 0x00000045, 0x80000301, 0x00000045,
-	0x80000302, 0x00000045, 0x80000308, 0x00000049,
-	0x80000300, 0x00000049, 0x80000301, 0x00000049,
-	0x80000302, 0x00000049, 0x80000308, 0x0000004e,
-	0x80000303, 0x0000004f, 0x80000300, 0x0000004f,
-	0x80000301, 0x0000004f, 0x80000302, 0x0000004f,
-	0x80000303, 0x0000004f, 0x80000308, 0x00000055,
-	0x80000300, 0x00000055, 0x80000301, 0x00000055,
-	0x80000302, 0x00000055, 0x80000308, 0x00000059,
-	0x80000301, 0x00000061, 0x80000300, 0x00000061,
-	0x80000301, 0x00000061, 0x80000302, 0x00000061,
-	0x80000303, 0x00000061, 0x80000308, 0x00000061,
-	0x8000030a, 0x00000063, 0x80000327, 0x00000065,
-	0x80000300, 0x00000065, 0x80000301, 0x00000065,
-	0x80000302, 0x00000065, 0x80000308, 0x00000069,
-	0x80000300, 0x00000069, 0x80000301, 0x00000069,
-	0x80000302, 0x00000069, 0x80000308, 0x0000006e,
-	0x80000303, 0x0000006f, 0x80000300, 0x0000006f,
-	0x80000301, 0x0000006f, 0x80000302, 0x0000006f,
-	0x80000303, 0x0000006f, 0x80000308, 0x00000075,
-	0x80000300, 0x00000075, 0x80000301, 0x00000075,
-	0x80000302, 0x00000075, 0x80000308, 0x00000079,
-	0x80000301, 0x00000079, 0x80000308, 0x00000041,
-	0x80000304, 0x00000061, 0x80000304, 0x00000041,
-	0x80000306, 0x00000061, 0x80000306, 0x00000041,
-	0x80000328, 0x00000061, 0x80000328, 0x00000043,
-	0x80000301, 0x00000063, 0x80000301, 0x00000043,
-	0x80000302, 0x00000063, 0x80000302, 0x00000043,
-	0x80000307, 0x00000063, 0x80000307, 0x00000043,
-	0x8000030c, 0x00000063, 0x8000030c, 0x00000044,
-	0x8000030c, 0x00000064, 0x8000030c, 0x00000045,
-	0x80000304, 0x00000065, 0x80000304, 0x00000045,
-	0x80000306, 0x00000065, 0x80000306, 0x00000045,
-	0x80000307, 0x00000065, 0x80000307, 0x00000045,
-	0x80000328, 0x00000065, 0x80000328, 0x00000045,
-	0x8000030c, 0x00000065, 0x8000030c, 0x00000047,
-	0x80000302, 0x00000067, 0x80000302, 0x00000047,
-	0x80000306, 0x00000067, 0x80000306, 0x00000047,
-	0x80000307, 0x00000067, 0x80000307, 0x00000047,
-	0x80000327, 0x00000067, 0x80000327, 0x00000048,
-	0x80000302, 0x00000068, 0x80000302, 0x00000049,
-	0x80000303, 0x00000069, 0x80000303, 0x00000049,
-	0x80000304, 0x00000069, 0x80000304, 0x00000049,
-	0x80000306, 0x00000069, 0x80000306, 0x00000049,
-	0x80000328, 0x00000069, 0x80000328, 0x00000049,
-	0x80000307, 0x00000049, 0x8000004a, 0x00000069,
-	0x8000006a, 0x0000004a, 0x80000302, 0x0000006a,
-	0x80000302, 0x0000004b, 0x80000327, 0x0000006b,
-	0x80000327, 0x0000004c, 0x80000301, 0x0000006c,
-	0x80000301, 0x0000004c, 0x80000327, 0x0000006c,
-	0x80000327, 0x0000004c, 0x8000030c, 0x0000006c,
-	0x8000030c, 0x0000004c, 0x800000b7, 0x0000006c,
-	0x800000b7, 0x0000004e, 0x80000301, 0x0000006e,
-	0x80000301, 0x0000004e, 0x80000327, 0x0000006e,
-	0x80000327, 0x0000004e, 0x8000030c, 0x0000006e,
-	0x8000030c, 0x000002bc, 0x8000006e, 0x0000004f,
-	0x80000304, 0x0000006f, 0x80000304, 0x0000004f,
-	0x80000306, 0x0000006f, 0x80000306, 0x0000004f,
-	0x8000030b, 0x0000006f, 0x8000030b, 0x00000052,
-	0x80000301, 0x00000072, 0x80000301, 0x00000052,
-	0x80000327, 0x00000072, 0x80000327, 0x00000052,
-	0x8000030c, 0x00000072, 0x8000030c, 0x00000053,
-	0x80000301, 0x00000073, 0x80000301, 0x00000053,
-	0x80000302, 0x00000073, 0x80000302, 0x00000053,
-	0x80000327, 0x00000073, 0x80000327, 0x00000053,
-	0x8000030c, 0x00000073, 0x8000030c, 0x00000054,
-	0x80000327, 0x00000074, 0x80000327, 0x00000054,
-	0x8000030c, 0x00000074, 0x8000030c, 0x00000055,
-	0x80000303, 0x00000075, 0x80000303, 0x00000055,
-	0x80000304, 0x00000075, 0x80000304, 0x00000055,
-	0x80000306, 0x00000075, 0x80000306, 0x00000055,
-	0x8000030a, 0x00000075, 0x8000030a, 0x00000055,
-	0x8000030b, 0x00000075, 0x8000030b, 0x00000055,
-	0x80000328, 0x00000075, 0x80000328, 0x00000057,
-	0x80000302, 0x00000077, 0x80000302, 0x00000059,
-	0x80000302, 0x00000079, 0x80000302, 0x00000059,
-	0x80000308, 0x0000005a, 0x80000301, 0x0000007a,
-	0x80000301, 0x0000005a, 0x80000307, 0x0000007a,
-	0x80000307, 0x0000005a, 0x8000030c, 0x0000007a,
-	0x8000030c, 0x80000073, 0x0000004f, 0x8000031b,
-	0x0000006f, 0x8000031b, 0x00000055, 0x8000031b,
-	0x00000075, 0x8000031b, 0x00000044, 0x8000017d,
-	0x00000044, 0x8000017e, 0x00000064, 0x8000017e,
-	0x0000004c, 0x8000004a, 0x0000004c, 0x8000006a,
-	0x0000006c, 0x8000006a, 0x0000004e, 0x8000004a,
-	0x0000004e, 0x8000006a, 0x0000006e, 0x8000006a,
-	0x00000041, 0x8000030c, 0x00000061, 0x8000030c,
-	0x00000049, 0x8000030c, 0x00000069, 0x8000030c,
-	0x0000004f, 0x8000030c, 0x0000006f, 0x8000030c,
-	0x00000055, 0x8000030c, 0x00000075, 0x8000030c,
-	0x000000dc, 0x80000304, 0x000000fc, 0x80000304,
-	0x000000dc, 0x80000301, 0x000000fc, 0x80000301,
-	0x000000dc, 0x8000030c, 0x000000fc, 0x8000030c,
-	0x000000dc, 0x80000300, 0x000000fc, 0x80000300,
-	0x000000c4, 0x80000304, 0x000000e4, 0x80000304,
-	0x00000226, 0x80000304, 0x00000227, 0x80000304,
-	0x000000c6, 0x80000304, 0x000000e6, 0x80000304,
-	0x00000047, 0x8000030c, 0x00000067, 0x8000030c,
-	0x0000004b, 0x8000030c, 0x0000006b, 0x8000030c,
-	0x0000004f, 0x80000328, 0x0000006f, 0x80000328,
-	0x000001ea, 0x80000304, 0x000001eb, 0x80000304,
-	0x000001b7, 0x8000030c, 0x00000292, 0x8000030c,
-	0x0000006a, 0x8000030c, 0x00000044, 0x8000005a,
-	0x00000044, 0x8000007a, 0x00000064, 0x8000007a,
-	0x00000047, 0x80000301, 0x00000067, 0x80000301,
-	0x0000004e, 0x80000300, 0x0000006e, 0x80000300,
-	0x000000c5, 0x80000301, 0x000000e5, 0x80000301,
-	0x000000c6, 0x80000301, 0x000000e6, 0x80000301,
-	0x000000d8, 0x80000301, 0x000000f8, 0x80000301,
-	0x00000041, 0x8000030f, 0x00000061, 0x8000030f,
-	0x00000041, 0x80000311, 0x00000061, 0x80000311,
-	0x00000045, 0x8000030f, 0x00000065, 0x8000030f,
-	0x00000045, 0x80000311, 0x00000065, 0x80000311,
-	0x00000049, 0x8000030f, 0x00000069, 0x8000030f,
-	0x00000049, 0x80000311, 0x00000069, 0x80000311,
-	0x0000004f, 0x8000030f, 0x0000006f, 0x8000030f,
-	0x0000004f, 0x80000311, 0x0000006f, 0x80000311,
-	0x00000052, 0x8000030f, 0x00000072, 0x8000030f,
-	0x00000052, 0x80000311, 0x00000072, 0x80000311,
-	0x00000055, 0x8000030f, 0x00000075, 0x8000030f,
-	0x00000055, 0x80000311, 0x00000075, 0x80000311,
-	0x00000053, 0x80000326, 0x00000073, 0x80000326,
-	0x00000054, 0x80000326, 0x00000074, 0x80000326,
-	0x00000048, 0x8000030c, 0x00000068, 0x8000030c,
-	0x00000041, 0x80000307, 0x00000061, 0x80000307,
-	0x00000045, 0x80000327, 0x00000065, 0x80000327,
-	0x000000d6, 0x80000304, 0x000000f6, 0x80000304,
-	0x000000d5, 0x80000304, 0x000000f5, 0x80000304,
-	0x0000004f, 0x80000307, 0x0000006f, 0x80000307,
-	0x0000022e, 0x80000304, 0x0000022f, 0x80000304,
-	0x00000059, 0x80000304, 0x00000079, 0x80000304,
-	0x80000068, 0x80000266, 0x8000006a, 0x80000072,
-	0x80000279, 0x8000027b, 0x80000281, 0x80000077,
-	0x80000079, 0x00000020, 0x80000306, 0x00000020,
-	0x80000307, 0x00000020, 0x8000030a, 0x00000020,
-	0x80000328, 0x00000020, 0x80000303, 0x00000020,
-	0x8000030b, 0x80000263, 0x8000006c, 0x80000073,
-	0x80000078, 0x80000295, 0x80000300, 0x80000301,
-	0x80000313, 0x00000308, 0x80000301, 0x800002b9,
-	0x00000020, 0x80000345, 0x8000003b, 0x00000020,
-	0x80000301, 0x000000a8, 0x80000301, 0x00000391,
-	0x80000301, 0x800000b7, 0x00000395, 0x80000301,
-	0x00000397, 0x80000301, 0x00000399, 0x80000301,
-	0x0000039f, 0x80000301, 0x000003a5, 0x80000301,
-	0x000003a9, 0x80000301, 0x000003ca, 0x80000301,
-	0x00000399, 0x80000308, 0x000003a5, 0x80000308,
-	0x000003b1, 0x80000301, 0x000003b5, 0x80000301,
-	0x000003b7, 0x80000301, 0x000003b9, 0x80000301,
-	0x000003cb, 0x80000301, 0x000003b9, 0x80000308,
-	0x000003c5, 0x80000308, 0x000003bf, 0x80000301,
-	0x000003c5, 0x80000301, 0x000003c9, 0x80000301,
-	0x800003b2, 0x800003b8, 0x800003a5, 0x000003d2,
-	0x80000301, 0x000003d2, 0x80000308, 0x800003c6,
-	0x800003c0, 0x800003ba, 0x800003c1, 0x800003c2,
-	0x80000398, 0x800003b5, 0x800003a3, 0x00000415,
-	0x80000300, 0x00000415, 0x80000308, 0x00000413,
-	0x80000301, 0x00000406, 0x80000308, 0x0000041a,
-	0x80000301, 0x00000418, 0x80000300, 0x00000423,
-	0x80000306, 0x00000418, 0x80000306, 0x00000438,
-	0x80000306, 0x00000435, 0x80000300, 0x00000435,
-	0x80000308, 0x00000433, 0x80000301, 0x00000456,
-	0x80000308, 0x0000043a, 0x80000301, 0x00000438,
-	0x80000300, 0x00000443, 0x80000306, 0x00000474,
-	0x8000030f, 0x00000475, 0x8000030f, 0x00000416,
-	0x80000306, 0x00000436, 0x80000306, 0x00000410,
-	0x80000306, 0x00000430, 0x80000306, 0x00000410,
-	0x80000308, 0x00000430, 0x80000308, 0x00000415,
-	0x80000306, 0x00000435, 0x80000306, 0x000004d8,
-	0x80000308, 0x000004d9, 0x80000308, 0x00000416,
-	0x80000308, 0x00000436, 0x80000308, 0x00000417,
-	0x80000308, 0x00000437, 0x80000308, 0x00000418,
-	0x80000304, 0x00000438, 0x80000304, 0x00000418,
-	0x80000308, 0x00000438, 0x80000308, 0x0000041e,
-	0x80000308, 0x0000043e, 0x80000308, 0x000004e8,
-	0x80000308, 0x000004e9, 0x80000308, 0x0000042d,
-	0x80000308, 0x0000044d, 0x80000308, 0x00000423,
-	0x80000304, 0x00000443, 0x80000304, 0x00000423,
-	0x80000308, 0x00000443, 0x80000308, 0x00000423,
-	0x8000030b, 0x00000443, 0x8000030b, 0x00000427,
-	0x80000308, 0x00000447, 0x80000308, 0x0000042b,
-	0x80000308, 0x0000044b, 0x80000308, 0x00000565,
-	0x80000582, 0x00000627, 0x80000653, 0x00000627,
-	0x80000654, 0x00000648, 0x80000654, 0x00000627,
-	0x80000655, 0x0000064a, 0x80000654, 0x00000627,
-	0x80000674, 0x00000648, 0x80000674, 0x000006c7,
-	0x80000674, 0x0000064a, 0x80000674, 0x000006d5,
-	0x80000654, 0x000006c1, 0x80000654, 0x000006d2,
-	0x80000654, 0x00000928, 0x8000093c, 0x00000930,
-	0x8000093c, 0x00000933, 0x8000093c, 0x00000915,
-	0x8000093c, 0x00000916, 0x8000093c, 0x00000917,
-	0x8000093c, 0x0000091c, 0x8000093c, 0x00000921,
-	0x8000093c, 0x00000922, 0x8000093c, 0x0000092b,
-	0x8000093c, 0x0000092f, 0x8000093c, 0x000009c7,
-	0x800009be, 0x000009c7, 0x800009d7, 0x000009a1,
-	0x800009bc, 0x000009a2, 0x800009bc, 0x000009af,
-	0x800009bc, 0x00000a32, 0x80000a3c, 0x00000a38,
-	0x80000a3c, 0x00000a16, 0x80000a3c, 0x00000a17,
-	0x80000a3c, 0x00000a1c, 0x80000a3c, 0x00000a2b,
-	0x80000a3c, 0x00000b47, 0x80000b56, 0x00000b47,
-	0x80000b3e, 0x00000b47, 0x80000b57, 0x00000b21,
-	0x80000b3c, 0x00000b22, 0x80000b3c, 0x00000b92,
-	0x80000bd7, 0x00000bc6, 0x80000bbe, 0x00000bc7,
-	0x80000bbe, 0x00000bc6, 0x80000bd7, 0x00000c46,
-	0x80000c56, 0x00000cbf, 0x80000cd5, 0x00000cc6,
-	0x80000cd5, 0x00000cc6, 0x80000cd6, 0x00000cc6,
-	0x80000cc2, 0x00000cca, 0x80000cd5, 0x00000d46,
-	0x80000d3e, 0x00000d47, 0x80000d3e, 0x00000d46,
-	0x80000d57, 0x00000dd9, 0x80000dca, 0x00000dd9,
-	0x80000dcf, 0x00000ddc, 0x80000dca, 0x00000dd9,
-	0x80000ddf, 0x00000e4d, 0x80000e32, 0x00000ecd,
-	0x80000eb2, 0x00000eab, 0x80000e99, 0x00000eab,
-	0x80000ea1, 0x80000f0b, 0x00000f42, 0x80000fb7,
-	0x00000f4c, 0x80000fb7, 0x00000f51, 0x80000fb7,
-	0x00000f56, 0x80000fb7, 0x00000f5b, 0x80000fb7,
-	0x00000f40, 0x80000fb5, 0x00000f71, 0x80000f72,
-	0x00000f71, 0x80000f74, 0x00000fb2, 0x80000f80,
-	0x00000fb2, 0x80000f81, 0x00000fb3, 0x80000f80,
-	0x00000fb3, 0x80000f81, 0x00000f71, 0x80000f80,
-	0x00000f92, 0x80000fb7, 0x00000f9c, 0x80000fb7,
-	0x00000fa1, 0x80000fb7, 0x00000fa6, 0x80000fb7,
-	0x00000fab, 0x80000fb7, 0x00000f90, 0x80000fb5,
-	0x00001025, 0x8000102e, 0x800010dc, 0x80000041,
-	0x800000c6, 0x80000042, 0x80000044, 0x80000045,
-	0x8000018e, 0x80000047, 0x80000048, 0x80000049,
-	0x8000004a, 0x8000004b, 0x8000004c, 0x8000004d,
-	0x8000004e, 0x8000004f, 0x80000222, 0x80000050,
-	0x80000052, 0x80000054, 0x80000055, 0x80000057,
-	0x80000061, 0x80000250, 0x80000251, 0x80001d02,
-	0x80000062, 0x80000064, 0x80000065, 0x80000259,
-	0x8000025b, 0x8000025c, 0x80000067, 0x8000006b,
-	0x8000006d, 0x8000014b, 0x8000006f, 0x80000254,
-	0x80001d16, 0x80001d17, 0x80000070, 0x80000074,
-	0x80000075, 0x80001d1d, 0x8000026f, 0x80000076,
-	0x80001d25, 0x800003b2, 0x800003b3, 0x800003b4,
-	0x800003c6, 0x800003c7, 0x80000069, 0x80000072,
-	0x80000075, 0x80000076, 0x800003b2, 0x800003b3,
-	0x800003c1, 0x800003c6, 0x800003c7, 0x8000043d,
-	0x80000252, 0x80000063, 0x80000255, 0x800000f0,
-	0x8000025c, 0x80000066, 0x8000025f, 0x80000261,
-	0x80000265, 0x80000268, 0x80000269, 0x8000026a,
-	0x80001d7b, 0x8000029d, 0x8000026d, 0x80001d85,
-	0x8000029f, 0x80000271, 0x80000270, 0x80000272,
-	0x80000273, 0x80000274, 0x80000275, 0x80000278,
-	0x80000282, 0x80000283, 0x800001ab, 0x80000289,
-	0x8000028a, 0x80001d1c, 0x8000028b, 0x8000028c,
-	0x8000007a, 0x80000290, 0x80000291, 0x80000292,
-	0x800003b8, 0x00000041, 0x80000325, 0x00000061,
-	0x80000325, 0x00000042, 0x80000307, 0x00000062,
-	0x80000307, 0x00000042, 0x80000323, 0x00000062,
-	0x80000323, 0x00000042, 0x80000331, 0x00000062,
-	0x80000331, 0x000000c7, 0x80000301, 0x000000e7,
-	0x80000301, 0x00000044, 0x80000307, 0x00000064,
-	0x80000307, 0x00000044, 0x80000323, 0x00000064,
-	0x80000323, 0x00000044, 0x80000331, 0x00000064,
-	0x80000331, 0x00000044, 0x80000327, 0x00000064,
-	0x80000327, 0x00000044, 0x8000032d, 0x00000064,
-	0x8000032d, 0x00000112, 0x80000300, 0x00000113,
-	0x80000300, 0x00000112, 0x80000301, 0x00000113,
-	0x80000301, 0x00000045, 0x8000032d, 0x00000065,
-	0x8000032d, 0x00000045, 0x80000330, 0x00000065,
-	0x80000330, 0x00000228, 0x80000306, 0x00000229,
-	0x80000306, 0x00000046, 0x80000307, 0x00000066,
-	0x80000307, 0x00000047, 0x80000304, 0x00000067,
-	0x80000304, 0x00000048, 0x80000307, 0x00000068,
-	0x80000307, 0x00000048, 0x80000323, 0x00000068,
-	0x80000323, 0x00000048, 0x80000308, 0x00000068,
-	0x80000308, 0x00000048, 0x80000327, 0x00000068,
-	0x80000327, 0x00000048, 0x8000032e, 0x00000068,
-	0x8000032e, 0x00000049, 0x80000330, 0x00000069,
-	0x80000330, 0x000000cf, 0x80000301, 0x000000ef,
-	0x80000301, 0x0000004b, 0x80000301, 0x0000006b,
-	0x80000301, 0x0000004b, 0x80000323, 0x0000006b,
-	0x80000323, 0x0000004b, 0x80000331, 0x0000006b,
-	0x80000331, 0x0000004c, 0x80000323, 0x0000006c,
-	0x80000323, 0x00001e36, 0x80000304, 0x00001e37,
-	0x80000304, 0x0000004c, 0x80000331, 0x0000006c,
-	0x80000331, 0x0000004c, 0x8000032d, 0x0000006c,
-	0x8000032d, 0x0000004d, 0x80000301, 0x0000006d,
-	0x80000301, 0x0000004d, 0x80000307, 0x0000006d,
-	0x80000307, 0x0000004d, 0x80000323, 0x0000006d,
-	0x80000323, 0x0000004e, 0x80000307, 0x0000006e,
-	0x80000307, 0x0000004e, 0x80000323, 0x0000006e,
-	0x80000323, 0x0000004e, 0x80000331, 0x0000006e,
-	0x80000331, 0x0000004e, 0x8000032d, 0x0000006e,
-	0x8000032d, 0x000000d5, 0x80000301, 0x000000f5,
-	0x80000301, 0x000000d5, 0x80000308, 0x000000f5,
-	0x80000308, 0x0000014c, 0x80000300, 0x0000014d,
-	0x80000300, 0x0000014c, 0x80000301, 0x0000014d,
-	0x80000301, 0x00000050, 0x80000301, 0x00000070,
-	0x80000301, 0x00000050, 0x80000307, 0x00000070,
-	0x80000307, 0x00000052, 0x80000307, 0x00000072,
-	0x80000307, 0x00000052, 0x80000323, 0x00000072,
-	0x80000323, 0x00001e5a, 0x80000304, 0x00001e5b,
-	0x80000304, 0x00000052, 0x80000331, 0x00000072,
-	0x80000331, 0x00000053, 0x80000307, 0x00000073,
-	0x80000307, 0x00000053, 0x80000323, 0x00000073,
-	0x80000323, 0x0000015a, 0x80000307, 0x0000015b,
-	0x80000307, 0x00000160, 0x80000307, 0x00000161,
-	0x80000307, 0x00001e62, 0x80000307, 0x00001e63,
-	0x80000307, 0x00000054, 0x80000307, 0x00000074,
-	0x80000307, 0x00000054, 0x80000323, 0x00000074,
-	0x80000323, 0x00000054, 0x80000331, 0x00000074,
-	0x80000331, 0x00000054, 0x8000032d, 0x00000074,
-	0x8000032d, 0x00000055, 0x80000324, 0x00000075,
-	0x80000324, 0x00000055, 0x80000330, 0x00000075,
-	0x80000330, 0x00000055, 0x8000032d, 0x00000075,
-	0x8000032d, 0x00000168, 0x80000301, 0x00000169,
-	0x80000301, 0x0000016a, 0x80000308, 0x0000016b,
-	0x80000308, 0x00000056, 0x80000303, 0x00000076,
-	0x80000303, 0x00000056, 0x80000323, 0x00000076,
-	0x80000323, 0x00000057, 0x80000300, 0x00000077,
-	0x80000300, 0x00000057, 0x80000301, 0x00000077,
-	0x80000301, 0x00000057, 0x80000308, 0x00000077,
-	0x80000308, 0x00000057, 0x80000307, 0x00000077,
-	0x80000307, 0x00000057, 0x80000323, 0x00000077,
-	0x80000323, 0x00000058, 0x80000307, 0x00000078,
-	0x80000307, 0x00000058, 0x80000308, 0x00000078,
-	0x80000308, 0x00000059, 0x80000307, 0x00000079,
-	0x80000307, 0x0000005a, 0x80000302, 0x0000007a,
-	0x80000302, 0x0000005a, 0x80000323, 0x0000007a,
-	0x80000323, 0x0000005a, 0x80000331, 0x0000007a,
-	0x80000331, 0x00000068, 0x80000331, 0x00000074,
-	0x80000308, 0x00000077, 0x8000030a, 0x00000079,
-	0x8000030a, 0x00000061, 0x800002be, 0x0000017f,
-	0x80000307, 0x00000041, 0x80000323, 0x00000061,
-	0x80000323, 0x00000041, 0x80000309, 0x00000061,
-	0x80000309, 0x000000c2, 0x80000301, 0x000000e2,
-	0x80000301, 0x000000c2, 0x80000300, 0x000000e2,
-	0x80000300, 0x000000c2, 0x80000309, 0x000000e2,
-	0x80000309, 0x000000c2, 0x80000303, 0x000000e2,
-	0x80000303, 0x00001ea0, 0x80000302, 0x00001ea1,
-	0x80000302, 0x00000102, 0x80000301, 0x00000103,
-	0x80000301, 0x00000102, 0x80000300, 0x00000103,
-	0x80000300, 0x00000102, 0x80000309, 0x00000103,
-	0x80000309, 0x00000102, 0x80000303, 0x00000103,
-	0x80000303, 0x00001ea0, 0x80000306, 0x00001ea1,
-	0x80000306, 0x00000045, 0x80000323, 0x00000065,
-	0x80000323, 0x00000045, 0x80000309, 0x00000065,
-	0x80000309, 0x00000045, 0x80000303, 0x00000065,
-	0x80000303, 0x000000ca, 0x80000301, 0x000000ea,
-	0x80000301, 0x000000ca, 0x80000300, 0x000000ea,
-	0x80000300, 0x000000ca, 0x80000309, 0x000000ea,
-	0x80000309, 0x000000ca, 0x80000303, 0x000000ea,
-	0x80000303, 0x00001eb8, 0x80000302, 0x00001eb9,
-	0x80000302, 0x00000049, 0x80000309, 0x00000069,
-	0x80000309, 0x00000049, 0x80000323, 0x00000069,
-	0x80000323, 0x0000004f, 0x80000323, 0x0000006f,
-	0x80000323, 0x0000004f, 0x80000309, 0x0000006f,
-	0x80000309, 0x000000d4, 0x80000301, 0x000000f4,
-	0x80000301, 0x000000d4, 0x80000300, 0x000000f4,
-	0x80000300, 0x000000d4, 0x80000309, 0x000000f4,
-	0x80000309, 0x000000d4, 0x80000303, 0x000000f4,
-	0x80000303, 0x00001ecc, 0x80000302, 0x00001ecd,
-	0x80000302, 0x000001a0, 0x80000301, 0x000001a1,
-	0x80000301, 0x000001a0, 0x80000300, 0x000001a1,
-	0x80000300, 0x000001a0, 0x80000309, 0x000001a1,
-	0x80000309, 0x000001a0, 0x80000303, 0x000001a1,
-	0x80000303, 0x000001a0, 0x80000323, 0x000001a1,
-	0x80000323, 0x00000055, 0x80000323, 0x00000075,
-	0x80000323, 0x00000055, 0x80000309, 0x00000075,
-	0x80000309, 0x000001af, 0x80000301, 0x000001b0,
-	0x80000301, 0x000001af, 0x80000300, 0x000001b0,
-	0x80000300, 0x000001af, 0x80000309, 0x000001b0,
-	0x80000309, 0x000001af, 0x80000303, 0x000001b0,
-	0x80000303, 0x000001af, 0x80000323, 0x000001b0,
-	0x80000323, 0x00000059, 0x80000300, 0x00000079,
-	0x80000300, 0x00000059, 0x80000323, 0x00000079,
-	0x80000323, 0x00000059, 0x80000309, 0x00000079,
-	0x80000309, 0x00000059, 0x80000303, 0x00000079,
-	0x80000303, 0x000003b1, 0x80000313, 0x000003b1,
-	0x80000314, 0x00001f00, 0x80000300, 0x00001f01,
-	0x80000300, 0x00001f00, 0x80000301, 0x00001f01,
-	0x80000301, 0x00001f00, 0x80000342, 0x00001f01,
-	0x80000342, 0x00000391, 0x80000313, 0x00000391,
-	0x80000314, 0x00001f08, 0x80000300, 0x00001f09,
-	0x80000300, 0x00001f08, 0x80000301, 0x00001f09,
-	0x80000301, 0x00001f08, 0x80000342, 0x00001f09,
-	0x80000342, 0x000003b5, 0x80000313, 0x000003b5,
-	0x80000314, 0x00001f10, 0x80000300, 0x00001f11,
-	0x80000300, 0x00001f10, 0x80000301, 0x00001f11,
-	0x80000301, 0x00000395, 0x80000313, 0x00000395,
-	0x80000314, 0x00001f18, 0x80000300, 0x00001f19,
-	0x80000300, 0x00001f18, 0x80000301, 0x00001f19,
-	0x80000301, 0x000003b7, 0x80000313, 0x000003b7,
-	0x80000314, 0x00001f20, 0x80000300, 0x00001f21,
-	0x80000300, 0x00001f20, 0x80000301, 0x00001f21,
-	0x80000301, 0x00001f20, 0x80000342, 0x00001f21,
-	0x80000342, 0x00000397, 0x80000313, 0x00000397,
-	0x80000314, 0x00001f28, 0x80000300, 0x00001f29,
-	0x80000300, 0x00001f28, 0x80000301, 0x00001f29,
-	0x80000301, 0x00001f28, 0x80000342, 0x00001f29,
-	0x80000342, 0x000003b9, 0x80000313, 0x000003b9,
-	0x80000314, 0x00001f30, 0x80000300, 0x00001f31,
-	0x80000300, 0x00001f30, 0x80000301, 0x00001f31,
-	0x80000301, 0x00001f30, 0x80000342, 0x00001f31,
-	0x80000342, 0x00000399, 0x80000313, 0x00000399,
-	0x80000314, 0x00001f38, 0x80000300, 0x00001f39,
-	0x80000300, 0x00001f38, 0x80000301, 0x00001f39,
-	0x80000301, 0x00001f38, 0x80000342, 0x00001f39,
-	0x80000342, 0x000003bf, 0x80000313, 0x000003bf,
-	0x80000314, 0x00001f40, 0x80000300, 0x00001f41,
-	0x80000300, 0x00001f40, 0x80000301, 0x00001f41,
-	0x80000301, 0x0000039f, 0x80000313, 0x0000039f,
-	0x80000314, 0x00001f48, 0x80000300, 0x00001f49,
-	0x80000300, 0x00001f48, 0x80000301, 0x00001f49,
-	0x80000301, 0x000003c5, 0x80000313, 0x000003c5,
-	0x80000314, 0x00001f50, 0x80000300, 0x00001f51,
-	0x80000300, 0x00001f50, 0x80000301, 0x00001f51,
-	0x80000301, 0x00001f50, 0x80000342, 0x00001f51,
-	0x80000342, 0x000003a5, 0x80000314, 0x00001f59,
-	0x80000300, 0x00001f59, 0x80000301, 0x00001f59,
-	0x80000342, 0x000003c9, 0x80000313, 0x000003c9,
-	0x80000314, 0x00001f60, 0x80000300, 0x00001f61,
-	0x80000300, 0x00001f60, 0x80000301, 0x00001f61,
-	0x80000301, 0x00001f60, 0x80000342, 0x00001f61,
-	0x80000342, 0x000003a9, 0x80000313, 0x000003a9,
-	0x80000314, 0x00001f68, 0x80000300, 0x00001f69,
-	0x80000300, 0x00001f68, 0x80000301, 0x00001f69,
-	0x80000301, 0x00001f68, 0x80000342, 0x00001f69,
-	0x80000342, 0x000003b1, 0x80000300, 0x800003ac,
-	0x000003b5, 0x80000300, 0x800003ad, 0x000003b7,
-	0x80000300, 0x800003ae, 0x000003b9, 0x80000300,
-	0x800003af, 0x000003bf, 0x80000300, 0x800003cc,
-	0x000003c5, 0x80000300, 0x800003cd, 0x000003c9,
-	0x80000300, 0x800003ce, 0x00001f00, 0x80000345,
-	0x00001f01, 0x80000345, 0x00001f02, 0x80000345,
-	0x00001f03, 0x80000345, 0x00001f04, 0x80000345,
-	0x00001f05, 0x80000345, 0x00001f06, 0x80000345,
-	0x00001f07, 0x80000345, 0x00001f08, 0x80000345,
-	0x00001f09, 0x80000345, 0x00001f0a, 0x80000345,
-	0x00001f0b, 0x80000345, 0x00001f0c, 0x80000345,
-	0x00001f0d, 0x80000345, 0x00001f0e, 0x80000345,
-	0x00001f0f, 0x80000345, 0x00001f20, 0x80000345,
-	0x00001f21, 0x80000345, 0x00001f22, 0x80000345,
-	0x00001f23, 0x80000345, 0x00001f24, 0x80000345,
-	0x00001f25, 0x80000345, 0x00001f26, 0x80000345,
-	0x00001f27, 0x80000345, 0x00001f28, 0x80000345,
-	0x00001f29, 0x80000345, 0x00001f2a, 0x80000345,
-	0x00001f2b, 0x80000345, 0x00001f2c, 0x80000345,
-	0x00001f2d, 0x80000345, 0x00001f2e, 0x80000345,
-	0x00001f2f, 0x80000345, 0x00001f60, 0x80000345,
-	0x00001f61, 0x80000345, 0x00001f62, 0x80000345,
-	0x00001f63, 0x80000345, 0x00001f64, 0x80000345,
-	0x00001f65, 0x80000345, 0x00001f66, 0x80000345,
-	0x00001f67, 0x80000345, 0x00001f68, 0x80000345,
-	0x00001f69, 0x80000345, 0x00001f6a, 0x80000345,
-	0x00001f6b, 0x80000345, 0x00001f6c, 0x80000345,
-	0x00001f6d, 0x80000345, 0x00001f6e, 0x80000345,
-	0x00001f6f, 0x80000345, 0x000003b1, 0x80000306,
-	0x000003b1, 0x80000304, 0x00001f70, 0x80000345,
-	0x000003b1, 0x80000345, 0x000003ac, 0x80000345,
-	0x000003b1, 0x80000342, 0x00001fb6, 0x80000345,
-	0x00000391, 0x80000306, 0x00000391, 0x80000304,
-	0x00000391, 0x80000300, 0x80000386, 0x00000391,
-	0x80000345, 0x00000020, 0x80000313, 0x800003b9,
-	0x00000020, 0x80000313, 0x00000020, 0x80000342,
-	0x000000a8, 0x80000342, 0x00001f74, 0x80000345,
-	0x000003b7, 0x80000345, 0x000003ae, 0x80000345,
-	0x000003b7, 0x80000342, 0x00001fc6, 0x80000345,
-	0x00000395, 0x80000300, 0x80000388, 0x00000397,
-	0x80000300, 0x80000389, 0x00000397, 0x80000345,
-	0x00001fbf, 0x80000300, 0x00001fbf, 0x80000301,
-	0x00001fbf, 0x80000342, 0x000003b9, 0x80000306,
-	0x000003b9, 0x80000304, 0x000003ca, 0x80000300,
-	0x80000390, 0x000003b9, 0x80000342, 0x000003ca,
-	0x80000342, 0x00000399, 0x80000306, 0x00000399,
-	0x80000304, 0x00000399, 0x80000300, 0x8000038a,
-	0x00001ffe, 0x80000300, 0x00001ffe, 0x80000301,
-	0x00001ffe, 0x80000342, 0x000003c5, 0x80000306,
-	0x000003c5, 0x80000304, 0x000003cb, 0x80000300,
-	0x800003b0, 0x000003c1, 0x80000313, 0x000003c1,
-	0x80000314, 0x000003c5, 0x80000342, 0x000003cb,
-	0x80000342, 0x000003a5, 0x80000306, 0x000003a5,
-	0x80000304, 0x000003a5, 0x80000300, 0x8000038e,
-	0x000003a1, 0x80000314, 0x000000a8, 0x80000300,
-	0x80000385, 0x80000060, 0x00001f7c, 0x80000345,
-	0x000003c9, 0x80000345, 0x000003ce, 0x80000345,
-	0x000003c9, 0x80000342, 0x00001ff6, 0x80000345,
-	0x0000039f, 0x80000300, 0x8000038c, 0x000003a9,
-	0x80000300, 0x8000038f, 0x000003a9, 0x80000345,
-	0x800000b4, 0x00000020, 0x80000314, 0x80002002,
-	0x80002003, 0x80000020, 0x80000020, 0x80000020,
-	0x80000020, 0x80000020, 0x80000020, 0x80000020,
-	0x80000020, 0x80000020, 0x80002010, 0x00000020,
-	0x80000333, 0x8000002e, 0x0000002e, 0x8000002e,
-	0x0000002e, 0x0000002e, 0x8000002e, 0x80000020,
-	0x00002032, 0x80002032, 0x00002032, 0x00002032,
-	0x80002032, 0x00002035, 0x80002035, 0x00002035,
-	0x00002035, 0x80002035, 0x00000021, 0x80000021,
-	0x00000020, 0x80000305, 0x0000003f, 0x8000003f,
-	0x0000003f, 0x80000021, 0x00000021, 0x8000003f,
-	0x00002032, 0x00002032, 0x00002032, 0x80002032,
-	0x80000020, 0x80000030, 0x80000069, 0x80000034,
-	0x80000035, 0x80000036, 0x80000037, 0x80000038,
-	0x80000039, 0x8000002b, 0x80002212, 0x8000003d,
-	0x80000028, 0x80000029, 0x8000006e, 0x80000030,
-	0x80000031, 0x80000032, 0x80000033, 0x80000034,
-	0x80000035, 0x80000036, 0x80000037, 0x80000038,
-	0x80000039, 0x8000002b, 0x80002212, 0x8000003d,
-	0x80000028, 0x80000029, 0x80000061, 0x80000065,
-	0x8000006f, 0x80000078, 0x80000259, 0x00000052,
-	0x80000073, 0x00000061, 0x0000002f, 0x80000063,
-	0x00000061, 0x0000002f, 0x80000073, 0x80000043,
-	0x000000b0, 0x80000043, 0x00000063, 0x0000002f,
-	0x8000006f, 0x00000063, 0x0000002f, 0x80000075,
-	0x80000190, 0x000000b0, 0x80000046, 0x80000067,
-	0x80000048, 0x80000048, 0x80000048, 0x80000068,
-	0x80000127, 0x80000049, 0x80000049, 0x8000004c,
-	0x8000006c, 0x8000004e, 0x0000004e, 0x8000006f,
-	0x80000050, 0x80000051, 0x80000052, 0x80000052,
-	0x80000052, 0x00000053, 0x8000004d, 0x00000054,
-	0x00000045, 0x8000004c, 0x00000054, 0x8000004d,
-	0x8000005a, 0x800003a9, 0x8000005a, 0x8000004b,
-	0x800000c5, 0x80000042, 0x80000043, 0x80000065,
-	0x80000045, 0x80000046, 0x8000004d, 0x8000006f,
-	0x800005d0, 0x800005d1, 0x800005d2, 0x800005d3,
-	0x80000069, 0x00000046, 0x00000041, 0x80000058,
-	0x800003c0, 0x800003b3, 0x80000393, 0x800003a0,
-	0x80002211, 0x80000044, 0x80000064, 0x80000065,
-	0x80000069, 0x8000006a, 0x00000031, 0x00002044,
-	0x80000033, 0x00000032, 0x00002044, 0x80000033,
-	0x00000031, 0x00002044, 0x80000035, 0x00000032,
-	0x00002044, 0x80000035, 0x00000033, 0x00002044,
-	0x80000035, 0x00000034, 0x00002044, 0x80000035,
-	0x00000031, 0x00002044, 0x80000036, 0x00000035,
-	0x00002044, 0x80000036, 0x00000031, 0x00002044,
-	0x80000038, 0x00000033, 0x00002044, 0x80000038,
-	0x00000035, 0x00002044, 0x80000038, 0x00000037,
-	0x00002044, 0x80000038, 0x00000031, 0x80002044,
-	0x80000049, 0x00000049, 0x80000049, 0x00000049,
-	0x00000049, 0x80000049, 0x00000049, 0x80000056,
-	0x80000056, 0x00000056, 0x80000049, 0x00000056,
-	0x00000049, 0x80000049, 0x00000056, 0x00000049,
-	0x00000049, 0x80000049, 0x00000049, 0x80000058,
-	0x80000058, 0x00000058, 0x80000049, 0x00000058,
-	0x00000049, 0x80000049, 0x8000004c, 0x80000043,
-	0x80000044, 0x8000004d, 0x80000069, 0x00000069,
-	0x80000069, 0x00000069, 0x00000069, 0x80000069,
-	0x00000069, 0x80000076, 0x80000076, 0x00000076,
-	0x80000069, 0x00000076, 0x00000069, 0x80000069,
-	0x00000076, 0x00000069, 0x00000069, 0x80000069,
-	0x00000069, 0x80000078, 0x80000078, 0x00000078,
-	0x80000069, 0x00000078, 0x00000069, 0x80000069,
-	0x8000006c, 0x80000063, 0x80000064, 0x8000006d,
-	0x00002190, 0x80000338, 0x00002192, 0x80000338,
-	0x00002194, 0x80000338, 0x000021d0, 0x80000338,
-	0x000021d4, 0x80000338, 0x000021d2, 0x80000338,
-	0x00002203, 0x80000338, 0x00002208, 0x80000338,
-	0x0000220b, 0x80000338, 0x00002223, 0x80000338,
-	0x00002225, 0x80000338, 0x0000222b, 0x8000222b,
-	0x0000222b, 0x0000222b, 0x8000222b, 0x0000222e,
-	0x8000222e, 0x0000222e, 0x0000222e, 0x8000222e,
-	0x0000223c, 0x80000338, 0x00002243, 0x80000338,
-	0x00002245, 0x80000338, 0x00002248, 0x80000338,
-	0x0000003d, 0x80000338, 0x00002261, 0x80000338,
-	0x0000224d, 0x80000338, 0x0000003c, 0x80000338,
-	0x0000003e, 0x80000338, 0x00002264, 0x80000338,
-	0x00002265, 0x80000338, 0x00002272, 0x80000338,
-	0x00002273, 0x80000338, 0x00002276, 0x80000338,
-	0x00002277, 0x80000338, 0x0000227a, 0x80000338,
-	0x0000227b, 0x80000338, 0x00002282, 0x80000338,
-	0x00002283, 0x80000338, 0x00002286, 0x80000338,
-	0x00002287, 0x80000338, 0x000022a2, 0x80000338,
-	0x000022a8, 0x80000338, 0x000022a9, 0x80000338,
-	0x000022ab, 0x80000338, 0x0000227c, 0x80000338,
-	0x0000227d, 0x80000338, 0x00002291, 0x80000338,
-	0x00002292, 0x80000338, 0x000022b2, 0x80000338,
-	0x000022b3, 0x80000338, 0x000022b4, 0x80000338,
-	0x000022b5, 0x80000338, 0x80003008, 0x80003009,
-	0x80000031, 0x80000032, 0x80000033, 0x80000034,
-	0x80000035, 0x80000036, 0x80000037, 0x80000038,
-	0x80000039, 0x00000031, 0x80000030, 0x00000031,
-	0x80000031, 0x00000031, 0x80000032, 0x00000031,
-	0x80000033, 0x00000031, 0x80000034, 0x00000031,
-	0x80000035, 0x00000031, 0x80000036, 0x00000031,
-	0x80000037, 0x00000031, 0x80000038, 0x00000031,
-	0x80000039, 0x00000032, 0x80000030, 0x00000028,
-	0x00000031, 0x80000029, 0x00000028, 0x00000032,
-	0x80000029, 0x00000028, 0x00000033, 0x80000029,
-	0x00000028, 0x00000034, 0x80000029, 0x00000028,
-	0x00000035, 0x80000029, 0x00000028, 0x00000036,
-	0x80000029, 0x00000028, 0x00000037, 0x80000029,
-	0x00000028, 0x00000038, 0x80000029, 0x00000028,
-	0x00000039, 0x80000029, 0x00000028, 0x00000031,
-	0x00000030, 0x80000029, 0x00000028, 0x00000031,
-	0x00000031, 0x80000029, 0x00000028, 0x00000031,
-	0x00000032, 0x80000029, 0x00000028, 0x00000031,
-	0x00000033, 0x80000029, 0x00000028, 0x00000031,
-	0x00000034, 0x80000029, 0x00000028, 0x00000031,
-	0x00000035, 0x80000029, 0x00000028, 0x00000031,
-	0x00000036, 0x80000029, 0x00000028, 0x00000031,
-	0x00000037, 0x80000029, 0x00000028, 0x00000031,
-	0x00000038, 0x80000029, 0x00000028, 0x00000031,
-	0x00000039, 0x80000029, 0x00000028, 0x00000032,
-	0x00000030, 0x80000029, 0x00000031, 0x8000002e,
-	0x00000032, 0x8000002e, 0x00000033, 0x8000002e,
-	0x00000034, 0x8000002e, 0x00000035, 0x8000002e,
-	0x00000036, 0x8000002e, 0x00000037, 0x8000002e,
-	0x00000038, 0x8000002e, 0x00000039, 0x8000002e,
-	0x00000031, 0x00000030, 0x8000002e, 0x00000031,
-	0x00000031, 0x8000002e, 0x00000031, 0x00000032,
-	0x8000002e, 0x00000031, 0x00000033, 0x8000002e,
-	0x00000031, 0x00000034, 0x8000002e, 0x00000031,
-	0x00000035, 0x8000002e, 0x00000031, 0x00000036,
-	0x8000002e, 0x00000031, 0x00000037, 0x8000002e,
-	0x00000031, 0x00000038, 0x8000002e, 0x00000031,
-	0x00000039, 0x8000002e, 0x00000032, 0x00000030,
-	0x8000002e, 0x00000028, 0x00000061, 0x80000029,
-	0x00000028, 0x00000062, 0x80000029, 0x00000028,
-	0x00000063, 0x80000029, 0x00000028, 0x00000064,
-	0x80000029, 0x00000028, 0x00000065, 0x80000029,
-	0x00000028, 0x00000066, 0x80000029, 0x00000028,
-	0x00000067, 0x80000029, 0x00000028, 0x00000068,
-	0x80000029, 0x00000028, 0x00000069, 0x80000029,
-	0x00000028, 0x0000006a, 0x80000029, 0x00000028,
-	0x0000006b, 0x80000029, 0x00000028, 0x0000006c,
-	0x80000029, 0x00000028, 0x0000006d, 0x80000029,
-	0x00000028, 0x0000006e, 0x80000029, 0x00000028,
-	0x0000006f, 0x80000029, 0x00000028, 0x00000070,
-	0x80000029, 0x00000028, 0x00000071, 0x80000029,
-	0x00000028, 0x00000072, 0x80000029, 0x00000028,
-	0x00000073, 0x80000029, 0x00000028, 0x00000074,
-	0x80000029, 0x00000028, 0x00000075, 0x80000029,
-	0x00000028, 0x00000076, 0x80000029, 0x00000028,
-	0x00000077, 0x80000029, 0x00000028, 0x00000078,
-	0x80000029, 0x00000028, 0x00000079, 0x80000029,
-	0x00000028, 0x0000007a, 0x80000029, 0x80000041,
-	0x80000042, 0x80000043, 0x80000044, 0x80000045,
-	0x80000046, 0x80000047, 0x80000048, 0x80000049,
-	0x8000004a, 0x8000004b, 0x8000004c, 0x8000004d,
-	0x8000004e, 0x8000004f, 0x80000050, 0x80000051,
-	0x80000052, 0x80000053, 0x80000054, 0x80000055,
-	0x80000056, 0x80000057, 0x80000058, 0x80000059,
-	0x8000005a, 0x80000061, 0x80000062, 0x80000063,
-	0x80000064, 0x80000065, 0x80000066, 0x80000067,
-	0x80000068, 0x80000069, 0x8000006a, 0x8000006b,
-	0x8000006c, 0x8000006d, 0x8000006e, 0x8000006f,
-	0x80000070, 0x80000071, 0x80000072, 0x80000073,
-	0x80000074, 0x80000075, 0x80000076, 0x80000077,
-	0x80000078, 0x80000079, 0x8000007a, 0x80000030,
-	0x0000222b, 0x0000222b, 0x0000222b, 0x8000222b,
-	0x0000003a, 0x0000003a, 0x8000003d, 0x0000003d,
-	0x8000003d, 0x0000003d, 0x0000003d, 0x8000003d,
-	0x00002add, 0x80000338, 0x80002d61, 0x80006bcd,
-	0x80009f9f, 0x80004e00, 0x80004e28, 0x80004e36,
-	0x80004e3f, 0x80004e59, 0x80004e85, 0x80004e8c,
-	0x80004ea0, 0x80004eba, 0x8000513f, 0x80005165,
-	0x8000516b, 0x80005182, 0x80005196, 0x800051ab,
-	0x800051e0, 0x800051f5, 0x80005200, 0x8000529b,
-	0x800052f9, 0x80005315, 0x8000531a, 0x80005338,
-	0x80005341, 0x8000535c, 0x80005369, 0x80005382,
-	0x800053b6, 0x800053c8, 0x800053e3, 0x800056d7,
-	0x8000571f, 0x800058eb, 0x80005902, 0x8000590a,
-	0x80005915, 0x80005927, 0x80005973, 0x80005b50,
-	0x80005b80, 0x80005bf8, 0x80005c0f, 0x80005c22,
-	0x80005c38, 0x80005c6e, 0x80005c71, 0x80005ddb,
-	0x80005de5, 0x80005df1, 0x80005dfe, 0x80005e72,
-	0x80005e7a, 0x80005e7f, 0x80005ef4, 0x80005efe,
-	0x80005f0b, 0x80005f13, 0x80005f50, 0x80005f61,
-	0x80005f73, 0x80005fc3, 0x80006208, 0x80006236,
-	0x8000624b, 0x8000652f, 0x80006534, 0x80006587,
-	0x80006597, 0x800065a4, 0x800065b9, 0x800065e0,
-	0x800065e5, 0x800066f0, 0x80006708, 0x80006728,
-	0x80006b20, 0x80006b62, 0x80006b79, 0x80006bb3,
-	0x80006bcb, 0x80006bd4, 0x80006bdb, 0x80006c0f,
-	0x80006c14, 0x80006c34, 0x8000706b, 0x8000722a,
-	0x80007236, 0x8000723b, 0x8000723f, 0x80007247,
-	0x80007259, 0x8000725b, 0x800072ac, 0x80007384,
-	0x80007389, 0x800074dc, 0x800074e6, 0x80007518,
-	0x8000751f, 0x80007528, 0x80007530, 0x8000758b,
-	0x80007592, 0x80007676, 0x8000767d, 0x800076ae,
-	0x800076bf, 0x800076ee, 0x800077db, 0x800077e2,
-	0x800077f3, 0x8000793a, 0x800079b8, 0x800079be,
-	0x80007a74, 0x80007acb, 0x80007af9, 0x80007c73,
-	0x80007cf8, 0x80007f36, 0x80007f51, 0x80007f8a,
-	0x80007fbd, 0x80008001, 0x8000800c, 0x80008012,
-	0x80008033, 0x8000807f, 0x80008089, 0x800081e3,
-	0x800081ea, 0x800081f3, 0x800081fc, 0x8000820c,
-	0x8000821b, 0x8000821f, 0x8000826e, 0x80008272,
-	0x80008278, 0x8000864d, 0x8000866b, 0x80008840,
-	0x8000884c, 0x80008863, 0x8000897e, 0x8000898b,
-	0x800089d2, 0x80008a00, 0x80008c37, 0x80008c46,
-	0x80008c55, 0x80008c78, 0x80008c9d, 0x80008d64,
-	0x80008d70, 0x80008db3, 0x80008eab, 0x80008eca,
-	0x80008f9b, 0x80008fb0, 0x80008fb5, 0x80009091,
-	0x80009149, 0x800091c6, 0x800091cc, 0x800091d1,
-	0x80009577, 0x80009580, 0x8000961c, 0x800096b6,
-	0x800096b9, 0x800096e8, 0x80009751, 0x8000975e,
-	0x80009762, 0x80009769, 0x800097cb, 0x800097ed,
-	0x800097f3, 0x80009801, 0x800098a8, 0x800098db,
-	0x800098df, 0x80009996, 0x80009999, 0x800099ac,
-	0x80009aa8, 0x80009ad8, 0x80009adf, 0x80009b25,
-	0x80009b2f, 0x80009b32, 0x80009b3c, 0x80009b5a,
-	0x80009ce5, 0x80009e75, 0x80009e7f, 0x80009ea5,
-	0x80009ebb, 0x80009ec3, 0x80009ecd, 0x80009ed1,
-	0x80009ef9, 0x80009efd, 0x80009f0e, 0x80009f13,
-	0x80009f20, 0x80009f3b, 0x80009f4a, 0x80009f52,
-	0x80009f8d, 0x80009f9c, 0x80009fa0, 0x80000020,
-	0x80003012, 0x80005341, 0x80005344, 0x80005345,
-	0x0000304b, 0x80003099, 0x0000304d, 0x80003099,
-	0x0000304f, 0x80003099, 0x00003051, 0x80003099,
-	0x00003053, 0x80003099, 0x00003055, 0x80003099,
-	0x00003057, 0x80003099, 0x00003059, 0x80003099,
-	0x0000305b, 0x80003099, 0x0000305d, 0x80003099,
-	0x0000305f, 0x80003099, 0x00003061, 0x80003099,
-	0x00003064, 0x80003099, 0x00003066, 0x80003099,
-	0x00003068, 0x80003099, 0x0000306f, 0x80003099,
-	0x0000306f, 0x8000309a, 0x00003072, 0x80003099,
-	0x00003072, 0x8000309a, 0x00003075, 0x80003099,
-	0x00003075, 0x8000309a, 0x00003078, 0x80003099,
-	0x00003078, 0x8000309a, 0x0000307b, 0x80003099,
-	0x0000307b, 0x8000309a, 0x00003046, 0x80003099,
-	0x00000020, 0x80003099, 0x00000020, 0x8000309a,
-	0x0000309d, 0x80003099, 0x00003088, 0x8000308a,
-	0x000030ab, 0x80003099, 0x000030ad, 0x80003099,
-	0x000030af, 0x80003099, 0x000030b1, 0x80003099,
-	0x000030b3, 0x80003099, 0x000030b5, 0x80003099,
-	0x000030b7, 0x80003099, 0x000030b9, 0x80003099,
-	0x000030bb, 0x80003099, 0x000030bd, 0x80003099,
-	0x000030bf, 0x80003099, 0x000030c1, 0x80003099,
-	0x000030c4, 0x80003099, 0x000030c6, 0x80003099,
-	0x000030c8, 0x80003099, 0x000030cf, 0x80003099,
-	0x000030cf, 0x8000309a, 0x000030d2, 0x80003099,
-	0x000030d2, 0x8000309a, 0x000030d5, 0x80003099,
-	0x000030d5, 0x8000309a, 0x000030d8, 0x80003099,
-	0x000030d8, 0x8000309a, 0x000030db, 0x80003099,
-	0x000030db, 0x8000309a, 0x000030a6, 0x80003099,
-	0x000030ef, 0x80003099, 0x000030f0, 0x80003099,
-	0x000030f1, 0x80003099, 0x000030f2, 0x80003099,
-	0x000030fd, 0x80003099, 0x000030b3, 0x800030c8,
-	0x80001100, 0x80001101, 0x800011aa, 0x80001102,
-	0x800011ac, 0x800011ad, 0x80001103, 0x80001104,
-	0x80001105, 0x800011b0, 0x800011b1, 0x800011b2,
-	0x800011b3, 0x800011b4, 0x800011b5, 0x8000111a,
-	0x80001106, 0x80001107, 0x80001108, 0x80001121,
-	0x80001109, 0x8000110a, 0x8000110b, 0x8000110c,
-	0x8000110d, 0x8000110e, 0x8000110f, 0x80001110,
-	0x80001111, 0x80001112, 0x80001161, 0x80001162,
-	0x80001163, 0x80001164, 0x80001165, 0x80001166,
-	0x80001167, 0x80001168, 0x80001169, 0x8000116a,
-	0x8000116b, 0x8000116c, 0x8000116d, 0x8000116e,
-	0x8000116f, 0x80001170, 0x80001171, 0x80001172,
-	0x80001173, 0x80001174, 0x80001175, 0x80001160,
-	0x80001114, 0x80001115, 0x800011c7, 0x800011c8,
-	0x800011cc, 0x800011ce, 0x800011d3, 0x800011d7,
-	0x800011d9, 0x8000111c, 0x800011dd, 0x800011df,
-	0x8000111d, 0x8000111e, 0x80001120, 0x80001122,
-	0x80001123, 0x80001127, 0x80001129, 0x8000112b,
-	0x8000112c, 0x8000112d, 0x8000112e, 0x8000112f,
-	0x80001132, 0x80001136, 0x80001140, 0x80001147,
-	0x8000114c, 0x800011f1, 0x800011f2, 0x80001157,
-	0x80001158, 0x80001159, 0x80001184, 0x80001185,
-	0x80001188, 0x80001191, 0x80001192, 0x80001194,
-	0x8000119e, 0x800011a1, 0x80004e00, 0x80004e8c,
-	0x80004e09, 0x800056db, 0x80004e0a, 0x80004e2d,
-	0x80004e0b, 0x80007532, 0x80004e59, 0x80004e19,
-	0x80004e01, 0x80005929, 0x80005730, 0x80004eba,
-	0x00000028, 0x00001100, 0x80000029, 0x00000028,
-	0x00001102, 0x80000029, 0x00000028, 0x00001103,
-	0x80000029, 0x00000028, 0x00001105, 0x80000029,
-	0x00000028, 0x00001106, 0x80000029, 0x00000028,
-	0x00001107, 0x80000029, 0x00000028, 0x00001109,
-	0x80000029, 0x00000028, 0x0000110b, 0x80000029,
-	0x00000028, 0x0000110c, 0x80000029, 0x00000028,
-	0x0000110e, 0x80000029, 0x00000028, 0x0000110f,
-	0x80000029, 0x00000028, 0x00001110, 0x80000029,
-	0x00000028, 0x00001111, 0x80000029, 0x00000028,
-	0x00001112, 0x80000029, 0x00000028, 0x00001100,
-	0x00001161, 0x80000029, 0x00000028, 0x00001102,
-	0x00001161, 0x80000029, 0x00000028, 0x00001103,
-	0x00001161, 0x80000029, 0x00000028, 0x00001105,
-	0x00001161, 0x80000029, 0x00000028, 0x00001106,
-	0x00001161, 0x80000029, 0x00000028, 0x00001107,
-	0x00001161, 0x80000029, 0x00000028, 0x00001109,
-	0x00001161, 0x80000029, 0x00000028, 0x0000110b,
-	0x00001161, 0x80000029, 0x00000028, 0x0000110c,
-	0x00001161, 0x80000029, 0x00000028, 0x0000110e,
-	0x00001161, 0x80000029, 0x00000028, 0x0000110f,
-	0x00001161, 0x80000029, 0x00000028, 0x00001110,
-	0x00001161, 0x80000029, 0x00000028, 0x00001111,
-	0x00001161, 0x80000029, 0x00000028, 0x00001112,
-	0x00001161, 0x80000029, 0x00000028, 0x0000110c,
-	0x0000116e, 0x80000029, 0x00000028, 0x0000110b,
-	0x00001169, 0x0000110c, 0x00001165, 0x000011ab,
-	0x80000029, 0x00000028, 0x0000110b, 0x00001169,
-	0x00001112, 0x0000116e, 0x80000029, 0x00000028,
-	0x00004e00, 0x80000029, 0x00000028, 0x00004e8c,
-	0x80000029, 0x00000028, 0x00004e09, 0x80000029,
-	0x00000028, 0x000056db, 0x80000029, 0x00000028,
-	0x00004e94, 0x80000029, 0x00000028, 0x0000516d,
-	0x80000029, 0x00000028, 0x00004e03, 0x80000029,
-	0x00000028, 0x0000516b, 0x80000029, 0x00000028,
-	0x00004e5d, 0x80000029, 0x00000028, 0x00005341,
-	0x80000029, 0x00000028, 0x00006708, 0x80000029,
-	0x00000028, 0x0000706b, 0x80000029, 0x00000028,
-	0x00006c34, 0x80000029, 0x00000028, 0x00006728,
-	0x80000029, 0x00000028, 0x000091d1, 0x80000029,
-	0x00000028, 0x0000571f, 0x80000029, 0x00000028,
-	0x000065e5, 0x80000029, 0x00000028, 0x0000682a,
-	0x80000029, 0x00000028, 0x00006709, 0x80000029,
-	0x00000028, 0x0000793e, 0x80000029, 0x00000028,
-	0x0000540d, 0x80000029, 0x00000028, 0x00007279,
-	0x80000029, 0x00000028, 0x00008ca1, 0x80000029,
-	0x00000028, 0x0000795d, 0x80000029, 0x00000028,
-	0x000052b4, 0x80000029, 0x00000028, 0x00004ee3,
-	0x80000029, 0x00000028, 0x0000547c, 0x80000029,
-	0x00000028, 0x00005b66, 0x80000029, 0x00000028,
-	0x000076e3, 0x80000029, 0x00000028, 0x00004f01,
-	0x80000029, 0x00000028, 0x00008cc7, 0x80000029,
-	0x00000028, 0x00005354, 0x80000029, 0x00000028,
-	0x0000796d, 0x80000029, 0x00000028, 0x00004f11,
-	0x80000029, 0x00000028, 0x000081ea, 0x80000029,
-	0x00000028, 0x000081f3, 0x80000029, 0x00000050,
-	0x00000054, 0x80000045, 0x00000032, 0x80000031,
-	0x00000032, 0x80000032, 0x00000032, 0x80000033,
-	0x00000032, 0x80000034, 0x00000032, 0x80000035,
-	0x00000032, 0x80000036, 0x00000032, 0x80000037,
-	0x00000032, 0x80000038, 0x00000032, 0x80000039,
-	0x00000033, 0x80000030, 0x00000033, 0x80000031,
-	0x00000033, 0x80000032, 0x00000033, 0x80000033,
-	0x00000033, 0x80000034, 0x00000033, 0x80000035,
-	0x80001100, 0x80001102, 0x80001103, 0x80001105,
-	0x80001106, 0x80001107, 0x80001109, 0x8000110b,
-	0x8000110c, 0x8000110e, 0x8000110f, 0x80001110,
-	0x80001111, 0x80001112, 0x00001100, 0x80001161,
-	0x00001102, 0x80001161, 0x00001103, 0x80001161,
-	0x00001105, 0x80001161, 0x00001106, 0x80001161,
-	0x00001107, 0x80001161, 0x00001109, 0x80001161,
-	0x0000110b, 0x80001161, 0x0000110c, 0x80001161,
-	0x0000110e, 0x80001161, 0x0000110f, 0x80001161,
-	0x00001110, 0x80001161, 0x00001111, 0x80001161,
-	0x00001112, 0x80001161, 0x0000110e, 0x00001161,
-	0x000011b7, 0x00001100, 0x80001169, 0x0000110c,
-	0x0000116e, 0x0000110b, 0x80001174, 0x0000110b,
-	0x8000116e, 0x80004e00, 0x80004e8c, 0x80004e09,
-	0x800056db, 0x80004e94, 0x8000516d, 0x80004e03,
-	0x8000516b, 0x80004e5d, 0x80005341, 0x80006708,
-	0x8000706b, 0x80006c34, 0x80006728, 0x800091d1,
-	0x8000571f, 0x800065e5, 0x8000682a, 0x80006709,
-	0x8000793e, 0x8000540d, 0x80007279, 0x80008ca1,
-	0x8000795d, 0x800052b4, 0x800079d8, 0x80007537,
-	0x80005973, 0x80009069, 0x8000512a, 0x80005370,
-	0x80006ce8, 0x80009805, 0x80004f11, 0x80005199,
-	0x80006b63, 0x80004e0a, 0x80004e2d, 0x80004e0b,
-	0x80005de6, 0x800053f3, 0x8000533b, 0x80005b97,
-	0x80005b66, 0x800076e3, 0x80004f01, 0x80008cc7,
-	0x80005354, 0x8000591c, 0x00000033, 0x80000036,
-	0x00000033, 0x80000037, 0x00000033, 0x80000038,
-	0x00000033, 0x80000039, 0x00000034, 0x80000030,
-	0x00000034, 0x80000031, 0x00000034, 0x80000032,
-	0x00000034, 0x80000033, 0x00000034, 0x80000034,
-	0x00000034, 0x80000035, 0x00000034, 0x80000036,
-	0x00000034, 0x80000037, 0x00000034, 0x80000038,
-	0x00000034, 0x80000039, 0x00000035, 0x80000030,
-	0x00000031, 0x80006708, 0x00000032, 0x80006708,
-	0x00000033, 0x80006708, 0x00000034, 0x80006708,
-	0x00000035, 0x80006708, 0x00000036, 0x80006708,
-	0x00000037, 0x80006708, 0x00000038, 0x80006708,
-	0x00000039, 0x80006708, 0x00000031, 0x00000030,
-	0x80006708, 0x00000031, 0x00000031, 0x80006708,
-	0x00000031, 0x00000032, 0x80006708, 0x00000048,
-	0x80000067, 0x00000065, 0x00000072, 0x80000067,
-	0x00000065, 0x80000056, 0x0000004c, 0x00000054,
-	0x80000044, 0x800030a2, 0x800030a4, 0x800030a6,
-	0x800030a8, 0x800030aa, 0x800030ab, 0x800030ad,
-	0x800030af, 0x800030b1, 0x800030b3, 0x800030b5,
-	0x800030b7, 0x800030b9, 0x800030bb, 0x800030bd,
-	0x800030bf, 0x800030c1, 0x800030c4, 0x800030c6,
-	0x800030c8, 0x800030ca, 0x800030cb, 0x800030cc,
-	0x800030cd, 0x800030ce, 0x800030cf, 0x800030d2,
-	0x800030d5, 0x800030d8, 0x800030db, 0x800030de,
-	0x800030df, 0x800030e0, 0x800030e1, 0x800030e2,
-	0x800030e4, 0x800030e6, 0x800030e8, 0x800030e9,
-	0x800030ea, 0x800030eb, 0x800030ec, 0x800030ed,
-	0x800030ef, 0x800030f0, 0x800030f1, 0x800030f2,
-	0x000030a2, 0x000030d1, 0x000030fc, 0x800030c8,
-	0x000030a2, 0x000030eb, 0x000030d5, 0x800030a1,
-	0x000030a2, 0x000030f3, 0x000030da, 0x800030a2,
-	0x000030a2, 0x000030fc, 0x800030eb, 0x000030a4,
-	0x000030cb, 0x000030f3, 0x800030b0, 0x000030a4,
-	0x000030f3, 0x800030c1, 0x000030a6, 0x000030a9,
-	0x800030f3, 0x000030a8, 0x000030b9, 0x000030af,
-	0x000030fc, 0x800030c9, 0x000030a8, 0x000030fc,
-	0x000030ab, 0x800030fc, 0x000030aa, 0x000030f3,
-	0x800030b9, 0x000030aa, 0x000030fc, 0x800030e0,
-	0x000030ab, 0x000030a4, 0x800030ea, 0x000030ab,
-	0x000030e9, 0x000030c3, 0x800030c8, 0x000030ab,
-	0x000030ed, 0x000030ea, 0x800030fc, 0x000030ac,
-	0x000030ed, 0x800030f3, 0x000030ac, 0x000030f3,
-	0x800030de, 0x000030ae, 0x800030ac, 0x000030ae,
-	0x000030cb, 0x800030fc, 0x000030ad, 0x000030e5,
-	0x000030ea, 0x800030fc, 0x000030ae, 0x000030eb,
-	0x000030c0, 0x800030fc, 0x000030ad, 0x800030ed,
-	0x000030ad, 0x000030ed, 0x000030b0, 0x000030e9,
-	0x800030e0, 0x000030ad, 0x000030ed, 0x000030e1,
-	0x000030fc, 0x000030c8, 0x800030eb, 0x000030ad,
-	0x000030ed, 0x000030ef, 0x000030c3, 0x800030c8,
-	0x000030b0, 0x000030e9, 0x800030e0, 0x000030b0,
-	0x000030e9, 0x000030e0, 0x000030c8, 0x800030f3,
-	0x000030af, 0x000030eb, 0x000030bc, 0x000030a4,
-	0x800030ed, 0x000030af, 0x000030ed, 0x000030fc,
-	0x800030cd, 0x000030b1, 0x000030fc, 0x800030b9,
-	0x000030b3, 0x000030eb, 0x800030ca, 0x000030b3,
-	0x000030fc, 0x800030dd, 0x000030b5, 0x000030a4,
-	0x000030af, 0x800030eb, 0x000030b5, 0x000030f3,
-	0x000030c1, 0x000030fc, 0x800030e0, 0x000030b7,
-	0x000030ea, 0x000030f3, 0x800030b0, 0x000030bb,
-	0x000030f3, 0x800030c1, 0x000030bb, 0x000030f3,
-	0x800030c8, 0x000030c0, 0x000030fc, 0x800030b9,
-	0x000030c7, 0x800030b7, 0x000030c9, 0x800030eb,
-	0x000030c8, 0x800030f3, 0x000030ca, 0x800030ce,
-	0x000030ce, 0x000030c3, 0x800030c8, 0x000030cf,
-	0x000030a4, 0x800030c4, 0x000030d1, 0x000030fc,
-	0x000030bb, 0x000030f3, 0x800030c8, 0x000030d1,
-	0x000030fc, 0x800030c4, 0x000030d0, 0x000030fc,
-	0x000030ec, 0x800030eb, 0x000030d4, 0x000030a2,
-	0x000030b9, 0x000030c8, 0x800030eb, 0x000030d4,
-	0x000030af, 0x800030eb, 0x000030d4, 0x800030b3,
-	0x000030d3, 0x800030eb, 0x000030d5, 0x000030a1,
-	0x000030e9, 0x000030c3, 0x800030c9, 0x000030d5,
-	0x000030a3, 0x000030fc, 0x800030c8, 0x000030d6,
-	0x000030c3, 0x000030b7, 0x000030a7, 0x800030eb,
-	0x000030d5, 0x000030e9, 0x800030f3, 0x000030d8,
-	0x000030af, 0x000030bf, 0x000030fc, 0x800030eb,
-	0x000030da, 0x800030bd, 0x000030da, 0x000030cb,
-	0x800030d2, 0x000030d8, 0x000030eb, 0x800030c4,
-	0x000030da, 0x000030f3, 0x800030b9, 0x000030da,
-	0x000030fc, 0x800030b8, 0x000030d9, 0x000030fc,
-	0x800030bf, 0x000030dd, 0x000030a4, 0x000030f3,
-	0x800030c8, 0x000030dc, 0x000030eb, 0x800030c8,
-	0x000030db, 0x800030f3, 0x000030dd, 0x000030f3,
-	0x800030c9, 0x000030db, 0x000030fc, 0x800030eb,
-	0x000030db, 0x000030fc, 0x800030f3, 0x000030de,
-	0x000030a4, 0x000030af, 0x800030ed, 0x000030de,
-	0x000030a4, 0x800030eb, 0x000030de, 0x000030c3,
-	0x800030cf, 0x000030de, 0x000030eb, 0x800030af,
-	0x000030de, 0x000030f3, 0x000030b7, 0x000030e7,
-	0x800030f3, 0x000030df, 0x000030af, 0x000030ed,
-	0x800030f3, 0x000030df, 0x800030ea, 0x000030df,
-	0x000030ea, 0x000030d0, 0x000030fc, 0x800030eb,
-	0x000030e1, 0x800030ac, 0x000030e1, 0x000030ac,
-	0x000030c8, 0x800030f3, 0x000030e1, 0x000030fc,
-	0x000030c8, 0x800030eb, 0x000030e4, 0x000030fc,
-	0x800030c9, 0x000030e4, 0x000030fc, 0x800030eb,
-	0x000030e6, 0x000030a2, 0x800030f3, 0x000030ea,
-	0x000030c3, 0x000030c8, 0x800030eb, 0x000030ea,
-	0x800030e9, 0x000030eb, 0x000030d4, 0x800030fc,
-	0x000030eb, 0x000030fc, 0x000030d6, 0x800030eb,
-	0x000030ec, 0x800030e0, 0x000030ec, 0x000030f3,
-	0x000030c8, 0x000030b2, 0x800030f3, 0x000030ef,
-	0x000030c3, 0x800030c8, 0x00000030, 0x800070b9,
-	0x00000031, 0x800070b9, 0x00000032, 0x800070b9,
-	0x00000033, 0x800070b9, 0x00000034, 0x800070b9,
-	0x00000035, 0x800070b9, 0x00000036, 0x800070b9,
-	0x00000037, 0x800070b9, 0x00000038, 0x800070b9,
-	0x00000039, 0x800070b9, 0x00000031, 0x00000030,
-	0x800070b9, 0x00000031, 0x00000031, 0x800070b9,
-	0x00000031, 0x00000032, 0x800070b9, 0x00000031,
-	0x00000033, 0x800070b9, 0x00000031, 0x00000034,
-	0x800070b9, 0x00000031, 0x00000035, 0x800070b9,
-	0x00000031, 0x00000036, 0x800070b9, 0x00000031,
-	0x00000037, 0x800070b9, 0x00000031, 0x00000038,
-	0x800070b9, 0x00000031, 0x00000039, 0x800070b9,
-	0x00000032, 0x00000030, 0x800070b9, 0x00000032,
-	0x00000031, 0x800070b9, 0x00000032, 0x00000032,
-	0x800070b9, 0x00000032, 0x00000033, 0x800070b9,
-	0x00000032, 0x00000034, 0x800070b9, 0x00000068,
-	0x00000050, 0x80000061, 0x00000064, 0x80000061,
-	0x00000041, 0x80000055, 0x00000062, 0x00000061,
-	0x80000072, 0x0000006f, 0x80000056, 0x00000070,
-	0x80000063, 0x00000064, 0x8000006d, 0x00000064,
-	0x0000006d, 0x800000b2, 0x00000064, 0x0000006d,
-	0x800000b3, 0x00000049, 0x80000055, 0x00005e73,
-	0x80006210, 0x0000662d, 0x8000548c, 0x00005927,
-	0x80006b63, 0x0000660e, 0x80006cbb, 0x0000682a,
-	0x00005f0f, 0x00004f1a, 0x8000793e, 0x00000070,
-	0x80000041, 0x0000006e, 0x80000041, 0x000003bc,
-	0x80000041, 0x0000006d, 0x80000041, 0x0000006b,
-	0x80000041, 0x0000004b, 0x80000042, 0x0000004d,
-	0x80000042, 0x00000047, 0x80000042, 0x00000063,
-	0x00000061, 0x8000006c, 0x0000006b, 0x00000063,
-	0x00000061, 0x8000006c, 0x00000070, 0x80000046,
-	0x0000006e, 0x80000046, 0x000003bc, 0x80000046,
-	0x000003bc, 0x80000067, 0x0000006d, 0x80000067,
-	0x0000006b, 0x80000067, 0x00000048, 0x8000007a,
-	0x0000006b, 0x00000048, 0x8000007a, 0x0000004d,
-	0x00000048, 0x8000007a, 0x00000047, 0x00000048,
-	0x8000007a, 0x00000054, 0x00000048, 0x8000007a,
-	0x000003bc, 0x80002113, 0x0000006d, 0x80002113,
-	0x00000064, 0x80002113, 0x0000006b, 0x80002113,
-	0x00000066, 0x8000006d, 0x0000006e, 0x8000006d,
-	0x000003bc, 0x8000006d, 0x0000006d, 0x8000006d,
-	0x00000063, 0x8000006d, 0x0000006b, 0x8000006d,
-	0x0000006d, 0x0000006d, 0x800000b2, 0x00000063,
-	0x0000006d, 0x800000b2, 0x0000006d, 0x800000b2,
-	0x0000006b, 0x0000006d, 0x800000b2, 0x0000006d,
-	0x0000006d, 0x800000b3, 0x00000063, 0x0000006d,
-	0x800000b3, 0x0000006d, 0x800000b3, 0x0000006b,
-	0x0000006d, 0x800000b3, 0x0000006d, 0x00002215,
-	0x80000073, 0x0000006d, 0x00002215, 0x00000073,
-	0x800000b2, 0x00000050, 0x80000061, 0x0000006b,
-	0x00000050, 0x80000061, 0x0000004d, 0x00000050,
-	0x80000061, 0x00000047, 0x00000050, 0x80000061,
-	0x00000072, 0x00000061, 0x80000064, 0x00000072,
-	0x00000061, 0x00000064, 0x00002215, 0x80000073,
-	0x00000072, 0x00000061, 0x00000064, 0x00002215,
-	0x00000073, 0x800000b2, 0x00000070, 0x80000073,
-	0x0000006e, 0x80000073, 0x000003bc, 0x80000073,
-	0x0000006d, 0x80000073, 0x00000070, 0x80000056,
-	0x0000006e, 0x80000056, 0x000003bc, 0x80000056,
-	0x0000006d, 0x80000056, 0x0000006b, 0x80000056,
-	0x0000004d, 0x80000056, 0x00000070, 0x80000057,
-	0x0000006e, 0x80000057, 0x000003bc, 0x80000057,
-	0x0000006d, 0x80000057, 0x0000006b, 0x80000057,
-	0x0000004d, 0x80000057, 0x0000006b, 0x800003a9,
-	0x0000004d, 0x800003a9, 0x00000061, 0x0000002e,
-	0x0000006d, 0x8000002e, 0x00000042, 0x80000071,
-	0x00000063, 0x80000063, 0x00000063, 0x80000064,
-	0x00000043, 0x00002215, 0x0000006b, 0x80000067,
-	0x00000043, 0x0000006f, 0x8000002e, 0x00000064,
-	0x80000042, 0x00000047, 0x80000079, 0x00000068,
-	0x80000061, 0x00000048, 0x80000050, 0x00000069,
-	0x8000006e, 0x0000004b, 0x8000004b, 0x0000004b,
-	0x8000004d, 0x0000006b, 0x80000074, 0x0000006c,
-	0x8000006d, 0x0000006c, 0x8000006e, 0x0000006c,
-	0x0000006f, 0x80000067, 0x0000006c, 0x80000078,
-	0x0000006d, 0x80000062, 0x0000006d, 0x00000069,
-	0x8000006c, 0x0000006d, 0x0000006f, 0x8000006c,
-	0x00000050, 0x80000048, 0x00000070, 0x0000002e,
-	0x0000006d, 0x8000002e, 0x00000050, 0x00000050,
-	0x8000004d, 0x00000050, 0x80000052, 0x00000073,
-	0x80000072, 0x00000053, 0x80000076, 0x00000057,
-	0x80000062, 0x00000056, 0x00002215, 0x8000006d,
-	0x00000041, 0x00002215, 0x8000006d, 0x00000031,
-	0x800065e5, 0x00000032, 0x800065e5, 0x00000033,
-	0x800065e5, 0x00000034, 0x800065e5, 0x00000035,
-	0x800065e5, 0x00000036, 0x800065e5, 0x00000037,
-	0x800065e5, 0x00000038, 0x800065e5, 0x00000039,
-	0x800065e5, 0x00000031, 0x00000030, 0x800065e5,
-	0x00000031, 0x00000031, 0x800065e5, 0x00000031,
-	0x00000032, 0x800065e5, 0x00000031, 0x00000033,
-	0x800065e5, 0x00000031, 0x00000034, 0x800065e5,
-	0x00000031, 0x00000035, 0x800065e5, 0x00000031,
-	0x00000036, 0x800065e5, 0x00000031, 0x00000037,
-	0x800065e5, 0x00000031, 0x00000038, 0x800065e5,
-	0x00000031, 0x00000039, 0x800065e5, 0x00000032,
-	0x00000030, 0x800065e5, 0x00000032, 0x00000031,
-	0x800065e5, 0x00000032, 0x00000032, 0x800065e5,
-	0x00000032, 0x00000033, 0x800065e5, 0x00000032,
-	0x00000034, 0x800065e5, 0x00000032, 0x00000035,
-	0x800065e5, 0x00000032, 0x00000036, 0x800065e5,
-	0x00000032, 0x00000037, 0x800065e5, 0x00000032,
-	0x00000038, 0x800065e5, 0x00000032, 0x00000039,
-	0x800065e5, 0x00000033, 0x00000030, 0x800065e5,
-	0x00000033, 0x00000031, 0x800065e5, 0x00000067,
-	0x00000061, 0x8000006c, 0x80008c48, 0x800066f4,
-	0x80008eca, 0x80008cc8, 0x80006ed1, 0x80004e32,
-	0x800053e5, 0x80009f9c, 0x80009f9c, 0x80005951,
-	0x800091d1, 0x80005587, 0x80005948, 0x800061f6,
-	0x80007669, 0x80007f85, 0x8000863f, 0x800087ba,
-	0x800088f8, 0x8000908f, 0x80006a02, 0x80006d1b,
-	0x800070d9, 0x800073de, 0x8000843d, 0x8000916a,
-	0x800099f1, 0x80004e82, 0x80005375, 0x80006b04,
-	0x8000721b, 0x8000862d, 0x80009e1e, 0x80005d50,
-	0x80006feb, 0x800085cd, 0x80008964, 0x800062c9,
-	0x800081d8, 0x8000881f, 0x80005eca, 0x80006717,
-	0x80006d6a, 0x800072fc, 0x800090ce, 0x80004f86,
-	0x800051b7, 0x800052de, 0x800064c4, 0x80006ad3,
-	0x80007210, 0x800076e7, 0x80008001, 0x80008606,
-	0x8000865c, 0x80008def, 0x80009732, 0x80009b6f,
-	0x80009dfa, 0x8000788c, 0x8000797f, 0x80007da0,
-	0x800083c9, 0x80009304, 0x80009e7f, 0x80008ad6,
-	0x800058df, 0x80005f04, 0x80007c60, 0x8000807e,
-	0x80007262, 0x800078ca, 0x80008cc2, 0x800096f7,
-	0x800058d8, 0x80005c62, 0x80006a13, 0x80006dda,
-	0x80006f0f, 0x80007d2f, 0x80007e37, 0x8000964b,
-	0x800052d2, 0x8000808b, 0x800051dc, 0x800051cc,
-	0x80007a1c, 0x80007dbe, 0x800083f1, 0x80009675,
-	0x80008b80, 0x800062cf, 0x80006a02, 0x80008afe,
-	0x80004e39, 0x80005be7, 0x80006012, 0x80007387,
-	0x80007570, 0x80005317, 0x800078fb, 0x80004fbf,
-	0x80005fa9, 0x80004e0d, 0x80006ccc, 0x80006578,
-	0x80007d22, 0x800053c3, 0x8000585e, 0x80007701,
-	0x80008449, 0x80008aaa, 0x80006bba, 0x80008fb0,
-	0x80006c88, 0x800062fe, 0x800082e5, 0x800063a0,
-	0x80007565, 0x80004eae, 0x80005169, 0x800051c9,
-	0x80006881, 0x80007ce7, 0x8000826f, 0x80008ad2,
-	0x800091cf, 0x800052f5, 0x80005442, 0x80005973,
-	0x80005eec, 0x800065c5, 0x80006ffe, 0x8000792a,
-	0x800095ad, 0x80009a6a, 0x80009e97, 0x80009ece,
-	0x8000529b, 0x800066c6, 0x80006b77, 0x80008f62,
-	0x80005e74, 0x80006190, 0x80006200, 0x8000649a,
-	0x80006f23, 0x80007149, 0x80007489, 0x800079ca,
-	0x80007df4, 0x8000806f, 0x80008f26, 0x800084ee,
-	0x80009023, 0x8000934a, 0x80005217, 0x800052a3,
-	0x800054bd, 0x800070c8, 0x800088c2, 0x80008aaa,
-	0x80005ec9, 0x80005ff5, 0x8000637b, 0x80006bae,
-	0x80007c3e, 0x80007375, 0x80004ee4, 0x800056f9,
-	0x80005be7, 0x80005dba, 0x8000601c, 0x800073b2,
-	0x80007469, 0x80007f9a, 0x80008046, 0x80009234,
-	0x800096f6, 0x80009748, 0x80009818, 0x80004f8b,
-	0x800079ae, 0x800091b4, 0x800096b8, 0x800060e1,
-	0x80004e86, 0x800050da, 0x80005bee, 0x80005c3f,
-	0x80006599, 0x80006a02, 0x800071ce, 0x80007642,
-	0x800084fc, 0x8000907c, 0x80009f8d, 0x80006688,
-	0x8000962e, 0x80005289, 0x8000677b, 0x800067f3,
-	0x80006d41, 0x80006e9c, 0x80007409, 0x80007559,
-	0x8000786b, 0x80007d10, 0x8000985e, 0x8000516d,
-	0x8000622e, 0x80009678, 0x8000502b, 0x80005d19,
-	0x80006dea, 0x80008f2a, 0x80005f8b, 0x80006144,
-	0x80006817, 0x80007387, 0x80009686, 0x80005229,
-	0x8000540f, 0x80005c65, 0x80006613, 0x8000674e,
-	0x800068a8, 0x80006ce5, 0x80007406, 0x800075e2,
-	0x80007f79, 0x800088cf, 0x800088e1, 0x800091cc,
-	0x800096e2, 0x8000533f, 0x80006eba, 0x8000541d,
-	0x800071d0, 0x80007498, 0x800085fa, 0x800096a3,
-	0x80009c57, 0x80009e9f, 0x80006797, 0x80006dcb,
-	0x800081e8, 0x80007acb, 0x80007b20, 0x80007c92,
-	0x800072c0, 0x80007099, 0x80008b58, 0x80004ec0,
-	0x80008336, 0x8000523a, 0x80005207, 0x80005ea6,
-	0x800062d3, 0x80007cd6, 0x80005b85, 0x80006d1e,
-	0x800066b4, 0x80008f3b, 0x8000884c, 0x8000964d,
-	0x8000898b, 0x80005ed3, 0x80005140, 0x800055c0,
-	0x8000585a, 0x80006674, 0x800051de, 0x8000732a,
-	0x800076ca, 0x8000793c, 0x8000795e, 0x80007965,
-	0x8000798f, 0x80009756, 0x80007cbe, 0x80007fbd,
-	0x80008612, 0x80008af8, 0x80009038, 0x800090fd,
-	0x800098ef, 0x800098fc, 0x80009928, 0x80009db4,
-	0x80004fae, 0x800050e7, 0x8000514d, 0x800052c9,
-	0x800052e4, 0x80005351, 0x8000559d, 0x80005606,
-	0x80005668, 0x80005840, 0x800058a8, 0x80005c64,
-	0x80005c6e, 0x80006094, 0x80006168, 0x8000618e,
-	0x800061f2, 0x8000654f, 0x800065e2, 0x80006691,
-	0x80006885, 0x80006d77, 0x80006e1a, 0x80006f22,
-	0x8000716e, 0x8000722b, 0x80007422, 0x80007891,
-	0x8000793e, 0x80007949, 0x80007948, 0x80007950,
-	0x80007956, 0x8000795d, 0x8000798d, 0x8000798e,
-	0x80007a40, 0x80007a81, 0x80007bc0, 0x80007df4,
-	0x80007e09, 0x80007e41, 0x80007f72, 0x80008005,
-	0x800081ed, 0x80008279, 0x80008279, 0x80008457,
-	0x80008910, 0x80008996, 0x80008b01, 0x80008b39,
-	0x80008cd3, 0x80008d08, 0x80008fb6, 0x80009038,
-	0x800096e3, 0x800097ff, 0x8000983b, 0x80004e26,
-	0x800051b5, 0x80005168, 0x80004f80, 0x80005145,
-	0x80005180, 0x800052c7, 0x800052fa, 0x8000559d,
-	0x80005555, 0x80005599, 0x800055e2, 0x8000585a,
-	0x800058b3, 0x80005944, 0x80005954, 0x80005a62,
-	0x80005b28, 0x80005ed2, 0x80005ed9, 0x80005f69,
-	0x80005fad, 0x800060d8, 0x8000614e, 0x80006108,
-	0x8000618e, 0x80006160, 0x800061f2, 0x80006234,
-	0x800063c4, 0x8000641c, 0x80006452, 0x80006556,
-	0x80006674, 0x80006717, 0x8000671b, 0x80006756,
-	0x80006b79, 0x80006bba, 0x80006d41, 0x80006edb,
-	0x80006ecb, 0x80006f22, 0x8000701e, 0x8000716e,
-	0x800077a7, 0x80007235, 0x800072af, 0x8000732a,
-	0x80007471, 0x80007506, 0x8000753b, 0x8000761d,
-	0x8000761f, 0x800076ca, 0x800076db, 0x800076f4,
-	0x8000774a, 0x80007740, 0x800078cc, 0x80007ab1,
-	0x80007bc0, 0x80007c7b, 0x80007d5b, 0x80007df4,
-	0x80007f3e, 0x80008005, 0x80008352, 0x800083ef,
-	0x80008779, 0x80008941, 0x80008986, 0x80008996,
-	0x80008abf, 0x80008af8, 0x80008acb, 0x80008b01,
-	0x80008afe, 0x80008aed, 0x80008b39, 0x80008b8a,
-	0x80008d08, 0x80008f38, 0x80009072, 0x80009199,
-	0x80009276, 0x8000967c, 0x800096e3, 0x80009756,
-	0x800097db, 0x800097ff, 0x8000980b, 0x8000983b,
-	0x80009b12, 0x80009f9c, 0x8002284a, 0x80022844,
-	0x800233d5, 0x80003b9d, 0x80004018, 0x80004039,
-	0x80025249, 0x80025cd0, 0x80027ed3, 0x80009f43,
-	0x80009f8e, 0x00000066, 0x80000066, 0x00000066,
-	0x80000069, 0x00000066, 0x8000006c, 0x00000066,
-	0x00000066, 0x80000069, 0x00000066, 0x00000066,
-	0x8000006c, 0x0000017f, 0x80000074, 0x00000073,
-	0x80000074, 0x00000574, 0x80000576, 0x00000574,
-	0x80000565, 0x00000574, 0x8000056b, 0x0000057e,
-	0x80000576, 0x00000574, 0x8000056d, 0x000005d9,
-	0x800005b4, 0x000005f2, 0x800005b7, 0x800005e2,
-	0x800005d0, 0x800005d3, 0x800005d4, 0x800005db,
-	0x800005dc, 0x800005dd, 0x800005e8, 0x800005ea,
-	0x8000002b, 0x000005e9, 0x800005c1, 0x000005e9,
-	0x800005c2, 0x0000fb49, 0x800005c1, 0x0000fb49,
-	0x800005c2, 0x000005d0, 0x800005b7, 0x000005d0,
-	0x800005b8, 0x000005d0, 0x800005bc, 0x000005d1,
-	0x800005bc, 0x000005d2, 0x800005bc, 0x000005d3,
-	0x800005bc, 0x000005d4, 0x800005bc, 0x000005d5,
-	0x800005bc, 0x000005d6, 0x800005bc, 0x000005d8,
-	0x800005bc, 0x000005d9, 0x800005bc, 0x000005da,
-	0x800005bc, 0x000005db, 0x800005bc, 0x000005dc,
-	0x800005bc, 0x000005de, 0x800005bc, 0x000005e0,
-	0x800005bc, 0x000005e1, 0x800005bc, 0x000005e3,
-	0x800005bc, 0x000005e4, 0x800005bc, 0x000005e6,
-	0x800005bc, 0x000005e7, 0x800005bc, 0x000005e8,
-	0x800005bc, 0x000005e9, 0x800005bc, 0x000005ea,
-	0x800005bc, 0x000005d5, 0x800005b9, 0x000005d1,
-	0x800005bf, 0x000005db, 0x800005bf, 0x000005e4,
-	0x800005bf, 0x000005d0, 0x800005dc, 0x80000671,
-	0x80000671, 0x8000067b, 0x8000067b, 0x8000067b,
-	0x8000067b, 0x8000067e, 0x8000067e, 0x8000067e,
-	0x8000067e, 0x80000680, 0x80000680, 0x80000680,
-	0x80000680, 0x8000067a, 0x8000067a, 0x8000067a,
-	0x8000067a, 0x8000067f, 0x8000067f, 0x8000067f,
-	0x8000067f, 0x80000679, 0x80000679, 0x80000679,
-	0x80000679, 0x800006a4, 0x800006a4, 0x800006a4,
-	0x800006a4, 0x800006a6, 0x800006a6, 0x800006a6,
-	0x800006a6, 0x80000684, 0x80000684, 0x80000684,
-	0x80000684, 0x80000683, 0x80000683, 0x80000683,
-	0x80000683, 0x80000686, 0x80000686, 0x80000686,
-	0x80000686, 0x80000687, 0x80000687, 0x80000687,
-	0x80000687, 0x8000068d, 0x8000068d, 0x8000068c,
-	0x8000068c, 0x8000068e, 0x8000068e, 0x80000688,
-	0x80000688, 0x80000698, 0x80000698, 0x80000691,
-	0x80000691, 0x800006a9, 0x800006a9, 0x800006a9,
-	0x800006a9, 0x800006af, 0x800006af, 0x800006af,
-	0x800006af, 0x800006b3, 0x800006b3, 0x800006b3,
-	0x800006b3, 0x800006b1, 0x800006b1, 0x800006b1,
-	0x800006b1, 0x800006ba, 0x800006ba, 0x800006bb,
-	0x800006bb, 0x800006bb, 0x800006bb, 0x800006c0,
-	0x800006c0, 0x800006c1, 0x800006c1, 0x800006c1,
-	0x800006c1, 0x800006be, 0x800006be, 0x800006be,
-	0x800006be, 0x800006d2, 0x800006d2, 0x800006d3,
-	0x800006d3, 0x800006ad, 0x800006ad, 0x800006ad,
-	0x800006ad, 0x800006c7, 0x800006c7, 0x800006c6,
-	0x800006c6, 0x800006c8, 0x800006c8, 0x80000677,
-	0x800006cb, 0x800006cb, 0x800006c5, 0x800006c5,
-	0x800006c9, 0x800006c9, 0x800006d0, 0x800006d0,
-	0x800006d0, 0x800006d0, 0x80000649, 0x80000649,
-	0x00000626, 0x80000627, 0x00000626, 0x80000627,
-	0x00000626, 0x800006d5, 0x00000626, 0x800006d5,
-	0x00000626, 0x80000648, 0x00000626, 0x80000648,
-	0x00000626, 0x800006c7, 0x00000626, 0x800006c7,
-	0x00000626, 0x800006c6, 0x00000626, 0x800006c6,
-	0x00000626, 0x800006c8, 0x00000626, 0x800006c8,
-	0x00000626, 0x800006d0, 0x00000626, 0x800006d0,
-	0x00000626, 0x800006d0, 0x00000626, 0x80000649,
-	0x00000626, 0x80000649, 0x00000626, 0x80000649,
-	0x800006cc, 0x800006cc, 0x800006cc, 0x800006cc,
-	0x00000626, 0x8000062c, 0x00000626, 0x8000062d,
-	0x00000626, 0x80000645, 0x00000626, 0x80000649,
-	0x00000626, 0x8000064a, 0x00000628, 0x8000062c,
-	0x00000628, 0x8000062d, 0x00000628, 0x8000062e,
-	0x00000628, 0x80000645, 0x00000628, 0x80000649,
-	0x00000628, 0x8000064a, 0x0000062a, 0x8000062c,
-	0x0000062a, 0x8000062d, 0x0000062a, 0x8000062e,
-	0x0000062a, 0x80000645, 0x0000062a, 0x80000649,
-	0x0000062a, 0x8000064a, 0x0000062b, 0x8000062c,
-	0x0000062b, 0x80000645, 0x0000062b, 0x80000649,
-	0x0000062b, 0x8000064a, 0x0000062c, 0x8000062d,
-	0x0000062c, 0x80000645, 0x0000062d, 0x8000062c,
-	0x0000062d, 0x80000645, 0x0000062e, 0x8000062c,
-	0x0000062e, 0x8000062d, 0x0000062e, 0x80000645,
-	0x00000633, 0x8000062c, 0x00000633, 0x8000062d,
-	0x00000633, 0x8000062e, 0x00000633, 0x80000645,
-	0x00000635, 0x8000062d, 0x00000635, 0x80000645,
-	0x00000636, 0x8000062c, 0x00000636, 0x8000062d,
-	0x00000636, 0x8000062e, 0x00000636, 0x80000645,
-	0x00000637, 0x8000062d, 0x00000637, 0x80000645,
-	0x00000638, 0x80000645, 0x00000639, 0x8000062c,
-	0x00000639, 0x80000645, 0x0000063a, 0x8000062c,
-	0x0000063a, 0x80000645, 0x00000641, 0x8000062c,
-	0x00000641, 0x8000062d, 0x00000641, 0x8000062e,
-	0x00000641, 0x80000645, 0x00000641, 0x80000649,
-	0x00000641, 0x8000064a, 0x00000642, 0x8000062d,
-	0x00000642, 0x80000645, 0x00000642, 0x80000649,
-	0x00000642, 0x8000064a, 0x00000643, 0x80000627,
-	0x00000643, 0x8000062c, 0x00000643, 0x8000062d,
-	0x00000643, 0x8000062e, 0x00000643, 0x80000644,
-	0x00000643, 0x80000645, 0x00000643, 0x80000649,
-	0x00000643, 0x8000064a, 0x00000644, 0x8000062c,
-	0x00000644, 0x8000062d, 0x00000644, 0x8000062e,
-	0x00000644, 0x80000645, 0x00000644, 0x80000649,
-	0x00000644, 0x8000064a, 0x00000645, 0x8000062c,
-	0x00000645, 0x8000062d, 0x00000645, 0x8000062e,
-	0x00000645, 0x80000645, 0x00000645, 0x80000649,
-	0x00000645, 0x8000064a, 0x00000646, 0x8000062c,
-	0x00000646, 0x8000062d, 0x00000646, 0x8000062e,
-	0x00000646, 0x80000645, 0x00000646, 0x80000649,
-	0x00000646, 0x8000064a, 0x00000647, 0x8000062c,
-	0x00000647, 0x80000645, 0x00000647, 0x80000649,
-	0x00000647, 0x8000064a, 0x0000064a, 0x8000062c,
-	0x0000064a, 0x8000062d, 0x0000064a, 0x8000062e,
-	0x0000064a, 0x80000645, 0x0000064a, 0x80000649,
-	0x0000064a, 0x8000064a, 0x00000630, 0x80000670,
-	0x00000631, 0x80000670, 0x00000649, 0x80000670,
-	0x00000020, 0x0000064c, 0x80000651, 0x00000020,
-	0x0000064d, 0x80000651, 0x00000020, 0x0000064e,
-	0x80000651, 0x00000020, 0x0000064f, 0x80000651,
-	0x00000020, 0x00000650, 0x80000651, 0x00000020,
-	0x00000651, 0x80000670, 0x00000626, 0x80000631,
-	0x00000626, 0x80000632, 0x00000626, 0x80000645,
-	0x00000626, 0x80000646, 0x00000626, 0x80000649,
-	0x00000626, 0x8000064a, 0x00000628, 0x80000631,
-	0x00000628, 0x80000632, 0x00000628, 0x80000645,
-	0x00000628, 0x80000646, 0x00000628, 0x80000649,
-	0x00000628, 0x8000064a, 0x0000062a, 0x80000631,
-	0x0000062a, 0x80000632, 0x0000062a, 0x80000645,
-	0x0000062a, 0x80000646, 0x0000062a, 0x80000649,
-	0x0000062a, 0x8000064a, 0x0000062b, 0x80000631,
-	0x0000062b, 0x80000632, 0x0000062b, 0x80000645,
-	0x0000062b, 0x80000646, 0x0000062b, 0x80000649,
-	0x0000062b, 0x8000064a, 0x00000641, 0x80000649,
-	0x00000641, 0x8000064a, 0x00000642, 0x80000649,
-	0x00000642, 0x8000064a, 0x00000643, 0x80000627,
-	0x00000643, 0x80000644, 0x00000643, 0x80000645,
-	0x00000643, 0x80000649, 0x00000643, 0x8000064a,
-	0x00000644, 0x80000645, 0x00000644, 0x80000649,
-	0x00000644, 0x8000064a, 0x00000645, 0x80000627,
-	0x00000645, 0x80000645, 0x00000646, 0x80000631,
-	0x00000646, 0x80000632, 0x00000646, 0x80000645,
-	0x00000646, 0x80000646, 0x00000646, 0x80000649,
-	0x00000646, 0x8000064a, 0x00000649, 0x80000670,
-	0x0000064a, 0x80000631, 0x0000064a, 0x80000632,
-	0x0000064a, 0x80000645, 0x0000064a, 0x80000646,
-	0x0000064a, 0x80000649, 0x0000064a, 0x8000064a,
-	0x00000626, 0x8000062c, 0x00000626, 0x8000062d,
-	0x00000626, 0x8000062e, 0x00000626, 0x80000645,
-	0x00000626, 0x80000647, 0x00000628, 0x8000062c,
-	0x00000628, 0x8000062d, 0x00000628, 0x8000062e,
-	0x00000628, 0x80000645, 0x00000628, 0x80000647,
-	0x0000062a, 0x8000062c, 0x0000062a, 0x8000062d,
-	0x0000062a, 0x8000062e, 0x0000062a, 0x80000645,
-	0x0000062a, 0x80000647, 0x0000062b, 0x80000645,
-	0x0000062c, 0x8000062d, 0x0000062c, 0x80000645,
-	0x0000062d, 0x8000062c, 0x0000062d, 0x80000645,
-	0x0000062e, 0x8000062c, 0x0000062e, 0x80000645,
-	0x00000633, 0x8000062c, 0x00000633, 0x8000062d,
-	0x00000633, 0x8000062e, 0x00000633, 0x80000645,
-	0x00000635, 0x8000062d, 0x00000635, 0x8000062e,
-	0x00000635, 0x80000645, 0x00000636, 0x8000062c,
-	0x00000636, 0x8000062d, 0x00000636, 0x8000062e,
-	0x00000636, 0x80000645, 0x00000637, 0x8000062d,
-	0x00000638, 0x80000645, 0x00000639, 0x8000062c,
-	0x00000639, 0x80000645, 0x0000063a, 0x8000062c,
-	0x0000063a, 0x80000645, 0x00000641, 0x8000062c,
-	0x00000641, 0x8000062d, 0x00000641, 0x8000062e,
-	0x00000641, 0x80000645, 0x00000642, 0x8000062d,
-	0x00000642, 0x80000645, 0x00000643, 0x8000062c,
-	0x00000643, 0x8000062d, 0x00000643, 0x8000062e,
-	0x00000643, 0x80000644, 0x00000643, 0x80000645,
-	0x00000644, 0x8000062c, 0x00000644, 0x8000062d,
-	0x00000644, 0x8000062e, 0x00000644, 0x80000645,
-	0x00000644, 0x80000647, 0x00000645, 0x8000062c,
-	0x00000645, 0x8000062d, 0x00000645, 0x8000062e,
-	0x00000645, 0x80000645, 0x00000646, 0x8000062c,
-	0x00000646, 0x8000062d, 0x00000646, 0x8000062e,
-	0x00000646, 0x80000645, 0x00000646, 0x80000647,
-	0x00000647, 0x8000062c, 0x00000647, 0x80000645,
-	0x00000647, 0x80000670, 0x0000064a, 0x8000062c,
-	0x0000064a, 0x8000062d, 0x0000064a, 0x8000062e,
-	0x0000064a, 0x80000645, 0x0000064a, 0x80000647,
-	0x00000626, 0x80000645, 0x00000626, 0x80000647,
-	0x00000628, 0x80000645, 0x00000628, 0x80000647,
-	0x0000062a, 0x80000645, 0x0000062a, 0x80000647,
-	0x0000062b, 0x80000645, 0x0000062b, 0x80000647,
-	0x00000633, 0x80000645, 0x00000633, 0x80000647,
-	0x00000634, 0x80000645, 0x00000634, 0x80000647,
-	0x00000643, 0x80000644, 0x00000643, 0x80000645,
-	0x00000644, 0x80000645, 0x00000646, 0x80000645,
-	0x00000646, 0x80000647, 0x0000064a, 0x80000645,
-	0x0000064a, 0x80000647, 0x00000640, 0x0000064e,
-	0x80000651, 0x00000640, 0x0000064f, 0x80000651,
-	0x00000640, 0x00000650, 0x80000651, 0x00000637,
-	0x80000649, 0x00000637, 0x8000064a, 0x00000639,
-	0x80000649, 0x00000639, 0x8000064a, 0x0000063a,
-	0x80000649, 0x0000063a, 0x8000064a, 0x00000633,
-	0x80000649, 0x00000633, 0x8000064a, 0x00000634,
-	0x80000649, 0x00000634, 0x8000064a, 0x0000062d,
-	0x80000649, 0x0000062d, 0x8000064a, 0x0000062c,
-	0x80000649, 0x0000062c, 0x8000064a, 0x0000062e,
-	0x80000649, 0x0000062e, 0x8000064a, 0x00000635,
-	0x80000649, 0x00000635, 0x8000064a, 0x00000636,
-	0x80000649, 0x00000636, 0x8000064a, 0x00000634,
-	0x8000062c, 0x00000634, 0x8000062d, 0x00000634,
-	0x8000062e, 0x00000634, 0x80000645, 0x00000634,
-	0x80000631, 0x00000633, 0x80000631, 0x00000635,
-	0x80000631, 0x00000636, 0x80000631, 0x00000637,
-	0x80000649, 0x00000637, 0x8000064a, 0x00000639,
-	0x80000649, 0x00000639, 0x8000064a, 0x0000063a,
-	0x80000649, 0x0000063a, 0x8000064a, 0x00000633,
-	0x80000649, 0x00000633, 0x8000064a, 0x00000634,
-	0x80000649, 0x00000634, 0x8000064a, 0x0000062d,
-	0x80000649, 0x0000062d, 0x8000064a, 0x0000062c,
-	0x80000649, 0x0000062c, 0x8000064a, 0x0000062e,
-	0x80000649, 0x0000062e, 0x8000064a, 0x00000635,
-	0x80000649, 0x00000635, 0x8000064a, 0x00000636,
-	0x80000649, 0x00000636, 0x8000064a, 0x00000634,
-	0x8000062c, 0x00000634, 0x8000062d, 0x00000634,
-	0x8000062e, 0x00000634, 0x80000645, 0x00000634,
-	0x80000631, 0x00000633, 0x80000631, 0x00000635,
-	0x80000631, 0x00000636, 0x80000631, 0x00000634,
-	0x8000062c, 0x00000634, 0x8000062d, 0x00000634,
-	0x8000062e, 0x00000634, 0x80000645, 0x00000633,
-	0x80000647, 0x00000634, 0x80000647, 0x00000637,
-	0x80000645, 0x00000633, 0x8000062c, 0x00000633,
-	0x8000062d, 0x00000633, 0x8000062e, 0x00000634,
-	0x8000062c, 0x00000634, 0x8000062d, 0x00000634,
-	0x8000062e, 0x00000637, 0x80000645, 0x00000638,
-	0x80000645, 0x00000627, 0x8000064b, 0x00000627,
-	0x8000064b, 0x0000062a, 0x0000062c, 0x80000645,
-	0x0000062a, 0x0000062d, 0x8000062c, 0x0000062a,
-	0x0000062d, 0x8000062c, 0x0000062a, 0x0000062d,
-	0x80000645, 0x0000062a, 0x0000062e, 0x80000645,
-	0x0000062a, 0x00000645, 0x8000062c, 0x0000062a,
-	0x00000645, 0x8000062d, 0x0000062a, 0x00000645,
-	0x8000062e, 0x0000062c, 0x00000645, 0x8000062d,
-	0x0000062c, 0x00000645, 0x8000062d, 0x0000062d,
-	0x00000645, 0x8000064a, 0x0000062d, 0x00000645,
-	0x80000649, 0x00000633, 0x0000062d, 0x8000062c,
-	0x00000633, 0x0000062c, 0x8000062d, 0x00000633,
-	0x0000062c, 0x80000649, 0x00000633, 0x00000645,
-	0x8000062d, 0x00000633, 0x00000645, 0x8000062d,
-	0x00000633, 0x00000645, 0x8000062c, 0x00000633,
-	0x00000645, 0x80000645, 0x00000633, 0x00000645,
-	0x80000645, 0x00000635, 0x0000062d, 0x8000062d,
-	0x00000635, 0x0000062d, 0x8000062d, 0x00000635,
-	0x00000645, 0x80000645, 0x00000634, 0x0000062d,
-	0x80000645, 0x00000634, 0x0000062d, 0x80000645,
-	0x00000634, 0x0000062c, 0x8000064a, 0x00000634,
-	0x00000645, 0x8000062e, 0x00000634, 0x00000645,
-	0x8000062e, 0x00000634, 0x00000645, 0x80000645,
-	0x00000634, 0x00000645, 0x80000645, 0x00000636,
-	0x0000062d, 0x80000649, 0x00000636, 0x0000062e,
-	0x80000645, 0x00000636, 0x0000062e, 0x80000645,
-	0x00000637, 0x00000645, 0x8000062d, 0x00000637,
-	0x00000645, 0x8000062d, 0x00000637, 0x00000645,
-	0x80000645, 0x00000637, 0x00000645, 0x8000064a,
-	0x00000639, 0x0000062c, 0x80000645, 0x00000639,
-	0x00000645, 0x80000645, 0x00000639, 0x00000645,
-	0x80000645, 0x00000639, 0x00000645, 0x80000649,
-	0x0000063a, 0x00000645, 0x80000645, 0x0000063a,
-	0x00000645, 0x8000064a, 0x0000063a, 0x00000645,
-	0x80000649, 0x00000641, 0x0000062e, 0x80000645,
-	0x00000641, 0x0000062e, 0x80000645, 0x00000642,
-	0x00000645, 0x8000062d, 0x00000642, 0x00000645,
-	0x80000645, 0x00000644, 0x0000062d, 0x80000645,
-	0x00000644, 0x0000062d, 0x8000064a, 0x00000644,
-	0x0000062d, 0x80000649, 0x00000644, 0x0000062c,
-	0x8000062c, 0x00000644, 0x0000062c, 0x8000062c,
-	0x00000644, 0x0000062e, 0x80000645, 0x00000644,
-	0x0000062e, 0x80000645, 0x00000644, 0x00000645,
-	0x8000062d, 0x00000644, 0x00000645, 0x8000062d,
-	0x00000645, 0x0000062d, 0x8000062c, 0x00000645,
-	0x0000062d, 0x80000645, 0x00000645, 0x0000062d,
-	0x8000064a, 0x00000645, 0x0000062c, 0x8000062d,
-	0x00000645, 0x0000062c, 0x80000645, 0x00000645,
-	0x0000062e, 0x8000062c, 0x00000645, 0x0000062e,
-	0x80000645, 0x00000645, 0x0000062c, 0x8000062e,
-	0x00000647, 0x00000645, 0x8000062c, 0x00000647,
-	0x00000645, 0x80000645, 0x00000646, 0x0000062d,
-	0x80000645, 0x00000646, 0x0000062d, 0x80000649,
-	0x00000646, 0x0000062c, 0x80000645, 0x00000646,
-	0x0000062c, 0x80000645, 0x00000646, 0x0000062c,
-	0x80000649, 0x00000646, 0x00000645, 0x8000064a,
-	0x00000646, 0x00000645, 0x80000649, 0x0000064a,
-	0x00000645, 0x80000645, 0x0000064a, 0x00000645,
-	0x80000645, 0x00000628, 0x0000062e, 0x8000064a,
-	0x0000062a, 0x0000062c, 0x8000064a, 0x0000062a,
-	0x0000062c, 0x80000649, 0x0000062a, 0x0000062e,
-	0x8000064a, 0x0000062a, 0x0000062e, 0x80000649,
-	0x0000062a, 0x00000645, 0x8000064a, 0x0000062a,
-	0x00000645, 0x80000649, 0x0000062c, 0x00000645,
-	0x8000064a, 0x0000062c, 0x0000062d, 0x80000649,
-	0x0000062c, 0x00000645, 0x80000649, 0x00000633,
-	0x0000062e, 0x80000649, 0x00000635, 0x0000062d,
-	0x8000064a, 0x00000634, 0x0000062d, 0x8000064a,
-	0x00000636, 0x0000062d, 0x8000064a, 0x00000644,
-	0x0000062c, 0x8000064a, 0x00000644, 0x00000645,
-	0x8000064a, 0x0000064a, 0x0000062d, 0x8000064a,
-	0x0000064a, 0x0000062c, 0x8000064a, 0x0000064a,
-	0x00000645, 0x8000064a, 0x00000645, 0x00000645,
-	0x8000064a, 0x00000642, 0x00000645, 0x8000064a,
-	0x00000646, 0x0000062d, 0x8000064a, 0x00000642,
-	0x00000645, 0x8000062d, 0x00000644, 0x0000062d,
-	0x80000645, 0x00000639, 0x00000645, 0x8000064a,
-	0x00000643, 0x00000645, 0x8000064a, 0x00000646,
-	0x0000062c, 0x8000062d, 0x00000645, 0x0000062e,
-	0x8000064a, 0x00000644, 0x0000062c, 0x80000645,
-	0x00000643, 0x00000645, 0x80000645, 0x00000644,
-	0x0000062c, 0x80000645, 0x00000646, 0x0000062c,
-	0x8000062d, 0x0000062c, 0x0000062d, 0x8000064a,
-	0x0000062d, 0x0000062c, 0x8000064a, 0x00000645,
-	0x0000062c, 0x8000064a, 0x00000641, 0x00000645,
-	0x8000064a, 0x00000628, 0x0000062d, 0x8000064a,
-	0x00000643, 0x00000645, 0x80000645, 0x00000639,
-	0x0000062c, 0x80000645, 0x00000635, 0x00000645,
-	0x80000645, 0x00000633, 0x0000062e, 0x8000064a,
-	0x00000646, 0x0000062c, 0x8000064a, 0x00000635,
-	0x00000644, 0x800006d2, 0x00000642, 0x00000644,
-	0x800006d2, 0x00000627, 0x00000644, 0x00000644,
-	0x80000647, 0x00000627, 0x00000643, 0x00000628,
-	0x80000631, 0x00000645, 0x0000062d, 0x00000645,
-	0x8000062f, 0x00000635, 0x00000644, 0x00000639,
-	0x80000645, 0x00000631, 0x00000633, 0x00000648,
-	0x80000644, 0x00000639, 0x00000644, 0x0000064a,
-	0x80000647, 0x00000648, 0x00000633, 0x00000644,
-	0x80000645, 0x00000635, 0x00000644, 0x80000649,
-	0x00000635, 0x00000644, 0x00000649, 0x00000020,
-	0x00000627, 0x00000644, 0x00000644, 0x00000647,
-	0x00000020, 0x00000639, 0x00000644, 0x0000064a,
-	0x00000647, 0x00000020, 0x00000648, 0x00000633,
-	0x00000644, 0x80000645, 0x0000062c, 0x00000644,
-	0x00000020, 0x0000062c, 0x00000644, 0x00000627,
-	0x00000644, 0x80000647, 0x00000631, 0x000006cc,
-	0x00000627, 0x80000644, 0x8000002c, 0x80003001,
-	0x80003002, 0x8000003a, 0x8000003b, 0x80000021,
-	0x8000003f, 0x80003016, 0x80003017, 0x80002026,
-	0x80002025, 0x80002014, 0x80002013, 0x8000005f,
-	0x8000005f, 0x80000028, 0x80000029, 0x8000007b,
-	0x8000007d, 0x80003014, 0x80003015, 0x80003010,
-	0x80003011, 0x8000300a, 0x8000300b, 0x80003008,
-	0x80003009, 0x8000300c, 0x8000300d, 0x8000300e,
-	0x8000300f, 0x8000005b, 0x8000005d, 0x8000203e,
-	0x8000203e, 0x8000203e, 0x8000203e, 0x8000005f,
-	0x8000005f, 0x8000005f, 0x8000002c, 0x80003001,
-	0x8000002e, 0x8000003b, 0x8000003a, 0x8000003f,
-	0x80000021, 0x80002014, 0x80000028, 0x80000029,
-	0x8000007b, 0x8000007d, 0x80003014, 0x80003015,
-	0x80000023, 0x80000026, 0x8000002a, 0x8000002b,
-	0x8000002d, 0x8000003c, 0x8000003e, 0x8000003d,
-	0x8000005c, 0x80000024, 0x80000025, 0x80000040,
-	0x00000020, 0x8000064b, 0x00000640, 0x8000064b,
-	0x00000020, 0x8000064c, 0x00000020, 0x8000064d,
-	0x00000020, 0x8000064e, 0x00000640, 0x8000064e,
-	0x00000020, 0x8000064f, 0x00000640, 0x8000064f,
-	0x00000020, 0x80000650, 0x00000640, 0x80000650,
-	0x00000020, 0x80000651, 0x00000640, 0x80000651,
-	0x00000020, 0x80000652, 0x00000640, 0x80000652,
-	0x80000621, 0x80000622, 0x80000622, 0x80000623,
-	0x80000623, 0x80000624, 0x80000624, 0x80000625,
-	0x80000625, 0x80000626, 0x80000626, 0x80000626,
-	0x80000626, 0x80000627, 0x80000627, 0x80000628,
-	0x80000628, 0x80000628, 0x80000628, 0x80000629,
-	0x80000629, 0x8000062a, 0x8000062a, 0x8000062a,
-	0x8000062a, 0x8000062b, 0x8000062b, 0x8000062b,
-	0x8000062b, 0x8000062c, 0x8000062c, 0x8000062c,
-	0x8000062c, 0x8000062d, 0x8000062d, 0x8000062d,
-	0x8000062d, 0x8000062e, 0x8000062e, 0x8000062e,
-	0x8000062e, 0x8000062f, 0x8000062f, 0x80000630,
-	0x80000630, 0x80000631, 0x80000631, 0x80000632,
-	0x80000632, 0x80000633, 0x80000633, 0x80000633,
-	0x80000633, 0x80000634, 0x80000634, 0x80000634,
-	0x80000634, 0x80000635, 0x80000635, 0x80000635,
-	0x80000635, 0x80000636, 0x80000636, 0x80000636,
-	0x80000636, 0x80000637, 0x80000637, 0x80000637,
-	0x80000637, 0x80000638, 0x80000638, 0x80000638,
-	0x80000638, 0x80000639, 0x80000639, 0x80000639,
-	0x80000639, 0x8000063a, 0x8000063a, 0x8000063a,
-	0x8000063a, 0x80000641, 0x80000641, 0x80000641,
-	0x80000641, 0x80000642, 0x80000642, 0x80000642,
-	0x80000642, 0x80000643, 0x80000643, 0x80000643,
-	0x80000643, 0x80000644, 0x80000644, 0x80000644,
-	0x80000644, 0x80000645, 0x80000645, 0x80000645,
-	0x80000645, 0x80000646, 0x80000646, 0x80000646,
-	0x80000646, 0x80000647, 0x80000647, 0x80000647,
-	0x80000647, 0x80000648, 0x80000648, 0x80000649,
-	0x80000649, 0x8000064a, 0x8000064a, 0x8000064a,
-	0x8000064a, 0x00000644, 0x80000622, 0x00000644,
-	0x80000622, 0x00000644, 0x80000623, 0x00000644,
-	0x80000623, 0x00000644, 0x80000625, 0x00000644,
-	0x80000625, 0x00000644, 0x80000627, 0x00000644,
-	0x80000627, 0x80000021, 0x80000022, 0x80000023,
-	0x80000024, 0x80000025, 0x80000026, 0x80000027,
-	0x80000028, 0x80000029, 0x8000002a, 0x8000002b,
-	0x8000002c, 0x8000002d, 0x8000002e, 0x8000002f,
-	0x80000030, 0x80000031, 0x80000032, 0x80000033,
-	0x80000034, 0x80000035, 0x80000036, 0x80000037,
-	0x80000038, 0x80000039, 0x8000003a, 0x8000003b,
-	0x8000003c, 0x8000003d, 0x8000003e, 0x8000003f,
-	0x80000040, 0x80000041, 0x80000042, 0x80000043,
-	0x80000044, 0x80000045, 0x80000046, 0x80000047,
-	0x80000048, 0x80000049, 0x8000004a, 0x8000004b,
-	0x8000004c, 0x8000004d, 0x8000004e, 0x8000004f,
-	0x80000050, 0x80000051, 0x80000052, 0x80000053,
-	0x80000054, 0x80000055, 0x80000056, 0x80000057,
-	0x80000058, 0x80000059, 0x8000005a, 0x8000005b,
-	0x8000005c, 0x8000005d, 0x8000005e, 0x8000005f,
-	0x80000060, 0x80000061, 0x80000062, 0x80000063,
-	0x80000064, 0x80000065, 0x80000066, 0x80000067,
-	0x80000068, 0x80000069, 0x8000006a, 0x8000006b,
-	0x8000006c, 0x8000006d, 0x8000006e, 0x8000006f,
-	0x80000070, 0x80000071, 0x80000072, 0x80000073,
-	0x80000074, 0x80000075, 0x80000076, 0x80000077,
-	0x80000078, 0x80000079, 0x8000007a, 0x8000007b,
-	0x8000007c, 0x8000007d, 0x8000007e, 0x80002985,
-	0x80002986, 0x80003002, 0x8000300c, 0x8000300d,
-	0x80003001, 0x800030fb, 0x800030f2, 0x800030a1,
-	0x800030a3, 0x800030a5, 0x800030a7, 0x800030a9,
-	0x800030e3, 0x800030e5, 0x800030e7, 0x800030c3,
-	0x800030fc, 0x800030a2, 0x800030a4, 0x800030a6,
-	0x800030a8, 0x800030aa, 0x800030ab, 0x800030ad,
-	0x800030af, 0x800030b1, 0x800030b3, 0x800030b5,
-	0x800030b7, 0x800030b9, 0x800030bb, 0x800030bd,
-	0x800030bf, 0x800030c1, 0x800030c4, 0x800030c6,
-	0x800030c8, 0x800030ca, 0x800030cb, 0x800030cc,
-	0x800030cd, 0x800030ce, 0x800030cf, 0x800030d2,
-	0x800030d5, 0x800030d8, 0x800030db, 0x800030de,
-	0x800030df, 0x800030e0, 0x800030e1, 0x800030e2,
-	0x800030e4, 0x800030e6, 0x800030e8, 0x800030e9,
-	0x800030ea, 0x800030eb, 0x800030ec, 0x800030ed,
-	0x800030ef, 0x800030f3, 0x80003099, 0x8000309a,
-	0x80003164, 0x80003131, 0x80003132, 0x80003133,
-	0x80003134, 0x80003135, 0x80003136, 0x80003137,
-	0x80003138, 0x80003139, 0x8000313a, 0x8000313b,
-	0x8000313c, 0x8000313d, 0x8000313e, 0x8000313f,
-	0x80003140, 0x80003141, 0x80003142, 0x80003143,
-	0x80003144, 0x80003145, 0x80003146, 0x80003147,
-	0x80003148, 0x80003149, 0x8000314a, 0x8000314b,
-	0x8000314c, 0x8000314d, 0x8000314e, 0x8000314f,
-	0x80003150, 0x80003151, 0x80003152, 0x80003153,
-	0x80003154, 0x80003155, 0x80003156, 0x80003157,
-	0x80003158, 0x80003159, 0x8000315a, 0x8000315b,
-	0x8000315c, 0x8000315d, 0x8000315e, 0x8000315f,
-	0x80003160, 0x80003161, 0x80003162, 0x80003163,
-	0x800000a2, 0x800000a3, 0x800000ac, 0x800000af,
-	0x800000a6, 0x800000a5, 0x800020a9, 0x80002502,
-	0x80002190, 0x80002191, 0x80002192, 0x80002193,
-	0x800025a0, 0x800025cb, 0x0001d157, 0x8001d165,
-	0x0001d158, 0x8001d165, 0x0001d15f, 0x8001d16e,
-	0x0001d15f, 0x8001d16f, 0x0001d15f, 0x8001d170,
-	0x0001d15f, 0x8001d171, 0x0001d15f, 0x8001d172,
-	0x0001d1b9, 0x8001d165, 0x0001d1ba, 0x8001d165,
-	0x0001d1bb, 0x8001d16e, 0x0001d1bc, 0x8001d16e,
-	0x0001d1bb, 0x8001d16f, 0x0001d1bc, 0x8001d16f,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000069, 0x8000006a, 0x8000006b,
-	0x8000006c, 0x8000006d, 0x8000006e, 0x8000006f,
-	0x80000070, 0x80000071, 0x80000072, 0x80000073,
-	0x80000074, 0x80000075, 0x80000076, 0x80000077,
-	0x80000078, 0x80000079, 0x8000007a, 0x80000041,
-	0x80000042, 0x80000043, 0x80000044, 0x80000045,
-	0x80000046, 0x80000047, 0x80000048, 0x80000049,
-	0x8000004a, 0x8000004b, 0x8000004c, 0x8000004d,
-	0x8000004e, 0x8000004f, 0x80000050, 0x80000051,
-	0x80000052, 0x80000053, 0x80000054, 0x80000055,
-	0x80000056, 0x80000057, 0x80000058, 0x80000059,
-	0x8000005a, 0x80000061, 0x80000062, 0x80000063,
-	0x80000064, 0x80000065, 0x80000066, 0x80000067,
-	0x80000068, 0x80000069, 0x8000006a, 0x8000006b,
-	0x8000006c, 0x8000006d, 0x8000006e, 0x8000006f,
-	0x80000070, 0x80000071, 0x80000072, 0x80000073,
-	0x80000074, 0x80000075, 0x80000076, 0x80000077,
-	0x80000078, 0x80000079, 0x8000007a, 0x80000041,
-	0x80000043, 0x80000044, 0x80000047, 0x8000004a,
-	0x8000004b, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000053, 0x80000054, 0x80000055,
-	0x80000056, 0x80000057, 0x80000058, 0x80000059,
-	0x8000005a, 0x80000061, 0x80000062, 0x80000063,
-	0x80000064, 0x80000066, 0x80000068, 0x80000069,
-	0x8000006a, 0x8000006b, 0x8000006c, 0x8000006d,
-	0x8000006e, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000044, 0x80000045,
-	0x80000046, 0x80000047, 0x8000004a, 0x8000004b,
-	0x8000004c, 0x8000004d, 0x8000004e, 0x8000004f,
-	0x80000050, 0x80000051, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x80000061, 0x80000062, 0x80000063,
-	0x80000064, 0x80000065, 0x80000066, 0x80000067,
-	0x80000068, 0x80000069, 0x8000006a, 0x8000006b,
-	0x8000006c, 0x8000006d, 0x8000006e, 0x8000006f,
-	0x80000070, 0x80000071, 0x80000072, 0x80000073,
-	0x80000074, 0x80000075, 0x80000076, 0x80000077,
-	0x80000078, 0x80000079, 0x8000007a, 0x80000041,
-	0x80000042, 0x80000044, 0x80000045, 0x80000046,
-	0x80000047, 0x80000049, 0x8000004a, 0x8000004b,
-	0x8000004c, 0x8000004d, 0x8000004f, 0x80000053,
-	0x80000054, 0x80000055, 0x80000056, 0x80000057,
-	0x80000058, 0x80000059, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000041, 0x80000042, 0x80000043, 0x80000044,
-	0x80000045, 0x80000046, 0x80000047, 0x80000048,
-	0x80000049, 0x8000004a, 0x8000004b, 0x8000004c,
-	0x8000004d, 0x8000004e, 0x8000004f, 0x80000050,
-	0x80000051, 0x80000052, 0x80000053, 0x80000054,
-	0x80000055, 0x80000056, 0x80000057, 0x80000058,
-	0x80000059, 0x8000005a, 0x80000061, 0x80000062,
-	0x80000063, 0x80000064, 0x80000065, 0x80000066,
-	0x80000067, 0x80000068, 0x80000069, 0x8000006a,
-	0x8000006b, 0x8000006c, 0x8000006d, 0x8000006e,
-	0x8000006f, 0x80000070, 0x80000071, 0x80000072,
-	0x80000073, 0x80000074, 0x80000075, 0x80000076,
-	0x80000077, 0x80000078, 0x80000079, 0x8000007a,
-	0x80000131, 0x80000237, 0x80000391, 0x80000392,
-	0x80000393, 0x80000394, 0x80000395, 0x80000396,
-	0x80000397, 0x80000398, 0x80000399, 0x8000039a,
-	0x8000039b, 0x8000039c, 0x8000039d, 0x8000039e,
-	0x8000039f, 0x800003a0, 0x800003a1, 0x800003f4,
-	0x800003a3, 0x800003a4, 0x800003a5, 0x800003a6,
-	0x800003a7, 0x800003a8, 0x800003a9, 0x80002207,
-	0x800003b1, 0x800003b2, 0x800003b3, 0x800003b4,
-	0x800003b5, 0x800003b6, 0x800003b7, 0x800003b8,
-	0x800003b9, 0x800003ba, 0x800003bb, 0x800003bc,
-	0x800003bd, 0x800003be, 0x800003bf, 0x800003c0,
-	0x800003c1, 0x800003c2, 0x800003c3, 0x800003c4,
-	0x800003c5, 0x800003c6, 0x800003c7, 0x800003c8,
-	0x800003c9, 0x80002202, 0x800003f5, 0x800003d1,
-	0x800003f0, 0x800003d5, 0x800003f1, 0x800003d6,
-	0x80000391, 0x80000392, 0x80000393, 0x80000394,
-	0x80000395, 0x80000396, 0x80000397, 0x80000398,
-	0x80000399, 0x8000039a, 0x8000039b, 0x8000039c,
-	0x8000039d, 0x8000039e, 0x8000039f, 0x800003a0,
-	0x800003a1, 0x800003f4, 0x800003a3, 0x800003a4,
-	0x800003a5, 0x800003a6, 0x800003a7, 0x800003a8,
-	0x800003a9, 0x80002207, 0x800003b1, 0x800003b2,
-	0x800003b3, 0x800003b4, 0x800003b5, 0x800003b6,
-	0x800003b7, 0x800003b8, 0x800003b9, 0x800003ba,
-	0x800003bb, 0x800003bc, 0x800003bd, 0x800003be,
-	0x800003bf, 0x800003c0, 0x800003c1, 0x800003c2,
-	0x800003c3, 0x800003c4, 0x800003c5, 0x800003c6,
-	0x800003c7, 0x800003c8, 0x800003c9, 0x80002202,
-	0x800003f5, 0x800003d1, 0x800003f0, 0x800003d5,
-	0x800003f1, 0x800003d6, 0x80000391, 0x80000392,
-	0x80000393, 0x80000394, 0x80000395, 0x80000396,
-	0x80000397, 0x80000398, 0x80000399, 0x8000039a,
-	0x8000039b, 0x8000039c, 0x8000039d, 0x8000039e,
-	0x8000039f, 0x800003a0, 0x800003a1, 0x800003f4,
-	0x800003a3, 0x800003a4, 0x800003a5, 0x800003a6,
-	0x800003a7, 0x800003a8, 0x800003a9, 0x80002207,
-	0x800003b1, 0x800003b2, 0x800003b3, 0x800003b4,
-	0x800003b5, 0x800003b6, 0x800003b7, 0x800003b8,
-	0x800003b9, 0x800003ba, 0x800003bb, 0x800003bc,
-	0x800003bd, 0x800003be, 0x800003bf, 0x800003c0,
-	0x800003c1, 0x800003c2, 0x800003c3, 0x800003c4,
-	0x800003c5, 0x800003c6, 0x800003c7, 0x800003c8,
-	0x800003c9, 0x80002202, 0x800003f5, 0x800003d1,
-	0x800003f0, 0x800003d5, 0x800003f1, 0x800003d6,
-	0x80000391, 0x80000392, 0x80000393, 0x80000394,
-	0x80000395, 0x80000396, 0x80000397, 0x80000398,
-	0x80000399, 0x8000039a, 0x8000039b, 0x8000039c,
-	0x8000039d, 0x8000039e, 0x8000039f, 0x800003a0,
-	0x800003a1, 0x800003f4, 0x800003a3, 0x800003a4,
-	0x800003a5, 0x800003a6, 0x800003a7, 0x800003a8,
-	0x800003a9, 0x80002207, 0x800003b1, 0x800003b2,
-	0x800003b3, 0x800003b4, 0x800003b5, 0x800003b6,
-	0x800003b7, 0x800003b8, 0x800003b9, 0x800003ba,
-	0x800003bb, 0x800003bc, 0x800003bd, 0x800003be,
-	0x800003bf, 0x800003c0, 0x800003c1, 0x800003c2,
-	0x800003c3, 0x800003c4, 0x800003c5, 0x800003c6,
-	0x800003c7, 0x800003c8, 0x800003c9, 0x80002202,
-	0x800003f5, 0x800003d1, 0x800003f0, 0x800003d5,
-	0x800003f1, 0x800003d6, 0x80000391, 0x80000392,
-	0x80000393, 0x80000394, 0x80000395, 0x80000396,
-	0x80000397, 0x80000398, 0x80000399, 0x8000039a,
-	0x8000039b, 0x8000039c, 0x8000039d, 0x8000039e,
-	0x8000039f, 0x800003a0, 0x800003a1, 0x800003f4,
-	0x800003a3, 0x800003a4, 0x800003a5, 0x800003a6,
-	0x800003a7, 0x800003a8, 0x800003a9, 0x80002207,
-	0x800003b1, 0x800003b2, 0x800003b3, 0x800003b4,
-	0x800003b5, 0x800003b6, 0x800003b7, 0x800003b8,
-	0x800003b9, 0x800003ba, 0x800003bb, 0x800003bc,
-	0x800003bd, 0x800003be, 0x800003bf, 0x800003c0,
-	0x800003c1, 0x800003c2, 0x800003c3, 0x800003c4,
-	0x800003c5, 0x800003c6, 0x800003c7, 0x800003c8,
-	0x800003c9, 0x80002202, 0x800003f5, 0x800003d1,
-	0x800003f0, 0x800003d5, 0x800003f1, 0x800003d6,
-	0x80000030, 0x80000031, 0x80000032, 0x80000033,
-	0x80000034, 0x80000035, 0x80000036, 0x80000037,
-	0x80000038, 0x80000039, 0x80000030, 0x80000031,
-	0x80000032, 0x80000033, 0x80000034, 0x80000035,
-	0x80000036, 0x80000037, 0x80000038, 0x80000039,
-	0x80000030, 0x80000031, 0x80000032, 0x80000033,
-	0x80000034, 0x80000035, 0x80000036, 0x80000037,
-	0x80000038, 0x80000039, 0x80000030, 0x80000031,
-	0x80000032, 0x80000033, 0x80000034, 0x80000035,
-	0x80000036, 0x80000037, 0x80000038, 0x80000039,
-	0x80000030, 0x80000031, 0x80000032, 0x80000033,
-	0x80000034, 0x80000035, 0x80000036, 0x80000037,
-	0x80000038, 0x80000039, 0x80004e3d, 0x80004e38,
-	0x80004e41, 0x80020122, 0x80004f60, 0x80004fae,
-	0x80004fbb, 0x80005002, 0x8000507a, 0x80005099,
-	0x800050e7, 0x800050cf, 0x8000349e, 0x8002063a,
-	0x8000514d, 0x80005154, 0x80005164, 0x80005177,
-	0x8002051c, 0x800034b9, 0x80005167, 0x8000518d,
-	0x8002054b, 0x80005197, 0x800051a4, 0x80004ecc,
-	0x800051ac, 0x800051b5, 0x800291df, 0x800051f5,
-	0x80005203, 0x800034df, 0x8000523b, 0x80005246,
-	0x80005272, 0x80005277, 0x80003515, 0x800052c7,
-	0x800052c9, 0x800052e4, 0x800052fa, 0x80005305,
-	0x80005306, 0x80005317, 0x80005349, 0x80005351,
-	0x8000535a, 0x80005373, 0x8000537d, 0x8000537f,
-	0x8000537f, 0x8000537f, 0x80020a2c, 0x80007070,
-	0x800053ca, 0x800053df, 0x80020b63, 0x800053eb,
-	0x800053f1, 0x80005406, 0x8000549e, 0x80005438,
-	0x80005448, 0x80005468, 0x800054a2, 0x800054f6,
-	0x80005510, 0x80005553, 0x80005563, 0x80005584,
-	0x80005584, 0x80005599, 0x800055ab, 0x800055b3,
-	0x800055c2, 0x80005716, 0x80005606, 0x80005717,
-	0x80005651, 0x80005674, 0x80005207, 0x800058ee,
-	0x800057ce, 0x800057f4, 0x8000580d, 0x8000578b,
-	0x80005832, 0x80005831, 0x800058ac, 0x800214e4,
-	0x800058f2, 0x800058f7, 0x80005906, 0x8000591a,
-	0x80005922, 0x80005962, 0x800216a8, 0x800216ea,
-	0x800059ec, 0x80005a1b, 0x80005a27, 0x800059d8,
-	0x80005a66, 0x800036ee, 0x800036fc, 0x80005b08,
-	0x80005b3e, 0x80005b3e, 0x800219c8, 0x80005bc3,
-	0x80005bd8, 0x80005be7, 0x80005bf3, 0x80021b18,
-	0x80005bff, 0x80005c06, 0x80005f53, 0x80005c22,
-	0x80003781, 0x80005c60, 0x80005c6e, 0x80005cc0,
-	0x80005c8d, 0x80021de4, 0x80005d43, 0x80021de6,
-	0x80005d6e, 0x80005d6b, 0x80005d7c, 0x80005de1,
-	0x80005de2, 0x8000382f, 0x80005dfd, 0x80005e28,
-	0x80005e3d, 0x80005e69, 0x80003862, 0x80022183,
-	0x8000387c, 0x80005eb0, 0x80005eb3, 0x80005eb6,
-	0x80005eca, 0x8002a392, 0x80005efe, 0x80022331,
-	0x80022331, 0x80008201, 0x80005f22, 0x80005f22,
-	0x800038c7, 0x800232b8, 0x800261da, 0x80005f62,
-	0x80005f6b, 0x800038e3, 0x80005f9a, 0x80005fcd,
-	0x80005fd7, 0x80005ff9, 0x80006081, 0x8000393a,
-	0x8000391c, 0x80006094, 0x800226d4, 0x800060c7,
-	0x80006148, 0x8000614c, 0x8000614e, 0x8000614c,
-	0x8000617a, 0x8000618e, 0x800061b2, 0x800061a4,
-	0x800061af, 0x800061de, 0x800061f2, 0x800061f6,
-	0x80006210, 0x8000621b, 0x8000625d, 0x800062b1,
-	0x800062d4, 0x80006350, 0x80022b0c, 0x8000633d,
-	0x800062fc, 0x80006368, 0x80006383, 0x800063e4,
-	0x80022bf1, 0x80006422, 0x800063c5, 0x800063a9,
-	0x80003a2e, 0x80006469, 0x8000647e, 0x8000649d,
-	0x80006477, 0x80003a6c, 0x8000654f, 0x8000656c,
-	0x8002300a, 0x800065e3, 0x800066f8, 0x80006649,
-	0x80003b19, 0x80006691, 0x80003b08, 0x80003ae4,
-	0x80005192, 0x80005195, 0x80006700, 0x8000669c,
-	0x800080ad, 0x800043d9, 0x80006717, 0x8000671b,
-	0x80006721, 0x8000675e, 0x80006753, 0x800233c3,
-	0x80003b49, 0x800067fa, 0x80006785, 0x80006852,
-	0x80006885, 0x8002346d, 0x8000688e, 0x8000681f,
-	0x80006914, 0x80003b9d, 0x80006942, 0x800069a3,
-	0x800069ea, 0x80006aa8, 0x800236a3, 0x80006adb,
-	0x80003c18, 0x80006b21, 0x800238a7, 0x80006b54,
-	0x80003c4e, 0x80006b72, 0x80006b9f, 0x80006bba,
-	0x80006bbb, 0x80023a8d, 0x80021d0b, 0x80023afa,
-	0x80006c4e, 0x80023cbc, 0x80006cbf, 0x80006ccd,
-	0x80006c67, 0x80006d16, 0x80006d3e, 0x80006d77,
-	0x80006d41, 0x80006d69, 0x80006d78, 0x80006d85,
-	0x80023d1e, 0x80006d34, 0x80006e2f, 0x80006e6e,
-	0x80003d33, 0x80006ecb, 0x80006ec7, 0x80023ed1,
-	0x80006df9, 0x80006f6e, 0x80023f5e, 0x80023f8e,
-	0x80006fc6, 0x80007039, 0x8000701e, 0x8000701b,
-	0x80003d96, 0x8000704a, 0x8000707d, 0x80007077,
-	0x800070ad, 0x80020525, 0x80007145, 0x80024263,
-	0x8000719c, 0x800243ab, 0x80007228, 0x80007235,
-	0x80007250, 0x80024608, 0x80007280, 0x80007295,
-	0x80024735, 0x80024814, 0x8000737a, 0x8000738b,
-	0x80003eac, 0x800073a5, 0x80003eb8, 0x80003eb8,
-	0x80007447, 0x8000745c, 0x80007471, 0x80007485,
-	0x800074ca, 0x80003f1b, 0x80007524, 0x80024c36,
-	0x8000753e, 0x80024c92, 0x80007570, 0x8002219f,
-	0x80007610, 0x80024fa1, 0x80024fb8, 0x80025044,
-	0x80003ffc, 0x80004008, 0x800076f4, 0x800250f3,
-	0x800250f2, 0x80025119, 0x80025133, 0x8000771e,
-	0x8000771f, 0x8000771f, 0x8000774a, 0x80004039,
-	0x8000778b, 0x80004046, 0x80004096, 0x8002541d,
-	0x8000784e, 0x8000788c, 0x800078cc, 0x800040e3,
-	0x80025626, 0x80007956, 0x8002569a, 0x800256c5,
-	0x8000798f, 0x800079eb, 0x8000412f, 0x80007a40,
-	0x80007a4a, 0x80007a4f, 0x8002597c, 0x80025aa7,
-	0x80025aa7, 0x80007aee, 0x80004202, 0x80025bab,
-	0x80007bc6, 0x80007bc9, 0x80004227, 0x80025c80,
-	0x80007cd2, 0x800042a0, 0x80007ce8, 0x80007ce3,
-	0x80007d00, 0x80025f86, 0x80007d63, 0x80004301,
-	0x80007dc7, 0x80007e02, 0x80007e45, 0x80004334,
-	0x80026228, 0x80026247, 0x80004359, 0x800262d9,
-	0x80007f7a, 0x8002633e, 0x80007f95, 0x80007ffa,
-	0x80008005, 0x800264da, 0x80026523, 0x80008060,
-	0x800265a8, 0x80008070, 0x8002335f, 0x800043d5,
-	0x800080b2, 0x80008103, 0x8000440b, 0x8000813e,
-	0x80005ab5, 0x800267a7, 0x800267b5, 0x80023393,
-	0x8002339c, 0x80008201, 0x80008204, 0x80008f9e,
-	0x8000446b, 0x80008291, 0x8000828b, 0x8000829d,
-	0x800052b3, 0x800082b1, 0x800082b3, 0x800082bd,
-	0x800082e6, 0x80026b3c, 0x800082e5, 0x8000831d,
-	0x80008363, 0x800083ad, 0x80008323, 0x800083bd,
-	0x800083e7, 0x80008457, 0x80008353, 0x800083ca,
-	0x800083cc, 0x800083dc, 0x80026c36, 0x80026d6b,
-	0x80026cd5, 0x8000452b, 0x800084f1, 0x800084f3,
-	0x80008516, 0x800273ca, 0x80008564, 0x80026f2c,
-	0x8000455d, 0x80004561, 0x80026fb1, 0x800270d2,
-	0x8000456b, 0x80008650, 0x8000865c, 0x80008667,
-	0x80008669, 0x800086a9, 0x80008688, 0x8000870e,
-	0x800086e2, 0x80008779, 0x80008728, 0x8000876b,
-	0x80008786, 0x800045d7, 0x800087e1, 0x80008801,
-	0x800045f9, 0x80008860, 0x80008863, 0x80027667,
-	0x800088d7, 0x800088de, 0x80004635, 0x800088fa,
-	0x800034bb, 0x800278ae, 0x80027966, 0x800046be,
-	0x800046c7, 0x80008aa0, 0x80008aed, 0x80008b8a,
-	0x80008c55, 0x80027ca8, 0x80008cab, 0x80008cc1,
-	0x80008d1b, 0x80008d77, 0x80027f2f, 0x80020804,
-	0x80008dcb, 0x80008dbc, 0x80008df0, 0x800208de,
-	0x80008ed4, 0x80008f38, 0x800285d2, 0x800285ed,
-	0x80009094, 0x800090f1, 0x80009111, 0x8002872e,
-	0x8000911b, 0x80009238, 0x800092d7, 0x800092d8,
-	0x8000927c, 0x800093f9, 0x80009415, 0x80028bfa,
-	0x8000958b, 0x80004995, 0x800095b7, 0x80028d77,
-	0x800049e6, 0x800096c3, 0x80005db2, 0x80009723,
-	0x80029145, 0x8002921a, 0x80004a6e, 0x80004a76,
-	0x800097e0, 0x8002940a, 0x80004ab2, 0x80029496,
-	0x8000980b, 0x8000980b, 0x80009829, 0x800295b6,
-	0x800098e2, 0x80004b33, 0x80009929, 0x800099a7,
-	0x800099c2, 0x800099fe, 0x80004bce, 0x80029b30,
-	0x80009b12, 0x80009c40, 0x80009cfd, 0x80004cce,
-	0x80004ced, 0x80009d67, 0x8002a0ce, 0x80004cf8,
-	0x8002a105, 0x8002a20e, 0x8002a291, 0x80009ebb,
-	0x80004d56, 0x80009ef9, 0x80009efe, 0x80009f05,
-	0x80009f0f, 0x80009f16, 0x80009f3b, 0x8002a600,
-};
-
--- a/intl/unicharutil/nsUnicodeNormalizer.cpp
+++ b/intl/unicharutil/nsUnicodeNormalizer.cpp
@@ -1,704 +1,91 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 
-/* This file is modified from JPNIC's mDNKit, it is under both MPL and
- * JPNIC's license.
- */
-
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-/*
- * Copyright (c) 2000,2002 Japan Network Information Center.
- * All rights reserved.
- *
- * By using this file, you agree to the terms and conditions set forth bellow.
- *
- * 			LICENSE TERMS AND CONDITIONS
- *
- * The following License Terms and Conditions apply, unless a different
- * license is obtained from Japan Network Information Center ("JPNIC"),
- * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
- * Chiyoda-ku, Tokyo 101-0047, Japan.
- *
- * 1. Use, Modification and Redistribution (including distribution of any
- *    modified or derived work) in source and/or binary forms is permitted
- *    under this License Terms and Conditions.
- *
- * 2. Redistribution of source code must retain the copyright notices as they
- *    appear in each source code file, this License Terms and Conditions.
- *
- * 3. Redistribution in binary form must reproduce the Copyright Notice,
- *    this License Terms and Conditions, in the documentation and/or other
- *    materials provided with the distribution.  For the purposes of binary
- *    distribution the "Copyright Notice" refers to the following language:
- *    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
- *
- * 4. The name of JPNIC may not be used to endorse or promote products
- *    derived from this Software without specific prior written approval of
- *    JPNIC.
- *
- * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
- *    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- *    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
- *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- *    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- *    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- *    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- *    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- *    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- *    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- */
-
-#include <string.h>
-
-#include "nsMemory.h"
 #include "nsUnicodeNormalizer.h"
-#include "nsString.h"
-#include "mozilla/BinarySearch.h"
+#include "ICUUtils.h"
+#include "unicode/unorm2.h"
+#include "unicode/utext.h"
 
 NS_IMPL_ISUPPORTS(nsUnicodeNormalizer, nsIUnicodeNormalizer)
 
-
-nsUnicodeNormalizer::nsUnicodeNormalizer()
-{
-}
-
-nsUnicodeNormalizer::~nsUnicodeNormalizer()
-{
-}
-
-
-
-#define END_BIT		0x80000000
-
-
-/*
- * Some constants for Hangul decomposition/composition.
- * These things were taken from unicode book.
- */
-#define SBase		0xac00
-#define LBase		0x1100
-#define VBase		0x1161
-#define TBase		0x11a7
-#define LCount		19
-#define VCount		21
-#define TCount		28
-#define SLast		(SBase + LCount * VCount * TCount)
-
-struct composition {
-	uint32_t c2;	/* 2nd character */
-	uint32_t comp;	/* composed character */
-};
-
-
-#include "normalization_data.h"
-
-/*
- * Macro for multi-level index table.
- */
-#define LOOKUPTBL(vprefix, mprefix, v) \
-	DMAP(vprefix)[\
-		IMAP(vprefix)[\
-			IMAP(vprefix)[IDX0(mprefix, v)] + IDX1(mprefix, v)\
-		]\
-	].tbl[IDX2(mprefix, v)]
-
-#define IDX0(mprefix, v) IDX_0(v, BITS1(mprefix), BITS2(mprefix))
-#define IDX1(mprefix, v) IDX_1(v, BITS1(mprefix), BITS2(mprefix))
-#define IDX2(mprefix, v) IDX_2(v, BITS1(mprefix), BITS2(mprefix))
-
-#define IDX_0(v, bits1, bits2)	((v) >> ((bits1) + (bits2)))
-#define IDX_1(v, bits1, bits2)	(((v) >> (bits2)) & ((1 << (bits1)) - 1))
-#define IDX_2(v, bits1, bits2)	((v) & ((1 << (bits2)) - 1))
-
-#define BITS1(mprefix)	mprefix ## _BITS_1
-#define BITS2(mprefix)	mprefix ## _BITS_2
-
-#define IMAP(vprefix)	vprefix ## _imap
-#define DMAP(vprefix)	vprefix ## _table
-#define SEQ(vprefix)	vprefix ## _seq
-
-static int32_t
-canonclass(uint32_t c) {
-	/* Look up canonicalclass table. */
-	return (LOOKUPTBL(canon_class, CANON_CLASS, c));
-}
-
-static int32_t
-decompose_char(uint32_t c, const uint32_t **seqp)
-{
-	/* Look up decomposition table. */
-	int32_t seqidx = LOOKUPTBL(decompose, DECOMP, c);
-	*seqp = SEQ(decompose) + (seqidx & ~DECOMP_COMPAT);
-	return (seqidx);
-}
-
-static int32_t
-compose_char(uint32_t c,
-				const struct composition **compp)
-{
-	/* Look up composition table. */
-	int32_t seqidx = LOOKUPTBL(compose, CANON_COMPOSE, c);
-	*compp = SEQ(compose) + (seqidx & 0xffff);
-	return (seqidx >> 16);
-}
-
 static nsresult
-mdn__unicode_decompose(int32_t compat, uint32_t *v, size_t vlen,
-		       uint32_t c, int32_t *decomp_lenp)
-{
-	uint32_t *vorg = v;
-	int32_t seqidx;
-	const uint32_t *seq;
-
-	//assert(v != nullptr && vlen >= 0 && decomp_lenp != nullptr);
-
-	/*
-	 * First, check for Hangul.
-	 */
-	if (SBase <= c && c < SLast) {
-		int32_t idx, t_offset, v_offset, l_offset;
-
-		idx = c - SBase;
-		t_offset = idx % TCount;
-		idx /= TCount;
-		v_offset = idx % VCount;
-		l_offset = idx / VCount;
-		if ((t_offset == 0 && vlen < 2) || (t_offset > 0 && vlen < 3))
-			return (NS_ERROR_UNORM_MOREOUTPUT);
-		*v++ = LBase + l_offset;
-		*v++ = VBase + v_offset;
-		if (t_offset > 0)
-			*v++ = TBase + t_offset;
-		*decomp_lenp = v - vorg;
-		return (NS_OK);
-	}
-
-	/*
-	 * Look up decomposition table.  If no decomposition is defined
-	 * or if it is a compatibility decomosition when canonical
-	 * decomposition requested, return 'NS_SUCCESS_UNORM_NOTFOUND'.
-	 */
-	seqidx = decompose_char(c, &seq);
-	if (seqidx == 0 || (compat == 0 && (seqidx & DECOMP_COMPAT) != 0))
-		return (NS_SUCCESS_UNORM_NOTFOUND);
-
-	/*
-	 * Copy the decomposed sequence.  The end of the sequence are
-	 * marked with END_BIT.
-	 */
-	do {
-		uint32_t c;
-		int32_t dlen;
-		nsresult r;
-
-		c = *seq & ~END_BIT;
-
-		/* Decompose recursively. */
-		r = mdn__unicode_decompose(compat, v, vlen, c, &dlen);
-		if (r == NS_OK) {
-			v += dlen;
-			vlen -= dlen;
-		} else if (r == NS_SUCCESS_UNORM_NOTFOUND) {
-			if (vlen < 1)
-				return (NS_ERROR_UNORM_MOREOUTPUT);
-			*v++ = c;
-			vlen--;
-		} else {
-			return (r);
-		}
-
-	} while ((*seq++ & END_BIT) == 0);
-
-	*decomp_lenp = v - vorg;
-
-	return (NS_OK);
-}
-
-static int32_t
-mdn__unicode_iscompositecandidate(uint32_t c)
-{
-	const struct composition *dummy;
-
-	/* Check for Hangul */
-	if ((LBase <= c && c < LBase + LCount) || (SBase <= c && c < SLast))
-		return (1);
-
-	/*
-	 * Look up composition table.  If there are no composition
-	 * that begins with the given character, it is not a
-	 * composition candidate.
-	 */
-	if (compose_char(c, &dummy) == 0)
-		return (0);
-	else
-		return (1);
-}
-
-namespace {
-
-struct SequenceAdaptor
-{
-	const composition* const mSequence;
-	explicit SequenceAdaptor(const composition* aSequence) : mSequence(aSequence) {}
-	uint32_t operator[](size_t aIdx) const {
-		return mSequence[aIdx].c2;
-	}
-};
-
-} // namespace
-
-static nsresult
-mdn__unicode_compose(uint32_t c1, uint32_t c2, uint32_t *compp)
-{
-	int32_t n;
-	const struct composition *cseq;
-
-	//assert(compp != nullptr);
-
-	/*
-	 * Check for Hangul.
-	 */
-	if (LBase <= c1 && c1 < LBase + LCount &&
-	    VBase <= c2 && c2 < VBase + VCount) {
-		/*
-		 * Hangul L and V.
-		 */
-		*compp = SBase +
-			((c1 - LBase) * VCount + (c2 - VBase)) * TCount;
-		return (NS_OK);
-	} else if (SBase <= c1 && c1 < SLast &&
-		   TBase <= c2 && c2 < TBase + TCount &&
-		   (c1 - SBase) % TCount == 0) {
-		/*
-		 * Hangul LV and T.
-		 */
-		*compp = c1 + (c2 - TBase);
-		return (NS_OK);
-	}
-
-	/*
-	 * Look up composition table.  If the result is 0, no composition
-	 * is defined.  Otherwise, upper 16bits of the result contains
-	 * the number of composition that begins with 'c1', and the lower
-	 * 16bits is the offset in 'compose_seq'.
-	 */
-	if ((n = compose_char(c1, &cseq)) == 0)
-		return (NS_SUCCESS_UNORM_NOTFOUND);
-
-	/*
-	 * The composite sequences are sorted by the 2nd character 'c2'.
-	 * So we can use binary search.
-	 */
-	size_t idx;
-	if (mozilla::BinarySearch(SequenceAdaptor(cseq), 0, n, c2, &idx)) {
-		*compp = cseq[idx].comp;
-		return (NS_OK);
-	}
-
-	return (NS_SUCCESS_UNORM_NOTFOUND);
-}
-
-
-#define WORKBUF_SIZE		128
-#define WORKBUF_SIZE_MAX	10000
-
-typedef struct {
-	int32_t cur;		/* pointing now processing character */
-	int32_t last;		/* pointing just after the last character */
-	int32_t size;		/* size of UCS and CLASS array */
-	uint32_t *ucs;	/* UCS-4 characters */
-	int32_t *cclass;		/* and their canonical classes */
-	uint32_t ucs_buf[WORKBUF_SIZE];	/* local buffer */
-	int32_t class_buf[WORKBUF_SIZE];		/* ditto */
-} workbuf_t;
-
-static nsresult	decompose(workbuf_t *wb, uint32_t c, int32_t compat);
-static void		get_class(workbuf_t *wb);
-static void		reorder(workbuf_t *wb);
-static void		compose(workbuf_t *wb);
-static nsresult flush_before_cur(workbuf_t *wb, nsAString& aToStr);
-static void		workbuf_init(workbuf_t *wb);
-static void		workbuf_free(workbuf_t *wb);
-static nsresult	workbuf_extend(workbuf_t *wb);
-static nsresult	workbuf_append(workbuf_t *wb, uint32_t c);
-static void		workbuf_shift(workbuf_t *wb, int32_t shift);
-static void		workbuf_removevoid(workbuf_t *wb);
-
-
-static nsresult
-mdn_normalize(bool do_composition, bool compat,
-	  const nsAString& aSrcStr, nsAString& aToStr)
+DoNormalization(const UNormalizer2* aNorm, const nsAString& aSrc,
+                nsAString& aDest)
 {
-	workbuf_t wb;
-	nsresult r = NS_OK;
-	/*
-	 * Initialize working buffer.
-	 */
-	workbuf_init(&wb);
-
-	nsAString::const_iterator start, end;
-	aSrcStr.BeginReading(start);
-	aSrcStr.EndReading(end);
-
-	while (start != end) {
-		uint32_t c;
-		char16_t curChar;
-
-		//assert(wb.cur == wb.last);
-
-		/*
-		 * Get one character from 'from'.
-		 */
-		curChar= *start++;
-
-		if (NS_IS_HIGH_SURROGATE(curChar) && start != end && NS_IS_LOW_SURROGATE(*(start)) ) {
-			c = SURROGATE_TO_UCS4(curChar, *start);
-			++start;
-		} else {
-			c = curChar;
-		}
-
-		/*
-		 * Decompose it.
-		 */
-		if ((r = decompose(&wb, c, compat)) != NS_OK)
-			break;
-
-		/*
-		 * Get canonical class.
-		 */
-		get_class(&wb);
-
-		/*
-		 * Reorder & compose.
-		 */
-		for (; wb.cur < wb.last; wb.cur++) {
-			if (wb.cur == 0) {
-				continue;
-			} else if (wb.cclass[wb.cur] > 0) {
-				/*
-				 * This is not a starter. Try reordering.
-				 * Note that characters up to it are
-				 * already in canonical order.
-				 */
-				reorder(&wb);
-				continue;
-			}
-
-			/*
-			 * This is a starter character, and there are
-			 * some characters before it.  Those characters
-			 * have been reordered properly, and
-			 * ready for composition.
-			 */
-			if (do_composition && wb.cclass[0] == 0)
-				compose(&wb);
-
-			/*
-			 * If CUR points to a starter character,
-			 * then process of characters before CUR are
-			 * already finished, because any further
-			 * reordering/composition for them are blocked
-			 * by the starter CUR points.
-			 */
-			if (wb.cur > 0 && wb.cclass[wb.cur] == 0) {
-				/* Flush everything before CUR. */
-				r = flush_before_cur(&wb, aToStr);
-				if (r != NS_OK)
-					break;
-			}
-		}
-	}
-
-	if (r == NS_OK) {
-		if (do_composition && wb.cur > 0 && wb.cclass[0] == 0) {
-			/*
-			 * There is some characters left in WB.
-			 * They are ordered, but not composed yet.
-			 * Now CUR points just after the last character in WB,
-			 * and since compose() tries to compose characters
-			 * between top and CUR inclusive, we must make CUR
-			 * one character back during compose().
-			 */
-			wb.cur--;
-			compose(&wb);
-			wb.cur++;
-		}
-		/*
-		 * Call this even when WB.CUR == 0, to make TO
-		 * NUL-terminated.
-		 */
-		r = flush_before_cur(&wb, aToStr);
-	}
-
-	workbuf_free(&wb);
-
-	return (r);
-}
-
-static nsresult
-decompose(workbuf_t *wb, uint32_t c, int32_t compat) {
-	nsresult r;
-	int32_t dec_len;
-
-again:
-	r = mdn__unicode_decompose(compat, wb->ucs + wb->last,
-				   wb->size - wb->last, c, &dec_len);
-	switch (r) {
-	case NS_OK:
-		wb->last += dec_len;
-		return (NS_OK);
-	case NS_SUCCESS_UNORM_NOTFOUND:
-		return (workbuf_append(wb, c));
-	case NS_ERROR_UNORM_MOREOUTPUT:
-		if ((r = workbuf_extend(wb)) != NS_OK)
-			return (r);
-		if (wb->size > WORKBUF_SIZE_MAX) {
-			// "mdn__unormalize_form*: " "working buffer too large\n"
-			return (NS_ERROR_FAILURE);
-		}
-		goto again;
-	default:
-		return (r);
-	}
-	/* NOTREACHED */
-}
-
-static void
-get_class(workbuf_t *wb) {
-	int32_t i;
-
-	for (i = wb->cur; i < wb->last; i++)
-		wb->cclass[i] = canonclass(wb->ucs[i]);
-}
-
-static void
-reorder(workbuf_t *wb) {
-	uint32_t c;
-	int32_t i;
-	int32_t cclass;
-
-	//assert(wb != nullptr);
-
-	i = wb->cur;
-	c = wb->ucs[i];
-	cclass = wb->cclass[i];
-
-	while (i > 0 && wb->cclass[i - 1] > cclass) {
-		wb->ucs[i] = wb->ucs[i - 1];
-		wb->cclass[i] =wb->cclass[i - 1];
-		i--;
-		wb->ucs[i] = c;
-		wb->cclass[i] = cclass;
-	}
-}
-
-static void
-compose(workbuf_t *wb) {
-	int32_t cur;
-	uint32_t *ucs;
-	int32_t *cclass;
-	int32_t last_class;
-	int32_t nvoids;
-	int32_t i;
-
-	//assert(wb != nullptr && wb->cclass[0] == 0);
-
-	cur = wb->cur;
-	ucs = wb->ucs;
-	cclass = wb->cclass;
-
-	/*
-	 * If there are no decomposition sequence that begins with
-	 * the top character, composition is impossible.
-	 */
-	if (!mdn__unicode_iscompositecandidate(ucs[0]))
-		return;
-
-	last_class = 0;
-	nvoids = 0;
-	for (i = 1; i <= cur; i++) {
-		uint32_t c;
-		int32_t cl = cclass[i];
-
-		if ((last_class < cl || cl == 0) &&
-		    mdn__unicode_compose(ucs[0], ucs[i],
-					 &c) == NS_OK) {
-			/*
-			 * Replace the top character with the composed one.
-			 */
-			ucs[0] = c;
-			cclass[0] = canonclass(c);
-
-			cclass[i] = -1;	/* void this character */
-			nvoids++;
-		} else {
-			last_class = cl;
-		}
-	}
-
-	/* Purge void characters, if any. */
-	if (nvoids > 0)
-		workbuf_removevoid(wb);
-}
-
-static nsresult
-flush_before_cur(workbuf_t *wb, nsAString& aToStr)
-{
-	int32_t i;
-
-	for (i = 0; i < wb->cur; i++) {
-		if (!IS_IN_BMP(wb->ucs[i])) {
-			aToStr.Append((char16_t)H_SURROGATE(wb->ucs[i]));
-			aToStr.Append((char16_t)L_SURROGATE(wb->ucs[i]));
-		} else {
-			aToStr.Append((char16_t)(wb->ucs[i]));
-		}
-	}
-
-	workbuf_shift(wb, wb->cur);
-
-	return (NS_OK);
-}
-
-static void
-workbuf_init(workbuf_t *wb) {
-	wb->cur = 0;
-	wb->last = 0;
-	wb->size = WORKBUF_SIZE;
-	wb->ucs = wb->ucs_buf;
-	wb->cclass = wb->class_buf;
-}
-
-static void
-workbuf_free(workbuf_t *wb) {
-	if (wb->ucs != wb->ucs_buf) {
-		free(wb->ucs);
-		free(wb->cclass);
-	}
-}
-
-static nsresult
-workbuf_extend(workbuf_t *wb) {
-	int32_t newsize = wb->size * 3;
-
-	if (wb->ucs == wb->ucs_buf) {
-		wb->ucs = (uint32_t*)moz_xmalloc(sizeof(wb->ucs[0]) * newsize);
-		if (!wb->ucs)
-			return NS_ERROR_OUT_OF_MEMORY;
-		wb->cclass = (int32_t*)moz_xmalloc(sizeof(wb->cclass[0]) * newsize);
-		if (!wb->cclass) {
-			free(wb->ucs);
-			wb->ucs = nullptr;
-			return NS_ERROR_OUT_OF_MEMORY;
-		}
-	} else {
-		void* buf = moz_xrealloc(wb->ucs, sizeof(wb->ucs[0]) * newsize);
-		if (!buf)
-			return NS_ERROR_OUT_OF_MEMORY;
-		wb->ucs = (uint32_t*)buf;
-		buf = moz_xrealloc(wb->cclass, sizeof(wb->cclass[0]) * newsize);
-		if (!buf)
-			return NS_ERROR_OUT_OF_MEMORY;
-		wb->cclass = (int32_t*)buf;
-	}
-	return (NS_OK);
-}
-
-static nsresult
-workbuf_append(workbuf_t *wb, uint32_t c) {
-	nsresult r;
-
-	if (wb->last >= wb->size && (r = workbuf_extend(wb)) != NS_OK)
-		return (r);
-	wb->ucs[wb->last++] = c;
-	return (NS_OK);
-}
-
-static void
-workbuf_shift(workbuf_t *wb, int32_t shift) {
-	int32_t nmove;
-
-	//assert(wb != nullptr && wb->cur >= shift);
-
-	nmove = wb->last - shift;
-	memmove(&wb->ucs[0], &wb->ucs[shift],
-		      nmove * sizeof(wb->ucs[0]));
-	memmove(&wb->cclass[0], &wb->cclass[shift],
-		      nmove * sizeof(wb->cclass[0]));
-	wb->cur -= shift;
-	wb->last -= shift;
-}
-
-static void
-workbuf_removevoid(workbuf_t *wb) {
-	int32_t i, j;
-	int32_t last = wb->last;
-
-	for (i = j = 0; i < last; i++) {
-		if (wb->cclass[i] >= 0) {
-			if (j < i) {
-				wb->ucs[j] = wb->ucs[i];
-				wb->cclass[j] = wb->cclass[i];
-			}
-			j++;
-		}
-	}
-	wb->cur -= last - j;
-	wb->last = j;
+  UErrorCode errorCode = U_ZERO_ERROR;
+  const int32_t length = aSrc.Length();
+  const UChar* src = reinterpret_cast<const UChar*>(aSrc.BeginReading());
+  // Initial guess for a capacity that is likely to be enough for most cases.
+  int32_t capacity = length + (length >> 8) + 8;
+  while (true) {
+    aDest.SetLength(capacity);
+    UChar* dest = reinterpret_cast<UChar*>(aDest.BeginWriting());
+    int32_t len = unorm2_normalize(aNorm, src, aSrc.Length(), dest, capacity,
+                                   &errorCode);
+    if (U_SUCCESS(errorCode)) {
+      aDest.SetLength(len);
+      break;
+    }
+    if (errorCode != U_BUFFER_OVERFLOW_ERROR) {
+      // Some other error that we don't handle
+      break;
+    }
+    // Buffer wasn't big enough; adjust to the reported size and try again.
+    capacity = len;
+    errorCode = U_ZERO_ERROR;
+  }
+  return ICUUtils::UErrorToNsResult(errorCode);
 }
 
 nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFD( const nsAString& aSrc, nsAString& aDest)
-{
-  return mdn_normalize(false, false, aSrc, aDest);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFC( const nsAString& aSrc, nsAString& aDest)
+nsUnicodeNormalizer::NormalizeUnicodeNFD(const nsAString& aSrc,
+                                         nsAString& aDest)
 {
-  return mdn_normalize(true, false, aSrc, aDest);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFKD( const nsAString& aSrc, nsAString& aDest)
-{
-  return mdn_normalize(false, true, aSrc, aDest);
+  // The unorm2_getNF*Instance functions return static singletons that should
+  // not be deleted, so we just get them once on first use.
+  static UErrorCode errorCode = U_ZERO_ERROR;
+  static const UNormalizer2* norm = unorm2_getNFDInstance(&errorCode);
+  if (U_SUCCESS(errorCode)) {
+    return DoNormalization(norm, aSrc, aDest);
+  }
+  return ICUUtils::UErrorToNsResult(errorCode);
 }
 
 nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFKC( const nsAString& aSrc, nsAString& aDest)
+nsUnicodeNormalizer::NormalizeUnicodeNFC(const nsAString& aSrc,
+                                         nsAString& aDest)
 {
-  return mdn_normalize(true, true, aSrc, aDest);
-}
-
-bool
-nsUnicodeNormalizer::Compose(uint32_t a, uint32_t b, uint32_t *ab)
-{
-  return mdn__unicode_compose(a, b, ab) == NS_OK;
+  static UErrorCode errorCode = U_ZERO_ERROR;
+  static const UNormalizer2* norm = unorm2_getNFCInstance(&errorCode);
+  if (U_SUCCESS(errorCode)) {
+    return DoNormalization(norm, aSrc, aDest);
+  }
+  return ICUUtils::UErrorToNsResult(errorCode);
 }
 
-bool
-nsUnicodeNormalizer::DecomposeNonRecursively(uint32_t c, uint32_t *c1, uint32_t *c2)
+nsresult
+nsUnicodeNormalizer::NormalizeUnicodeNFKD(const nsAString& aSrc,
+                                          nsAString& aDest)
 {
-  // We can't use mdn__unicode_decompose here, because that does a recursive
-  // decomposition that may yield more than two characters, but the harfbuzz
-  // callback wants just a single-step decomp that is guaranteed to produce
-  // no more than two characters. So we do a low-level lookup in the table
-  // of decomp sequences.
-  const uint32_t *seq;
-  uint32_t seqidx = decompose_char(c, &seq);
-  if (seqidx == 0 || ((seqidx & DECOMP_COMPAT) != 0)) {
-    return false;
+  static UErrorCode errorCode = U_ZERO_ERROR;
+  static const UNormalizer2* norm = unorm2_getNFKDInstance(&errorCode);
+  if (U_SUCCESS(errorCode)) {
+    return DoNormalization(norm, aSrc, aDest);
   }
-  *c1 = *seq & ~END_BIT;
-  if (*seq & END_BIT) {
-    *c2 = 0;
-  } else {
-    *c2 = *++seq & ~END_BIT;
+  return ICUUtils::UErrorToNsResult(errorCode);
+}
+
+nsresult
+nsUnicodeNormalizer::NormalizeUnicodeNFKC(const nsAString& aSrc,
+                                          nsAString& aDest)
+{
+  static UErrorCode errorCode = U_ZERO_ERROR;
+  static const UNormalizer2* norm = unorm2_getNFKCInstance(&errorCode);
+  if (U_SUCCESS(errorCode)) {
+    return DoNormalization(norm, aSrc, aDest);
   }
-  return true;
+  return ICUUtils::UErrorToNsResult(errorCode);
 }
--- a/intl/unicharutil/nsUnicodeNormalizer.h
+++ b/intl/unicharutil/nsUnicodeNormalizer.h
@@ -11,30 +11,23 @@
 
 #include "nsIUnicodeNormalizer.h"
 
 nsresult NS_NewUnicodeNormalizer(nsISupports** oResult);
 
 
 class nsUnicodeNormalizer : public nsIUnicodeNormalizer {
 public:
-   nsUnicodeNormalizer();
+   nsUnicodeNormalizer() { }
 
    NS_DECL_ISUPPORTS
 
    NS_IMETHOD NormalizeUnicodeNFD( const nsAString& aSrc, nsAString& aDest) override;
    NS_IMETHOD NormalizeUnicodeNFC( const nsAString& aSrc, nsAString& aDest) override;
    NS_IMETHOD NormalizeUnicodeNFKD( const nsAString& aSrc, nsAString& aDest) override;
    NS_IMETHOD NormalizeUnicodeNFKC( const nsAString& aSrc, nsAString& aDest) override;
 
-#if !ENABLE_INTL_API
-   // Low-level access to the composition data needed for HarfBuzz callbacks;
-   // only required when ICU is not available in the build.
-   static bool Compose(uint32_t a, uint32_t b, uint32_t *ab);
-   static bool DecomposeNonRecursively(uint32_t comp, uint32_t *c1, uint32_t *c2);
-#endif
-
 private:
-   virtual ~nsUnicodeNormalizer();
+   virtual ~nsUnicodeNormalizer() { }
 };
 
 #endif //nsUnicodeNormalizer_h__
 
deleted file mode 100644
--- a/intl/unicharutil/nsUnicodeNormalizer_ICU.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsUnicodeNormalizer.h"
-#include "ICUUtils.h"
-#include "unicode/unorm2.h"
-#include "unicode/utext.h"
-
-NS_IMPL_ISUPPORTS(nsUnicodeNormalizer, nsIUnicodeNormalizer)
-
-nsUnicodeNormalizer::nsUnicodeNormalizer()
-{
-}
-
-nsUnicodeNormalizer::~nsUnicodeNormalizer()
-{
-}
-
-static nsresult
-DoNormalization(const UNormalizer2* aNorm, const nsAString& aSrc,
-                nsAString& aDest)
-{
-  UErrorCode errorCode = U_ZERO_ERROR;
-  const int32_t length = aSrc.Length();
-  const UChar* src = reinterpret_cast<const UChar*>(aSrc.BeginReading());
-  // Initial guess for a capacity that is likely to be enough for most cases.
-  int32_t capacity = length + (length >> 8) + 8;
-  while (true) {
-    aDest.SetLength(capacity);
-    UChar* dest = reinterpret_cast<UChar*>(aDest.BeginWriting());
-    int32_t len = unorm2_normalize(aNorm, src, aSrc.Length(), dest, capacity,
-                                   &errorCode);
-    if (U_SUCCESS(errorCode)) {
-      aDest.SetLength(len);
-      break;
-    }
-    if (errorCode != U_BUFFER_OVERFLOW_ERROR) {
-      // Some other error that we don't handle
-      break;
-    }
-    // Buffer wasn't big enough; adjust to the reported size and try again.
-    capacity = len;
-    errorCode = U_ZERO_ERROR;
-  }
-  return ICUUtils::UErrorToNsResult(errorCode);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFD(const nsAString& aSrc,
-                                         nsAString& aDest)
-{
-  // The unorm2_getNF*Instance functions return static singletons that should
-  // not be deleted, so we just get them once on first use.
-  static UErrorCode errorCode = U_ZERO_ERROR;
-  static const UNormalizer2* norm = unorm2_getNFDInstance(&errorCode);
-  if (U_SUCCESS(errorCode)) {
-    return DoNormalization(norm, aSrc, aDest);
-  }
-  return ICUUtils::UErrorToNsResult(errorCode);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFC(const nsAString& aSrc,
-                                         nsAString& aDest)
-{
-  static UErrorCode errorCode = U_ZERO_ERROR;
-  static const UNormalizer2* norm = unorm2_getNFCInstance(&errorCode);
-  if (U_SUCCESS(errorCode)) {
-    return DoNormalization(norm, aSrc, aDest);
-  }
-  return ICUUtils::UErrorToNsResult(errorCode);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFKD(const nsAString& aSrc,
-                                          nsAString& aDest)
-{
-  static UErrorCode errorCode = U_ZERO_ERROR;
-  static const UNormalizer2* norm = unorm2_getNFKDInstance(&errorCode);
-  if (U_SUCCESS(errorCode)) {
-    return DoNormalization(norm, aSrc, aDest);
-  }
-  return ICUUtils::UErrorToNsResult(errorCode);
-}
-
-nsresult
-nsUnicodeNormalizer::NormalizeUnicodeNFKC(const nsAString& aSrc,
-                                          nsAString& aDest)
-{
-  static UErrorCode errorCode = U_ZERO_ERROR;
-  static const UNormalizer2* norm = unorm2_getNFKCInstance(&errorCode);
-  if (U_SUCCESS(errorCode)) {
-    return DoNormalization(norm, aSrc, aDest);
-  }
-  return ICUUtils::UErrorToNsResult(errorCode);
-}