Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT,
/* -*- 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.
*/
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Unicode case conversion helpers.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corp..
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*
* 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 PRUnichar 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 PRUnichar 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 {
PRUint32 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 PRUnichar 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 {
PRUnichar 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