Skip to main content

chardetng/
data.rs

1/* Any copyright is dedicated to the Public Domain.
2 * https://creativecommons.org/publicdomain/zero/1.0/ */
3
4use super::IMPLAUSIBILITY_PENALTY;
5use encoding_rs::Encoding;
6use encoding_rs::IBM866_INIT;
7use encoding_rs::ISO_8859_13_INIT;
8use encoding_rs::ISO_8859_2_INIT;
9use encoding_rs::ISO_8859_4_INIT;
10use encoding_rs::ISO_8859_5_INIT;
11use encoding_rs::ISO_8859_6_INIT;
12use encoding_rs::ISO_8859_7_INIT;
13use encoding_rs::ISO_8859_8_INIT;
14use encoding_rs::KOI8_U_INIT;
15use encoding_rs::WINDOWS_1250_INIT;
16use encoding_rs::WINDOWS_1251_INIT;
17use encoding_rs::WINDOWS_1252_INIT;
18use encoding_rs::WINDOWS_1253_INIT;
19use encoding_rs::WINDOWS_1254_INIT;
20use encoding_rs::WINDOWS_1255_INIT;
21use encoding_rs::WINDOWS_1256_INIT;
22use encoding_rs::WINDOWS_1257_INIT;
23use encoding_rs::WINDOWS_1258_INIT;
24use encoding_rs::WINDOWS_874_INIT;
25
26const PLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE: usize = 0;
27
28const IMPLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE: usize = 1;
29
30const IMPLAUSIBLE_BEFORE_ALPHABETIC: usize = 2;
31
32const IMPLAUSIBLE_AFTER_ALPHABETIC: usize = 3;
33
34const PLAUSIBLE_NEXT_TO_NON_ASCII_ALPHABETIC_ON_EITHER_SIDE: usize = 4;
35
36const PLAUSIBLE_NEXT_TO_ASCII_ALPHABETIC_ON_EITHER_SIDE: usize = 5;
37
38const WINDOWS_1256_ZWNJ: usize = 2;
39
40pub const ASCII_DIGIT: usize = 100;
41
42#[repr(align(64))] // Align to cache lines
43pub struct DetectorData {
44    pub frequent_simplified: [u16; 128],
45    pub frequent_kanji: [u16; 128],
46    pub frequent_hangul: [u16; 128],
47    latin_ascii: [u8; 128],
48    non_latin_ascii: [u8; 128],
49    turkish_ascii: [u8; 128],
50    windows_1258: [u8; 128],
51    windows_1250: [u8; 128],
52    iso_8859_2: [u8; 128],
53    windows_1251: [u8; 128],
54    koi8_u: [u8; 128],
55    iso_8859_5: [u8; 128],
56    ibm866: [u8; 128],
57    windows_1252: [u8; 128],
58    windows_1252_icelandic: [u8; 128],
59    windows_1253: [u8; 128],
60    iso_8859_7: [u8; 128],
61    windows_1254: [u8; 128],
62    windows_1255: [u8; 128],
63    iso_8859_8: [u8; 128],
64    windows_1256: [u8; 128],
65    iso_8859_6: [u8; 128],
66    windows_1257: [u8; 128],
67    iso_8859_13: [u8; 128],
68    iso_8859_4: [u8; 128],
69    windows_874: [u8; 128],
70    vietnamese: [u8; 1975],
71    central: [u8; 3895],
72    cyrillic: [u8; 2112],
73    western: [u8; 2752],
74    icelandic: [u8; 871],
75    greek: [u8; 1365],
76    turkish: [u8; 845],
77    hebrew: [u8; 1292],
78    arabic: [u8; 2805],
79    baltic: [u8; 1387],
80    thai: [u8; 5180],
81}
82
83#[rustfmt::skip]
84pub static DETECTOR_DATA: DetectorData = DetectorData {
85    frequent_simplified: [
86        0x7684, 0x5E74, 0x56FD, 0x65E5, 0x6708, 0x4E2D, 0x4EBA, 0x4E00, 0x5927, 0x4E3A, 0x5728, 0x662F, 0x5B66, 0x6709, 0x884C, 0x4F1A, 
87        0x65AF, 0x4E8E, 0x5730, 0x533A, 0x6587, 0x548C, 0x5C14, 0x540D, 0x7B2C, 0x516C, 0x65F6, 0x5C0F, 0x90E8, 0x4E0D, 0x5E02, 0x53F0, 
88        0x4EE5, 0x4E0A, 0x540E, 0x52A8, 0x51FA, 0x4E2A, 0x672C, 0x4F5C, 0x5BB6, 0x65B0, 0x6210, 0x897F, 0x5B9A, 0x91CD, 0x751F, 0x4E4B, 
89        0x7535, 0x4E3B, 0x5B50, 0x7528, 0x7279, 0x5206, 0x6C11, 0x4E86, 0x4E9A, 0x5458, 0x514B, 0x5357, 0x653F, 0x7AD9, 0x5FB7, 0x4E0E, 
90        0x7403, 0x4E1C, 0x79D1, 0x91CC, 0x9053, 0x5C71, 0x6CD5, 0x65B9, 0x5317, 0x5411, 0x5929, 0x53D1, 0x7269, 0x6765, 0x5230, 0x673A, 
91        0x661F, 0x8DEF, 0x76EE, 0x7F8E, 0x6751, 0x9AD8, 0x957F, 0x519B, 0x5229, 0x4E09, 0x62C9, 0x8F66, 0x5DDE, 0x57FA, 0x6D77, 0x81EA, 
92        0x4E0B, 0x8D5B, 0x9762, 0x52A0, 0x4ED6, 0x9A6C, 0x5176, 0x53C2, 0x53BF, 0x4EE3, 0x5185, 0x7406, 0x4E16, 0x4E8C, 0x7EBF, 0x53CA, 
93        0x5EFA, 0x8868, 0x4F4D, 0x7F57, 0x7531, 0x7ACB, 0x591A, 0x53EF, 0x534E, 0x6797, 0x7EF4, 0x5EA6, 0x4E8B, 0x5E73, 0x5916, 0x4F53, 
94    ],
95    frequent_kanji: [
96        0x5E74, 0x65E5, 0x6708, 0x5927, 0x672C, 0x5B66, 0x4EBA, 0x56FD, 0x4F1A, 0x4E2D, 0x51FA, 0x4E00, 0x8005, 0x5E02, 0x4F5C, 0x540D, 
97        0x90E8, 0x7528, 0x5730, 0x884C, 0x5834, 0x7530, 0x7B2C, 0x751F, 0x5408, 0x5B50, 0x9053, 0x4E0A, 0x6771, 0x6642, 0x770C, 0x4EE3, 
98        0x5C71, 0x793E, 0x4E8B, 0x753B, 0x65B0, 0x624B, 0x9AD8, 0x6210, 0x6226, 0x7269, 0x5F8C, 0x767A, 0x9577, 0x7ACB, 0x5206, 0x5DDD, 
99        0x8A18, 0x6821, 0x9593, 0x696D, 0x95A2, 0x6240, 0x5B9A, 0x9078, 0x5C0F, 0x76EE, 0x52D5, 0x548C, 0x6587, 0x91CE, 0x540C, 0x524D, 
100        0x5185, 0x958B, 0x7DDA, 0x81EA, 0x53F7, 0x516C, 0x99C5, 0x9001, 0x56DE, 0x753A, 0x9664, 0x4E3B, 0x5BB6, 0x5229, 0x8ECA, 0x901A, 
101        0x4EAC, 0x8868, 0x5CF6, 0x4E0B, 0x4E16, 0x65B9, 0x6751, 0x66F8, 0x5168, 0x660E, 0x9023, 0x5E73, 0x653E, 0x4F53, 0x7684, 0x5F0F, 
102        0x756A, 0x5EA6, 0x5317, 0x5165, 0x5916, 0x983C, 0x8A9E, 0x5973, 0x8A71, 0x6A5F, 0x8A2D, 0x539F, 0x4E09, 0x524A, 0x533A, 0x6D77, 
103        0x4F9D, 0x5F53, 0x73FE, 0x5BFE, 0x4F4D, 0x6570, 0x5316, 0x795E, 0x66F2, 0x7406, 0x6559, 0x7279, 0x7248, 0x5728, 0x6CD5, 0x898B, 
104    ],
105    frequent_hangul: [
106        0xC774, 0xC758, 0xB2E4, 0xAE30, 0xC5D0, 0xB85C, 0xC0AC, 0xB144, 0xC2A4, 0xB9AC, 0xB294, 0xC77C, 0xD558, 0xAC00, 0xC2DC, 0xC9C0, 
107        0xB300, 0xC11C, 0xBD84, 0xAD6D, 0xD55C, 0xB3C4, 0xC778, 0xACE0, 0xB958, 0xC790, 0xC8FC, 0xC544, 0xC744, 0xB77C, 0xC218, 0xC81C, 
108        0xC815, 0xC6D4, 0xB098, 0xAD6C, 0xC804, 0xC5B4, 0xC740, 0xADF8, 0xBD80, 0xB97C, 0xB3D9, 0xC120, 0xC73C, 0xBB38, 0xD2B8, 0xC6A9, 
109        0xBCF4, 0xC704, 0xB4DC, 0xACFC, 0xAD50, 0xC0C1, 0xB9C8, 0xC7A5, 0xD559, 0xC6D0, 0xC131, 0xD654, 0xC5ED, 0xB2C8, 0xBBF8, 0xACF5, 
110        0xACBD, 0xD574, 0xC624, 0xC6B0, 0xBA85, 0xC788, 0xD06C, 0xC601, 0xC18C, 0xC870, 0xD68C, 0xC5EC, 0xBBFC, 0xD1A0, 0xBE44, 0xC138, 
111        0xB974, 0xC720, 0xC2E0, 0xD0A4, 0xC911, 0xACC4, 0xD0C0, 0xC5F0, 0xD504, 0xAD00, 0xB418, 0xC801, 0xCE58, 0xB808, 0xCE74, 0xC9C4, 
112        0xC640, 0xD130, 0xB4E4, 0xBAA9, 0xACA8, 0xAC8C, 0xAC1C, 0xBC29, 0xD30C, 0xC0B0, 0xD638, 0xCD9C, 0xC74C, 0xB9BC, 0xBA74, 0xC791, 
113        0xB9CC, 0xB2E8, 0xB118, 0xBAA8, 0xC694, 0xC5C8, 0xC0DD, 0xB0A8, 0xC7AC, 0xBB34, 0xD6C4, 0xD45C, 0xAD70, 0xD3EC, 0xB2F9, 0xB178, 
114    ],
115    latin_ascii: [
116          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
117          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
118          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
119        100,100,100,100,100,100,100,100,100,100,  0,  0,  0,  0,  0,  0,
120          0,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
121        144,145,146,147,148,149,150,151,152,153,154,  0,  0,  0,  0,  0,
122          0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
123         16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,  0,  0,  0,  0,  0,
124    ],
125    non_latin_ascii: [
126          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
127          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
128          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
129        100,100,100,100,100,100,100,100,100,100,  0,  0,  0,  0,  0,  0,
130          0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
131        129,129,129,129,129,129,129,129,129,129,129,  0,  0,  0,  0,  0,
132          0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
133          1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,
134    ],
135    turkish_ascii: [
136          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
137          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
138          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
139        100,100,100,100,100,100,100,100,100,100,  0,  0,  0,  0,  0,  0,
140          0,129,130,131,132,133,134,135,136,154,137,138,139,140,141,142,
141        143,144,145,146,147,148,149,150,151,152,153,  0,  0,  0,  0,  0,
142          0,  1,  2,  3,  4,  5,  6,  7,  8, 27,  9, 10, 11, 12, 13, 14,
143         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,  0,  0,  0,  0,  0,
144    ],
145    windows_1258: [
146          0,255,  0, 53,  0,  0,  0,  0,  0,  0,255,  0,155,255,255,255,
147        255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0, 27,255,255,179,
148          0, 55, 53, 53, 53, 53, 52, 53, 53, 55, 53, 53, 56, 52, 54, 53,
149         55, 56, 54, 54, 53, 55, 54, 52, 53, 54, 53, 53, 55, 55, 55, 55,
150        159,160,161,162,155,155,155,155,163,164,165,155, 28,167,168,169,
151        170,155, 29,172,173,174,155, 56,155,175,176,177,155,178, 30, 27,
152         31, 32, 33, 34, 27, 27, 27, 27, 35, 36, 37, 27, 38, 39, 40, 41,
153         42, 27, 43, 44, 45, 46, 27, 56, 27, 47, 48, 49, 27, 50, 53, 51,
154    ],
155    windows_1250: [
156          0,255,  0,255,  0,  0,  0,  0,255,  0,156,  0,157,158,159,160,
157        255,  0,  0,  0,  0,  0,  0,  0,255,  0, 28,  0, 29, 30, 31, 32,
158          0, 69, 69,161, 69,162, 68, 69, 69, 71,163, 68, 69, 68, 70,165,
159         71, 69, 69, 33, 69, 71, 70, 68, 69, 34, 35, 68,164,  0, 36, 37,
160        166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,
161        182,183,184,185,186,187,188, 72,189,190,191,192,193,194,195, 27,
162         38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
163         54, 55, 56, 57, 58, 59, 60, 72, 61, 62, 63, 64, 65, 66, 67, 69,
164    ],
165    iso_8859_2: [
166        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
167        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
168          0,162, 69,161, 69,164,157, 69, 69,156,163,158,160, 68,159,165,
169         71, 34, 69, 33, 69, 36, 29, 69, 69, 28, 35, 30, 32,  0, 31, 37,
170        166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,
171        182,183,184,185,186,187,188, 72,189,190,191,192,193,194,195, 27,
172         38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
173         54, 55, 56, 57, 58, 59, 60, 72, 61, 62, 63, 64, 65, 66, 67, 69,
174    ],
175    windows_1251: [
176        131,130,  0,  2,  0,  0,  0,  0,  0,  0,132,  0,133,130,134,135,
177          3,  0,  0,  0,  0,  0,  0,  0,255,  0,  4,  0,  5,  2,  6,  7,
178          0,136,  8,140, 47,130, 46, 47,138, 49,139, 49, 50, 46, 48,141,
179         49, 50,137,  9,  2, 49, 48, 46, 10, 47, 11, 48, 12,130,  2, 13,
180        142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
181        158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,
182         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
183         30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
184    ],
185    koi8_u: [
186         47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
187         47, 47, 47, 47, 47, 46,  0, 50, 50, 50,  0, 47, 49, 48, 46, 50,
188         47, 47, 47, 10, 11, 47,  9, 13, 47, 47, 47, 47, 47,  2,  8, 47,
189         47, 47, 47,138,139, 47,137,141, 47, 47, 47, 47, 47,130,136, 49,
190         44, 14, 15, 36, 18, 19, 34, 17, 35, 22, 23, 24, 25, 26, 27, 28,
191         29, 45, 30, 31, 32, 33, 20, 16, 42, 41, 21, 38, 43, 39, 37, 40,
192        172,142,143,164,146,147,162,145,163,150,151,152,153,154,155,156,
193        157,173,158,159,160,161,148,144,170,169,149,166,171,167,165,168,
194    ],
195    iso_8859_5: [
196        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
197        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
198          0,138,131,130,139,130,137,141,140,132,133,134,130, 46,136,135,
199        142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
200        158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,
201         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
202         30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
203         47, 10,  3,  2, 11,  2,  9, 13, 12,  4,  5,  6,  2, 47,  8,  7,
204    ],
205    ibm866: [
206        142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
207        158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,
208         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
209         47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
210         47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
211         47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
212         30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
213        138, 10,139, 11,141, 13,136,  8, 49, 46, 46,  0, 47, 47, 47,  3,
214    ],
215    windows_1252: [
216          0,255,  0, 60,  0,  0,  0,  0,  0,  0,156,  0,157,255,185,255,
217        255,  0,  0,  0,  0,  0,  0,  0,  0,  0, 28,  0, 29,255, 57,186,
218          0, 62, 60, 60, 60, 60, 59, 60, 60, 62, 60, 59, 63, 59, 61, 60,
219         62, 63, 61, 61, 60, 62, 61, 59, 60, 61, 60, 59, 62, 62, 62, 62,
220        158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,
221        188,174,175,176,177,178,179, 63,180,181,182,183,184,188,188, 27,
222         30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
223         60, 46, 47, 48, 49, 50, 51, 63, 52, 53, 54, 55, 56, 60, 60, 58,
224    ],
225    windows_1252_icelandic: [
226          0,255,  0, 41,  0,  0,  0,  0,  0,  0,155,  0,155,255,155,255,
227        255,  0,  0,  0,  0,  0,  0,  0,  0,  0, 27,  0, 27,255, 27,155,
228          0, 43, 41, 41, 41, 41, 40, 41, 41, 43, 41, 41, 44, 40, 42, 41,
229         43, 44, 42, 42, 41, 43, 42, 40, 41, 42, 41, 41, 43, 43, 43, 43,
230        155,156,155,155,157,155,158,155,155,159,155,155,155,160,155,155,
231        161,155,155,162,155,155,163, 44,164,155,165,155,155,166,167, 27,
232         27, 28, 27, 27, 29, 27, 30, 27, 27, 31, 27, 27, 27, 32, 27, 27,
233         33, 27, 27, 34, 27, 27, 35, 44, 36, 27, 37, 27, 27, 38, 39, 27,
234    ],
235    windows_1253: [
236         38,255,  0, 38,  0,  0,  0,  0,255,  0,255,  0,255,255,255,255,
237        255,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255,255,255,255,
238          0, 38,131, 38, 38, 38, 37, 38, 38, 40,255, 40, 37, 37, 39, 37,
239         40, 37, 39, 39,  0, 40, 39, 37,132,133,134, 39,162, 40,163,164,
240          2,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
241        150,151,255,153,154,155,156,157,158,159,160,161,  3,  4,  5,  6,
242          2,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
243         22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,255,
244    ],
245    iso_8859_7: [
246        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
247        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
248          0, 40, 39, 38, 38, 38, 37, 38, 38, 40, 38, 40, 37, 37,255, 37,
249         40, 37, 39, 39,  0, 38,131, 37,132,133,134, 39,162, 40,163,164,
250          2,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,
251        150,151,255,153,154,155,156,157,158,159,160,161,  3,  4,  5,  6,
252          2,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
253         22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,255,
254    ],
255    windows_1254: [
256          0,255,  0, 40,  0,  0,  0,  0,  0,  0,156,  0,156,255,255,255,
257        255,  0,  0,  0,  0,  0,  0,  0,  0,  0, 28,  0, 28,255,255,156,
258          0, 42, 40, 40, 40, 40, 39, 40, 40, 42, 40, 42, 43, 39, 41, 40,
259         42, 43, 41, 41, 40, 42, 41, 39, 40, 41, 40, 41, 42, 42, 42, 42,
260        156,156,158,156,157,156,156,159,156,156,160,156,156,156,161,156,
261        162,156,156,156,156,156,163, 43,156,156,156,164,165,155,166, 28,
262         28, 28, 30, 28, 29, 28, 28, 31, 28, 28, 32, 28, 28, 28, 33, 28,
263         34, 28, 28, 28, 28, 28, 35, 43, 28, 28, 28, 36, 37, 26, 38, 28,
264    ],
265    windows_1255: [
266          0,255,  0, 37,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,255,
267        255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,255,
268          0, 39, 37, 37, 37, 37, 36, 37, 37, 39, 40, 40, 40, 36, 38, 37,
269         39, 40, 38, 38, 37, 39, 38, 36, 37, 38, 40, 40, 39, 39, 39, 39,
270          2,  2,  2,  2,  2,  2,  2,  3,  4,  2,  2,  2,  5,  2, 36, 37,
271         36,  2,  2,  0,  6,  7,  8, 41, 41,255,255,255,255,255,255,255,
272          9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
273         25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,255,255, 37, 37,255,
274    ],
275    iso_8859_8: [
276        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
277        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
278          0,255, 37, 37, 37, 37, 36, 37, 37, 39, 40, 40, 40, 36, 38, 37,
279         39, 40, 38, 38, 37, 39, 38, 36, 37, 38, 40, 40, 39, 39, 39,255,
280        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
281        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 36,
282          9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
283         25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,255,255, 37, 37,255,
284    ],
285    windows_1256: [
286          0,  3,  0, 54,  0,  0,  0,  0,  0,  0,  4,  0,129,  5,  6,  7,
287          8,  0,  0,  0,  0,  0,  0,  0,  9,  0, 10,  0,  1,  2, 53, 11,
288          0, 58, 54, 54, 54, 54, 53, 54, 54, 56, 12, 56, 57, 53, 55, 54,
289         56, 57, 55, 55, 54, 56, 55, 53, 54, 55, 58, 55, 56, 56, 56, 58,
290         13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
291         29, 30, 31, 32, 33, 34, 35, 57, 36, 37, 38, 39, 40, 41, 42, 43,
292          1, 44,  1, 45, 46, 47, 48,  1,  1,  1,  1,  1, 49, 50,  1,  1,
293         51, 51, 51, 51,  1, 51, 51, 57, 51,  1, 51,  1,  1, 54, 54, 52,
294    ],
295    iso_8859_6: [
296        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
297        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
298          0,255,255,255, 54,255,255,255,255,255,255,255, 58, 53,255,255,
299        255,255,255,255,255,255,255,255,255,255,255, 58,255,255,255, 58,
300        255, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
301         29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,255,255,255,255,255,
302         40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 51, 51, 51, 51,
303         51, 51, 51,255,255,255,255,255,255,255,255,255,255,255,255,255,
304    ],
305    windows_1257: [
306          0,255,  0,255,  0,  0,  0,  0,255,  0,255,  0,255, 47, 47, 47,
307        255,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255, 47, 47,255,
308          0,255, 47, 47, 47,255, 46, 47,155, 49,156, 49, 50, 46, 48,155,
309         49, 50, 48, 48, 47, 49, 48, 46, 27, 48, 28, 48, 49, 49, 49, 27,
310        157,158,159,155,155,155,160,161,162,155,155,163,164,165,166,167,
311        168,155,169,155,170,155,155, 50,171,155,155,172,155,155,173, 27,
312         29, 30, 31, 27, 27, 27, 32, 33, 34, 27, 27, 35, 36, 37, 38, 39,
313         40, 27, 41, 27, 42, 27, 27, 50, 43, 27, 27, 44, 27, 27, 45, 47,
314    ],
315    iso_8859_13: [
316        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
317        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
318          0, 48, 47, 47, 47, 49, 46, 47,155, 49,156, 49, 50, 46, 48,155,
319         49, 50, 48, 48, 46, 49, 48, 46, 27, 48, 28, 48, 49, 49, 49, 27,
320        157,158,159,155,155,155,160,161,162,155,155,163,164,165,166,167,
321        168,155,169,155,170,155,155, 50,171,155,155,172,155,155,173, 27,
322         29, 30, 31, 27, 27, 27, 32, 33, 34, 27, 27, 35, 36, 37, 38, 39,
323         40, 27, 41, 27, 42, 27, 27, 50, 43, 27, 27, 44, 27, 27, 45, 46,
324    ],
325    iso_8859_4: [
326        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
327        255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
328          0,157, 27,156, 47,155,167, 47, 47,168,161,164,155, 46,173, 47,
329         49, 29, 47, 28, 47, 27, 39, 47, 47, 40, 33, 36, 27,155, 45, 27,
330        159,155,155,155,155,155,155,158,162,155,160,155,163,155,155,166,
331        155,169,170,165,155,155,155, 50,155,171,155,155,155,155,172, 27,
332         31, 27, 27, 27, 27, 27, 27, 30, 34, 27, 32, 27, 35, 27, 27, 38,
333         27, 41, 42, 37, 27, 27, 27, 50, 27, 43, 27, 27, 27, 27, 44, 47,
334    ],
335    windows_874: [
336         77,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,
337        255,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,
338          0,  2,  3, 71,  4, 71,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
339         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
340         31, 32, 33, 34, 35, 36, 71, 37, 38, 39, 40, 41, 42, 43, 44, 45,
341         46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,255,255,255,255, 77,
342         57, 58, 59, 60, 61, 71, 62, 63, 64, 65, 66, 67, 68, 69, 70, 77,
343         77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,255,255,255,255,
344    ],
345    vietnamese: [
346                                                                                                                      0, 58, 58, 22, 33,  7,  0,  0,  0,  0,  1, 57,  3,  0,  0,  0, 39, 14,  8,  3,  0, 11,  0,  5,  0, //  ,
347                                                                                                                      0,  3, 16,  2,  0,  0,  0,  0,  0,  0,  0,  3,  1,255,  0, 17,  2,  1,  0,  0,  1,  0,  0,  1,255, // a,
348                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // b,
349                                                                                                                      0,  0,  0,  0,  0, 16,  0,  0,  0,  0,  0, 51, 12,  0,  0,  0, 48,  0,  0,  0,  0,  2,  0,  0,  0, // c,
350                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // d,
351                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0, // e,
352                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255, // f,
353                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // g,
354                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // h,
355                                                                                                                      0, 27, 11,  1, 16,  3,  0,  0,  0,  0,  0, 16,  0,  0,255, 10, 34,  0,  2,  1,  0,  0,  0,  0,255, // i,
356                                                                                                                      0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,255,  0,  0,  0,  0,255, // j,
357                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // k,
358                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // l,
359                                                                                                                      0,  6,  3,  0,  2,  0,  2, 22,  0,  0,  2,  4,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,255, // m,
360                                                                                                                      0, 59, 23, 10, 19, 22, 18,  5,  0,  0, 28, 61,  6,  0,  0,  0, 39,  4, 20,  9,  6,  1,  0,  1,255, // n,
361                                                                                                                      0,  5, 13,  0,  5,  3,  0,  0,  0,  0,  0,  3,  0,255,  0,  4,  2,  0,  0,255,255,  0,255,  0,255, // o,
362                                                                                                                      0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0, 13,  0,  0,255,  0, 10,  0,  0,  0,  0,  0,  0,  0,255, // p,
363                                                                                                                      0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,255,  0,  0,255,  0,255, // q,
364                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // r,
365                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // s,
366                                                                                                                      0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0, 40,  0,  0,  0,  0,  0,  0,  0,255, // t,
367                                                                                                                      0, 12,  3,  1,  1,  0,  4,  0,  0,  0,  6,  4,  0,255,255,  0,  4,  0,  0,  0,  0,  0,255,  1,  0, // u,
368                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255, // v,
369                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255, // w,
370                                                                                                                      0,  0,255,  0,  0,  0,255,255,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255, // x,
371                                                                                                                      0, 18,  2,  0, 18,  1,  4,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1,  0,  0,255,  0,  0,255,  0,255, // y,
372                                                                                                                      0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255, // z,
373          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,255,  0,  0,  0,  0,  0,255,255,255,255,  0,255,255,255,  0,  0,255,255, // ß,
374          0, 95,255,255,255,  1,255,255,255, 11,255,255,255,255,255,  6,255,255,255,255,255,  8,255,255,255,  4,255,255,255,255,255,255,255, 14,  2,255,255, 17,255,255,255,255,255,255,255,  8, 16,255,255,255,  5,255, // ̀,
375          0, 39,255,255,255,  0,255,255,255,  5,255,255,255,255,255,  3,255,255,255,255,255, 20,255,255,255,  1,255,255,255,255,255,255,255,  3,  0,255,255, 31,255,255,255,255,255,255,255, 10, 10,255,255,255,  5,255, // ̉,
376          0, 12,255,255,255,  1,255,255,255,  5,255,255,255,255,255,  0,255,255,255,255,255,  3,255,255,255,  1,255,255,255,255,255,255,255,  2,  0,255,255,  3,255,255,255,255,255,255,255,  1,  0,255,255,255,  7,255, // ̃,
377          0,  0,  3,  0,  0,  0,  0, 12, 15,  0,  0,  0, 17,  1,  6, 15,  0,255,  0,  0,  1,  0, 16,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,  1,  0,255,255,  0,255,255,255,  0,255, // à,
378          2,  0,  2, 13,  0,  0,  0,  0, 26,  3,  0,  0,  1,  1,  0,  1,  0,  0,  0,  3,  2,  0,  0,  0,  0,  0,  0,  0,255,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,  3,255,255,255,255,255,255,255,255,255, // á,
379          3,  0,  1,  7,  5,  0,  0,  1, 23,  0,  0,  0,  3,  3,  0,  0,  0,  0,  3,  1,  7, 13, 16,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,255,255,  8,  0,255,255,  0,255,  0,255,  0,255, // â,
380          0,  0,  3,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1, 23,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,255,  0,  0,  0,255,255,  0,  0,255,255,255,  0,255,255,255,  1,  0,255,255,  0,255,255,255,255,255, // ă,
381          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,  0,  0,255,255,  0,255,255,  0,255,255,255,255,255,255,255,255,255, // è,
382          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,  0,255,255,255,255,  0,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255, // é,
383          0,  0,  1,  0,  0,  0,  0,  0, 28, 66,  0,  6,  2,  0,  1,  0,  0,  0,  2,  0,  4,  0,  3,  0,  0, 12,  0,255,  0,  0,  0,255,255,255,255,  0,  0,  0,  0,  0,255,255, 13,  0,255,  0,255,255,255,255,  0,255, // ê,
384          0, 63,255,255,255,  5,255,255,255, 24,255,255,255,255,255, 22,255,255,255,255,255, 18,255,255,255,  3,255,255,255,255,255,255,255, 17,  6,255,255, 30,255,255,255,255,255,255,255, 23, 20,255,255,255, 10,255, // ́,
385          0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,255,255,  0,  0,  0,255,255,  0,255,255,  0,  0,255,255,255,255,255, // í,
386          0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // î,
387          0,  0,255,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,  0,  0,255,255,  0,  0,  0,255,255,255,255,255,255,255,255,255,  0,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255, // ï,
388         97,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,255,255,255,255,255,  0,  0,255,255,255,  0,  0,  0,  0,  0,255,255,255,255,255, // đ,
389          0, 42,255,255,255,  0,255,255,255, 15,255,255,255,255,255, 18,255,255,255,255,255,  8,255,255,255,  0,255,255,255,255,255,255,255, 34,  4,255,255, 24,255,255,255,255,255,255,255, 41, 17,255,255,255, 17,255, // ̣,
390          0,  0,  2, 10,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,  2,255,  0,255,255,255,255,255,  0,255, // ó,
391          2,  0,  7,  8,  0,  0,  0,  2, 18,  0,  0,  0,  1, 17,  2,  0,  0,  0,  1,  6,  5, 15,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,  0,  0,255,255,255, 22,  0,255,  0,  0,255,255,255,  0,255, // ô,
392          5,  0,  1,  1,  0,  0,  0,  0,  8,  2,  0,  0,  2,  1,  0,  0,  0,255,  1,  2,  0,  0,  4,  0,  0,  0,  0,255,  0,  0,  0,255,255,255,  0,255,255,255,  0,255,255,255,  2,  0,255,  0,  0,255,255,255, 42,255, // ơ,
393          0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,255,  0,255,255,255,255,  0,255,255,255,255,255,255,255,255,  0,255,255,255,255,  0,255,255,255,255, // ù,
394          0,  0,  0,  1,  0,  0,  0,  0, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,  0,255,  0,255,255,255,  0,255,255,255, // ú,
395          0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,255,255,  0,255,  0,  0,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // û,
396          1,  0,  1,  4,  4,255,  0,  7, 28,  1,  0,  0,  4,  0,  3,  0,  0,  0,  4,  7,  9,  0,  2,  0,  0,  0,  0,255,  0,  0,  0,255,255,  0,  0,255,255,255,  0,255,255,255, 15,  0,255,255,  0,255,255,255,  0,255, // ư,
397          0,  0,255,255,255,255,255,255,255,255,255,255,  0,255,255,  0,255,255,  0,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // ÿ,
398      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  i,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ß,  ̀,  ̉,  ̃,  à,  á,  â,  ă,  è,  é,  ê,  ́,  í,  î,  ï,  đ,  ̣,  ó,  ô,  ơ,  ù,  ú,  û,  ư,  ÿ,
399    ],
400    central: [
401                                                                                                                      0, 42, 11, 51, 30,  3,154, 77, 18, 20, 23,  0,139,  0,254,  1,  0, 79,  0, 70,132,121,  0, 52,241, 14,  5,  7, 17,  8, 74,  0, 58,  0,  8, 33, 36,  9,  1,105,  8, //  ,
402                                                                                                                      0, 70,  0, 11,146,  0,115,  0, 11, 23, 12,  0,  0,  0,  2,  0,  0, 66,  0,107,  1,  0,  0,  0, 10,  0, 10, 25,  0,  8,  1,  0,  1,  0,  9,  0,  0,  0,  0,  0, 48, // a,
403                                                                                                                      0,  0,  0,  0, 18,  0,  1,  1,  0,  4,  2,  0, 32,  0,  1,  0,  0,  0,  0,  2, 11,  5,  0,  0,  2,  0,  0,  0,  0,  0,  8,  0,  4,  6,  1,  0, 10,  0,  0,  1,  0, // b,
404                                                                                                                      0,  2, 62,  0,  0,  0,  9, 45,  9,  0,  5,  0, 47,  0,  8,  0,  0,  0,  0,  0,  5, 31,  0,  3, 33,  3,  0,255, 14,  0,  8,  0,  0,  0,  0,  0, 13,  0,  1, 48,  0, // c,
405                                                                                                                      0,  0,  0,  0, 10,  6,  1, 19,  0,  0,  2,  0, 23,  0,  6,  0,255,  0,  0,  0, 11, 28,  0,  5,  8,  0,  0,  0,  0,  0, 33,  0,  4,  2,  0,  1, 10,  0,  1,  0,  0, // d,
406                                                                                                                      0, 70,  0,  0,111,  0, 16,  0, 27,  0, 36,  0,  0,  0,  0,  0,255, 61,  0,145,  5,  0,  0,  0,  0,  0,  0,133,  0,  0,  0,  0,  2,  0, 64,  0,  0,  1,  0,  0, 34, // e,
407                                                                                                                      0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,  1,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  2,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, // f,
408                                                                                                                      0,  0,  0,  0,  2,  0,  2,  5,  0,  0,  0,255, 64,  0,  2,  0,  0,  0,  0,  0, 61,  9,  0,  0,  4,  0,  0,255,  0,  0,  7,  0,  1,  2,  0,  0, 13,  0,  4,  0,  0, // g,
409                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0, 38,  0,  0,  4, 11,  2,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  4,  0,  0,  5,  0, // h,
410                                                                                                                      0,110,  0,  0,103,  0,  0,  0,157,  0,  0,  0,  2,  1,  7,  0,  0,225,  0,177,  0,  0,  0,  0,  0,  7,  0,  6,  0,  0,  6,  0,  5,  0, 24,  0,  0,  0,  0,  0,242, // i,
411                                                                                                                      0,  7,  0,  0, 11,  0,  0,  0,  0,  0,  0,  0, 20,  0,  0,  0,255,  0,255, 27,  1,  0,  0, 10,  9,  0,  0,  0,  0,  0,  6,  0,  3,  0,  0,  0,  8,  0,  0,  0,  0, // j,
412                                                                                                                      0,193,  0,  0,210,  0, 21,  0,  1, 12,  8,  0, 21,  0,  0,  0,  0,  1,  0,186, 42,  8,  0,  8, 19,  5,  0,  0,  0,  0, 13,  0,  9, 10,  2,  0,  1,  2,  5,  2,  2, // k,
413                                                                                                                      0, 10, 15,  0,  1,  0,  0,  0,  0,  0,  2,  0, 92,  3, 12,  0,  0,  0,  0, 31, 48,  0,  0, 15,  9,  4,  0,  0,  0,  0, 24,  1, 13, 16,  0,  1,  7,  1, 56,  2,  0, // l,
414                                                                                                                      0,  2,  9,  0,  1,  0,  1,  0,  0,  2,  0,  0, 22,  4, 16,  0,  0,  0,  0,  0, 15,  0,  0,  7, 27, 10,  0,  0,  0,  0,  4,  0,  1,  2,  0,  4,  4,  0,  0, 22,  0, // m,
415                                                                                                                      0, 37, 15,  0, 39,  6, 14,  0,  1,  5, 20,  0, 76, 90, 10,  0,  0,  6,  0,121, 54,  0,  0, 16, 20,238,  0,  0,  0,  0, 37,  2,  2, 17,  1,  0,  4,  1,  4,  1,  0, // n,
416                                                                                                                      0, 16,  0,  3,  7,  0, 93,  0,  7, 21, 12,  0,  0,  0,  0,  0,  0,  2,  1, 11,  4,  0,  0,  0,  5,  0,  0,  1,  0,  4,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, // o,
417                                                                                                                      0, 23,  1,  0,  0,  0,  1,  3,  0,  0,  0,  0,  9,  0,  3,  0,  1,  0,  0,  0, 44, 38,  0,  3,  2,  0,255,  0,  0,  0,  6,  0,  2,  0,  0,  0,  6,  0,  0,  0,  0, // p,
418                                                                                                                    255,  0,255,255,  0,  0,  0,255,  0,255,255,255,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,255,  0,  0,255,255,255,255,  0,  0,255,  0,255,255,  0,255,  0,255,255, // q,
419                                                                                                                      0,  1, 11,  0,  1,  5,  4,  0,  0,  0,  0,  0, 96, 14, 70,  1,  0,  0,  0, 15, 68,  0,  0,  8, 20,  4,  0,  0,  0,  0, 58,  3,  5, 27,  0,  0, 14,  4,  3,  3,  0, // r,
420                                                                                                                      0,  1,  0,  0, 10,  0,  0,  6,  0,  9,  4,  0,133,  0, 15,  0,  0,  0,  0,  1,147,  9,  0, 11, 27,  2,  0,  0, 66,  0, 11,  5, 13, 12,  3,  4,  9,  6,  2,  5,  0, // s,
421                                                                                                                      0,254,  0,  0,  0,  0,  3, 10, 74,  0,  0,  0, 63,  7, 46,  5,  0,  0,  0,  6, 30, 23,  0, 22, 45,  3,  0,  0,  0,  0,  6,  1,  5, 13,  0,  0,  7,  0,  3,  2,  0, // t,
422                                                                                                                      0,  7,  0,  0, 35,  0, 35,  0, 10,  6,  4,255,  1,  9, 17,  0,  0, 16,  0, 22,  0,  0,  0,  0,  0,  0,  0, 42,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, // u,
423                                                                                                                      0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 24,  0,  1,  0,  0,  0,  0,  8, 38,  0,  0,  2, 12,  1,  0,  0,255,  0,  2,  9,  6, 14,  0,  6,  2,  6,  0,  8,  0, // v,
424                                                                                                                      0,  0, 33,  0,  0,  1,  0,  0,  0,255,  0,255,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,113,  0,  0,  0,  0,  0,  0,255,  0,  0,  0, // w,
425                                                                                                                    255,  0,255,255,  0,255,  0,255,255,255,255,255,  0,255,  0,  0,255,  0,255,  0,  3,255,  0,  0,  0,255,255,255,255,255,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,255, // x,
426                                                                                                                    255,  0,  0,  0,  0,  0, 37,  0,  0,  0, 37,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0, // y,
427                                                                                                                      0,  0,  0,  0,  0,  0,  0, 12,  0,  0,  0,  0, 46,  0,  9,  2,  0,  0,255,  0,  8, 29,  0,  4,  5,  0,  0,255,  0,255,  4,  1,  8, 31,  0,  1, 42,  1,  3,  3,  0, // z,
428          0,  0,255,255,255,  0,255,255,  0,  0,255,  0,  0,  0,  0,  1,255,255,  0,  0,  0,  0,255,  0,255,  0,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,  0,255,255, // ß,
429        180, 89,  2,  0,  5, 92,  0, 23,  0,166, 40,  4,  4, 15, 12,133,125,  0, 60,  0,  3, 37, 10,  0,  0, 13,  5,255,  9,255,  0,  8,255,255,  0,255,  0,255,  0,  4,  0,  0,  0,  0,  0,255,  3,  0,  0,  0,  1,  3,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,255,  0,  3,255, // š,
430         53,  6,  0,  0,  0, 25,  0,  0,  0,  6,  4,  0,  0,  1,  0, 89,  0,  0,  0,  0,  0,  1,  0,  1,255,  5,  0,255,255,  0,255,255,  0,  0,  0,255,255,  0,255,  0,255,255,255,255,  0,255,255,255,  6,255,  0,255,255,255,255,  0,255,  0,  0,255,255,255,255,  0,255,255,255,255, // ś,
431          1, 13,  0,  0,  0,  1,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,255,  1, 28,  0,  0,  0,255,255,  3,  0,255,  2,255,  0,  0,255,255,255,255,255,255,255,  0,255,255,  1,255,255,255,  0,  0,  0,255,  0,  3,255,  0,255,255,  0,  0,  0,255,255,255,  0,  2,255,255,  0,255, // ť,
432         96, 34,  0,  0, 21, 89,  0,  0,  0, 28,  0,  0,  5,  1,  3,221,  0,  0,127,  0,  0, 77,  1,  0,  0,  2,  0,255,  0,255,  0,  0,255,255,  0,255,  0,255,  0,  3,255,  0,  0,  5,  0,255,  0,  1,  0,255,  5,  5,255,  0,  0,255,  0,  0,  4,255,255,  0,  2,  1,255,  0,  1,255, // ž,
433          4,  7,  0,255,  3,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,255,  0,  0,255,255,  0,255,255,  0,  0,  0,255,255,  0,255,255,255,  0,255,255,255,255,255,255,  0,255,  0,255,255,255,255,255,255,  3,  0,255,255,255,255,255,255,255,255,255, // ź,
434         18,129,  4,  3, 21, 21,  0, 23,  1, 42,  0, 15,  0,  3,  0, 40, 11,  0,  2, 40,  2, 56,  0, 19,255, 32, 15,255,  0,  0,255,  0,  0,  0,  4,255,255,  0,255,  0,255,  0,  0,255,  0,255,  0,  0,  2,  0,  0,  0,255,255,255,255,255, 30,  0,255,  0,255,  0,255,255,255,255,255, // ł,
435          0,  0,  2,  5,  3,  0,  0,  2,  0, 38, 44,  9,  8,  1, 16,  0,  0,  0,  7,  9,  5,  0,  0,  7,  0,  0, 28,255,  0,  0,255,  0,  0,  7,  0,  0,255,  2,255,255,255,255,255,255,  0,  0,  0,  0,  0,255,255,  0,255,255,255,255,  0,  0,255,255,255,255,255,255,255,255,  0,  0, // ą,
436        140, 48,  0,  1,  0, 50,  0,  0,  0, 33,  0,  0,  0,  0,  1, 19,  0,  0,  4,  0,  0, 12,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,  0,255,255,255,  0,  2,  3,  0,255,255,255,255,  0,  0,255,255,  0,  4,255,255,255,255,255,255,255,  0,255,255,  0,255,  0,255,  0, // ş,
437          8,  3,  0,  0,  7, 56,  0,  0,  4,  1,  0,  0,  0,  0,  0, 13,  0,255,  0,  0,  0,  2,  0,255,255,  0,  0,255,  0,255,255,  0,255,255,255,255,  0,255,255,  5,255,  0,255,  0,255,255,  0,255,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,255,255,  0,255,255,  0,255, // ľ,
438         30, 16,  0,  0,  3, 26,255,  0,  0,  5,  0,  5,  0,  0,  1, 27,  0,255,  1,  0,  0, 24,  0,  0,  0, 10,  0,255,255,  0,255,255,  0,  1, 11,255,255,  0,255,255,255,255,  0,255,  0,255,255,  0,  9,  0,255,255,255,  0,255,  0,255,  5,  0,255,255,255,255,255,255,255,255,255, // ż,
439          0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255,  0,  0,255,  0,  0,  0,255,  0,255,255,255,  0,255,255,255,255,  0,255,255,255,255,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // ŕ,
440         37,  0, 10,  9, 29,  2,  7, 20, 20, 13, 34, 45, 62, 52,115,  0, 15,  0, 97, 50, 87,  8, 57,  0,  0, 14, 82,255,  0,  0,  0,  3,  0,  0,255,  0,  0,  0,  0,  0,255,255,255,255,  0,  0,  7,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  3,255,  0,  0,  0,  0,  0, // á,
441          0,  0,  1, 19,  2,  0,  5,  2,  5,  0,  0,  0,  1, 48,  1,  0,  8,  0, 17,  2, 12,  0,  9,  0,  0,  0,  1,255,  0,255,255,  0,255,255,255,  0,255,255,255,255,  0,  0,255,255,  0,  0,  0,  0,255,255,255,255,  0,255,  0,255,  0,255,255,255,255,255,255,255,255,  0,255,  0, // â,
442          0,  0, 14,106, 14,  0,  9, 21,  1,  0,  0,  0, 51, 27, 62,  0, 36,  0, 72, 66,133,  7, 12,  0,  1,  0, 28,255,  0,255,255,  0,255,255,255,  0,255,255,255,255,  0,  0,255,255,255,  0,  0,255,255,255,255,255,  0,255,  0,  0,255,255,255,255,255,255,255,255,255,255,255, 35, // ă,
443          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  2,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,255,  0,255,255,  0,  0,  0,255,  0,255,  0,255,255,255,255,  0,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,  0,255,255,255,  0,255,255,255,255,  0,  0,255, // ä,
444          0,  0,  0,255,  5,  0,255,  0,  0,  0,255,  0,255,  0,  0,  0,  0,255,  0,  0,  1,  0,  0,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // ĺ,
445         15, 18,  0,  0,  0, 91,  0,  0,  0, 96,  0,  1,  0,  0,  0, 29,156,255,  1,  0,  0, 37,  0,  0,  0,  4,  0,255, 14, 40,255,  0,  0,  0,  1,255,255,  0,255,  0,255,255,255,255,  0,255,  0,  0,  1,255,  0,  0,255,255,255,  0,255,  0,255,255,255,255,255,255,255,255,255,255, // ć,
446          0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,255,255,255,255,255,255,255,255,  0,255,255,255,  0,  0,255,  0,255,255,  0,255,  0,255,255,255,  0,255,255,255,255,255,255,  0,255,  0,255,255,255,255,  0,  0,255, // ç,
447        118,219, 32,  0,  1, 87,  0,  0,  2,176,  3,  1,  3, 12, 26,106,  2,  0, 12,  4,  0, 54,  5,  0,  0,  1,  0,255, 76,  0,  0,  0,255,  0,255,255,  0,255,  0,  6,  0,  0,  3,  0,  0,255,  0,  0,255,255,  0,  3,255,255,  0,255,  0,  0,  0,255,  0,  0,  0, 10,255,  0,  0,255, // č,
448        106,  1,  6,  3, 16,  0, 11, 14,  4,  2,  5, 60, 49, 41, 86,  0, 11,  0, 28, 50, 74,  1, 32,  0,  0, 10, 33,  0,  0,255,  0,  0,  0,  0,255,  0,255,  0,255,  0,255,255,255,255,  0,  0,  0,  0,255,255,255,  0,255,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0, // é,
449          0,  0,  4,  1,  2,  0,  0,  4,  0,101, 53, 10,  5,  7, 32,  0,  2,  0, 14,  2, 41,  0,  0,  7,  0,  0, 26,255,  0,  0,255,  0,  0,  5,  0,  0,  0,  1,255,255,255,255,255,255,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,  0,  0, // ę,
450          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,255,  0,255,255,255,  0,255,255,255,255,255,255,255,  0,  0,255,255,  0,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // ë,
451          0,  0, 10,  0, 20,  0,  0,  0,  0,  0,  0,  0,  0, 36, 54,  0,  6,  0,  0,  0, 23,  0, 37,  0,255,  0,  0,255,  0,255,  0,  0,  0,255,255,255,255,255,255,  0,255,255,255,255,  0,255,  0,  0,255,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,255,255,255,255,  0, // ě,
452         11,  1,  6, 25, 14,  2,  1,  2,  5,  3, 21,  5, 12, 21,177,  0,  7,  0, 38, 11, 28,  1, 26,  0,  0,  7, 14,255, 29,  0,  0,  7,  0,255,255,  0,  0,255,  0,  4,255,  0,255,255,  0,  0, 14,  0,255,255,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255, 51,255,  0,  0,  0,255,  0, // í,
453        239,  0,  1,  0,  2,  1,  0,  0,  1,  3,  2,  9,  8,  7,  7,  0,  1,  0,  7,  3,  5,  0,  4,  0,  0,  0,  0,255,255,255,255,255,255,255,255,  1,255,255,255,  0,  0,  0,255,255,255,  0,  0,255,  0,  0,255,  0,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  0, // î,
454          4,  4,  0,255,  0,  4,255,255,255,  0,  0,255,  0,  0,  0,  0,255,255,  0,255,  0,  0,  1,255,255,  0,  0,255,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,  0,255,255,255,  0,  0,255,255,  0,  0,255,  0,255,255,  0,  0,255,255,255,255,255,  0,255,255,255,255, // ď,
455          4, 31,  0,255,  0, 41,255,  0,  0,  1,  0,  0,  0,  0,  1, 69,  0,255,  4,  0,255,  3,  0,  0,255,  0,  0,255,  0,255,255, 63,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,  0,255,255,255,255,255,255,255,255,255,255, // đ,
456          0, 48,255,  0,  0, 16,255,255,  0, 12,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  1,255,  0,255,  6,  0,255,255,  0,255,255,  0,  0,  0,  0,255,  0,255,  0,255,255,255,255,255,255,255,  0,  0,  0,255,  0,255,255,  0,  0,255,  0,  0,255,255,255,  0,  0,255,255,255,255, // ń,
457          0,  1,  0,  0,  3,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,  0,  0,255,255,255,  0,255,255,  0,  0,255,255,  0,  0,255,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,255,  0,  0,255, // ň,
458          3,  0,  8,  9, 10,  2,  3, 53,  3, 17,  6, 22, 42,  5,  7,  0, 26,  0, 52,  7, 32,  0,  2, 31,  0,  2, 20,255,  0,  0,255,  0,  0, 16,255,255,255,  1,255,  0,255,255,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,255,255,  0,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0, // ó,
459          0,  0,  0,  1,  3,  0,  0,  0,  1,  0,  0,  3,  0,  4,  0,  0, 13,255,  1,  0,  0,  0,  1,  0,  0,  0,  0,255,255,255,255,  0,255,  0,255,255,  0,  0,255,255,255,255,255,255,255,  0,255,  0,255,255,255,  0,255,255,  0,255,255,  0,  0,255,255,255,255,255,255,255,255,255, // ô,
460          4,  0,  5,  0, 12,  0,  7,  1,  0,  0,  0,  5, 22,  0,  9,  0,  0,255,  9, 13, 33,  0,  2,  0,  0,  3, 23,255,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,255,255,255,  0,255,  0,255,255,255,  0,255,255,255,255,255,  0,255,  0,  0,255,255,  0,  0,  0,255,255, // ő,
461         13,  0,  2,  0,  6,  0,  5,  3,  2,  0,  1, 57,  7,  1,  5,  0,  0,255,  8,  2, 22,  0,  1,  0,  0,  2, 15,255,  0,255,255,  0,255,  0,255,  0,255,255,255,  0,255,255,  0,255,255,  0,  0,  0,255,255,255,  0,255,255,255,255,255,  0,255,  0,  0,255,255,  0,  0,  0,255,255, // ö,
462         16,  6,  5,  0,  3,  4,  0,  0,  2,  2,  0,  4,  0,  1,  0, 12, 66,255,  0,  0, 19,  2,  1,  0,  0,  2,  1,255,  0,255,255,  0,255,255,255,255,255,255,  0,  9,255,255,255,255,255,255,  0,  0,255,  0,  3,  5,255,255,255,255,  0,  0,255,255,255,  0,  0,  2,255,255,  0,255, // ř,
463          0,  0,  0,  2,  5,  0,  0,  0,  2,  0,  1,  5,  4,  3,  3,  0,  7,  0, 10,  1,  4,  0,  3,  0,  0,  0,  1,  0,  0,255,  0,  0,255,  0,255,  0,255,255,255,  0,255,255,255,255,  0,255,  0,  0,255,255,255,  0,255,  0,255,255,  0,  0,255,255,  0,  0,  0,  0,255,  0,  0,255, // ů,
464         27,  0,  0, 36,  2,  0,  0,  1,  1,  4, 26,  8,  4,  2,  8,  0,  1,  0, 14, 40, 14,  0,  2,  0,  0,  1,  4,255,  0,255,  0,  0,255,255,255,255,  0,255,255,  0,255,255,255,255,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,255,  0,  0,255,  0,255,  0,  0,  0,  0,255,  0,  0, // ú,
465          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 17,  0,  0,  0,255,  4,  3,  3,  0,  1,  0,  0,  2,  1,255,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,255,  0,255,255,255,255,255,  0,255,  0,255,255,255,  0,  0,  0,255,255, // ű,
466          5,  0,  2,  0,  0,  0,  3,  1,  1,  0,  0,  8,  2,  2,  1,  0, 15,  0, 14,  4,  4,  0,  1,  1,  0,  3, 13,255,  0,255,  0,  0,255,255,255,  0,255,  0,255,  0,255,255,  0,255,255,  0,  0,  0,255,  0,255,  0,255,255,255,255,  0,  0,255,  0,  0,255,255,  0,  0,  0,255,255, // ü,
467          0,  0,  4,  0,  2,  0,  0,  0,  3,  0,  0, 52,  4,  1, 69,  0,  0,255, 13,  0, 11,  0, 56,  0,255,  0,  1,255,  0,255,255,  0,255,255,255,255,255,255,255,  0,255,255,  0,255,255,255,  0,  0,255,255,  0,  0,255,255,255,255,  0,255,255,255,  0,  0,  0,  0,255,  0,  0,255, // ý,
468         20,111,  1, 33,  0, 31,  0,  0,  0, 31,  0,  0,  5,  1, 78,  5,  2,  0, 10,  1,  0, 25,  2,  0,  0,  0,  0,255,255,255,255,255,255,255,255,  0,255,255,255,  0,  0, 25,255,255,255,255,255,  0,255,255,255,  0,  4,255,255,255,255,  0,255,255,255,255,255,  0,255,255,255,  0, // ţ,
469      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  i,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ß,  š,  ś,  ť,  ž,  ź,  ł,  ą,  ş,  ľ,  ż,  ŕ,  á,  â,  ă,  ä,  ĺ,  ć,  ç,  č,  é,  ę,  ë,  ě,  í,  î,  ď,  đ,  ń,  ň,  ó,  ô,  ő,  ö,  ř,  ů,  ú,  ű,  ü,  ý,  ţ,
470    ],
471    cyrillic: [
472                  0,  0,  0,  0,  1,  0, 16, 38,  0,  2,  5, 10,121,  4, 20, 25, 26, 53,  9,  5, 61, 23, 20, 26, 15, 95, 60,  2, 26, 15, 25, 29,  0, 14,  6,  6, 25,  1,  0, 27, 25,  8,  5, 39, //  ,
473                  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // a,
474          0,  0,  0,255,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0, // ѓ,
475          0,  0,255,  0,  0,  0,  0,  0,255,255,255,255,  0,255,  2,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255, // ђ,
476          0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,  0,255,  0,  0,  0,  0,  0,  4,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255, // љ,
477          0,  0,  0,  0,  0,  0,  0,  0,255,255,255,  0,  0,255,  5,  0,  0,  0,  0,  2,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255, // њ,
478          0,  0,255,  0,  0,  0,  0,  0,255,  0,255,255,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  1,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255, // ћ,
479          0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255, // џ,
480          7,  0,  0,255,255,255,255,255,  0,  1,  0,255,255,255, 15,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  1,  0,  0,  0,  1, // ў,
481         12,  0,  0,255,255,  0,255,255,  0,  2,  0,  0,  0,  0,  2,  3, 15,  5,  5,  0,  0,  4,  0,  0, 21, 15, 10, 17,  0,  6, 14,  4,  6,  0,  3,  1,  8,  1,  0,  0,  0,  2,  0,  0,  0,  0, // і,
482          0,  0,255,255,255,255,255,255,  0,  0,  0,255,255,  0,  4,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ё,
483          6,  0,  0,255,255,255,255,255,  0,  0,255,  5,255,  0,  1,  7,  0,  3,  2,  0,  0,  0,  0,  0,  0,  2,  2,  2,  0,  0,  2,  2,  5,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // є,
484         12,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  5,  1,  0,  0,  0,  2,  0,  0, 20,255,  0,  0,  0,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,255,255,255, // ј,
485          9,  0,  0,255,255,255,255,255,255,  5,255,  0,  0, 13,  3,  3,  0,  4,  1,  0,  1,  2,  0,  0,  0,  1,  0,  0,  4,  0,  0,  1,  3,  0,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ї,
486         32,  0,  0,  2,  2,  2,  0,  0,  0,  1,  0,  0, 28,  0, 23, 22, 26, 22, 19,  0,  3, 12,  5,  0, 44, 38, 18, 58,  1, 21, 44, 17, 54,  1,  2, 28,  5,  8,  3,  1,  9,  0, 12,  0,  0,  0, // а,
487         40,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  7,  0,  0,  0,  1,  7,  0,  1,  1,  0,  0,  7,  4,  1,  9,  0,  1,  0,  1,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, // б,
488         31,  0,  0,  0,  0,  0,  0,  0,  0, 11,  0,  3,  0,  0, 19,  0,  0,  1,  1,  6,  0,  2,  6,  0,  1,  0,  1,  0, 32,  0,  2,  2, 23,  9,  0,  0,  0,  1,  0,  0,  1,  1,  0,  3,  0,  2, // в,
489         23,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  7,  0,  1, 20,  0,  0,  1,  0,  9,  0,  0,  9,  7,  0,  5,  2, 18, 11,  0,  8,  3,  2,  3,  0,  0,  0,  0,  0,  0,  0,  3,  0, 13,  0,  3, // г,
490         26,  0,  0,  0,  0,  0,  0,  0,  0,  9,  0,  2,  0,  2, 19,  0,  1,  5,  0, 13,  2,  2,  3,  2,  0,  6,  1, 12, 30,  0,  4,  0,  0,  7,  0,  0,  0,  0,  0,  0,  1,  0,  0,  5,  0,  1, // д,
491         12,  0,  0,  1,  4,  5,  0,  0,  0,  0,  0,  0, 24,  1,  5,  7, 11,  3, 12,  1,  6,  6, 11,  0,  3, 15, 14, 14,  4,  8, 25, 14, 29,  0,  1,  1,  4,  8,  8,  2,  0,  3,  1,  0,  0,  0, // е,
492          6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  1,  2,  2,  0,  0,  0,  0,  0,  3,  2,  1,  2,  0,  2,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0, // ж,
493         19,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  1,  6,  0,  0,  0, 11,  8,  0,  0,  8,  0,  0,  0,  0,  0,  4,  0,  1,  0,  0,  3,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1, // з,
494         24,  0,  0,  0,  0,  1,  5,  0,  0,  0,  0,  0,  1,  0,  1, 10, 16, 21, 22,  0,  6,  5,  6,  1, 15, 15,  8, 38,  2,  4, 27,  9, 15,  0,  3,  8, 12,  7,  6,  1,  0,  0,  0,  0,  0,  0, // и,
495          6,  0,  0,  0,255,255,255,255,  0,  7,  0,  0,255,  4, 21,  0,  0,  0,  0,  5,  0,  0, 39,  0,  0,  0,  0,  0,  9,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  5,  0,  3,  0,  0, // й,
496         54,  0,  0,  0,  0,  0,  0,  0,  1,  8,  0,  0,  0,  0, 10,  0,  1,  0,  1, 11,  0,  0, 12,  0,  1,  2,  0,  4,  8,  0,  2, 23,  2,  4,  0,  2,  3,  3,  8,  0,  0,  3, 16,  1,  4,  3, // к,
497         12,  0,  0,  0,  0,  0,  0,  0,  2,  6,  0,  6,  0,  4, 29, 12,  4,  5,  2, 18,  0,  0, 17,  4,  5, 11,  0,  0, 21,  2,  3,  4,  1, 15,  1,  0,  0,  0,  0,  0,  4,  3,  2, 12,  0,  2, // л,
498         23,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  4,  0,  0, 17,  1,  0,  0,  0,  7,  0,  1, 13,  2,  0,  0,  0,  0, 13,  0,  2,  4,  0,  2,  0,  0,  0,  0,  0,  0,  1,  4,  2,  4,  1,  1, // м,
499         42,  0,  0,  0,  0,  0,  0,  0,  4, 12,  6,  7,  1,  7, 76,  0, 22,  1,  4, 27,  1,  3, 34, 30,  0,  7,  1, 13, 24,  1,  3,  5,  3,  4,  0,  1,  0,  4,  1,  0,  2, 18,  7, 16,  0,  4, // н,
500         37,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  1,  0,  1, 10, 27, 22, 15,  1,  2,  3,  7,  5, 32, 11,  7, 38,  8, 21, 24, 11, 23,  0,  2, 10,  2,  2,  3,  2,  0,  0,  1,  0,  0,  0, // о,
501         47,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  1,  0,  0,  2,  0,  1,  2,  4,  0,  0,  2,  0,  6,  0,  0,  5,  0,  2,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0, // п,
502         19,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  8,  0,  5, 47,  4,  6,  6,  5, 23,  0,  0,  5,  2,  6,  0,  0,  0, 23, 22,  0,  1, 14,  9,  1,  0,  1,  0,  0,  0,  7,  2,  8, 16,  0,  3, // р,
503         53,  0,  0,  0,  0,  0,  0,  0,  4,  9,  2,  0,  1,  2, 21,  1,  4,  1,  2, 11,  0,  0, 12,  2,  4,  7,  1, 13, 15,  1,  4,  6,  3,  6,  0,  0,  0,  0,  0,  0,  1,  2,  3,  5,  0,  1, // с,
504         28,  0,  0,  0,  0,  0,  0,  0,  1,  6,  0,  1,  0,  1, 32,  0,  1,  3,  0, 12,  0,  1, 22,  1,  4,  7,  1,  6, 23,  0, 14, 41, 14,  3,  0,  1,  1,  1, 21,  0,  2,  2,  6,  2,  1,  4, // т,
505         15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  2,  4,  2,  4,  6,  3,  0,  2,  0,  0,  6,  5,  6,  3,  0,  3,  7,  4,  7, 18,  1,  6,  0,  2,  0,  0,  0,  0,  0,  0,  1,  0, // у,
506          8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ф,
507         41,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  1,  0,  2, 30,  0,  2,  0,  0, 11,  0,  0,  5,  1, 14,  3,  0,  3,  6,  0,  7,  0,  0,  1,  0,  1,  0,  2,  0,  0,  0,  4,  3,  5,  0,  0, // х,
508          8,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  7,  0,  0,  0,  0,  4,  0,  0,  7,  1,  0,  1,  0,  2,  1,  0,  0,  9,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1,  0,  0,  1,  1, // ц,
509          6,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,  0,  5,  0,  1,  5,  0,  2,  0,  0,  6,  0,  0,  1,  0,  0,  3,  0,  2,  0,  0,  2,  0,  1,  0,  0,  3,  0,  0,  2,  0,  0,  0,  0, // ч,
510         12,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 17,  0,  0,  1,  0,  2,  0,  0, 26,  0,  0,  0,  0,  0, 22,  2,  6,  0,  0,  5,  0,  0,  0,  0,  2,  0,  0,  1,  0,  0,  0,  0, // ш,
511          2,  0,255,  0,255,255,255,255,255,  0,  0,  0,255,  0,  1,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0, // щ,
512          0,  0,255,255,255,255,  0,255,  0,  0,  0,255,255,255,  0,  3,  4,  0,  2,  0,  0,  0,  0,  0, 11,  0,  1,  0,  0,  2,  2,  5,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ъ,
513          1,  0,  0,255,255,255,255,255,  0,  0,  0,  0,  0,255,  0,  3, 11,  0,  4,  0,  2,  1,  0,  0,  0,  3,  1, 16,  0,  0, 22,  2, 10,  0,  0,  0,  8,  6,  3,  0,  0,  0,  0,  0,  0,  0, // ы,
514          0,  0,  0,255,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  5,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0,  7,  3,  0,  1, 13,  7,  7,  0, 35,  6,  0,  0,  0,  0,  0,  0,  0,  6,  0, // ь,
515         10,  0,  0,255,255,255,255,255,  0,  0,  0,  0,255,  0,  0,  1,  1, 10, 11,  0,  2,  2,  0,  0,  0,  9,  3,  9,  0,  0,  7,  6,  9,  0,  0,  8,  3,  2,  1,  0,  0,  0,  0, 17,  0,  0, // э,
516         14,  0,  0,  0,255,255,255,255,  0,  0,  0,  0,255,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  2,  0,  0,  2,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ю,
517          5,  0,  0,255,255,255,255,255,  0,  9,  0,  0,255,  0, 11,  0,  3,  0,  0,  0,  0,  2, 24,  0,  0,  5,  2, 14,  1,  0,  2,  3,  1,  0,  0,  1,  3,  0,  0,  0,  0, 16,  1,  0,  0,  0, // я,
518      //   ,  a,  ѓ,  ђ,  љ,  њ,  ћ,  џ,  ў,  і,  ё,  є,  ј,  ї,  а,  б,  в,  г,  д,  е,  ж,  з,  и,  й,  к,  л,  м,  н,  о,  п,  р,  с,  т,  у,  ф,  х,  ц,  ч,  ш,  щ,  ъ,  ы,  ь,  э,  ю,  я,
519    ],
520    western: [
521                                                                                                                     18,  3,  0,254, 74,  0,  5,254,254,  2, 25,254,149,  4,254, 66,148,254,  0,254,122,238,  8,  1, 20, 13,254, 35, 20,  3,  1,  0, //  ,
522                                                                                                                      0,  3,  0,  0,  0,  0,  0,  5,  2,  0, 86,  9, 76,  0,  0,  0,241,  0,  0, 49,  0,  0,  0,  0, 11,  2,  0, 34,  0,  1,  2,  0, // a,
523                                                                                                                     19,  0,  0,  5,  5,  0,  0,  8, 13,  5,  0, 34, 22,  0,  0,  0,  4,  0,  0,  0,  6,  1,  3,  3, 42, 37,  8,  8,  0, 67,  0,  0, // b,
524                                                                                                                      0,  0,  0,  9,  6,  1,  0, 22, 10,  1,  0, 19, 54,  1,  0,  1, 18,  3,  1,  2, 40,  7,  0,  0,  6,  0,  3,  5,  1, 34,  0,  0, // c,
525                                                                                                                      0,  0,  0,  5,  5,  0,  0, 12, 45, 16,  1,  6, 42,  0, 13,  3, 10,  0,  2,  0, 66, 11,  5,  8, 33,104,  3,  4,  0, 19,  0,  0, // d,
526                                                                                                                     63,  5,  0,  0,  0,  0,  2, 33, 15,  1,  3,  0, 87,  0,  0,  0,  0,  0,  1, 21,  0,  0,  0, 49,  1, 11,  0,  3,  0,  9,  1,  0, // e,
527                                                                                                                      0,  0,  0,  8,  8,  0,  0, 10,  2,  7,  0,162, 23,  0, 13,  0,  4,  0,  0,  0,  1,  3,  0,  0, 15,  4,  0,  0,  0,  4,  0,  0, // f,
528                                                                                                                      1,  0,  0, 14, 16, 24,  0, 29, 11, 41,  0, 13, 86,  0, 14,  9,  3,  0,  0,  0, 20,  8,  7,  7, 13, 37, 14,  0,  0, 12,  0,  0, // g,
529                                                                                                                      1,  0,  0,  0,  0,  0,  0, 47,  2,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0, 29, 20,  0,  0,  0,  0, 45,  0,  0, // h,
530                                                                                                                      5,  4,  0,166,120,  0,  0,144,  0,  2,  3, 88,254,  0,  0,  0,  0,  0,  0,  3, 28,107,  0,112,  8,  2, 44, 32,  0,  3,  3,  0, // i,
531                                                                                                                      0,  0,  0,  0,  0,  0,  0, 39,  9,  0,  0,  2,  1,  0,  2,  0,  0,  0,  0,  4,  0,  0,  0, 16, 18, 44,  0,  0,  0,  0,  0,255, // j,
532                                                                                                                      0,  2,  0,  0,  1,  0,  0, 48, 31, 32,  1, 60,  1,  0,  4,  0,  1,  0,  0,  0,  1,  3,  0,  2, 20, 47,  0,  0,  0, 20,  0,  0, // k,
533                                                                                                                      4,  0,  0, 12, 16,  0,  0, 54, 40, 48,  0, 64, 36,  0, 39,  6, 12,  3,  0,  0, 27,  9,  3, 24, 42, 33,  2,  9,  7, 77,  0,  0, // l,
534                                                                                                                      0,  0,  0, 14,  5,  4,  0, 60, 11,  4,  3, 48, 30,  7, 28,  1, 10,  1,  0,  0, 24, 41,  3,  3, 19, 24,  1,  8,  2, 36,  0,  0, // m,
535                                                                                                                      1,  1,  0, 24, 91, 16,  0,132, 62, 73,  1, 56, 71, 33, 78,  7, 35,  2,  3,  0, 94,254, 10, 21, 33, 38, 24, 21,  1, 61,  0,  0, // n,
536                                                                                                                      0,  1,  0,  0,  0,  0,254,  6,  0,  1, 27,  0, 13,  0,  0, 84,127,  0,  0, 62,  0,  1,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0, // o,
537                                                                                                                      0,  0,  0,  5,  2,  0,  0,  9, 15,  0,  0,  4, 34,  0,  6,  0,  6,  0,  0,  0, 20, 12,  9, 28, 10, 22,  0,  3,  0,  7,  0,  0, // p,
538                                                                                                                      0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1, 33,  1,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,255,255, // q,
539                                                                                                                      0,  0,  0, 83, 62,  1,  0,198,139,125,  0,229, 94, 54,190, 38, 18,  1,  0,  0,176, 24, 16, 29,193,181, 13, 13,  2,131,  0,  0, // r,
540                                                                                                                      1,  0,  0, 41, 34,  0,  0, 41, 24, 42,  0, 68,113, 15,159,  6, 43, 19,  4, 58, 14, 18,  1,  4, 48, 42,  4, 12,  9, 20,  0,  0, // s,
541                                                                                                                      7,  1,  0, 14, 20,  8,  0, 56, 37, 31,  0,104, 67, 14,113,  3, 50,  9,  5,  0, 89,  7, 19, 22, 13, 14, 40, 12, 15, 18,  0,  0, // t,
542                                                                                                                      0,  1,  5,  1,  2,  0,  0, 30,  0,  0,  1, 15,  2,  0,  1,  0,  1,  0,  0,  2,  4,  0,  0, 36,  0,  0,  0,  0,  0,  0,  0,  0, // u,
543                                                                                                                      0,  2,  0,  1,  6,  0,  0, 29, 33, 13,  0, 19, 46,  0, 15,  0,  7,  0,  1, 31,  2,  2,  3,  1, 32, 27,  0,  0,  1,  1,  0,  0, // v,
544                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  3,  0,  0,  4,  0,  0,  0,  0,  0,  0,  2,  0,  0,  1,  0,  0,  0,  0,  0,  0,255, // w,
545                                                                                                                      0,  0,  0,  1, 16,  0,  0, 23,  0,  0,  0,  3, 14,  0,  0,  0,  2,  3,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,255,  0, // x,
546                                                                                                                      0,  0,  0,  0,  0,  0,  0, 58,  8,  0,  0,  1,  1, 62,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  6, 82,  0,  0,  0,  0,  0,255, // y,
547                                                                                                                      0,  0,  0,  0,  2,  0,  0,  0, 14,  0,  0,  7,  3,  0,  6,  0,  3,  5,  0,  0,  0,  0,  4,  0,  1,  0,  0,  0,  0,  0,  0,  0, // z,
548          0, 29,  0,  0,  0, 15,  0,  0,  0, 11,  0,  0,  0,  0,  0, 20,  0,  0,  0,  0,  0, 37,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,255,  4,  0,  0,255,255,  0,255,  0,255,  0,  0,255,255,255,  0,  0,  0,  8,  0,255,  0,  0,  2,  0,  0, // ß,
549          6,  2,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 10,  1,  0,  0,  0,  0,  0,  0,  0,255,  0,  1,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // š,
550          3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,255,  0,  0,  0,255,255,255,  0,255,255,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,255,  0,255,255, // œ,
551        107,  0, 22, 16, 18, 14,  6, 24, 46, 15,  2,  0, 42, 18, 17,  0, 36,  0, 34,  4,254,  1,  2,  0,  0,  1,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,255,255,255,  0,  0,255,  0,  0,  0, // à,
552         41,  0, 10,  8, 21, 34,  5,  5, 60, 18,  5,  1, 29, 42, 26,  2, 16,  0, 27,  9, 43, 28,  7,  0,  0,  1,  4,  0,  0,255,  0,  0,255,255,255,  0,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,  0,255, // á,
553         24,  0,  1,  2,  0,  0,  0,  0,  7,  0,  0,  0,  3,  1,  0,  0,  0,  0,  2,  0,  5,  0,  1,  0,  0,  0,  0,255,  0,255,  0,  0,  0,255,  0,255,  0,  0,  0,  2,  0,255,  0,255,  0,  0,  0,  0,255,  0,255,255,255,255,255,  0,255,  0,255, // â,
554          0,  0,  0,  1,  2,  3,  0,  1,  2, 12,  0,  0,  1,  7, 29,  4,  1,255, 11, 66, 11,  0,  1,  0,  0,  0,  0,255,  0,255,255,255,  0,  0,  0,255,255,127,255,255,255,255,255,  0,  0,255,  0,  0,255,255,  0,255,255,255,255,255,255,255,255, // ã,
555        134,  1, 11,  0, 25,  6, 15, 11, 61, 24,123, 95,114, 68, 53,  1, 49,  0, 60, 98,198,  0, 88, 29,  0,  6, 12,  0,  0,255,  0,255,  0,  0,118,  0,255,  0,255,  0,255,  0,255,  0,255,255,  0,255,255,  0,255,  2,255,255,255,  0,  0,  0,255, // ä,
556        156,  0, 12, 14, 19,  3, 12, 47, 17,  3, 12,  5, 30, 47, 22,  0,205,  0,184, 70, 19,  0, 22,  8,  0,  6,  1,255,  0,255,255,  0,255,  0,  0,  0,  0,  0,255,  0,255,  0,255,  0,  0,255,255,255,255,255,255,  0,  0,255,255,255,255,255,255, // å,
557         26,  0,  7,  0,  4,  0, 23,  8, 15,  0, 18, 19, 56, 23, 24,  0,  9,  0, 82, 37, 24,  0, 71,  0,  0,  0,  0,255,  0,255,255,  0,255,255,  0,  0,  0,  0,255,  0,255,255,255,  0,255,255,  0,255,255,255,255,  0,  0,255,255,255,255,  0,255, // æ,
558         17,112,  0,  2,  0, 15,  0,  0,  0, 35,  0,  0,  2,  0, 59,  9,  1,  0, 36,  0,  0,  8,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255, // ç,
559        254,  0,  9, 14, 20,  0, 15,  6, 70,144, 14, 45, 47, 92, 16,  3,123,  0, 38, 23,115, 52, 22, 42,  2, 80, 19,255,  0,255,  0,  0,255,255,  0,255,255,  0, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,  0,  0,  0,  1,255,255, // è,
560        152,  2, 19, 24, 85,  0, 29, 23, 26, 25,  2,  9, 43, 60, 62,  1, 32,  0,122, 45,169, 15, 13, 30,  7,  4,  8,  0,  0,255,  0,  0,  0,  0,  0,255,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  1,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0, // é,
561          5,  0,  0,  3,  7,  0,  0, 10,  2,  3,  0, 26,  6,  6, 20,  1,  2,  0, 20,  1, 11,  5,  5,  2,  0,  0,  1,255,  0,255,255,255,  0,255,255,255,255,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,255,  0,  0,255,255,255,  0,255,  0,  0,  0,255, // ê,
562         36,  2, 23, 15, 36,143,  5, 23, 52, 52, 66, 48, 92, 57,216, 10,125, 35, 89, 58,254,  9, 24, 14,  0,  0,  8,255,  0,255,  0,255,255,255,  0,  0,255,  1,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,255,  0,  0,  0,  0,255,  0,  0,  0,255, // ë,
563         12,  0,  1,  4,  6,  0,  3, 21, 10,  0,  0,  0, 18,  8,  4,  0,  1,  0, 65, 35,  8,  3,  0,  0,  0,  0,  0,255,  0,255,  0,  0,255,255,255,255,255,255,  0,  0,  0,255,  0,  0,  0,255,  0,  0,255,  0,255,255,255,  0,255,255,  0,  0,255, // ì,
564         40, 72,  7, 10, 16,  2, 23, 10, 34,  0,  0,  1, 34, 15, 21,  1,  3,  0,203, 28, 58, 23, 11,  0, 10,  0,  2,  0,  0,  0,  0,  0,  0,255,  0,255,255,  0,  0,  0,  0,255,  0,  0,255,255,  1,255,  0,255,255,  0,255,255,  0,255,  2,  0,255, // í,
565          6,  5,  1,  9,  5,  0,  0,  0, 22,  0,  9,  8,  8,  6,  9,  1, 10,  0, 20,  6,182,  0, 13,  0,  0, 24,  1,255,  0,255,255,255,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,255,255,  0,255,255,255, // î,
566          0,  6,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  9,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,255,255, // ï,
567          0,254,  0,  0,  0, 26,  0,  0,  0, 61,  0,  0,  0,  0,  0, 14,  0,  0,  0,  0,  0, 25,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,255,  0,  1,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,255,255, // ñ,
568         20,  0, 56, 43,  8,162, 14,  3, 23, 19,  2,118, 31, 26, 46,  0, 20,  0, 23,  6, 24, 19,  6, 21,  5, 27, 63,255,  0,255,  0,  0,255,255,255,255,255,  3,  0,255,255,255,  0,  0,255,  0,  0,  0,  0,255,  0,255,255,  0,255,255,  0,255,255, // ò,
569         67,  0, 12, 15,  9,  7,  8, 66, 13,254,  3, 23, 14, 16, 16,  0,  8,  0, 29, 11, 26,  0,  5,  5,  1, 10, 13,255,  0,255,255,  0,255,  0,  0,255,255,  1,255,  0,255,255,  0,  0,255,  0,  1,  0,  0,  0,  0,255,255,255,  0,255,255,  0,255, // ó,
570         18,  3,  3, 12,  1,  0,  2,  0,  7,  0,  1,  0,  2,  2,  8,  0,  6,  0,  6,  7,  4,  0,  2,  0,  0,  0,  1,255,  0,  0,255,  0,  0,255,255,255,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,  0,  0,255,255,255, // ô,
571         29,  2,  0,  0,  0,  0,  0,  0,  5,  2, 22, 30, 25, 38, 19,  0, 33,255,  4, 39, 24,  0, 88,  0,  0,  0,  0,255,  0,255,255,  0,255,  0,255,255,255, 36,255,255,255,255,255,  0,255,255,  0,255,  0,  0,  6,  0,255,255,255,  0,  0,  0,255, // õ,
572         44,  0, 33,  0, 25,  0,142,  5, 46, 10, 25, 32, 26, 13,  6,  0,  3,  0, 30,  8, 35,  0, 25,  5,  0, 44,  7,  0,  0,255,255,  0,255,255, 73,  0,255,  0,  0,  0,255,255,255,255,255,  0,  0,255,  0,  0,  0, 39,  0,255,255,255,  0,  0,  0, // ö,
573         52,  0, 21,  0, 57,  0,119, 12, 47,  3, 59, 33, 45, 15, 12,  0,  3,  0, 52, 82, 49,  1, 11,  0,  0,  0,  0,  0,255,  0,255,255,255,255,255,  0,  0,  0,255,  0,255,255,255,  0,255,255,  0,255,255,255,255,  0,  0,255,255,255,255,255,  0, // ø,
574         25,  0,  4,  3, 53,  0,  0,  2, 12, 72,  0,  0, 30,  0,  0,254,  0,  0,  6,  3,  3,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255,  0,255,255,255,255,  0,  0,  0,  0,255,  0,255,255,255,255,  0,255,  0,  0,255,255,  0,  0,  0,  0,  0,  0, // ù,
575         19,  2,  1,  7,  9,  1, 12,  5,  9, 41,  1,  0, 10,  7,  9,  0,  8,  0, 12, 28,  8,  0,  0,  0,  0,  1,  0,255,  0,255,255,  0,255,255,255,255,  0,  0,255,  0,255,255,255,  0,255,255,  0,  0,  0,255,  0,255,255,  0,  0,255,255,  0,255, // ú,
576          0,  0,  0,  0,  1,  5,  0,  0,  1,  0,  0,  0,  0,  0,  0, 45,  0,  0,  3,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,  0,255,255,255,255,  0,255,  0,255,255,255,  0,  0,255,255,255,255,  0,255,255,255,  0,255,  0,  0,255,  0, // û,
577         95,  2, 19,  0,  6,  2,121,  9, 15,  1,  5, 44, 18, 26,  7,  0, 11,  2, 68, 49, 20,  0,  2, 17,  0,  0,  6,  0,  0,255,  0,255,255,255,  0,255,255,  0,255,  0,255,  0,255,255,255,  0,  0,255,255,255,  0,  0,255,  0,  0,  0, 31,  0,  0, // ü,
578          1,  1,  0,  0,  2,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,  0,  0,255,  0,255,  0,255,255,255,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255, // ž,
579          0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,255,  0,255,255,255,255,255,255,  0,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,  0,  0,255,  0,255,255,255,  0,  0,  0, // ÿ,
580      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  i,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ß,  š,  œ,  à,  á,  â,  ã,  ä,  å,  æ,  ç,  è,  é,  ê,  ë,  ì,  í,  î,  ï,  ñ,  ò,  ó,  ô,  õ,  ö,  ø,  ù,  ú,  û,  ü,  ž,  ÿ,
581    ],
582    icelandic: [
583                                                                                                                      0, 68,  0,  0,  2,122,156,  5,  1,  1,  5,  1,  0, //  ,
584                                                                                                                      0,  2,255,  0,  0,  6, 51,  2,  0,  0,  5,  0, 19, // a,
585                                                                                                                      0,  1,  0,  0,  0,  4,  2,  2,  0,  0,  0,  0,  0, // b,
586                                                                                                                      0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255, // c,
587                                                                                                                      0,  0,  0,  2,  0,  2,  0,  0,  0,  5,  0,  1,255, // d,
588                                                                                                                      0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, 22, // e,
589                                                                                                                      0,  4,  0,  1,  0,  5,  3,  3, 13,  0,  0,  0,  0, // f,
590                                                                                                                      0,  4,  0,  3,  1,  7,  2, 10, 12, 19,  7,  3,  0, // g,
591                                                                                                                      0,  2,  0,  0,  0,  0,  3,  1,  0,  0,  0,  0,  0, // h,
592                                                                                                                      0,  1,  0,  0,  0,  0, 69,  0,  0,  0,  1,  2,  4, // i,
593                                                                                                                      0,  0,  0,  1,  0,  0,  2,  0,  0,  0,  0,  1,  8, // j,
594                                                                                                                      0,  3,  0,  5,  1, 21,  1, 10,  4, 10, 11,  0,255, // k,
595                                                                                                                      0, 30,  0,  8,  9,  4,  6, 78, 20, 18,  4,  1,  0, // l,
596                                                                                                                      0,  2,  0,  5,  0,  8,  2,  9,  1,  3,  1,  1,  0, // m,
597                                                                                                                      0,  9,  4,  4,  0, 11,  2, 18, 11,  6, 13,  3,  0, // n,
598                                                                                                                      0,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,  3, // o,
599                                                                                                                      0,  1,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,255, // p,
600                                                                                                                      0,255,255,255,  0,  0,255,255,255,255,255,255,255, // q,
601                                                                                                                      0, 45,  1, 13,  7,  2,  7, 25, 17, 59,  9,  8,  7, // r,
602                                                                                                                      0,  8,  1,  2,  1, 37, 13,  5,  0,  1,  9,  9,  0, // s,
603                                                                                                                      0, 17,  0, 14,  7,  6,  1, 17,  3,  3, 14,  5,  0, // t,
604                                                                                                                      0,  0,  0,  0,  0,  7, 61,  0,  0,  0,  0,  3,  1, // u,
605                                                                                                                      0,  5,  0,  2,  0,  3,  4,  3,  0,  9,  0,  0,  6, // v,
606                                                                                                                      0,  0,255,255,255,255,255,  0,  0,  0,255,255,255, // w,
607                                                                                                                      0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,255, // x,
608                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, // y,
609                                                                                                                      0,  0,255,  0,  0,  0,255,  0,  0,255,  0,  0,255, // z,
610          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,  0,255,  0,255,  0, // ß,
611         83,  0,  2,  0,  4,  0,  2,  3,  6,  0, 16,  3,  9, 23,  5,  0,  2,255, 24,  3,  7,  0,  5,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,255,255,  0,  0,  8, // á,
612          0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,255,  0,255,  0,  0,  0,255,  1,  0,255,255,  0,255,255,  0,255,255,255,255,255,255,255,255,255,255, // ä,
613          4,  0,  7,  0,  3,  0,  8,  1,  4,  0,  0,  0,  5,  2,  3,  0,  4,255, 18,  5,  8,  0,  8,  0,  0,  0,255,255,  0,255,  0,255,  0,  0,  0,255,255,  0,  0,  2, // æ,
614          1,  0,  0,  0,  0,  0,  8,  0,  3,  0,  0,  0,  2,  0,  0,  0,  0,255,  6,  6,  0,  0,  1,  0,  0,  0,  0,  0,255,255,255,  0,255,255,255,255,255,255,255,  0, // é,
615        126,  2,  2,  0,  1,  0,  1,  2,  0,  0,  0,  3, 16,  2,  5,  0,  1,  0, 25, 28, 19,  0, 29,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,255,255,  0,255,  0, // í,
616          0, 95,  0,255,  0, 24,  5,  5,  0,122,  0,  0,  0,  0,  0,  7,  0,255, 46,  0,  0, 20,  2,255,255,  6,255,  0,  8,255, 23,  0, 36,  0, 13,  7, 21,  1,  2,255, // ð,
617          8,  0, 63,  0,  7,  0, 22,  2,  3,  4, 39,  9,  5,  4,  5,  0,  1,255, 13,  8, 21,  0,  5,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,255,  0,  0,  5, // ó,
618          9,  0,  1,  0,  0,  0,  1,  2,  8,  0, 18,  2, 10,  4,  3,  0,  0,255,  4,  6, 11,  0,  5,  0,  0,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,255,  0,  0,  0, // ö,
619         17,  0,  3,255,  3,  0, 40,  1, 11,  0, 14,  1, 13,  2,  2,  0,  0,255, 14,  9, 12,  0, 12,255,255,  0,255,255,255,255,255,255,  0,  0,  0,255,255,  0,255,255, // ø,
620         20,  0,  9,  0,  0,  0,  0,  2,  7,  0,  6,  3,  1,  1, 10,  0,  0,255, 12,  3,  3,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,  1, // ú,
621          1,  0,  9,  0,  2,255,  0,  0,  0,255,  0,  1,  6,  0,  7,255,  0,255,  1,  4,  9,255,  0,255,  0,  0,  0,255,255,255,255,255,255,  0,  0,255,255,  0,255,  4, // ý,
622         87,  1,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,255,  0,  0,  2,  0,  0,  0,255,  0,  0,  0, // þ,
623      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  i,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ß,  á,  ä,  æ,  é,  í,  ð,  ó,  ö,  ø,  ú,  ý,  þ,
624    ],
625    greek: [
626                  0, 12,  0, 16,  6, 69,  1,  0,  0, 24,  0, 33,  0, 41,  2,  2,  1, 50,  0, 44,  1,  2,105,  1,  2, 33,  0,  0,  0,  2,  0,  0, 15,  5,  1, //  ,
627                255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // a,
628          0,  0,255,  0,  0,255,255,  0,255,255,  0,  0,255,  0,255,  0,255,255,255,255,255,  0,255,255,255,  0,255,  0,255,255,255,  0,255,255,255,255,255, // ΐ,
629          4,  0,  0,  0,  0,255,  0,  0,  1,  1,  0,  0,  0,  0,  0,  4,  7,  4,  3,  3,  0,  0,  3,  6,255,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // ά,
630          9,  0,255,255,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  2,  1,  3,  2,  6,  2,  0,  0,  2,  2,255,  0,  5,  0,  1,  1,  0,  0,  0,  0,  0,255,255, // έ,
631          3,  0,255,255,255,255,  0,  0,  0,  1,  1,  0,  0,  0,  1,  0, 10,  3,  1,  2,  0,  0,  0,  2,255,  0,  4,  0,  1,  1,  0,  0,  0,255,255,255,255, // ή,
632          0,  0,255,  0,  0,255,  0,  5,  1,  2,  2, 15,  0,  0,  0,  0,  1,  4,  1,  5,  0,  5,  2, 14,255,  3,  4,  0,  1,  1,  0,  0,  0,  0,  0,255,255, // ί,
633         46,  0,  0,  0,  1,  0, 22,  0,  4,  3,  4,  0,  1,  0,  2, 20, 34,  8, 15, 23,  1,  0, 13, 18,255,  5, 30,  1,  4,  3,  0,  0,  0,  0,  0,  0,  0, // α,
634         10,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  2,  0,  0,  1,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // β,
635         15,  0,  0,  1,  1,  0,  0,  7,  0,  1,  0,  2,  0,  6,  0,  1,  0,  0,  0,  0,  0,  5,  0,  5,255,  0,  0,  2,  0,  0,  0,  1,  0,  0,  1,  0,  0, // γ,
636         19,  0,  0,  3,  0,  0,  4,  2,  0,  0,  0,  1,  0,  0,  0,  3,  0,  0,  0,  3,  0,  4,  0,  0,255,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, // δ,
637         33,  0,  0,  0,  0,  0,  2,  0,  2,  4,  7,  0,  2,  0,  5,  2,  9,  9, 16,  8,  1,  0, 10,  7,255, 15, 15,  0,  1,  5,  0,  0,  0,  0,  0,  0,  0, // ε,
638          1,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ζ,
639         10,  0,  0,  0,  0,  0,  0,  0,  0,  1,  3,  0,  0,  0,  4,  0,  2,  8,  3,  6,  1,  0,  1,  3,255, 14, 41,  0,  0,  1,  0,  0,  0,255,  0,  0,  0, // η,
640          5,  0,  0,  1,  0,  1,  0,  5,  0,  0,  0,  2,  0,  1,  0,  1,  0,  0,  0,  1,  0,  1,  0,  1,255,  0,  0,  1,  0,  0,  0,  0,  0,255,  0,  0,  0, // θ,
641          6,  0,  0,  0,  0,  0,  0, 28,  2,  8, 12, 19,  0,  0,  0,  0,  3,  9,  5, 10,  0, 12,  6, 19,255,  6, 19,  0,  2,  1,  0,  0,  0,  0,  0,  0,  0, // ι,
642         44,  0,  0,  1,  1,  0,  2,  8,  0,  5,  0,  5,  0,  4,  0, 33,  0,  0,  0,  0,  0,  3,  0,  2,255,  4,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, // κ,
643          7,  0,  0,  5,  3,  0,  1, 10,  1,  1,  0,  9,  0,  2,  1,  3,  3,  9,  0,  0,  0, 10,  4,  0,255,  0,  0,  3,  0,  0,  0,  0,  0,  0,  3,  1,  0, // λ,
644         20,  0,  0,  1,  1,  3,  0,  5,  0,  1,  0,  3,  0,  8,  1,  3,  0,  0,  2,  0,  0,  8,  0,  2,255,  5,  0,  4,  0,  0,  0,  2,  0,  0,  3,  1,  0, // μ,
645         12,  0,  0,  6,  8,  1,  7, 30,  0,  1,  0, 10,  0, 14,  1,  8,  0,  0,  0,  1,  0, 16,  0,  1,255,  0,  0,  8,  0,  1,  0, 13,  0,  0,  5,  3,  9, // ν,
646          1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0, // ξ,
647         20,  0,  0,  0,  0,  0,  9,  0,  3,  9,  6,  0,  1,  0,  2, 14, 12, 13, 10, 14,  0,  0, 26, 21,255,  4, 54,  0,  4,  3,  0,  0,  0,  0,  0,  0,  0, // ο,
648         45,  0,  0,  1,  0,  0,  0, 13,  0,  0,  0,  8,  0,  0,  0,  1,  0,  0,  5,  0,  0,  6,  0,  0,255,  2,  0,  5,  0,  0,  0,  1,  0,  0,  2,  1,  0, // π,
649          3,  0,  0,  5,  5,  1,  2, 17,  3,  4,  4, 19,  0,  3,  1,  4,  5,  0,  0,  0,  0, 14, 12,  0,255,  0,  9,  5,  1,  4,  0,  2,  0,  0,  3,  2,  1, // ρ,
650          0,  0,  0,  1,  6,  6,  0, 14,  0,  0,  0,  9,  0, 21,  0,  6,  0,  0,  0,  0,  0, 17,  0,  0,255,  0,  0,  5,  0,  0,  0,  4,  0,  0,  7,  1,  0, // ς,
651         43,  0,  0,  3,  2,  3,  4, 10,  0,  0,  0,  4,  0,  6,  0, 13,  0,  0,  0,  1,  0,  7,  0,  0,255,  2,  2,  5,  0,  0,  0,  3,  0,  0,  3,  2,  1, // σ,
652         73,  0,  0,  4,  2,  3,  3, 21,  0,  0,  0, 10,  0,  5,  0,  4,  4,  0,  0, 16,  0,  3,  2,  2,255, 35,  0,  5,  0,  0,  0,  3,  0,  0,  7,  1,  1, // τ,
653          4,  0,255,  0,  0,  0,  0,  4,  0,  0,  1,  5,  0,  0,  1,  0,  2,  1,  0,  0,  0, 53,  0,  1,255,  7,  1,  0,  1,  0,  0,  0,255,255,  0,  0,  0, // υ,
654          6,  0,  0,  1,  0,  0,  0,  5,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  2,  0,  0,255,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // φ,
655          9,  0,  0,  0,  3,  0,  1,  1,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0,  0,  0,  2,  0,  4,255,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // χ,
656          0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0, // ψ,
657          2,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  1,  0,  0,  0,  1,  1,  1,  0,  3,  0,  0,  1,  4,255,  1,  6,  0,  1,  1,  0,  0,  0,255,  0,  0,  0, // ω,
658          0,  0,255,  0,  0,  0,  0,  1,  0,255,255,  0,255,  0,255,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,  0, // ϊ,
659          0,  0,255,  0,  0,255,  0,  0,255,255,  0,  0,255,255,255,  0,255,  0,255,255,255,  0,255,  0,255,  0,  0,  0,255,255,255,  0,255,255,  0,255,255, // ϋ,
660          6,  0,  0,255,  0,255,  0,  0,  0,  1,  1,  0,  0,  0,  0,  2, 11,  1,  4,  3,  0,  0,  9,  5,255,  1,  4,  0,  0,  0,  0,  0,  0,255,  0,255,255, // ό,
661          0,  0,255,255,  0,255,255,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1,  1,  0,  0,  0, 13,  0,  0,255,  2,  0,  0,  0,  0,  0,  0,255,255,  0,255,255, // ύ,
662          0,  0,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  1,  0,  2,  0,  0,  0,  3,255,  0,  1,  0,  0,  1,  0,  0,  0,255,255,255,255, // ώ,
663      //   ,  a,  ΐ,  ά,  έ,  ή,  ί,  α,  β,  γ,  δ,  ε,  ζ,  η,  θ,  ι,  κ,  λ,  μ,  ν,  ξ,  ο,  π,  ρ,  ς,  σ,  τ,  υ,  φ,  χ,  ψ,  ω,  ϊ,  ϋ,  ό,  ύ,  ώ,
664    ],
665    turkish: [
666                                                                                                                195,254,  0,140,  0, 12,220,165,  2,  1, 58, 25, 27, //  ,
667                                                                                                                  1, 23,  0,  2,  0, 19,  0,  0,  4,  0,  0,  1, 26, // a,
668                                                                                                                  2, 53,  0, 12,  0,  0,  3,  5,  0,  0,  1,  1,  0, // b,
669                                                                                                                 13, 31,  0,  4,  0,  0,  0,  0,  0,  0,  0,  2,  0, // c,
670                                                                                                                  7,161,  0, 22,  0,  0, 11,  4,  1,  3,  1,  2, 16, // d,
671                                                                                                                  0, 18,  0,  0,  0, 22,  0,  0,  6,  0,  1,  0, 14, // e,
672                                                                                                                  3, 19,  0, 12,  0,  0,  0,  1,  0,  0,  0,  8,  1, // f,
673                                                                                                                  0, 45,  0,  0,  0,  0,  1,  2,  0,  0,  2,  0,  0, // g,
674                                                                                                                  0, 27,  0, 21,  0,  0,  1,  2,  0,  0,  0,  2,  0, // h,
675                                                                                                                  0,  7,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0, // j,
676                                                                                                                 37,114,  0, 30,  0,  1,  8, 25,  0,  2,  4, 14,  6, // k,
677                                                                                                                 60,157,  0, 45,  0,  4,  3,  9, 13, 19,  1, 21, 18, // l,
678                                                                                                                 39,105,  0, 19,  0,  2,  6,  5,  0,  1,  2, 22, 10, // m,
679                                                                                                                105,198,  0, 63,  0,  0, 89, 46,  0, 28, 13, 36,  0, // n,
680                                                                                                                  1, 54,  0,  0,  0,  7,  0,  0,  0,  0,255,  0,  1, // o,
681                                                                                                                  2, 22,  0,  0,  0,  0,  0,  3,  0,  0,  3,  6,  0, // p,
682                                                                                                                  8, 12,  0,  6,  0,  0,  0,  0,  0,  0,  0,  1,  1, // q,
683                                                                                                                 44,125,  0,124,  0,  0, 21, 23,  6, 22, 10, 42,  1, // r,
684                                                                                                                 18,123,  0, 48,  0,  0,  0, 17,  0,  2,  3,  7,  0, // s,
685                                                                                                                  5,117,  0, 35,  0,  1,  2,  7,  0,  1,  1,  4, 25, // t,
686                                                                                                                  0,  3,  0,  0,  0,  1,  0,  0, 23,  0,  0,  0,  7, // u,
687                                                                                                                  1, 30,  0,  4,  0,  0,  2,  2,  0, 11,  0,  1,  0, // v,
688                                                                                                                  0,  2,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, // w,
689                                                                                                                  3,  9,  0,  3,  0,  0,  3,  0,  0,  0,  0,  1,  0, // x,
690                                                                                                                  8, 73,  0, 14,  0,  0,  1,  5,  0,  8,  5,  7,  0, // y,
691                                                                                                                 12, 34,  0, 10,  0,  0, 10,  5,  0, 10,  0, 26,  0, // z,
692         25,  0,  2, 22, 54,  0,  8,  2,  4,  0, 38, 68, 26, 55,  0, 10,  7, 67, 64, 38,  0,  0,  0,  4, 44,  9,  3,  0,  0,  0,  0, 15,255,255, 28,  0,255,  0, 17, // ı,
693        228, 15, 82, 26,125,  8, 28, 37, 54, 38,120,164, 71, 79,  6, 17,  7,254,151,193,  4, 68, 61,  9, 15, 20,  0,  2,  0,  0,  0, 26,  0,  0, 22,  0,  0,  0, 36, // i,
694          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0, // ß,
695         36,  0, 20, 12, 81,  0, 14,  9, 24,  0, 17,101, 55, 24,  0,  1, 12, 35, 31, 42,  0, 36,  0,  7, 21, 21,  0,  1,  0,  0,255,  4,255,255,  0,  0,255,  3, 24, // ä,
696          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,255,  0,  0,255,  0,  0,255,  0,255,  0, // â,
697         31, 17,  0,  0,  0, 11,  0,  0,  2,  0, 10,  8,  1,  2,  1,  0,  0,  4,  0,  4,  3,  7,  0,  1,  0,  0,  1, 19,  0,  3,  0,  0,  0,  0,  0,  0,  0,  5,  1, // ç,
698         23,  0,  9,  1, 20,  0,  1,  6, 13,  7, 17, 18, 15, 48,  0, 12,  0, 57,  7, 23,  0, 20, 23,  2, 57,  5,255,  0,  0,255,255,  3,  0,  0,  0,255,  0,255,  6, // ê,
699         20,  0,  6,  5, 24,  0,  4,  2,  6, 16, 25, 21, 15, 33,  0,  4,  1, 52, 12, 20,  0, 13, 17,  0, 16, 10,255,  0,  0,255,  0,  2,  0,  0,  0,255,  0,255,  7, // î,
700          0, 35,  0,  0,  0, 12,  0,  0,  0,255,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0, 13, 16,  0,  0,  0,  0,255,  0,  0,  2,  0,  2,  0, // ğ,
701         30,  0, 11,  0,  6,  0,  0, 22,  1,  0, 10,  0,  2,  4,  0,  0,  0,  0,  3,  3,  0,  0,  0,  0, 14,  1,  0,  0,  0,  0,255,  1,255,255,  0,  0,255,  0,  0, // ö,
702         45,  0, 20,  0,  4,  0,  0,  0,  1,  0,  2,  1,  4,  5,  0,  1,  0, 10,  2,  5,  0,  0,  0,  0,  1,  0,255,  0,  0,255,255,  3,  0,  0,  0,255,  0,  0,  3, // û,
703         20,  0, 11,  5, 26,  0,  0, 15,  3,  0, 11, 26, 21, 17,  0,  0,  1, 15,  8, 34,  0,  2,  0,  1, 17,  2,  0,  0,  0,  0,  0,  6,255,  0,  2,  0,255,  0,  3, // ü,
704         33, 45,  1,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0, 14,  0,  0, 12,  0,  1,  5,  0,  0, 28, 33,  0, 11,  0,  0,  6,  5,  0,  0,  2,  6,  0, // ş,
705      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ı,  i,  ß,  ä,  â,  ç,  ê,  î,  ğ,  ö,  û,  ü,  ş,
706    ],
707    hebrew: [
708                  0,  1,  0,  0,  0,  0,  0, 28, 29, 17, 24,144, 46, 26,  7, 88, 68, 22,  2, 71,106,  3,200,  0, 35, 69, 10,  2,  9,  2, 13,104, 19,138, //  ,
709                  0,255,255,  0,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0, // a,
710          0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0, // ְ,
711          0,  0,  0,  0,255,255,  0,255,  1, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0, // ַ,
712          0,255,  0,  0,  0,255,  0,255,255, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0, // ָ,
713          0,255,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,  0,255,  0,  0,255,  0,  3,255,  0,  0,  0,  0,  0, // ּ,
714          1,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,255,255,255,255,  0,  0,255,  0,  0,255,255,255,  0,  0,  0,255,255,255,  0,  0,  0,  0,  0, // װ,
715          0,255,255,255,255,  0,  0,255,255,  0,  0,255,  0,  0,  0,  0,255,  0,255,255,255,  0,255,  0,255,  0,255,255,255,  0,255,  0,  0,  0,  0,255, // ױ,
716          0,255,  0,  0,255,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0, // ײ,
717        171,  0,  0,  0,  0,  0,  0,255,  0,  0, 20, 14, 15, 21, 22,  5,  0, 22, 15,  0,  2, 17,  0, 16,  0, 16,  6,  2,  0, 27,  0,  3, 25, 30,  5,  3, // א,
718        101,  0,  0,  0,  0,  0,255,  0,  0, 11,  2,  2,  2,  7, 22,  0,  4,  1, 15,  0,  3,  6,  0,  5,  0,  2,  1,  7,  0,  0,  0,  3,  5, 16,  6,  4, // ב,
719         44,  0,  0,  0,  0,  0,255,  0,  0,  7,  1,  0,  2,  5,  9,  0,  0,  6, 12,  0,  0,  3,  0,  2,  0, 17,  1, 15,  0,  1,  0,  0,  0,  7,  1,  1, // ג,
720         70,  0,  0,  0,  0,  0,255,  0,  0,  9,  4,  4,  0,  4, 16,  0,  5,  0, 15,  0,  3,  5,  0,  8,  0, 20,  3,  7,  0,  2,255,  1,  2,  4,  0,  0, // ד,
721        158,  0,  0,  0,  0,  0,  0,255,255,  5,  8,  2,  6,  3,  8,  5,  4,  2, 36,  0,  4, 17,  0, 11,  0, 16,  1,  4,  0,  4,  0,  2,  5, 16,  9,  5, // ה,
722         42,  0,  0,  0,  0,  0,  0,255,255, 48, 21, 16, 18, 19, 73,  5, 13, 12, 38,  0, 11, 22,  0, 30,  0, 25, 10, 13,  0, 32,  0, 18, 22, 34, 19, 17, // ו,
723         32,  0,  0,  0,  0,  0,255,  0,  0,  8,  0,  0,  2,  1,  6,  0,  2,  0, 25,255,  1,  0,  0,  2,  0,  1,  0,  4,  0,  0,255,  0,  0,  0,  0,  0, // ז,
724         18,  0,  0,  0,  0,  0,255,255,255,  8,  4,  0,  0,  6,  7,  0,  0,  1, 10,  0,  1,  5,  0,  6,  0,  2,  0,  0,  0,  1,  0,  1,  0,  4,  4,  5, // ח,
725         22,  0,  0,  7,  1,  0,255,  0,  0, 28,  1,  4,  0,  2,  6,  0,  0,  0, 30,  0,  5,  9,  0,  4,  0, 20, 21, 12,  0,  7,  0,  1, 10, 16, 20,  0, // ט,
726         31,  0,  0,  0,  0,  0,  0,255,255, 65, 31,  9, 45, 19, 60, 22, 12, 19, 78,  0,  9, 37,  0, 25,  0, 45, 15, 12,  0, 15,  0, 15, 17, 50, 25, 13, // י,
727          0,255,  0,  0,  0,  0,255,  0,  0,  5,  0,  0,  0,  0,  2,  0,  0,  0, 10,  0,  1,  1,  0,  0,  0,  0,  0,  1,  0,  0,255,  0,  0,  4,  0,  0, // ך,
728         29,  0,  0,  0,  0,  0,255,  0,  0,  5,  2,  0,  0,  4,  7,  2,  0,  0,  5,  0,  0,  4,  0,  4,  0,  1,  1,  3,  0,  0,255,  0,  0,  6,  2,  1, // כ,
729         64,  0,  0,  1,  0,  0,  0,  0,  0, 35,  7,  8,  2,  5, 29,  1,  6,  4, 20,  0,  8,  4,  0,  7,  0,  1,  2, 18,  0,  4,  0,  2,  6,  2, 29,  2, // ל,
730          0,  0,  0,  0,  0,  0,255,  0,  0,  2,  0,  3,  1,  3,  9,  0,  0,  0, 65,  0,  0,  2,  0,  0,  0,  0,  0, 11,255,  0,255,  0,  0,  0,  5,  1, // ם,
731         89,  0,  0,  0,  0,  0,255,  0,  0, 12, 11,  1,  2, 21, 15,  2,  3,  1, 10,  0,  2,  8,  0,  5,  0,  1,  2,  7,  0,  0,  0,  2,  1,  5,  7, 10, // מ,
732          1,255,  0,  0,  0,  0,  0,  0,  0, 13,  8,  3,  3,  1, 48,  1,  0, 12, 37,  0,  3,  3,  0,  3,  0,  0,  2, 31,  0,  3,255,  1,  1, 15,  5,  1, // ן,
733         24,  0,  0,  2,  0,  0,  0,  0,  0, 35,  8,  2,  1,  5, 26,  0,  1,  1, 35,  0,  4,  4,  0,  8,  0,  0,  1, 30,  0,  5,  0,  0,  2,  3, 13,  2, // נ,
734         22,  0,  0,  0,  0,  0,  0,  0,  0, 16,  4,  0,  0,  6, 14,  0,  2,  1, 17,  0,  1,  2,  0,  6,  0,  5,  0, 12,  0,  2,255,  0,  3,  5,  0,  0, // ס,
735         33,  0,  0,  0,  0,  1,  0,  0,  0,  0, 16, 44, 38, 14, 25,  8,  0, 46, 36,  0,  5, 20,  0, 25,  0, 25,  5,  1,  0, 11,  0,  5, 15, 19, 18,  1, // ע,
736          0,255,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  1,  0,  2,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,255,  0,  0,  0,  0,  0, // ף,
737         76,  0,  0,  0,  0,  0,255,  0,  0, 13,  2,  0,  0,  8, 12,  0,  0,  0,  9,  0,  1,  4,  0,  5,  0,  2, 10,  8,  0,  0,255,  1,  1,  4,  5,  3, // פ,
738          0,  0,  0,  0,  0,  0,255,255,255,  0,  2,  0,  0,  0,  1,  0,  0,  0,  1,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0, // ץ,
739         24,  0,  0,  0,  0,  0,255,255,  0,  4,  1,  0,  0,  5,  7,  0,  0,  0,  7,  0,  0,  1,  0,  5,  0,  5,  0,  2,  0,  0,255,  0,  2,  3,  0,  0, // צ,
740         39,  0,  0,  0,  0,  0,  0,  0,  0,  7,  3,  0,  1,  6,  9,  0,  4,  0, 17,  0,  0,  5,  0,  7,  0,  5,  3,  9,255,  3,255,  0,  0,  5,  1,  4, // ק,
741         27,  0,  0,  3,  7,  0,255,  0,  0, 60, 25,  8,  9, 10, 49,  3,  9,  9, 22,  0,  3,  2,  0, 11,  0,  2,  4,118,  0, 18,  0,  5, 10,  0, 11,  9, // ר,
742         75,  0,  0,  0,  0,  0,255,  0,  0,  8,  7,  0,  2, 10,  9,  4,  2,  7, 32,  0,  1,  4,  0, 26,  0,  3,  0,  6,  0,  2,  0,  0,  2,  7,  0,  2, // ש,
743         21,  0,  0,  0,  0,  0,255,255,  0, 17,  8,  1,  2,  9, 65,  0,  6,  1, 34,  0,  5,  5,  0,  8,  0,  8,  2,  4,255,  5,  0,  1,  1, 10, 11,  1, // ת,
744      //   ,  a,  ְ,  ַ,  ָ,  ּ,  װ,  ױ,  ײ,  א,  ב,  ג,  ד,  ה,  ו,  ז,  ח,  ט,  י,  ך,  כ,  ל,  ם,  מ,  ן,  נ,  ס,  ע,  ף,  פ,  ץ,  צ,  ק,  ר,  ש,  ת,
745    ],
746    arabic: [
747                  0,  8, 11,  2,  0,  9,  7, 40,  0, 34,  6, 74,  8,  1,  0,  0,  0, 10, 74, 21, 87, 40,  2,  3,  3,  5, 50,  0, 78, 23, 29,  9,  3,  2,  5,  5, 13,  7,  0, 22,  7,  4, 35, 42, 69, 85, 37, 11, 44,  0, 49, //  ,
748                  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // a,
749         12,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  3,  4,  9,  0,  0,  0,  0,  0, // ‌,
750         20,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0, // پ,
751          8,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0,  2,  0,255,255,255,  0,  0,  0,255,  0,255,  0,  0,  0,  5,  0,  1,255,  0,  0,  0, // ٹ,
752          4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,255,  0,  0,  0, // چ,
753          2,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,255,  0,255,  0,255,  0,  0,  0,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0, // ژ,
754          8,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,255,  0,  1,  0,255,  0,255,  0,255,  0,  0,255,  0,  0,  0,  0,255,255,255,255,  0,  0,  0,  0,255,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0, // ڈ,
755          9,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,255,  1,  0,  0,  0,  0,  3,  0,  3,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  7,  0,  0,  0,  0,  0,  0, // گ,
756         79,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  2,  0,  4,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  4,  7,  1,  0,  1,  0,  0,  0,  0, // ک,
757          0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,255,  0,  0,  0,255,  0,255,  0,255,255,  0,255,  0,  0,  0,  0,255,255,  0,  0,255,  0,255,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0, // ڑ,
758         27,255,255,255,  0,255,255,  0,255,  0,255,255,  0,  0,  0,  0,255,  0,255,  0,  2,255,255,  0,255,  0,255,255,  0,255,  0,  0,  0,  0,255,255,255,255,255,255,  0,255,255,255,255,  0,  0,  0,  4,  0,  0,  0,  0, // ں,
759          0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,255,  0,  0,255,  0,  0,  0,255,  0,  0,  3,255,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,255, // ھ,
760         27,  0,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  3,  2,  0,  3,  0,  0,  0,  0,  5,  0, 25,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,  3,  1,  0,  9,  1,  2,  0,  2,255,  0,  0,  0, // ہ,
761          7,  0,  0,  0,  0,255,255,255,  0,255,255,255,255,  0,  0,  0,  0,  0,255,  0,  4,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,255,255,  0,255,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255, // ء,
762         14,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // آ,
763         24,  0,  0,255,255,  0,255,  0,  0,  0,255,255,255,255,  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,  9,  0,  0,  0,  0,  0,  0,  0,255, // أ,
764          0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,255,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255, // ؤ,
765         11,  0,  0,255,255,255,255,255,255,255,255,255,255,255,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0,255, // إ,
766          0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0, 17,  0,255,  0,  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, // ئ,
767        124,  0,  5,  6,  5,  0,  0,  1,  7, 17,  0,  0,  3,  7,  0,  0,  0,  0,  0,  0,  0, 24,  0, 18,  2,  9,  6,  2, 13,  1, 23,  4, 11,  4,  2,  2,  2,  1,  7,  1,  0,  5,  7,  7, 19, 13, 14, 21, 18,  0, 15,  0,  0, // ا,
768         50,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  1,  0,  0,  0, 11,  0,  0,  3,  0,  0,  0,  0,  0,  0,  9,  2,  4,  0,  0,  0,  1,  0,  3,  0,  0,  0,  1,  1,  6,  2,  1,  0,  7,  0,  3,  0,  0, // ب,
769          0,  0,  0,  0,255,  0,  0,255,  0,  0,255,255,  0,255,  0,  0,  0,  0,255,  0,  1,  3,  0,  0,  0,  1,  1,  0,  4,  0, 10,  0,  1,  0,  0,  0,  1,  0,  3,  1,  0,  2,  3,  1,  8,  4,  4,  0,  0,  0, 22,  0,255, // ة,
770         38,  0,  1,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20,  1,  0,  0,  0,  0,  1,  2,  0,  0,  3,  0, 24,  3,  0,  0,  0,  0,  1,  0,  0,  2,  1,  2,  9,  7,  5,  0,  5,  0,  4,  0,  0, // ت,
771          1,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,  0,  0,  1,  0,  0, // ث,
772         22,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  1,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  1,  1,  0,  3,  0,  1,  0,  0, // ج,
773          9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  2,  1,  0,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  5,  3,  0,  0,  1,  0,  1,  0,  0, // ح,
774         11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  1,  0,  2,  0,  0,  0,  0,  0,  0,  1,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  4,  0,  0, // خ,
775         42,  0,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 17,  2,  0,  0,  0,  1,  4,  1,  2,  0, 27,  1,  1,  5,  1,  0,  0,  0,  4,  0,  0,  0,  4,  0,  5,  4, 15,  1,  8,  0,  6,  0,  0, // د,
776          1,  0,  0,  0,  0,  0,  0,  0,  1,  0,255,255,  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,  1,  0,  0,  1,  0,  0,  0,  0,  0, // ذ,
777         61,  0,  0,  6,  2,  0,  0,  0,  5,  9,  0,  0,  0,  6,  0,  1,  2,  0,  0,  1, 32, 12,  0,  7,  0,  1,  1,  2, 18,  1,  4,  0,  2,  4,  1,  0,  1,  0,  3,  2,  0,  5,  2,  4,  3, 27,  1,  8, 15,  0,  8,  0,  0, // ر,
778         30,  0,  0,  0,  0,  0,  0,  0,  1,  1,  0,255,  0,  0,  0,  0,  0,  0,  0,  0, 16,  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,  1,  0,  2,  0,  1,  0,  0, // ز,
779         31,  0,  1,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  3,  0,  1,  0, 17,  1,  0,  1,  0,  0,  1,  0,  1,  0,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  6,  9,  3,  1,  5,  0,  4,  0,  0, // س,
780         22,  0,  2,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  2,  0,  0,  0,  1,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  3,  0,  1,  0,  0,  0,  0, // ش,
781          8,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0, 14,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  2,  2,  1,  0,  2,  0,  0,  0,  0, // ص,
782          1,  0,  0,  0,255,255,255,255,  0,  0,255,255,  0,  0,255,  0,  0,  0,  0,  0,  1,  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,  1,  0,  0,  0,  0, // ض,
783          2,  0,  0,  0,  0,  0,255,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  2,  3,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  2,  0,  1,  0,  3,  0,  0, // ط,
784          0,  0,  0,  0,255,  0,255,255,  0,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,255,  0,  0,255, // ظ,
785         18,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  2,  0,  0,  0,  5,  2,  0,  3,  0,  3,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  1,  0,  0,  0,  0,  0,  1,  0,  9,  6,  0,  0,  5,  0,  1,  0,  0, // ع,
786          2,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  1,  0,  0,  0,  0,  0,  0,  0, // غ,
787          0,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ـ,
788         23,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  1,  0,  0,  0,  5,  0,  0,  1,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  1,  0,  3,  0, 16,  0,  0, // ف,
789          9,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  1,  0,  3,  0,  0,  0,  0,  0,  0,  2,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  5,  2,  1,  0,  4,  0,  3,  0,  0, // ق,
790         13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  1,  0,  0,  1,  0,  4,  0,  0, // ك,
791         17,  0,  0,  0,  0,  0,  0,  0,  2,  1,  0,255,  0,  0,  0,  1,  1,  0,  3,  0,123,  6,  0,  1,  1,  1,  1,  2,  1,  0,  0,  0,  3,  0,  2,  1,  1,  0, 10,  0,  0,  1,  3,  2,  5,  8,  0,  2, 12,  0, 10,  0,  0, // ل,
792         76,  0,  0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0,  0,  3,  3,  0,  0,  0, 16,  0,  0,  2,  0,  3,  2,  0,  4,  0,  8, 22,  6,  2,  0,  0,  0,  0,  2,  0,  0,  0,  0,  1, 27,  1,  1,  4,  6,  0,  5,  0,  0, // م,
793         38,  0,  1,  1,  0,  0,  0,  0,  1,  4,  0,  0,  0,  1,  0,  2,  3,  4,  3,  1, 55,  2,  0,  2,  0,  2,  0,  0,  2,  0,  2,  2,  3,  2, 14,  0,  1,  0,  3,  0,  0,  0,  0,  2,  4, 14,  1,  2, 10,  0, 11,  0,  0, // ن,
794         16,  0, 11,  0,  0,  0,  0,  0,  0,  4,  0,255,  0,  0,  0,  0,  0,  0,  0,  0, 10, 13,  0,  4,  0,  1,  0,  0, 30,  0,  6,  2,  1,  5,  0,  0,  0,  0,  1,  0,  0,  2,  1,  0,  4,  3,  4,  0,  1,  0,  1,  0,  0, // ه,
795         36,  0,  0,  1,  0,  0,  0,  0,  2,  6,  0,  0,  1,  6,  0,  0,  4,  0,  0,  0, 10,  9,  0,  5,  0,  9,  4,  4,  5,  0, 13,  1,  3,  3,  3,  0,  1,  0,  1,  0,  0,  2,  1,  4,  9,  6, 10,  3,  1,  0,  8,  0,  0, // و,
796          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  0,  0,255, // ى,
797          9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  1,  0,  1,  2,  5,  8,  0,  5,  0,  2,  2,  1, 12,  1, 22,  2,  8,  2,  2,  1,  1,  0,  2,  1,  0, 19,  3,  4, 14,  7, 24,  2, 10,  0,  1,  0,  0, // ي,
798          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // ً,
799          2,  0,255,  0,  0,  1,  0,  0,  0, 12,  0,  0,  0,  6,  0,  0,255,  0,255,  5,  0,  0,255,  1,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  4,  0,  0,255,  0,  0,  0, // ے,
800      //   ,  a,  ‌,  پ,  ٹ,  چ,  ژ,  ڈ,  گ,  ک,  ڑ,  ں,  ھ,  ہ,  ء,  آ,  أ,  ؤ,  إ,  ئ,  ا,  ب,  ة,  ت,  ث,  ج,  ح,  خ,  د,  ذ,  ر,  ز,  س,  ش,  ص,  ض,  ط,  ظ,  ع,  غ,  ـ,  ف,  ق,  ك,  ل,  م,  ن,  ه,  و,  ى,  ي,  ً,  ے,
801    ],
802    baltic: [
803                                                                                                                      0,  0, 57, 42,135, 14, 20,  3,119,  0,  0, 18,  1, 18,  0,  0,205,  1,  4, //  ,
804                                                                                                                      0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  1,  0, 16, 39, 14,  0,  0,  0, 16, // a,
805                                                                                                                      0,255,  0,  0,  3,  0,  0,  0,  0,  0,  0, 37,  0,  0,  0,  0,  0,  0,  0, // b,
806                                                                                                                      0,255,  0,  0, 19,  0,  9,  0,  0,255,  0,  6,  0,  0,  0,  0,  0,  1,  0, // c,
807                                                                                                                      0,255,  0,  0, 17,  0,  6,  0,  6,255,  0, 14,  0,  0,  0,  0,  0,  6,  3, // d,
808                                                                                                                      0,  0,  0,  0,  0,  0,  0,  9,  0,  5,  3,  0,  1,  7,  3,  0,  0,  0, 21, // e,
809                                                                                                                      0,255,  0,  0,  4,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0, // f,
810                                                                                                                      0,255,  0,  1,  1,  0,  1,  0,  3,  0,  0, 27,  0,  0,  0,  0,  0,  1,  0, // g,
811                                                                                                                      0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, // h,
812                                                                                                                      0,  0,  0,  0,  0,  0,  0, 72,  0, 13,  9,  0,  5, 41,  7,  0,  0,  0, 56, // i,
813                                                                                                                      0,255,  6,  0, 30,  0, 32,  0, 41,  0,255, 12,  0,  0,  0,  0,  3,  0,  0, // j,
814                                                                                                                      0,  0,  0,  4, 32,  0,  8,  0,  2,  0,  0,  3,  0, 36,  0,  0,  0,  6,  1, // k,
815                                                                                                                      0,255,  0,  0, 29,  0, 36,  1, 24,  0,  0,  4,  0,  5,  0,  0,  0,  2,  0, // l,
816                                                                                                                      0,  0,  0,  1, 16,  0, 11,  0,  6,  0,  0, 15,  0,  2,  0,  0,  0,  1,  6, // m,
817                                                                                                                      0,255,  0,  0, 19,  0,  7,  0, 10,  0,  0, 12,  0,  8,  0,  0,  0, 16,  6, // n,
818                                                                                                                      0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2, 10,  2,255,  0,  0,  6, // o,
819                                                                                                                      0,255,  0,  0,  3,  0,  0,  0,  0,  0,  0,  2,  0,  1,  0,  0,  0,  1,  0, // p,
820                                                                                                                      0,255,  0,  0,  0,  0,255,  0,  0,255,255,  0,255,  0,255,255,  0,  0,  0, // q,
821                                                                                                                      0,255,  2,  2, 59,  0, 23,  0,  2,  0,  0,  6,  0,  3,  0,  0,  0, 23,  0, // r,
822                                                                                                                      0,255,  2,  7, 50,  7,  9,  1, 88,  0,  0,  7,  0,  4,  0,  0,  0,  5,  1, // s,
823                                                                                                                      0,255,  0,  2, 33,  0, 31,  0, 10,  0,  0, 21,  0, 22,  0,  0,  0,  6,  1, // t,
824                                                                                                                      0,  0,  0,  0,  0,  0,  0,  3,  0,  0,  1,  0, 13, 11, 12,  0,  0,  0,  7, // u,
825                                                                                                                      0,255,  0,  5, 10,  0,  2,  0,  3,  0,  0, 21,  0, 12,  0,  0,  0,  1,  3, // v,
826                                                                                                                      0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,  0,255,  0,  0,  0,  0, // w,
827                                                                                                                      0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,  0,255,255,  0,  0,  0, // x,
828                                                                                                                      0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  5,255,  0,  0,  0,  7, // y,
829                                                                                                                      0,255,  0,  0,  4,  0,  2,  0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  3,  0, // z,
830          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,255,255,  0,  0, // ß,
831          0,  0,  0,255,255,  0,255,  0,255,  0,255,  0,255,255,255,  0,  0,255,255,255,  0,  0,255,255,255,255,255,255,  0,255,255,  0,255,  0,255,255,255,255,255,255,255,255,255,255,  0,255, // ŗ,
832          1,  0,  1,  0,  1,  0,  0,  1,  0,  4,  9,  4,  3, 10,  5,  0,  0,  0,  5,  9,  9,  0,  1,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,255,  0,  0,  0, // ą,
833         50,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  2,  0,  5,  0,  0,  0,  3,  1,  2,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,255,  0,  0,  0, // į,
834          9,  0, 10,  2, 28,  3,  0, 13,  1,  6, 45, 45, 27, 28, 50,  0, 30,  0, 40, 13, 73,  2, 28,  0,  0,  0,  5,  0,  0,255,255,  0,255,255,  0,255,  0,  0,  0,  2,  4,  1,255,255,255,  3, // ā,
835          0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  2,  1,  0,  4,  0,  0,  0,  1,  0,  2,  0,  2,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,255,  0,  0,  0, // ę,
836          4,  0,  3,  6, 12,  0,  0,  0,  0,  0,  2,  0, 20, 16,  8,  0, 35,255, 15, 19, 28,  0, 26,  0,255,  0,  5,255,  0,255,255,  0,255,  0,  0,255,  0,  1,255,  0,  1,  3,255,255,  0,  0, // ē,
837         12,  9,  0,  0,  0,  9,  0,  0,  0, 15,  0,  0,  1,  0,  8,  2,  0,  0,  4,  7,  0,  3,  0,  0,  0,  6,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  7,  0,  0,  0,  1,  0, // č,
838          1,  0, 20,  0, 27,  0,  0,  9,  0,  0,  3, 27, 33, 22, 68,  0, 12,  0, 25, 12, 29,  0, 20,  0,  0,  0,  1,255,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  2,255,255,  0,  0,  4, // ė,
839          6,  1,255,  0,  0,  2,255,  0,255,  1,255,  0,  0,  0,  0,  3,  0,255,  1,  0,  0,  1,  0,255,255,255,  0,255,255,255,255,  0,255,  1,255,255,  0,255,  0,  0,  0,  0,255,255,  0,  0, // ģ,
840          4,  1,  0,  0,  0,  1,255,  0,255,  3,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,255,255,  0,255,  0,  0,255,255,  0,  0,  0,  5,  2,255,255,  0,  0, // ķ,
841          4,  0,  5, 11, 17,  0,  0,  0,  0,  0,  0,  0, 32,  4, 17,  0,  2,  0, 44,  6, 35,  0,  7,  0,  0,  0, 25,  0,  0,255,255,  0,255,  0,  0,255,  0,  2,  0,  0,  3,  0,255,255,  0,  0, // ī,
842          2, 11,  0,255,  0, 10,  0,  2,  0,  3,255, 11,  0,  0,255,  2,  0,255,  0,  0,  0,  2,  0,255,255,255,  0,255,255,255,255,  1,255,  2,255,255,  0,  0,  0,  0,  0,255,  0,255,  0,  0, // ļ,
843         75, 31,  0,  0,  0, 15,  0,  1,  0, 71,  0, 18,  1,  1,  1, 13,  2,  0,  7,  0,  1, 10,  0,  0,  0,  1,  0,  0,  0,  0,  0,  2,  0,  4,  0,  0,255,  0,  3,  1,  0,  5,  0,  0,  3,  0, // š,
844          1,  5,  0,  0,  0,  6,255,  0,  0, 24,  0,  0,  0,  0,  0,  2,  0,255,  1,  0,  0,  1,  0,255,255,255,  2,255,255,255,255,  3,255,  0,  0,255,255,255,  1,  0,  0,  0,  0,255,  0,  0, // ņ,
845          0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,  0,255,255,255,255,255,  0,255,  0,255,255,  0, // ō,
846          0,  0,  3,  0,  4,  0,  0,  4,  0, 76, 18, 13,  8, 11, 19,  0,  0,  0,  9,  4, 28,  0,  3,  0,  0,  0,  0,255,255,  0,  0,255,  0,255,  0,  0,255,255,255,255,  0,255,255,  0,  0,  1, // ų,
847          2,  0,  9,  3,  1,  0,  0,  1,  0, 12,  8,  8,  3,  5,  0,  0,  1,  0,  9,  1, 12,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,  0,  0,255,  1,  0,  0,255,  0,  0,  0, // ū,
848         46, 17,  0,  0, 30, 11,  0,  1,  0,  3,  0,  0,  1,  3,  1,  2,  0,  0,  8,  0,  0, 16,  0,  0,  0,  2,  0,  0,255,  1,  1,  0,  0,  0,  0,  3,255,255,  0,  0,  0,  0,255,  0,  0,  0, // ž,
849      //   ,  a,  b,  c,  d,  e,  f,  g,  h,  i,  j,  k,  l,  m,  n,  o,  p,  q,  r,  s,  t,  u,  v,  w,  x,  y,  z,  ß,  ŗ,  ą,  į,  ā,  ę,  ē,  č,  ė,  ģ,  ķ,  ī,  ļ,  š,  ņ,  ō,  ų,  ū,  ž,
850    ],
851    thai: [
852                  6,  0,  2,  0, 14,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  4,  2,  0,  1,  0, 21,  3,  1,  0,  0,  5,  0,  0,  9,  9,  4,  0,  4,  2,  6,  0,  2,  0,  0,  4,  0,  0,  4,  0, 11,  0,  2,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, 10,  3,  0,  0, 16,  0,  0,  0, //  ,
853                  0,  0,  0,255,  0,  0,255,  0,255,255,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,255,255, // a,
854          8,  0,  6,  0,  4,  0, 91,  3,  0, 13,  1,  0,  1,  0,  0,  0,  0,  0,  0,  3,  3,  0,  0,  0, 17,  6,  3,  0,  0,  0,  0,  0,  8, 13, 10,  0,  6,  5,  0,  0,  4,  1,  0, 28,  0,  0, 13, 40, 50,  4, 26, 13,  9,  0, 23, 33,  0, 80, 28, 16,  2,  3,  0, 17, 12, 13,  3,  0, 19,  0,255,  0, // ก,
855          1,  0,  8,  0,  1,  0,119,  2,  0,  0,  0,255,  3,  0,  0,  0,  0,  0,  0,  7,  1,  0,  0,  0, 14,  3,  0,  0,  0,  1,  0,  0,  6,  4,  4,255,  5,  4,  0,  0,  0,  0,  0,  5,  0,  0,  3,  0, 17,  2,  5,  6,  0,  0, 16,  1,  0,137, 33,  4,  0, 12,  0,  0, 12,  9,  0,  0, 15,  0,255,  0, // ข,
856          7,  0, 23,  0, 61,  0,254,  2,  0,  9,  3,255,  2,  0,  0,  0,  0,255,  1, 10,  1,  0, 16,  0, 51, 21,  1,  0,  0,  1,  0,  1, 14, 13, 32,  0,  5,  5,  0,  0,  4,  0,  0, 16,  0,  0, 31, 11,120, 11, 16, 21,  0,  0, 61,  5,  0,173, 54,110,  7,  6,  0, 14, 29, 37,  2,  0, 42,  0,255,  0, // ค,
857          0,255,  0,255,  2,  0,  8,  0,255,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,255,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  5,255,  0,255,  0,  0,  0,255,255,  0,  0,255,255, // ฆ,
858          0,  0,  6,  1, 20,  0, 24,  6,  0,  1,  3,  0,  0,  0,  0,  0,255,255,  0, 22,  0,  0,  0,  5,  4,  2,  0,  0,  0,  6,  0,  0,  7, 39, 53,  0, 41, 56,  0,  0, 20,  4,  0,254,  0,255,  1,167,254,  4,100,  0, 46,  0, 55, 34,  0, 26,  1,  2,255,  1,  0, 20,254,254,  2,  1,  1,  0,255,  0, // ง,
859          4,  0,  9,  1,  3,  0, 74, 23,  0,  1,  0,255,  9,  0,  0,  0,  0,  0,  0,  4,  1,  0,  0,  0, 14,  2,  1,  0,  0,  2,  0,  0,  5,  3,  7,  0,  4,  5,  4,  0,  1,  0,  0,  4,  0,  0, 14,  9, 32,  1, 17,  3,  0,  0,  5,  4,  0,137, 10, 15, 31,  0,  0, 44, 24, 23,  0,  0, 15,  0,255,  0, // จ,
860          0,255,  1,  0,  0,  0,  5,  4,  0,  0,  0,255,  0,255,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,255,  0,  0,  1,  0,  0,  0,255,255,  0,  0,  0, 47,  1,  3,255,  0,  0,  0,  1,  0,  0,  0,  1,255,255,255, // ฉ,
861          3,  0,  8,  0, 11,  0,139,  1,  0, 17,  1,  0, 32,  0,  0,  0,  0,  0,  0,  8,  3,  0,  1,  0, 31,  5,  1,  0,  0,  7,  0,  0, 18, 22,  8,  0,  7,  7,  0,  0,  1,  0,  0, 10,  0,  0, 31, 16,141,  2, 33, 15,  0,  3, 11, 13,  0,208, 45, 22,170, 11,  0,  2, 21, 32,  0,  0, 29,  0,255,  0, // ช,
862          2,  0, 16,  0,  6,  0, 47,  0,  0,  3,  5,  0,  0,  0,  0,  0,255,  0,  0,  2,  2,  0,  1,  0, 13,  2,  2,255,255,  0,  2,255,  3,  2,  4,255,  3,  2,  0,  0,  6,  0,255,  5,  0,  0,  4,  0, 16, 10,  7,  9,  0,  0,  4,  9,  0,178, 19, 44,  0, 40,  0,  0, 14,  4,  0,  0, 19,255,255,255, // ซ,
863          0,255,  0,255,  0,255,  0,  0,255,  2,255,255,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  1,  0,  0,255,  0,255,255,  0,  0,255,255,  0,255,255,255, // ฌ,
864          0,255,  0,  0,  0,255,  3,  1,255, 13,  0,  0, 83,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  1,  1,  0,  0,255,  1,  0,  0,  0,  4,  0,  0,  0,  0,  1,  0,  0, 37,  0,  1,255,255,  0, 48,  7,  0, 16,  0,  0,  0, 44, 11,  0,  0,  0,  1,  0,  0,255,  3,  1,  0,  0,  0,  2,  0,255,255, // ญ,
865          0,255, 11,255,  0,  0,  0,255,255,  0,255,255,255,  0,255,  0,255,255,  0,255,  0,255,  0,  0,  0,  0,  0,255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0, 11,  0,  0,255,  0,  0,255,  0,  0,  0,  0,  0,  0,255,255,  7,  0,  0,  0,255,  0,255,255,255,255,  0,  0,255,255,  0,  0,255,255, // ฎ,
866          0,255,  4,255,  0,  0,  0,  0,255,  0,255,255,  0,255,  0,  0,255,255,  0,255,  0,255,  0,255,  0,  0,  9,  0,255,  0,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,  2,  1,255,  0,  0,255,255,  2,  0,  0,  0,255,  0,255,255,255,255,  0,255,255,255,  0,255,255,255, // ฏ,
867          0,255,  0,  0,  0,255,  0,  0,255,  0,255,255,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,255,  0,255,255,  0, 11,  0,  0,  0,  0,255,255,  0,  0,  0,  0,255,  0,255,255,255,  0,  0,  0,255,255,  0,  0,255,255, // ฐ,
868          0,255,  0,255,  0,255,  0,  0,255,  0,255,255,  0,255,255,  0,  0,  0,  2,  0,  0,255,  0,255,  0,  0,255,255,255,  0,255,  0,  0,  0,  0,255,  0,  0,255,  0,255,255,255,  0,255,255,  0,  0,  0,255,  0,  0,255,255,  0,  0,  0,  0,255,  0,255,255,255,255,255,255,255,255,  0,255,255,255, // ฑ,
869          0,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,  0,  0,255,255,255,255,255,  0,255,255,255,255,  0,  0,  0,  0,255,255,255,255,255,255,255,255,255,  4,  0,255,  0,  0,255,255,  2,  0,  0,  0,255,  0,255,255,255,255,255,255,255,255,  0,  0,255,255, // ฒ,
870          0,255,  0,  2, 16,  0,  0,  0,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  1,  0, 10,  0,  0,  1,  0,  3,  0,  0,255,  0,255,255,  0,  2,  6,  0,  0,  0,255,255, 11,  0,  0,  0,255,  0,255,255,255,255,  0,  0,255,255,  0,  0,255,255, // ณ,
871          2,  0,  3,  0,  4,  0, 15,  1,  0,  2,  1,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 12,  2,  1,  0,  0,  0,  0,  0,  3,  2,  5,  3,  3, 17,  0,  0,  7,  0,  0, 11,  0,  0,  5, 26, 11,  1, 21,  2,  0,  0, 32,  7,  0, 75,  9, 54,  2, 75,  0,  8,  4,  5,  0,  0, 10,  0,255,  0, // ด,
872          4,  0,  6,  7,  8,  0, 32,  1,  0,  2,  7,  0,  0,  0,  1,  0,  0,  0,  0,  2,  2,  0,  0,  0, 19,  1,  1,  0,  0,  0,  0,  0,  4,  2,  4,  0,  2,  1,  1,  0, 14,  4,  0,  7,  0,  0,  4, 16, 17,  1, 18,  3,  0,  0, 27,  6,  0, 36, 34, 12,  9,  5,  0,  5, 11,  6,  0,  0, 14,  0,255,  0, // ต,
873          1,  0,  0,  0,  0,255,  7,  0,  0,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  1,  0,  0,255,255,  0,  0,  0,  0,  0,  6,  0,  0,  0,  0,  0,  9,  0,  0,  0,  0,  0,  1,  0,  1,  0,  2,  0,  0,  0,  0,  0,  0,  1,  3,  0,255,  0,  0,  0,  3,  3,  0,  0,  0,255,255,255, // ถ,
874          4,  0,  4,  1,  3,  0, 50,  1,  0,  5,  0,  0,  2,  0,  0,  0,  0,  0,  0,  3,  0,  0,  0,  0, 32,  8,  2,  0,  0,  2,  0,  1,  5,  4,  6,  0,  3,  2,  0,  1,  1,  0,  0,  3,  0,  0,  8,  3, 13,  1, 16,  3,  0,  0, 18,  2,  0, 83, 12, 15,  0, 37,  0,  1, 13,  9,  0,  0, 23,  0,255,  0, // ท,
875          1,255,  0,  0,  0,  0,  2,  0,255,  1,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  0,  6,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  3,  0,255,  2,  0,  5,  0,  3,  0,  0,  0,  4,  0,  0, 11,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  2,  0,255,255, // ธ,
876          4,  0,  4,  7, 41,  0, 24, 11,  0, 43,  9,  0,  0,  0,  0,  0,  0,  3,  0,  6,  3,  1,  3,  1, 10,  3,  1,  1,  0,  1,  0,  0,  9, 30,  3,  0,  5, 14,  2,  0, 10, 32,  0, 41,  0,  0,  5, 69, 60,  8, 35,  9,  0,  2, 20, 10,  0, 38, 13, 14,150,  5,  0,124, 80, 92,  0,  0, 10,  0,255,  0, // น,
877          3,  0,  1,  1,  2,  0, 15,  2,  5,  5,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  1,  0,  5, 10,  0,  0,  0,  2,  0,  0,  2,  2,  4,  0,  4,  1,  1,  0,  1,  0,  0, 15,  0,  0,  7, 48,  8,  5,  7,  2,  0,  1, 12,  1,  0, 30, 33,  8,  3,  1,  0, 10,  5,  4,  0,  0,  9,  0,255,  0, // บ,
878          5,  0,  1,  0,  3,  0, 29,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, 10,  2,  0,  0,255,  0,  0,  0,  5,  1,  5,  0,  2,  0,  0,  0,  1,  0,  0,  3,  0,  0,  3,  1,  4,  1,  3,  2,  0,  0,  6, 11,  0,163,  8, 11,  0, 45,  0,  0, 15,  6,  0,  0,  6,  0,255,255, // ป,
879          2,  0,  0,  0,  0,255,  7,  0,  0,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  2,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  1,  0,  1,  0,  0,  1,  0,255,  2,  0,  0,  4,  8,  0,  0,  0,  0,  0,  3,  2,  0,  0,  0,255,255,255, // ผ,
880          0,  0,  0,  0,  0,  0,  2,  0,255,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,255,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,255,255,255, // ฝ,
881          9,  0,  1,  0,  1,  0, 23,  7,  5,  2,  0,  0,  1,  0,  0,  0,  0,  0,  0,  1,  0,  0,  2,  0,  6,  1,  0,255,255,  0,  0,  0,  6,  2,  4,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,  4,  4, 20,  1,  5,  4,  0,  0,  3,  1,  0, 63, 11,  4,  0,  3,  0,  0,  6,  4,  0,  0,  4,  0,255,  0, // พ,
882          1,  0,  0,  0,  0,  0,  2,  0,  0,  0,  1,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  1,  0,  0,255,255,  0,  1,255,  0,  0,  2,255,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  0,  0,  1,  0,  1,  0,  0,  0,  0,  2,  0,  7,  4,  1,  0, 29,  0,  0,  0,  0,  0,  0,  3,255,255,  0, // ฟ,
883          2,  0,  0,  0,  0,  0,  5,  0,255,  1,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  0,  0,255,255,  0,  0,  0,  2,  1,  0,  0,  0,  0,  0,  1,  3,  0,  0,  1,255,  0,  0,  0,  3,  0,  1,  0,255,  0,  2,  0,  0, 15,  0,  0,  0,  0,  0,  0,  1,  2,255,255,  1,255,255,  0, // ภ,
884          5,  0,  5,  1, 63,  0, 29,  3,  0, 17,  3,  0,  1,  0,  0,  2,  0,  0,  0,  2,  0,  0,  0,  0,  7,  1,  0,  0,  0,  1,  0,  0,  4,  7, 17,  0,  2,  7,  0,  0, 18, 59,  0, 21,  0,  0,  8,  6, 52,  1, 12,  6,  0,  0, 22,  9,  0, 82, 27, 21,  0, 43,  0,  8, 59, 21,  0,  0, 10,  0,  0,  0, // ม,
885          1,  0,  1,  1,  6,  0, 10,  0,  0,  6,  1,  0,  1,  0,  0,  0,  0,  0,  0, 13,  2,  0, 18,  1,  5,  0,  1,  0,  0,  5,  0,  0,  1,  1,  3,255,  4, 13,  0,  1,  1,  2,  0, 27,  0,  0,  4, 16, 74,  0,  7, 61,  0,  0,  6,  0,  0, 16,  5,  8,  0,  0,  0,  1, 50,  8,  0,  0,  3,  0,  0,  0, // ย,
886          6,  0, 35,  0,148,  0, 29,  9,  0,  7,  1,  0,  1,  5,  0,  0,  0,  0,  1,  4, 27,  0, 14,  5,  8, 14, 42,  0,  1, 32,  2,  1,  8,  5, 23,  0,  1,  8,  4,  1, 16, 14,  0, 33,  0,  0,  8,  0,121,  3,  8,  5,  0,  0, 20, 14,  0, 85, 17, 40,  0,  8,  0,  0,  8, 18,  0,  0,  7,  0,  0,  0, // ร,
887          0,255,  3,  0,  0,  0,  0,  0,255,  0,255,255,  0,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  3,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,255,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,255,255,255,255,255,255,255,  0,  0,255,255,  0,255,255,255, // ฤ,
888          2,  0, 19,  1, 40,  0, 15,  1,  5,  5,  6,  0,  3,  0,  0,  0,  0,  0,  0,  2,  1,  0,  0,  0,  3,  6, 14,  5,  0, 10,  6,  0,  2,  2,  1,255,  3,  5,  0,  0,  2, 26,  0, 19,  0,  0,  2,  9, 20,  2, 12,  2,  0,  0, 17, 25,  0, 73,127, 25,  0,  5,  0,  0,  4,  2,  0,  0,  7,  0,  0,  0, // ล,
889          4,  0,  8,  4, 80,  0, 23,  1,  0, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  0,  1,  0, 12,  2,  0,  0,  0,  1,  0,  0, 18,  8,  9,  0,  4,  0,  1,  0,  5, 12,  0,  5,  0,  0,  8, 16, 32,  1,  8,  7,  0,  0,  4,  1,  0, 48,  3,  1,  0,  8,  0,  2, 60, 50,  0,  1,  4,  0,  0,  0, // ว,
890          6,  0,  0,  0,  0,  0, 23,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 12,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  1,  3,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3,  9,  0,  5,  0,  0,  0,  1,  0,  0, 12,255,  0,255,  0,  0,  0,  0,  0,  0,255,  3,  0,255,255, // ศ,
891          0,255, 16,  0,  0,  1,  4,  0,255,  0,255,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,  0,  1,  0,  3,  5,  0,  0,  1,  0,  0,  0,255,  0,255,255,  0,  0,  9,255,  4,  0,  0,255,  6,  0,  0,  1,255,  0,255,  0,255,255,  0,  0,255,255,  0,  0,255,  0, // ษ,
892          9,  0,  8,  4,  4,  0, 75,  3,  0, 12,  1,  0,  1,  0,  0,  0,  0,  0,  1,  5,  2,  0,  1,  0, 19,  5,  1,  0,  0,  0,  0,  0, 12,  6,  9,  0,  3,  2,  2,  0,  1,  0,  0, 13,  0,  0, 11,  9, 26,  1, 16,  7,  0,  0,  8,  2,  0, 55, 26,  2,  3,  0,  0,  1, 29, 16,  0,  0, 19,  0,255,  0, // ส,
893          7,  0,  2,  0,  1,  0, 77,  2,  0,  0,  0,255,  4,  4,  0,  0,  0,  0,  0, 21,  0,  0,  2,  0,  9,  2,  0,  0,255,  0,  0,  0, 13,  3,  2,  0,  1,  2,  0,  0,  5,  0,  0,  4,  0,  0,  8,  0, 12,  7,  3,  1,  0,  0,  2,  4,  0, 62, 60,  4, 82,  6,  0,  0, 11, 10,  0,  0,  3,  0,  0,  0, // ห,
894          0,255,  0,  0,255,255,255,  0,  0,  0,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,  0,255,255,255,255,255,255,255,  0,  0,  0,255,255,  0,255,255,  0,  0,255,  0,255,255,255,  0,  0,255,  0,  5,255,255,  2,  0,255,  0,255,  0,255,255,255,255,  0,255,  0,255,255,255,255,255, // ฬ,
895          8,  0, 13, 98, 32,  0, 68, 12,  0, 23, 18,  0,  1,  0,  0,  1,  0,  0,  0, 10, 10,  0,  6,  4, 20, 17,  3,  0,  0,  2,  2,  4,  9,  9, 21,255, 11,  8,  1,  0,  7,  1,  0, 21,  2,  0,  9,  0, 10,  4,  2,  5,  0, 57,  0,  2,  0, 84, 22, 36,  0,  8,  0, 19,254,144,  1,  1, 11,  0,255,  0, // อ,
896          0,  0,  0,  0,  0,255,  2,  0,255,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,  1,  0,  0,  0,  0,255,  0,  0,  0,  8,  3,  4,255,  3,  0,  0,  0,  0,  0,  0,  1,255,255,255, // ฮ,
897          0,  0,  0,  0,  0,255,  0,  0,255,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,  0,  0,255,  0,  0,  0,  0,255,255,  0,  0,  0,255,255,  0,255,255,255,  0,  0,  0,255,255,  0,  0,255,255, // ฯ,
898          0,255,  3,  0,  8,  0,  2, 33,  1,  2,  3,  0,  0,  0,  0,  0,  0,  0,  7,  0,  5,  0,  2,  0,  7,  0,  1,  0,255,  0,  0,  0,  3,  3, 93,255, 44,  1,  0,  0,  3,  0,  0,  5,  0,  0,  0,  0,  8,  0,  0,  0,255,255,  0,255,255,  0,255,  0,255,255,255,  0,  0,  0,  1,  0,  0,255,255,255, // ะ,
899          0,255, 33, 13, 29,  0,  0, 54,  5, 48, 13,  0,  3,  0,  0,  0,  0,  0,  0, 12, 23,  1, 18,  2, 29, 17,  7,  0,  1, 11,  1,  3, 12,  8, 50,255, 26, 39,  4,  4, 21,  6,  0, 22,  2,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,255,255,255,255,255,255,255,  0,  0,255,255,255,255,255,  0, // ั,
900          0,  0, 97, 28, 43,  1, 47, 62,  8,139, 31,  0, 33,  9,  0,  3,  0,  0,  3, 11, 15,  8, 23,  5, 41, 17,  5,  0,  0,  6,  1, 34, 49, 29, 63,  0, 28, 30, 10, 18, 31, 30,  6, 33,  3,255,  0,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,255,255,255,255,255,  0,224,254,  1,  0,  0,  0,255,  0, // า,
901          0,255,  5,  0, 35,255,  0, 21,  0,  1,  0,255,255,255,255,255,255,255,  0,  2,  8,  0, 10,  0,  4,  0,  0,  0,255,  0,  0,255,  0,  0,  0,255,  3,  0,255,255, 10,  0,255,  7,  0,255,  0,  0,  0,  0,255,255,255,255,255,  0,255,  0,255,255,255,  0,255,255,  3, 33,  0,  0,  0,255,255,  0, // ำ,
902          0,255, 20,  0, 22,  0,  8, 20,  2, 65, 34,  0, 17,  0, 12,  0,  1,  0,  1, 15, 28,  1,  5, 14, 18,  6,  7,  1,  0, 14,  2,  1, 14,  3, 35,  0, 18, 32,  4,  0, 20,  2,  0, 23,  2,255,  0,  0,  0,255,  0,  0,255,  0,255,  0,  0,  0,255,255,255,255,255,  0,  0,  0,255,255,  0,255,255,  0, // ิ,
903          0,255, 10,  7,  9,  0,  0, 12,  4, 56, 51,  0, 15,  3,  0,  0,  0,  0,  1, 19,  4,  0, 86,  2, 23,  5, 18,  0,  0,  6,  1,  0, 34,  3, 37,255, 23,  7,  0,  0, 16,  0,  0,  9,  0,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,  0,  0,255,255,255,255,255,255,  0,  0,255,255,  0,255,255,  0, // ี,
904          0,255,  0, 17,  0,255,  0,  9,  0,  0, 44,  0,  0,  0,  0,255,255,255,  0,  0,  0,  6,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  5,255,  1,  0,255,  0,  0,255,255,255,255,255,  0,  0,  0,255,  0,255,255,255,255,255,255,255,255,255,  0,  0,255,255,255,255,255,255, // ึ,
905          0,255,  0,  0, 29,255,  0,  0,  0, 66,  3,  0,  0,255,  0,255,255,  0,  0,  2,  0,  1,  0,  0,  6,  0,  0,  0,  0,  9,  0,255, 18,  1, 19,255,  7,  0,  0,  0,  6,  0,  0,  6,  0,255,255,255,  0,255,  0,255,255,  0,255,255,255,  0,255,255,255,255,255,255,  0,  0,255,255,  0,255,255,  0, // ื,
906          0,255, 20,  9, 88,  0,  1, 45,  1, 55, 17,  0,  0,  0,  0,  0,  0,255,  1,  4, 25,  6, 11,  7, 22, 29, 10,  0,  0,  8, 19,  0, 12, 28, 29,255, 17,  4,  1,  0, 53,  3,  0, 22,  1,255,255,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,  0, // ุ,
907          0,255,  6,  0, 37,  0,  3,  9,  0, 15, 28,  1,  1,  0,  0,  0,  0,255,  0, 26,  8, 15,  3,  0,  4,  7,  2, 48,  0,  7,  2, 10, 77, 38, 26,  0, 13,  1,  3,  0, 26,  1,255,  4,  0,255,255,255,255,255,255,255,255,255,  0,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  0, // ู,
908          0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255, // ฺ,
909         20,  0, 41,  1, 31,  0,254, 12,  0, 16, 23,  0, 12,  1,  1,  1,  0,  0,  1, 30, 10,  2,  7,  1,110, 23,  9,  0,  0,  4,  4,  0, 52, 35, 41,  0, 29, 20,  5,  0, 30,  0,  0, 67,  2,  0,130,  0, 84, 35, 40, 50,  0,  0, 20, 56,  0,  0,  0,  0,  0,  0,  0,  8,138,119,  0,  0,142,  0,255,  0, // เ,
910         10,  0, 19,  0,  9,  0,170,  5,  0,  3,  2,  0,  4,  0,  0,  0,  0,  0,  0,  9,  3,  0,  2,  0, 36,  8,  6,  0,  0,  1,  0,  0, 12, 13, 20,255,  6,  5,  1,  0,  6,  0,  0,  9,  0,  0, 16,  0, 26, 16,  4, 13,  0,  0,  2, 11,  0,  0,  0,  0,255,  0,  0,  1, 52, 49,  0,  0, 68,  0,255,  0, // แ,
911          6,  0,  7,  0, 29,  0, 72,  3,  0,  9, 11,  0,  2,  0,  0,  0,  0,  0,  0,  4,  3,  0,  2,  0, 27,  5,  2,  0,255,  1,  0,  0,  9,  8,  8,  0,  8,  6,  1,  0, 20,  0,  0,  8,  1,  0, 12,  0, 22,  2, 21, 13,  0,  0, 26, 14,  1,  0,  0,  0,255,  0,  0,  0, 11, 10,  0,  0, 33,  0,255,  0, // โ,
912          3,  0,  9,  0,  4,  0,114,  4,  0,  1,  0,  0,  6,  0,  2,  0,  0,  0,  0, 10,  3,  1,  0,  0, 27,  5,  2,  0,255,  1,  0,  0,  7, 16, 10,255,  6,  5,  2,  0,  1,  0,  0,  9,  0,  0,  8,  0, 22, 14,  3,  7,  0,  0,  2,  3,  0,  0,255,255,  0,  0,  0,  1, 55, 53,  0,  0, 24,255,255,  0, // ใ,
913          5,  0,  8,  0,  4,  0,116,  3,  0,  3,  1,  0,  1,  1,  0,  0,  0,  0,  0,  5,  1,  4,  0,  0, 28, 10,  3,  0,255,  0,  0,  0,  6,  9,  5,255,  3,  9,  8,  0,  3,  0,  0, 10,  0,  0, 15,  0, 23,  5,  5,  4,  0,  0,  9, 15,  0,  0,255,255,255,  0,  0, 12, 51, 30,  0,  0, 34,  0,255,  0, // ไ,
914          0,255,  0,255,  0,255, 12,255,255,255,255,255,  0,255,255,255,255,255,  0,  0,  0,  0,  0,  0,  2,  0,  0,255,255,  0,255,255,  0,  0,  0,255,  0,  0,255,  0,  0,255,255,  0,255,255,  0,255,  0,  0,  0,  0,255,255,  0,  0,255,255,255,255,255,255,  0,255,  0,  0,  0,  0,  0,255,255,255, // ๆ,
915          0,255, 25,  6,  4,  0,  0,  7,  0,  7, 21,  0,  0,  0,  0,255,255,255,  0, 16,  5,  0,  2,  0,  2,  1,112,  0,  0,  1,  0,  0,  3,  2, 11,255, 12,  6,  0,255,  0,  7,255, 13,  0,255,255,255,255,255,  0,255,255,255,255,  0,  0,  0,255,255,255,255,255,  0,255,255,255,255,255,255,255,255, // ็,
916          0,  0, 28, 36, 44,  5,  7,  4,  0,166, 14,255, 53,255,255,255,255,  0,  0,  3, 64,  4, 15,  0, 19,  8,  5, 12,  4,  4,  1,  0, 69, 28, 23,255, 45, 56,  0,255, 35, 40,  0,  6,  1,255,  0, 35,  0,  0, 43,254, 46,156,119,254,  0,  0,  0,255,  0,  0,255,  0,  0,  0,  0,255,  0,  0,255,  0, // ่,
917          0,  0, 17,126, 42,  0,  0, 91,  0,177, 69,  0,  2,255,255,255,255,255,255,105, 38,  4, 11,  0, 56, 12,  6,  1,  0,  3,  8,  0, 10,  7, 40,255, 32, 11,  0,  0,  7, 61,255, 26,  0,255,  0,125,  0,  0, 14, 49, 25, 28, 16,211,255,  0,  0,  0,  0,  0,255,  0,  0,  0,255,255,255,  0,255,  0, // ้,
918          0,255,  2,  0,  0,255,  0,  2,255,  0,  0,255,  0,  0,255,255,255,255,  0,  0,  0,255,  0,  0,  0,  0,  0,255,255,  0,  0,255,  0,  0,  0,255,  0,  0,255,255,  0,  0,255,  0,  0,255,255,  0,255,255,  1,  0,  0,  0,  6,  1,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255, // ๊,
919          0,255,  0,  0,  0,  0,255,  1,255,  0,  0,255,  0,255,255,255,255,255,255,  0,  0,255,255,255,  0,  0,  0,  0,255,255,255,255,  0,  0,  0,255,  0,  0,255,255,  0,  0,255,  0,  0,255,255,  0,255,255,  0,  1,  0,  0,  0,  1,  0,255,255,255,255,255,255,  0,  0,255,255,255,255,255,255,255, // ๋,
920          0,  0,  6,  1,105,  5,  0,  2,  0,  9, 44,  0,  3,  0,  0,  1,  2,  0, 24, 19, 28,  1, 11, 12, 24,  0,  8,255,255,  4,  1,  0,  2, 46,168,255, 28,  8, 13, 10, 39, 14,255,  0,  1,255,  0,255,255,255, 21,  0,255,  0, 14,  0,  0,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,255, // ์,
921          0,255,  0,  0,  0,255,255,  0,255,  0,  0,255,  0,  0,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,  0,255,255,  0,  0,  0,255,  0,  0,  0,  0,  0,  0,255,  0,255,255,255,255,255,255,  0,255,255,255,  0,255,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255, // ํ,
922          0,255,  0,255,255,255,255,255,255,255,255,255,  0,255,255,255,255,255,255,255,  0,255,255,255,255,255,  0,255,255,  0,255,255,255,255,255,255,  0,255,255,255,  0,  0,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // ๎,
923          0,  0,  0,  0,  0,255,  0,255,255,255,255,255,255,255,255,255,255,255,255,  0,255,255,  0,255,  0,  0,255,255,255,  0,255,255,  0,  0,  0,  0,  0,  0,  0,255,  0,  0,255,  0,255,255,  0,  0,  0,  0,  0,  0,255,255,255,  0,255,  0,  0,  0,  0,255,255,255,  0,  0,255,255,  0,255,255,  0, // ๅ,
924      //   ,  a,  ก,  ข,  ค,  ฆ,  ง,  จ,  ฉ,  ช,  ซ,  ฌ,  ญ,  ฎ,  ฏ,  ฐ,  ฑ,  ฒ,  ณ,  ด,  ต,  ถ,  ท,  ธ,  น,  บ,  ป,  ผ,  ฝ,  พ,  ฟ,  ภ,  ม,  ย,  ร,  ฤ,  ล,  ว,  ศ,  ษ,  ส,  ห,  ฬ,  อ,  ฮ,  ฯ,  ะ,  ั,  า,  ำ,  ิ,  ี,  ึ,  ื,  ุ,  ู,  ฺ,  เ,  แ,  โ,  ใ,  ไ,  ๆ,  ็,  ่,  ้,  ๊,  ๋,  ์,  ํ,  ๎,  ๅ,
925    ],
926};
927
928const VIETNAMESE_ASCII: usize = 27;
929const VIETNAMESE_NON_ASCII: usize = 25;
930const CENTRAL_ASCII: usize = 27;
931const CENTRAL_NON_ASCII: usize = 41;
932const CYRILLIC_ASCII: usize = 2;
933const CYRILLIC_NON_ASCII: usize = 44;
934const WESTERN_ASCII: usize = 27;
935const WESTERN_NON_ASCII: usize = 32;
936const ICELANDIC_ASCII: usize = 27;
937const ICELANDIC_NON_ASCII: usize = 13;
938const GREEK_ASCII: usize = 2;
939const GREEK_NON_ASCII: usize = 35;
940const TURKISH_ASCII: usize = 26;
941const TURKISH_NON_ASCII: usize = 13;
942const HEBREW_ASCII: usize = 2;
943const HEBREW_NON_ASCII: usize = 34;
944const ARABIC_ASCII: usize = 2;
945const ARABIC_NON_ASCII: usize = 51;
946const BALTIC_ASCII: usize = 27;
947const BALTIC_NON_ASCII: usize = 19;
948const THAI_ASCII: usize = 2;
949const THAI_NON_ASCII: usize = 70;
950#[inline(always)]
951fn compute_index(
952    x: usize,
953    y: usize,
954    ascii_classes: usize,
955    non_ascii_classes: usize,
956) -> Option<usize> {
957    if x == 0 && y == 0 {
958        return None;
959    }
960    if x < ascii_classes && y < ascii_classes {
961        return None;
962    }
963    if y >= ascii_classes {
964        return Some(
965            (ascii_classes * non_ascii_classes)
966                + (ascii_classes + non_ascii_classes) * (y - ascii_classes)
967                + x,
968        );
969    }
970    Some(y * non_ascii_classes + x - ascii_classes)
971}
972
973pub struct SingleByteData {
974    pub encoding: &'static Encoding,
975    lower: &'static [u8; 128],
976    upper: &'static [u8; 128],
977    probabilities: &'static [u8],
978    ascii: usize,
979    non_ascii: usize,
980}
981
982impl SingleByteData {
983    #[inline(always)]
984    pub fn classify(&'static self, byte: u8) -> u8 {
985        let high = byte >> 7;
986        let low = byte & 0x7F;
987        if high == 0u8 {
988            self.lower[usize::from(low)]
989        } else {
990            self.upper[usize::from(low)]
991        }
992    }
993
994    #[inline(always)]
995    pub fn is_latin_alphabetic(&'static self, caseless_class: u8) -> bool {
996        let caseless_class_usize = usize::from(caseless_class);
997        caseless_class_usize > 0 && caseless_class_usize < (self.ascii + self.non_ascii)
998    }
999
1000    #[inline(always)]
1001    pub fn is_non_latin_alphabetic(
1002        &'static self,
1003        caseless_class: u8,
1004        is_windows_1256: bool,
1005    ) -> bool {
1006        let caseless_class_usize = usize::from(caseless_class);
1007        let lower_bound = if is_windows_1256 {
1008            WINDOWS_1256_ZWNJ
1009        } else {
1010            1
1011        };
1012        caseless_class_usize > lower_bound && caseless_class_usize < (self.ascii + self.non_ascii)
1013    }
1014
1015    #[inline(always)]
1016    pub fn score(
1017        &'static self,
1018        current_class: u8,
1019        previous_class: u8,
1020        is_windows_1256: bool,
1021    ) -> i64 {
1022        let current_usize = usize::from(current_class);
1023        let previous_usize = usize::from(previous_class);
1024        let stored_boundary = self.ascii + self.non_ascii;
1025        if current_usize < stored_boundary {
1026            if previous_usize < stored_boundary {
1027                // Both below
1028                if let Some(index) =
1029                    compute_index(previous_usize, current_usize, self.ascii, self.non_ascii)
1030                {
1031                    let b = self.probabilities[index];
1032                    if b == 255 {
1033                        IMPLAUSIBILITY_PENALTY
1034                    } else {
1035                        i64::from(b)
1036                    }
1037                } else {
1038                    0
1039                }
1040            } else {
1041                // I tried factoring the tail of this function out into an
1042                // #[inline(never)] function, but it had no binary size effect
1043                // in a Rust toy app and made the binary size larger in Firefox
1044                // in Linux x86_64 shippable config.
1045
1046                // Current below stored, prev above
1047                if current_usize == 0
1048                    || current_usize == ASCII_DIGIT
1049                    || (is_windows_1256 && current_usize == WINDOWS_1256_ZWNJ)
1050                {
1051                    // Current is space-like
1052                    0
1053                } else {
1054                    // Current is alphabetic
1055                    let previous_unstored = previous_usize - stored_boundary;
1056                    match previous_unstored {
1057                        PLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE => 0,
1058                        IMPLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE => IMPLAUSIBILITY_PENALTY,
1059                        IMPLAUSIBLE_BEFORE_ALPHABETIC => IMPLAUSIBILITY_PENALTY,
1060                        IMPLAUSIBLE_AFTER_ALPHABETIC => 0,
1061                        PLAUSIBLE_NEXT_TO_NON_ASCII_ALPHABETIC_ON_EITHER_SIDE => {
1062                            if current_usize < self.ascii {
1063                                IMPLAUSIBILITY_PENALTY
1064                            } else {
1065                                0
1066                            }
1067                        }
1068                        PLAUSIBLE_NEXT_TO_ASCII_ALPHABETIC_ON_EITHER_SIDE => {
1069                            if current_usize < self.ascii {
1070                                0
1071                            } else {
1072                                IMPLAUSIBILITY_PENALTY
1073                            }
1074                        }
1075                        _ => {
1076                            debug_assert_eq!(previous_usize, ASCII_DIGIT);
1077                            0
1078                        }
1079                    }
1080                }
1081            }
1082        } else {
1083            if previous_usize < stored_boundary {
1084                // Current above, prev below
1085                if previous_usize == 0
1086                    || previous_usize == ASCII_DIGIT
1087                    || (is_windows_1256 && previous_usize == WINDOWS_1256_ZWNJ)
1088                {
1089                    // Previous is space-like
1090                    0
1091                } else {
1092                    // Current is alphabetic
1093                    let current_unstored = current_usize - stored_boundary;
1094                    match current_unstored {
1095                        PLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE => 0,
1096                        IMPLAUSIBLE_NEXT_TO_ALPHABETIC_ON_EITHER_SIDE => IMPLAUSIBILITY_PENALTY,
1097                        IMPLAUSIBLE_BEFORE_ALPHABETIC => 0,
1098                        IMPLAUSIBLE_AFTER_ALPHABETIC => IMPLAUSIBILITY_PENALTY,
1099                        PLAUSIBLE_NEXT_TO_NON_ASCII_ALPHABETIC_ON_EITHER_SIDE => {
1100                            if previous_usize < self.ascii {
1101                                IMPLAUSIBILITY_PENALTY
1102                            } else {
1103                                0
1104                            }
1105                        }
1106                        PLAUSIBLE_NEXT_TO_ASCII_ALPHABETIC_ON_EITHER_SIDE => {
1107                            if previous_usize < self.ascii {
1108                                0
1109                            } else {
1110                                IMPLAUSIBILITY_PENALTY
1111                            }
1112                        }
1113                        _ => {
1114                            debug_assert_eq!(current_usize, ASCII_DIGIT);
1115                            0
1116                        }
1117                    }
1118                }
1119            } else if current_usize == ASCII_DIGIT || previous_usize == ASCII_DIGIT {
1120                0
1121            } else {
1122                // Both above
1123                IMPLAUSIBILITY_PENALTY
1124            }
1125        }
1126    }
1127}
1128
1129impl PartialEq for SingleByteData {
1130    #[inline]
1131    fn eq(&self, other: &SingleByteData) -> bool {
1132        (self as *const SingleByteData) == (other as *const SingleByteData)
1133    }
1134}
1135
1136pub static SINGLE_BYTE_DATA: [SingleByteData; 20] = [
1137    SingleByteData {
1138        encoding: &WINDOWS_1258_INIT,
1139        lower: &DETECTOR_DATA.latin_ascii,
1140        upper: &DETECTOR_DATA.windows_1258,
1141        probabilities: &DETECTOR_DATA.vietnamese,
1142        ascii: VIETNAMESE_ASCII,
1143        non_ascii: VIETNAMESE_NON_ASCII,
1144    },
1145    SingleByteData {
1146        encoding: &WINDOWS_1250_INIT,
1147        lower: &DETECTOR_DATA.latin_ascii,
1148        upper: &DETECTOR_DATA.windows_1250,
1149        probabilities: &DETECTOR_DATA.central,
1150        ascii: CENTRAL_ASCII,
1151        non_ascii: CENTRAL_NON_ASCII,
1152    },
1153    SingleByteData {
1154        encoding: &ISO_8859_2_INIT,
1155        lower: &DETECTOR_DATA.latin_ascii,
1156        upper: &DETECTOR_DATA.iso_8859_2,
1157        probabilities: &DETECTOR_DATA.central,
1158        ascii: CENTRAL_ASCII,
1159        non_ascii: CENTRAL_NON_ASCII,
1160    },
1161    SingleByteData {
1162        encoding: &WINDOWS_1251_INIT,
1163        lower: &DETECTOR_DATA.non_latin_ascii,
1164        upper: &DETECTOR_DATA.windows_1251,
1165        probabilities: &DETECTOR_DATA.cyrillic,
1166        ascii: CYRILLIC_ASCII,
1167        non_ascii: CYRILLIC_NON_ASCII,
1168    },
1169    SingleByteData {
1170        encoding: &KOI8_U_INIT,
1171        lower: &DETECTOR_DATA.non_latin_ascii,
1172        upper: &DETECTOR_DATA.koi8_u,
1173        probabilities: &DETECTOR_DATA.cyrillic,
1174        ascii: CYRILLIC_ASCII,
1175        non_ascii: CYRILLIC_NON_ASCII,
1176    },
1177    SingleByteData {
1178        encoding: &ISO_8859_5_INIT,
1179        lower: &DETECTOR_DATA.non_latin_ascii,
1180        upper: &DETECTOR_DATA.iso_8859_5,
1181        probabilities: &DETECTOR_DATA.cyrillic,
1182        ascii: CYRILLIC_ASCII,
1183        non_ascii: CYRILLIC_NON_ASCII,
1184    },
1185    SingleByteData {
1186        encoding: &IBM866_INIT,
1187        lower: &DETECTOR_DATA.non_latin_ascii,
1188        upper: &DETECTOR_DATA.ibm866,
1189        probabilities: &DETECTOR_DATA.cyrillic,
1190        ascii: CYRILLIC_ASCII,
1191        non_ascii: CYRILLIC_NON_ASCII,
1192    },
1193    SingleByteData {
1194        encoding: &WINDOWS_1252_INIT,
1195        lower: &DETECTOR_DATA.latin_ascii,
1196        upper: &DETECTOR_DATA.windows_1252,
1197        probabilities: &DETECTOR_DATA.western,
1198        ascii: WESTERN_ASCII,
1199        non_ascii: WESTERN_NON_ASCII,
1200    },
1201    SingleByteData {
1202        encoding: &WINDOWS_1252_INIT,
1203        lower: &DETECTOR_DATA.latin_ascii,
1204        upper: &DETECTOR_DATA.windows_1252_icelandic,
1205        probabilities: &DETECTOR_DATA.icelandic,
1206        ascii: ICELANDIC_ASCII,
1207        non_ascii: ICELANDIC_NON_ASCII,
1208    },
1209    SingleByteData {
1210        encoding: &WINDOWS_1253_INIT,
1211        lower: &DETECTOR_DATA.non_latin_ascii,
1212        upper: &DETECTOR_DATA.windows_1253,
1213        probabilities: &DETECTOR_DATA.greek,
1214        ascii: GREEK_ASCII,
1215        non_ascii: GREEK_NON_ASCII,
1216    },
1217    SingleByteData {
1218        encoding: &ISO_8859_7_INIT,
1219        lower: &DETECTOR_DATA.non_latin_ascii,
1220        upper: &DETECTOR_DATA.iso_8859_7,
1221        probabilities: &DETECTOR_DATA.greek,
1222        ascii: GREEK_ASCII,
1223        non_ascii: GREEK_NON_ASCII,
1224    },
1225    SingleByteData {
1226        encoding: &WINDOWS_1254_INIT,
1227        lower: &DETECTOR_DATA.turkish_ascii,
1228        upper: &DETECTOR_DATA.windows_1254,
1229        probabilities: &DETECTOR_DATA.turkish,
1230        ascii: TURKISH_ASCII,
1231        non_ascii: TURKISH_NON_ASCII,
1232    },
1233    SingleByteData {
1234        encoding: &WINDOWS_1255_INIT,
1235        lower: &DETECTOR_DATA.non_latin_ascii,
1236        upper: &DETECTOR_DATA.windows_1255,
1237        probabilities: &DETECTOR_DATA.hebrew,
1238        ascii: HEBREW_ASCII,
1239        non_ascii: HEBREW_NON_ASCII,
1240    },
1241    SingleByteData {
1242        encoding: &ISO_8859_8_INIT,
1243        lower: &DETECTOR_DATA.non_latin_ascii,
1244        upper: &DETECTOR_DATA.iso_8859_8,
1245        probabilities: &DETECTOR_DATA.hebrew,
1246        ascii: HEBREW_ASCII,
1247        non_ascii: HEBREW_NON_ASCII,
1248    },
1249    SingleByteData {
1250        encoding: &WINDOWS_1256_INIT,
1251        lower: &DETECTOR_DATA.non_latin_ascii,
1252        upper: &DETECTOR_DATA.windows_1256,
1253        probabilities: &DETECTOR_DATA.arabic,
1254        ascii: ARABIC_ASCII,
1255        non_ascii: ARABIC_NON_ASCII,
1256    },
1257    SingleByteData {
1258        encoding: &ISO_8859_6_INIT,
1259        lower: &DETECTOR_DATA.non_latin_ascii,
1260        upper: &DETECTOR_DATA.iso_8859_6,
1261        probabilities: &DETECTOR_DATA.arabic,
1262        ascii: ARABIC_ASCII,
1263        non_ascii: ARABIC_NON_ASCII,
1264    },
1265    SingleByteData {
1266        encoding: &WINDOWS_1257_INIT,
1267        lower: &DETECTOR_DATA.latin_ascii,
1268        upper: &DETECTOR_DATA.windows_1257,
1269        probabilities: &DETECTOR_DATA.baltic,
1270        ascii: BALTIC_ASCII,
1271        non_ascii: BALTIC_NON_ASCII,
1272    },
1273    SingleByteData {
1274        encoding: &ISO_8859_13_INIT,
1275        lower: &DETECTOR_DATA.latin_ascii,
1276        upper: &DETECTOR_DATA.iso_8859_13,
1277        probabilities: &DETECTOR_DATA.baltic,
1278        ascii: BALTIC_ASCII,
1279        non_ascii: BALTIC_NON_ASCII,
1280    },
1281    SingleByteData {
1282        encoding: &ISO_8859_4_INIT,
1283        lower: &DETECTOR_DATA.latin_ascii,
1284        upper: &DETECTOR_DATA.iso_8859_4,
1285        probabilities: &DETECTOR_DATA.baltic,
1286        ascii: BALTIC_ASCII,
1287        non_ascii: BALTIC_NON_ASCII,
1288    },
1289    SingleByteData {
1290        encoding: &WINDOWS_874_INIT,
1291        lower: &DETECTOR_DATA.non_latin_ascii,
1292        upper: &DETECTOR_DATA.windows_874,
1293        probabilities: &DETECTOR_DATA.thai,
1294        ascii: THAI_ASCII,
1295        non_ascii: THAI_NON_ASCII,
1296    },
1297];
1298
1299pub const WINDOWS_1258_INDEX: usize = 0;
1300pub const WINDOWS_1250_INDEX: usize = 1;
1301pub const ISO_8859_2_INDEX: usize = 2;
1302pub const WINDOWS_1251_INDEX: usize = 3;
1303pub const KOI8_U_INDEX: usize = 4;
1304pub const ISO_8859_5_INDEX: usize = 5;
1305pub const IBM866_INDEX: usize = 6;
1306pub const WINDOWS_1252_INDEX: usize = 7;
1307pub const WINDOWS_1252_ICELANDIC_INDEX: usize = 8;
1308pub const WINDOWS_1253_INDEX: usize = 9;
1309pub const ISO_8859_7_INDEX: usize = 10;
1310pub const WINDOWS_1254_INDEX: usize = 11;
1311pub const WINDOWS_1255_INDEX: usize = 12;
1312pub const ISO_8859_8_INDEX: usize = 13;
1313pub const WINDOWS_1256_INDEX: usize = 14;
1314pub const ISO_8859_6_INDEX: usize = 15;
1315pub const WINDOWS_1257_INDEX: usize = 16;
1316pub const ISO_8859_13_INDEX: usize = 17;
1317pub const ISO_8859_4_INDEX: usize = 18;
1318pub const WINDOWS_874_INDEX: usize = 19;