1 // NeL - MMORPG Framework <https://wiki.ryzom.dev/>
2 // Copyright (C) 2020 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include "nel/misc/ucstring.h"
19 #include "nel/misc/utf_string_view.h"
27 static const char s_StringToCaseInsensitiveC2
[64 * 4] = {
28 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
35 '\xCE', '\xBC', '\x00', 0,
36 0, 0, 0, 0, 0, 0, 0, 0,
37 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40 static const char s_StringToCaseInsensitiveC3
[64 * 4] = {
41 '\xC3', '\xA0', '\x00', 0,
42 '\xC3', '\xA1', '\x00', 0,
43 '\xC3', '\xA2', '\x00', 0,
44 '\xC3', '\xA3', '\x00', 0,
45 '\xC3', '\xA4', '\x00', 0,
46 '\xC3', '\xA5', '\x00', 0,
47 '\xC3', '\xA6', '\x00', 0,
48 '\xC3', '\xA7', '\x00', 0,
49 '\xC3', '\xA8', '\x00', 0,
50 '\xC3', '\xA9', '\x00', 0,
51 '\xC3', '\xAA', '\x00', 0,
52 '\xC3', '\xAB', '\x00', 0,
53 '\xC3', '\xAC', '\x00', 0,
54 '\xC3', '\xAD', '\x00', 0,
55 '\xC3', '\xAE', '\x00', 0,
56 '\xC3', '\xAF', '\x00', 0,
57 '\xC3', '\xB0', '\x00', 0,
58 '\xC3', '\xB1', '\x00', 0,
59 '\xC3', '\xB2', '\x00', 0,
60 '\xC3', '\xB3', '\x00', 0,
61 '\xC3', '\xB4', '\x00', 0,
62 '\xC3', '\xB5', '\x00', 0,
63 '\xC3', '\xB6', '\x00', 0,
65 '\xC3', '\xB8', '\x00', 0,
66 '\xC3', '\xB9', '\x00', 0,
67 '\xC3', '\xBA', '\x00', 0,
68 '\xC3', '\xBB', '\x00', 0,
69 '\xC3', '\xBC', '\x00', 0,
70 '\xC3', '\xBD', '\x00', 0,
71 '\xC3', '\xBE', '\x00', 0,
73 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
79 static const char s_StringToCaseInsensitiveC4
[64 * 4] = {
80 '\xC4', '\x81', '\x00', 0,
82 '\xC4', '\x83', '\x00', 0,
84 '\xC4', '\x85', '\x00', 0,
86 '\xC4', '\x87', '\x00', 0,
88 '\xC4', '\x89', '\x00', 0,
90 '\xC4', '\x8B', '\x00', 0,
92 '\xC4', '\x8D', '\x00', 0,
94 '\xC4', '\x8F', '\x00', 0,
96 '\xC4', '\x91', '\x00', 0,
98 '\xC4', '\x93', '\x00', 0,
100 '\xC4', '\x95', '\x00', 0,
102 '\xC4', '\x97', '\x00', 0,
104 '\xC4', '\x99', '\x00', 0,
106 '\xC4', '\x9B', '\x00', 0,
108 '\xC4', '\x9D', '\x00', 0,
110 '\xC4', '\x9F', '\x00', 0,
112 '\xC4', '\xA1', '\x00', 0,
114 '\xC4', '\xA3', '\x00', 0,
116 '\xC4', '\xA5', '\x00', 0,
118 '\xC4', '\xA7', '\x00', 0,
120 '\xC4', '\xA9', '\x00', 0,
122 '\xC4', '\xAB', '\x00', 0,
124 '\xC4', '\xAD', '\x00', 0,
126 '\xC4', '\xAF', '\x00', 0,
128 '\x69', '\x00', '\x00', 0,
129 '\x69', '\x00', '\x00', 0,
130 '\xC4', '\xB3', '\x00', 0,
132 '\xC4', '\xB5', '\x00', 0,
134 '\xC4', '\xB7', '\x00', 0,
137 '\xC4', '\xBA', '\x00', 0,
139 '\xC4', '\xBC', '\x00', 0,
141 '\xC4', '\xBE', '\x00', 0,
143 '\xC5', '\x80', '\x00', 0,
146 static const char s_StringToCaseInsensitiveC5
[64 * 4] = {
148 '\xC5', '\x82', '\x00', 0,
150 '\xC5', '\x84', '\x00', 0,
152 '\xC5', '\x86', '\x00', 0,
154 '\xC5', '\x88', '\x00', 0,
155 0, 0, 0, 0, 0, 0, 0, 0,
156 '\xC5', '\x8B', '\x00', 0,
158 '\xC5', '\x8D', '\x00', 0,
160 '\xC5', '\x8F', '\x00', 0,
162 '\xC5', '\x91', '\x00', 0,
164 '\xC5', '\x93', '\x00', 0,
166 '\xC5', '\x95', '\x00', 0,
168 '\xC5', '\x97', '\x00', 0,
170 '\xC5', '\x99', '\x00', 0,
172 '\xC5', '\x9B', '\x00', 0,
174 '\xC5', '\x9D', '\x00', 0,
176 '\xC5', '\x9F', '\x00', 0,
178 '\xC5', '\xA1', '\x00', 0,
180 '\xC5', '\xA3', '\x00', 0,
182 '\xC5', '\xA5', '\x00', 0,
184 '\xC5', '\xA7', '\x00', 0,
186 '\xC5', '\xA9', '\x00', 0,
188 '\xC5', '\xAB', '\x00', 0,
190 '\xC5', '\xAD', '\x00', 0,
192 '\xC5', '\xAF', '\x00', 0,
194 '\xC5', '\xB1', '\x00', 0,
196 '\xC5', '\xB3', '\x00', 0,
198 '\xC5', '\xB5', '\x00', 0,
200 '\xC5', '\xB7', '\x00', 0,
202 '\xC3', '\xBF', '\x00', 0,
203 '\xC5', '\xBA', '\x00', 0,
205 '\xC5', '\xBC', '\x00', 0,
207 '\xC5', '\xBE', '\x00', 0,
209 '\x73', '\x00', '\x00', 0,
212 static const char s_StringToCaseInsensitiveC6
[64 * 4] = {
214 '\xC9', '\x93', '\x00', 0,
215 '\xC6', '\x83', '\x00', 0,
217 '\xC6', '\x85', '\x00', 0,
219 '\xC9', '\x94', '\x00', 0,
220 '\xC6', '\x88', '\x00', 0,
222 '\xC9', '\x96', '\x00', 0,
223 '\xC9', '\x97', '\x00', 0,
224 '\xC6', '\x8C', '\x00', 0,
225 0, 0, 0, 0, 0, 0, 0, 0,
226 '\xC7', '\x9D', '\x00', 0,
227 '\xC9', '\x99', '\x00', 0,
228 '\xC9', '\x9B', '\x00', 0,
229 '\xC6', '\x92', '\x00', 0,
231 '\xC9', '\xA0', '\x00', 0,
232 '\xC9', '\xA3', '\x00', 0,
234 '\xC9', '\xA9', '\x00', 0,
235 '\xC9', '\xA8', '\x00', 0,
236 '\xC6', '\x99', '\x00', 0,
237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238 '\xC9', '\xAF', '\x00', 0,
239 '\xC9', '\xB2', '\x00', 0,
241 '\xC9', '\xB5', '\x00', 0,
242 '\xC6', '\xA1', '\x00', 0,
244 '\xC6', '\xA3', '\x00', 0,
246 '\xC6', '\xA5', '\x00', 0,
248 '\xCA', '\x80', '\x00', 0,
249 '\xC6', '\xA8', '\x00', 0,
251 '\xCA', '\x83', '\x00', 0,
252 0, 0, 0, 0, 0, 0, 0, 0,
253 '\xC6', '\xAD', '\x00', 0,
255 '\xCA', '\x88', '\x00', 0,
256 '\xC6', '\xB0', '\x00', 0,
258 '\xCA', '\x8A', '\x00', 0,
259 '\xCA', '\x8B', '\x00', 0,
260 '\xC6', '\xB4', '\x00', 0,
262 '\xC6', '\xB6', '\x00', 0,
264 '\xCA', '\x92', '\x00', 0,
265 '\xC6', '\xB9', '\x00', 0,
266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
267 '\xC6', '\xBD', '\x00', 0,
268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
271 static const char s_StringToCaseInsensitiveC7
[64 * 4] = {
272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
273 '\xC7', '\x86', '\x00', 0,
274 '\xC7', '\x86', '\x00', 0,
276 '\xC7', '\x89', '\x00', 0,
277 '\xC7', '\x89', '\x00', 0,
279 '\xC7', '\x8C', '\x00', 0,
280 '\xC7', '\x8C', '\x00', 0,
282 '\xC7', '\x8E', '\x00', 0,
284 '\xC7', '\x90', '\x00', 0,
286 '\xC7', '\x92', '\x00', 0,
288 '\xC7', '\x94', '\x00', 0,
290 '\xC7', '\x96', '\x00', 0,
292 '\xC7', '\x98', '\x00', 0,
294 '\xC7', '\x9A', '\x00', 0,
296 '\xC7', '\x9C', '\x00', 0,
297 0, 0, 0, 0, 0, 0, 0, 0,
298 '\xC7', '\x9F', '\x00', 0,
300 '\xC7', '\xA1', '\x00', 0,
302 '\xC7', '\xA3', '\x00', 0,
304 '\xC7', '\xA5', '\x00', 0,
306 '\xC7', '\xA7', '\x00', 0,
308 '\xC7', '\xA9', '\x00', 0,
310 '\xC7', '\xAB', '\x00', 0,
312 '\xC7', '\xAD', '\x00', 0,
314 '\xC7', '\xAF', '\x00', 0,
317 '\xC7', '\xB3', '\x00', 0,
318 '\xC7', '\xB3', '\x00', 0,
320 '\xC7', '\xB5', '\x00', 0,
322 '\xC6', '\x95', '\x00', 0,
323 '\xC6', '\xBF', '\x00', 0,
324 '\xC7', '\xB9', '\x00', 0,
326 '\xC7', '\xBB', '\x00', 0,
328 '\xC7', '\xBD', '\x00', 0,
330 '\xC7', '\xBF', '\x00', 0,
334 static const char s_StringToCaseInsensitiveC8
[64 * 4] = {
335 '\xC8', '\x81', '\x00', 0,
337 '\xC8', '\x83', '\x00', 0,
339 '\xC8', '\x85', '\x00', 0,
341 '\xC8', '\x87', '\x00', 0,
343 '\xC8', '\x89', '\x00', 0,
345 '\xC8', '\x8B', '\x00', 0,
347 '\xC8', '\x8D', '\x00', 0,
349 '\xC8', '\x8F', '\x00', 0,
351 '\xC8', '\x91', '\x00', 0,
353 '\xC8', '\x93', '\x00', 0,
355 '\xC8', '\x95', '\x00', 0,
357 '\xC8', '\x97', '\x00', 0,
359 '\xC8', '\x99', '\x00', 0,
361 '\xC8', '\x9B', '\x00', 0,
363 '\xC8', '\x9D', '\x00', 0,
365 '\xC8', '\x9F', '\x00', 0,
367 '\xC6', '\x9E', '\x00', 0,
369 '\xC8', '\xA3', '\x00', 0,
371 '\xC8', '\xA5', '\x00', 0,
373 '\xC8', '\xA7', '\x00', 0,
375 '\xC8', '\xA9', '\x00', 0,
377 '\xC8', '\xAB', '\x00', 0,
379 '\xC8', '\xAD', '\x00', 0,
381 '\xC8', '\xAF', '\x00', 0,
383 '\xC8', '\xB1', '\x00', 0,
385 '\xC8', '\xB3', '\x00', 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0,
388 '\xE2', '\xB1', '\xA5', 0,
389 '\xC8', '\xBC', '\x00', 0,
391 '\xC6', '\x9A', '\x00', 0,
392 '\xE2', '\xB1', '\xA6', 0,
396 static const char s_StringToCaseInsensitiveC9
[64 * 4] = {
398 '\xC9', '\x82', '\x00', 0,
400 '\xC6', '\x80', '\x00', 0,
401 '\xCA', '\x89', '\x00', 0,
402 '\xCA', '\x8C', '\x00', 0,
403 '\xC9', '\x87', '\x00', 0,
405 '\xC9', '\x89', '\x00', 0,
407 '\xC9', '\x8B', '\x00', 0,
409 '\xC9', '\x8D', '\x00', 0,
411 '\xC9', '\x8F', '\x00', 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 static const char s_StringToCaseInsensitiveCD
[64 * 4] = {
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 '\xCE', '\xB9', '\x00', 0,
424 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 '\xCD', '\xB1', '\x00', 0,
432 '\xCD', '\xB3', '\x00', 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 '\xCD', '\xB7', '\x00', 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 '\xCF', '\xB3', '\x00', 0,
440 static const char s_StringToCaseInsensitiveCE
[64 * 4] = {
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 '\xCE', '\xAC', '\x00', 0,
444 '\xCE', '\xAD', '\x00', 0,
445 '\xCE', '\xAE', '\x00', 0,
446 '\xCE', '\xAF', '\x00', 0,
448 '\xCF', '\x8C', '\x00', 0,
450 '\xCF', '\x8D', '\x00', 0,
451 '\xCF', '\x8E', '\x00', 0,
453 '\xCE', '\xB1', '\x00', 0,
454 '\xCE', '\xB2', '\x00', 0,
455 '\xCE', '\xB3', '\x00', 0,
456 '\xCE', '\xB4', '\x00', 0,
457 '\xCE', '\xB5', '\x00', 0,
458 '\xCE', '\xB6', '\x00', 0,
459 '\xCE', '\xB7', '\x00', 0,
460 '\xCE', '\xB8', '\x00', 0,
461 '\xCE', '\xB9', '\x00', 0,
462 '\xCE', '\xBA', '\x00', 0,
463 '\xCE', '\xBB', '\x00', 0,
464 '\xCE', '\xBC', '\x00', 0,
465 '\xCE', '\xBD', '\x00', 0,
466 '\xCE', '\xBE', '\x00', 0,
467 '\xCE', '\xBF', '\x00', 0,
468 '\xCF', '\x80', '\x00', 0,
469 '\xCF', '\x81', '\x00', 0,
471 '\xCF', '\x83', '\x00', 0,
472 '\xCF', '\x84', '\x00', 0,
473 '\xCF', '\x85', '\x00', 0,
474 '\xCF', '\x86', '\x00', 0,
475 '\xCF', '\x87', '\x00', 0,
476 '\xCF', '\x88', '\x00', 0,
477 '\xCF', '\x89', '\x00', 0,
478 '\xCF', '\x8A', '\x00', 0,
479 '\xCF', '\x8B', '\x00', 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 static const char s_StringToCaseInsensitiveCF
[64 * 4] = {
486 0, 0, 0, 0, 0, 0, 0, 0,
487 '\xCF', '\x83', '\x00', 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 '\xCF', '\x97', '\x00', 0,
491 '\xCE', '\xB2', '\x00', 0,
492 '\xCE', '\xB8', '\x00', 0,
493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494 '\xCF', '\x86', '\x00', 0,
495 '\xCF', '\x80', '\x00', 0,
497 '\xCF', '\x99', '\x00', 0,
499 '\xCF', '\x9B', '\x00', 0,
501 '\xCF', '\x9D', '\x00', 0,
503 '\xCF', '\x9F', '\x00', 0,
505 '\xCF', '\xA1', '\x00', 0,
507 '\xCF', '\xA3', '\x00', 0,
509 '\xCF', '\xA5', '\x00', 0,
511 '\xCF', '\xA7', '\x00', 0,
513 '\xCF', '\xA9', '\x00', 0,
515 '\xCF', '\xAB', '\x00', 0,
517 '\xCF', '\xAD', '\x00', 0,
519 '\xCF', '\xAF', '\x00', 0,
521 '\xCE', '\xBA', '\x00', 0,
522 '\xCF', '\x81', '\x00', 0,
523 0, 0, 0, 0, 0, 0, 0, 0,
524 '\xCE', '\xB8', '\x00', 0,
525 '\xCE', '\xB5', '\x00', 0,
527 '\xCF', '\xB8', '\x00', 0,
529 '\xCF', '\xB2', '\x00', 0,
530 '\xCF', '\xBB', '\x00', 0,
531 0, 0, 0, 0, 0, 0, 0, 0,
532 '\xCD', '\xBB', '\x00', 0,
533 '\xCD', '\xBC', '\x00', 0,
534 '\xCD', '\xBD', '\x00', 0,
537 static const char s_StringToCaseInsensitiveD0
[64 * 4] = {
538 '\xD1', '\x90', '\x00', 0,
539 '\xD1', '\x91', '\x00', 0,
540 '\xD1', '\x92', '\x00', 0,
541 '\xD1', '\x93', '\x00', 0,
542 '\xD1', '\x94', '\x00', 0,
543 '\xD1', '\x95', '\x00', 0,
544 '\xD1', '\x96', '\x00', 0,
545 '\xD1', '\x97', '\x00', 0,
546 '\xD1', '\x98', '\x00', 0,
547 '\xD1', '\x99', '\x00', 0,
548 '\xD1', '\x9A', '\x00', 0,
549 '\xD1', '\x9B', '\x00', 0,
550 '\xD1', '\x9C', '\x00', 0,
551 '\xD1', '\x9D', '\x00', 0,
552 '\xD1', '\x9E', '\x00', 0,
553 '\xD1', '\x9F', '\x00', 0,
554 '\xD0', '\xB0', '\x00', 0,
555 '\xD0', '\xB1', '\x00', 0,
556 '\xD0', '\xB2', '\x00', 0,
557 '\xD0', '\xB3', '\x00', 0,
558 '\xD0', '\xB4', '\x00', 0,
559 '\xD0', '\xB5', '\x00', 0,
560 '\xD0', '\xB6', '\x00', 0,
561 '\xD0', '\xB7', '\x00', 0,
562 '\xD0', '\xB8', '\x00', 0,
563 '\xD0', '\xB9', '\x00', 0,
564 '\xD0', '\xBA', '\x00', 0,
565 '\xD0', '\xBB', '\x00', 0,
566 '\xD0', '\xBC', '\x00', 0,
567 '\xD0', '\xBD', '\x00', 0,
568 '\xD0', '\xBE', '\x00', 0,
569 '\xD0', '\xBF', '\x00', 0,
570 '\xD1', '\x80', '\x00', 0,
571 '\xD1', '\x81', '\x00', 0,
572 '\xD1', '\x82', '\x00', 0,
573 '\xD1', '\x83', '\x00', 0,
574 '\xD1', '\x84', '\x00', 0,
575 '\xD1', '\x85', '\x00', 0,
576 '\xD1', '\x86', '\x00', 0,
577 '\xD1', '\x87', '\x00', 0,
578 '\xD1', '\x88', '\x00', 0,
579 '\xD1', '\x89', '\x00', 0,
580 '\xD1', '\x8A', '\x00', 0,
581 '\xD1', '\x8B', '\x00', 0,
582 '\xD1', '\x8C', '\x00', 0,
583 '\xD1', '\x8D', '\x00', 0,
584 '\xD1', '\x8E', '\x00', 0,
585 '\xD1', '\x8F', '\x00', 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 static const char s_StringToCaseInsensitiveD1
[64 * 4] = {
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 '\xD1', '\xA1', '\x00', 0,
597 '\xD1', '\xA3', '\x00', 0,
599 '\xD1', '\xA5', '\x00', 0,
601 '\xD1', '\xA7', '\x00', 0,
603 '\xD1', '\xA9', '\x00', 0,
605 '\xD1', '\xAB', '\x00', 0,
607 '\xD1', '\xAD', '\x00', 0,
609 '\xD1', '\xAF', '\x00', 0,
611 '\xD1', '\xB1', '\x00', 0,
613 '\xD1', '\xB3', '\x00', 0,
615 '\xD1', '\xB5', '\x00', 0,
617 '\xD1', '\xB7', '\x00', 0,
619 '\xD1', '\xB9', '\x00', 0,
621 '\xD1', '\xBB', '\x00', 0,
623 '\xD1', '\xBD', '\x00', 0,
625 '\xD1', '\xBF', '\x00', 0,
629 static const char s_StringToCaseInsensitiveD2
[64 * 4] = {
630 '\xD2', '\x81', '\x00', 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0,
633 '\xD2', '\x8B', '\x00', 0,
635 '\xD2', '\x8D', '\x00', 0,
637 '\xD2', '\x8F', '\x00', 0,
639 '\xD2', '\x91', '\x00', 0,
641 '\xD2', '\x93', '\x00', 0,
643 '\xD2', '\x95', '\x00', 0,
645 '\xD2', '\x97', '\x00', 0,
647 '\xD2', '\x99', '\x00', 0,
649 '\xD2', '\x9B', '\x00', 0,
651 '\xD2', '\x9D', '\x00', 0,
653 '\xD2', '\x9F', '\x00', 0,
655 '\xD2', '\xA1', '\x00', 0,
657 '\xD2', '\xA3', '\x00', 0,
659 '\xD2', '\xA5', '\x00', 0,
661 '\xD2', '\xA7', '\x00', 0,
663 '\xD2', '\xA9', '\x00', 0,
665 '\xD2', '\xAB', '\x00', 0,
667 '\xD2', '\xAD', '\x00', 0,
669 '\xD2', '\xAF', '\x00', 0,
671 '\xD2', '\xB1', '\x00', 0,
673 '\xD2', '\xB3', '\x00', 0,
675 '\xD2', '\xB5', '\x00', 0,
677 '\xD2', '\xB7', '\x00', 0,
679 '\xD2', '\xB9', '\x00', 0,
681 '\xD2', '\xBB', '\x00', 0,
683 '\xD2', '\xBD', '\x00', 0,
685 '\xD2', '\xBF', '\x00', 0,
689 static const char s_StringToCaseInsensitiveD3
[64 * 4] = {
690 '\xD3', '\x8F', '\x00', 0,
691 '\xD3', '\x82', '\x00', 0,
693 '\xD3', '\x84', '\x00', 0,
695 '\xD3', '\x86', '\x00', 0,
697 '\xD3', '\x88', '\x00', 0,
699 '\xD3', '\x8A', '\x00', 0,
701 '\xD3', '\x8C', '\x00', 0,
703 '\xD3', '\x8E', '\x00', 0,
704 0, 0, 0, 0, 0, 0, 0, 0,
705 '\xD3', '\x91', '\x00', 0,
707 '\xD3', '\x93', '\x00', 0,
709 '\xD3', '\x95', '\x00', 0,
711 '\xD3', '\x97', '\x00', 0,
713 '\xD3', '\x99', '\x00', 0,
715 '\xD3', '\x9B', '\x00', 0,
717 '\xD3', '\x9D', '\x00', 0,
719 '\xD3', '\x9F', '\x00', 0,
721 '\xD3', '\xA1', '\x00', 0,
723 '\xD3', '\xA3', '\x00', 0,
725 '\xD3', '\xA5', '\x00', 0,
727 '\xD3', '\xA7', '\x00', 0,
729 '\xD3', '\xA9', '\x00', 0,
731 '\xD3', '\xAB', '\x00', 0,
733 '\xD3', '\xAD', '\x00', 0,
735 '\xD3', '\xAF', '\x00', 0,
737 '\xD3', '\xB1', '\x00', 0,
739 '\xD3', '\xB3', '\x00', 0,
741 '\xD3', '\xB5', '\x00', 0,
743 '\xD3', '\xB7', '\x00', 0,
745 '\xD3', '\xB9', '\x00', 0,
747 '\xD3', '\xBB', '\x00', 0,
749 '\xD3', '\xBD', '\x00', 0,
751 '\xD3', '\xBF', '\x00', 0,
755 static const char s_StringToCaseInsensitiveD4
[64 * 4] = {
756 '\xD4', '\x81', '\x00', 0,
758 '\xD4', '\x83', '\x00', 0,
760 '\xD4', '\x85', '\x00', 0,
762 '\xD4', '\x87', '\x00', 0,
764 '\xD4', '\x89', '\x00', 0,
766 '\xD4', '\x8B', '\x00', 0,
768 '\xD4', '\x8D', '\x00', 0,
770 '\xD4', '\x8F', '\x00', 0,
772 '\xD4', '\x91', '\x00', 0,
774 '\xD4', '\x93', '\x00', 0,
776 '\xD4', '\x95', '\x00', 0,
778 '\xD4', '\x97', '\x00', 0,
780 '\xD4', '\x99', '\x00', 0,
782 '\xD4', '\x9B', '\x00', 0,
784 '\xD4', '\x9D', '\x00', 0,
786 '\xD4', '\x9F', '\x00', 0,
788 '\xD4', '\xA1', '\x00', 0,
790 '\xD4', '\xA3', '\x00', 0,
792 '\xD4', '\xA5', '\x00', 0,
794 '\xD4', '\xA7', '\x00', 0,
796 '\xD4', '\xA9', '\x00', 0,
798 '\xD4', '\xAB', '\x00', 0,
800 '\xD4', '\xAD', '\x00', 0,
802 '\xD4', '\xAF', '\x00', 0,
805 '\xD5', '\xA1', '\x00', 0,
806 '\xD5', '\xA2', '\x00', 0,
807 '\xD5', '\xA3', '\x00', 0,
808 '\xD5', '\xA4', '\x00', 0,
809 '\xD5', '\xA5', '\x00', 0,
810 '\xD5', '\xA6', '\x00', 0,
811 '\xD5', '\xA7', '\x00', 0,
812 '\xD5', '\xA8', '\x00', 0,
813 '\xD5', '\xA9', '\x00', 0,
814 '\xD5', '\xAA', '\x00', 0,
815 '\xD5', '\xAB', '\x00', 0,
816 '\xD5', '\xAC', '\x00', 0,
817 '\xD5', '\xAD', '\x00', 0,
818 '\xD5', '\xAE', '\x00', 0,
819 '\xD5', '\xAF', '\x00', 0,
822 static const char s_StringToCaseInsensitiveD5
[64 * 4] = {
823 '\xD5', '\xB0', '\x00', 0,
824 '\xD5', '\xB1', '\x00', 0,
825 '\xD5', '\xB2', '\x00', 0,
826 '\xD5', '\xB3', '\x00', 0,
827 '\xD5', '\xB4', '\x00', 0,
828 '\xD5', '\xB5', '\x00', 0,
829 '\xD5', '\xB6', '\x00', 0,
830 '\xD5', '\xB7', '\x00', 0,
831 '\xD5', '\xB8', '\x00', 0,
832 '\xD5', '\xB9', '\x00', 0,
833 '\xD5', '\xBA', '\x00', 0,
834 '\xD5', '\xBB', '\x00', 0,
835 '\xD5', '\xBC', '\x00', 0,
836 '\xD5', '\xBD', '\x00', 0,
837 '\xD5', '\xBE', '\x00', 0,
838 '\xD5', '\xBF', '\x00', 0,
839 '\xD6', '\x80', '\x00', 0,
840 '\xD6', '\x81', '\x00', 0,
841 '\xD6', '\x82', '\x00', 0,
842 '\xD6', '\x83', '\x00', 0,
843 '\xD6', '\x84', '\x00', 0,
844 '\xD6', '\x85', '\x00', 0,
845 '\xD6', '\x86', '\x00', 0,
847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 static const char s_StringToCaseInsensitiveE182
[64 * 4] = {
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 '\xE2', '\xB4', '\x80', 0,
860 '\xE2', '\xB4', '\x81', 0,
861 '\xE2', '\xB4', '\x82', 0,
862 '\xE2', '\xB4', '\x83', 0,
863 '\xE2', '\xB4', '\x84', 0,
864 '\xE2', '\xB4', '\x85', 0,
865 '\xE2', '\xB4', '\x86', 0,
866 '\xE2', '\xB4', '\x87', 0,
867 '\xE2', '\xB4', '\x88', 0,
868 '\xE2', '\xB4', '\x89', 0,
869 '\xE2', '\xB4', '\x8A', 0,
870 '\xE2', '\xB4', '\x8B', 0,
871 '\xE2', '\xB4', '\x8C', 0,
872 '\xE2', '\xB4', '\x8D', 0,
873 '\xE2', '\xB4', '\x8E', 0,
874 '\xE2', '\xB4', '\x8F', 0,
875 '\xE2', '\xB4', '\x90', 0,
876 '\xE2', '\xB4', '\x91', 0,
877 '\xE2', '\xB4', '\x92', 0,
878 '\xE2', '\xB4', '\x93', 0,
879 '\xE2', '\xB4', '\x94', 0,
880 '\xE2', '\xB4', '\x95', 0,
881 '\xE2', '\xB4', '\x96', 0,
882 '\xE2', '\xB4', '\x97', 0,
883 '\xE2', '\xB4', '\x98', 0,
884 '\xE2', '\xB4', '\x99', 0,
885 '\xE2', '\xB4', '\x9A', 0,
886 '\xE2', '\xB4', '\x9B', 0,
887 '\xE2', '\xB4', '\x9C', 0,
888 '\xE2', '\xB4', '\x9D', 0,
889 '\xE2', '\xB4', '\x9E', 0,
890 '\xE2', '\xB4', '\x9F', 0,
893 static const char s_StringToCaseInsensitiveE183
[64 * 4] = {
894 '\xE2', '\xB4', '\xA0', 0,
895 '\xE2', '\xB4', '\xA1', 0,
896 '\xE2', '\xB4', '\xA2', 0,
897 '\xE2', '\xB4', '\xA3', 0,
898 '\xE2', '\xB4', '\xA4', 0,
899 '\xE2', '\xB4', '\xA5', 0,
901 '\xE2', '\xB4', '\xA7', 0,
902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 '\xE2', '\xB4', '\xAD', 0,
904 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 static const char s_StringToCaseInsensitiveE18E
[64 * 4] = {
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 '\xEA', '\xAD', '\xB0', 0,
919 '\xEA', '\xAD', '\xB1', 0,
920 '\xEA', '\xAD', '\xB2', 0,
921 '\xEA', '\xAD', '\xB3', 0,
922 '\xEA', '\xAD', '\xB4', 0,
923 '\xEA', '\xAD', '\xB5', 0,
924 '\xEA', '\xAD', '\xB6', 0,
925 '\xEA', '\xAD', '\xB7', 0,
926 '\xEA', '\xAD', '\xB8', 0,
927 '\xEA', '\xAD', '\xB9', 0,
928 '\xEA', '\xAD', '\xBA', 0,
929 '\xEA', '\xAD', '\xBB', 0,
930 '\xEA', '\xAD', '\xBC', 0,
931 '\xEA', '\xAD', '\xBD', 0,
932 '\xEA', '\xAD', '\xBE', 0,
933 '\xEA', '\xAD', '\xBF', 0,
934 '\xEA', '\xAE', '\x80', 0,
935 '\xEA', '\xAE', '\x81', 0,
936 '\xEA', '\xAE', '\x82', 0,
937 '\xEA', '\xAE', '\x83', 0,
938 '\xEA', '\xAE', '\x84', 0,
939 '\xEA', '\xAE', '\x85', 0,
940 '\xEA', '\xAE', '\x86', 0,
941 '\xEA', '\xAE', '\x87', 0,
942 '\xEA', '\xAE', '\x88', 0,
943 '\xEA', '\xAE', '\x89', 0,
944 '\xEA', '\xAE', '\x8A', 0,
945 '\xEA', '\xAE', '\x8B', 0,
946 '\xEA', '\xAE', '\x8C', 0,
947 '\xEA', '\xAE', '\x8D', 0,
948 '\xEA', '\xAE', '\x8E', 0,
949 '\xEA', '\xAE', '\x8F', 0,
952 static const char s_StringToCaseInsensitiveE18F
[64 * 4] = {
953 '\xEA', '\xAE', '\x90', 0,
954 '\xEA', '\xAE', '\x91', 0,
955 '\xEA', '\xAE', '\x92', 0,
956 '\xEA', '\xAE', '\x93', 0,
957 '\xEA', '\xAE', '\x94', 0,
958 '\xEA', '\xAE', '\x95', 0,
959 '\xEA', '\xAE', '\x96', 0,
960 '\xEA', '\xAE', '\x97', 0,
961 '\xEA', '\xAE', '\x98', 0,
962 '\xEA', '\xAE', '\x99', 0,
963 '\xEA', '\xAE', '\x9A', 0,
964 '\xEA', '\xAE', '\x9B', 0,
965 '\xEA', '\xAE', '\x9C', 0,
966 '\xEA', '\xAE', '\x9D', 0,
967 '\xEA', '\xAE', '\x9E', 0,
968 '\xEA', '\xAE', '\x9F', 0,
969 '\xEA', '\xAE', '\xA0', 0,
970 '\xEA', '\xAE', '\xA1', 0,
971 '\xEA', '\xAE', '\xA2', 0,
972 '\xEA', '\xAE', '\xA3', 0,
973 '\xEA', '\xAE', '\xA4', 0,
974 '\xEA', '\xAE', '\xA5', 0,
975 '\xEA', '\xAE', '\xA6', 0,
976 '\xEA', '\xAE', '\xA7', 0,
977 '\xEA', '\xAE', '\xA8', 0,
978 '\xEA', '\xAE', '\xA9', 0,
979 '\xEA', '\xAE', '\xAA', 0,
980 '\xEA', '\xAE', '\xAB', 0,
981 '\xEA', '\xAE', '\xAC', 0,
982 '\xEA', '\xAE', '\xAD', 0,
983 '\xEA', '\xAE', '\xAE', 0,
984 '\xEA', '\xAE', '\xAF', 0,
985 '\xEA', '\xAE', '\xB0', 0,
986 '\xEA', '\xAE', '\xB1', 0,
987 '\xEA', '\xAE', '\xB2', 0,
988 '\xEA', '\xAE', '\xB3', 0,
989 '\xEA', '\xAE', '\xB4', 0,
990 '\xEA', '\xAE', '\xB5', 0,
991 '\xEA', '\xAE', '\xB6', 0,
992 '\xEA', '\xAE', '\xB7', 0,
993 '\xEA', '\xAE', '\xB8', 0,
994 '\xEA', '\xAE', '\xB9', 0,
995 '\xEA', '\xAE', '\xBA', 0,
996 '\xEA', '\xAE', '\xBB', 0,
997 '\xEA', '\xAE', '\xBC', 0,
998 '\xEA', '\xAE', '\xBD', 0,
999 '\xEA', '\xAE', '\xBE', 0,
1000 '\xEA', '\xAE', '\xBF', 0,
1001 '\xE1', '\x8F', '\xB8', 0,
1002 '\xE1', '\x8F', '\xB9', 0,
1003 '\xE1', '\x8F', '\xBA', 0,
1004 '\xE1', '\x8F', '\xBB', 0,
1005 '\xE1', '\x8F', '\xBC', 0,
1006 '\xE1', '\x8F', '\xBD', 0,
1007 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 static const char s_StringToCaseInsensitiveE1B2
[64 * 4] = {
1012 '\xD0', '\xB2', '\x00', 0,
1013 '\xD0', '\xB4', '\x00', 0,
1014 '\xD0', '\xBE', '\x00', 0,
1015 '\xD1', '\x81', '\x00', 0,
1016 '\xD1', '\x82', '\x00', 0,
1017 '\xD1', '\x82', '\x00', 0,
1018 '\xD1', '\x8A', '\x00', 0,
1019 '\xD1', '\xA3', '\x00', 0,
1020 '\xEA', '\x99', '\x8B', 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 '\xE1', '\x83', '\x90', 0,
1023 '\xE1', '\x83', '\x91', 0,
1024 '\xE1', '\x83', '\x92', 0,
1025 '\xE1', '\x83', '\x93', 0,
1026 '\xE1', '\x83', '\x94', 0,
1027 '\xE1', '\x83', '\x95', 0,
1028 '\xE1', '\x83', '\x96', 0,
1029 '\xE1', '\x83', '\x97', 0,
1030 '\xE1', '\x83', '\x98', 0,
1031 '\xE1', '\x83', '\x99', 0,
1032 '\xE1', '\x83', '\x9A', 0,
1033 '\xE1', '\x83', '\x9B', 0,
1034 '\xE1', '\x83', '\x9C', 0,
1035 '\xE1', '\x83', '\x9D', 0,
1036 '\xE1', '\x83', '\x9E', 0,
1037 '\xE1', '\x83', '\x9F', 0,
1038 '\xE1', '\x83', '\xA0', 0,
1039 '\xE1', '\x83', '\xA1', 0,
1040 '\xE1', '\x83', '\xA2', 0,
1041 '\xE1', '\x83', '\xA3', 0,
1042 '\xE1', '\x83', '\xA4', 0,
1043 '\xE1', '\x83', '\xA5', 0,
1044 '\xE1', '\x83', '\xA6', 0,
1045 '\xE1', '\x83', '\xA7', 0,
1046 '\xE1', '\x83', '\xA8', 0,
1047 '\xE1', '\x83', '\xA9', 0,
1048 '\xE1', '\x83', '\xAA', 0,
1049 '\xE1', '\x83', '\xAB', 0,
1050 '\xE1', '\x83', '\xAC', 0,
1051 '\xE1', '\x83', '\xAD', 0,
1052 '\xE1', '\x83', '\xAE', 0,
1053 '\xE1', '\x83', '\xAF', 0,
1054 '\xE1', '\x83', '\xB0', 0,
1055 '\xE1', '\x83', '\xB1', 0,
1056 '\xE1', '\x83', '\xB2', 0,
1057 '\xE1', '\x83', '\xB3', 0,
1058 '\xE1', '\x83', '\xB4', 0,
1059 '\xE1', '\x83', '\xB5', 0,
1060 '\xE1', '\x83', '\xB6', 0,
1061 '\xE1', '\x83', '\xB7', 0,
1062 '\xE1', '\x83', '\xB8', 0,
1063 '\xE1', '\x83', '\xB9', 0,
1064 '\xE1', '\x83', '\xBA', 0,
1065 0, 0, 0, 0, 0, 0, 0, 0,
1066 '\xE1', '\x83', '\xBD', 0,
1067 '\xE1', '\x83', '\xBE', 0,
1068 '\xE1', '\x83', '\xBF', 0,
1071 static const char s_StringToCaseInsensitiveE1B8
[64 * 4] = {
1072 '\xE1', '\xB8', '\x81', 0,
1074 '\xE1', '\xB8', '\x83', 0,
1076 '\xE1', '\xB8', '\x85', 0,
1078 '\xE1', '\xB8', '\x87', 0,
1080 '\xE1', '\xB8', '\x89', 0,
1082 '\xE1', '\xB8', '\x8B', 0,
1084 '\xE1', '\xB8', '\x8D', 0,
1086 '\xE1', '\xB8', '\x8F', 0,
1088 '\xE1', '\xB8', '\x91', 0,
1090 '\xE1', '\xB8', '\x93', 0,
1092 '\xE1', '\xB8', '\x95', 0,
1094 '\xE1', '\xB8', '\x97', 0,
1096 '\xE1', '\xB8', '\x99', 0,
1098 '\xE1', '\xB8', '\x9B', 0,
1100 '\xE1', '\xB8', '\x9D', 0,
1102 '\xE1', '\xB8', '\x9F', 0,
1104 '\xE1', '\xB8', '\xA1', 0,
1106 '\xE1', '\xB8', '\xA3', 0,
1108 '\xE1', '\xB8', '\xA5', 0,
1110 '\xE1', '\xB8', '\xA7', 0,
1112 '\xE1', '\xB8', '\xA9', 0,
1114 '\xE1', '\xB8', '\xAB', 0,
1116 '\xE1', '\xB8', '\xAD', 0,
1118 '\xE1', '\xB8', '\xAF', 0,
1120 '\xE1', '\xB8', '\xB1', 0,
1122 '\xE1', '\xB8', '\xB3', 0,
1124 '\xE1', '\xB8', '\xB5', 0,
1126 '\xE1', '\xB8', '\xB7', 0,
1128 '\xE1', '\xB8', '\xB9', 0,
1130 '\xE1', '\xB8', '\xBB', 0,
1132 '\xE1', '\xB8', '\xBD', 0,
1134 '\xE1', '\xB8', '\xBF', 0,
1138 static const char s_StringToCaseInsensitiveE1B9
[64 * 4] = {
1139 '\xE1', '\xB9', '\x81', 0,
1141 '\xE1', '\xB9', '\x83', 0,
1143 '\xE1', '\xB9', '\x85', 0,
1145 '\xE1', '\xB9', '\x87', 0,
1147 '\xE1', '\xB9', '\x89', 0,
1149 '\xE1', '\xB9', '\x8B', 0,
1151 '\xE1', '\xB9', '\x8D', 0,
1153 '\xE1', '\xB9', '\x8F', 0,
1155 '\xE1', '\xB9', '\x91', 0,
1157 '\xE1', '\xB9', '\x93', 0,
1159 '\xE1', '\xB9', '\x95', 0,
1161 '\xE1', '\xB9', '\x97', 0,
1163 '\xE1', '\xB9', '\x99', 0,
1165 '\xE1', '\xB9', '\x9B', 0,
1167 '\xE1', '\xB9', '\x9D', 0,
1169 '\xE1', '\xB9', '\x9F', 0,
1171 '\xE1', '\xB9', '\xA1', 0,
1173 '\xE1', '\xB9', '\xA3', 0,
1175 '\xE1', '\xB9', '\xA5', 0,
1177 '\xE1', '\xB9', '\xA7', 0,
1179 '\xE1', '\xB9', '\xA9', 0,
1181 '\xE1', '\xB9', '\xAB', 0,
1183 '\xE1', '\xB9', '\xAD', 0,
1185 '\xE1', '\xB9', '\xAF', 0,
1187 '\xE1', '\xB9', '\xB1', 0,
1189 '\xE1', '\xB9', '\xB3', 0,
1191 '\xE1', '\xB9', '\xB5', 0,
1193 '\xE1', '\xB9', '\xB7', 0,
1195 '\xE1', '\xB9', '\xB9', 0,
1197 '\xE1', '\xB9', '\xBB', 0,
1199 '\xE1', '\xB9', '\xBD', 0,
1201 '\xE1', '\xB9', '\xBF', 0,
1205 static const char s_StringToCaseInsensitiveE1BA
[64 * 4] = {
1206 '\xE1', '\xBA', '\x81', 0,
1208 '\xE1', '\xBA', '\x83', 0,
1210 '\xE1', '\xBA', '\x85', 0,
1212 '\xE1', '\xBA', '\x87', 0,
1214 '\xE1', '\xBA', '\x89', 0,
1216 '\xE1', '\xBA', '\x8B', 0,
1218 '\xE1', '\xBA', '\x8D', 0,
1220 '\xE1', '\xBA', '\x8F', 0,
1222 '\xE1', '\xBA', '\x91', 0,
1224 '\xE1', '\xBA', '\x93', 0,
1226 '\xE1', '\xBA', '\x95', 0,
1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 '\xE1', '\xB9', '\xA1', 0,
1230 0, 0, 0, 0, 0, 0, 0, 0,
1231 '\xC3', '\x9F', '\x00', 0,
1233 '\xE1', '\xBA', '\xA1', 0,
1235 '\xE1', '\xBA', '\xA3', 0,
1237 '\xE1', '\xBA', '\xA5', 0,
1239 '\xE1', '\xBA', '\xA7', 0,
1241 '\xE1', '\xBA', '\xA9', 0,
1243 '\xE1', '\xBA', '\xAB', 0,
1245 '\xE1', '\xBA', '\xAD', 0,
1247 '\xE1', '\xBA', '\xAF', 0,
1249 '\xE1', '\xBA', '\xB1', 0,
1251 '\xE1', '\xBA', '\xB3', 0,
1253 '\xE1', '\xBA', '\xB5', 0,
1255 '\xE1', '\xBA', '\xB7', 0,
1257 '\xE1', '\xBA', '\xB9', 0,
1259 '\xE1', '\xBA', '\xBB', 0,
1261 '\xE1', '\xBA', '\xBD', 0,
1263 '\xE1', '\xBA', '\xBF', 0,
1267 static const char s_StringToCaseInsensitiveE1BB
[64 * 4] = {
1268 '\xE1', '\xBB', '\x81', 0,
1270 '\xE1', '\xBB', '\x83', 0,
1272 '\xE1', '\xBB', '\x85', 0,
1274 '\xE1', '\xBB', '\x87', 0,
1276 '\xE1', '\xBB', '\x89', 0,
1278 '\xE1', '\xBB', '\x8B', 0,
1280 '\xE1', '\xBB', '\x8D', 0,
1282 '\xE1', '\xBB', '\x8F', 0,
1284 '\xE1', '\xBB', '\x91', 0,
1286 '\xE1', '\xBB', '\x93', 0,
1288 '\xE1', '\xBB', '\x95', 0,
1290 '\xE1', '\xBB', '\x97', 0,
1292 '\xE1', '\xBB', '\x99', 0,
1294 '\xE1', '\xBB', '\x9B', 0,
1296 '\xE1', '\xBB', '\x9D', 0,
1298 '\xE1', '\xBB', '\x9F', 0,
1300 '\xE1', '\xBB', '\xA1', 0,
1302 '\xE1', '\xBB', '\xA3', 0,
1304 '\xE1', '\xBB', '\xA5', 0,
1306 '\xE1', '\xBB', '\xA7', 0,
1308 '\xE1', '\xBB', '\xA9', 0,
1310 '\xE1', '\xBB', '\xAB', 0,
1312 '\xE1', '\xBB', '\xAD', 0,
1314 '\xE1', '\xBB', '\xAF', 0,
1316 '\xE1', '\xBB', '\xB1', 0,
1318 '\xE1', '\xBB', '\xB3', 0,
1320 '\xE1', '\xBB', '\xB5', 0,
1322 '\xE1', '\xBB', '\xB7', 0,
1324 '\xE1', '\xBB', '\xB9', 0,
1326 '\xE1', '\xBB', '\xBB', 0,
1328 '\xE1', '\xBB', '\xBD', 0,
1330 '\xE1', '\xBB', '\xBF', 0,
1334 static const char s_StringToCaseInsensitiveE1BC
[64 * 4] = {
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 '\xE1', '\xBC', '\x80', 0,
1337 '\xE1', '\xBC', '\x81', 0,
1338 '\xE1', '\xBC', '\x82', 0,
1339 '\xE1', '\xBC', '\x83', 0,
1340 '\xE1', '\xBC', '\x84', 0,
1341 '\xE1', '\xBC', '\x85', 0,
1342 '\xE1', '\xBC', '\x86', 0,
1343 '\xE1', '\xBC', '\x87', 0,
1344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1345 '\xE1', '\xBC', '\x90', 0,
1346 '\xE1', '\xBC', '\x91', 0,
1347 '\xE1', '\xBC', '\x92', 0,
1348 '\xE1', '\xBC', '\x93', 0,
1349 '\xE1', '\xBC', '\x94', 0,
1350 '\xE1', '\xBC', '\x95', 0,
1351 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353 '\xE1', '\xBC', '\xA0', 0,
1354 '\xE1', '\xBC', '\xA1', 0,
1355 '\xE1', '\xBC', '\xA2', 0,
1356 '\xE1', '\xBC', '\xA3', 0,
1357 '\xE1', '\xBC', '\xA4', 0,
1358 '\xE1', '\xBC', '\xA5', 0,
1359 '\xE1', '\xBC', '\xA6', 0,
1360 '\xE1', '\xBC', '\xA7', 0,
1361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362 '\xE1', '\xBC', '\xB0', 0,
1363 '\xE1', '\xBC', '\xB1', 0,
1364 '\xE1', '\xBC', '\xB2', 0,
1365 '\xE1', '\xBC', '\xB3', 0,
1366 '\xE1', '\xBC', '\xB4', 0,
1367 '\xE1', '\xBC', '\xB5', 0,
1368 '\xE1', '\xBC', '\xB6', 0,
1369 '\xE1', '\xBC', '\xB7', 0,
1372 static const char s_StringToCaseInsensitiveE1BD
[64 * 4] = {
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 '\xE1', '\xBD', '\x80', 0,
1375 '\xE1', '\xBD', '\x81', 0,
1376 '\xE1', '\xBD', '\x82', 0,
1377 '\xE1', '\xBD', '\x83', 0,
1378 '\xE1', '\xBD', '\x84', 0,
1379 '\xE1', '\xBD', '\x85', 0,
1380 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 '\xE1', '\xBD', '\x91', 0,
1385 '\xE1', '\xBD', '\x93', 0,
1387 '\xE1', '\xBD', '\x95', 0,
1389 '\xE1', '\xBD', '\x97', 0,
1390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1391 '\xE1', '\xBD', '\xA0', 0,
1392 '\xE1', '\xBD', '\xA1', 0,
1393 '\xE1', '\xBD', '\xA2', 0,
1394 '\xE1', '\xBD', '\xA3', 0,
1395 '\xE1', '\xBD', '\xA4', 0,
1396 '\xE1', '\xBD', '\xA5', 0,
1397 '\xE1', '\xBD', '\xA6', 0,
1398 '\xE1', '\xBD', '\xA7', 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1403 static const char s_StringToCaseInsensitiveE1BE
[64 * 4] = {
1404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 '\xE1', '\xBE', '\x80', 0,
1406 '\xE1', '\xBE', '\x81', 0,
1407 '\xE1', '\xBE', '\x82', 0,
1408 '\xE1', '\xBE', '\x83', 0,
1409 '\xE1', '\xBE', '\x84', 0,
1410 '\xE1', '\xBE', '\x85', 0,
1411 '\xE1', '\xBE', '\x86', 0,
1412 '\xE1', '\xBE', '\x87', 0,
1413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414 '\xE1', '\xBE', '\x90', 0,
1415 '\xE1', '\xBE', '\x91', 0,
1416 '\xE1', '\xBE', '\x92', 0,
1417 '\xE1', '\xBE', '\x93', 0,
1418 '\xE1', '\xBE', '\x94', 0,
1419 '\xE1', '\xBE', '\x95', 0,
1420 '\xE1', '\xBE', '\x96', 0,
1421 '\xE1', '\xBE', '\x97', 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 '\xE1', '\xBE', '\xA0', 0,
1424 '\xE1', '\xBE', '\xA1', 0,
1425 '\xE1', '\xBE', '\xA2', 0,
1426 '\xE1', '\xBE', '\xA3', 0,
1427 '\xE1', '\xBE', '\xA4', 0,
1428 '\xE1', '\xBE', '\xA5', 0,
1429 '\xE1', '\xBE', '\xA6', 0,
1430 '\xE1', '\xBE', '\xA7', 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 '\xE1', '\xBE', '\xB0', 0,
1433 '\xE1', '\xBE', '\xB1', 0,
1434 '\xE1', '\xBD', '\xB0', 0,
1435 '\xE1', '\xBD', '\xB1', 0,
1436 '\xE1', '\xBE', '\xB3', 0,
1438 '\xCE', '\xB9', '\x00', 0,
1442 static const char s_StringToCaseInsensitiveE1BF
[64 * 4] = {
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 '\xE1', '\xBD', '\xB2', 0,
1445 '\xE1', '\xBD', '\xB3', 0,
1446 '\xE1', '\xBD', '\xB4', 0,
1447 '\xE1', '\xBD', '\xB5', 0,
1448 '\xE1', '\xBF', '\x83', 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 '\xE1', '\xBF', '\x90', 0,
1452 '\xE1', '\xBF', '\x91', 0,
1453 '\xE1', '\xBD', '\xB6', 0,
1454 '\xE1', '\xBD', '\xB7', 0,
1455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457 '\xE1', '\xBF', '\xA0', 0,
1458 '\xE1', '\xBF', '\xA1', 0,
1459 '\xE1', '\xBD', '\xBA', 0,
1460 '\xE1', '\xBD', '\xBB', 0,
1461 '\xE1', '\xBF', '\xA5', 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 '\xE1', '\xBD', '\xB8', 0,
1465 '\xE1', '\xBD', '\xB9', 0,
1466 '\xE1', '\xBD', '\xBC', 0,
1467 '\xE1', '\xBD', '\xBD', 0,
1468 '\xE1', '\xBF', '\xB3', 0,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 static const char s_StringToCaseInsensitiveE284
[64 * 4] = {
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 '\xCF', '\x89', '\x00', 0,
1480 0, 0, 0, 0, 0, 0, 0, 0,
1481 '\x6B', '\x00', '\x00', 0,
1482 '\xC3', '\xA5', '\x00', 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0,
1485 '\xE2', '\x85', '\x8E', 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 static const char s_StringToCaseInsensitiveE285
[64 * 4] = {
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 '\xE2', '\x85', '\xB0', 0,
1496 '\xE2', '\x85', '\xB1', 0,
1497 '\xE2', '\x85', '\xB2', 0,
1498 '\xE2', '\x85', '\xB3', 0,
1499 '\xE2', '\x85', '\xB4', 0,
1500 '\xE2', '\x85', '\xB5', 0,
1501 '\xE2', '\x85', '\xB6', 0,
1502 '\xE2', '\x85', '\xB7', 0,
1503 '\xE2', '\x85', '\xB8', 0,
1504 '\xE2', '\x85', '\xB9', 0,
1505 '\xE2', '\x85', '\xBA', 0,
1506 '\xE2', '\x85', '\xBB', 0,
1507 '\xE2', '\x85', '\xBC', 0,
1508 '\xE2', '\x85', '\xBD', 0,
1509 '\xE2', '\x85', '\xBE', 0,
1510 '\xE2', '\x85', '\xBF', 0,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1515 static const char s_StringToCaseInsensitiveE286
[64 * 4] = {
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 '\xE2', '\x86', '\x84', 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 static const char s_StringToCaseInsensitiveE292
[64 * 4] = {
1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 '\xE2', '\x93', '\x90', 0,
1537 '\xE2', '\x93', '\x91', 0,
1538 '\xE2', '\x93', '\x92', 0,
1539 '\xE2', '\x93', '\x93', 0,
1540 '\xE2', '\x93', '\x94', 0,
1541 '\xE2', '\x93', '\x95', 0,
1542 '\xE2', '\x93', '\x96', 0,
1543 '\xE2', '\x93', '\x97', 0,
1544 '\xE2', '\x93', '\x98', 0,
1545 '\xE2', '\x93', '\x99', 0,
1548 static const char s_StringToCaseInsensitiveE293
[64 * 4] = {
1549 '\xE2', '\x93', '\x9A', 0,
1550 '\xE2', '\x93', '\x9B', 0,
1551 '\xE2', '\x93', '\x9C', 0,
1552 '\xE2', '\x93', '\x9D', 0,
1553 '\xE2', '\x93', '\x9E', 0,
1554 '\xE2', '\x93', '\x9F', 0,
1555 '\xE2', '\x93', '\xA0', 0,
1556 '\xE2', '\x93', '\xA1', 0,
1557 '\xE2', '\x93', '\xA2', 0,
1558 '\xE2', '\x93', '\xA3', 0,
1559 '\xE2', '\x93', '\xA4', 0,
1560 '\xE2', '\x93', '\xA5', 0,
1561 '\xE2', '\x93', '\xA6', 0,
1562 '\xE2', '\x93', '\xA7', 0,
1563 '\xE2', '\x93', '\xA8', 0,
1564 '\xE2', '\x93', '\xA9', 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 static const char s_StringToCaseInsensitiveE2B0
[64 * 4] = {
1574 '\xE2', '\xB0', '\xB0', 0,
1575 '\xE2', '\xB0', '\xB1', 0,
1576 '\xE2', '\xB0', '\xB2', 0,
1577 '\xE2', '\xB0', '\xB3', 0,
1578 '\xE2', '\xB0', '\xB4', 0,
1579 '\xE2', '\xB0', '\xB5', 0,
1580 '\xE2', '\xB0', '\xB6', 0,
1581 '\xE2', '\xB0', '\xB7', 0,
1582 '\xE2', '\xB0', '\xB8', 0,
1583 '\xE2', '\xB0', '\xB9', 0,
1584 '\xE2', '\xB0', '\xBA', 0,
1585 '\xE2', '\xB0', '\xBB', 0,
1586 '\xE2', '\xB0', '\xBC', 0,
1587 '\xE2', '\xB0', '\xBD', 0,
1588 '\xE2', '\xB0', '\xBE', 0,
1589 '\xE2', '\xB0', '\xBF', 0,
1590 '\xE2', '\xB1', '\x80', 0,
1591 '\xE2', '\xB1', '\x81', 0,
1592 '\xE2', '\xB1', '\x82', 0,
1593 '\xE2', '\xB1', '\x83', 0,
1594 '\xE2', '\xB1', '\x84', 0,
1595 '\xE2', '\xB1', '\x85', 0,
1596 '\xE2', '\xB1', '\x86', 0,
1597 '\xE2', '\xB1', '\x87', 0,
1598 '\xE2', '\xB1', '\x88', 0,
1599 '\xE2', '\xB1', '\x89', 0,
1600 '\xE2', '\xB1', '\x8A', 0,
1601 '\xE2', '\xB1', '\x8B', 0,
1602 '\xE2', '\xB1', '\x8C', 0,
1603 '\xE2', '\xB1', '\x8D', 0,
1604 '\xE2', '\xB1', '\x8E', 0,
1605 '\xE2', '\xB1', '\x8F', 0,
1606 '\xE2', '\xB1', '\x90', 0,
1607 '\xE2', '\xB1', '\x91', 0,
1608 '\xE2', '\xB1', '\x92', 0,
1609 '\xE2', '\xB1', '\x93', 0,
1610 '\xE2', '\xB1', '\x94', 0,
1611 '\xE2', '\xB1', '\x95', 0,
1612 '\xE2', '\xB1', '\x96', 0,
1613 '\xE2', '\xB1', '\x97', 0,
1614 '\xE2', '\xB1', '\x98', 0,
1615 '\xE2', '\xB1', '\x99', 0,
1616 '\xE2', '\xB1', '\x9A', 0,
1617 '\xE2', '\xB1', '\x9B', 0,
1618 '\xE2', '\xB1', '\x9C', 0,
1619 '\xE2', '\xB1', '\x9D', 0,
1620 '\xE2', '\xB1', '\x9E', 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 static const char s_StringToCaseInsensitiveE2B1
[64 * 4] = {
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 '\xE2', '\xB1', '\xA1', 0,
1633 '\xC9', '\xAB', '\x00', 0,
1634 '\xE1', '\xB5', '\xBD', 0,
1635 '\xC9', '\xBD', '\x00', 0,
1636 0, 0, 0, 0, 0, 0, 0, 0,
1637 '\xE2', '\xB1', '\xA8', 0,
1639 '\xE2', '\xB1', '\xAA', 0,
1641 '\xE2', '\xB1', '\xAC', 0,
1643 '\xC9', '\x91', '\x00', 0,
1644 '\xC9', '\xB1', '\x00', 0,
1645 '\xC9', '\x90', '\x00', 0,
1646 '\xC9', '\x92', '\x00', 0,
1648 '\xE2', '\xB1', '\xB3', 0,
1649 0, 0, 0, 0, 0, 0, 0, 0,
1650 '\xE2', '\xB1', '\xB6', 0,
1651 0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 '\xC8', '\xBF', '\x00', 0,
1654 '\xC9', '\x80', '\x00', 0,
1657 static const char s_StringToCaseInsensitiveE2B2
[64 * 4] = {
1658 '\xE2', '\xB2', '\x81', 0,
1660 '\xE2', '\xB2', '\x83', 0,
1662 '\xE2', '\xB2', '\x85', 0,
1664 '\xE2', '\xB2', '\x87', 0,
1666 '\xE2', '\xB2', '\x89', 0,
1668 '\xE2', '\xB2', '\x8B', 0,
1670 '\xE2', '\xB2', '\x8D', 0,
1672 '\xE2', '\xB2', '\x8F', 0,
1674 '\xE2', '\xB2', '\x91', 0,
1676 '\xE2', '\xB2', '\x93', 0,
1678 '\xE2', '\xB2', '\x95', 0,
1680 '\xE2', '\xB2', '\x97', 0,
1682 '\xE2', '\xB2', '\x99', 0,
1684 '\xE2', '\xB2', '\x9B', 0,
1686 '\xE2', '\xB2', '\x9D', 0,
1688 '\xE2', '\xB2', '\x9F', 0,
1690 '\xE2', '\xB2', '\xA1', 0,
1692 '\xE2', '\xB2', '\xA3', 0,
1694 '\xE2', '\xB2', '\xA5', 0,
1696 '\xE2', '\xB2', '\xA7', 0,
1698 '\xE2', '\xB2', '\xA9', 0,
1700 '\xE2', '\xB2', '\xAB', 0,
1702 '\xE2', '\xB2', '\xAD', 0,
1704 '\xE2', '\xB2', '\xAF', 0,
1706 '\xE2', '\xB2', '\xB1', 0,
1708 '\xE2', '\xB2', '\xB3', 0,
1710 '\xE2', '\xB2', '\xB5', 0,
1712 '\xE2', '\xB2', '\xB7', 0,
1714 '\xE2', '\xB2', '\xB9', 0,
1716 '\xE2', '\xB2', '\xBB', 0,
1718 '\xE2', '\xB2', '\xBD', 0,
1720 '\xE2', '\xB2', '\xBF', 0,
1724 static const char s_StringToCaseInsensitiveE2B3
[64 * 4] = {
1725 '\xE2', '\xB3', '\x81', 0,
1727 '\xE2', '\xB3', '\x83', 0,
1729 '\xE2', '\xB3', '\x85', 0,
1731 '\xE2', '\xB3', '\x87', 0,
1733 '\xE2', '\xB3', '\x89', 0,
1735 '\xE2', '\xB3', '\x8B', 0,
1737 '\xE2', '\xB3', '\x8D', 0,
1739 '\xE2', '\xB3', '\x8F', 0,
1741 '\xE2', '\xB3', '\x91', 0,
1743 '\xE2', '\xB3', '\x93', 0,
1745 '\xE2', '\xB3', '\x95', 0,
1747 '\xE2', '\xB3', '\x97', 0,
1749 '\xE2', '\xB3', '\x99', 0,
1751 '\xE2', '\xB3', '\x9B', 0,
1753 '\xE2', '\xB3', '\x9D', 0,
1755 '\xE2', '\xB3', '\x9F', 0,
1757 '\xE2', '\xB3', '\xA1', 0,
1759 '\xE2', '\xB3', '\xA3', 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 '\xE2', '\xB3', '\xAC', 0,
1764 '\xE2', '\xB3', '\xAE', 0,
1765 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0,
1767 '\xE2', '\xB3', '\xB3', 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 static const char s_StringToCaseInsensitiveEA99
[64 * 4] = {
1773 '\xEA', '\x99', '\x81', 0,
1775 '\xEA', '\x99', '\x83', 0,
1777 '\xEA', '\x99', '\x85', 0,
1779 '\xEA', '\x99', '\x87', 0,
1781 '\xEA', '\x99', '\x89', 0,
1783 '\xEA', '\x99', '\x8B', 0,
1785 '\xEA', '\x99', '\x8D', 0,
1787 '\xEA', '\x99', '\x8F', 0,
1789 '\xEA', '\x99', '\x91', 0,
1791 '\xEA', '\x99', '\x93', 0,
1793 '\xEA', '\x99', '\x95', 0,
1795 '\xEA', '\x99', '\x97', 0,
1797 '\xEA', '\x99', '\x99', 0,
1799 '\xEA', '\x99', '\x9B', 0,
1801 '\xEA', '\x99', '\x9D', 0,
1803 '\xEA', '\x99', '\x9F', 0,
1805 '\xEA', '\x99', '\xA1', 0,
1807 '\xEA', '\x99', '\xA3', 0,
1809 '\xEA', '\x99', '\xA5', 0,
1811 '\xEA', '\x99', '\xA7', 0,
1813 '\xEA', '\x99', '\xA9', 0,
1815 '\xEA', '\x99', '\xAB', 0,
1817 '\xEA', '\x99', '\xAD', 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 static const char s_StringToCaseInsensitiveEA9A
[64 * 4] = {
1824 '\xEA', '\x9A', '\x81', 0,
1826 '\xEA', '\x9A', '\x83', 0,
1828 '\xEA', '\x9A', '\x85', 0,
1830 '\xEA', '\x9A', '\x87', 0,
1832 '\xEA', '\x9A', '\x89', 0,
1834 '\xEA', '\x9A', '\x8B', 0,
1836 '\xEA', '\x9A', '\x8D', 0,
1838 '\xEA', '\x9A', '\x8F', 0,
1840 '\xEA', '\x9A', '\x91', 0,
1842 '\xEA', '\x9A', '\x93', 0,
1844 '\xEA', '\x9A', '\x95', 0,
1846 '\xEA', '\x9A', '\x97', 0,
1848 '\xEA', '\x9A', '\x99', 0,
1850 '\xEA', '\x9A', '\x9B', 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 static const char s_StringToCaseInsensitiveEA9C
[64 * 4] = {
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0,
1864 '\xEA', '\x9C', '\xA3', 0,
1866 '\xEA', '\x9C', '\xA5', 0,
1868 '\xEA', '\x9C', '\xA7', 0,
1870 '\xEA', '\x9C', '\xA9', 0,
1872 '\xEA', '\x9C', '\xAB', 0,
1874 '\xEA', '\x9C', '\xAD', 0,
1876 '\xEA', '\x9C', '\xAF', 0,
1878 0, 0, 0, 0, 0, 0, 0, 0,
1879 '\xEA', '\x9C', '\xB3', 0,
1881 '\xEA', '\x9C', '\xB5', 0,
1883 '\xEA', '\x9C', '\xB7', 0,
1885 '\xEA', '\x9C', '\xB9', 0,
1887 '\xEA', '\x9C', '\xBB', 0,
1889 '\xEA', '\x9C', '\xBD', 0,
1891 '\xEA', '\x9C', '\xBF', 0,
1895 static const char s_StringToCaseInsensitiveEA9D
[64 * 4] = {
1896 '\xEA', '\x9D', '\x81', 0,
1898 '\xEA', '\x9D', '\x83', 0,
1900 '\xEA', '\x9D', '\x85', 0,
1902 '\xEA', '\x9D', '\x87', 0,
1904 '\xEA', '\x9D', '\x89', 0,
1906 '\xEA', '\x9D', '\x8B', 0,
1908 '\xEA', '\x9D', '\x8D', 0,
1910 '\xEA', '\x9D', '\x8F', 0,
1912 '\xEA', '\x9D', '\x91', 0,
1914 '\xEA', '\x9D', '\x93', 0,
1916 '\xEA', '\x9D', '\x95', 0,
1918 '\xEA', '\x9D', '\x97', 0,
1920 '\xEA', '\x9D', '\x99', 0,
1922 '\xEA', '\x9D', '\x9B', 0,
1924 '\xEA', '\x9D', '\x9D', 0,
1926 '\xEA', '\x9D', '\x9F', 0,
1928 '\xEA', '\x9D', '\xA1', 0,
1930 '\xEA', '\x9D', '\xA3', 0,
1932 '\xEA', '\x9D', '\xA5', 0,
1934 '\xEA', '\x9D', '\xA7', 0,
1936 '\xEA', '\x9D', '\xA9', 0,
1938 '\xEA', '\x9D', '\xAB', 0,
1940 '\xEA', '\x9D', '\xAD', 0,
1942 '\xEA', '\x9D', '\xAF', 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 '\xEA', '\x9D', '\xBA', 0,
1948 '\xEA', '\x9D', '\xBC', 0,
1950 '\xE1', '\xB5', '\xB9', 0,
1951 '\xEA', '\x9D', '\xBF', 0,
1955 static const char s_StringToCaseInsensitiveEA9E
[64 * 4] = {
1956 '\xEA', '\x9E', '\x81', 0,
1958 '\xEA', '\x9E', '\x83', 0,
1960 '\xEA', '\x9E', '\x85', 0,
1962 '\xEA', '\x9E', '\x87', 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 '\xEA', '\x9E', '\x8C', 0,
1967 '\xC9', '\xA5', '\x00', 0,
1968 0, 0, 0, 0, 0, 0, 0, 0,
1969 '\xEA', '\x9E', '\x91', 0,
1971 '\xEA', '\x9E', '\x93', 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 '\xEA', '\x9E', '\x97', 0,
1975 '\xEA', '\x9E', '\x99', 0,
1977 '\xEA', '\x9E', '\x9B', 0,
1979 '\xEA', '\x9E', '\x9D', 0,
1981 '\xEA', '\x9E', '\x9F', 0,
1983 '\xEA', '\x9E', '\xA1', 0,
1985 '\xEA', '\x9E', '\xA3', 0,
1987 '\xEA', '\x9E', '\xA5', 0,
1989 '\xEA', '\x9E', '\xA7', 0,
1991 '\xEA', '\x9E', '\xA9', 0,
1993 '\xC9', '\xA6', '\x00', 0,
1994 '\xC9', '\x9C', '\x00', 0,
1995 '\xC9', '\xA1', '\x00', 0,
1996 '\xC9', '\xAC', '\x00', 0,
1997 '\xC9', '\xAA', '\x00', 0,
1999 '\xCA', '\x9E', '\x00', 0,
2000 '\xCA', '\x87', '\x00', 0,
2001 '\xCA', '\x9D', '\x00', 0,
2002 '\xEA', '\xAD', '\x93', 0,
2003 '\xEA', '\x9E', '\xB5', 0,
2005 '\xEA', '\x9E', '\xB7', 0,
2007 '\xEA', '\x9E', '\xB9', 0,
2009 '\xEA', '\x9E', '\xBB', 0,
2011 '\xEA', '\x9E', '\xBD', 0,
2013 '\xEA', '\x9E', '\xBF', 0,
2017 static const char s_StringToCaseInsensitiveEA9F
[64 * 4] = {
2018 0, 0, 0, 0, 0, 0, 0, 0,
2019 '\xEA', '\x9F', '\x83', 0,
2021 '\xEA', '\x9E', '\x94', 0,
2022 '\xCA', '\x82', '\x00', 0,
2023 '\xE1', '\xB6', '\x8E', 0,
2024 '\xEA', '\x9F', '\x88', 0,
2026 '\xEA', '\x9F', '\x8A', 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 '\xEA', '\x9F', '\xB6', 0,
2034 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038 static const char s_StringToCaseInsensitiveEFBC
[64 * 4] = {
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044 '\xEF', '\xBD', '\x81', 0,
2045 '\xEF', '\xBD', '\x82', 0,
2046 '\xEF', '\xBD', '\x83', 0,
2047 '\xEF', '\xBD', '\x84', 0,
2048 '\xEF', '\xBD', '\x85', 0,
2049 '\xEF', '\xBD', '\x86', 0,
2050 '\xEF', '\xBD', '\x87', 0,
2051 '\xEF', '\xBD', '\x88', 0,
2052 '\xEF', '\xBD', '\x89', 0,
2053 '\xEF', '\xBD', '\x8A', 0,
2054 '\xEF', '\xBD', '\x8B', 0,
2055 '\xEF', '\xBD', '\x8C', 0,
2056 '\xEF', '\xBD', '\x8D', 0,
2057 '\xEF', '\xBD', '\x8E', 0,
2058 '\xEF', '\xBD', '\x8F', 0,
2059 '\xEF', '\xBD', '\x90', 0,
2060 '\xEF', '\xBD', '\x91', 0,
2061 '\xEF', '\xBD', '\x92', 0,
2062 '\xEF', '\xBD', '\x93', 0,
2063 '\xEF', '\xBD', '\x94', 0,
2064 '\xEF', '\xBD', '\x95', 0,
2065 '\xEF', '\xBD', '\x96', 0,
2066 '\xEF', '\xBD', '\x97', 0,
2067 '\xEF', '\xBD', '\x98', 0,
2068 '\xEF', '\xBD', '\x99', 0,
2069 '\xEF', '\xBD', '\x9A', 0,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 static const char s_StringToCaseInsensitiveF09090
[64 * 4] = {
2074 '\xF0', '\x90', '\x90', 0,
2075 '\xF0', '\x90', '\x90', 0,
2076 '\xF0', '\x90', '\x90', 0,
2077 '\xF0', '\x90', '\x90', 0,
2078 '\xF0', '\x90', '\x90', 0,
2079 '\xF0', '\x90', '\x90', 0,
2080 '\xF0', '\x90', '\x90', 0,
2081 '\xF0', '\x90', '\x90', 0,
2082 '\xF0', '\x90', '\x90', 0,
2083 '\xF0', '\x90', '\x90', 0,
2084 '\xF0', '\x90', '\x90', 0,
2085 '\xF0', '\x90', '\x90', 0,
2086 '\xF0', '\x90', '\x90', 0,
2087 '\xF0', '\x90', '\x90', 0,
2088 '\xF0', '\x90', '\x90', 0,
2089 '\xF0', '\x90', '\x90', 0,
2090 '\xF0', '\x90', '\x90', 0,
2091 '\xF0', '\x90', '\x90', 0,
2092 '\xF0', '\x90', '\x90', 0,
2093 '\xF0', '\x90', '\x90', 0,
2094 '\xF0', '\x90', '\x90', 0,
2095 '\xF0', '\x90', '\x90', 0,
2096 '\xF0', '\x90', '\x90', 0,
2097 '\xF0', '\x90', '\x90', 0,
2098 '\xF0', '\x90', '\x91', 0,
2099 '\xF0', '\x90', '\x91', 0,
2100 '\xF0', '\x90', '\x91', 0,
2101 '\xF0', '\x90', '\x91', 0,
2102 '\xF0', '\x90', '\x91', 0,
2103 '\xF0', '\x90', '\x91', 0,
2104 '\xF0', '\x90', '\x91', 0,
2105 '\xF0', '\x90', '\x91', 0,
2106 '\xF0', '\x90', '\x91', 0,
2107 '\xF0', '\x90', '\x91', 0,
2108 '\xF0', '\x90', '\x91', 0,
2109 '\xF0', '\x90', '\x91', 0,
2110 '\xF0', '\x90', '\x91', 0,
2111 '\xF0', '\x90', '\x91', 0,
2112 '\xF0', '\x90', '\x91', 0,
2113 '\xF0', '\x90', '\x91', 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 static const char s_StringToCaseInsensitiveF09092
[64 * 4] = {
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 '\xF0', '\x90', '\x93', 0,
2127 '\xF0', '\x90', '\x93', 0,
2128 '\xF0', '\x90', '\x93', 0,
2129 '\xF0', '\x90', '\x93', 0,
2130 '\xF0', '\x90', '\x93', 0,
2131 '\xF0', '\x90', '\x93', 0,
2132 '\xF0', '\x90', '\x93', 0,
2133 '\xF0', '\x90', '\x93', 0,
2134 '\xF0', '\x90', '\x93', 0,
2135 '\xF0', '\x90', '\x93', 0,
2136 '\xF0', '\x90', '\x93', 0,
2137 '\xF0', '\x90', '\x93', 0,
2138 '\xF0', '\x90', '\x93', 0,
2139 '\xF0', '\x90', '\x93', 0,
2140 '\xF0', '\x90', '\x93', 0,
2141 '\xF0', '\x90', '\x93', 0,
2144 static const char s_StringToCaseInsensitiveF09093
[64 * 4] = {
2145 '\xF0', '\x90', '\x93', 0,
2146 '\xF0', '\x90', '\x93', 0,
2147 '\xF0', '\x90', '\x93', 0,
2148 '\xF0', '\x90', '\x93', 0,
2149 '\xF0', '\x90', '\x93', 0,
2150 '\xF0', '\x90', '\x93', 0,
2151 '\xF0', '\x90', '\x93', 0,
2152 '\xF0', '\x90', '\x93', 0,
2153 '\xF0', '\x90', '\x93', 0,
2154 '\xF0', '\x90', '\x93', 0,
2155 '\xF0', '\x90', '\x93', 0,
2156 '\xF0', '\x90', '\x93', 0,
2157 '\xF0', '\x90', '\x93', 0,
2158 '\xF0', '\x90', '\x93', 0,
2159 '\xF0', '\x90', '\x93', 0,
2160 '\xF0', '\x90', '\x93', 0,
2161 '\xF0', '\x90', '\x93', 0,
2162 '\xF0', '\x90', '\x93', 0,
2163 '\xF0', '\x90', '\x93', 0,
2164 '\xF0', '\x90', '\x93', 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 static const char s_StringToCaseInsensitiveF090B2
[64 * 4] = {
2174 '\xF0', '\x90', '\xB3', 0,
2175 '\xF0', '\x90', '\xB3', 0,
2176 '\xF0', '\x90', '\xB3', 0,
2177 '\xF0', '\x90', '\xB3', 0,
2178 '\xF0', '\x90', '\xB3', 0,
2179 '\xF0', '\x90', '\xB3', 0,
2180 '\xF0', '\x90', '\xB3', 0,
2181 '\xF0', '\x90', '\xB3', 0,
2182 '\xF0', '\x90', '\xB3', 0,
2183 '\xF0', '\x90', '\xB3', 0,
2184 '\xF0', '\x90', '\xB3', 0,
2185 '\xF0', '\x90', '\xB3', 0,
2186 '\xF0', '\x90', '\xB3', 0,
2187 '\xF0', '\x90', '\xB3', 0,
2188 '\xF0', '\x90', '\xB3', 0,
2189 '\xF0', '\x90', '\xB3', 0,
2190 '\xF0', '\x90', '\xB3', 0,
2191 '\xF0', '\x90', '\xB3', 0,
2192 '\xF0', '\x90', '\xB3', 0,
2193 '\xF0', '\x90', '\xB3', 0,
2194 '\xF0', '\x90', '\xB3', 0,
2195 '\xF0', '\x90', '\xB3', 0,
2196 '\xF0', '\x90', '\xB3', 0,
2197 '\xF0', '\x90', '\xB3', 0,
2198 '\xF0', '\x90', '\xB3', 0,
2199 '\xF0', '\x90', '\xB3', 0,
2200 '\xF0', '\x90', '\xB3', 0,
2201 '\xF0', '\x90', '\xB3', 0,
2202 '\xF0', '\x90', '\xB3', 0,
2203 '\xF0', '\x90', '\xB3', 0,
2204 '\xF0', '\x90', '\xB3', 0,
2205 '\xF0', '\x90', '\xB3', 0,
2206 '\xF0', '\x90', '\xB3', 0,
2207 '\xF0', '\x90', '\xB3', 0,
2208 '\xF0', '\x90', '\xB3', 0,
2209 '\xF0', '\x90', '\xB3', 0,
2210 '\xF0', '\x90', '\xB3', 0,
2211 '\xF0', '\x90', '\xB3', 0,
2212 '\xF0', '\x90', '\xB3', 0,
2213 '\xF0', '\x90', '\xB3', 0,
2214 '\xF0', '\x90', '\xB3', 0,
2215 '\xF0', '\x90', '\xB3', 0,
2216 '\xF0', '\x90', '\xB3', 0,
2217 '\xF0', '\x90', '\xB3', 0,
2218 '\xF0', '\x90', '\xB3', 0,
2219 '\xF0', '\x90', '\xB3', 0,
2220 '\xF0', '\x90', '\xB3', 0,
2221 '\xF0', '\x90', '\xB3', 0,
2222 '\xF0', '\x90', '\xB3', 0,
2223 '\xF0', '\x90', '\xB3', 0,
2224 '\xF0', '\x90', '\xB3', 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 static const char s_StringToCaseInsensitiveF091A2
[64 * 4] = {
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 '\xF0', '\x91', '\xA3', 0,
2235 '\xF0', '\x91', '\xA3', 0,
2236 '\xF0', '\x91', '\xA3', 0,
2237 '\xF0', '\x91', '\xA3', 0,
2238 '\xF0', '\x91', '\xA3', 0,
2239 '\xF0', '\x91', '\xA3', 0,
2240 '\xF0', '\x91', '\xA3', 0,
2241 '\xF0', '\x91', '\xA3', 0,
2242 '\xF0', '\x91', '\xA3', 0,
2243 '\xF0', '\x91', '\xA3', 0,
2244 '\xF0', '\x91', '\xA3', 0,
2245 '\xF0', '\x91', '\xA3', 0,
2246 '\xF0', '\x91', '\xA3', 0,
2247 '\xF0', '\x91', '\xA3', 0,
2248 '\xF0', '\x91', '\xA3', 0,
2249 '\xF0', '\x91', '\xA3', 0,
2250 '\xF0', '\x91', '\xA3', 0,
2251 '\xF0', '\x91', '\xA3', 0,
2252 '\xF0', '\x91', '\xA3', 0,
2253 '\xF0', '\x91', '\xA3', 0,
2254 '\xF0', '\x91', '\xA3', 0,
2255 '\xF0', '\x91', '\xA3', 0,
2256 '\xF0', '\x91', '\xA3', 0,
2257 '\xF0', '\x91', '\xA3', 0,
2258 '\xF0', '\x91', '\xA3', 0,
2259 '\xF0', '\x91', '\xA3', 0,
2260 '\xF0', '\x91', '\xA3', 0,
2261 '\xF0', '\x91', '\xA3', 0,
2262 '\xF0', '\x91', '\xA3', 0,
2263 '\xF0', '\x91', '\xA3', 0,
2264 '\xF0', '\x91', '\xA3', 0,
2265 '\xF0', '\x91', '\xA3', 0,
2268 static const char s_StringToCaseInsensitiveF096B9
[64 * 4] = {
2269 '\xF0', '\x96', '\xB9', 0,
2270 '\xF0', '\x96', '\xB9', 0,
2271 '\xF0', '\x96', '\xB9', 0,
2272 '\xF0', '\x96', '\xB9', 0,
2273 '\xF0', '\x96', '\xB9', 0,
2274 '\xF0', '\x96', '\xB9', 0,
2275 '\xF0', '\x96', '\xB9', 0,
2276 '\xF0', '\x96', '\xB9', 0,
2277 '\xF0', '\x96', '\xB9', 0,
2278 '\xF0', '\x96', '\xB9', 0,
2279 '\xF0', '\x96', '\xB9', 0,
2280 '\xF0', '\x96', '\xB9', 0,
2281 '\xF0', '\x96', '\xB9', 0,
2282 '\xF0', '\x96', '\xB9', 0,
2283 '\xF0', '\x96', '\xB9', 0,
2284 '\xF0', '\x96', '\xB9', 0,
2285 '\xF0', '\x96', '\xB9', 0,
2286 '\xF0', '\x96', '\xB9', 0,
2287 '\xF0', '\x96', '\xB9', 0,
2288 '\xF0', '\x96', '\xB9', 0,
2289 '\xF0', '\x96', '\xB9', 0,
2290 '\xF0', '\x96', '\xB9', 0,
2291 '\xF0', '\x96', '\xB9', 0,
2292 '\xF0', '\x96', '\xB9', 0,
2293 '\xF0', '\x96', '\xB9', 0,
2294 '\xF0', '\x96', '\xB9', 0,
2295 '\xF0', '\x96', '\xB9', 0,
2296 '\xF0', '\x96', '\xB9', 0,
2297 '\xF0', '\x96', '\xB9', 0,
2298 '\xF0', '\x96', '\xB9', 0,
2299 '\xF0', '\x96', '\xB9', 0,
2300 '\xF0', '\x96', '\xB9', 0,
2301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2307 static const char s_StringToCaseInsensitiveF09EA4
[64 * 4] = {
2308 '\xF0', '\x9E', '\xA4', 0,
2309 '\xF0', '\x9E', '\xA4', 0,
2310 '\xF0', '\x9E', '\xA4', 0,
2311 '\xF0', '\x9E', '\xA4', 0,
2312 '\xF0', '\x9E', '\xA4', 0,
2313 '\xF0', '\x9E', '\xA4', 0,
2314 '\xF0', '\x9E', '\xA4', 0,
2315 '\xF0', '\x9E', '\xA4', 0,
2316 '\xF0', '\x9E', '\xA4', 0,
2317 '\xF0', '\x9E', '\xA4', 0,
2318 '\xF0', '\x9E', '\xA4', 0,
2319 '\xF0', '\x9E', '\xA4', 0,
2320 '\xF0', '\x9E', '\xA4', 0,
2321 '\xF0', '\x9E', '\xA4', 0,
2322 '\xF0', '\x9E', '\xA4', 0,
2323 '\xF0', '\x9E', '\xA4', 0,
2324 '\xF0', '\x9E', '\xA4', 0,
2325 '\xF0', '\x9E', '\xA4', 0,
2326 '\xF0', '\x9E', '\xA4', 0,
2327 '\xF0', '\x9E', '\xA4', 0,
2328 '\xF0', '\x9E', '\xA4', 0,
2329 '\xF0', '\x9E', '\xA4', 0,
2330 '\xF0', '\x9E', '\xA4', 0,
2331 '\xF0', '\x9E', '\xA4', 0,
2332 '\xF0', '\x9E', '\xA4', 0,
2333 '\xF0', '\x9E', '\xA4', 0,
2334 '\xF0', '\x9E', '\xA4', 0,
2335 '\xF0', '\x9E', '\xA4', 0,
2336 '\xF0', '\x9E', '\xA4', 0,
2337 '\xF0', '\x9E', '\xA4', 0,
2338 '\xF0', '\x9E', '\xA5', 0,
2339 '\xF0', '\x9E', '\xA5', 0,
2340 '\xF0', '\x9E', '\xA5', 0,
2341 '\xF0', '\x9E', '\xA5', 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2348 static const char *s_StringToCaseInsensitiveMap
[32] = {
2350 s_StringToCaseInsensitiveC2
,
2351 s_StringToCaseInsensitiveC3
,
2352 s_StringToCaseInsensitiveC4
,
2353 s_StringToCaseInsensitiveC5
,
2354 s_StringToCaseInsensitiveC6
,
2355 s_StringToCaseInsensitiveC7
,
2356 s_StringToCaseInsensitiveC8
,
2357 s_StringToCaseInsensitiveC9
,
2359 s_StringToCaseInsensitiveCD
,
2360 s_StringToCaseInsensitiveCE
,
2361 s_StringToCaseInsensitiveCF
,
2362 s_StringToCaseInsensitiveD0
,
2363 s_StringToCaseInsensitiveD1
,
2364 s_StringToCaseInsensitiveD2
,
2365 s_StringToCaseInsensitiveD3
,
2366 s_StringToCaseInsensitiveD4
,
2367 s_StringToCaseInsensitiveD5
,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2371 static const char *s_StringToCaseInsensitiveMapE1
[64] = {
2373 s_StringToCaseInsensitiveE182
,
2374 s_StringToCaseInsensitiveE183
,
2375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2376 s_StringToCaseInsensitiveE18E
,
2377 s_StringToCaseInsensitiveE18F
,
2378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2379 s_StringToCaseInsensitiveE1B2
,
2381 s_StringToCaseInsensitiveE1B8
,
2382 s_StringToCaseInsensitiveE1B9
,
2383 s_StringToCaseInsensitiveE1BA
,
2384 s_StringToCaseInsensitiveE1BB
,
2385 s_StringToCaseInsensitiveE1BC
,
2386 s_StringToCaseInsensitiveE1BD
,
2387 s_StringToCaseInsensitiveE1BE
,
2388 s_StringToCaseInsensitiveE1BF
,
2391 static const char *s_StringToCaseInsensitiveMapE2
[64] = {
2393 s_StringToCaseInsensitiveE284
,
2394 s_StringToCaseInsensitiveE285
,
2395 s_StringToCaseInsensitiveE286
,
2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 s_StringToCaseInsensitiveE292
,
2398 s_StringToCaseInsensitiveE293
,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400 s_StringToCaseInsensitiveE2B0
,
2401 s_StringToCaseInsensitiveE2B1
,
2402 s_StringToCaseInsensitiveE2B2
,
2403 s_StringToCaseInsensitiveE2B3
,
2404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 static const char *s_StringToCaseInsensitiveMapEA
[64] = {
2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2409 s_StringToCaseInsensitiveEA99
,
2410 s_StringToCaseInsensitiveEA9A
,
2412 s_StringToCaseInsensitiveEA9C
,
2413 s_StringToCaseInsensitiveEA9D
,
2414 s_StringToCaseInsensitiveEA9E
,
2415 s_StringToCaseInsensitiveEA9F
,
2416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419 static const char *s_StringToCaseInsensitiveMapEF
[64] = {
2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2421 s_StringToCaseInsensitiveEFBC
,
2425 static const char **s_StringToCaseInsensitiveMapMap
[16] = {
2427 s_StringToCaseInsensitiveMapE1
,
2428 s_StringToCaseInsensitiveMapE2
,
2429 0, 0, 0, 0, 0, 0, 0,
2430 s_StringToCaseInsensitiveMapEA
,
2432 s_StringToCaseInsensitiveMapEF
,
2435 static const char *s_StringToCaseInsensitiveMapF090
[64] = {
2436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437 s_StringToCaseInsensitiveF09090
,
2439 s_StringToCaseInsensitiveF09092
,
2440 s_StringToCaseInsensitiveF09093
,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 s_StringToCaseInsensitiveF090B2
,
2443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2446 static const char *s_StringToCaseInsensitiveMapF091
[64] = {
2447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2448 s_StringToCaseInsensitiveF091A2
,
2449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2452 static const char *s_StringToCaseInsensitiveMapF096
[64] = {
2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2454 s_StringToCaseInsensitiveF096B9
,
2458 static const char *s_StringToCaseInsensitiveMapF09E
[64] = {
2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2460 s_StringToCaseInsensitiveF09EA4
,
2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2464 static const char **s_StringToCaseInsensitiveMapMapF0
[64] = {
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2466 s_StringToCaseInsensitiveMapF090
,
2467 s_StringToCaseInsensitiveMapF091
,
2469 s_StringToCaseInsensitiveMapF096
,
2470 0, 0, 0, 0, 0, 0, 0,
2471 s_StringToCaseInsensitiveMapF09E
,
2472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2475 static const char ***s_StringToCaseInsensitiveMapMapMap
[8] = {
2476 s_StringToCaseInsensitiveMapMapF0
,
2477 0, 0, 0, 0, 0, 0, 0,
2480 static const char s_LowerAscii
[] = {
2481 'a', 0, 'b', 0, 'c', 0, 'd', 0, 'e', 0, 'f', 0, 'g', 0,
2482 'h', 0, 'i', 0, 'j', 0, 'k', 0, 'l', 0, 'm', 0, 'n', 0,
2483 'o', 0, 'p', 0, 'q', 0, 'r', 0, 's', 0, 't', 0, 'u', 0,
2484 'v', 0, 'w', 0, 'x', 0, 'y', 0, 'z', 0, 0, 0, 0, 0
2487 // ***************************************************************************
2489 const char *fetchToCaseInsensitiveAsUtf8(const char **str
)
2491 unsigned char c
= *(*str
);
2492 unsigned char d
, e
, f
;
2495 if (c
>= 'A' && c
<= 'Z')
2499 return &s_LowerAscii
[(c
- 'A') << 1];
2504 // non-starting byte
2509 if (((d
= (*str
)[1]) & 0xC0) == 0x80)
2511 const char *table
= s_StringToCaseInsensitiveMap
[c
& 0x1F];
2514 unsigned char idx
= (d
& 0x3F) << 2;
2526 if (((d
= (*str
)[1]) & 0xC0) == 0x80 && ((e
= (*str
)[2]) & 0xC0) == 0x80)
2528 const char **map
= s_StringToCaseInsensitiveMapMap
[c
& 0x0F];
2531 const char *table
= map
[d
& 0x3F];
2534 unsigned char idx
= (e
& 0x3F) << 2;
2547 if (((d
= (*str
)[1]) & 0xC0) == 0x80 && ((e
= (*str
)[2]) & 0xC0) == 0x80 && ((f
= (*str
)[3]) & 0xC0) == 0x80)
2549 const char ***mapMap
= s_StringToCaseInsensitiveMapMapMap
[c
& 0x07];
2552 const char **map
= mapMap
[d
& 0x3F];
2555 const char *table
= map
[e
& 0x3F];
2558 unsigned char idx
= (f
& 0x3F) << 2;
2572 // ***************************************************************************
2574 int compareCaseInsensitive(const char *a
, const char *b
)
2576 // while (*a != 0 && *b != 0)
2579 const char *ca
= fetchToCaseInsensitiveAsUtf8(&a
);
2580 const char *cb
= fetchToCaseInsensitiveAsUtf8(&b
);
2583 // Easy case, ASCII compare or junk
2586 if (*a
> * b
) return 1;
2589 else if (!*a
) // Equal and NUL, ends both
2598 // String a changed lowercase, iterate ca until NUL alongside b
2604 if (*ca
> *b
) return 1;
2613 // String b changed lowercase, iterate a alongside cb until NUL
2619 if (*a
> *cb
) return 1;
2628 // Both strings changed lowercase
2629 if (ca
!= cb
) // Only check if it's a different result
2635 if (*ca
> *cb
) return 1;
2640 } while (*ca
&& *cb
);
2644 // if (*a == *b) return 0;
2645 // if (*a > *b) return 1;
2649 // ***************************************************************************
2651 int compareCaseInsensitive(const char *a
, size_t lenA
, const char *b
, size_t lenB
)
2653 const char *ma
= a
+ lenA
;
2654 const char *mb
= b
+ lenB
;
2661 return 0; // Both strings ended
2665 return 1; // A is longer
2670 return -1; // B is longer
2672 const char *ca
= fetchToCaseInsensitiveAsUtf8(&a
);
2673 const char *cb
= fetchToCaseInsensitiveAsUtf8(&b
);
2676 // Easy case, ASCII compare or junk
2679 if (*a
> * b
) return 1;
2683 else if (!*a) // Equal and NUL, ends both
2693 // String a changed lowercase, iterate ca until NUL alongside b
2699 if (*ca
> *b
) return 1;
2708 // String b changed lowercase, iterate a alongside cb until NUL
2714 if (*a
> *cb
) return 1;
2723 // Both strings changed lowercase
2724 if (ca
!= cb
) // Only check if it's a different result
2730 if (*ca
> *cb
) return 1;
2735 } while (*ca
&& *cb
);
2741 // ***************************************************************************
2743 NL_FORCE_INLINE
void appendToCaseInsensitiveAsUtf8(std::string
&res
, const char *str
, ptrdiff_t &i
)
2745 unsigned char c
= str
[i
];
2746 unsigned char d
, e
, f
;
2749 if (c
>= 'A' && c
<= 'Z')
2757 // non-starting byte
2762 if (((d
= str
[i
+ 1]) & 0xC0) == 0x80)
2764 const char *table
= s_StringToCaseInsensitiveMap
[c
& 0x1F];
2767 unsigned char idx
= (d
& 0x3F) << 2;
2780 if (((d
= str
[i
+ 1]) & 0xC0) == 0x80 && ((e
= str
[i
+ 2]) & 0xC0) == 0x80)
2782 const char **map
= s_StringToCaseInsensitiveMapMap
[c
& 0x0F];
2785 const char *table
= map
[d
& 0x3F];
2788 unsigned char idx
= (e
& 0x3F) << 2;
2802 if (((d
= str
[i
+ 1]) & 0xC0) == 0x80 && ((e
= str
[i
+ 2]) & 0xC0) == 0x80 && ((f
= str
[i
+ 3]) & 0xC0) == 0x80)
2804 const char ***mapMap
= s_StringToCaseInsensitiveMapMapMap
[c
& 0x07];
2807 const char **map
= mapMap
[d
& 0x3F];
2810 const char *table
= map
[e
& 0x3F];
2813 unsigned char idx
= (f
& 0x3F) << 2;
2829 // ***************************************************************************
2831 std::string
toCaseInsensitive(const char *str
)
2833 // UTF-8 toCaseInsensitive
2835 for (ptrdiff_t i
= 0; str
[i
];)
2836 appendToCaseInsensitiveAsUtf8(res
, str
, i
);
2840 // ***************************************************************************
2842 std::string
toCaseInsensitive(const std::string
&str
)
2844 // UTF-8 toCaseInsensitive
2846 res
.reserve(str
.size() + (str
.size() >> 2));
2847 const char *cstr
= &str
[0];
2848 for (ptrdiff_t i
= 0; i
< (ptrdiff_t)str
.size();)
2849 appendToCaseInsensitiveAsUtf8(res
, cstr
, i
);