15e338fc1117b6cbd88fd09bd1759fb806973e3d
[services/python-requests.git] / requests / packages / charade / langcyrillicmodel.py
1 ######################## BEGIN LICENSE BLOCK ########################\r
2 # The Original Code is Mozilla Communicator client code.\r
3 #\r
4 # The Initial Developer of the Original Code is\r
5 # Netscape Communications Corporation.\r
6 # Portions created by the Initial Developer are Copyright (C) 1998\r
7 # the Initial Developer. All Rights Reserved.\r
8 #\r
9 # Contributor(s):\r
10 #   Mark Pilgrim - port to Python\r
11 #\r
12 # This library is free software; you can redistribute it and/or\r
13 # modify it under the terms of the GNU Lesser General Public\r
14 # License as published by the Free Software Foundation; either\r
15 # version 2.1 of the License, or (at your option) any later version.\r
16 #\r
17 # This library is distributed in the hope that it will be useful,\r
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of\r
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
20 # Lesser General Public License for more details.\r
21 #\r
22 # You should have received a copy of the GNU Lesser General Public\r
23 # License along with this library; if not, write to the Free Software\r
24 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\r
25 # 02110-1301  USA\r
26 ######################### END LICENSE BLOCK #########################\r
27 \r
28 # KOI8-R language model\r
29 # Character Mapping Table:\r
30 KOI8R_CharToOrderMap = (\r
31 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
32 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
33 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
34 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
35 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
36 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
37 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
38  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
39 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,  # 80\r
40 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,  # 90\r
41 223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237,  # a0\r
42 238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,  # b0\r
43  27,  3, 21, 28, 13,  2, 39, 19, 26,  4, 23, 11,  8, 12,  5,  1,  # c0\r
44  15, 16,  9,  7,  6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54,  # d0\r
45  59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34,  # e0\r
46  35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70,  # f0\r
47 )\r
48 \r
49 win1251_CharToOrderMap = (\r
50 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
51 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
52 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
53 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
54 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
55 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
56 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
57  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
58 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\r
59 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\r
60 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\r
61 239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253,\r
62  37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\r
63  45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\r
64   3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,\r
65   9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,\r
66 )\r
67 \r
68 latin5_CharToOrderMap = (\r
69 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
70 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
71 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
72 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
73 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
74 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
75 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
76  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
77 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\r
78 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\r
79 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\r
80  37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\r
81  45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\r
82   3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,\r
83   9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,\r
84 239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255,\r
85 )\r
86 \r
87 macCyrillic_CharToOrderMap = (\r
88 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
89 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
90 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
91 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
92 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
93 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
94 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
95  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
96  37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\r
97  45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\r
98 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\r
99 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\r
100 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\r
101 239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16,\r
102   3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,\r
103   9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255,\r
104 )\r
105 \r
106 IBM855_CharToOrderMap = (\r
107 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
108 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
109 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
110 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
111 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
112 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
113 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
114  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
115 191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205,\r
116 206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70,\r
117   3, 37, 21, 44, 28, 58, 13, 41,  2, 48, 39, 53, 19, 46,218,219,\r
118 220,221,222,223,224, 26, 55,  4, 42,225,226,227,228, 23, 60,229,\r
119 230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243,\r
120   8, 49, 12, 38,  5, 31,  1, 34, 15,244,245,246,247, 35, 16,248,\r
121  43,  9, 45,  7, 32,  6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249,\r
122 250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255,\r
123 )\r
124 \r
125 IBM866_CharToOrderMap = (\r
126 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255,  # 00\r
127 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,  # 10\r
128 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,  # 20\r
129 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,  # 30\r
130 253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154,  # 40\r
131 155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253,  # 50\r
132 253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69,  # 60\r
133  67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253,  # 70\r
134  37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\r
135  45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\r
136   3, 21, 10, 19, 13,  2, 24, 20,  4, 23, 11,  8, 12,  5,  1, 15,\r
137 191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\r
138 207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\r
139 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\r
140   9,  7,  6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,\r
141 239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255,\r
142 )\r
143 \r
144 # Model Table:\r
145 # total sequences: 100%\r
146 # first 512 sequences: 97.6601%\r
147 # first 1024 sequences: 2.3389%\r
148 # rest  sequences:      0.1237%\r
149 # negative sequences:   0.0009%\r
150 RussianLangModel = (\r
151 0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3,\r
152 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2,\r
153 3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0,\r
154 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
155 3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0,\r
156 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
157 3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,\r
158 0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
159 3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,\r
160 0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
161 3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0,\r
162 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\r
163 3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0,\r
164 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\r
165 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0,\r
166 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,\r
167 3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0,\r
168 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
169 3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0,\r
170 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
171 3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0,\r
172 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\r
173 3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0,\r
174 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
175 3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0,\r
176 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
177 3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0,\r
178 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\r
179 3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0,\r
180 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
181 2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0,\r
182 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
183 3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0,\r
184 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
185 3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0,\r
186 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
187 3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0,\r
188 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
189 3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0,\r
190 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
191 3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0,\r
192 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,0,0,0,0,0,0,0,\r
193 3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0,\r
194 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\r
195 2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0,\r
196 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
197 3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0,\r
198 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
199 3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0,\r
200 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
201 2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0,\r
202 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
203 3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0,\r
204 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\r
205 3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0,\r
206 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
207 3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0,\r
208 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
209 2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
210 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
211 2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1,\r
212 1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,\r
213 2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1,\r
214 1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,\r
215 2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1,\r
216 1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0,\r
217 3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1,\r
218 1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0,\r
219 2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2,\r
220 1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1,\r
221 1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1,\r
222 1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,\r
223 2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1,\r
224 1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,\r
225 3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2,\r
226 1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,\r
227 2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1,\r
228 1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0,\r
229 2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0,\r
230 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
231 2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1,\r
232 1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0,\r
233 1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1,\r
234 1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0,\r
235 3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1,\r
236 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1,\r
237 3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,\r
238 1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,\r
239 1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1,\r
240 0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,\r
241 2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1,\r
242 1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0,\r
243 1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,\r
244 0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\r
245 1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1,\r
246 1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,\r
247 2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2,\r
248 2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,\r
249 1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0,\r
250 1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0,\r
251 2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\r
252 0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,\r
253 1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,\r
254 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,\r
255 2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1,\r
256 1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,\r
257 1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,\r
258 0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\r
259 0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,\r
260 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
261 1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,\r
262 0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\r
263 1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1,\r
264 0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\r
265 1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,\r
266 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\r
267 1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,\r
268 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,\r
269 1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,\r
270 0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,\r
271 2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\r
272 1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,\r
273 2,0,0,0,0,0,0,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,\r
274 1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,\r
275 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\r
276 1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0,\r
277 0,1,1,1,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,\r
278 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,\r
279 )\r
280 \r
281 Koi8rModel = {\r
282   'charToOrderMap': KOI8R_CharToOrderMap,\r
283   'precedenceMatrix': RussianLangModel,\r
284   'mTypicalPositiveRatio': 0.976601,\r
285   'keepEnglishLetter': False,\r
286   'charsetName': "KOI8-R"\r
287 }\r
288 \r
289 Win1251CyrillicModel = {\r
290   'charToOrderMap': win1251_CharToOrderMap,\r
291   'precedenceMatrix': RussianLangModel,\r
292   'mTypicalPositiveRatio': 0.976601,\r
293   'keepEnglishLetter': False,\r
294   'charsetName': "windows-1251"\r
295 }\r
296 \r
297 Latin5CyrillicModel = {\r
298   'charToOrderMap': latin5_CharToOrderMap,\r
299   'precedenceMatrix': RussianLangModel,\r
300   'mTypicalPositiveRatio': 0.976601,\r
301   'keepEnglishLetter': False,\r
302   'charsetName': "ISO-8859-5"\r
303 }\r
304 \r
305 MacCyrillicModel = {\r
306   'charToOrderMap': macCyrillic_CharToOrderMap,\r
307   'precedenceMatrix': RussianLangModel,\r
308   'mTypicalPositiveRatio': 0.976601,\r
309   'keepEnglishLetter': False,\r
310   'charsetName': "MacCyrillic"\r
311 };\r
312 \r
313 Ibm866Model = {\r
314   'charToOrderMap': IBM866_CharToOrderMap,\r
315   'precedenceMatrix': RussianLangModel,\r
316   'mTypicalPositiveRatio': 0.976601,\r
317   'keepEnglishLetter': False,\r
318   'charsetName': "IBM866"\r
319 }\r
320 \r
321 Ibm855Model = {\r
322   'charToOrderMap': IBM855_CharToOrderMap,\r
323   'precedenceMatrix': RussianLangModel,\r
324   'mTypicalPositiveRatio': 0.976601,\r
325   'keepEnglishLetter': False,\r
326   'charsetName': "IBM855"\r
327 }\r
328 \r
329 # flake8: noqa\r