/******************************************************************** * COPYRIGHT: * Copyright (c) 1997-1999, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ //=============================================================================== // // File engcoll.cpp // // // // Created by: Helena Shih // // Modification History: // // Date Name Description // //=============================================================================== #ifndef _IOSTREAM #include #endif #define generate_source 1 #if generate_source #include #endif #ifndef _COLL #include "unicode/coll.h" #endif #ifndef _TBLCOLL #include "unicode/tblcoll.h" #endif #ifndef _UNISTR #include "unicode/unistr.h" #endif #ifndef _SORTKEY #include "unicode/sortkey.h" #endif #ifndef _ISOCOLL #include "isocoll.h" #endif const UChar CollationISOTest::testCases[][CollationISOTest::MAX_TOKEN_LEN] = { {0X0000, 0}, {0X0001, 0}, {0X0002, 0}, {0X0003, 0}, {0X0004, 0}, {0X0005, 0}, {0X0006, 0}, {0X0007, 0}, {0X0008, 0}, {0X000E, 0}, {0X000F, 0}, {0X0010, 0}, {0X0011, 0}, {0X0012, 0}, {0X0013, 0}, {0X0014, 0}, {0X0015, 0}, {0X0016, 0}, {0X0017, 0}, {0X0018, 0}, {0X0019, 0}, {0X001A, 0}, {0X001B, 0}, {0X001C, 0}, {0X001D, 0}, {0X001E, 0}, {0X001F, 0}, {0X200B, 0}, {0X200C, 0}, {0X200D, 0}, {0X200E, 0}, {0X200F, 0}, {0X0020, 0}, {0X00A0, 0}, {0X2000, 0}, {0X2001, 0}, {0X2002, 0}, {0X2003, 0}, {0X2004, 0}, {0X2005, 0}, {0X2006, 0}, {0X2007, 0}, {0X2008, 0}, {0X2009, 0}, {0X200A, 0}, {0X000D, 0}, {0X0009, 0}, {0X000A, 0}, {0X000C, 0}, {0X000B, 0}, {0X0301, 0}, {0X0341, 0}, {0X0340, 0}, {0X0300, 0}, {0X0306, 0}, {0X0302, 0}, {0X030C, 0}, {0X030A, 0}, {0X030D, 0}, {0X0308, 0}, {0X030B, 0}, {0X0303, 0}, {0X0307, 0}, {0X0304, 0}, {0X0337, 0}, {0X0327, 0}, {0X0328, 0}, {0X0323, 0}, {0X0332, 0}, {0X0305, 0}, {0X0309, 0}, {0X030E, 0}, {0X030F, 0}, {0X0310, 0}, {0X0311, 0}, {0X0312, 0}, {0X0314, 0}, {0X0315, 0}, {0X0316, 0}, {0X0317, 0}, {0X0318, 0}, {0X0319, 0}, {0X031A, 0}, {0X031B, 0}, {0X031C, 0}, {0X031D, 0}, {0X031E, 0}, {0X031F, 0}, {0X0320, 0}, {0X0321, 0}, {0X0322, 0}, {0X0324, 0}, {0X0325, 0}, {0X0326, 0}, {0X0329, 0}, {0X032A, 0}, {0X032B, 0}, {0X032C, 0}, {0X032D, 0}, {0X032E, 0}, {0X032F, 0}, {0X0330, 0}, {0X0331, 0}, {0X0333, 0}, {0X0334, 0}, {0X0335, 0}, {0X0336, 0}, {0X0338, 0}, {0X0339, 0}, {0X033A, 0}, {0X033B, 0}, {0X033C, 0}, {0X033D, 0}, {0X033E, 0}, {0X033F, 0}, {0X0313, 0}, {0X0483, 0}, {0X0484, 0}, {0X0485, 0}, {0X0486, 0}, {0X20D0, 0}, {0X20D1, 0}, {0X20D2, 0}, {0X20D3, 0}, {0X20D4, 0}, {0X20D5, 0}, {0X20D6, 0}, {0X20D7, 0}, {0X20D8, 0}, {0X20D9, 0}, {0X20DA, 0}, {0X20DB, 0}, {0X20DC, 0}, {0X20DD, 0}, {0X20DE, 0}, {0X20DF, 0}, {0X20E0, 0}, {0X20E1, 0}, {0X002D, 0}, {0X00AD, 0}, {0X2010, 0}, {0X2011, 0}, {0X2012, 0}, {0X2013, 0}, {0X2014, 0}, {0X2015, 0}, {0X2212, 0}, {0X005F, 0}, {0X00AF, 0}, {0X002C, 0}, {0X003B, 0}, {0X037E, 0}, {0X003A, 0}, {0X0021, 0}, {0X00A1, 0}, {0X003F, 0}, {0X00BF, 0}, {0X002F, 0}, {0X002E, 0}, {0X00B4, 0}, {0X0060, 0}, {0X005E, 0}, {0X00A8, 0}, {0X007E, 0}, {0X2241, 0}, {0X00B7, 0}, {0X0387, 0}, {0X00B8, 0}, {0X0027, 0}, {0X0022, 0}, {0X00AB, 0}, {0X00BB, 0}, {0X0028, 0}, {0X0029, 0}, {0X005B, 0}, {0X005D, 0}, {0X007B, 0}, {0X007D, 0}, {0X00A7, 0}, {0X00B6, 0}, {0X00A9, 0}, {0X00AE, 0}, {0X0040, 0}, {0X00A4, 0}, {0X0E3F, 0}, {0X00A2, 0}, {0X20A1, 0}, {0X20A2, 0}, {0X0024, 0}, {0X20AB, 0}, {0X20A3, 0}, {0X20A4, 0}, {0X20A5, 0}, {0X20A6, 0}, {0X20A7, 0}, {0X00A3, 0}, {0X20A8, 0}, {0X20AA, 0}, {0X20A9, 0}, {0X00A5, 0}, {0X002A, 0}, {0X005C, 0}, {0X0026, 0}, {0X0023, 0}, {0X0025, 0}, {0X002B, 0}, {0X00B1, 0}, {0X00F7, 0}, {0X00D7, 0}, {0X003C, 0}, {0X226E, 0}, {0X003D, 0}, {0X2260, 0}, {0X2260, 0}, {0X003E, 0}, {0X226F, 0}, {0X00AC, 0}, {0X007C, 0}, {0X00A6, 0}, {0X00B0, 0}, {0X00B5, 0}, {0X0030, 0}, {0X0031, 0}, {0X0032, 0}, {0X0033, 0}, {0X0034, 0}, {0X0035, 0}, {0X0036, 0}, {0X0037, 0}, {0X0038, 0}, {0X0039, 0}, {0X00BC, 0}, {0X00BD, 0}, {0X00BE, 0}, {0X0061, 0}, {0X0041, 0}, {0X00E1, 0}, {0X00C1, 0}, {0X00E0, 0}, {0X00C0, 0}, {0X0103, 0}, {0X0102, 0}, {0X1EAF, 0}, {0X1EAE, 0}, {0X1EB1, 0}, {0X1EB0, 0}, {0X1EB5, 0}, {0X1EB4, 0}, {0X1EB7, 0}, {0X1EB6, 0}, {0X1EB3, 0}, {0X1EB2, 0}, {0X00E2, 0}, {0X00C2, 0}, {0X1EA5, 0}, {0X1EA4, 0}, {0X1EA7, 0}, {0X1EA6, 0}, {0X1EAB, 0}, {0X1EAA, 0}, {0X1EAD, 0}, {0X1EAC, 0}, {0X1EA9, 0}, {0X1EA8, 0}, {0X01CE, 0}, {0X01CD, 0}, {0X00E5, 0}, {0X212B, 0}, {0X00C5, 0}, {0X01FB, 0}, {0X01FA, 0}, {0X00E4, 0}, {0X00C4, 0}, {0X01DF, 0}, {0X01DE, 0}, {0X00E3, 0}, {0X00C3, 0}, {0X01E1, 0}, {0X01E0, 0}, {0X0101, 0}, {0X0100, 0}, {0X0105, 0}, {0X0104, 0}, {0X1EA1, 0}, {0X1EA0, 0}, {0X1EA3, 0}, {0X1EA2, 0}, {0X0201, 0}, {0X0200, 0}, {0X0203, 0}, {0X0202, 0}, {0X1E01, 0}, {0X1E00, 0}, {0X00E6, 0}, {0X00C6, 0}, {0X0062, 0}, {0X0042, 0}, {0X1E03, 0}, {0X1E02, 0}, {0X1E05, 0}, {0X1E04, 0}, {0X1E07, 0}, {0X1E06, 0}, {0X0063, 0}, {0X0043, 0}, {0X0107, 0}, {0X0106, 0}, {0X0109, 0}, {0X0108, 0}, {0X010D, 0}, {0X010C, 0}, {0X010B, 0}, {0X010A, 0}, {0X00E7, 0}, {0X00C7, 0}, {0X1E09, 0}, {0X1E08, 0}, {0X0064, 0}, {0X0044, 0}, {0X010F, 0}, {0X010E, 0}, {0X1E0B, 0}, {0X1E0A, 0}, {0X1E11, 0}, {0X1E10, 0}, {0X1E0D, 0}, {0X1E0C, 0}, {0X1E13, 0}, {0X1E12, 0}, {0X1E0F, 0}, {0X1E0E, 0}, {0X00F0, 0}, {0X00D0, 0}, {0X0065, 0}, {0X0045, 0}, {0X00E9, 0}, {0X00C9, 0}, {0X00E8, 0}, {0X00C8, 0}, {0X0115, 0}, {0X0114, 0}, {0X1E1D, 0}, {0X1E1C, 0}, {0X00EA, 0}, {0X00CA, 0}, {0X1EBF, 0}, {0X1EBE, 0}, {0X1EC1, 0}, {0X1EC0, 0}, {0X1EC5, 0}, {0X1EC4, 0}, {0X1EC7, 0}, {0X1EC6, 0}, {0X1EC3, 0}, {0X1EC2, 0}, {0X011B, 0}, {0X011A, 0}, {0X00EB, 0}, {0X00CB, 0}, {0X1EBD, 0}, {0X1EBC, 0}, {0X0117, 0}, {0X0116, 0}, {0X0113, 0}, {0X0112, 0}, {0X1E17, 0}, {0X1E16, 0}, {0X1E15, 0}, {0X1E14, 0}, {0X0119, 0}, {0X0118, 0}, {0X1EB9, 0}, {0X1EB8, 0}, {0X1EBB, 0}, {0X1EBA, 0}, {0X0205, 0}, {0X0204, 0}, {0X0207, 0}, {0X0206, 0}, {0X1E19, 0}, {0X1E18, 0}, {0X1E1B, 0}, {0X1E1A, 0}, {0X0066, 0}, {0X0046, 0}, {0X1E1F, 0}, {0X1E1E, 0}, {0X0067, 0}, {0X0047, 0}, {0X01F5, 0}, {0X01F4, 0}, {0X011F, 0}, {0X011E, 0}, {0X011D, 0}, {0X011C, 0}, {0X01E7, 0}, {0X01E6, 0}, {0X0121, 0}, {0X0120, 0}, {0X1E21, 0}, {0X1E20, 0}, {0X0123, 0}, {0X0122, 0}, {0X0068, 0}, {0X0048, 0}, {0X0125, 0}, {0X0124, 0}, {0X1E27, 0}, {0X1E26, 0}, {0X1E23, 0}, {0X1E22, 0}, {0X1E29, 0}, {0X1E28, 0}, {0X1E25, 0}, {0X1E24, 0}, {0X1E2B, 0}, {0X1E2A, 0}, {0X1E96, 0}, {0X0069, 0}, {0X0049, 0}, {0X00ED, 0}, {0X00CD, 0}, {0X00EC, 0}, {0X00CC, 0}, {0X012D, 0}, {0X012C, 0}, {0X00EE, 0}, {0X00CE, 0}, {0X01D0, 0}, {0X01CF, 0}, {0X00EF, 0}, {0X00CF, 0}, {0X1E2F, 0}, {0X1E2E, 0}, {0X0129, 0}, {0X0128, 0}, {0X0130, 0}, {0X012B, 0}, {0X012A, 0}, {0X012F, 0}, {0X012E, 0}, {0X1ECB, 0}, {0X1ECA, 0}, {0X1EC9, 0}, {0X1EC8, 0}, {0X0209, 0}, {0X0208, 0}, {0X020B, 0}, {0X020A, 0}, {0X1E2D, 0}, {0X1E2C, 0}, {0X006A, 0}, {0X004A, 0}, {0X0135, 0}, {0X0134, 0}, {0X01F0, 0}, {0X006B, 0}, {0X212A, 0}, {0X004B, 0}, {0X1E31, 0}, {0X1E30, 0}, {0X01E9, 0}, {0X01E8, 0}, {0X0137, 0}, {0X0136, 0}, {0X1E33, 0}, {0X1E32, 0}, {0X1E35, 0}, {0X1E34, 0}, {0X006C, 0}, {0X004C, 0}, {0X013A, 0}, {0X0139, 0}, {0X013E, 0}, {0X013D, 0}, {0X013C, 0}, {0X013B, 0}, {0X1E37, 0}, {0X1E36, 0}, {0X1E39, 0}, {0X1E38, 0}, {0X1E3D, 0}, {0X1E3C, 0}, {0X1E3B, 0}, {0X1E3A, 0}, {0X006D, 0}, {0X004D, 0}, {0X1E3F, 0}, {0X1E3E, 0}, {0X1E41, 0}, {0X1E40, 0}, {0X1E43, 0}, {0X1E42, 0}, {0X006E, 0}, {0X004E, 0}, {0X0144, 0}, {0X0143, 0}, {0X0148, 0}, {0X0147, 0}, {0X00F1, 0}, {0X00D1, 0}, {0X1E45, 0}, {0X1E44, 0}, {0X0146, 0}, {0X0145, 0}, {0X1E47, 0}, {0X1E46, 0}, {0X1E4B, 0}, {0X1E4A, 0}, {0X1E49, 0}, {0X1E48, 0}, {0X006F, 0}, {0X004F, 0}, {0X00F3, 0}, {0X00D3, 0}, {0X00F2, 0}, {0X00D2, 0}, {0X014F, 0}, {0X014E, 0}, {0X00F4, 0}, {0X00D4, 0}, {0X1ED1, 0}, {0X1ED0, 0}, {0X1ED3, 0}, {0X1ED2, 0}, {0X1ED7, 0}, {0X1ED6, 0}, {0X1ED9, 0}, {0X1ED8, 0}, {0X1ED5, 0}, {0X1ED4, 0}, {0X01D2, 0}, {0X01D1, 0}, {0X00F6, 0}, {0X00D6, 0}, {0X0151, 0}, {0X0150, 0}, {0X00F5, 0}, {0X00D5, 0}, {0X1E4D, 0}, {0X1E4C, 0}, {0X1E4F, 0}, {0X1E4E, 0}, {0X014D, 0}, {0X014C, 0}, {0X1E53, 0}, {0X1E52, 0}, {0X1E51, 0}, {0X1E50, 0}, {0X01EB, 0}, {0X01EA, 0}, {0X01ED, 0}, {0X01EC, 0}, {0X1ECD, 0}, {0X1ECC, 0}, {0X1ECF, 0}, {0X1ECE, 0}, {0X020D, 0}, {0X020C, 0}, {0X020F, 0}, {0X020E, 0}, {0X01A1, 0}, {0X01A0, 0}, {0X1EDB, 0}, {0X1EDA, 0}, {0X1EDD, 0}, {0X1EDC, 0}, {0X1EE1, 0}, {0X1EE0, 0}, {0X1EE3, 0}, {0X1EE2, 0}, {0X1EDF, 0}, {0X1EDE, 0}, {0X0153, 0}, {0X0152, 0}, {0X0070, 0}, {0X0050, 0}, {0X1E55, 0}, {0X1E54, 0}, {0X1E57, 0}, {0X1E56, 0}, {0X0071, 0}, {0X0051, 0}, {0X0072, 0}, {0X0052, 0}, {0X0155, 0}, {0X0154, 0}, {0X0159, 0}, {0X0158, 0}, {0X1E59, 0}, {0X1E58, 0}, {0X0157, 0}, {0X0156, 0}, {0X1E5B, 0}, {0X1E5A, 0}, {0X1E5D, 0}, {0X1E5C, 0}, {0X0211, 0}, {0X0210, 0}, {0X0213, 0}, {0X0212, 0}, {0X1E5F, 0}, {0X1E5E, 0}, {0X0073, 0}, {0X0053, 0}, {0X015B, 0}, {0X015A, 0}, {0X1E65, 0}, {0X1E64, 0}, {0X015D, 0}, {0X015C, 0}, {0X0161, 0}, {0X0160, 0}, {0X1E67, 0}, {0X1E66, 0}, {0X1E61, 0}, {0X1E60, 0}, {0X015F, 0}, {0X015E, 0}, {0X1E63, 0}, {0X1E62, 0}, {0X1E69, 0}, {0X1E68, 0}, {0X00DF, 0}, {0X0074, 0}, {0X0054, 0}, {0X0165, 0}, {0X0164, 0}, {0X1E97, 0}, {0X1E6B, 0}, {0X1E6A, 0}, {0X0163, 0}, {0X0162, 0}, {0X1E6D, 0}, {0X1E6C, 0}, {0X1E71, 0}, {0X1E70, 0}, {0X1E6F, 0}, {0X1E6E, 0}, {0X00FE, 0}, {0X00DE, 0}, {0X0075, 0}, {0X0055, 0}, {0X00FA, 0}, {0X00DA, 0}, {0X00F9, 0}, {0X00D9, 0}, {0X016D, 0}, {0X016C, 0}, {0X00FB, 0}, {0X00DB, 0}, {0X01D4, 0}, {0X01D3, 0}, {0X016F, 0}, {0X016E, 0}, {0X00FC, 0}, {0X00DC, 0}, {0X01D8, 0}, {0X01D7, 0}, {0X01DC, 0}, {0X01DB, 0}, {0X01DA, 0}, {0X01D9, 0}, {0X01D6, 0}, {0X01D5, 0}, {0X0171, 0}, {0X0170, 0}, {0X0169, 0}, {0X0168, 0}, {0X1E79, 0}, {0X1E78, 0}, {0X016B, 0}, {0X016A, 0}, {0X1E7B, 0}, {0X1E7A, 0}, {0X0173, 0}, {0X0172, 0}, {0X1EE5, 0}, {0X1EE4, 0}, {0X1EE7, 0}, {0X1EE6, 0}, {0X0215, 0}, {0X0214, 0}, {0X0217, 0}, {0X0216, 0}, {0X01B0, 0}, {0X01AF, 0}, {0X1EE9, 0}, {0X1EE8, 0}, {0X1EEB, 0}, {0X1EEA, 0}, {0X1EEF, 0}, {0X1EEE, 0}, {0X1EF1, 0}, {0X1EF0, 0}, {0X1EED, 0}, {0X1EEC, 0}, {0X1E73, 0}, {0X1E72, 0}, {0X1E77, 0}, {0X1E76, 0}, {0X1E75, 0}, {0X1E74, 0}, {0X0076, 0}, {0X0056, 0}, {0X1E7D, 0}, {0X1E7C, 0}, {0X1E7F, 0}, {0X1E7E, 0}, {0X0077, 0}, {0X0057, 0}, {0X1E83, 0}, {0X1E82, 0}, {0X1E81, 0}, {0X1E80, 0}, {0X0175, 0}, {0X0174, 0}, {0X1E98, 0}, {0X1E85, 0}, {0X1E84, 0}, {0X1E87, 0}, {0X1E86, 0}, {0X1E89, 0}, {0X1E88, 0}, {0X0078, 0}, {0X0058, 0}, {0X1E8D, 0}, {0X1E8C, 0}, {0X1E8B, 0}, {0X1E8A, 0}, {0X0079, 0}, {0X0059, 0}, {0X00FD, 0}, {0X00DD, 0}, {0X1EF3, 0}, {0X1EF2, 0}, {0X0177, 0}, {0X0176, 0}, {0X1E99, 0}, {0X00FF, 0}, {0X0178, 0}, {0X1EF9, 0}, {0X1EF8, 0}, {0X1E8F, 0}, {0X1E8E, 0}, {0X1EF5, 0}, {0X1EF4, 0}, {0X1EF7, 0}, {0X1EF6, 0}, {0X007A, 0}, {0X005A, 0}, {0X017A, 0}, {0X0179, 0}, {0X1E91, 0}, {0X1E90, 0}, {0X017E, 0}, {0X017D, 0}, {0X017C, 0}, {0X017B, 0}, {0X1E93, 0}, {0X1E92, 0}, {0X1E95, 0}, {0X1E94, 0}, {0X04D5, 0}, {0X04D4, 0}, {0X01FD, 0}, {0X01FC, 0}, {0X01E3, 0}, {0X01E2, 0}, {0X00AA, 0}, {0X00B2, 0}, {0X00B3, 0}, {0X00B9, 0}, {0X00BA, 0}, {0X00D8, 0}, {0X00F8, 0}, {0X0110, 0}, {0X0111, 0}, {0X0126, 0}, {0X0127, 0}, {0X0131, 0}, {0X0132, 0}, {0X0133, 0}, {0X0138, 0}, {0X013F, 0}, {0X0140, 0}, {0X0141, 0}, {0X0142, 0}, {0X0149, 0}, {0X014A, 0}, {0X014B, 0}, {0X0166, 0}, {0X0167, 0}, {0X017F, 0}, {0X0180, 0}, {0X0181, 0}, {0X0182, 0}, {0X0183, 0}, {0X0184, 0}, {0X0185, 0}, {0X0186, 0}, {0X0187, 0}, {0X0188, 0}, {0X0189, 0}, {0X018A, 0}, {0X018B, 0}, {0X018C, 0}, {0X018D, 0}, {0X018E, 0}, {0X018F, 0}, {0X0190, 0}, {0X0191, 0}, {0X0192, 0}, {0X0193, 0}, {0X0194, 0}, {0X0195, 0}, {0X0196, 0}, {0X0197, 0}, {0X0198, 0}, {0X0199, 0}, {0X019A, 0}, {0X019B, 0}, {0X019C, 0}, {0X019D, 0}, {0X019E, 0}, {0X019F, 0}, {0X01A2, 0}, {0X01A3, 0}, {0X01A4, 0}, {0X01A5, 0}, {0X01A6, 0}, {0X01A7, 0}, {0X01A8, 0}, {0X01A9, 0}, {0X01AA, 0}, {0X01AB, 0}, {0X01AC, 0}, {0X01AD, 0}, {0X01AE, 0}, {0X01B1, 0}, {0X01B2, 0}, {0X01B3, 0}, {0X01B4, 0}, {0X01B5, 0}, {0X01B6, 0}, {0X01B7, 0}, {0X01B8, 0}, {0X01B9, 0}, {0X01BA, 0}, {0X01BB, 0}, {0X01BC, 0}, {0X01BD, 0}, {0X01BE, 0}, {0X01BF, 0}, {0X01C0, 0}, {0X01C1, 0}, {0X01C2, 0}, {0X01C3, 0}, {0X01C4, 0}, {0X01C5, 0}, {0X01C6, 0}, {0X01C7, 0}, {0X01C8, 0}, {0X01C9, 0}, {0X01CA, 0}, {0X01CB, 0}, {0X01CC, 0}, {0X01DD, 0}, {0X01E4, 0}, {0X01E5, 0}, {0X01EE, 0}, {0X01EF, 0}, {0X01F1, 0}, {0X01F2, 0}, {0X01F3, 0}, {0X01FE, 0}, {0X01FF, 0}, {0X0250, 0}, {0X0251, 0}, {0X0252, 0}, {0X0253, 0}, {0X0254, 0}, {0X0255, 0}, {0X0256, 0}, {0X0257, 0}, {0X0258, 0}, {0X0259, 0}, {0X025A, 0}, {0X025B, 0}, {0X025C, 0}, {0X025D, 0}, {0X025E, 0}, {0X025F, 0}, {0X0260, 0}, {0X0261, 0}, {0X0262, 0}, {0X0263, 0}, {0X0264, 0}, {0X0265, 0}, {0X0266, 0}, {0X0267, 0}, {0X0268, 0}, {0X0269, 0}, {0X026A, 0}, {0X026B, 0}, {0X026C, 0}, {0X026D, 0}, {0X026E, 0}, {0X026F, 0}, {0X0270, 0}, {0X0271, 0}, {0X0272, 0}, {0X0273, 0}, {0X0274, 0}, {0X0275, 0}, {0X0276, 0}, {0X0277, 0}, {0X0278, 0}, {0X0279, 0}, {0X027A, 0}, {0X027B, 0}, {0X027C, 0}, {0X027D, 0}, {0X027E, 0}, {0X027F, 0}, {0X0280, 0}, {0X0281, 0}, {0X0282, 0}, {0X0283, 0}, {0X0284, 0}, {0X0285, 0}, {0X0286, 0}, {0X0287, 0}, {0X0288, 0}, {0X0289, 0}, {0X028A, 0}, {0X028B, 0}, {0X028C, 0}, {0X028D, 0}, {0X028E, 0}, {0X028F, 0}, {0X0290, 0}, {0X0291, 0}, {0X0292, 0}, {0X0293, 0}, {0X0294, 0}, {0X0295, 0}, {0X0296, 0}, {0X0297, 0}, {0X0298, 0}, {0X0299, 0}, {0X029A, 0}, {0X029B, 0}, {0X029C, 0}, {0X029D, 0}, {0X029E, 0}, {0X029F, 0}, {0X02A0, 0}, {0X02A1, 0}, {0X02A2, 0}, {0X02A3, 0}, {0X02A4, 0}, {0X02A5, 0}, {0X02A6, 0}, {0X02A7, 0}, {0X02A8, 0}, {0X02B0, 0}, {0X02B1, 0}, {0X02B2, 0}, {0X02B3, 0}, {0X02B4, 0}, {0X02B5, 0}, {0X02B6, 0}, {0X02B7, 0}, {0X02B8, 0}, {0X02B9, 0}, {0X02BA, 0}, {0X02BB, 0}, {0X02BC, 0}, {0X02BD, 0}, {0X02BE, 0}, {0X02BF, 0}, {0X02C0, 0}, {0X02C1, 0}, {0X02C2, 0}, {0X02C3, 0}, {0X02C4, 0}, {0X02C5, 0}, {0X02C6, 0}, {0X02C7, 0}, {0X02C8, 0}, {0X02C9, 0}, {0X02CA, 0}, {0X02CB, 0}, {0X02CC, 0}, {0X02CD, 0}, {0X02CE, 0}, {0X02CF, 0}, {0X02D0, 0}, {0X02D1, 0}, {0X02D2, 0}, {0X02D3, 0}, {0X02D4, 0}, {0X02D5, 0}, {0X02D6, 0}, {0X02D7, 0}, {0X02D8, 0}, {0X02D9, 0}, {0X02DA, 0}, {0X02DB, 0}, {0X02DC, 0}, {0X02DD, 0}, {0X02DE, 0}, {0X02E0, 0}, {0X02E1, 0}, {0X02E2, 0}, {0X02E3, 0}, {0X02E4, 0}, {0X02E5, 0}, {0X02E6, 0}, {0X02E7, 0}, {0X02E8, 0}, {0X02E9, 0}, {0X0374, 0}, {0X0375, 0}, {0X037A, 0}, {0X0384, 0}, {0X0385, 0}, {0X0386, 0}, {0X0388, 0}, {0X0389, 0}, {0X038A, 0}, {0X038C, 0}, {0X038E, 0}, {0X038F, 0}, {0X0390, 0}, {0X0391, 0}, {0X0392, 0}, {0X0393, 0}, {0X0394, 0}, {0X0395, 0}, {0X0396, 0}, {0X0397, 0}, {0X0398, 0}, {0X0399, 0}, {0X039A, 0}, {0X039B, 0}, {0X039C, 0}, {0X039D, 0}, {0X039E, 0}, {0X039F, 0}, {0X03A0, 0}, {0X03A1, 0}, {0X03A3, 0}, {0X03A4, 0}, {0X03A5, 0}, {0X03A6, 0}, {0X03A7, 0}, {0X03A8, 0}, {0X03A9, 0}, {0X03AA, 0}, {0X03AB, 0}, {0X03AC, 0}, {0X03AD, 0}, {0X03AE, 0}, {0X03AF, 0}, {0X03B0, 0}, {0X03B1, 0}, {0X03B2, 0}, {0X03B3, 0}, {0X03B4, 0}, {0X03B5, 0}, {0X03B6, 0}, {0X03B7, 0}, {0X03B8, 0}, {0X03B9, 0}, {0X03BA, 0}, {0X03BB, 0}, {0X03BC, 0}, {0X03BD, 0}, {0X03BE, 0}, {0X03BF, 0}, {0X03C0, 0}, {0X03C1, 0}, {0X03C2, 0}, {0X03C3, 0}, {0X03C4, 0}, {0X03C5, 0}, {0X03C6, 0}, {0X03C7, 0}, {0X03C8, 0}, {0X03C9, 0}, {0X03CA, 0}, {0X03CB, 0}, {0X03CC, 0}, {0X03CD, 0}, {0X03CE, 0}, {0X03D0, 0}, {0X03D1, 0}, {0X03D2, 0}, {0X03D3, 0}, {0X03D4, 0}, {0X03D5, 0}, {0X03D6, 0}, {0X03DA, 0}, {0X03DC, 0}, {0X03DE, 0}, {0X03E0, 0}, {0X03E2, 0}, {0X03E3, 0}, {0X03E4, 0}, {0X03E5, 0}, {0X03E6, 0}, {0X03E7, 0}, {0X03E8, 0}, {0X03E9, 0}, {0X03EA, 0}, {0X03EB, 0}, {0X03EC, 0}, {0X03ED, 0}, {0X03EE, 0}, {0X03EF, 0}, {0X03F0, 0}, {0X03F1, 0}, {0X03F2, 0}, {0X03F3, 0}, {0X0401, 0}, {0X0402, 0}, {0X0403, 0}, {0X0404, 0}, {0X0405, 0}, {0X0406, 0}, {0X0407, 0}, {0X0408, 0}, {0X0409, 0}, {0X040A, 0}, {0X040B, 0}, {0X040C, 0}, {0X040E, 0}, {0X040F, 0}, {0X0410, 0}, {0X0411, 0}, {0X0412, 0}, {0X0413, 0}, {0X0414, 0}, {0X0415, 0}, {0X0416, 0}, {0X0417, 0}, {0X0418, 0}, {0X0419, 0}, {0X041A, 0}, {0X041B, 0}, {0X041C, 0}, {0X041D, 0}, {0X041E, 0}, {0X041F, 0}, {0X0420, 0}, {0X0421, 0}, {0X0422, 0}, {0X0423, 0}, {0X0424, 0}, {0X0425, 0}, {0X0426, 0}, {0X0427, 0}, {0X0428, 0}, {0X0429, 0}, {0X042A, 0}, {0X042B, 0}, {0X042C, 0}, {0X042D, 0}, {0X042E, 0}, {0X042F, 0}, {0X0430, 0}, {0X0431, 0}, {0X0432, 0}, {0X0433, 0}, {0X0434, 0}, {0X0435, 0}, {0X0436, 0}, {0X0437, 0}, {0X0438, 0}, {0X0439, 0}, {0X043A, 0}, {0X043B, 0}, {0X043C, 0}, {0X043D, 0}, {0X043E, 0}, {0X043F, 0}, {0X0440, 0}, {0X0441, 0}, {0X0442, 0}, {0X0443, 0}, {0X0444, 0}, {0X0445, 0}, {0X0446, 0}, {0X0447, 0}, {0X0448, 0}, {0X0449, 0}, {0X044A, 0}, {0X044B, 0}, {0X044C, 0}, {0X044D, 0}, {0X044E, 0}, {0X044F, 0}, {0X0451, 0}, {0X0452, 0}, {0X0453, 0}, {0X0454, 0}, {0X0455, 0}, {0X0456, 0}, {0X0457, 0}, {0X0458, 0}, {0X0459, 0}, {0X045A, 0}, {0X045B, 0}, {0X045C, 0}, {0X045E, 0}, {0X045F, 0}, {0X0460, 0}, {0X0461, 0}, {0X0462, 0}, {0X0463, 0}, {0X0464, 0}, {0X0465, 0}, {0X0466, 0}, {0X0467, 0}, {0X0468, 0}, {0X0469, 0}, {0X046A, 0}, {0X046B, 0}, {0X046C, 0}, {0X046D, 0}, {0X046E, 0}, {0X046F, 0}, {0X0470, 0}, {0X0471, 0}, {0X0472, 0}, {0X0473, 0}, {0X0474, 0}, {0X0475, 0}, {0X0476, 0}, {0X0477, 0}, {0X0478, 0}, {0X0479, 0}, {0X047A, 0}, {0X047B, 0}, {0X047C, 0}, {0X047D, 0}, {0X047E, 0}, {0X047F, 0}, {0X0480, 0}, {0X0481, 0}, {0X0482, 0}, {0X0490, 0}, {0X0491, 0}, {0X0492, 0}, {0X0493, 0}, {0X0494, 0}, {0X0495, 0}, {0X0496, 0}, {0X0497, 0}, {0X0498, 0}, {0X0499, 0}, {0X049A, 0}, {0X049B, 0}, {0X049C, 0}, {0X049D, 0}, {0X049E, 0}, {0X049F, 0}, {0X04A0, 0}, {0X04A1, 0}, {0X04A2, 0}, {0X04A3, 0}, {0X04A4, 0}, {0X04A5, 0}, {0X04A6, 0}, {0X04A7, 0}, {0X04A8, 0}, {0X04A9, 0}, {0X04AA, 0}, {0X04AB, 0}, {0X04AC, 0}, {0X04AD, 0}, {0X04AE, 0}, {0X04AF, 0}, {0X04B0, 0}, {0X04B1, 0}, {0X04B2, 0}, {0X04B3, 0}, {0X04B4, 0}, {0X04B5, 0}, {0X04B6, 0}, {0X04B7, 0}, {0X04B8, 0}, {0X04B9, 0}, {0X04BA, 0}, {0X04BB, 0}, {0X04BC, 0}, {0X04BD, 0}, {0X04BE, 0}, {0X04BF, 0}, {0X04C0, 0}, {0X04C1, 0}, {0X04C2, 0}, {0X04C3, 0}, {0X04C4, 0}, {0X04C7, 0}, {0X04C8, 0}, {0X04CB, 0}, {0X04CC, 0}, {0X04D0, 0}, {0X04D1, 0}, {0X04D2, 0}, {0X04D3, 0}, {0X04D6, 0}, {0X04D7, 0}, {0X04D8, 0}, {0X04D9, 0}, {0X04DA, 0}, {0X04DB, 0}, {0X04DC, 0}, {0X04DD, 0}, {0X04DE, 0}, {0X04DF, 0}, {0X04E0, 0}, {0X04E1, 0}, {0X04E2, 0}, {0X04E3, 0}, {0X04E4, 0}, {0X04E5, 0}, {0X04E6, 0}, {0X04E7, 0}, {0X04E8, 0}, {0X04E9, 0}, {0X04EA, 0}, {0X04EB, 0}, {0X04EE, 0}, {0X04EF, 0}, {0X04F0, 0}, {0X04F1, 0}, {0X04F2, 0}, {0X04F3, 0}, {0X04F4, 0}, {0X04F5, 0}, {0X04F8, 0}, {0X04F9, 0}, {0X0531, 0}, {0X0532, 0}, {0X0533, 0}, {0X0534, 0}, {0X0535, 0}, {0X0536, 0}, {0X0537, 0}, {0X0538, 0}, {0X0539, 0}, {0X053A, 0}, {0X053B, 0}, {0X053C, 0}, {0X053D, 0}, {0X053E, 0}, {0X053F, 0}, {0X0540, 0}, {0X0541, 0}, {0X0542, 0}, {0X0543, 0}, {0X0544, 0}, {0X0545, 0}, {0X0546, 0}, {0X0547, 0}, {0X0548, 0}, {0X0549, 0}, {0X054A, 0}, {0X054B, 0}, {0X054C, 0}, {0X054D, 0}, {0X054E, 0}, {0X054F, 0}, {0X0550, 0}, {0X0551, 0}, {0X0552, 0}, {0X0553, 0}, {0X0554, 0}, {0X0555, 0}, {0X0556, 0}, {0X0559, 0}, {0X055A, 0}, {0X055B, 0}, {0X055C, 0}, {0X055D, 0}, {0X055E, 0}, {0X055F, 0}, {0X0561, 0}, {0X0562, 0}, {0X0563, 0}, {0X0564, 0}, {0X0565, 0}, {0X0566, 0}, {0X0567, 0}, {0X0568, 0}, {0X0569, 0}, {0X056A, 0}, {0X056B, 0}, {0X056C, 0}, {0X056D, 0}, {0X056E, 0}, {0X056F, 0}, {0X0570, 0}, {0X0571, 0}, {0X0572, 0}, {0X0573, 0}, {0X0574, 0}, {0X0575, 0}, {0X0576, 0}, {0X0577, 0}, {0X0578, 0}, {0X0579, 0}, {0X057A, 0}, {0X057B, 0}, {0X057C, 0}, {0X057D, 0}, {0X057E, 0}, {0X057F, 0}, {0X0580, 0}, {0X0581, 0}, {0X0582, 0}, {0X0583, 0}, {0X0584, 0}, {0X0585, 0}, {0X0586, 0}, {0X0587, 0}, {0X0589, 0}, {0X0591, 0}, {0X0592, 0}, {0X0593, 0}, {0X0594, 0}, {0X0595, 0}, {0X0596, 0}, {0X0597, 0}, {0X0598, 0}, {0X0599, 0}, {0X059A, 0}, {0X059B, 0}, {0X059C, 0}, {0X059D, 0}, {0X059E, 0}, {0X059F, 0}, {0X05A0, 0}, {0X05A1, 0}, {0X05A3, 0}, {0X05A4, 0}, {0X05A5, 0}, {0X05A6, 0}, {0X05A7, 0}, {0X05A8, 0}, {0X05A9, 0}, {0X05AA, 0}, {0X05AB, 0}, {0X05AC, 0}, {0X05AD, 0}, {0X05AE, 0}, {0X05AF, 0}, {0X05B0, 0}, {0X05B1, 0}, {0X05B2, 0}, {0X05B3, 0}, {0X05B4, 0}, {0X05B5, 0}, {0X05B6, 0}, {0X05B7, 0}, {0X05B8, 0}, {0X05B9, 0}, {0X05BB, 0}, {0X05BC, 0}, {0X05BD, 0}, {0X05BE, 0}, {0X05BF, 0}, {0X05C0, 0}, {0X05C1, 0}, {0X05C2, 0}, {0X05C3, 0}, {0X05C4, 0}, {0X05D0, 0}, {0X05D1, 0}, {0X05D2, 0}, {0X05D3, 0}, {0X05D4, 0}, {0X05D5, 0}, {0X05D6, 0}, {0X05D7, 0}, {0X05D8, 0}, {0X05D9, 0}, {0X05DA, 0}, {0X05DB, 0}, {0X05DC, 0}, {0X05DD, 0}, {0X05DE, 0}, {0X05DF, 0}, {0X05E0, 0}, {0X05E1, 0}, {0X05E2, 0}, {0X05E3, 0}, {0X05E4, 0}, {0X05E5, 0}, {0X05E6, 0}, {0X05E7, 0}, {0X05E8, 0}, {0X05E9, 0}, {0X05EA, 0}, {0X05F0, 0}, {0X05F1, 0}, {0X05F2, 0}, {0X05F3, 0}, {0X05F4, 0}, {0X0621, 0}, {0X0622, 0}, {0X0623, 0}, {0X0624, 0}, {0X0625, 0}, {0X0626, 0}, {0X0627, 0}, {0X0628, 0}, {0X0629, 0}, {0X062A, 0}, {0X062B, 0}, {0X062C, 0}, {0X062D, 0}, {0X062E, 0}, {0X062F, 0}, {0X0630, 0}, {0X0631, 0}, {0X0632, 0}, {0X0633, 0}, {0X0634, 0}, {0X0635, 0}, {0X0636, 0}, {0X0637, 0}, {0X0638, 0}, {0X0639, 0}, {0X063A, 0}, {0X0641, 0}, {0X0642, 0}, {0X0643, 0}, {0X0644, 0}, {0X0645, 0}, {0X0646, 0}, {0X0647, 0}, {0X0648, 0}, {0X0649, 0}, {0X064A, 0}, {0X0660, 0}, {0X0661, 0}, {0X0662, 0}, {0X0663, 0}, {0X0664, 0}, {0X0665, 0}, {0X0666, 0}, {0X0667, 0}, {0X0668, 0}, {0X0669, 0}, {0X0679, 0}, {0X067E, 0}, {0X0686, 0}, {0X0688, 0}, {0X0691, 0}, {0X0698, 0}, {0X06A9, 0}, {0X06AF, 0}, {0X06BA, 0}, {0X06C0, 0}, {0X06D2, 0}, {0X06D3, 0}, {0X06F0, 0}, {0X06F1, 0}, {0X06F2, 0}, {0X06F3, 0}, {0X06F4, 0}, {0X06F5, 0}, {0X06F6, 0}, {0X06F7, 0}, {0X06F8, 0}, {0X06F9, 0}, {0X0950, 0}, {0X0964, 0}, {0X0965, 0}, {0X0966, 0}, {0X0967, 0}, {0X0968, 0}, {0X0969, 0}, {0X096A, 0}, {0X096B, 0}, {0X096C, 0}, {0X096D, 0}, {0X096E, 0}, {0X096F, 0}, {0X0970, 0}, {0X09E6, 0}, {0X09E7, 0}, {0X09E8, 0}, {0X09E9, 0}, {0X09EA, 0}, {0X09EB, 0}, {0X09EC, 0}, {0X09ED, 0}, {0X09EE, 0}, {0X09EF, 0}, {0X09F4, 0}, {0X09F5, 0}, {0X09F6, 0}, {0X09F7, 0}, {0X09F8, 0}, {0X09F9, 0}, {0X0A66, 0}, {0X0A67, 0}, {0X0A68, 0}, {0X0A69, 0}, {0X0A6A, 0}, {0X0A6B, 0}, {0X0A6C, 0}, {0X0A6D, 0}, {0X0A6E, 0}, {0X0A6F, 0}, {0X0A74, 0}, {0X0AD0, 0}, {0X0AE6, 0}, {0X0AE7, 0}, {0X0AE8, 0}, {0X0AE9, 0}, {0X0AEA, 0}, {0X0AEB, 0}, {0X0AEC, 0}, {0X0AED, 0}, {0X0AEE, 0}, {0X0AEF, 0}, {0X0B66, 0}, {0X0B67, 0}, {0X0B68, 0}, {0X0B69, 0}, {0X0B6A, 0}, {0X0B6B, 0}, {0X0B6C, 0}, {0X0B6D, 0}, {0X0B6E, 0}, {0X0B6F, 0}, {0X0BE7, 0}, {0X0BE8, 0}, {0X0BE9, 0}, {0X0BEA, 0}, {0X0BEB, 0}, {0X0BEC, 0}, {0X0BED, 0}, {0X0BEE, 0}, {0X0BEF, 0}, {0X0BF0, 0}, {0X0BF1, 0}, {0X0BF2, 0}, {0X0D66, 0}, {0X0D67, 0}, {0X0D68, 0}, {0X0D69, 0}, {0X0D6A, 0}, {0X0D6B, 0}, {0X0D6C, 0}, {0X0D6D, 0}, {0X0D6E, 0}, {0X0D6F, 0}, {0X0DE6, 0}, {0X0DE7, 0}, {0X0DE8, 0}, {0X0DE9, 0}, {0X0DEA, 0}, {0X0DEB, 0}, {0X0DEC, 0}, {0X0DED, 0}, {0X0DEE, 0}, {0X0DEF, 0}, {0X0E50, 0}, {0X0E51, 0}, {0X0E52, 0}, {0X0E53, 0}, {0X0E54, 0}, {0X0E55, 0}, {0X0E56, 0}, {0X0E57, 0}, {0X0E58, 0}, {0X0E59, 0}, {0X0E66, 0}, {0X0E67, 0}, {0X0E68, 0}, {0X0E69, 0}, {0X0E6A, 0}, {0X0E6B, 0}, {0X0E6C, 0}, {0X0E6D, 0}, {0X0E6E, 0}, {0X0E6F, 0}, {0X0ED0, 0}, {0X0ED1, 0}, {0X0ED2, 0}, {0X0ED3, 0}, {0X0ED4, 0}, {0X0ED5, 0}, {0X0ED6, 0}, {0X0ED7, 0}, {0X0ED8, 0}, {0X0ED9, 0}, {0X0F20, 0}, {0X0F21, 0}, {0X0F22, 0}, {0X0F23, 0}, {0X0F24, 0}, {0X0F25, 0}, {0X0F26, 0}, {0X0F27, 0}, {0X0F28, 0}, {0X0F29, 0}, {0X10A0, 0}, {0X10A1, 0}, {0X10A2, 0}, {0X10A3, 0}, {0X10A4, 0}, {0X10A5, 0}, {0X10A6, 0}, {0X10A7, 0}, {0X10A8, 0}, {0X10A9, 0}, {0X10AA, 0}, {0X10AB, 0}, {0X10AC, 0}, {0X10AD, 0}, {0X10AE, 0}, {0X10AF, 0}, {0X10B0, 0}, {0X10B1, 0}, {0X10B2, 0}, {0X10B3, 0}, {0X10B4, 0}, {0X10B5, 0}, {0X10B6, 0}, {0X10B7, 0}, {0X10B8, 0}, {0X10B9, 0}, {0X10BA, 0}, {0X10BB, 0}, {0X10BC, 0}, {0X10BD, 0}, {0X10BE, 0}, {0X10BF, 0}, {0X10C0, 0}, {0X10C1, 0}, {0X10C2, 0}, {0X10C3, 0}, {0X10C4, 0}, {0X10C5, 0}, {0X10D0, 0}, {0X10D1, 0}, {0X10D2, 0}, {0X10D3, 0}, {0X10D4, 0}, {0X10D5, 0}, {0X10D6, 0}, {0X10D7, 0}, {0X10D8, 0}, {0X10D9, 0}, {0X10DA, 0}, {0X10DB, 0}, {0X10DC, 0}, {0X10DD, 0}, {0X10DE, 0}, {0X10DF, 0}, {0X10E0, 0}, {0X10E1, 0}, {0X10E2, 0}, {0X10E3, 0}, {0X10E4, 0}, {0X10E5, 0}, {0X10E6, 0}, {0X10E7, 0}, {0X10E8, 0}, {0X10E9, 0}, {0X10EA, 0}, {0X10EB, 0}, {0X10EC, 0}, {0X10ED, 0}, {0X10EE, 0}, {0X10EF, 0}, {0X10F0, 0}, {0X10F1, 0}, {0X10F2, 0}, {0X10F3, 0}, {0X10F4, 0}, {0X10F5, 0}, {0X10F6, 0}, {0X10FB, 0}, {0X1E9A, 0}, {0X1E9B, 0}, {0X1F00, 0}, {0X1F01, 0}, {0X1F02, 0}, {0X1F03, 0}, {0X1F04, 0}, {0X1F05, 0}, {0X1F06, 0}, {0X1F07, 0}, {0X1F08, 0}, {0X1F09, 0}, {0X1F0A, 0}, {0X1F0B, 0}, {0X1F0C, 0}, {0X1F0D, 0}, {0X1F0E, 0}, {0X1F0F, 0}, {0X1F10, 0}, {0X1F11, 0}, {0X1F12, 0}, {0X1F13, 0}, {0X1F14, 0}, {0X1F15, 0}, {0X1F18, 0}, {0X1F19, 0}, {0X1F1A, 0}, {0X1F1B, 0}, {0X1F1C, 0}, {0X1F1D, 0}, {0X1F20, 0}, {0X1F21, 0}, {0X1F22, 0}, {0X1F23, 0}, {0X1F24, 0}, {0X1F25, 0}, {0X1F26, 0}, {0X1F27, 0}, {0X1F28, 0}, {0X1F29, 0}, {0X1F2A, 0}, {0X1F2B, 0}, {0X1F2C, 0}, {0X1F2D, 0}, {0X1F2E, 0}, {0X1F2F, 0}, {0X1F30, 0}, {0X1F31, 0}, {0X1F32, 0}, {0X1F33, 0}, {0X1F34, 0}, {0X1F35, 0}, {0X1F36, 0}, {0X1F37, 0}, {0X1F38, 0}, {0X1F39, 0}, {0X1F3A, 0}, {0X1F3B, 0}, {0X1F3C, 0}, {0X1F3D, 0}, {0X1F3E, 0}, {0X1F3F, 0}, {0X1F40, 0}, {0X1F41, 0}, {0X1F42, 0}, {0X1F43, 0}, {0X1F44, 0}, {0X1F45, 0}, {0X1F48, 0}, {0X1F49, 0}, {0X1F4A, 0}, {0X1F4B, 0}, {0X1F4C, 0}, {0X1F4D, 0}, {0X1F50, 0}, {0X1F51, 0}, {0X1F52, 0}, {0X1F53, 0}, {0X1F54, 0}, {0X1F55, 0}, {0X1F56, 0}, {0X1F57, 0}, {0X1F59, 0}, {0X1F5B, 0}, {0X1F5D, 0}, {0X1F5F, 0}, {0X1F60, 0}, {0X1F61, 0}, {0X1F62, 0}, {0X1F63, 0}, {0X1F64, 0}, {0X1F65, 0}, {0X1F66, 0}, {0X1F67, 0}, {0X1F68, 0}, {0X1F69, 0}, {0X1F6A, 0}, {0X1F6B, 0}, {0X1F6C, 0}, {0X1F6D, 0}, {0X1F6E, 0}, {0X1F6F, 0}, {0X1F70, 0}, {0X1F71, 0}, {0X1F72, 0}, {0X1F73, 0}, {0X1F74, 0}, {0X1F75, 0}, {0X1F76, 0}, {0X1F77, 0}, {0X1F78, 0}, {0X1F79, 0}, {0X1F7A, 0}, {0X1F7B, 0}, {0X1F7C, 0}, {0X1F7D, 0}, {0X1F80, 0}, {0X1F81, 0}, {0X1F82, 0}, {0X1F83, 0}, {0X1F84, 0}, {0X1F85, 0}, {0X1F86, 0}, {0X1F87, 0}, {0X1F88, 0}, {0X1F89, 0}, {0X1F8A, 0}, {0X1F8B, 0}, {0X1F8C, 0}, {0X1F8D, 0}, {0X1F8E, 0}, {0X1F8F, 0}, {0X1F90, 0}, {0X1F91, 0}, {0X1F92, 0}, {0X1F93, 0}, {0X1F94, 0}, {0X1F95, 0}, {0X1F96, 0}, {0X1F97, 0}, {0X1F98, 0}, {0X1F99, 0}, {0X1F9A, 0}, {0X1F9B, 0}, {0X1F9C, 0}, {0X1F9D, 0}, {0X1F9E, 0}, {0X1F9F, 0}, {0X1FA0, 0}, {0X1FA1, 0}, {0X1FA2, 0}, {0X1FA3, 0}, {0X1FA4, 0}, {0X1FA5, 0}, {0X1FA6, 0}, {0X1FA7, 0}, {0X1FA8, 0}, {0X1FA9, 0}, {0X1FAA, 0}, {0X1FAB, 0}, {0X1FAC, 0}, {0X1FAD, 0}, {0X1FAE, 0}, {0X1FAF, 0}, {0X1FB0, 0}, {0X1FB1, 0}, {0X1FB2, 0}, {0X1FB3, 0}, {0X1FB4, 0}, {0X1FB6, 0}, {0X1FB7, 0}, {0X1FB8, 0}, {0X1FB9, 0}, {0X1FBA, 0}, {0X1FBB, 0}, {0X1FBC, 0}, {0X1FBD, 0}, {0X1FBE, 0}, {0X1FBF, 0}, {0X1FC0, 0}, {0X1FC1, 0}, {0X1FC2, 0}, {0X1FC3, 0}, {0X1FC4, 0}, {0X1FC6, 0}, {0X1FC7, 0}, {0X1FC8, 0}, {0X1FC9, 0}, {0X1FCA, 0}, {0X1FCB, 0}, {0X1FCC, 0}, {0X1FCD, 0}, {0X1FCE, 0}, {0X1FCF, 0}, {0X1FD0, 0}, {0X1FD1, 0}, {0X1FD2, 0}, {0X1FD3, 0}, {0X1FD6, 0}, {0X1FD7, 0}, {0X1FD8, 0}, {0X1FD9, 0}, {0X1FDA, 0}, {0X1FDB, 0}, {0X1FDD, 0}, {0X1FDE, 0}, {0X1FDF, 0}, {0X1FE0, 0}, {0X1FE1, 0}, {0X1FE2, 0}, {0X1FE3, 0}, {0X1FE4, 0}, {0X1FE5, 0}, {0X1FE6, 0}, {0X1FE7, 0}, {0X1FE8, 0}, {0X1FE9, 0}, {0X1FEA, 0}, {0X1FEB, 0}, {0X1FEC, 0}, {0X1FED, 0}, {0X1FEE, 0}, {0X1FEF, 0}, {0X1FF2, 0}, {0X1FF3, 0}, {0X1FF4, 0}, {0X1FF6, 0}, {0X1FF7, 0}, {0X1FF8, 0}, {0X1FF9, 0}, {0X1FFA, 0}, {0X1FFB, 0}, {0X1FFC, 0}, {0X1FFD, 0}, {0X1FFE, 0}, {0X2016, 0}, {0X2017, 0}, {0X2018, 0}, {0X2019, 0}, {0X201A, 0}, {0X201B, 0}, {0X201C, 0}, {0X201D, 0}, {0X201E, 0}, {0X201F, 0}, {0X2020, 0}, {0X2021, 0}, {0X2022, 0}, {0X2023, 0}, {0X2024, 0}, {0X2025, 0}, {0X2026, 0}, {0X2027, 0}, {0X2028, 0}, {0X2029, 0}, {0X202A, 0}, {0X202B, 0}, {0X202C, 0}, {0X202D, 0}, {0X202E, 0}, {0X2030, 0}, {0X2031, 0}, {0X2032, 0}, {0X2033, 0}, {0X2034, 0}, {0X2035, 0}, {0X2036, 0}, {0X2037, 0}, {0X2038, 0}, {0X2039, 0}, {0X203A, 0}, {0X203B, 0}, {0X203C, 0}, {0X203D, 0}, {0X203E, 0}, {0X203F, 0}, {0X2040, 0}, {0X2041, 0}, {0X2042, 0}, {0X2043, 0}, {0X2044, 0}, {0X2045, 0}, {0X2046, 0}, {0X2070, 0}, {0X2074, 0}, {0X2075, 0}, {0X2076, 0}, {0X2077, 0}, {0X2078, 0}, {0X2079, 0}, {0X207A, 0}, {0X207B, 0}, {0X207C, 0}, {0X207D, 0}, {0X207E, 0}, {0X207F, 0}, {0X2080, 0}, {0X2081, 0}, {0X2082, 0}, {0X2083, 0}, {0X2084, 0}, {0X2085, 0}, {0X2086, 0}, {0X2087, 0}, {0X2088, 0}, {0X2089, 0}, {0X208A, 0}, {0X208B, 0}, {0X208C, 0}, {0X208D, 0}, {0X208E, 0}, {0X20A0, 0}, {0X2100, 0}, {0X2101, 0}, {0X2102, 0}, {0X2103, 0}, {0X2104, 0}, {0X2105, 0}, {0X2106, 0}, {0X2107, 0}, {0X2108, 0}, {0X2109, 0}, {0X210A, 0}, {0X210B, 0}, {0X210C, 0}, {0X210D, 0}, {0X210E, 0}, {0X210F, 0}, {0X2110, 0}, {0X2111, 0}, {0X2112, 0}, {0X2113, 0}, {0X2114, 0}, {0X2115, 0}, {0X2116, 0}, {0X2117, 0}, {0X2118, 0}, {0X2119, 0}, {0X211A, 0}, {0X211B, 0}, {0X211C, 0}, {0X211D, 0}, {0X211E, 0}, {0X211F, 0}, {0X2120, 0}, {0X2121, 0}, {0X2122, 0}, {0X2123, 0}, {0X2124, 0}, {0X2125, 0}, {0X2126, 0}, {0X2127, 0}, {0X2128, 0}, {0X2129, 0}, {0X212C, 0}, {0X212D, 0}, {0X212E, 0}, {0X212F, 0}, {0X2130, 0}, {0X2131, 0}, {0X2132, 0}, {0X2133, 0}, {0X2134, 0}, {0X2135, 0}, {0X2136, 0}, {0X2137, 0}, {0X2138, 0}, {0X2153, 0}, {0X2154, 0}, {0X2155, 0}, {0X2156, 0}, {0X2157, 0}, {0X2158, 0}, {0X2159, 0}, {0X215A, 0}, {0X215B, 0}, {0X215C, 0}, {0X215D, 0}, {0X215E, 0}, {0X215F, 0}, {0X2160, 0}, {0X2161, 0}, {0X2162, 0}, {0X2163, 0}, {0X2164, 0}, {0X2165, 0}, {0X2166, 0}, {0X2167, 0}, {0X2168, 0}, {0X2169, 0}, {0X216A, 0}, {0X216B, 0}, {0X216C, 0}, {0X216D, 0}, {0X216E, 0}, {0X216F, 0}, {0X2170, 0}, {0X2171, 0}, {0X2172, 0}, {0X2173, 0}, {0X2174, 0}, {0X2175, 0}, {0X2176, 0}, {0X2177, 0}, {0X2178, 0}, {0X2179, 0}, {0X217A, 0}, {0X217B, 0}, {0X217C, 0}, {0X217D, 0}, {0X217E, 0}, {0X217F, 0}, {0X2180, 0}, {0X2181, 0}, {0X2182, 0}, {0X2190, 0}, {0X2191, 0}, {0X2192, 0}, {0X2193, 0}, {0X2194, 0}, {0X2195, 0}, {0X2196, 0}, {0X2197, 0}, {0X2198, 0}, {0X2199, 0}, {0X219A, 0}, {0X219B, 0}, {0X219C, 0}, {0X219D, 0}, {0X219E, 0}, {0X219F, 0}, {0X21A0, 0}, {0X21A1, 0}, {0X21A2, 0}, {0X21A3, 0}, {0X21A4, 0}, {0X21A5, 0}, {0X21A6, 0}, {0X21A7, 0}, {0X21A8, 0}, {0X21A9, 0}, {0X21AA, 0}, {0X21AB, 0}, {0X21AC, 0}, {0X21AD, 0}, {0X21AE, 0}, {0X21AF, 0}, {0X21B0, 0}, {0X21B1, 0}, {0X21B2, 0}, {0X21B3, 0}, {0X21B4, 0}, {0X21B5, 0}, {0X21B6, 0}, {0X21B7, 0}, {0X21B8, 0}, {0X21B9, 0}, {0X21BA, 0}, {0X21BB, 0}, {0X21BC, 0}, {0X21BD, 0}, {0X21BE, 0}, {0X21BF, 0}, {0X21C0, 0}, {0X21C1, 0}, {0X21C2, 0}, {0X21C3, 0}, {0X21C4, 0}, {0X21C5, 0}, {0X21C6, 0}, {0X21C7, 0}, {0X21C8, 0}, {0X21C9, 0}, {0X21CA, 0}, {0X21CB, 0}, {0X21CC, 0}, {0X21CD, 0}, {0X21CE, 0}, {0X21CF, 0}, {0X21D0, 0}, {0X21D1, 0}, {0X21D2, 0}, {0X21D3, 0}, {0X21D4, 0}, {0X21D5, 0}, {0X21D6, 0}, {0X21D7, 0}, {0X21D8, 0}, {0X21D9, 0}, {0X21DA, 0}, {0X21DB, 0}, {0X21DC, 0}, {0X21DD, 0}, {0X21DE, 0}, {0X21DF, 0}, {0X21E0, 0}, {0X21E1, 0}, {0X21E2, 0}, {0X21E3, 0}, {0X21E4, 0}, {0X21E5, 0}, {0X21E6, 0}, {0X21E7, 0}, {0X21E8, 0}, {0X21E9, 0}, {0X21EA, 0}, {0X2200, 0}, {0X2201, 0}, {0X2202, 0}, {0X2203, 0}, {0X2204, 0}, {0X2205, 0}, {0X2206, 0}, {0X2207, 0}, {0X2208, 0}, {0X2209, 0}, {0X220A, 0}, {0X220B, 0}, {0X220C, 0}, {0X220D, 0}, {0X220E, 0}, {0X220F, 0}, {0X2210, 0}, {0X2211, 0}, {0X2213, 0}, {0X2214, 0}, {0X2215, 0}, {0X2216, 0}, {0X2217, 0}, {0X2218, 0}, {0X2219, 0}, {0X221A, 0}, {0X221B, 0}, {0X221C, 0}, {0X221D, 0}, {0X221E, 0}, {0X221F, 0}, {0X2220, 0}, {0X2221, 0}, {0X2222, 0}, {0X2223, 0}, {0X2224, 0}, {0X2225, 0}, {0X2226, 0}, {0X2227, 0}, {0X2228, 0}, {0X2229, 0}, {0X222A, 0}, {0X222B, 0}, {0X222C, 0}, {0X222D, 0}, {0X222E, 0}, {0X222F, 0}, {0X2230, 0}, {0X2231, 0}, {0X2232, 0}, {0X2233, 0}, {0X2234, 0}, {0X2235, 0}, {0X2236, 0}, {0X2237, 0}, {0X2238, 0}, {0X2239, 0}, {0X223A, 0}, {0X223B, 0}, {0X223C, 0}, {0X223D, 0}, {0X223E, 0}, {0X223F, 0}, {0X2240, 0}, {0X2242, 0}, {0X2243, 0}, {0X2244, 0}, {0X2245, 0}, {0X2246, 0}, {0X2247, 0}, {0X2248, 0}, {0X2248, 0}, {0X2249, 0}, {0X224A, 0}, {0X224B, 0}, {0X224C, 0}, {0X224D, 0}, {0X224E, 0}, {0X224F, 0}, {0X2250, 0}, {0X2251, 0}, {0X2252, 0}, {0X2253, 0}, {0X2254, 0}, {0X2255, 0}, {0X2256, 0}, {0X2257, 0}, {0X2258, 0}, {0X2259, 0}, {0X225A, 0}, {0X225B, 0}, {0X225C, 0}, {0X225D, 0}, {0X225E, 0}, {0X225F, 0}, {0X2261, 0}, {0X2261, 0}, {0X2262, 0}, {0X2263, 0}, {0X2264, 0}, {0X2265, 0}, {0X2266, 0}, {0X2267, 0}, {0X2268, 0}, {0X2269, 0}, {0X226A, 0}, {0X226B, 0}, {0X226C, 0}, {0X226D, 0}, {0X2270, 0}, {0X2271, 0}, {0X2272, 0}, {0X2273, 0}, {0X2274, 0}, {0X2275, 0}, {0X2276, 0}, {0X2277, 0}, {0X2278, 0}, {0X2279, 0}, {0X227A, 0}, {0X227B, 0}, {0X227C, 0}, {0X227D, 0}, {0X227E, 0}, {0X227F, 0}, {0X2280, 0}, {0X2281, 0}, {0X2282, 0}, {0X2283, 0}, {0X2284, 0}, {0X2285, 0}, {0X2286, 0}, {0X2287, 0}, {0X2288, 0}, {0X2289, 0}, {0X228A, 0}, {0X228B, 0}, {0X228C, 0}, {0X228D, 0}, {0X228E, 0}, {0X228F, 0}, {0X2290, 0}, {0X2291, 0}, {0X2292, 0}, {0X2293, 0}, {0X2294, 0}, {0X2295, 0}, {0X2296, 0}, {0X2297, 0}, {0X2298, 0}, {0X2299, 0}, {0X229A, 0}, {0X229B, 0}, {0X229C, 0}, {0X229D, 0}, {0X229E, 0}, {0X229F, 0}, {0X22A0, 0}, {0X22A1, 0}, {0X22A2, 0}, {0X22A3, 0}, {0X22A4, 0}, {0X22A5, 0}, {0X22A6, 0}, {0X22A7, 0}, {0X22A8, 0}, {0X22A9, 0}, {0X22AA, 0}, {0X22AB, 0}, {0X22AC, 0}, {0X22AD, 0}, {0X22AE, 0}, {0X22AF, 0}, {0X22B0, 0}, {0X22B1, 0}, {0X22B2, 0}, {0X22B3, 0}, {0X22B4, 0}, {0X22B5, 0}, {0X22B6, 0}, {0X22B7, 0}, {0X22B8, 0}, {0X22B9, 0}, {0X22BA, 0}, {0X22BB, 0}, {0X22BC, 0}, {0X22BD, 0}, {0X22BE, 0}, {0X22BF, 0}, {0X22C0, 0}, {0X22C1, 0}, {0X22C2, 0}, {0X22C3, 0}, {0X22C4, 0}, {0X22C5, 0}, {0X22C6, 0}, {0X22C7, 0}, {0X22C8, 0}, {0X22C9, 0}, {0X22CA, 0}, {0X22CB, 0}, {0X22CC, 0}, {0X22CD, 0}, {0X22CE, 0}, {0X22CF, 0}, {0X22D0, 0}, {0X22D1, 0}, {0X22D2, 0}, {0X22D3, 0}, {0X22D4, 0}, {0X22D5, 0}, {0X22D6, 0}, {0X22D7, 0}, {0X22D8, 0}, {0X22D9, 0}, {0X22DA, 0}, {0X22DB, 0}, {0X22DC, 0}, {0X22DD, 0}, {0X22DE, 0}, {0X22DF, 0}, {0X22E0, 0}, {0X22E1, 0}, {0X22E2, 0}, {0X22E3, 0}, {0X22E4, 0}, {0X22E5, 0}, {0X22E6, 0}, {0X22E7, 0}, {0X22E8, 0}, {0X22E9, 0}, {0X22EA, 0}, {0X22EB, 0}, {0X22EC, 0}, {0X22ED, 0}, {0X22EE, 0}, {0X22EF, 0}, {0X22F0, 0}, {0X22F1, 0}, {0X2300, 0}, {0X2302, 0}, {0X2302, 0}, {0X2303, 0}, {0X2304, 0}, {0X2305, 0}, {0X2306, 0}, {0X2307, 0}, {0X2308, 0}, {0X2309, 0}, {0X230A, 0}, {0X230B, 0}, {0X230C, 0}, {0X230D, 0}, {0X230E, 0}, {0X230F, 0}, {0X2310, 0}, {0X2310, 0}, {0X2311, 0}, {0X2312, 0}, {0X2313, 0}, {0X2314, 0}, {0X2315, 0}, {0X2316, 0}, {0X2317, 0}, {0X2318, 0}, {0X2319, 0}, {0X231A, 0}, {0X231B, 0}, {0X231C, 0}, {0X231D, 0}, {0X231E, 0}, {0X231F, 0}, {0X2320, 0}, {0X2320, 0}, {0X2321, 0}, {0X2321, 0}, {0X2322, 0}, {0X2323, 0}, {0X2324, 0}, {0X2325, 0}, {0X2326, 0}, {0X2327, 0}, {0X2328, 0}, {0X2329, 0}, {0X232A, 0}, {0X232B, 0}, {0X232C, 0}, {0X232D, 0}, {0X232E, 0}, {0X232F, 0}, {0X2330, 0}, {0X2331, 0}, {0X2332, 0}, {0X2333, 0}, {0X2334, 0}, {0X2335, 0}, {0X2336, 0}, {0X2337, 0}, {0X2338, 0}, {0X2339, 0}, {0X233A, 0}, {0X233B, 0}, {0X233C, 0}, {0X233D, 0}, {0X233E, 0}, {0X233F, 0}, {0X2340, 0}, {0X2341, 0}, {0X2342, 0}, {0X2343, 0}, {0X2344, 0}, {0X2345, 0}, {0X2346, 0}, {0X2347, 0}, {0X2348, 0}, {0X2349, 0}, {0X234A, 0}, {0X234B, 0}, {0X234C, 0}, {0X234D, 0}, {0X234E, 0}, {0X234F, 0}, {0X2350, 0}, {0X2351, 0}, {0X2352, 0}, {0X2353, 0}, {0X2354, 0}, {0X2355, 0}, {0X2356, 0}, {0X2357, 0}, {0X2358, 0}, {0X2359, 0}, {0X235A, 0}, {0X235B, 0}, {0X235C, 0}, {0X235D, 0}, {0X235E, 0}, {0X235F, 0}, {0X2360, 0}, {0X2361, 0}, {0X2362, 0}, {0X2363, 0}, {0X2364, 0}, {0X2365, 0}, {0X2366, 0}, {0X2367, 0}, {0X2368, 0}, {0X2369, 0}, {0X236A, 0}, {0X236B, 0}, {0X236C, 0}, {0X236D, 0}, {0X236E, 0}, {0X236F, 0}, {0X2370, 0}, {0X2371, 0}, {0X2372, 0}, {0X2373, 0}, {0X2374, 0}, {0X2375, 0}, {0X2376, 0}, {0X2377, 0}, {0X2378, 0}, {0X2379, 0}, {0X237A, 0}, {0X2400, 0}, {0X2401, 0}, {0X2402, 0}, {0X2403, 0}, {0X2404, 0}, {0X2405, 0}, {0X2406, 0}, {0X2407, 0}, {0X2408, 0}, {0X2409, 0}, {0X240A, 0}, {0X240B, 0}, {0X240C, 0}, {0X240D, 0}, {0X240E, 0}, {0X240F, 0}, {0X2410, 0}, {0X2411, 0}, {0X2412, 0}, {0X2413, 0}, {0X2414, 0}, {0X2415, 0}, {0X2416, 0}, {0X2417, 0}, {0X2418, 0}, {0X2419, 0}, {0X241A, 0}, {0X241B, 0}, {0X241C, 0}, {0X241D, 0}, {0X241E, 0}, {0X241F, 0}, {0X2420, 0}, {0X2421, 0}, {0X2422, 0}, {0X2423, 0}, {0X2424, 0}, {0X2440, 0}, {0X2441, 0}, {0X2442, 0}, {0X2443, 0}, {0X2444, 0}, {0X2445, 0}, {0X2446, 0}, {0X2447, 0}, {0X2448, 0}, {0X2449, 0}, {0X244A, 0}, {0X2460, 0}, {0X2461, 0}, {0X2462, 0}, {0X2463, 0}, {0X2464, 0}, {0X2465, 0}, {0X2466, 0}, {0X2467, 0}, {0X2468, 0}, {0X24EA, 0}, {0X2500, 0}, {0X2501, 0}, {0X2502, 0}, {0X2503, 0}, {0X2504, 0}, {0X2505, 0}, {0X2506, 0}, {0X2507, 0}, {0X2508, 0}, {0X2509, 0}, {0X250A, 0}, {0X250B, 0}, {0X250C, 0}, {0X250D, 0}, {0X250E, 0}, {0X250F, 0}, {0X2510, 0}, {0X2511, 0}, {0X2512, 0}, {0X2513, 0}, {0X2514, 0}, {0X2515, 0}, {0X2516, 0}, {0X2517, 0}, {0X2518, 0}, {0X2519, 0}, {0X251A, 0}, {0X251B, 0}, {0X251C, 0}, {0X251D, 0}, {0X251E, 0}, {0X251F, 0}, {0X2520, 0}, {0X2521, 0}, {0X2522, 0}, {0X2523, 0}, {0X2524, 0}, {0X2525, 0}, {0X2526, 0}, {0X2527, 0}, {0X2528, 0}, {0X2529, 0}, {0X252A, 0}, {0X252B, 0}, {0X252C, 0}, {0X252D, 0}, {0X252E, 0}, {0X252F, 0}, {0X2530, 0}, {0X2531, 0}, {0X2532, 0}, {0X2533, 0}, {0X2534, 0}, {0X2535, 0}, {0X2536, 0}, {0X2537, 0}, {0X2538, 0}, {0X2539, 0}, {0X253A, 0}, {0X253B, 0}, {0X253C, 0}, {0X253D, 0}, {0X253E, 0}, {0X253F, 0}, {0X2540, 0}, {0X2541, 0}, {0X2542, 0}, {0X2543, 0}, {0X2544, 0}, {0X2545, 0}, {0X2546, 0}, {0X2547, 0}, {0X2548, 0}, {0X2549, 0}, {0X254A, 0}, {0X254B, 0}, {0X254C, 0}, {0X254D, 0}, {0X254E, 0}, {0X254F, 0}, {0X2550, 0}, {0X2551, 0}, {0X2552, 0}, {0X2553, 0}, {0X2554, 0}, {0X2555, 0}, {0X2556, 0}, {0X2557, 0}, {0X2558, 0}, {0X2559, 0}, {0X255A, 0}, {0X255B, 0}, {0X255C, 0}, {0X255D, 0}, {0X255E, 0}, {0X255F, 0}, {0X2560, 0}, {0X2561, 0}, {0X2562, 0}, {0X2563, 0}, {0X2564, 0}, {0X2565, 0}, {0X2566, 0}, {0X2567, 0}, {0X2568, 0}, {0X2569, 0}, {0X256A, 0}, {0X256B, 0}, {0X256C, 0}, {0X256D, 0}, {0X256E, 0}, {0X256F, 0}, {0X2570, 0}, {0X2571, 0}, {0X2572, 0}, {0X2573, 0}, {0X2574, 0}, {0X2575, 0}, {0X2576, 0}, {0X2577, 0}, {0X2578, 0}, {0X2579, 0}, {0X257A, 0}, {0X257B, 0}, {0X257C, 0}, {0X257D, 0}, {0X257E, 0}, {0X257F, 0}, {0X2580, 0}, {0X2581, 0}, {0X2582, 0}, {0X2583, 0}, {0X2584, 0}, {0X2585, 0}, {0X2586, 0}, {0X2587, 0}, {0X2588, 0}, {0X2589, 0}, {0X258A, 0}, {0X258B, 0}, {0X258C, 0}, {0X258D, 0}, {0X258E, 0}, {0X258F, 0}, {0X2590, 0}, {0X2591, 0}, {0X2592, 0}, {0X2593, 0}, {0X2594, 0}, {0X2595, 0}, {0X25A0, 0}, {0X25A0, 0}, {0X25A1, 0}, {0X25A2, 0}, {0X25A3, 0}, {0X25A4, 0}, {0X25A5, 0}, {0X25A6, 0}, {0X25A7, 0}, {0X25A8, 0}, {0X25A9, 0}, {0X25AA, 0}, {0X25AB, 0}, {0X25AC, 0}, {0X25AC, 0}, {0X25AD, 0}, {0X25AE, 0}, {0X25AF, 0}, {0X25B0, 0}, {0X25B1, 0}, {0X25B2, 0}, {0X25B2, 0}, {0X25B3, 0}, {0X25B4, 0}, {0X25B5, 0}, {0X25B6, 0}, {0X25B7, 0}, {0X25B8, 0}, {0X25B9, 0}, {0X25BA, 0}, {0X25BA, 0}, {0X25BB, 0}, {0X25BC, 0}, {0X25BC, 0}, {0X25BD, 0}, {0X25BE, 0}, {0X25BF, 0}, {0X25C0, 0}, {0X25C1, 0}, {0X25C2, 0}, {0X25C3, 0}, {0X25C4, 0}, {0X25C4, 0}, {0X25C5, 0}, {0X25C6, 0}, {0X25C7, 0}, {0X25C8, 0}, {0X25C9, 0}, {0X25CA, 0}, {0X25CB, 0}, {0X25CB, 0}, {0X25CC, 0}, {0X25CD, 0}, {0X25CE, 0}, {0X25CF, 0}, {0X25D0, 0}, {0X25D1, 0}, {0X25D2, 0}, {0X25D3, 0}, {0X25D4, 0}, {0X25D5, 0}, {0X25D6, 0}, {0X25D7, 0}, {0X25D8, 0}, {0X25D9, 0}, {0X25DA, 0}, {0X25DB, 0}, {0X25DC, 0}, {0X25DD, 0}, {0X25DE, 0}, {0X25DF, 0}, {0X25E0, 0}, {0X25E1, 0}, {0X25E2, 0}, {0X25E3, 0}, {0X25E4, 0}, {0X25E5, 0}, {0X25E6, 0}, {0X25E7, 0}, {0X25E8, 0}, {0X25E9, 0}, {0X25EA, 0}, {0X25EB, 0}, {0X25EC, 0}, {0X25ED, 0}, {0X25EE, 0}, {0X25EF, 0}, {0X2600, 0}, {0X2601, 0}, {0X2602, 0}, {0X2603, 0}, {0X2604, 0}, {0X2605, 0}, {0X2606, 0}, {0X2607, 0}, {0X2608, 0}, {0X2609, 0}, {0X260A, 0}, {0X260B, 0}, {0X260C, 0}, {0X260D, 0}, {0X260E, 0}, {0X260F, 0}, {0X2610, 0}, {0X2611, 0}, {0X2612, 0}, {0X2613, 0}, {0X261A, 0}, {0X261B, 0}, {0X261C, 0}, {0X261D, 0}, {0X261E, 0}, {0X261F, 0}, {0X2620, 0}, {0X2621, 0}, {0X2622, 0}, {0X2623, 0}, {0X2624, 0}, {0X2625, 0}, {0X2626, 0}, {0X2627, 0}, {0X2628, 0}, {0X2629, 0}, {0X262A, 0}, {0X262B, 0}, {0X262C, 0}, {0X262D, 0}, {0X262E, 0}, {0X262F, 0}, {0X2630, 0}, {0X2631, 0}, {0X2632, 0}, {0X2633, 0}, {0X2634, 0}, {0X2635, 0}, {0X2636, 0}, {0X2637, 0}, {0X2638, 0}, {0X2639, 0}, {0X263A, 0}, {0X263B, 0}, {0X263C, 0}, {0X263D, 0}, {0X263E, 0}, {0X263F, 0}, {0X2640, 0}, {0X2641, 0}, {0X2642, 0}, {0X2643, 0}, {0X2644, 0}, {0X2645, 0}, {0X2646, 0}, {0X2647, 0}, {0X2648, 0}, {0X2649, 0}, {0X264A, 0}, {0X264B, 0}, {0X264C, 0}, {0X264D, 0}, {0X264E, 0}, {0X264F, 0}, {0X2650, 0}, {0X2651, 0}, {0X2652, 0}, {0X2653, 0}, {0X2654, 0}, {0X2655, 0}, {0X2656, 0}, {0X2657, 0}, {0X2658, 0}, {0X2659, 0}, {0X265A, 0}, {0X265B, 0}, {0X265C, 0}, {0X265D, 0}, {0X265E, 0}, {0X265F, 0}, {0X2660, 0}, {0X2661, 0}, {0X2662, 0}, {0X2663, 0}, {0X2664, 0}, {0X2665, 0}, {0X2666, 0}, {0X2667, 0}, {0X2668, 0}, {0X2669, 0}, {0X266A, 0}, {0X266B, 0}, {0X266C, 0}, {0X266D, 0}, {0X266E, 0}, {0X266F, 0}, {0X2701, 0}, {0X2702, 0}, {0X2703, 0}, {0X2704, 0}, {0X2706, 0}, {0X2707, 0}, {0X2708, 0}, {0X2709, 0}, {0X270C, 0}, {0X270D, 0}, {0X270E, 0}, {0X270F, 0}, {0X2710, 0}, {0X2711, 0}, {0X2712, 0}, {0X2713, 0}, {0X2714, 0}, {0X2715, 0}, {0X2716, 0}, {0X2717, 0}, {0X2718, 0}, {0X2719, 0}, {0X271A, 0}, {0X271B, 0}, {0X271C, 0}, {0X271D, 0}, {0X271E, 0}, {0X271F, 0}, {0X2720, 0}, {0X2721, 0}, {0X2722, 0}, {0X2723, 0}, {0X2724, 0}, {0X2725, 0}, {0X2726, 0}, {0X2727, 0}, {0X2729, 0}, {0X272A, 0}, {0X272B, 0}, {0X272C, 0}, {0X272D, 0}, {0X272E, 0}, {0X272F, 0}, {0X2730, 0}, {0X2731, 0}, {0X2732, 0}, {0X2733, 0}, {0X2734, 0}, {0X2735, 0}, {0X2736, 0}, {0X2737, 0}, {0X2738, 0}, {0X2739, 0}, {0X273A, 0}, {0X273B, 0}, {0X273C, 0}, {0X273D, 0}, {0X273E, 0}, {0X273F, 0}, {0X2740, 0}, {0X2741, 0}, {0X2742, 0}, {0X2743, 0}, {0X2744, 0}, {0X2745, 0}, {0X2746, 0}, {0X2747, 0}, {0X2748, 0}, {0X2749, 0}, {0X274A, 0}, {0X274B, 0}, {0X274D, 0}, {0X274F, 0}, {0X2750, 0}, {0X2751, 0}, {0X2752, 0}, {0X2756, 0}, {0X2758, 0}, {0X2759, 0}, {0X275A, 0}, {0X275B, 0}, {0X275C, 0}, {0X275D, 0}, {0X275E, 0}, {0X2761, 0}, {0X2762, 0}, {0X2763, 0}, {0X2764, 0}, {0X2765, 0}, {0X2766, 0}, {0X2767, 0}, {0X2776, 0}, {0X2777, 0}, {0X2778, 0}, {0X2779, 0}, {0X277A, 0}, {0X277B, 0}, {0X277C, 0}, {0X277D, 0}, {0X277E, 0}, {0X277F, 0}, {0X2780, 0}, {0X2781, 0}, {0X2782, 0}, {0X2783, 0}, {0X2784, 0}, {0X2785, 0}, {0X2786, 0}, {0X2787, 0}, {0X2788, 0}, {0X2789, 0}, {0X278A, 0}, {0X278B, 0}, {0X278C, 0}, {0X278D, 0}, {0X278E, 0}, {0X278F, 0}, {0X2790, 0}, {0X2791, 0}, {0X2792, 0}, {0X2793, 0}, {0X2794, 0}, {0X2798, 0}, {0X2799, 0}, {0X279A, 0}, {0X279B, 0}, {0X279C, 0}, {0X279D, 0}, {0X279E, 0}, {0X279F, 0}, {0X27A0, 0}, {0X27A1, 0}, {0X27A2, 0}, {0X27A3, 0}, {0X27A4, 0}, {0X27A5, 0}, {0X27A6, 0}, {0X27A7, 0}, {0X27A8, 0}, {0X27A9, 0}, {0X27AA, 0}, {0X27AB, 0}, {0X27AC, 0}, {0X27AD, 0}, {0X27AE, 0}, {0X27AF, 0}, {0X27B1, 0}, {0X27B2, 0}, {0X27B3, 0}, {0X27B4, 0}, {0X27B5, 0}, {0X27B6, 0}, {0X27B7, 0}, {0X27B8, 0}, {0X27B9, 0}, {0X27BA, 0}, {0X27BB, 0}, {0X27BC, 0}, {0X27BD, 0}, {0X27BE, 0}, {0XFB00, 0}, {0XFB01, 0}, {0XFB02, 0}, {0XFB03, 0}, {0XFB04, 0}, {0XFB05, 0}, {0XFB06, 0}, {0XFB13, 0}, {0XFB14, 0}, {0XFB15, 0}, {0XFB16, 0}, {0XFB17, 0}, {0XFB1D, 0}, {0XFB1E, 0}, {0XFB1F, 0}, {0XFB20, 0}, {0XFB21, 0}, {0XFB22, 0}, {0XFB23, 0}, {0XFB24, 0}, {0XFB25, 0}, {0XFB26, 0}, {0XFB27, 0}, {0XFB28, 0}, {0XFB29, 0}, {0XFB2A, 0}, {0XFB2B, 0}, {0XFB2C, 0}, {0XFB2D, 0}, {0XFB2E, 0}, {0XFB2F, 0}, {0XFB30, 0}, {0XFB31, 0}, {0XFB32, 0}, {0XFB33, 0}, {0XFB34, 0}, {0XFB35, 0}, {0XFB36, 0}, {0XFB38, 0}, {0XFB39, 0}, {0XFB3A, 0}, {0XFB3B, 0}, {0XFB3C, 0}, {0XFB3E, 0}, {0XFB40, 0}, {0XFB41, 0}, {0XFB43, 0}, {0XFB44, 0}, {0XFB46, 0}, {0XFB47, 0}, {0XFB48, 0}, {0XFB49, 0}, {0XFB4A, 0}, {0XFB4B, 0}, {0XFB4C, 0}, {0XFB4D, 0}, {0XFB4E, 0}, {0XFB4F, 0}, {0XFB56, 0}, {0XFB57, 0}, {0XFB58, 0}, {0XFB59, 0}, {0XFB66, 0}, {0XFB67, 0}, {0XFB68, 0}, {0XFB69, 0}, {0XFB7A, 0}, {0XFB7B, 0}, {0XFB7C, 0}, {0XFB7D, 0}, {0XFB88, 0}, {0XFB89, 0}, {0XFB8A, 0}, {0XFB8B, 0}, {0XFB8C, 0}, {0XFB8D, 0}, {0XFB8E, 0}, {0XFB8F, 0}, {0XFB90, 0}, {0XFB91, 0}, {0XFB92, 0}, {0XFB93, 0}, {0XFB94, 0}, {0XFB95, 0}, {0XFB9E, 0}, {0XFB9F, 0}, {0XFBA4, 0}, {0XFBA5, 0}, {0XFBAE, 0}, {0XFBAF, 0}, {0XFBB0, 0}, {0XFBB1, 0}, {0XFE20, 0}, {0XFE21, 0}, {0XFE22, 0}, {0XFE23, 0}, {0XFE80, 0}, {0XFE81, 0}, {0XFE82, 0}, {0XFE83, 0}, {0XFE84, 0}, {0XFE85, 0}, {0XFE86, 0}, {0XFE87, 0}, {0XFE88, 0}, {0XFE89, 0}, {0XFE8A, 0}, {0XFE8B, 0}, {0XFE8C, 0}, {0XFE8D, 0}, {0XFE8E, 0}, {0XFE8F, 0}, {0XFE90, 0}, {0XFE91, 0}, {0XFE92, 0}, {0XFE93, 0}, {0XFE94, 0}, {0XFE95, 0}, {0XFE96, 0}, {0XFE97, 0}, {0XFE98, 0}, {0XFE99, 0}, {0XFE9A, 0}, {0XFE9B, 0}, {0XFE9C, 0}, {0XFE9D, 0}, {0XFE9E, 0}, {0XFE9F, 0}, {0XFEA0, 0}, {0XFEA1, 0}, {0XFEA2, 0}, {0XFEA3, 0}, {0XFEA4, 0}, {0XFEA5, 0}, {0XFEA6, 0}, {0XFEA7, 0}, {0XFEA8, 0}, {0XFEA9, 0}, {0XFEAA, 0}, {0XFEAB, 0}, {0XFEAC, 0}, {0XFEAD, 0}, {0XFEAE, 0}, {0XFEAF, 0}, {0XFEB0, 0}, {0XFEB1, 0}, {0XFEB2, 0}, {0XFEB3, 0}, {0XFEB4, 0}, {0XFEB5, 0}, {0XFEB6, 0}, {0XFEB7, 0}, {0XFEB8, 0}, {0XFEB9, 0}, {0XFEBA, 0}, {0XFEBB, 0}, {0XFEBC, 0}, {0XFEBD, 0}, {0XFEBE, 0}, {0XFEBF, 0}, {0XFEC0, 0}, {0XFEC1, 0}, {0XFEC2, 0}, {0XFEC3, 0}, {0XFEC4, 0}, {0XFEC5, 0}, {0XFEC6, 0}, {0XFEC7, 0}, {0XFEC8, 0}, {0XFEC9, 0}, {0XFECA, 0}, {0XFECB, 0}, {0XFECC, 0}, {0XFECD, 0}, {0XFECE, 0}, {0XFECF, 0}, {0XFED0, 0}, {0XFED1, 0}, {0XFED2, 0}, {0XFED3, 0}, {0XFED4, 0}, {0XFED5, 0}, {0XFED6, 0}, {0XFED7, 0}, {0XFED8, 0}, {0XFED9, 0}, {0XFEDA, 0}, {0XFEDB, 0}, {0XFEDC, 0}, {0XFEDD, 0}, {0XFEDE, 0}, {0XFEDF, 0}, {0XFEE0, 0}, {0XFEE1, 0}, {0XFEE2, 0}, {0XFEE3, 0}, {0XFEE4, 0}, {0XFEE5, 0}, {0XFEE6, 0}, {0XFEE7, 0}, {0XFEE8, 0}, {0XFEE9, 0}, {0XFEEA, 0}, {0XFEEB, 0}, {0XFEEC, 0}, {0XFEED, 0}, {0XFEEE, 0}, {0XFEEF, 0}, {0XFEF0, 0}, {0XFEF1, 0}, {0XFEF2, 0}, {0XFEF3, 0}, {0XFEF4, 0}, {0XFEF5, 0}, {0XFEF6, 0}, {0XFEF7, 0}, {0XFEF8, 0}, {0XFEF9, 0}, {0XFEFA, 0}, {0XFEFB, 0}, {0XFEFC, 0}, {0XFFFD, 0} }; int8_t expected_equals[] = { 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; void CollationISOTest::quickSort(CollationKey** keyArray, int *indexes, int lo0, int hi0) { int lo = lo0; int hi = hi0; CollationKey *mid; if ( hi0 > lo0) { /* Arbitrarily establishing partition element as the midpoint of * the array. */ mid = keyArray[ ( lo0 + hi0 ) / 2 ]; // loop through the array until indices cross while( lo <= hi ) { /* find the first element that is greater than or equal to * the partition element starting from the left Index. */ while( ( lo < hi0 ) && ( keyArray[lo]->compareTo(*mid) <= Collator::LESS ) ) ++lo; /* find an element that is smaller than or equal to * the partition element starting from the right Index. */ while( ( hi > lo0 ) && ( keyArray[hi]->compareTo(*mid) >= Collator::GREATER ) ) --hi; // if the indexes have not crossed, swap if( lo <= hi ) { int tempindex = indexes[lo]; CollationKey *temp = keyArray[lo]; keyArray[lo] = keyArray[hi]; indexes[lo] = indexes[hi]; keyArray[hi] = temp; indexes[hi] = tempindex; ++lo; --hi; } } /* If the right index has not reached the left side of array * must now sort the left partition. */ if( lo0 < hi ) quickSort( keyArray, indexes, lo0, hi ); /* If the left index has not reached the right side of array * must now sort the right partition. */ if( lo < hi0 ) quickSort( keyArray, indexes, lo, hi0 ); } } CollationISOTest::CollationISOTest() : myCollation(0) { UErrorCode status = U_ZERO_ERROR; myCollation = Collator::createInstance(Locale::FRENCH, status); } CollationISOTest::~CollationISOTest() { delete myCollation; } void CollationISOTest::TestAll( char* par ) { int32_t i = 0; // bubble sort const int32_t n_limit = 3447; // fixed value UnicodeString *testArray[n_limit]; CollationKey *keyArray[n_limit]; int32_t n; if (quick) { logln("Quick version: Tests 150 entries of ISO 14651 characters"); n = 150; }else{ logln("Tests 3447 entries of ISO 14651 characters"); logln("This test debug build takes about 8 mins to complete on a P133 PC"); n = n_limit; } for (i = 0; i < n; i++) { UErrorCode status = U_ZERO_ERROR; testArray[i] = new UnicodeString(testCases[i], 1); keyArray[i] = new CollationKey(); myCollation->getCollationKey(*testArray[i], *keyArray[i], status); if (U_FAILURE(status)) { err("Creating collation key failed"); return; } } #if generate_source //define as 1 to generate source code in a text file for initializing expected_equals //also serves as definition of the values in expected_equals // Dynamically generates an array parrallel to testCases containing the // expected value of the thorough collation test, assumes the testCases array // is sorted, expected[] basically stores the number of adajacent cells that are equal int indexes[n_limit]; for (i = 0; i < n_limit; i++) indexes[i] = i; quickSort(keyArray, indexes, 0, n_limit-1); int8_t expected[n_limit]; for (i = 0; i < n; i++) { expected[i] = 0; } for (i = 0; i < n; i++) { int32_t j = i + 1; while ( (j < n) && (keyArray[indexes[i]]->compareTo(*(keyArray[indexes[j]])) == 0)) { j++; } expected[i] = (int8_t) (j - i - 1); } const char *path = IntlTest::getTestDirectory(); FILE *srcfile = fopen( path, "w"); if (srcfile) { for (i = 0; i < n; i++) { fprintf( srcfile, " {0X%.4X, 0},\n",(UChar)testCases[indexes[i]][0]); } fprintf(srcfile, "\n\n"); for (i = 0; i < n; i++) { fprintf( srcfile, " %d,\n",expected[i]); } fclose(srcfile); } #else Collator::EComparisonResult keyResult, compareResult, empiricalResult; for (i = 0; i < n - 1; i++) { for (int32_t j = n - 1; i < j; j--) { keyResult = keyArray[j]->compareTo(*(keyArray[i])); compareResult = myCollation->compare(*testArray[j], *testArray[i]); if ((i + (int32_t)expected_equals[i]) >= j) { empiricalResult = Collator::EQUAL; }else{ empiricalResult = Collator::GREATER; } reportCResult( *testArray[j], *testArray[i], *keyArray[j], *keyArray[i], compareResult, keyResult, empiricalResult ); } } #endif for (i = 0; i < n; i++) { delete testArray[i]; delete keyArray[i]; } } void CollationISOTest::runIndexedTest( int32_t index, bool_t exec, char* &name, char* par ) { if (exec) logln("TestSuite CollationISOTest: "); switch (index) { case 0: name = "TestAll"; if (exec) TestAll( par ); break; default: name = ""; break; } }