Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/unicode.cc

Issue 3030026: Updated unicode library. (Closed)
Patch Set: Removed outdated comments. Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/unicode.h ('k') | src/unicode-inl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2007-2008 the V8 project authors. All rights reserved. 1 // Copyright 2007-2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
11 // with the distribution. 11 // with the distribution.
12 // * Neither the name of Google Inc. nor the names of its 12 // * Neither the name of Google Inc. nor the names of its
13 // contributors may be used to endorse or promote products derived 13 // contributors may be used to endorse or promote products derived
14 // from this software without specific prior written permission. 14 // from this software without specific prior written permission.
15 // 15 //
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 // 27 //
28 // This file was generated at 2008-11-25 16:02:40.592795 28 // This file was generated at 2010-07-29 14:28:54.987073
29 29
30 #include "unicode-inl.h" 30 #include "unicode-inl.h"
31 #include <stdlib.h> 31 #include <stdlib.h>
32 #include <stdio.h> 32 #include <stdio.h>
33 33
34 namespace unibrow { 34 namespace unibrow {
35 35
36 static const int kStartBit = (1 << 30); 36 static const int kStartBit = (1 << 30);
37 static const int kChunkBits = (1 << 15); 37 static const int kChunkBits = (1 << 15);
38 38
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 void CharacterStream::Seek(unsigned position) { 324 void CharacterStream::Seek(unsigned position) {
325 Rewind(); 325 Rewind();
326 for (unsigned i = 0; i < position; i++) { 326 for (unsigned i = 0; i < position; i++) {
327 GetNext(); 327 GetNext();
328 } 328 }
329 } 329 }
330 330
331 // Uppercase: point.category == 'Lu' 331 // Uppercase: point.category == 'Lu'
332 332
333 static const uint16_t kUppercaseTable0Size = 509; 333 static const uint16_t kUppercaseTable0Size = 509;
334 static const int32_t kUppercaseTable0[509] = { 1073741889, 90, 1073742016, 214, 1073742040, 222, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280 , 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 313 , 315, 317, 319, 321, 323, 325, 327, 330, 332, 334, 336, 338, 340, 342, 344, 346 , 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 10737422 00, 377, 379, 381, 1073742209, 386, 388, 1073742214, 391, 1073742217, 395, 10737 42222, 401, 1073742227, 404, 1073742230, 408, 1073742236, 413, 1073742239, 416, 418, 420, 1073742246, 423, 425, 428, 1073742254, 431, 1073742257, 435, 437, 1073 742263, 440, 444, 452, 455, 458, 461, 463, 465, 467, 469, 471, 473, 475, 478, 48 0, 482, 484, 486, 488, 490, 492, 494, 497, 500, 1073742326, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 1073742394, 571, 1073742397, 5 74, 577, 1073742403, 582, 584, 586, 588, 590, 902, 1073742728, 906, 908, 1073742 734, 911, 1073742737, 929, 1073742755, 939, 1073742802, 980, 984, 986, 988, 990, 992, 994, 996, 998, 1000, 1002, 1004, 1006, 1012, 1015, 1073742841, 1018, 10737 42845, 1071, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1 142, 1144, 1146, 1148, 1150, 1152, 1162, 1164, 1166, 1168, 1170, 1172, 1174, 117 6, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1073743040, 1217, 1219, 1221, 1223, 1225, 1 227, 1229, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 125 4, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298, 1073743153, 1366, 1073746 080, 4293, 7680, 7682, 7684, 7686, 7688, 7690, 7692, 7694, 7696, 7698, 7700, 770 2, 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, 7752, 7754, 7 756, 7758, 7760, 7762, 7764, 7766, 7768, 7770, 7772, 7774, 7776, 7778, 7780, 778 2, 7784, 7786, 7788, 7790, 7792, 7794, 7796, 7798, 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7840, 7842, 7844, 7 846, 7848, 7850, 7852, 7854, 7856, 7858, 7860, 7862, 7864, 7866, 7868, 7870, 787 2, 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, 7922, 7924, 7 926, 7928, 1073749768, 7951, 1073749784, 7965, 1073749800, 7983, 1073749816, 799 9, 1073749832, 8013, 8025, 8027, 8029, 8031, 1073749864, 8047, 1073749944, 8123, 1073749960, 8139, 1073749976, 8155, 1073749992, 8172, 1073750008, 8187, 8450, 8 455, 1073750283, 8461, 1073750288, 8466, 8469, 1073750297, 8477, 8484, 8486, 848 8, 1073750314, 8493, 1073750320, 8499, 1073750334, 8511, 8517, 8579, 1073753088, 11310, 11360, 1073753186, 11364, 11367, 11369, 11371, 11381, 11392, 11394, 1139 6, 11398, 11400, 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11438, 11440, 114 42, 11444, 11446, 11448, 11450, 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, 11472, 11474, 11476, 11478, 11480, 11482, 11484, 11486, 11 488, 11490 }; // NOLINT 334 static const int32_t kUppercaseTable0[509] = {
335 1073741889, 90, 1073742016, 214, 1073742040, 222, 256, 258, // NOLINT
336 260, 262, 264, 266, 268, 270, 272, 274, // NOLINT
337 276, 278, 280, 282, 284, 286, 288, 290, // NOLINT
338 292, 294, 296, 298, 300, 302, 304, 306, // NOLINT
339 308, 310, 313, 315, 317, 319, 321, 323, // NOLINT
340 325, 327, 330, 332, 334, 336, 338, 340, // NOLINT
341 342, 344, 346, 348, 350, 352, 354, 356, // NOLINT
342 358, 360, 362, 364, 366, 368, 370, 372, // NOLINT
343 374, 1073742200, 377, 379, 381, 1073742209, 386, 388, // NOLINT
344 1073742214, 391, 1073742217, 395, 1073742222, 401, 1073742227, 404, // NOLINT
345 1073742230, 408, 1073742236, 413, 1073742239, 416, 418, 420, // NOLINT
346 1073742246, 423, 425, 428, 1073742254, 431, 1073742257, 435, // NOLINT
347 437, 1073742263, 440, 444, 452, 455, 458, 461, // NOLINT
348 463, 465, 467, 469, 471, 473, 475, 478, // NOLINT
349 480, 482, 484, 486, 488, 490, 492, 494, // NOLINT
350 497, 500, 1073742326, 504, 506, 508, 510, 512, // NOLINT
351 514, 516, 518, 520, 522, 524, 526, 528, // NOLINT
352 530, 532, 534, 536, 538, 540, 542, 544, // NOLINT
353 546, 548, 550, 552, 554, 556, 558, 560, // NOLINT
354 562, 1073742394, 571, 1073742397, 574, 577, 1073742403, 582, // NOLINT
355 584, 586, 588, 590, 902, 1073742728, 906, 908, // NOLINT
356 1073742734, 911, 1073742737, 929, 1073742755, 939, 1073742802, 980, // NOLINT
357 984, 986, 988, 990, 992, 994, 996, 998, // NOLINT
358 1000, 1002, 1004, 1006, 1012, 1015, 1073742841, 1018, // NOLINT
359 1073742845, 1071, 1120, 1122, 1124, 1126, 1128, 1130, // NOLINT
360 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, // NOLINT
361 1148, 1150, 1152, 1162, 1164, 1166, 1168, 1170, // NOLINT
362 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, // NOLINT
363 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, // NOLINT
364 1204, 1206, 1208, 1210, 1212, 1214, 1073743040, 1217, // NOLINT
365 1219, 1221, 1223, 1225, 1227, 1229, 1232, 1234, // NOLINT
366 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, // NOLINT
367 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, // NOLINT
368 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, // NOLINT
369 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298, // NOLINT
370 1073743153, 1366, 1073746080, 4293, 7680, 7682, 7684, 7686, // NOLINT
371 7688, 7690, 7692, 7694, 7696, 7698, 7700, 7702, // NOLINT
372 7704, 7706, 7708, 7710, 7712, 7714, 7716, 7718, // NOLINT
373 7720, 7722, 7724, 7726, 7728, 7730, 7732, 7734, // NOLINT
374 7736, 7738, 7740, 7742, 7744, 7746, 7748, 7750, // NOLINT
375 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766, // NOLINT
376 7768, 7770, 7772, 7774, 7776, 7778, 7780, 7782, // NOLINT
377 7784, 7786, 7788, 7790, 7792, 7794, 7796, 7798, // NOLINT
378 7800, 7802, 7804, 7806, 7808, 7810, 7812, 7814, // NOLINT
379 7816, 7818, 7820, 7822, 7824, 7826, 7828, 7840, // NOLINT
380 7842, 7844, 7846, 7848, 7850, 7852, 7854, 7856, // NOLINT
381 7858, 7860, 7862, 7864, 7866, 7868, 7870, 7872, // NOLINT
382 7874, 7876, 7878, 7880, 7882, 7884, 7886, 7888, // NOLINT
383 7890, 7892, 7894, 7896, 7898, 7900, 7902, 7904, // NOLINT
384 7906, 7908, 7910, 7912, 7914, 7916, 7918, 7920, // NOLINT
385 7922, 7924, 7926, 7928, 1073749768, 7951, 1073749784, 7965, // NOLINT
386 1073749800, 7983, 1073749816, 7999, 1073749832, 8013, 8025, 8027, // NOLINT
387 8029, 8031, 1073749864, 8047, 1073749944, 8123, 1073749960, 8139, // NOLINT
388 1073749976, 8155, 1073749992, 8172, 1073750008, 8187, 8450, 8455, // NOLINT
389 1073750283, 8461, 1073750288, 8466, 8469, 1073750297, 8477, 8484, // NOLINT
390 8486, 8488, 1073750314, 8493, 1073750320, 8499, 1073750334, 8511, // NOLINT
391 8517, 8579, 1073753088, 11310, 11360, 1073753186, 11364, 11367, // NOLINT
392 11369, 11371, 11381, 11392, 11394, 11396, 11398, 11400, // NOLINT
393 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, // NOLINT
394 11418, 11420, 11422, 11424, 11426, 11428, 11430, 11432, // NOLINT
395 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, // NOLINT
396 11450, 11452, 11454, 11456, 11458, 11460, 11462, 11464, // NOLINT
397 11466, 11468, 11470, 11472, 11474, 11476, 11478, 11480, // NOLINT
398 11482, 11484, 11486, 11488, 11490 }; // NOLINT
335 static const uint16_t kUppercaseTable1Size = 2; 399 static const uint16_t kUppercaseTable1Size = 2;
336 static const int32_t kUppercaseTable1[2] = { 1073774369, 32570 }; // NOLINT 400 static const int32_t kUppercaseTable1[2] = {
337 static const uint16_t kUppercaseTable2Size = 2; 401 1073774369, 32570 }; // NOLINT
338 static const int32_t kUppercaseTable2[2] = { 1073742848, 1063 }; // NOLINT
339 static const uint16_t kUppercaseTable3Size = 58;
340 static const int32_t kUppercaseTable3[58] = { 1073763328, 21529, 1073763380, 215 81, 1073763432, 21633, 21660, 1073763486, 21663, 21666, 1073763493, 21670, 10737 63497, 21676, 1073763502, 21685, 1073763536, 21737, 1073763588, 21765, 107376359 1, 21770, 1073763597, 21780, 1073763606, 21788, 1073763640, 21817, 1073763643, 2 1822, 1073763648, 21828, 21830, 1073763658, 21840, 1073763692, 21893, 1073763744 , 21945, 1073763796, 21997, 1073763848, 22049, 1073763900, 22101, 1073763952, 22 153, 1073764008, 22208, 1073764066, 22266, 1073764124, 22324, 1073764182, 22382, 1073764240, 22440, 22474 }; // NOLINT
341 bool Uppercase::Is(uchar c) { 402 bool Uppercase::Is(uchar c) {
342 int chunk_index = c >> 15; 403 int chunk_index = c >> 15;
343 switch (chunk_index) { 404 switch (chunk_index) {
344 case 0: return LookupPredicate(kUppercaseTable0, 405 case 0: return LookupPredicate(kUppercaseTable0,
345 kUppercaseTable0Size, 406 kUppercaseTable0Size,
346 c); 407 c);
347 case 1: return LookupPredicate(kUppercaseTable1, 408 case 1: return LookupPredicate(kUppercaseTable1,
348 kUppercaseTable1Size, 409 kUppercaseTable1Size,
349 c); 410 c);
350 case 2: return LookupPredicate(kUppercaseTable2,
351 kUppercaseTable2Size,
352 c);
353 case 3: return LookupPredicate(kUppercaseTable3,
354 kUppercaseTable3Size,
355 c);
356 default: return false; 411 default: return false;
357 } 412 }
358 } 413 }
359 414
360 // Lowercase: point.category == 'Ll' 415 // Lowercase: point.category == 'Ll'
361 416
362 static const uint16_t kLowercaseTable0Size = 528; 417 static const uint16_t kLowercaseTable0Size = 528;
363 static const int32_t kLowercaseTable0[528] = { 1073741921, 122, 170, 181, 186, 1 073742047, 246, 1073742072, 255, 257, 259, 261, 263, 265, 267, 269, 271, 273, 27 5, 277, 279, 281, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 305, 30 7, 309, 1073742135, 312, 314, 316, 318, 320, 322, 324, 326, 1073742152, 329, 331 , 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, 353, 355, 357, 359, 361, 363 , 365, 367, 369, 371, 373, 375, 378, 380, 1073742206, 384, 387, 389, 392, 107374 2220, 397, 402, 405, 1073742233, 411, 414, 417, 419, 421, 424, 1073742250, 427, 429, 432, 436, 438, 1073742265, 442, 1073742269, 447, 454, 457, 460, 462, 464, 4 66, 468, 470, 472, 474, 1073742300, 477, 479, 481, 483, 485, 487, 489, 491, 493, 1073742319, 496, 499, 501, 505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 52 5, 527, 529, 531, 533, 535, 537, 539, 541, 543, 545, 547, 549, 551, 553, 555, 55 7, 559, 561, 1073742387, 569, 572, 1073742399, 576, 578, 583, 585, 587, 589, 107 3742415, 659, 1073742485, 687, 1073742715, 893, 912, 1073742764, 974, 1073742800 , 977, 1073742805, 983, 985, 987, 989, 991, 993, 995, 997, 999, 1001, 1003, 1005 , 1073742831, 1011, 1013, 1016, 1073742843, 1020, 1073742896, 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 11 51, 1153, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185 , 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201, 1203, 1205, 1207, 1209, 1211, 1213, 1215, 1218, 1220, 1222, 1224, 1226, 1228, 1073743054, 1231, 1233, 1235, 12 37, 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1263 , 1265, 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1073743201, 1415, 1073749248, 7467, 1073749346, 75 43, 1073749369, 7578, 7681, 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, 7699 , 7701, 7703, 7705, 7707, 7709, 7711, 7713, 7715, 7717, 7719, 7721, 7723, 7725, 7727, 7729, 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, 7747, 7749, 7751, 77 53, 7755, 7757, 7759, 7761, 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779 , 7781, 7783, 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 7813, 7815, 7817, 7819, 7821, 7823, 7825, 7827, 1073749653, 78 35, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 7861, 7863, 7865 , 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, 7915, 7917, 79 19, 7921, 7923, 7925, 7927, 7929, 1073749760, 7943, 1073749776, 7957, 1073749792 , 7975, 1073749808, 7991, 1073749824, 8005, 1073749840, 8023, 1073749856, 8039, 1073749872, 8061, 1073749888, 8071, 1073749904, 8087, 1073749920, 8103, 10737499 36, 8116, 1073749942, 8119, 8126, 1073749954, 8132, 1073749958, 8135, 1073749968 , 8147, 1073749974, 8151, 1073749984, 8167, 1073750002, 8180, 1073750006, 8183, 8305, 8319, 8458, 1073750286, 8463, 8467, 8495, 8500, 8505, 1073750332, 8509, 10 73750342, 8521, 8526, 8580, 1073753136, 11358, 11361, 1073753189, 11366, 11368, 11370, 11372, 11380, 1073753206, 11383, 11393, 11395, 11397, 11399, 11401, 11403 , 11405, 11407, 11409, 11411, 11413, 11415, 11417, 11419, 11421, 11423, 11425, 1 1427, 11429, 11431, 11433, 11435, 11437, 11439, 11441, 11443, 11445, 11447, 1144 9, 11451, 11453, 11455, 11457, 11459, 11461, 11463, 11465, 11467, 11469, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485, 11487, 11489, 1073753315, 11492 , 1073753344, 11557 }; // NOLINT 418 static const int32_t kLowercaseTable0[528] = {
419 1073741921, 122, 170, 181, 186, 1073742047, 246, 1073742072, // NOLINT
420 255, 257, 259, 261, 263, 265, 267, 269, // NOLINT
421 271, 273, 275, 277, 279, 281, 283, 285, // NOLINT
422 287, 289, 291, 293, 295, 297, 299, 301, // NOLINT
423 303, 305, 307, 309, 1073742135, 312, 314, 316, // NOLINT
424 318, 320, 322, 324, 326, 1073742152, 329, 331, // NOLINT
425 333, 335, 337, 339, 341, 343, 345, 347, // NOLINT
426 349, 351, 353, 355, 357, 359, 361, 363, // NOLINT
427 365, 367, 369, 371, 373, 375, 378, 380, // NOLINT
428 1073742206, 384, 387, 389, 392, 1073742220, 397, 402, // NOLINT
429 405, 1073742233, 411, 414, 417, 419, 421, 424, // NOLINT
430 1073742250, 427, 429, 432, 436, 438, 1073742265, 442, // NOLINT
431 1073742269, 447, 454, 457, 460, 462, 464, 466, // NOLINT
432 468, 470, 472, 474, 1073742300, 477, 479, 481, // NOLINT
433 483, 485, 487, 489, 491, 493, 1073742319, 496, // NOLINT
434 499, 501, 505, 507, 509, 511, 513, 515, // NOLINT
435 517, 519, 521, 523, 525, 527, 529, 531, // NOLINT
436 533, 535, 537, 539, 541, 543, 545, 547, // NOLINT
437 549, 551, 553, 555, 557, 559, 561, 1073742387, // NOLINT
438 569, 572, 1073742399, 576, 578, 583, 585, 587, // NOLINT
439 589, 1073742415, 659, 1073742485, 687, 1073742715, 893, 912, // NOLINT
440 1073742764, 974, 1073742800, 977, 1073742805, 983, 985, 987, // NOLINT
441 989, 991, 993, 995, 997, 999, 1001, 1003, // NOLINT
442 1005, 1073742831, 1011, 1013, 1016, 1073742843, 1020, 1073742896, // NOLINT
443 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, // NOLINT
444 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, // NOLINT
445 1151, 1153, 1163, 1165, 1167, 1169, 1171, 1173, // NOLINT
446 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189, // NOLINT
447 1191, 1193, 1195, 1197, 1199, 1201, 1203, 1205, // NOLINT
448 1207, 1209, 1211, 1213, 1215, 1218, 1220, 1222, // NOLINT
449 1224, 1226, 1228, 1073743054, 1231, 1233, 1235, 1237, // NOLINT
450 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253, // NOLINT
451 1255, 1257, 1259, 1261, 1263, 1265, 1267, 1269, // NOLINT
452 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, // NOLINT
453 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1073743201, // NOLINT
454 1415, 1073749248, 7467, 1073749346, 7543, 1073749369, 7578, 7681, // NOLINT
455 7683, 7685, 7687, 7689, 7691, 7693, 7695, 7697, // NOLINT
456 7699, 7701, 7703, 7705, 7707, 7709, 7711, 7713, // NOLINT
457 7715, 7717, 7719, 7721, 7723, 7725, 7727, 7729, // NOLINT
458 7731, 7733, 7735, 7737, 7739, 7741, 7743, 7745, // NOLINT
459 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761, // NOLINT
460 7763, 7765, 7767, 7769, 7771, 7773, 7775, 7777, // NOLINT
461 7779, 7781, 7783, 7785, 7787, 7789, 7791, 7793, // NOLINT
462 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, // NOLINT
463 7811, 7813, 7815, 7817, 7819, 7821, 7823, 7825, // NOLINT
464 7827, 1073749653, 7835, 7841, 7843, 7845, 7847, 7849, // NOLINT
465 7851, 7853, 7855, 7857, 7859, 7861, 7863, 7865, // NOLINT
466 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, // NOLINT
467 7883, 7885, 7887, 7889, 7891, 7893, 7895, 7897, // NOLINT
468 7899, 7901, 7903, 7905, 7907, 7909, 7911, 7913, // NOLINT
469 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929, // NOLINT
470 1073749760, 7943, 1073749776, 7957, 1073749792, 7975, 1073749808, 7991, // NO LINT
471 1073749824, 8005, 1073749840, 8023, 1073749856, 8039, 1073749872, 8061, // NO LINT
472 1073749888, 8071, 1073749904, 8087, 1073749920, 8103, 1073749936, 8116, // NO LINT
473 1073749942, 8119, 8126, 1073749954, 8132, 1073749958, 8135, 1073749968, // NO LINT
474 8147, 1073749974, 8151, 1073749984, 8167, 1073750002, 8180, 1073750006, // NO LINT
475 8183, 8305, 8319, 8458, 1073750286, 8463, 8467, 8495, // NOLINT
476 8500, 8505, 1073750332, 8509, 1073750342, 8521, 8526, 8580, // NOLINT
477 1073753136, 11358, 11361, 1073753189, 11366, 11368, 11370, 11372, // NOLINT
478 11380, 1073753206, 11383, 11393, 11395, 11397, 11399, 11401, // NOLINT
479 11403, 11405, 11407, 11409, 11411, 11413, 11415, 11417, // NOLINT
480 11419, 11421, 11423, 11425, 11427, 11429, 11431, 11433, // NOLINT
481 11435, 11437, 11439, 11441, 11443, 11445, 11447, 11449, // NOLINT
482 11451, 11453, 11455, 11457, 11459, 11461, 11463, 11465, // NOLINT
483 11467, 11469, 11471, 11473, 11475, 11477, 11479, 11481, // NOLINT
484 11483, 11485, 11487, 11489, 1073753315, 11492, 1073753344, 11557 }; // NOLINT
364 static const uint16_t kLowercaseTable1Size = 6; 485 static const uint16_t kLowercaseTable1Size = 6;
365 static const int32_t kLowercaseTable1[6] = { 1073773312, 31494, 1073773331, 3151 1, 1073774401, 32602 }; // NOLINT 486 static const int32_t kLowercaseTable1[6] = {
366 static const uint16_t kLowercaseTable2Size = 2; 487 1073773312, 31494, 1073773331, 31511, 1073774401, 32602 }; // NOLINT
367 static const int32_t kLowercaseTable2[2] = { 1073742888, 1103 }; // NOLINT
368 static const uint16_t kLowercaseTable3Size = 54;
369 static const int32_t kLowercaseTable3[54] = { 1073763354, 21555, 1073763406, 215 88, 1073763414, 21607, 1073763458, 21659, 1073763510, 21689, 21691, 1073763517, 21699, 1073763525, 21711, 1073763562, 21763, 1073763614, 21815, 1073763666, 2186 7, 1073763718, 21919, 1073763770, 21971, 1073763822, 22023, 1073763874, 22075, 1 073763926, 22127, 1073763978, 22181, 1073764034, 22234, 1073764060, 22241, 10737 64092, 22292, 1073764118, 22299, 1073764150, 22350, 1073764176, 22357, 107376420 8, 22408, 1073764234, 22415, 1073764266, 22466, 1073764292, 22473, 22475 }; // N OLINT
370 bool Lowercase::Is(uchar c) { 488 bool Lowercase::Is(uchar c) {
371 int chunk_index = c >> 15; 489 int chunk_index = c >> 15;
372 switch (chunk_index) { 490 switch (chunk_index) {
373 case 0: return LookupPredicate(kLowercaseTable0, 491 case 0: return LookupPredicate(kLowercaseTable0,
374 kLowercaseTable0Size, 492 kLowercaseTable0Size,
375 c); 493 c);
376 case 1: return LookupPredicate(kLowercaseTable1, 494 case 1: return LookupPredicate(kLowercaseTable1,
377 kLowercaseTable1Size, 495 kLowercaseTable1Size,
378 c); 496 c);
379 case 2: return LookupPredicate(kLowercaseTable2,
380 kLowercaseTable2Size,
381 c);
382 case 3: return LookupPredicate(kLowercaseTable3,
383 kLowercaseTable3Size,
384 c);
385 default: return false; 497 default: return false;
386 } 498 }
387 } 499 }
388 500
389 // Letter: point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo' ] 501 // Letter: point.category in ['Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl' ]
390 502
391 static const uint16_t kLetterTable0Size = 476; 503 static const uint16_t kLetterTable0Size = 480;
392 static const int32_t kLetterTable0[476] = { 1073741889, 90, 1073741921, 122, 170 , 181, 186, 1073742016, 214, 1073742040, 246, 1073742072, 705, 1073742534, 721, 1073742560, 740, 750, 1073742714, 893, 902, 1073742728, 906, 908, 1073742734, 92 9, 1073742755, 974, 1073742800, 1013, 1073742839, 1153, 1073742986, 1299, 107374 3153, 1366, 1369, 1073743201, 1415, 1073743312, 1514, 1073743344, 1522, 10737433 93, 1594, 1073743424, 1610, 1073743470, 1647, 1073743473, 1747, 1749, 1073743589 , 1766, 1073743598, 1775, 1073743610, 1788, 1791, 1808, 1073743634, 1839, 107374 3693, 1901, 1073743744, 1957, 1969, 1073743818, 2026, 1073743860, 2037, 2042, 10 73744132, 2361, 2365, 2384, 1073744216, 2401, 1073744251, 2431, 1073744261, 2444 , 1073744271, 2448, 1073744275, 2472, 1073744298, 2480, 2482, 1073744310, 2489, 2493, 2510, 1073744348, 2525, 1073744351, 2529, 1073744368, 2545, 1073744389, 25 70, 1073744399, 2576, 1073744403, 2600, 1073744426, 2608, 1073744434, 2611, 1073 744437, 2614, 1073744440, 2617, 1073744473, 2652, 2654, 1073744498, 2676, 107374 4517, 2701, 1073744527, 2705, 1073744531, 2728, 1073744554, 2736, 1073744562, 27 39, 1073744565, 2745, 2749, 2768, 1073744608, 2785, 1073744645, 2828, 1073744655 , 2832, 1073744659, 2856, 1073744682, 2864, 1073744690, 2867, 1073744693, 2873, 2877, 1073744732, 2909, 1073744735, 2913, 2929, 2947, 1073744773, 2954, 10737447 82, 2960, 1073744786, 2965, 1073744793, 2970, 2972, 1073744798, 2975, 1073744803 , 2980, 1073744808, 2986, 1073744814, 3001, 1073744901, 3084, 1073744910, 3088, 1073744914, 3112, 1073744938, 3123, 1073744949, 3129, 1073744992, 3169, 10737450 29, 3212, 1073745038, 3216, 1073745042, 3240, 1073745066, 3251, 1073745077, 3257 , 3261, 3294, 1073745120, 3297, 1073745157, 3340, 1073745166, 3344, 1073745170, 3368, 1073745194, 3385, 1073745248, 3425, 1073745285, 3478, 1073745306, 3505, 10 73745331, 3515, 3517, 1073745344, 3526, 1073745409, 3632, 1073745458, 3635, 1073 745472, 3654, 1073745537, 3714, 3716, 1073745543, 3720, 3722, 3725, 1073745556, 3735, 1073745561, 3743, 1073745569, 3747, 3749, 3751, 1073745578, 3755, 10737455 81, 3760, 1073745586, 3763, 3773, 1073745600, 3780, 3782, 1073745628, 3805, 3840 , 1073745728, 3911, 1073745737, 3946, 1073745800, 3979, 1073745920, 4129, 107374 5955, 4135, 1073745961, 4138, 1073746000, 4181, 1073746080, 4293, 1073746128, 43 46, 4348, 1073746176, 4441, 1073746271, 4514, 1073746344, 4601, 1073746432, 4680 , 1073746506, 4685, 1073746512, 4694, 4696, 1073746522, 4701, 1073746528, 4744, 1073746570, 4749, 1073746576, 4784, 1073746610, 4789, 1073746616, 4798, 4800, 10 73746626, 4805, 1073746632, 4822, 1073746648, 4880, 1073746706, 4885, 1073746712 , 4954, 1073746816, 5007, 1073746848, 5108, 1073746945, 5740, 1073747567, 5750, 1073747585, 5786, 1073747616, 5866, 1073747712, 5900, 1073747726, 5905, 10737477 44, 5937, 1073747776, 5969, 1073747808, 5996, 1073747822, 6000, 1073747840, 6067 , 6103, 6108, 1073748000, 6263, 1073748096, 6312, 1073748224, 6428, 1073748304, 6509, 1073748336, 6516, 1073748352, 6569, 1073748417, 6599, 1073748480, 6678, 10 73748741, 6963, 1073748805, 6987, 1073749248, 7615, 1073749504, 7835, 1073749664 , 7929, 1073749760, 7957, 1073749784, 7965, 1073749792, 8005, 1073749832, 8013, 1073749840, 8023, 8025, 8027, 8029, 1073749855, 8061, 1073749888, 8116, 10737499 42, 8124, 8126, 1073749954, 8132, 1073749958, 8140, 1073749968, 8147, 1073749974 , 8155, 1073749984, 8172, 1073750002, 8180, 1073750006, 8188, 8305, 8319, 107375 0160, 8340, 8450, 8455, 1073750282, 8467, 8469, 1073750297, 8477, 8484, 8486, 84 88, 1073750314, 8493, 1073750319, 8505, 1073750332, 8511, 1073750341, 8521, 8526 , 1073750403, 8580, 1073753088, 11310, 1073753136, 11358, 1073753184, 11372, 107 3753204, 11383, 1073753216, 11492, 1073753344, 11557, 1073753392, 11621, 11631, 1073753472, 11670, 1073753504, 11686, 1073753512, 11694, 1073753520, 11702, 1073 753528, 11710, 1073753536, 11718, 1073753544, 11726, 1073753552, 11734, 10737535 60, 11742, 1073754117, 12294, 1073754161, 12341, 1073754171, 12348, 1073754177, 12438, 1073754269, 12447, 1073754273, 12538, 1073754364, 12543, 1073754373, 1258 8, 1073754417, 12686, 1073754528, 12727, 1073754608, 12799, 1073755136, 19893, 1 073761792, 32767 }; // NOLINT 504 static const int32_t kLetterTable0[480] = {
505 1073741889, 90, 1073741921, 122, 170, 181, 186, 1073742016, // NOLINT
506 214, 1073742040, 246, 1073742072, 705, 1073742534, 721, 1073742560, // NOLINT
507 740, 750, 1073742714, 893, 902, 1073742728, 906, 908, // NOLINT
508 1073742734, 929, 1073742755, 974, 1073742800, 1013, 1073742839, 1153, // NOLI NT
509 1073742986, 1299, 1073743153, 1366, 1369, 1073743201, 1415, 1073743312, // NO LINT
510 1514, 1073743344, 1522, 1073743393, 1594, 1073743424, 1610, 1073743470, // NO LINT
511 1647, 1073743473, 1747, 1749, 1073743589, 1766, 1073743598, 1775, // NOLINT
512 1073743610, 1788, 1791, 1808, 1073743634, 1839, 1073743693, 1901, // NOLINT
513 1073743744, 1957, 1969, 1073743818, 2026, 1073743860, 2037, 2042, // NOLINT
514 1073744132, 2361, 2365, 2384, 1073744216, 2401, 1073744251, 2431, // NOLINT
515 1073744261, 2444, 1073744271, 2448, 1073744275, 2472, 1073744298, 2480, // NO LINT
516 2482, 1073744310, 2489, 2493, 2510, 1073744348, 2525, 1073744351, // NOLINT
517 2529, 1073744368, 2545, 1073744389, 2570, 1073744399, 2576, 1073744403, // NO LINT
518 2600, 1073744426, 2608, 1073744434, 2611, 1073744437, 2614, 1073744440, // NO LINT
519 2617, 1073744473, 2652, 2654, 1073744498, 2676, 1073744517, 2701, // NOLINT
520 1073744527, 2705, 1073744531, 2728, 1073744554, 2736, 1073744562, 2739, // NO LINT
521 1073744565, 2745, 2749, 2768, 1073744608, 2785, 1073744645, 2828, // NOLINT
522 1073744655, 2832, 1073744659, 2856, 1073744682, 2864, 1073744690, 2867, // NO LINT
523 1073744693, 2873, 2877, 1073744732, 2909, 1073744735, 2913, 2929, // NOLINT
524 2947, 1073744773, 2954, 1073744782, 2960, 1073744786, 2965, 1073744793, // NO LINT
525 2970, 2972, 1073744798, 2975, 1073744803, 2980, 1073744808, 2986, // NOLINT
526 1073744814, 3001, 1073744901, 3084, 1073744910, 3088, 1073744914, 3112, // NO LINT
527 1073744938, 3123, 1073744949, 3129, 1073744992, 3169, 1073745029, 3212, // NO LINT
528 1073745038, 3216, 1073745042, 3240, 1073745066, 3251, 1073745077, 3257, // NO LINT
529 3261, 3294, 1073745120, 3297, 1073745157, 3340, 1073745166, 3344, // NOLINT
530 1073745170, 3368, 1073745194, 3385, 1073745248, 3425, 1073745285, 3478, // NO LINT
531 1073745306, 3505, 1073745331, 3515, 3517, 1073745344, 3526, 1073745409, // NO LINT
532 3632, 1073745458, 3635, 1073745472, 3654, 1073745537, 3714, 3716, // NOLINT
533 1073745543, 3720, 3722, 3725, 1073745556, 3735, 1073745561, 3743, // NOLINT
534 1073745569, 3747, 3749, 3751, 1073745578, 3755, 1073745581, 3760, // NOLINT
535 1073745586, 3763, 3773, 1073745600, 3780, 3782, 1073745628, 3805, // NOLINT
536 3840, 1073745728, 3911, 1073745737, 3946, 1073745800, 3979, 1073745920, // NO LINT
537 4129, 1073745955, 4135, 1073745961, 4138, 1073746000, 4181, 1073746080, // NO LINT
538 4293, 1073746128, 4346, 4348, 1073746176, 4441, 1073746271, 4514, // NOLINT
539 1073746344, 4601, 1073746432, 4680, 1073746506, 4685, 1073746512, 4694, // NO LINT
540 4696, 1073746522, 4701, 1073746528, 4744, 1073746570, 4749, 1073746576, // NO LINT
541 4784, 1073746610, 4789, 1073746616, 4798, 4800, 1073746626, 4805, // NOLINT
542 1073746632, 4822, 1073746648, 4880, 1073746706, 4885, 1073746712, 4954, // NO LINT
543 1073746816, 5007, 1073746848, 5108, 1073746945, 5740, 1073747567, 5750, // NO LINT
544 1073747585, 5786, 1073747616, 5866, 1073747694, 5872, 1073747712, 5900, // NO LINT
545 1073747726, 5905, 1073747744, 5937, 1073747776, 5969, 1073747808, 5996, // NO LINT
546 1073747822, 6000, 1073747840, 6067, 6103, 6108, 1073748000, 6263, // NOLINT
547 1073748096, 6312, 1073748224, 6428, 1073748304, 6509, 1073748336, 6516, // NO LINT
548 1073748352, 6569, 1073748417, 6599, 1073748480, 6678, 1073748741, 6963, // NO LINT
549 1073748805, 6987, 1073749248, 7615, 1073749504, 7835, 1073749664, 7929, // NO LINT
550 1073749760, 7957, 1073749784, 7965, 1073749792, 8005, 1073749832, 8013, // NO LINT
551 1073749840, 8023, 8025, 8027, 8029, 1073749855, 8061, 1073749888, // NOLINT
552 8116, 1073749942, 8124, 8126, 1073749954, 8132, 1073749958, 8140, // NOLINT
553 1073749968, 8147, 1073749974, 8155, 1073749984, 8172, 1073750002, 8180, // NO LINT
554 1073750006, 8188, 8305, 8319, 1073750160, 8340, 8450, 8455, // NOLINT
555 1073750282, 8467, 8469, 1073750297, 8477, 8484, 8486, 8488, // NOLINT
556 1073750314, 8493, 1073750319, 8505, 1073750332, 8511, 1073750341, 8521, // NO LINT
557 8526, 1073750368, 8580, 1073753088, 11310, 1073753136, 11358, 1073753184, // NOLINT
558 11372, 1073753204, 11383, 1073753216, 11492, 1073753344, 11557, 1073753392, / / NOLINT
559 11621, 11631, 1073753472, 11670, 1073753504, 11686, 1073753512, 11694, // NOL INT
560 1073753520, 11702, 1073753528, 11710, 1073753536, 11718, 1073753544, 11726, / / NOLINT
561 1073753552, 11734, 1073753560, 11742, 1073754117, 12295, 1073754145, 12329, / / NOLINT
562 1073754161, 12341, 1073754168, 12348, 1073754177, 12438, 1073754269, 12447, / / NOLINT
563 1073754273, 12538, 1073754364, 12543, 1073754373, 12588, 1073754417, 12686, / / NOLINT
564 1073754528, 12727, 1073754608, 12799, 1073755136, 19893, 1073761792, 32767 }; // NOLINT
393 static const uint16_t kLetterTable1Size = 68; 565 static const uint16_t kLetterTable1Size = 68;
394 static const int32_t kLetterTable1[68] = { 1073741824, 8123, 1073750016, 9356, 1 073751831, 10010, 1073752064, 10241, 1073752067, 10245, 1073752071, 10250, 10737 52076, 10274, 1073752128, 10355, 1073753088, 22435, 1073772800, 31277, 107377310 4, 31338, 1073773168, 31449, 1073773312, 31494, 1073773331, 31511, 31517, 107377 3343, 31528, 1073773354, 31542, 1073773368, 31548, 31550, 1073773376, 31553, 107 3773379, 31556, 1073773382, 31665, 1073773523, 32061, 1073773904, 32143, 1073773 970, 32199, 1073774064, 32251, 1073774192, 32372, 1073774198, 32508, 1073774369, 32570, 1073774401, 32602, 1073774438, 32702, 1073774530, 32711, 1073774538, 327 19, 1073774546, 32727, 1073774554, 32732 }; // NOLINT 566 static const int32_t kLetterTable1[68] = {
395 static const uint16_t kLetterTable2Size = 48; 567 1073741824, 8123, 1073750016, 9356, 1073751831, 10010, 1073752064, 10241, // NOLINT
396 static const int32_t kLetterTable2[48] = { 1073741824, 11, 1073741837, 38, 10737 41864, 58, 1073741884, 61, 1073741887, 77, 1073741904, 93, 1073741952, 250, 1073 742592, 798, 1073742640, 832, 1073742658, 841, 1073742720, 925, 1073742752, 963, 1073742792, 975, 1073742848, 1181, 1073743872, 2053, 2056, 1073743882, 2101, 10 73743927, 2104, 2108, 2111, 1073744128, 2325, 2560, 1073744400, 2579, 1073744405 , 2583, 1073744409, 2611, 1073750016, 9070 }; // NOLINT 568 1073752067, 10245, 1073752071, 10250, 1073752076, 10274, 1073752128, 10355, / / NOLINT
397 static const uint16_t kLetterTable3Size = 57; 569 1073753088, 22435, 1073772800, 31277, 1073773104, 31338, 1073773168, 31449, / / NOLINT
398 static const int32_t kLetterTable3[57] = { 1073763328, 21588, 1073763414, 21660, 1073763486, 21663, 21666, 1073763493, 21670, 1073763497, 21676, 1073763502, 216 89, 21691, 1073763517, 21699, 1073763525, 21765, 1073763591, 21770, 1073763597, 21780, 1073763606, 21788, 1073763614, 21817, 1073763643, 21822, 1073763648, 2182 8, 21830, 1073763658, 21840, 1073763666, 22181, 1073764008, 22208, 1073764034, 2 2234, 1073764060, 22266, 1073764092, 22292, 1073764118, 22324, 1073764150, 22350 , 1073764176, 22382, 1073764208, 22408, 1073764234, 22440, 1073764266, 22466, 10 73764292, 22475 }; // NOLINT 570 1073773312, 31494, 1073773331, 31511, 31517, 1073773343, 31528, 1073773354, / / NOLINT
399 static const uint16_t kLetterTable4Size = 2; 571 31542, 1073773368, 31548, 31550, 1073773376, 31553, 1073773379, 31556, // NOL INT
400 static const int32_t kLetterTable4[2] = { 1073741824, 32767 }; // NOLINT 572 1073773382, 31665, 1073773523, 32061, 1073773904, 32143, 1073773970, 32199, / / NOLINT
401 static const uint16_t kLetterTable5Size = 4; 573 1073774064, 32251, 1073774192, 32372, 1073774198, 32508, 1073774369, 32570, / / NOLINT
402 static const int32_t kLetterTable5[4] = { 1073741824, 9942, 1073772544, 31261 }; // NOLINT 574 1073774401, 32602, 1073774438, 32702, 1073774530, 32711, 1073774538, 32719, / / NOLINT
575 1073774546, 32727, 1073774554, 32732 }; // NOLINT
403 bool Letter::Is(uchar c) { 576 bool Letter::Is(uchar c) {
404 int chunk_index = c >> 15; 577 int chunk_index = c >> 15;
405 switch (chunk_index) { 578 switch (chunk_index) {
406 case 0: return LookupPredicate(kLetterTable0, 579 case 0: return LookupPredicate(kLetterTable0,
407 kLetterTable0Size, 580 kLetterTable0Size,
408 c); 581 c);
409 case 1: return LookupPredicate(kLetterTable1, 582 case 1: return LookupPredicate(kLetterTable1,
410 kLetterTable1Size, 583 kLetterTable1Size,
411 c); 584 c);
412 case 2: return LookupPredicate(kLetterTable2,
413 kLetterTable2Size,
414 c);
415 case 3: return LookupPredicate(kLetterTable3,
416 kLetterTable3Size,
417 c);
418 case 4: return LookupPredicate(kLetterTable4,
419 kLetterTable4Size,
420 c);
421 case 5: return LookupPredicate(kLetterTable5,
422 kLetterTable5Size,
423 c);
424 default: return false; 585 default: return false;
425 } 586 }
426 } 587 }
427 588
428 // Space: point.category == 'Zs' 589 // Space: point.category == 'Zs'
429 590
430 static const uint16_t kSpaceTable0Size = 9; 591 static const uint16_t kSpaceTable0Size = 9;
431 static const int32_t kSpaceTable0[9] = { 32, 160, 5760, 6158, 1073750016, 8202, 8239, 8287, 12288 }; // NOLINT 592 static const int32_t kSpaceTable0[9] = {
593 32, 160, 5760, 6158, 1073750016, 8202, 8239, 8287, // NOLINT
594 12288 }; // NOLINT
432 bool Space::Is(uchar c) { 595 bool Space::Is(uchar c) {
433 int chunk_index = c >> 15; 596 int chunk_index = c >> 15;
434 switch (chunk_index) { 597 switch (chunk_index) {
435 case 0: return LookupPredicate(kSpaceTable0, 598 case 0: return LookupPredicate(kSpaceTable0,
436 kSpaceTable0Size, 599 kSpaceTable0Size,
437 c); 600 c);
438 default: return false; 601 default: return false;
439 } 602 }
440 } 603 }
441 604
442 // Number: point.category in ['Nd', 'Nl', 'No' ] 605 // Number: point.category == 'Nd'
443 606
444 static const uint16_t kNumberTable0Size = 86; 607 static const uint16_t kNumberTable0Size = 44;
445 static const int32_t kNumberTable0[86] = { 1073741872, 57, 1073742002, 179, 185, 1073742012, 190, 1073743456, 1641, 1073743600, 1785, 1073743808, 1993, 10737442 30, 2415, 1073744358, 2543, 1073744372, 2553, 1073744486, 2671, 1073744614, 2799 , 1073744742, 2927, 1073744870, 3058, 1073744998, 3183, 1073745126, 3311, 107374 5254, 3439, 1073745488, 3673, 1073745616, 3801, 1073745696, 3891, 1073745984, 41 69, 1073746793, 4988, 1073747694, 5872, 1073747936, 6121, 1073747952, 6137, 1073 747984, 6169, 1073748294, 6479, 1073748432, 6617, 1073748816, 7001, 8304, 107375 0132, 8313, 1073750144, 8329, 1073750355, 8578, 1073751136, 9371, 1073751274, 94 71, 1073751926, 10131, 11517, 12295, 1073754145, 12329, 1073754168, 12346, 10737 54514, 12693, 1073754656, 12841, 1073754705, 12895, 1073754752, 12937, 107375480 1, 12991 }; // NOLINT 608 static const int32_t kNumberTable0[44] = {
609 1073741872, 57, 1073743456, 1641, 1073743600, 1785, 1073743808, 1993, // NOLI NT
610 1073744230, 2415, 1073744358, 2543, 1073744486, 2671, 1073744614, 2799, // NO LINT
611 1073744742, 2927, 1073744870, 3055, 1073744998, 3183, 1073745126, 3311, // NO LINT
612 1073745254, 3439, 1073745488, 3673, 1073745616, 3801, 1073745696, 3881, // NO LINT
613 1073745984, 4169, 1073747936, 6121, 1073747984, 6169, 1073748294, 6479, // NO LINT
614 1073748432, 6617, 1073748816, 7001 }; // NOLINT
446 static const uint16_t kNumberTable1Size = 2; 615 static const uint16_t kNumberTable1Size = 2;
447 static const int32_t kNumberTable1[2] = { 1073774352, 32537 }; // NOLINT 616 static const int32_t kNumberTable1[2] = {
448 static const uint16_t kNumberTable2Size = 19; 617 1073774352, 32537 }; // NOLINT
449 static const int32_t kNumberTable2[19] = { 1073742087, 307, 1073742144, 376, 394 , 1073742624, 803, 833, 842, 1073742801, 981, 1073743008, 1193, 1073744150, 2329 , 1073744448, 2631, 1073751040, 9314 }; // NOLINT
450 static const uint16_t kNumberTable3Size = 4;
451 static const int32_t kNumberTable3[4] = { 1073763168, 21361, 1073764302, 22527 } ; // NOLINT
452 bool Number::Is(uchar c) { 618 bool Number::Is(uchar c) {
453 int chunk_index = c >> 15; 619 int chunk_index = c >> 15;
454 switch (chunk_index) { 620 switch (chunk_index) {
455 case 0: return LookupPredicate(kNumberTable0, 621 case 0: return LookupPredicate(kNumberTable0,
456 kNumberTable0Size, 622 kNumberTable0Size,
457 c); 623 c);
458 case 1: return LookupPredicate(kNumberTable1, 624 case 1: return LookupPredicate(kNumberTable1,
459 kNumberTable1Size, 625 kNumberTable1Size,
460 c); 626 c);
461 case 2: return LookupPredicate(kNumberTable2,
462 kNumberTable2Size,
463 c);
464 case 3: return LookupPredicate(kNumberTable3,
465 kNumberTable3Size,
466 c);
467 default: return false; 627 default: return false;
468 } 628 }
469 } 629 }
470 630
471 // WhiteSpace: 'Ws' in point.properties 631 // WhiteSpace: 'Ws' in point.properties
472 632
473 static const uint16_t kWhiteSpaceTable0Size = 14; 633 static const uint16_t kWhiteSpaceTable0Size = 14;
474 static const int32_t kWhiteSpaceTable0[14] = { 1073741833, 13, 32, 133, 160, 576 0, 6158, 1073750016, 8202, 1073750056, 8233, 8239, 8287, 12288 }; // NOLINT 634 static const int32_t kWhiteSpaceTable0[14] = {
635 1073741833, 13, 32, 133, 160, 5760, 6158, 1073750016, // NOLINT
636 8202, 1073750056, 8233, 8239, 8287, 12288 }; // NOLINT
475 bool WhiteSpace::Is(uchar c) { 637 bool WhiteSpace::Is(uchar c) {
476 int chunk_index = c >> 15; 638 int chunk_index = c >> 15;
477 switch (chunk_index) { 639 switch (chunk_index) {
478 case 0: return LookupPredicate(kWhiteSpaceTable0, 640 case 0: return LookupPredicate(kWhiteSpaceTable0,
479 kWhiteSpaceTable0Size, 641 kWhiteSpaceTable0Size,
480 c); 642 c);
481 default: return false; 643 default: return false;
482 } 644 }
483 } 645 }
484 646
485 // LineTerminator: 'Lt' in point.properties 647 // LineTerminator: 'Lt' in point.properties
486 648
487 static const uint16_t kLineTerminatorTable0Size = 4; 649 static const uint16_t kLineTerminatorTable0Size = 4;
488 static const int32_t kLineTerminatorTable0[4] = { 10, 13, 1073750056, 8233 }; // NOLINT 650 static const int32_t kLineTerminatorTable0[4] = {
651 10, 13, 1073750056, 8233 }; // NOLINT
489 bool LineTerminator::Is(uchar c) { 652 bool LineTerminator::Is(uchar c) {
490 int chunk_index = c >> 15; 653 int chunk_index = c >> 15;
491 switch (chunk_index) { 654 switch (chunk_index) {
492 case 0: return LookupPredicate(kLineTerminatorTable0, 655 case 0: return LookupPredicate(kLineTerminatorTable0,
493 kLineTerminatorTable0Size, 656 kLineTerminatorTable0Size,
494 c); 657 c);
495 default: return false; 658 default: return false;
496 } 659 }
497 } 660 }
498 661
499 // CombiningMark: point.category in ['Mn', 'Mc'] 662 // CombiningMark: point.category in ['Mn', 'Mc']
500 663
501 static const uint16_t kCombiningMarkTable0Size = 214; 664 static const uint16_t kCombiningMarkTable0Size = 214;
502 static const int32_t kCombiningMarkTable0[214] = { 1073742592, 879, 1073742979, 1158, 1073743249, 1469, 1471, 1073743297, 1474, 1073743300, 1477, 1479, 10737433 76, 1557, 1073743435, 1630, 1648, 1073743574, 1756, 1073743583, 1764, 1073743591 , 1768, 1073743594, 1773, 1809, 1073743664, 1866, 1073743782, 1968, 1073743851, 2035, 1073744129, 2307, 2364, 1073744190, 2381, 1073744209, 2388, 1073744226, 24 03, 1073744257, 2435, 2492, 1073744318, 2500, 1073744327, 2504, 1073744331, 2509 , 2519, 1073744354, 2531, 1073744385, 2563, 2620, 1073744446, 2626, 1073744455, 2632, 1073744459, 2637, 1073744496, 2673, 1073744513, 2691, 2748, 1073744574, 27 57, 1073744583, 2761, 1073744587, 2765, 1073744610, 2787, 1073744641, 2819, 2876 , 1073744702, 2883, 1073744711, 2888, 1073744715, 2893, 1073744726, 2903, 2946, 1073744830, 3010, 1073744838, 3016, 1073744842, 3021, 3031, 1073744897, 3075, 10 73744958, 3140, 1073744966, 3144, 1073744970, 3149, 1073744981, 3158, 1073745026 , 3203, 3260, 1073745086, 3268, 1073745094, 3272, 1073745098, 3277, 1073745109, 3286, 1073745122, 3299, 1073745154, 3331, 1073745214, 3395, 1073745222, 3400, 10 73745226, 3405, 3415, 1073745282, 3459, 3530, 1073745359, 3540, 3542, 1073745368 , 3551, 1073745394, 3571, 3633, 1073745460, 3642, 1073745479, 3662, 3761, 107374 5588, 3769, 1073745595, 3772, 1073745608, 3789, 1073745688, 3865, 3893, 3895, 38 97, 1073745726, 3903, 1073745777, 3972, 1073745798, 3975, 1073745808, 3991, 1073 745817, 4028, 4038, 1073745964, 4146, 1073745974, 4153, 1073746006, 4185, 4959, 1073747730, 5908, 1073747762, 5940, 1073747794, 5971, 1073747826, 6003, 10737478 94, 6099, 6109, 1073747979, 6157, 6313, 1073748256, 6443, 1073748272, 6459, 1073 748400, 6592, 1073748424, 6601, 1073748503, 6683, 1073748736, 6916, 1073748788, 6980, 1073748843, 7027, 1073749440, 7626, 1073749502, 7679, 1073750224, 8412, 84 17, 1073750245, 8431, 1073754154, 12335, 1073754265, 12442 }; // NOLINT 665 static const int32_t kCombiningMarkTable0[214] = {
666 1073742592, 879, 1073742979, 1158, 1073743249, 1469, 1471, 1073743297, // NOL INT
667 1474, 1073743300, 1477, 1479, 1073743376, 1557, 1073743435, 1630, // NOLINT
668 1648, 1073743574, 1756, 1073743583, 1764, 1073743591, 1768, 1073743594, // NO LINT
669 1773, 1809, 1073743664, 1866, 1073743782, 1968, 1073743851, 2035, // NOLINT
670 1073744129, 2307, 2364, 1073744190, 2381, 1073744209, 2388, 1073744226, // NO LINT
671 2403, 1073744257, 2435, 2492, 1073744318, 2500, 1073744327, 2504, // NOLINT
672 1073744331, 2509, 2519, 1073744354, 2531, 1073744385, 2563, 2620, // NOLINT
673 1073744446, 2626, 1073744455, 2632, 1073744459, 2637, 1073744496, 2673, // NO LINT
674 1073744513, 2691, 2748, 1073744574, 2757, 1073744583, 2761, 1073744587, // NO LINT
675 2765, 1073744610, 2787, 1073744641, 2819, 2876, 1073744702, 2883, // NOLINT
676 1073744711, 2888, 1073744715, 2893, 1073744726, 2903, 2946, 1073744830, // NO LINT
677 3010, 1073744838, 3016, 1073744842, 3021, 3031, 1073744897, 3075, // NOLINT
678 1073744958, 3140, 1073744966, 3144, 1073744970, 3149, 1073744981, 3158, // NO LINT
679 1073745026, 3203, 3260, 1073745086, 3268, 1073745094, 3272, 1073745098, // NO LINT
680 3277, 1073745109, 3286, 1073745122, 3299, 1073745154, 3331, 1073745214, // NO LINT
681 3395, 1073745222, 3400, 1073745226, 3405, 3415, 1073745282, 3459, // NOLINT
682 3530, 1073745359, 3540, 3542, 1073745368, 3551, 1073745394, 3571, // NOLINT
683 3633, 1073745460, 3642, 1073745479, 3662, 3761, 1073745588, 3769, // NOLINT
684 1073745595, 3772, 1073745608, 3789, 1073745688, 3865, 3893, 3895, // NOLINT
685 3897, 1073745726, 3903, 1073745777, 3972, 1073745798, 3975, 1073745808, // NO LINT
686 3991, 1073745817, 4028, 4038, 1073745964, 4146, 1073745974, 4153, // NOLINT
687 1073746006, 4185, 4959, 1073747730, 5908, 1073747762, 5940, 1073747794, // NO LINT
688 5971, 1073747826, 6003, 1073747894, 6099, 6109, 1073747979, 6157, // NOLINT
689 6313, 1073748256, 6443, 1073748272, 6459, 1073748400, 6592, 1073748424, // NO LINT
690 6601, 1073748503, 6683, 1073748736, 6916, 1073748788, 6980, 1073748843, // NO LINT
691 7027, 1073749440, 7626, 1073749502, 7679, 1073750224, 8412, 8417, // NOLINT
692 1073750245, 8431, 1073754154, 12335, 1073754265, 12442 }; // NOLINT
503 static const uint16_t kCombiningMarkTable1Size = 10; 693 static const uint16_t kCombiningMarkTable1Size = 10;
504 static const int32_t kCombiningMarkTable1[10] = { 10242, 10246, 10251, 107375209 9, 10279, 31518, 1073774080, 32271, 1073774112, 32291 }; // NOLINT 694 static const int32_t kCombiningMarkTable1[10] = {
505 static const uint16_t kCombiningMarkTable2Size = 9; 695 10242, 10246, 10251, 1073752099, 10279, 31518, 1073774080, 32271, // NOLINT
506 static const int32_t kCombiningMarkTable2[9] = { 1073744385, 2563, 1073744389, 2 566, 1073744396, 2575, 1073744440, 2618, 2623 }; // NOLINT 696 1073774112, 32291 }; // NOLINT
507 static const uint16_t kCombiningMarkTable3Size = 12;
508 static const int32_t kCombiningMarkTable3[12] = { 1073762661, 20841, 1073762669, 20850, 1073762683, 20866, 1073762693, 20875, 1073762730, 20909, 1073762882, 210 60 }; // NOLINT
509 static const uint16_t kCombiningMarkTable28Size = 2;
510 static const int32_t kCombiningMarkTable28[2] = { 1073742080, 495 }; // NOLINT
511 bool CombiningMark::Is(uchar c) { 697 bool CombiningMark::Is(uchar c) {
512 int chunk_index = c >> 15; 698 int chunk_index = c >> 15;
513 switch (chunk_index) { 699 switch (chunk_index) {
514 case 0: return LookupPredicate(kCombiningMarkTable0, 700 case 0: return LookupPredicate(kCombiningMarkTable0,
515 kCombiningMarkTable0Size, 701 kCombiningMarkTable0Size,
516 c); 702 c);
517 case 1: return LookupPredicate(kCombiningMarkTable1, 703 case 1: return LookupPredicate(kCombiningMarkTable1,
518 kCombiningMarkTable1Size, 704 kCombiningMarkTable1Size,
519 c); 705 c);
520 case 2: return LookupPredicate(kCombiningMarkTable2,
521 kCombiningMarkTable2Size,
522 c);
523 case 3: return LookupPredicate(kCombiningMarkTable3,
524 kCombiningMarkTable3Size,
525 c);
526 case 28: return LookupPredicate(kCombiningMarkTable28,
527 kCombiningMarkTable28Size,
528 c);
529 default: return false; 706 default: return false;
530 } 707 }
531 } 708 }
532 709
533 // ConnectorPunctuation: point.category == 'Pc' 710 // ConnectorPunctuation: point.category == 'Pc'
534 711
535 static const uint16_t kConnectorPunctuationTable0Size = 4; 712 static const uint16_t kConnectorPunctuationTable0Size = 4;
536 static const int32_t kConnectorPunctuationTable0[4] = { 95, 1073750079, 8256, 82 76 }; // NOLINT 713 static const int32_t kConnectorPunctuationTable0[4] = {
714 95, 1073750079, 8256, 8276 }; // NOLINT
537 static const uint16_t kConnectorPunctuationTable1Size = 5; 715 static const uint16_t kConnectorPunctuationTable1Size = 5;
538 static const int32_t kConnectorPunctuationTable1[5] = { 1073774131, 32308, 10737 74157, 32335, 32575 }; // NOLINT 716 static const int32_t kConnectorPunctuationTable1[5] = {
717 1073774131, 32308, 1073774157, 32335, 32575 }; // NOLINT
539 bool ConnectorPunctuation::Is(uchar c) { 718 bool ConnectorPunctuation::Is(uchar c) {
540 int chunk_index = c >> 15; 719 int chunk_index = c >> 15;
541 switch (chunk_index) { 720 switch (chunk_index) {
542 case 0: return LookupPredicate(kConnectorPunctuationTable0, 721 case 0: return LookupPredicate(kConnectorPunctuationTable0,
543 kConnectorPunctuationTable0Size, 722 kConnectorPunctuationTable0Size,
544 c); 723 c);
545 case 1: return LookupPredicate(kConnectorPunctuationTable1, 724 case 1: return LookupPredicate(kConnectorPunctuationTable1,
546 kConnectorPunctuationTable1Size, 725 kConnectorPunctuationTable1Size,
547 c); 726 c);
548 default: return false; 727 default: return false;
549 } 728 }
550 } 729 }
551 730
552 static const MultiCharacterSpecialCase<3> kToLowercaseMultiStrings0[] = { {2, {1 05, 775}}, {0, {0}} }; // NOLINT 731 static const MultiCharacterSpecialCase<3> kToLowercaseMultiStrings0[] = { // NO LINT
732 {2, {105, 775}}, {0, {0}} }; // NOLINT
553 static const uint16_t kToLowercaseTable0Size = 531; 733 static const uint16_t kToLowercaseTable0Size = 531;
554 static const int32_t kToLowercaseTable0[1062] = { 1073741889, 128, 90, 128, 1073 742016, 128, 214, 128, 1073742040, 128, 222, 128, 256, 4, 258, 4, 260, 4, 262, 4 , 264, 4, 266, 4, 268, 4, 270, 4, 272, 4, 274, 4, 276, 4, 278, 4, 280, 4, 282, 4 , 284, 4, 286, 4, 288, 4, 290, 4, 292, 4, 294, 4, 296, 4, 298, 4, 300, 4, 302, 4 , 304, 1, 306, 4, 308, 4, 310, 4, 313, 4, 315, 4, 317, 4, 319, 4, 321, 4, 323, 4 , 325, 4, 327, 4, 330, 4, 332, 4, 334, 4, 336, 4, 338, 4, 340, 4, 342, 4, 344, 4 , 346, 4, 348, 4, 350, 4, 352, 4, 354, 4, 356, 4, 358, 4, 360, 4, 362, 4, 364, 4 , 366, 4, 368, 4, 370, 4, 372, 4, 374, 4, 376, -484, 377, 4, 379, 4, 381, 4, 385 , 840, 386, 4, 388, 4, 390, 824, 391, 4, 1073742217, 820, 394, 820, 395, 4, 398, 316, 399, 808, 400, 812, 401, 4, 403, 820, 404, 828, 406, 844, 407, 836, 408, 4 , 412, 844, 413, 852, 415, 856, 416, 4, 418, 4, 420, 4, 422, 872, 423, 4, 425, 8 72, 428, 4, 430, 872, 431, 4, 1073742257, 868, 434, 868, 435, 4, 437, 4, 439, 87 6, 440, 4, 444, 4, 452, 8, 453, 4, 455, 8, 456, 4, 458, 8, 459, 4, 461, 4, 463, 4, 465, 4, 467, 4, 469, 4, 471, 4, 473, 4, 475, 4, 478, 4, 480, 4, 482, 4, 484, 4, 486, 4, 488, 4, 490, 4, 492, 4, 494, 4, 497, 8, 498, 4, 500, 4, 502, -388, 50 3, -224, 504, 4, 506, 4, 508, 4, 510, 4, 512, 4, 514, 4, 516, 4, 518, 4, 520, 4, 522, 4, 524, 4, 526, 4, 528, 4, 530, 4, 532, 4, 534, 4, 536, 4, 538, 4, 540, 4, 542, 4, 544, -520, 546, 4, 548, 4, 550, 4, 552, 4, 554, 4, 556, 4, 558, 4, 560, 4, 562, 4, 570, 43180, 571, 4, 573, -652, 574, 43168, 577, 4, 579, -780, 580, 2 76, 581, 284, 582, 4, 584, 4, 586, 4, 588, 4, 590, 4, 902, 152, 1073742728, 148, 906, 148, 908, 256, 1073742734, 252, 911, 252, 1073742737, 128, 929, 128, 10737 42755, 6, 939, 128, 984, 4, 986, 4, 988, 4, 990, 4, 992, 4, 994, 4, 996, 4, 998, 4, 1000, 4, 1002, 4, 1004, 4, 1006, 4, 1012, -240, 1015, 4, 1017, -28, 1018, 4, 1073742845, -520, 1023, -520, 1073742848, 320, 1039, 320, 1073742864, 128, 1071 , 128, 1120, 4, 1122, 4, 1124, 4, 1126, 4, 1128, 4, 1130, 4, 1132, 4, 1134, 4, 1 136, 4, 1138, 4, 1140, 4, 1142, 4, 1144, 4, 1146, 4, 1148, 4, 1150, 4, 1152, 4, 1162, 4, 1164, 4, 1166, 4, 1168, 4, 1170, 4, 1172, 4, 1174, 4, 1176, 4, 1178, 4, 1180, 4, 1182, 4, 1184, 4, 1186, 4, 1188, 4, 1190, 4, 1192, 4, 1194, 4, 1196, 4 , 1198, 4, 1200, 4, 1202, 4, 1204, 4, 1206, 4, 1208, 4, 1210, 4, 1212, 4, 1214, 4, 1216, 60, 1217, 4, 1219, 4, 1221, 4, 1223, 4, 1225, 4, 1227, 4, 1229, 4, 1232 , 4, 1234, 4, 1236, 4, 1238, 4, 1240, 4, 1242, 4, 1244, 4, 1246, 4, 1248, 4, 125 0, 4, 1252, 4, 1254, 4, 1256, 4, 1258, 4, 1260, 4, 1262, 4, 1264, 4, 1266, 4, 12 68, 4, 1270, 4, 1272, 4, 1274, 4, 1276, 4, 1278, 4, 1280, 4, 1282, 4, 1284, 4, 1 286, 4, 1288, 4, 1290, 4, 1292, 4, 1294, 4, 1296, 4, 1298, 4, 1073743153, 192, 1 366, 192, 1073746080, 29056, 4293, 29056, 7680, 4, 7682, 4, 7684, 4, 7686, 4, 76 88, 4, 7690, 4, 7692, 4, 7694, 4, 7696, 4, 7698, 4, 7700, 4, 7702, 4, 7704, 4, 7 706, 4, 7708, 4, 7710, 4, 7712, 4, 7714, 4, 7716, 4, 7718, 4, 7720, 4, 7722, 4, 7724, 4, 7726, 4, 7728, 4, 7730, 4, 7732, 4, 7734, 4, 7736, 4, 7738, 4, 7740, 4, 7742, 4, 7744, 4, 7746, 4, 7748, 4, 7750, 4, 7752, 4, 7754, 4, 7756, 4, 7758, 4 , 7760, 4, 7762, 4, 7764, 4, 7766, 4, 7768, 4, 7770, 4, 7772, 4, 7774, 4, 7776, 4, 7778, 4, 7780, 4, 7782, 4, 7784, 4, 7786, 4, 7788, 4, 7790, 4, 7792, 4, 7794, 4, 7796, 4, 7798, 4, 7800, 4, 7802, 4, 7804, 4, 7806, 4, 7808, 4, 7810, 4, 7812 , 4, 7814, 4, 7816, 4, 7818, 4, 7820, 4, 7822, 4, 7824, 4, 7826, 4, 7828, 4, 784 0, 4, 7842, 4, 7844, 4, 7846, 4, 7848, 4, 7850, 4, 7852, 4, 7854, 4, 7856, 4, 78 58, 4, 7860, 4, 7862, 4, 7864, 4, 7866, 4, 7868, 4, 7870, 4, 7872, 4, 7874, 4, 7 876, 4, 7878, 4, 7880, 4, 7882, 4, 7884, 4, 7886, 4, 7888, 4, 7890, 4, 7892, 4, 7894, 4, 7896, 4, 7898, 4, 7900, 4, 7902, 4, 7904, 4, 7906, 4, 7908, 4, 7910, 4, 7912, 4, 7914, 4, 7916, 4, 7918, 4, 7920, 4, 7922, 4, 7924, 4, 7926, 4, 7928, 4 , 1073749768, -32, 7951, -32, 1073749784, -32, 7965, -32, 1073749800, -32, 7983, -32, 1073749816, -32, 7999, -32, 1073749832, -32, 8013, -32, 8025, -32, 8027, - 32, 8029, -32, 8031, -32, 1073749864, -32, 8047, -32, 1073749896, -32, 8079, -32 , 1073749912, -32, 8095, -32, 1073749928, -32, 8111, -32, 1073749944, -32, 8121, -32, 1073749946, -296, 8123, -296, 8124, -36, 1073749960, -344, 8139, -344, 814 0, -36, 1073749976, -32, 8153, -32, 1073749978, -400, 8155, -400, 1073749992, -3 2, 8169, -32, 1073749994, -448, 8171, -448, 8172, -28, 1073750008, -512, 8185, - 512, 1073750010, -504, 8187, -504, 8188, -36, 8486, -30068, 8490, -33532, 8491, -33048, 8498, 112, 1073750368, 64, 8559, 64, 8579, 4, 1073751222, 104, 9423, 104 , 1073753088, 192, 11310, 192, 11360, 4, 11362, -42972, 11363, -15256, 11364, -4 2908, 11367, 4, 11369, 4, 11371, 4, 11381, 4, 11392, 4, 11394, 4, 11396, 4, 1139 8, 4, 11400, 4, 11402, 4, 11404, 4, 11406, 4, 11408, 4, 11410, 4, 11412, 4, 1141 4, 4, 11416, 4, 11418, 4, 11420, 4, 11422, 4, 11424, 4, 11426, 4, 11428, 4, 1143 0, 4, 11432, 4, 11434, 4, 11436, 4, 11438, 4, 11440, 4, 11442, 4, 11444, 4, 1144 6, 4, 11448, 4, 11450, 4, 11452, 4, 11454, 4, 11456, 4, 11458, 4, 11460, 4, 1146 2, 4, 11464, 4, 11466, 4, 11468, 4, 11470, 4, 11472, 4, 11474, 4, 11476, 4, 1147 8, 4, 11480, 4, 11482, 4, 11484, 4, 11486, 4, 11488, 4, 11490, 4 }; // NOLINT 734 static const int32_t kToLowercaseTable0[1062] = {
555 static const MultiCharacterSpecialCase<3> kToLowercaseMultiStrings1[] = { {0, {0 }} }; // NOLINT 735 1073741889, 128, 90, 128, 1073742016, 128, 214, 128, 1073742040, 128, 222, 128 , 256, 4, 258, 4, // NOLINT
736 260, 4, 262, 4, 264, 4, 266, 4, 268, 4, 270, 4, 272, 4, 274, 4, // NOLINT
737 276, 4, 278, 4, 280, 4, 282, 4, 284, 4, 286, 4, 288, 4, 290, 4, // NOLINT
738 292, 4, 294, 4, 296, 4, 298, 4, 300, 4, 302, 4, 304, 1, 306, 4, // NOLINT
739 308, 4, 310, 4, 313, 4, 315, 4, 317, 4, 319, 4, 321, 4, 323, 4, // NOLINT
740 325, 4, 327, 4, 330, 4, 332, 4, 334, 4, 336, 4, 338, 4, 340, 4, // NOLINT
741 342, 4, 344, 4, 346, 4, 348, 4, 350, 4, 352, 4, 354, 4, 356, 4, // NOLINT
742 358, 4, 360, 4, 362, 4, 364, 4, 366, 4, 368, 4, 370, 4, 372, 4, // NOLINT
743 374, 4, 376, -484, 377, 4, 379, 4, 381, 4, 385, 840, 386, 4, 388, 4, // NOLIN T
744 390, 824, 391, 4, 1073742217, 820, 394, 820, 395, 4, 398, 316, 399, 808, 400, 812, // NOLINT
745 401, 4, 403, 820, 404, 828, 406, 844, 407, 836, 408, 4, 412, 844, 413, 852, / / NOLINT
746 415, 856, 416, 4, 418, 4, 420, 4, 422, 872, 423, 4, 425, 872, 428, 4, // NOLI NT
747 430, 872, 431, 4, 1073742257, 868, 434, 868, 435, 4, 437, 4, 439, 876, 440, 4, // NOLINT
748 444, 4, 452, 8, 453, 4, 455, 8, 456, 4, 458, 8, 459, 4, 461, 4, // NOLINT
749 463, 4, 465, 4, 467, 4, 469, 4, 471, 4, 473, 4, 475, 4, 478, 4, // NOLINT
750 480, 4, 482, 4, 484, 4, 486, 4, 488, 4, 490, 4, 492, 4, 494, 4, // NOLINT
751 497, 8, 498, 4, 500, 4, 502, -388, 503, -224, 504, 4, 506, 4, 508, 4, // NOLI NT
752 510, 4, 512, 4, 514, 4, 516, 4, 518, 4, 520, 4, 522, 4, 524, 4, // NOLINT
753 526, 4, 528, 4, 530, 4, 532, 4, 534, 4, 536, 4, 538, 4, 540, 4, // NOLINT
754 542, 4, 544, -520, 546, 4, 548, 4, 550, 4, 552, 4, 554, 4, 556, 4, // NOLINT
755 558, 4, 560, 4, 562, 4, 570, 43180, 571, 4, 573, -652, 574, 43168, 577, 4, // NOLINT
756 579, -780, 580, 276, 581, 284, 582, 4, 584, 4, 586, 4, 588, 4, 590, 4, // NOL INT
757 902, 152, 1073742728, 148, 906, 148, 908, 256, 1073742734, 252, 911, 252, 1073 742737, 128, 929, 128, // NOLINT
758 1073742755, 6, 939, 128, 984, 4, 986, 4, 988, 4, 990, 4, 992, 4, 994, 4, // N OLINT
759 996, 4, 998, 4, 1000, 4, 1002, 4, 1004, 4, 1006, 4, 1012, -240, 1015, 4, // N OLINT
760 1017, -28, 1018, 4, 1073742845, -520, 1023, -520, 1073742848, 320, 1039, 320, 1073742864, 128, 1071, 128, // NOLINT
761 1120, 4, 1122, 4, 1124, 4, 1126, 4, 1128, 4, 1130, 4, 1132, 4, 1134, 4, // NO LINT
762 1136, 4, 1138, 4, 1140, 4, 1142, 4, 1144, 4, 1146, 4, 1148, 4, 1150, 4, // NO LINT
763 1152, 4, 1162, 4, 1164, 4, 1166, 4, 1168, 4, 1170, 4, 1172, 4, 1174, 4, // NO LINT
764 1176, 4, 1178, 4, 1180, 4, 1182, 4, 1184, 4, 1186, 4, 1188, 4, 1190, 4, // NO LINT
765 1192, 4, 1194, 4, 1196, 4, 1198, 4, 1200, 4, 1202, 4, 1204, 4, 1206, 4, // NO LINT
766 1208, 4, 1210, 4, 1212, 4, 1214, 4, 1216, 60, 1217, 4, 1219, 4, 1221, 4, // N OLINT
767 1223, 4, 1225, 4, 1227, 4, 1229, 4, 1232, 4, 1234, 4, 1236, 4, 1238, 4, // NO LINT
768 1240, 4, 1242, 4, 1244, 4, 1246, 4, 1248, 4, 1250, 4, 1252, 4, 1254, 4, // NO LINT
769 1256, 4, 1258, 4, 1260, 4, 1262, 4, 1264, 4, 1266, 4, 1268, 4, 1270, 4, // NO LINT
770 1272, 4, 1274, 4, 1276, 4, 1278, 4, 1280, 4, 1282, 4, 1284, 4, 1286, 4, // NO LINT
771 1288, 4, 1290, 4, 1292, 4, 1294, 4, 1296, 4, 1298, 4, 1073743153, 192, 1366, 1 92, // NOLINT
772 1073746080, 29056, 4293, 29056, 7680, 4, 7682, 4, 7684, 4, 7686, 4, 7688, 4, 7 690, 4, // NOLINT
773 7692, 4, 7694, 4, 7696, 4, 7698, 4, 7700, 4, 7702, 4, 7704, 4, 7706, 4, // NO LINT
774 7708, 4, 7710, 4, 7712, 4, 7714, 4, 7716, 4, 7718, 4, 7720, 4, 7722, 4, // NO LINT
775 7724, 4, 7726, 4, 7728, 4, 7730, 4, 7732, 4, 7734, 4, 7736, 4, 7738, 4, // NO LINT
776 7740, 4, 7742, 4, 7744, 4, 7746, 4, 7748, 4, 7750, 4, 7752, 4, 7754, 4, // NO LINT
777 7756, 4, 7758, 4, 7760, 4, 7762, 4, 7764, 4, 7766, 4, 7768, 4, 7770, 4, // NO LINT
778 7772, 4, 7774, 4, 7776, 4, 7778, 4, 7780, 4, 7782, 4, 7784, 4, 7786, 4, // NO LINT
779 7788, 4, 7790, 4, 7792, 4, 7794, 4, 7796, 4, 7798, 4, 7800, 4, 7802, 4, // NO LINT
780 7804, 4, 7806, 4, 7808, 4, 7810, 4, 7812, 4, 7814, 4, 7816, 4, 7818, 4, // NO LINT
781 7820, 4, 7822, 4, 7824, 4, 7826, 4, 7828, 4, 7840, 4, 7842, 4, 7844, 4, // NO LINT
782 7846, 4, 7848, 4, 7850, 4, 7852, 4, 7854, 4, 7856, 4, 7858, 4, 7860, 4, // NO LINT
783 7862, 4, 7864, 4, 7866, 4, 7868, 4, 7870, 4, 7872, 4, 7874, 4, 7876, 4, // NO LINT
784 7878, 4, 7880, 4, 7882, 4, 7884, 4, 7886, 4, 7888, 4, 7890, 4, 7892, 4, // NO LINT
785 7894, 4, 7896, 4, 7898, 4, 7900, 4, 7902, 4, 7904, 4, 7906, 4, 7908, 4, // NO LINT
786 7910, 4, 7912, 4, 7914, 4, 7916, 4, 7918, 4, 7920, 4, 7922, 4, 7924, 4, // NO LINT
787 7926, 4, 7928, 4, 1073749768, -32, 7951, -32, 1073749784, -32, 7965, -32, 1073 749800, -32, 7983, -32, // NOLINT
788 1073749816, -32, 7999, -32, 1073749832, -32, 8013, -32, 8025, -32, 8027, -32, 8029, -32, 8031, -32, // NOLINT
789 1073749864, -32, 8047, -32, 1073749896, -32, 8079, -32, 1073749912, -32, 8095, -32, 1073749928, -32, 8111, -32, // NOLINT
790 1073749944, -32, 8121, -32, 1073749946, -296, 8123, -296, 8124, -36, 107374996 0, -344, 8139, -344, 8140, -36, // NOLINT
791 1073749976, -32, 8153, -32, 1073749978, -400, 8155, -400, 1073749992, -32, 816 9, -32, 1073749994, -448, 8171, -448, // NOLINT
792 8172, -28, 1073750008, -512, 8185, -512, 1073750010, -504, 8187, -504, 8188, - 36, 8486, -30068, 8490, -33532, // NOLINT
793 8491, -33048, 8498, 112, 1073750368, 64, 8559, 64, 8579, 4, 1073751222, 104, 9 423, 104, 1073753088, 192, // NOLINT
794 11310, 192, 11360, 4, 11362, -42972, 11363, -15256, 11364, -42908, 11367, 4, 1 1369, 4, 11371, 4, // NOLINT
795 11381, 4, 11392, 4, 11394, 4, 11396, 4, 11398, 4, 11400, 4, 11402, 4, 11404, 4 , // NOLINT
796 11406, 4, 11408, 4, 11410, 4, 11412, 4, 11414, 4, 11416, 4, 11418, 4, 11420, 4 , // NOLINT
797 11422, 4, 11424, 4, 11426, 4, 11428, 4, 11430, 4, 11432, 4, 11434, 4, 11436, 4 , // NOLINT
798 11438, 4, 11440, 4, 11442, 4, 11444, 4, 11446, 4, 11448, 4, 11450, 4, 11452, 4 , // NOLINT
799 11454, 4, 11456, 4, 11458, 4, 11460, 4, 11462, 4, 11464, 4, 11466, 4, 11468, 4 , // NOLINT
800 11470, 4, 11472, 4, 11474, 4, 11476, 4, 11478, 4, 11480, 4, 11482, 4, 11484, 4 , // NOLINT
801 11486, 4, 11488, 4, 11490, 4 }; // NOLINT
802 static const MultiCharacterSpecialCase<3> kToLowercaseMultiStrings1[] = { // NO LINT
803 {0, {0}} }; // NOLINT
556 static const uint16_t kToLowercaseTable1Size = 2; 804 static const uint16_t kToLowercaseTable1Size = 2;
557 static const int32_t kToLowercaseTable1[4] = { 1073774369, 128, 32570, 128 }; // NOLINT 805 static const int32_t kToLowercaseTable1[4] = {
558 static const MultiCharacterSpecialCase<3> kToLowercaseMultiStrings2[] = { {0, {0 }} }; // NOLINT 806 1073774369, 128, 32570, 128 }; // NOLINT
559 static const uint16_t kToLowercaseTable2Size = 2;
560 static const int32_t kToLowercaseTable2[4] = { 1073742848, 160, 1063, 160 }; // NOLINT
561 int ToLowercase::Convert(uchar c, 807 int ToLowercase::Convert(uchar c,
562 uchar n, 808 uchar n,
563 uchar* result, 809 uchar* result,
564 bool* allow_caching_ptr) { 810 bool* allow_caching_ptr) {
565 int chunk_index = c >> 15; 811 int chunk_index = c >> 15;
566 switch (chunk_index) { 812 switch (chunk_index) {
567 case 0: return LookupMapping(kToLowercaseTable0, 813 case 0: return LookupMapping(kToLowercaseTable0,
568 kToLowercaseTable0Size, 814 kToLowercaseTable0Size,
569 kToLowercaseMultiStrings0, 815 kToLowercaseMultiStrings0,
570 c, 816 c,
571 n, 817 n,
572 result, 818 result,
573 allow_caching_ptr); 819 allow_caching_ptr);
574 case 1: return LookupMapping(kToLowercaseTable1, 820 case 1: return LookupMapping(kToLowercaseTable1,
575 kToLowercaseTable1Size, 821 kToLowercaseTable1Size,
576 kToLowercaseMultiStrings1, 822 kToLowercaseMultiStrings1,
577 c, 823 c,
578 n, 824 n,
579 result, 825 result,
580 allow_caching_ptr); 826 allow_caching_ptr);
581 case 2: return LookupMapping(kToLowercaseTable2,
582 kToLowercaseTable2Size,
583 kToLowercaseMultiStrings2,
584 c,
585 n,
586 result,
587 allow_caching_ptr);
588 default: return 0; 827 default: return 0;
589 } 828 }
590 } 829 }
591 830
592 static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings0[] = { {2, {8 3, 83}}, {2, {700, 78}}, {2, {74, 780}}, {3, {921, 776, 769}}, {3, {933, 776, 76 9}}, {2, {1333, 1362}}, {2, {72, 817}}, {2, {84, 776}}, {2, {87, 778}}, {2, {89, 778}}, {2, {65, 702}}, {2, {933, 787}}, {3, {933, 787, 768}}, {3, {933, 787, 76 9}}, {3, {933, 787, 834}}, {2, {7944, 921}}, {2, {7945, 921}}, {2, {7946, 921}}, {2, {7947, 921}}, {2, {7948, 921}}, {2, {7949, 921}}, {2, {7950, 921}}, {2, {79 51, 921}}, {2, {7944, 921}}, {2, {7945, 921}}, {2, {7946, 921}}, {2, {7947, 921} }, {2, {7948, 921}}, {2, {7949, 921}}, {2, {7950, 921}}, {2, {7951, 921}}, {2, { 7976, 921}}, {2, {7977, 921}}, {2, {7978, 921}}, {2, {7979, 921}}, {2, {7980, 92 1}}, {2, {7981, 921}}, {2, {7982, 921}}, {2, {7983, 921}}, {2, {7976, 921}}, {2, {7977, 921}}, {2, {7978, 921}}, {2, {7979, 921}}, {2, {7980, 921}}, {2, {7981, 921}}, {2, {7982, 921}}, {2, {7983, 921}}, {2, {8040, 921}}, {2, {8041, 921}}, { 2, {8042, 921}}, {2, {8043, 921}}, {2, {8044, 921}}, {2, {8045, 921}}, {2, {8046 , 921}}, {2, {8047, 921}}, {2, {8040, 921}}, {2, {8041, 921}}, {2, {8042, 921}}, {2, {8043, 921}}, {2, {8044, 921}}, {2, {8045, 921}}, {2, {8046, 921}}, {2, {80 47, 921}}, {2, {8122, 921}}, {2, {913, 921}}, {2, {902, 921}}, {2, {913, 834}}, {3, {913, 834, 921}}, {2, {913, 921}}, {2, {8138, 921}}, {2, {919, 921}}, {2, {9 05, 921}}, {2, {919, 834}}, {3, {919, 834, 921}}, {2, {919, 921}}, {3, {921, 776 , 768}}, {3, {921, 776, 769}}, {2, {921, 834}}, {3, {921, 776, 834}}, {3, {933, 776, 768}}, {3, {933, 776, 769}}, {2, {929, 787}}, {2, {933, 834}}, {3, {933, 77 6, 834}}, {2, {8186, 921}}, {2, {937, 921}}, {2, {911, 921}}, {2, {937, 834}}, { 3, {937, 834, 921}}, {2, {937, 921}}, {0, {0}} }; // NOLINT 831 static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings0[] = { // NO LINT
832 {2, {83, 83}}, {2, {700, 78}}, {2, {74, 780}}, {3, {921, 776, 769}}, // NOLIN T
833 {3, {933, 776, 769}}, {2, {1333, 1362}}, {2, {72, 817}}, {2, {84, 776}}, // N OLINT
834 {2, {87, 778}}, {2, {89, 778}}, {2, {65, 702}}, {2, {933, 787}}, // NOLINT
835 {3, {933, 787, 768}}, {3, {933, 787, 769}}, {3, {933, 787, 834}}, {2, {7944, 9 21}}, // NOLINT
836 {2, {7945, 921}}, {2, {7946, 921}}, {2, {7947, 921}}, {2, {7948, 921}}, // NO LINT
837 {2, {7949, 921}}, {2, {7950, 921}}, {2, {7951, 921}}, {2, {7976, 921}}, // NO LINT
838 {2, {7977, 921}}, {2, {7978, 921}}, {2, {7979, 921}}, {2, {7980, 921}}, // NO LINT
839 {2, {7981, 921}}, {2, {7982, 921}}, {2, {7983, 921}}, {2, {8040, 921}}, // NO LINT
840 {2, {8041, 921}}, {2, {8042, 921}}, {2, {8043, 921}}, {2, {8044, 921}}, // NO LINT
841 {2, {8045, 921}}, {2, {8046, 921}}, {2, {8047, 921}}, {2, {8122, 921}}, // NO LINT
842 {2, {913, 921}}, {2, {902, 921}}, {2, {913, 834}}, {3, {913, 834, 921}}, // N OLINT
843 {2, {8138, 921}}, {2, {919, 921}}, {2, {905, 921}}, {2, {919, 834}}, // NOLIN T
844 {3, {919, 834, 921}}, {3, {921, 776, 768}}, {2, {921, 834}}, {3, {921, 776, 83 4}}, // NOLINT
845 {3, {933, 776, 768}}, {2, {929, 787}}, {2, {933, 834}}, {3, {933, 776, 834}}, // NOLINT
846 {2, {8186, 921}}, {2, {937, 921}}, {2, {911, 921}}, {2, {937, 834}}, // NOLIN T
847 {3, {937, 834, 921}}, {0, {0}} }; // NOLINT
593 static const uint16_t kToUppercaseTable0Size = 621; 848 static const uint16_t kToUppercaseTable0Size = 621;
594 static const int32_t kToUppercaseTable0[1242] = { 1073741921, -128, 122, -128, 1 81, 2972, 223, 1, 1073742048, -128, 246, -128, 1073742072, -128, 254, -128, 255, 484, 257, -4, 259, -4, 261, -4, 263, -4, 265, -4, 267, -4, 269, -4, 271, -4, 27 3, -4, 275, -4, 277, -4, 279, -4, 281, -4, 283, -4, 285, -4, 287, -4, 289, -4, 2 91, -4, 293, -4, 295, -4, 297, -4, 299, -4, 301, -4, 303, -4, 305, -928, 307, -4 , 309, -4, 311, -4, 314, -4, 316, -4, 318, -4, 320, -4, 322, -4, 324, -4, 326, - 4, 328, -4, 329, 5, 331, -4, 333, -4, 335, -4, 337, -4, 339, -4, 341, -4, 343, - 4, 345, -4, 347, -4, 349, -4, 351, -4, 353, -4, 355, -4, 357, -4, 359, -4, 361, -4, 363, -4, 365, -4, 367, -4, 369, -4, 371, -4, 373, -4, 375, -4, 378, -4, 380, -4, 382, -4, 383, -1200, 384, 780, 387, -4, 389, -4, 392, -4, 396, -4, 402, -4, 405, 388, 409, -4, 410, 652, 414, 520, 417, -4, 419, -4, 421, -4, 424, -4, 429, -4, 432, -4, 436, -4, 438, -4, 441, -4, 445, -4, 447, 224, 453, -4, 454, -8, 45 6, -4, 457, -8, 459, -4, 460, -8, 462, -4, 464, -4, 466, -4, 468, -4, 470, -4, 4 72, -4, 474, -4, 476, -4, 477, -316, 479, -4, 481, -4, 483, -4, 485, -4, 487, -4 , 489, -4, 491, -4, 493, -4, 495, -4, 496, 9, 498, -4, 499, -8, 501, -4, 505, -4 , 507, -4, 509, -4, 511, -4, 513, -4, 515, -4, 517, -4, 519, -4, 521, -4, 523, - 4, 525, -4, 527, -4, 529, -4, 531, -4, 533, -4, 535, -4, 537, -4, 539, -4, 541, -4, 543, -4, 547, -4, 549, -4, 551, -4, 553, -4, 555, -4, 557, -4, 559, -4, 561, -4, 563, -4, 572, -4, 578, -4, 583, -4, 585, -4, 587, -4, 589, -4, 591, -4, 595 , -840, 596, -824, 1073742422, -820, 599, -820, 601, -808, 603, -812, 608, -820, 611, -828, 616, -836, 617, -844, 619, 42972, 623, -844, 626, -852, 629, -856, 6 37, 42908, 640, -872, 643, -872, 648, -872, 649, -276, 1073742474, -868, 651, -8 68, 652, -284, 658, -876, 837, 336, 1073742715, 520, 893, 520, 912, 13, 940, -15 2, 1073742765, -148, 943, -148, 944, 17, 1073742769, -128, 961, -128, 962, -124, 1073742787, -128, 971, -128, 972, -256, 1073742797, -252, 974, -252, 976, -248, 977, -228, 981, -188, 982, -216, 985, -4, 987, -4, 989, -4, 991, -4, 993, -4, 9 95, -4, 997, -4, 999, -4, 1001, -4, 1003, -4, 1005, -4, 1007, -4, 1008, -344, 10 09, -320, 1010, 28, 1013, -384, 1016, -4, 1019, -4, 1073742896, -128, 1103, -128 , 1073742928, -320, 1119, -320, 1121, -4, 1123, -4, 1125, -4, 1127, -4, 1129, -4 , 1131, -4, 1133, -4, 1135, -4, 1137, -4, 1139, -4, 1141, -4, 1143, -4, 1145, -4 , 1147, -4, 1149, -4, 1151, -4, 1153, -4, 1163, -4, 1165, -4, 1167, -4, 1169, -4 , 1171, -4, 1173, -4, 1175, -4, 1177, -4, 1179, -4, 1181, -4, 1183, -4, 1185, -4 , 1187, -4, 1189, -4, 1191, -4, 1193, -4, 1195, -4, 1197, -4, 1199, -4, 1201, -4 , 1203, -4, 1205, -4, 1207, -4, 1209, -4, 1211, -4, 1213, -4, 1215, -4, 1218, -4 , 1220, -4, 1222, -4, 1224, -4, 1226, -4, 1228, -4, 1230, -4, 1231, -60, 1233, - 4, 1235, -4, 1237, -4, 1239, -4, 1241, -4, 1243, -4, 1245, -4, 1247, -4, 1249, - 4, 1251, -4, 1253, -4, 1255, -4, 1257, -4, 1259, -4, 1261, -4, 1263, -4, 1265, - 4, 1267, -4, 1269, -4, 1271, -4, 1273, -4, 1275, -4, 1277, -4, 1279, -4, 1281, - 4, 1283, -4, 1285, -4, 1287, -4, 1289, -4, 1291, -4, 1293, -4, 1295, -4, 1297, - 4, 1299, -4, 1073743201, -192, 1414, -192, 1415, 21, 7549, 15256, 7681, -4, 7683 , -4, 7685, -4, 7687, -4, 7689, -4, 7691, -4, 7693, -4, 7695, -4, 7697, -4, 7699 , -4, 7701, -4, 7703, -4, 7705, -4, 7707, -4, 7709, -4, 7711, -4, 7713, -4, 7715 , -4, 7717, -4, 7719, -4, 7721, -4, 7723, -4, 7725, -4, 7727, -4, 7729, -4, 7731 , -4, 7733, -4, 7735, -4, 7737, -4, 7739, -4, 7741, -4, 7743, -4, 7745, -4, 7747 , -4, 7749, -4, 7751, -4, 7753, -4, 7755, -4, 7757, -4, 7759, -4, 7761, -4, 7763 , -4, 7765, -4, 7767, -4, 7769, -4, 7771, -4, 7773, -4, 7775, -4, 7777, -4, 7779 , -4, 7781, -4, 7783, -4, 7785, -4, 7787, -4, 7789, -4, 7791, -4, 7793, -4, 7795 , -4, 7797, -4, 7799, -4, 7801, -4, 7803, -4, 7805, -4, 7807, -4, 7809, -4, 7811 , -4, 7813, -4, 7815, -4, 7817, -4, 7819, -4, 7821, -4, 7823, -4, 7825, -4, 7827 , -4, 7829, -4, 7830, 25, 7831, 29, 7832, 33, 7833, 37, 7834, 41, 7835, -236, 78 41, -4, 7843, -4, 7845, -4, 7847, -4, 7849, -4, 7851, -4, 7853, -4, 7855, -4, 78 57, -4, 7859, -4, 7861, -4, 7863, -4, 7865, -4, 7867, -4, 7869, -4, 7871, -4, 78 73, -4, 7875, -4, 7877, -4, 7879, -4, 7881, -4, 7883, -4, 7885, -4, 7887, -4, 78 89, -4, 7891, -4, 7893, -4, 7895, -4, 7897, -4, 7899, -4, 7901, -4, 7903, -4, 79 05, -4, 7907, -4, 7909, -4, 7911, -4, 7913, -4, 7915, -4, 7917, -4, 7919, -4, 79 21, -4, 7923, -4, 7925, -4, 7927, -4, 7929, -4, 1073749760, 32, 7943, 32, 107374 9776, 32, 7957, 32, 1073749792, 32, 7975, 32, 1073749808, 32, 7991, 32, 10737498 24, 32, 8005, 32, 8016, 45, 8017, 32, 8018, 49, 8019, 32, 8020, 53, 8021, 32, 80 22, 57, 8023, 32, 1073749856, 32, 8039, 32, 1073749872, 296, 8049, 296, 10737498 74, 344, 8053, 344, 1073749878, 400, 8055, 400, 1073749880, 512, 8057, 512, 1073 749882, 448, 8059, 448, 1073749884, 504, 8061, 504, 8064, 61, 8065, 65, 8066, 69 , 8067, 73, 8068, 77, 8069, 81, 8070, 85, 8071, 89, 8072, 93, 8073, 97, 8074, 10 1, 8075, 105, 8076, 109, 8077, 113, 8078, 117, 8079, 121, 8080, 125, 8081, 129, 8082, 133, 8083, 137, 8084, 141, 8085, 145, 8086, 149, 8087, 153, 8088, 157, 808 9, 161, 8090, 165, 8091, 169, 8092, 173, 8093, 177, 8094, 181, 8095, 185, 8096, 189, 8097, 193, 8098, 197, 8099, 201, 8100, 205, 8101, 209, 8102, 213, 8103, 217 , 8104, 221, 8105, 225, 8106, 229, 8107, 233, 8108, 237, 8109, 241, 8110, 245, 8 111, 249, 1073749936, 32, 8113, 32, 8114, 253, 8115, 257, 8116, 261, 8118, 265, 8119, 269, 8124, 273, 8126, -28820, 8130, 277, 8131, 281, 8132, 285, 8134, 289, 8135, 293, 8140, 297, 1073749968, 32, 8145, 32, 8146, 301, 8147, 305, 8150, 309, 8151, 313, 1073749984, 32, 8161, 32, 8162, 317, 8163, 321, 8164, 325, 8165, 28, 8166, 329, 8167, 333, 8178, 337, 8179, 341, 8180, 345, 8182, 349, 8183, 353, 81 88, 357, 8526, -112, 1073750384, -64, 8575, -64, 8580, -4, 1073751248, -104, 944 9, -104, 1073753136, -192, 11358, -192, 11361, -4, 11365, -43180, 11366, -43168, 11368, -4, 11370, -4, 11372, -4, 11382, -4, 11393, -4, 11395, -4, 11397, -4, 11 399, -4, 11401, -4, 11403, -4, 11405, -4, 11407, -4, 11409, -4, 11411, -4, 11413 , -4, 11415, -4, 11417, -4, 11419, -4, 11421, -4, 11423, -4, 11425, -4, 11427, - 4, 11429, -4, 11431, -4, 11433, -4, 11435, -4, 11437, -4, 11439, -4, 11441, -4, 11443, -4, 11445, -4, 11447, -4, 11449, -4, 11451, -4, 11453, -4, 11455, -4, 114 57, -4, 11459, -4, 11461, -4, 11463, -4, 11465, -4, 11467, -4, 11469, -4, 11471, -4, 11473, -4, 11475, -4, 11477, -4, 11479, -4, 11481, -4, 11483, -4, 11485, -4 , 11487, -4, 11489, -4, 11491, -4, 1073753344, -29056, 11557, -29056 }; // NOLIN T 849 static const int32_t kToUppercaseTable0[1242] = {
595 static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings1[] = { {2, {7 0, 70}}, {2, {70, 73}}, {2, {70, 76}}, {3, {70, 70, 73}}, {3, {70, 70, 76}}, {2, {83, 84}}, {2, {83, 84}}, {2, {1348, 1350}}, {2, {1348, 1333}}, {2, {1348, 1339 }}, {2, {1358, 1350}}, {2, {1348, 1341}}, {0, {0}} }; // NOLINT 850 1073741921, -128, 122, -128, 181, 2972, 223, 1, 1073742048, -128, 246, -128, 1 073742072, -128, 254, -128, // NOLINT
851 255, 484, 257, -4, 259, -4, 261, -4, 263, -4, 265, -4, 267, -4, 269, -4, // N OLINT
852 271, -4, 273, -4, 275, -4, 277, -4, 279, -4, 281, -4, 283, -4, 285, -4, // NO LINT
853 287, -4, 289, -4, 291, -4, 293, -4, 295, -4, 297, -4, 299, -4, 301, -4, // NO LINT
854 303, -4, 305, -928, 307, -4, 309, -4, 311, -4, 314, -4, 316, -4, 318, -4, // NOLINT
855 320, -4, 322, -4, 324, -4, 326, -4, 328, -4, 329, 5, 331, -4, 333, -4, // NOL INT
856 335, -4, 337, -4, 339, -4, 341, -4, 343, -4, 345, -4, 347, -4, 349, -4, // NO LINT
857 351, -4, 353, -4, 355, -4, 357, -4, 359, -4, 361, -4, 363, -4, 365, -4, // NO LINT
858 367, -4, 369, -4, 371, -4, 373, -4, 375, -4, 378, -4, 380, -4, 382, -4, // NO LINT
859 383, -1200, 384, 780, 387, -4, 389, -4, 392, -4, 396, -4, 402, -4, 405, 388, // NOLINT
860 409, -4, 410, 652, 414, 520, 417, -4, 419, -4, 421, -4, 424, -4, 429, -4, // NOLINT
861 432, -4, 436, -4, 438, -4, 441, -4, 445, -4, 447, 224, 453, -4, 454, -8, // N OLINT
862 456, -4, 457, -8, 459, -4, 460, -8, 462, -4, 464, -4, 466, -4, 468, -4, // NO LINT
863 470, -4, 472, -4, 474, -4, 476, -4, 477, -316, 479, -4, 481, -4, 483, -4, // NOLINT
864 485, -4, 487, -4, 489, -4, 491, -4, 493, -4, 495, -4, 496, 9, 498, -4, // NOL INT
865 499, -8, 501, -4, 505, -4, 507, -4, 509, -4, 511, -4, 513, -4, 515, -4, // NO LINT
866 517, -4, 519, -4, 521, -4, 523, -4, 525, -4, 527, -4, 529, -4, 531, -4, // NO LINT
867 533, -4, 535, -4, 537, -4, 539, -4, 541, -4, 543, -4, 547, -4, 549, -4, // NO LINT
868 551, -4, 553, -4, 555, -4, 557, -4, 559, -4, 561, -4, 563, -4, 572, -4, // NO LINT
869 578, -4, 583, -4, 585, -4, 587, -4, 589, -4, 591, -4, 595, -840, 596, -824, / / NOLINT
870 1073742422, -820, 599, -820, 601, -808, 603, -812, 608, -820, 611, -828, 616, -836, 617, -844, // NOLINT
871 619, 42972, 623, -844, 626, -852, 629, -856, 637, 42908, 640, -872, 643, -872, 648, -872, // NOLINT
872 649, -276, 1073742474, -868, 651, -868, 652, -284, 658, -876, 837, 336, 107374 2715, 520, 893, 520, // NOLINT
873 912, 13, 940, -152, 1073742765, -148, 943, -148, 944, 17, 1073742769, -128, 96 1, -128, 962, -124, // NOLINT
874 1073742787, -128, 971, -128, 972, -256, 1073742797, -252, 974, -252, 976, -248 , 977, -228, 981, -188, // NOLINT
875 982, -216, 985, -4, 987, -4, 989, -4, 991, -4, 993, -4, 995, -4, 997, -4, // NOLINT
876 999, -4, 1001, -4, 1003, -4, 1005, -4, 1007, -4, 1008, -344, 1009, -320, 1010, 28, // NOLINT
877 1013, -384, 1016, -4, 1019, -4, 1073742896, -128, 1103, -128, 1073742928, -320 , 1119, -320, 1121, -4, // NOLINT
878 1123, -4, 1125, -4, 1127, -4, 1129, -4, 1131, -4, 1133, -4, 1135, -4, 1137, -4 , // NOLINT
879 1139, -4, 1141, -4, 1143, -4, 1145, -4, 1147, -4, 1149, -4, 1151, -4, 1153, -4 , // NOLINT
880 1163, -4, 1165, -4, 1167, -4, 1169, -4, 1171, -4, 1173, -4, 1175, -4, 1177, -4 , // NOLINT
881 1179, -4, 1181, -4, 1183, -4, 1185, -4, 1187, -4, 1189, -4, 1191, -4, 1193, -4 , // NOLINT
882 1195, -4, 1197, -4, 1199, -4, 1201, -4, 1203, -4, 1205, -4, 1207, -4, 1209, -4 , // NOLINT
883 1211, -4, 1213, -4, 1215, -4, 1218, -4, 1220, -4, 1222, -4, 1224, -4, 1226, -4 , // NOLINT
884 1228, -4, 1230, -4, 1231, -60, 1233, -4, 1235, -4, 1237, -4, 1239, -4, 1241, - 4, // NOLINT
885 1243, -4, 1245, -4, 1247, -4, 1249, -4, 1251, -4, 1253, -4, 1255, -4, 1257, -4 , // NOLINT
886 1259, -4, 1261, -4, 1263, -4, 1265, -4, 1267, -4, 1269, -4, 1271, -4, 1273, -4 , // NOLINT
887 1275, -4, 1277, -4, 1279, -4, 1281, -4, 1283, -4, 1285, -4, 1287, -4, 1289, -4 , // NOLINT
888 1291, -4, 1293, -4, 1295, -4, 1297, -4, 1299, -4, 1073743201, -192, 1414, -192 , 1415, 21, // NOLINT
889 7549, 15256, 7681, -4, 7683, -4, 7685, -4, 7687, -4, 7689, -4, 7691, -4, 7693, -4, // NOLINT
890 7695, -4, 7697, -4, 7699, -4, 7701, -4, 7703, -4, 7705, -4, 7707, -4, 7709, -4 , // NOLINT
891 7711, -4, 7713, -4, 7715, -4, 7717, -4, 7719, -4, 7721, -4, 7723, -4, 7725, -4 , // NOLINT
892 7727, -4, 7729, -4, 7731, -4, 7733, -4, 7735, -4, 7737, -4, 7739, -4, 7741, -4 , // NOLINT
893 7743, -4, 7745, -4, 7747, -4, 7749, -4, 7751, -4, 7753, -4, 7755, -4, 7757, -4 , // NOLINT
894 7759, -4, 7761, -4, 7763, -4, 7765, -4, 7767, -4, 7769, -4, 7771, -4, 7773, -4 , // NOLINT
895 7775, -4, 7777, -4, 7779, -4, 7781, -4, 7783, -4, 7785, -4, 7787, -4, 7789, -4 , // NOLINT
896 7791, -4, 7793, -4, 7795, -4, 7797, -4, 7799, -4, 7801, -4, 7803, -4, 7805, -4 , // NOLINT
897 7807, -4, 7809, -4, 7811, -4, 7813, -4, 7815, -4, 7817, -4, 7819, -4, 7821, -4 , // NOLINT
898 7823, -4, 7825, -4, 7827, -4, 7829, -4, 7830, 25, 7831, 29, 7832, 33, 7833, 37 , // NOLINT
899 7834, 41, 7835, -236, 7841, -4, 7843, -4, 7845, -4, 7847, -4, 7849, -4, 7851, -4, // NOLINT
900 7853, -4, 7855, -4, 7857, -4, 7859, -4, 7861, -4, 7863, -4, 7865, -4, 7867, -4 , // NOLINT
901 7869, -4, 7871, -4, 7873, -4, 7875, -4, 7877, -4, 7879, -4, 7881, -4, 7883, -4 , // NOLINT
902 7885, -4, 7887, -4, 7889, -4, 7891, -4, 7893, -4, 7895, -4, 7897, -4, 7899, -4 , // NOLINT
903 7901, -4, 7903, -4, 7905, -4, 7907, -4, 7909, -4, 7911, -4, 7913, -4, 7915, -4 , // NOLINT
904 7917, -4, 7919, -4, 7921, -4, 7923, -4, 7925, -4, 7927, -4, 7929, -4, 10737497 60, 32, // NOLINT
905 7943, 32, 1073749776, 32, 7957, 32, 1073749792, 32, 7975, 32, 1073749808, 32, 7991, 32, 1073749824, 32, // NOLINT
906 8005, 32, 8016, 45, 8017, 32, 8018, 49, 8019, 32, 8020, 53, 8021, 32, 8022, 57 , // NOLINT
907 8023, 32, 1073749856, 32, 8039, 32, 1073749872, 296, 8049, 296, 1073749874, 34 4, 8053, 344, 1073749878, 400, // NOLINT
908 8055, 400, 1073749880, 512, 8057, 512, 1073749882, 448, 8059, 448, 1073749884, 504, 8061, 504, 8064, 61, // NOLINT
909 8065, 65, 8066, 69, 8067, 73, 8068, 77, 8069, 81, 8070, 85, 8071, 89, 8072, 61 , // NOLINT
910 8073, 65, 8074, 69, 8075, 73, 8076, 77, 8077, 81, 8078, 85, 8079, 89, 8080, 93 , // NOLINT
911 8081, 97, 8082, 101, 8083, 105, 8084, 109, 8085, 113, 8086, 117, 8087, 121, 80 88, 93, // NOLINT
912 8089, 97, 8090, 101, 8091, 105, 8092, 109, 8093, 113, 8094, 117, 8095, 121, 80 96, 125, // NOLINT
913 8097, 129, 8098, 133, 8099, 137, 8100, 141, 8101, 145, 8102, 149, 8103, 153, 8 104, 125, // NOLINT
914 8105, 129, 8106, 133, 8107, 137, 8108, 141, 8109, 145, 8110, 149, 8111, 153, 1 073749936, 32, // NOLINT
915 8113, 32, 8114, 157, 8115, 161, 8116, 165, 8118, 169, 8119, 173, 8124, 161, 81 26, -28820, // NOLINT
916 8130, 177, 8131, 181, 8132, 185, 8134, 189, 8135, 193, 8140, 181, 1073749968, 32, 8145, 32, // NOLINT
917 8146, 197, 8147, 13, 8150, 201, 8151, 205, 1073749984, 32, 8161, 32, 8162, 209 , 8163, 17, // NOLINT
918 8164, 213, 8165, 28, 8166, 217, 8167, 221, 8178, 225, 8179, 229, 8180, 233, 81 82, 237, // NOLINT
919 8183, 241, 8188, 229, 8526, -112, 1073750384, -64, 8575, -64, 8580, -4, 107375 1248, -104, 9449, -104, // NOLINT
920 1073753136, -192, 11358, -192, 11361, -4, 11365, -43180, 11366, -43168, 11368, -4, 11370, -4, 11372, -4, // NOLINT
921 11382, -4, 11393, -4, 11395, -4, 11397, -4, 11399, -4, 11401, -4, 11403, -4, 1 1405, -4, // NOLINT
922 11407, -4, 11409, -4, 11411, -4, 11413, -4, 11415, -4, 11417, -4, 11419, -4, 1 1421, -4, // NOLINT
923 11423, -4, 11425, -4, 11427, -4, 11429, -4, 11431, -4, 11433, -4, 11435, -4, 1 1437, -4, // NOLINT
924 11439, -4, 11441, -4, 11443, -4, 11445, -4, 11447, -4, 11449, -4, 11451, -4, 1 1453, -4, // NOLINT
925 11455, -4, 11457, -4, 11459, -4, 11461, -4, 11463, -4, 11465, -4, 11467, -4, 1 1469, -4, // NOLINT
926 11471, -4, 11473, -4, 11475, -4, 11477, -4, 11479, -4, 11481, -4, 11483, -4, 1 1485, -4, // NOLINT
927 11487, -4, 11489, -4, 11491, -4, 1073753344, -29056, 11557, -29056 }; // NOLI NT
928 static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings1[] = { // NO LINT
929 {2, {70, 70}}, {2, {70, 73}}, {2, {70, 76}}, {3, {70, 70, 73}}, // NOLINT
930 {3, {70, 70, 76}}, {2, {83, 84}}, {2, {1348, 1350}}, {2, {1348, 1333}}, // NO LINT
931 {2, {1348, 1339}}, {2, {1358, 1350}}, {2, {1348, 1341}}, {0, {0}} }; // NOLINT
596 static const uint16_t kToUppercaseTable1Size = 14; 932 static const uint16_t kToUppercaseTable1Size = 14;
597 static const int32_t kToUppercaseTable1[28] = { 31488, 1, 31489, 5, 31490, 9, 31 491, 13, 31492, 17, 31493, 21, 31494, 25, 31507, 29, 31508, 33, 31509, 37, 31510 , 41, 31511, 45, 1073774401, -128, 32602, -128 }; // NOLINT 933 static const int32_t kToUppercaseTable1[28] = {
598 static const MultiCharacterSpecialCase<3> kToUppercaseMultiStrings2[] = { {0, {0 }} }; // NOLINT 934 31488, 1, 31489, 5, 31490, 9, 31491, 13, 31492, 17, 31493, 21, 31494, 21, 3150 7, 25, // NOLINT
599 static const uint16_t kToUppercaseTable2Size = 2; 935 31508, 29, 31509, 33, 31510, 37, 31511, 41, 1073774401, -128, 32602, -128 }; // NOLINT
600 static const int32_t kToUppercaseTable2[4] = { 1073742888, -160, 1103, -160 }; / / NOLINT
601 int ToUppercase::Convert(uchar c, 936 int ToUppercase::Convert(uchar c,
602 uchar n, 937 uchar n,
603 uchar* result, 938 uchar* result,
604 bool* allow_caching_ptr) { 939 bool* allow_caching_ptr) {
605 int chunk_index = c >> 15; 940 int chunk_index = c >> 15;
606 switch (chunk_index) { 941 switch (chunk_index) {
607 case 0: return LookupMapping(kToUppercaseTable0, 942 case 0: return LookupMapping(kToUppercaseTable0,
608 kToUppercaseTable0Size, 943 kToUppercaseTable0Size,
609 kToUppercaseMultiStrings0, 944 kToUppercaseMultiStrings0,
610 c, 945 c,
611 n, 946 n,
612 result, 947 result,
613 allow_caching_ptr); 948 allow_caching_ptr);
614 case 1: return LookupMapping(kToUppercaseTable1, 949 case 1: return LookupMapping(kToUppercaseTable1,
615 kToUppercaseTable1Size, 950 kToUppercaseTable1Size,
616 kToUppercaseMultiStrings1, 951 kToUppercaseMultiStrings1,
617 c, 952 c,
618 n, 953 n,
619 result, 954 result,
620 allow_caching_ptr); 955 allow_caching_ptr);
621 case 2: return LookupMapping(kToUppercaseTable2,
622 kToUppercaseTable2Size,
623 kToUppercaseMultiStrings2,
624 c,
625 n,
626 result,
627 allow_caching_ptr);
628 default: return 0; 956 default: return 0;
629 } 957 }
630 } 958 }
631 959
632 static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings0[] = { {0, {0}} }; // NOLINT 960 static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings0[] = { // NOLINT
961 {0, {0}} }; // NOLINT
633 static const uint16_t kEcma262CanonicalizeTable0Size = 529; 962 static const uint16_t kEcma262CanonicalizeTable0Size = 529;
634 static const int32_t kEcma262CanonicalizeTable0[1058] = { 1073741921, -128, 122, -128, 181, 2972, 1073742048, -128, 246, -128, 1073742072, -128, 254, -128, 255, 484, 257, -4, 259, -4, 261, -4, 263, -4, 265, -4, 267, -4, 269, -4, 271, -4, 27 3, -4, 275, -4, 277, -4, 279, -4, 281, -4, 283, -4, 285, -4, 287, -4, 289, -4, 2 91, -4, 293, -4, 295, -4, 297, -4, 299, -4, 301, -4, 303, -4, 307, -4, 309, -4, 311, -4, 314, -4, 316, -4, 318, -4, 320, -4, 322, -4, 324, -4, 326, -4, 328, -4, 331, -4, 333, -4, 335, -4, 337, -4, 339, -4, 341, -4, 343, -4, 345, -4, 347, -4 , 349, -4, 351, -4, 353, -4, 355, -4, 357, -4, 359, -4, 361, -4, 363, -4, 365, - 4, 367, -4, 369, -4, 371, -4, 373, -4, 375, -4, 378, -4, 380, -4, 382, -4, 384, 780, 387, -4, 389, -4, 392, -4, 396, -4, 402, -4, 405, 388, 409, -4, 410, 652, 4 14, 520, 417, -4, 419, -4, 421, -4, 424, -4, 429, -4, 432, -4, 436, -4, 438, -4, 441, -4, 445, -4, 447, 224, 453, -4, 454, -8, 456, -4, 457, -8, 459, -4, 460, - 8, 462, -4, 464, -4, 466, -4, 468, -4, 470, -4, 472, -4, 474, -4, 476, -4, 477, -316, 479, -4, 481, -4, 483, -4, 485, -4, 487, -4, 489, -4, 491, -4, 493, -4, 49 5, -4, 498, -4, 499, -8, 501, -4, 505, -4, 507, -4, 509, -4, 511, -4, 513, -4, 5 15, -4, 517, -4, 519, -4, 521, -4, 523, -4, 525, -4, 527, -4, 529, -4, 531, -4, 533, -4, 535, -4, 537, -4, 539, -4, 541, -4, 543, -4, 547, -4, 549, -4, 551, -4, 553, -4, 555, -4, 557, -4, 559, -4, 561, -4, 563, -4, 572, -4, 578, -4, 583, -4 , 585, -4, 587, -4, 589, -4, 591, -4, 595, -840, 596, -824, 1073742422, -820, 59 9, -820, 601, -808, 603, -812, 608, -820, 611, -828, 616, -836, 617, -844, 619, 42972, 623, -844, 626, -852, 629, -856, 637, 42908, 640, -872, 643, -872, 648, - 872, 649, -276, 1073742474, -868, 651, -868, 652, -284, 658, -876, 837, 336, 107 3742715, 520, 893, 520, 940, -152, 1073742765, -148, 943, -148, 1073742769, -128 , 961, -128, 962, -124, 1073742787, -128, 971, -128, 972, -256, 1073742797, -252 , 974, -252, 976, -248, 977, -228, 981, -188, 982, -216, 985, -4, 987, -4, 989, -4, 991, -4, 993, -4, 995, -4, 997, -4, 999, -4, 1001, -4, 1003, -4, 1005, -4, 1 007, -4, 1008, -344, 1009, -320, 1010, 28, 1013, -384, 1016, -4, 1019, -4, 10737 42896, -128, 1103, -128, 1073742928, -320, 1119, -320, 1121, -4, 1123, -4, 1125, -4, 1127, -4, 1129, -4, 1131, -4, 1133, -4, 1135, -4, 1137, -4, 1139, -4, 1141, -4, 1143, -4, 1145, -4, 1147, -4, 1149, -4, 1151, -4, 1153, -4, 1163, -4, 1165, -4, 1167, -4, 1169, -4, 1171, -4, 1173, -4, 1175, -4, 1177, -4, 1179, -4, 1181, -4, 1183, -4, 1185, -4, 1187, -4, 1189, -4, 1191, -4, 1193, -4, 1195, -4, 1197, -4, 1199, -4, 1201, -4, 1203, -4, 1205, -4, 1207, -4, 1209, -4, 1211, -4, 1213, -4, 1215, -4, 1218, -4, 1220, -4, 1222, -4, 1224, -4, 1226, -4, 1228, -4, 1230, -4, 1231, -60, 1233, -4, 1235, -4, 1237, -4, 1239, -4, 1241, -4, 1243, -4, 1245 , -4, 1247, -4, 1249, -4, 1251, -4, 1253, -4, 1255, -4, 1257, -4, 1259, -4, 1261 , -4, 1263, -4, 1265, -4, 1267, -4, 1269, -4, 1271, -4, 1273, -4, 1275, -4, 1277 , -4, 1279, -4, 1281, -4, 1283, -4, 1285, -4, 1287, -4, 1289, -4, 1291, -4, 1293 , -4, 1295, -4, 1297, -4, 1299, -4, 1073743201, -192, 1414, -192, 7549, 15256, 7 681, -4, 7683, -4, 7685, -4, 7687, -4, 7689, -4, 7691, -4, 7693, -4, 7695, -4, 7 697, -4, 7699, -4, 7701, -4, 7703, -4, 7705, -4, 7707, -4, 7709, -4, 7711, -4, 7 713, -4, 7715, -4, 7717, -4, 7719, -4, 7721, -4, 7723, -4, 7725, -4, 7727, -4, 7 729, -4, 7731, -4, 7733, -4, 7735, -4, 7737, -4, 7739, -4, 7741, -4, 7743, -4, 7 745, -4, 7747, -4, 7749, -4, 7751, -4, 7753, -4, 7755, -4, 7757, -4, 7759, -4, 7 761, -4, 7763, -4, 7765, -4, 7767, -4, 7769, -4, 7771, -4, 7773, -4, 7775, -4, 7 777, -4, 7779, -4, 7781, -4, 7783, -4, 7785, -4, 7787, -4, 7789, -4, 7791, -4, 7 793, -4, 7795, -4, 7797, -4, 7799, -4, 7801, -4, 7803, -4, 7805, -4, 7807, -4, 7 809, -4, 7811, -4, 7813, -4, 7815, -4, 7817, -4, 7819, -4, 7821, -4, 7823, -4, 7 825, -4, 7827, -4, 7829, -4, 7835, -236, 7841, -4, 7843, -4, 7845, -4, 7847, -4, 7849, -4, 7851, -4, 7853, -4, 7855, -4, 7857, -4, 7859, -4, 7861, -4, 7863, -4, 7865, -4, 7867, -4, 7869, -4, 7871, -4, 7873, -4, 7875, -4, 7877, -4, 7879, -4, 7881, -4, 7883, -4, 7885, -4, 7887, -4, 7889, -4, 7891, -4, 7893, -4, 7895, -4, 7897, -4, 7899, -4, 7901, -4, 7903, -4, 7905, -4, 7907, -4, 7909, -4, 7911, -4, 7913, -4, 7915, -4, 7917, -4, 7919, -4, 7921, -4, 7923, -4, 7925, -4, 7927, -4, 7929, -4, 1073749760, 32, 7943, 32, 1073749776, 32, 7957, 32, 1073749792, 32, 7 975, 32, 1073749808, 32, 7991, 32, 1073749824, 32, 8005, 32, 8017, 32, 8019, 32, 8021, 32, 8023, 32, 1073749856, 32, 8039, 32, 1073749872, 296, 8049, 296, 10737 49874, 344, 8053, 344, 1073749878, 400, 8055, 400, 1073749880, 512, 8057, 512, 1 073749882, 448, 8059, 448, 1073749884, 504, 8061, 504, 1073749936, 32, 8113, 32, 8126, -28820, 1073749968, 32, 8145, 32, 1073749984, 32, 8161, 32, 8165, 28, 852 6, -112, 1073750384, -64, 8575, -64, 8580, -4, 1073751248, -104, 9449, -104, 107 3753136, -192, 11358, -192, 11361, -4, 11365, -43180, 11366, -43168, 11368, -4, 11370, -4, 11372, -4, 11382, -4, 11393, -4, 11395, -4, 11397, -4, 11399, -4, 114 01, -4, 11403, -4, 11405, -4, 11407, -4, 11409, -4, 11411, -4, 11413, -4, 11415, -4, 11417, -4, 11419, -4, 11421, -4, 11423, -4, 11425, -4, 11427, -4, 11429, -4 , 11431, -4, 11433, -4, 11435, -4, 11437, -4, 11439, -4, 11441, -4, 11443, -4, 1 1445, -4, 11447, -4, 11449, -4, 11451, -4, 11453, -4, 11455, -4, 11457, -4, 1145 9, -4, 11461, -4, 11463, -4, 11465, -4, 11467, -4, 11469, -4, 11471, -4, 11473, -4, 11475, -4, 11477, -4, 11479, -4, 11481, -4, 11483, -4, 11485, -4, 11487, -4, 11489, -4, 11491, -4, 1073753344, -29056, 11557, -29056 }; // NOLINT 963 static const int32_t kEcma262CanonicalizeTable0[1058] = {
635 static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings1[] = { {0, {0}} }; // NOLINT 964 1073741921, -128, 122, -128, 181, 2972, 1073742048, -128, 246, -128, 107374207 2, -128, 254, -128, 255, 484, // NOLINT
965 257, -4, 259, -4, 261, -4, 263, -4, 265, -4, 267, -4, 269, -4, 271, -4, // NO LINT
966 273, -4, 275, -4, 277, -4, 279, -4, 281, -4, 283, -4, 285, -4, 287, -4, // NO LINT
967 289, -4, 291, -4, 293, -4, 295, -4, 297, -4, 299, -4, 301, -4, 303, -4, // NO LINT
968 307, -4, 309, -4, 311, -4, 314, -4, 316, -4, 318, -4, 320, -4, 322, -4, // NO LINT
969 324, -4, 326, -4, 328, -4, 331, -4, 333, -4, 335, -4, 337, -4, 339, -4, // NO LINT
970 341, -4, 343, -4, 345, -4, 347, -4, 349, -4, 351, -4, 353, -4, 355, -4, // NO LINT
971 357, -4, 359, -4, 361, -4, 363, -4, 365, -4, 367, -4, 369, -4, 371, -4, // NO LINT
972 373, -4, 375, -4, 378, -4, 380, -4, 382, -4, 384, 780, 387, -4, 389, -4, // N OLINT
973 392, -4, 396, -4, 402, -4, 405, 388, 409, -4, 410, 652, 414, 520, 417, -4, // NOLINT
974 419, -4, 421, -4, 424, -4, 429, -4, 432, -4, 436, -4, 438, -4, 441, -4, // NO LINT
975 445, -4, 447, 224, 453, -4, 454, -8, 456, -4, 457, -8, 459, -4, 460, -8, // N OLINT
976 462, -4, 464, -4, 466, -4, 468, -4, 470, -4, 472, -4, 474, -4, 476, -4, // NO LINT
977 477, -316, 479, -4, 481, -4, 483, -4, 485, -4, 487, -4, 489, -4, 491, -4, // NOLINT
978 493, -4, 495, -4, 498, -4, 499, -8, 501, -4, 505, -4, 507, -4, 509, -4, // NO LINT
979 511, -4, 513, -4, 515, -4, 517, -4, 519, -4, 521, -4, 523, -4, 525, -4, // NO LINT
980 527, -4, 529, -4, 531, -4, 533, -4, 535, -4, 537, -4, 539, -4, 541, -4, // NO LINT
981 543, -4, 547, -4, 549, -4, 551, -4, 553, -4, 555, -4, 557, -4, 559, -4, // NO LINT
982 561, -4, 563, -4, 572, -4, 578, -4, 583, -4, 585, -4, 587, -4, 589, -4, // NO LINT
983 591, -4, 595, -840, 596, -824, 1073742422, -820, 599, -820, 601, -808, 603, -8 12, 608, -820, // NOLINT
984 611, -828, 616, -836, 617, -844, 619, 42972, 623, -844, 626, -852, 629, -856, 637, 42908, // NOLINT
985 640, -872, 643, -872, 648, -872, 649, -276, 1073742474, -868, 651, -868, 652, -284, 658, -876, // NOLINT
986 837, 336, 1073742715, 520, 893, 520, 940, -152, 1073742765, -148, 943, -148, 1 073742769, -128, 961, -128, // NOLINT
987 962, -124, 1073742787, -128, 971, -128, 972, -256, 1073742797, -252, 974, -252 , 976, -248, 977, -228, // NOLINT
988 981, -188, 982, -216, 985, -4, 987, -4, 989, -4, 991, -4, 993, -4, 995, -4, / / NOLINT
989 997, -4, 999, -4, 1001, -4, 1003, -4, 1005, -4, 1007, -4, 1008, -344, 1009, -3 20, // NOLINT
990 1010, 28, 1013, -384, 1016, -4, 1019, -4, 1073742896, -128, 1103, -128, 107374 2928, -320, 1119, -320, // NOLINT
991 1121, -4, 1123, -4, 1125, -4, 1127, -4, 1129, -4, 1131, -4, 1133, -4, 1135, -4 , // NOLINT
992 1137, -4, 1139, -4, 1141, -4, 1143, -4, 1145, -4, 1147, -4, 1149, -4, 1151, -4 , // NOLINT
993 1153, -4, 1163, -4, 1165, -4, 1167, -4, 1169, -4, 1171, -4, 1173, -4, 1175, -4 , // NOLINT
994 1177, -4, 1179, -4, 1181, -4, 1183, -4, 1185, -4, 1187, -4, 1189, -4, 1191, -4 , // NOLINT
995 1193, -4, 1195, -4, 1197, -4, 1199, -4, 1201, -4, 1203, -4, 1205, -4, 1207, -4 , // NOLINT
996 1209, -4, 1211, -4, 1213, -4, 1215, -4, 1218, -4, 1220, -4, 1222, -4, 1224, -4 , // NOLINT
997 1226, -4, 1228, -4, 1230, -4, 1231, -60, 1233, -4, 1235, -4, 1237, -4, 1239, - 4, // NOLINT
998 1241, -4, 1243, -4, 1245, -4, 1247, -4, 1249, -4, 1251, -4, 1253, -4, 1255, -4 , // NOLINT
999 1257, -4, 1259, -4, 1261, -4, 1263, -4, 1265, -4, 1267, -4, 1269, -4, 1271, -4 , // NOLINT
1000 1273, -4, 1275, -4, 1277, -4, 1279, -4, 1281, -4, 1283, -4, 1285, -4, 1287, -4 , // NOLINT
1001 1289, -4, 1291, -4, 1293, -4, 1295, -4, 1297, -4, 1299, -4, 1073743201, -192, 1414, -192, // NOLINT
1002 7549, 15256, 7681, -4, 7683, -4, 7685, -4, 7687, -4, 7689, -4, 7691, -4, 7693, -4, // NOLINT
1003 7695, -4, 7697, -4, 7699, -4, 7701, -4, 7703, -4, 7705, -4, 7707, -4, 7709, -4 , // NOLINT
1004 7711, -4, 7713, -4, 7715, -4, 7717, -4, 7719, -4, 7721, -4, 7723, -4, 7725, -4 , // NOLINT
1005 7727, -4, 7729, -4, 7731, -4, 7733, -4, 7735, -4, 7737, -4, 7739, -4, 7741, -4 , // NOLINT
1006 7743, -4, 7745, -4, 7747, -4, 7749, -4, 7751, -4, 7753, -4, 7755, -4, 7757, -4 , // NOLINT
1007 7759, -4, 7761, -4, 7763, -4, 7765, -4, 7767, -4, 7769, -4, 7771, -4, 7773, -4 , // NOLINT
1008 7775, -4, 7777, -4, 7779, -4, 7781, -4, 7783, -4, 7785, -4, 7787, -4, 7789, -4 , // NOLINT
1009 7791, -4, 7793, -4, 7795, -4, 7797, -4, 7799, -4, 7801, -4, 7803, -4, 7805, -4 , // NOLINT
1010 7807, -4, 7809, -4, 7811, -4, 7813, -4, 7815, -4, 7817, -4, 7819, -4, 7821, -4 , // NOLINT
1011 7823, -4, 7825, -4, 7827, -4, 7829, -4, 7835, -236, 7841, -4, 7843, -4, 7845, -4, // NOLINT
1012 7847, -4, 7849, -4, 7851, -4, 7853, -4, 7855, -4, 7857, -4, 7859, -4, 7861, -4 , // NOLINT
1013 7863, -4, 7865, -4, 7867, -4, 7869, -4, 7871, -4, 7873, -4, 7875, -4, 7877, -4 , // NOLINT
1014 7879, -4, 7881, -4, 7883, -4, 7885, -4, 7887, -4, 7889, -4, 7891, -4, 7893, -4 , // NOLINT
1015 7895, -4, 7897, -4, 7899, -4, 7901, -4, 7903, -4, 7905, -4, 7907, -4, 7909, -4 , // NOLINT
1016 7911, -4, 7913, -4, 7915, -4, 7917, -4, 7919, -4, 7921, -4, 7923, -4, 7925, -4 , // NOLINT
1017 7927, -4, 7929, -4, 1073749760, 32, 7943, 32, 1073749776, 32, 7957, 32, 107374 9792, 32, 7975, 32, // NOLINT
1018 1073749808, 32, 7991, 32, 1073749824, 32, 8005, 32, 8017, 32, 8019, 32, 8021, 32, 8023, 32, // NOLINT
1019 1073749856, 32, 8039, 32, 1073749872, 296, 8049, 296, 1073749874, 344, 8053, 3 44, 1073749878, 400, 8055, 400, // NOLINT
1020 1073749880, 512, 8057, 512, 1073749882, 448, 8059, 448, 1073749884, 504, 8061, 504, 1073749936, 32, 8113, 32, // NOLINT
1021 8126, -28820, 1073749968, 32, 8145, 32, 1073749984, 32, 8161, 32, 8165, 28, 85 26, -112, 1073750384, -64, // NOLINT
1022 8575, -64, 8580, -4, 1073751248, -104, 9449, -104, 1073753136, -192, 11358, -1 92, 11361, -4, 11365, -43180, // NOLINT
1023 11366, -43168, 11368, -4, 11370, -4, 11372, -4, 11382, -4, 11393, -4, 11395, - 4, 11397, -4, // NOLINT
1024 11399, -4, 11401, -4, 11403, -4, 11405, -4, 11407, -4, 11409, -4, 11411, -4, 1 1413, -4, // NOLINT
1025 11415, -4, 11417, -4, 11419, -4, 11421, -4, 11423, -4, 11425, -4, 11427, -4, 1 1429, -4, // NOLINT
1026 11431, -4, 11433, -4, 11435, -4, 11437, -4, 11439, -4, 11441, -4, 11443, -4, 1 1445, -4, // NOLINT
1027 11447, -4, 11449, -4, 11451, -4, 11453, -4, 11455, -4, 11457, -4, 11459, -4, 1 1461, -4, // NOLINT
1028 11463, -4, 11465, -4, 11467, -4, 11469, -4, 11471, -4, 11473, -4, 11475, -4, 1 1477, -4, // NOLINT
1029 11479, -4, 11481, -4, 11483, -4, 11485, -4, 11487, -4, 11489, -4, 11491, -4, 1 073753344, -29056, // NOLINT
1030 11557, -29056 }; // NOLINT
1031 static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings1[] = { // NOLINT
1032 {0, {0}} }; // NOLINT
636 static const uint16_t kEcma262CanonicalizeTable1Size = 2; 1033 static const uint16_t kEcma262CanonicalizeTable1Size = 2;
637 static const int32_t kEcma262CanonicalizeTable1[4] = { 1073774401, -128, 32602, -128 }; // NOLINT 1034 static const int32_t kEcma262CanonicalizeTable1[4] = {
638 static const MultiCharacterSpecialCase<1> kEcma262CanonicalizeMultiStrings2[] = { {0, {0}} }; // NOLINT 1035 1073774401, -128, 32602, -128 }; // NOLINT
639 static const uint16_t kEcma262CanonicalizeTable2Size = 2;
640 static const int32_t kEcma262CanonicalizeTable2[4] = { 1073742888, -160, 1103, - 160 }; // NOLINT
641 int Ecma262Canonicalize::Convert(uchar c, 1036 int Ecma262Canonicalize::Convert(uchar c,
642 uchar n, 1037 uchar n,
643 uchar* result, 1038 uchar* result,
644 bool* allow_caching_ptr) { 1039 bool* allow_caching_ptr) {
645 int chunk_index = c >> 15; 1040 int chunk_index = c >> 15;
646 switch (chunk_index) { 1041 switch (chunk_index) {
647 case 0: return LookupMapping(kEcma262CanonicalizeTable0, 1042 case 0: return LookupMapping(kEcma262CanonicalizeTable0,
648 kEcma262CanonicalizeTable0Size, 1043 kEcma262CanonicalizeTable0Size,
649 kEcma262CanonicalizeMultiStrings0, 1044 kEcma262CanonicalizeMultiStrings0,
650 c, 1045 c,
651 n, 1046 n,
652 result, 1047 result,
653 allow_caching_ptr); 1048 allow_caching_ptr);
654 case 1: return LookupMapping(kEcma262CanonicalizeTable1, 1049 case 1: return LookupMapping(kEcma262CanonicalizeTable1,
655 kEcma262CanonicalizeTable1Size, 1050 kEcma262CanonicalizeTable1Size,
656 kEcma262CanonicalizeMultiStrings1, 1051 kEcma262CanonicalizeMultiStrings1,
657 c, 1052 c,
658 n, 1053 n,
659 result, 1054 result,
660 allow_caching_ptr); 1055 allow_caching_ptr);
661 case 2: return LookupMapping(kEcma262CanonicalizeTable2,
662 kEcma262CanonicalizeTable2Size,
663 kEcma262CanonicalizeMultiStrings2,
664 c,
665 n,
666 result,
667 allow_caching_ptr);
668 default: return 0; 1056 default: return 0;
669 } 1057 }
670 } 1058 }
671 1059
672 static const MultiCharacterSpecialCase<4> kEcma262UnCanonicalizeMultiStrings0[] = { {2, {65, 97}}, {2, {66, 98}}, {2, {67, 99}}, {2, {68, 100}}, {2, {69, 101}}, {2, {70, 102}}, {2, {71, 103}}, {2, {72, 104}}, {2, {73, 105}}, {2, {74, 106}}, {2, {75, 107}}, {2, {76, 108}}, {2, {77, 109}}, {2, {78, 110}}, {2, {79, 111}}, {2, {80, 112}}, {2, {81, 113}}, {2, {82, 114}}, {2, {83, 115}}, {2, {84, 116}}, {2, {85, 117}}, {2, {86, 118}}, {2, {87, 119}}, {2, {88, 120}}, {2, {89, 121}}, {2, {90, 122}}, {2, {65, 97}}, {2, {66, 98}}, {2, {67, 99}}, {2, {68, 100}}, {2 , {69, 101}}, {2, {70, 102}}, {2, {71, 103}}, {2, {72, 104}}, {2, {73, 105}}, {2 , {74, 106}}, {2, {75, 107}}, {2, {76, 108}}, {2, {77, 109}}, {2, {78, 110}}, {2 , {79, 111}}, {2, {80, 112}}, {2, {81, 113}}, {2, {82, 114}}, {2, {83, 115}}, {2 , {84, 116}}, {2, {85, 117}}, {2, {86, 118}}, {2, {87, 119}}, {2, {88, 120}}, {2 , {89, 121}}, {2, {90, 122}}, {3, {181, 924, 956}}, {2, {192, 224}}, {2, {193, 2 25}}, {2, {194, 226}}, {2, {195, 227}}, {2, {196, 228}}, {2, {197, 229}}, {2, {1 98, 230}}, {2, {199, 231}}, {2, {200, 232}}, {2, {201, 233}}, {2, {202, 234}}, { 2, {203, 235}}, {2, {204, 236}}, {2, {205, 237}}, {2, {206, 238}}, {2, {207, 239 }}, {2, {208, 240}}, {2, {209, 241}}, {2, {210, 242}}, {2, {211, 243}}, {2, {212 , 244}}, {2, {213, 245}}, {2, {214, 246}}, {2, {216, 248}}, {2, {217, 249}}, {2, {218, 250}}, {2, {219, 251}}, {2, {220, 252}}, {2, {221, 253}}, {2, {222, 254}} , {2, {192, 224}}, {2, {193, 225}}, {2, {194, 226}}, {2, {195, 227}}, {2, {196, 228}}, {2, {197, 229}}, {2, {198, 230}}, {2, {199, 231}}, {2, {200, 232}}, {2, { 201, 233}}, {2, {202, 234}}, {2, {203, 235}}, {2, {204, 236}}, {2, {205, 237}}, {2, {206, 238}}, {2, {207, 239}}, {2, {208, 240}}, {2, {209, 241}}, {2, {210, 24 2}}, {2, {211, 243}}, {2, {212, 244}}, {2, {213, 245}}, {2, {214, 246}}, {2, {21 6, 248}}, {2, {217, 249}}, {2, {218, 250}}, {2, {219, 251}}, {2, {220, 252}}, {2 , {221, 253}}, {2, {222, 254}}, {2, {255, 376}}, {2, {256, 257}}, {2, {256, 257} }, {2, {258, 259}}, {2, {258, 259}}, {2, {260, 261}}, {2, {260, 261}}, {2, {262, 263}}, {2, {262, 263}}, {2, {264, 265}}, {2, {264, 265}}, {2, {266, 267}}, {2, {266, 267}}, {2, {268, 269}}, {2, {268, 269}}, {2, {270, 271}}, {2, {270, 271}}, {2, {272, 273}}, {2, {272, 273}}, {2, {274, 275}}, {2, {274, 275}}, {2, {276, 2 77}}, {2, {276, 277}}, {2, {278, 279}}, {2, {278, 279}}, {2, {280, 281}}, {2, {2 80, 281}}, {2, {282, 283}}, {2, {282, 283}}, {2, {284, 285}}, {2, {284, 285}}, { 2, {286, 287}}, {2, {286, 287}}, {2, {288, 289}}, {2, {288, 289}}, {2, {290, 291 }}, {2, {290, 291}}, {2, {292, 293}}, {2, {292, 293}}, {2, {294, 295}}, {2, {294 , 295}}, {2, {296, 297}}, {2, {296, 297}}, {2, {298, 299}}, {2, {298, 299}}, {2, {300, 301}}, {2, {300, 301}}, {2, {302, 303}}, {2, {302, 303}}, {2, {306, 307}} , {2, {306, 307}}, {2, {308, 309}}, {2, {308, 309}}, {2, {310, 311}}, {2, {310, 311}}, {2, {313, 314}}, {2, {313, 314}}, {2, {315, 316}}, {2, {315, 316}}, {2, { 317, 318}}, {2, {317, 318}}, {2, {319, 320}}, {2, {319, 320}}, {2, {321, 322}}, {2, {321, 322}}, {2, {323, 324}}, {2, {323, 324}}, {2, {325, 326}}, {2, {325, 32 6}}, {2, {327, 328}}, {2, {327, 328}}, {2, {330, 331}}, {2, {330, 331}}, {2, {33 2, 333}}, {2, {332, 333}}, {2, {334, 335}}, {2, {334, 335}}, {2, {336, 337}}, {2 , {336, 337}}, {2, {338, 339}}, {2, {338, 339}}, {2, {340, 341}}, {2, {340, 341} }, {2, {342, 343}}, {2, {342, 343}}, {2, {344, 345}}, {2, {344, 345}}, {2, {346, 347}}, {2, {346, 347}}, {2, {348, 349}}, {2, {348, 349}}, {2, {350, 351}}, {2, {350, 351}}, {2, {352, 353}}, {2, {352, 353}}, {2, {354, 355}}, {2, {354, 355}}, {2, {356, 357}}, {2, {356, 357}}, {2, {358, 359}}, {2, {358, 359}}, {2, {360, 3 61}}, {2, {360, 361}}, {2, {362, 363}}, {2, {362, 363}}, {2, {364, 365}}, {2, {3 64, 365}}, {2, {366, 367}}, {2, {366, 367}}, {2, {368, 369}}, {2, {368, 369}}, { 2, {370, 371}}, {2, {370, 371}}, {2, {372, 373}}, {2, {372, 373}}, {2, {374, 375 }}, {2, {374, 375}}, {2, {255, 376}}, {2, {377, 378}}, {2, {377, 378}}, {2, {379 , 380}}, {2, {379, 380}}, {2, {381, 382}}, {2, {381, 382}}, {2, {384, 579}}, {2, {385, 595}}, {2, {386, 387}}, {2, {386, 387}}, {2, {388, 389}}, {2, {388, 389}} , {2, {390, 596}}, {2, {391, 392}}, {2, {391, 392}}, {2, {393, 598}}, {2, {394, 599}}, {2, {395, 396}}, {2, {395, 396}}, {2, {398, 477}}, {2, {399, 601}}, {2, { 400, 603}}, {2, {401, 402}}, {2, {401, 402}}, {2, {403, 608}}, {2, {404, 611}}, {2, {405, 502}}, {2, {406, 617}}, {2, {407, 616}}, {2, {408, 409}}, {2, {408, 40 9}}, {2, {410, 573}}, {2, {412, 623}}, {2, {413, 626}}, {2, {414, 544}}, {2, {41 5, 629}}, {2, {416, 417}}, {2, {416, 417}}, {2, {418, 419}}, {2, {418, 419}}, {2 , {420, 421}}, {2, {420, 421}}, {2, {422, 640}}, {2, {423, 424}}, {2, {423, 424} }, {2, {425, 643}}, {2, {428, 429}}, {2, {428, 429}}, {2, {430, 648}}, {2, {431, 432}}, {2, {431, 432}}, {2, {433, 650}}, {2, {434, 651}}, {2, {435, 436}}, {2, {435, 436}}, {2, {437, 438}}, {2, {437, 438}}, {2, {439, 658}}, {2, {440, 441}}, {2, {440, 441}}, {2, {444, 445}}, {2, {444, 445}}, {2, {447, 503}}, {3, {452, 4 53, 454}}, {3, {452, 453, 454}}, {3, {452, 453, 454}}, {3, {455, 456, 457}}, {3, {455, 456, 457}}, {3, {455, 456, 457}}, {3, {458, 459, 460}}, {3, {458, 459, 46 0}}, {3, {458, 459, 460}}, {2, {461, 462}}, {2, {461, 462}}, {2, {463, 464}}, {2 , {463, 464}}, {2, {465, 466}}, {2, {465, 466}}, {2, {467, 468}}, {2, {467, 468} }, {2, {469, 470}}, {2, {469, 470}}, {2, {471, 472}}, {2, {471, 472}}, {2, {473, 474}}, {2, {473, 474}}, {2, {475, 476}}, {2, {475, 476}}, {2, {398, 477}}, {2, {478, 479}}, {2, {478, 479}}, {2, {480, 481}}, {2, {480, 481}}, {2, {482, 483}}, {2, {482, 483}}, {2, {484, 485}}, {2, {484, 485}}, {2, {486, 487}}, {2, {486, 4 87}}, {2, {488, 489}}, {2, {488, 489}}, {2, {490, 491}}, {2, {490, 491}}, {2, {4 92, 493}}, {2, {492, 493}}, {2, {494, 495}}, {2, {494, 495}}, {3, {497, 498, 499 }}, {3, {497, 498, 499}}, {3, {497, 498, 499}}, {2, {500, 501}}, {2, {500, 501}} , {2, {405, 502}}, {2, {447, 503}}, {2, {504, 505}}, {2, {504, 505}}, {2, {506, 507}}, {2, {506, 507}}, {2, {508, 509}}, {2, {508, 509}}, {2, {510, 511}}, {2, { 510, 511}}, {2, {512, 513}}, {2, {512, 513}}, {2, {514, 515}}, {2, {514, 515}}, {2, {516, 517}}, {2, {516, 517}}, {2, {518, 519}}, {2, {518, 519}}, {2, {520, 52 1}}, {2, {520, 521}}, {2, {522, 523}}, {2, {522, 523}}, {2, {524, 525}}, {2, {52 4, 525}}, {2, {526, 527}}, {2, {526, 527}}, {2, {528, 529}}, {2, {528, 529}}, {2 , {530, 531}}, {2, {530, 531}}, {2, {532, 533}}, {2, {532, 533}}, {2, {534, 535} }, {2, {534, 535}}, {2, {536, 537}}, {2, {536, 537}}, {2, {538, 539}}, {2, {538, 539}}, {2, {540, 541}}, {2, {540, 541}}, {2, {542, 543}}, {2, {542, 543}}, {2, {414, 544}}, {2, {546, 547}}, {2, {546, 547}}, {2, {548, 549}}, {2, {548, 549}}, {2, {550, 551}}, {2, {550, 551}}, {2, {552, 553}}, {2, {552, 553}}, {2, {554, 5 55}}, {2, {554, 555}}, {2, {556, 557}}, {2, {556, 557}}, {2, {558, 559}}, {2, {5 58, 559}}, {2, {560, 561}}, {2, {560, 561}}, {2, {562, 563}}, {2, {562, 563}}, { 2, {570, 11365}}, {2, {571, 572}}, {2, {571, 572}}, {2, {410, 573}}, {2, {574, 1 1366}}, {2, {577, 578}}, {2, {577, 578}}, {2, {384, 579}}, {2, {580, 649}}, {2, {581, 652}}, {2, {582, 583}}, {2, {582, 583}}, {2, {584, 585}}, {2, {584, 585}}, {2, {586, 587}}, {2, {586, 587}}, {2, {588, 589}}, {2, {588, 589}}, {2, {590, 5 91}}, {2, {590, 591}}, {2, {385, 595}}, {2, {390, 596}}, {2, {393, 598}}, {2, {3 94, 599}}, {2, {399, 601}}, {2, {400, 603}}, {2, {403, 608}}, {2, {404, 611}}, { 2, {407, 616}}, {2, {406, 617}}, {2, {619, 11362}}, {2, {412, 623}}, {2, {413, 6 26}}, {2, {415, 629}}, {2, {637, 11364}}, {2, {422, 640}}, {2, {425, 643}}, {2, {430, 648}}, {2, {580, 649}}, {2, {433, 650}}, {2, {434, 651}}, {2, {581, 652}}, {2, {439, 658}}, {4, {837, 921, 953, 8126}}, {2, {891, 1021}}, {2, {892, 1022}} , {2, {893, 1023}}, {2, {902, 940}}, {2, {904, 941}}, {2, {905, 942}}, {2, {906, 943}}, {2, {908, 972}}, {2, {910, 973}}, {2, {911, 974}}, {2, {913, 945}}, {3, {914, 946, 976}}, {2, {915, 947}}, {2, {916, 948}}, {3, {917, 949, 1013}}, {2, { 918, 950}}, {2, {919, 951}}, {3, {920, 952, 977}}, {4, {837, 921, 953, 8126}}, { 3, {922, 954, 1008}}, {2, {923, 955}}, {3, {181, 924, 956}}, {2, {925, 957}}, {2 , {926, 958}}, {2, {927, 959}}, {3, {928, 960, 982}}, {3, {929, 961, 1009}}, {3, {931, 962, 963}}, {2, {932, 964}}, {2, {933, 965}}, {3, {934, 966, 981}}, {2, { 935, 967}}, {2, {936, 968}}, {2, {937, 969}}, {2, {938, 970}}, {2, {939, 971}}, {2, {902, 940}}, {2, {904, 941}}, {2, {905, 942}}, {2, {906, 943}}, {2, {913, 94 5}}, {3, {914, 946, 976}}, {2, {915, 947}}, {2, {916, 948}}, {3, {917, 949, 1013 }}, {2, {918, 950}}, {2, {919, 951}}, {3, {920, 952, 977}}, {4, {837, 921, 953, 8126}}, {3, {922, 954, 1008}}, {2, {923, 955}}, {3, {181, 924, 956}}, {2, {925, 957}}, {2, {926, 958}}, {2, {927, 959}}, {3, {928, 960, 982}}, {3, {929, 961, 10 09}}, {3, {931, 962, 963}}, {3, {931, 962, 963}}, {2, {932, 964}}, {2, {933, 965 }}, {3, {934, 966, 981}}, {2, {935, 967}}, {2, {936, 968}}, {2, {937, 969}}, {2, {938, 970}}, {2, {939, 971}}, {2, {908, 972}}, {2, {910, 973}}, {2, {911, 974}} , {3, {914, 946, 976}}, {3, {920, 952, 977}}, {3, {934, 966, 981}}, {3, {928, 96 0, 982}}, {2, {984, 985}}, {2, {984, 985}}, {2, {986, 987}}, {2, {986, 987}}, {2 , {988, 989}}, {2, {988, 989}}, {2, {990, 991}}, {2, {990, 991}}, {2, {992, 993} }, {2, {992, 993}}, {2, {994, 995}}, {2, {994, 995}}, {2, {996, 997}}, {2, {996, 997}}, {2, {998, 999}}, {2, {998, 999}}, {2, {1000, 1001}}, {2, {1000, 1001}}, {2, {1002, 1003}}, {2, {1002, 1003}}, {2, {1004, 1005}}, {2, {1004, 1005}}, {2, {1006, 1007}}, {2, {1006, 1007}}, {3, {922, 954, 1008}}, {3, {929, 961, 1009}}, {2, {1010, 1017}}, {3, {917, 949, 1013}}, {2, {1015, 1016}}, {2, {1015, 1016}}, {2, {1010, 1017}}, {2, {1018, 1019}}, {2, {1018, 1019}}, {2, {891, 1021}}, {2, { 892, 1022}}, {2, {893, 1023}}, {2, {1024, 1104}}, {2, {1025, 1105}}, {2, {1026, 1106}}, {2, {1027, 1107}}, {2, {1028, 1108}}, {2, {1029, 1109}}, {2, {1030, 1110 }}, {2, {1031, 1111}}, {2, {1032, 1112}}, {2, {1033, 1113}}, {2, {1034, 1114}}, {2, {1035, 1115}}, {2, {1036, 1116}}, {2, {1037, 1117}}, {2, {1038, 1118}}, {2, {1039, 1119}}, {2, {1040, 1072}}, {2, {1041, 1073}}, {2, {1042, 1074}}, {2, {104 3, 1075}}, {2, {1044, 1076}}, {2, {1045, 1077}}, {2, {1046, 1078}}, {2, {1047, 1 079}}, {2, {1048, 1080}}, {2, {1049, 1081}}, {2, {1050, 1082}}, {2, {1051, 1083} }, {2, {1052, 1084}}, {2, {1053, 1085}}, {2, {1054, 1086}}, {2, {1055, 1087}}, { 2, {1056, 1088}}, {2, {1057, 1089}}, {2, {1058, 1090}}, {2, {1059, 1091}}, {2, { 1060, 1092}}, {2, {1061, 1093}}, {2, {1062, 1094}}, {2, {1063, 1095}}, {2, {1064 , 1096}}, {2, {1065, 1097}}, {2, {1066, 1098}}, {2, {1067, 1099}}, {2, {1068, 11 00}}, {2, {1069, 1101}}, {2, {1070, 1102}}, {2, {1071, 1103}}, {2, {1040, 1072}} , {2, {1041, 1073}}, {2, {1042, 1074}}, {2, {1043, 1075}}, {2, {1044, 1076}}, {2 , {1045, 1077}}, {2, {1046, 1078}}, {2, {1047, 1079}}, {2, {1048, 1080}}, {2, {1 049, 1081}}, {2, {1050, 1082}}, {2, {1051, 1083}}, {2, {1052, 1084}}, {2, {1053, 1085}}, {2, {1054, 1086}}, {2, {1055, 1087}}, {2, {1056, 1088}}, {2, {1057, 108 9}}, {2, {1058, 1090}}, {2, {1059, 1091}}, {2, {1060, 1092}}, {2, {1061, 1093}}, {2, {1062, 1094}}, {2, {1063, 1095}}, {2, {1064, 1096}}, {2, {1065, 1097}}, {2, {1066, 1098}}, {2, {1067, 1099}}, {2, {1068, 1100}}, {2, {1069, 1101}}, {2, {10 70, 1102}}, {2, {1071, 1103}}, {2, {1024, 1104}}, {2, {1025, 1105}}, {2, {1026, 1106}}, {2, {1027, 1107}}, {2, {1028, 1108}}, {2, {1029, 1109}}, {2, {1030, 1110 }}, {2, {1031, 1111}}, {2, {1032, 1112}}, {2, {1033, 1113}}, {2, {1034, 1114}}, {2, {1035, 1115}}, {2, {1036, 1116}}, {2, {1037, 1117}}, {2, {1038, 1118}}, {2, {1039, 1119}}, {2, {1120, 1121}}, {2, {1120, 1121}}, {2, {1122, 1123}}, {2, {112 2, 1123}}, {2, {1124, 1125}}, {2, {1124, 1125}}, {2, {1126, 1127}}, {2, {1126, 1 127}}, {2, {1128, 1129}}, {2, {1128, 1129}}, {2, {1130, 1131}}, {2, {1130, 1131} }, {2, {1132, 1133}}, {2, {1132, 1133}}, {2, {1134, 1135}}, {2, {1134, 1135}}, { 2, {1136, 1137}}, {2, {1136, 1137}}, {2, {1138, 1139}}, {2, {1138, 1139}}, {2, { 1140, 1141}}, {2, {1140, 1141}}, {2, {1142, 1143}}, {2, {1142, 1143}}, {2, {1144 , 1145}}, {2, {1144, 1145}}, {2, {1146, 1147}}, {2, {1146, 1147}}, {2, {1148, 11 49}}, {2, {1148, 1149}}, {2, {1150, 1151}}, {2, {1150, 1151}}, {2, {1152, 1153}} , {2, {1152, 1153}}, {2, {1162, 1163}}, {2, {1162, 1163}}, {2, {1164, 1165}}, {2 , {1164, 1165}}, {2, {1166, 1167}}, {2, {1166, 1167}}, {2, {1168, 1169}}, {2, {1 168, 1169}}, {2, {1170, 1171}}, {2, {1170, 1171}}, {2, {1172, 1173}}, {2, {1172, 1173}}, {2, {1174, 1175}}, {2, {1174, 1175}}, {2, {1176, 1177}}, {2, {1176, 117 7}}, {2, {1178, 1179}}, {2, {1178, 1179}}, {2, {1180, 1181}}, {2, {1180, 1181}}, {2, {1182, 1183}}, {2, {1182, 1183}}, {2, {1184, 1185}}, {2, {1184, 1185}}, {2, {1186, 1187}}, {2, {1186, 1187}}, {2, {1188, 1189}}, {2, {1188, 1189}}, {2, {11 90, 1191}}, {2, {1190, 1191}}, {2, {1192, 1193}}, {2, {1192, 1193}}, {2, {1194, 1195}}, {2, {1194, 1195}}, {2, {1196, 1197}}, {2, {1196, 1197}}, {2, {1198, 1199 }}, {2, {1198, 1199}}, {2, {1200, 1201}}, {2, {1200, 1201}}, {2, {1202, 1203}}, {2, {1202, 1203}}, {2, {1204, 1205}}, {2, {1204, 1205}}, {2, {1206, 1207}}, {2, {1206, 1207}}, {2, {1208, 1209}}, {2, {1208, 1209}}, {2, {1210, 1211}}, {2, {121 0, 1211}}, {2, {1212, 1213}}, {2, {1212, 1213}}, {2, {1214, 1215}}, {2, {1214, 1 215}}, {2, {1216, 1231}}, {2, {1217, 1218}}, {2, {1217, 1218}}, {2, {1219, 1220} }, {2, {1219, 1220}}, {2, {1221, 1222}}, {2, {1221, 1222}}, {2, {1223, 1224}}, { 2, {1223, 1224}}, {2, {1225, 1226}}, {2, {1225, 1226}}, {2, {1227, 1228}}, {2, { 1227, 1228}}, {2, {1229, 1230}}, {2, {1229, 1230}}, {2, {1216, 1231}}, {2, {1232 , 1233}}, {2, {1232, 1233}}, {2, {1234, 1235}}, {2, {1234, 1235}}, {2, {1236, 12 37}}, {2, {1236, 1237}}, {2, {1238, 1239}}, {2, {1238, 1239}}, {2, {1240, 1241}} , {2, {1240, 1241}}, {2, {1242, 1243}}, {2, {1242, 1243}}, {2, {1244, 1245}}, {2 , {1244, 1245}}, {2, {1246, 1247}}, {2, {1246, 1247}}, {2, {1248, 1249}}, {2, {1 248, 1249}}, {2, {1250, 1251}}, {2, {1250, 1251}}, {2, {1252, 1253}}, {2, {1252, 1253}}, {2, {1254, 1255}}, {2, {1254, 1255}}, {2, {1256, 1257}}, {2, {1256, 125 7}}, {2, {1258, 1259}}, {2, {1258, 1259}}, {2, {1260, 1261}}, {2, {1260, 1261}}, {2, {1262, 1263}}, {2, {1262, 1263}}, {2, {1264, 1265}}, {2, {1264, 1265}}, {2, {1266, 1267}}, {2, {1266, 1267}}, {2, {1268, 1269}}, {2, {1268, 1269}}, {2, {12 70, 1271}}, {2, {1270, 1271}}, {2, {1272, 1273}}, {2, {1272, 1273}}, {2, {1274, 1275}}, {2, {1274, 1275}}, {2, {1276, 1277}}, {2, {1276, 1277}}, {2, {1278, 1279 }}, {2, {1278, 1279}}, {2, {1280, 1281}}, {2, {1280, 1281}}, {2, {1282, 1283}}, {2, {1282, 1283}}, {2, {1284, 1285}}, {2, {1284, 1285}}, {2, {1286, 1287}}, {2, {1286, 1287}}, {2, {1288, 1289}}, {2, {1288, 1289}}, {2, {1290, 1291}}, {2, {129 0, 1291}}, {2, {1292, 1293}}, {2, {1292, 1293}}, {2, {1294, 1295}}, {2, {1294, 1 295}}, {2, {1296, 1297}}, {2, {1296, 1297}}, {2, {1298, 1299}}, {2, {1298, 1299} }, {2, {1329, 1377}}, {2, {1330, 1378}}, {2, {1331, 1379}}, {2, {1332, 1380}}, { 2, {1333, 1381}}, {2, {1334, 1382}}, {2, {1335, 1383}}, {2, {1336, 1384}}, {2, { 1337, 1385}}, {2, {1338, 1386}}, {2, {1339, 1387}}, {2, {1340, 1388}}, {2, {1341 , 1389}}, {2, {1342, 1390}}, {2, {1343, 1391}}, {2, {1344, 1392}}, {2, {1345, 13 93}}, {2, {1346, 1394}}, {2, {1347, 1395}}, {2, {1348, 1396}}, {2, {1349, 1397}} , {2, {1350, 1398}}, {2, {1351, 1399}}, {2, {1352, 1400}}, {2, {1353, 1401}}, {2 , {1354, 1402}}, {2, {1355, 1403}}, {2, {1356, 1404}}, {2, {1357, 1405}}, {2, {1 358, 1406}}, {2, {1359, 1407}}, {2, {1360, 1408}}, {2, {1361, 1409}}, {2, {1362, 1410}}, {2, {1363, 1411}}, {2, {1364, 1412}}, {2, {1365, 1413}}, {2, {1366, 141 4}}, {2, {1329, 1377}}, {2, {1330, 1378}}, {2, {1331, 1379}}, {2, {1332, 1380}}, {2, {1333, 1381}}, {2, {1334, 1382}}, {2, {1335, 1383}}, {2, {1336, 1384}}, {2, {1337, 1385}}, {2, {1338, 1386}}, {2, {1339, 1387}}, {2, {1340, 1388}}, {2, {13 41, 1389}}, {2, {1342, 1390}}, {2, {1343, 1391}}, {2, {1344, 1392}}, {2, {1345, 1393}}, {2, {1346, 1394}}, {2, {1347, 1395}}, {2, {1348, 1396}}, {2, {1349, 1397 }}, {2, {1350, 1398}}, {2, {1351, 1399}}, {2, {1352, 1400}}, {2, {1353, 1401}}, {2, {1354, 1402}}, {2, {1355, 1403}}, {2, {1356, 1404}}, {2, {1357, 1405}}, {2, {1358, 1406}}, {2, {1359, 1407}}, {2, {1360, 1408}}, {2, {1361, 1409}}, {2, {136 2, 1410}}, {2, {1363, 1411}}, {2, {1364, 1412}}, {2, {1365, 1413}}, {2, {1366, 1 414}}, {2, {4256, 11520}}, {2, {4257, 11521}}, {2, {4258, 11522}}, {2, {4259, 11 523}}, {2, {4260, 11524}}, {2, {4261, 11525}}, {2, {4262, 11526}}, {2, {4263, 11 527}}, {2, {4264, 11528}}, {2, {4265, 11529}}, {2, {4266, 11530}}, {2, {4267, 11 531}}, {2, {4268, 11532}}, {2, {4269, 11533}}, {2, {4270, 11534}}, {2, {4271, 11 535}}, {2, {4272, 11536}}, {2, {4273, 11537}}, {2, {4274, 11538}}, {2, {4275, 11 539}}, {2, {4276, 11540}}, {2, {4277, 11541}}, {2, {4278, 11542}}, {2, {4279, 11 543}}, {2, {4280, 11544}}, {2, {4281, 11545}}, {2, {4282, 11546}}, {2, {4283, 11 547}}, {2, {4284, 11548}}, {2, {4285, 11549}}, {2, {4286, 11550}}, {2, {4287, 11 551}}, {2, {4288, 11552}}, {2, {4289, 11553}}, {2, {4290, 11554}}, {2, {4291, 11 555}}, {2, {4292, 11556}}, {2, {4293, 11557}}, {2, {7549, 11363}}, {2, {7680, 76 81}}, {2, {7680, 7681}}, {2, {7682, 7683}}, {2, {7682, 7683}}, {2, {7684, 7685}} , {2, {7684, 7685}}, {2, {7686, 7687}}, {2, {7686, 7687}}, {2, {7688, 7689}}, {2 , {7688, 7689}}, {2, {7690, 7691}}, {2, {7690, 7691}}, {2, {7692, 7693}}, {2, {7 692, 7693}}, {2, {7694, 7695}}, {2, {7694, 7695}}, {2, {7696, 7697}}, {2, {7696, 7697}}, {2, {7698, 7699}}, {2, {7698, 7699}}, {2, {7700, 7701}}, {2, {7700, 770 1}}, {2, {7702, 7703}}, {2, {7702, 7703}}, {2, {7704, 7705}}, {2, {7704, 7705}}, {2, {7706, 7707}}, {2, {7706, 7707}}, {2, {7708, 7709}}, {2, {7708, 7709}}, {2, {7710, 7711}}, {2, {7710, 7711}}, {2, {7712, 7713}}, {2, {7712, 7713}}, {2, {77 14, 7715}}, {2, {7714, 7715}}, {2, {7716, 7717}}, {2, {7716, 7717}}, {2, {7718, 7719}}, {2, {7718, 7719}}, {2, {7720, 7721}}, {2, {7720, 7721}}, {2, {7722, 7723 }}, {2, {7722, 7723}}, {2, {7724, 7725}}, {2, {7724, 7725}}, {2, {7726, 7727}}, {2, {7726, 7727}}, {2, {7728, 7729}}, {2, {7728, 7729}}, {2, {7730, 7731}}, {2, {7730, 7731}}, {2, {7732, 7733}}, {2, {7732, 7733}}, {2, {7734, 7735}}, {2, {773 4, 7735}}, {2, {7736, 7737}}, {2, {7736, 7737}}, {2, {7738, 7739}}, {2, {7738, 7 739}}, {2, {7740, 7741}}, {2, {7740, 7741}}, {2, {7742, 7743}}, {2, {7742, 7743} }, {2, {7744, 7745}}, {2, {7744, 7745}}, {2, {7746, 7747}}, {2, {7746, 7747}}, { 2, {7748, 7749}}, {2, {7748, 7749}}, {2, {7750, 7751}}, {2, {7750, 7751}}, {2, { 7752, 7753}}, {2, {7752, 7753}}, {2, {7754, 7755}}, {2, {7754, 7755}}, {2, {7756 , 7757}}, {2, {7756, 7757}}, {2, {7758, 7759}}, {2, {7758, 7759}}, {2, {7760, 77 61}}, {2, {7760, 7761}}, {2, {7762, 7763}}, {2, {7762, 7763}}, {2, {7764, 7765}} , {2, {7764, 7765}}, {2, {7766, 7767}}, {2, {7766, 7767}}, {2, {7768, 7769}}, {2 , {7768, 7769}}, {2, {7770, 7771}}, {2, {7770, 7771}}, {2, {7772, 7773}}, {2, {7 772, 7773}}, {2, {7774, 7775}}, {2, {7774, 7775}}, {3, {7776, 7777, 7835}}, {3, {7776, 7777, 7835}}, {2, {7778, 7779}}, {2, {7778, 7779}}, {2, {7780, 7781}}, {2 , {7780, 7781}}, {2, {7782, 7783}}, {2, {7782, 7783}}, {2, {7784, 7785}}, {2, {7 784, 7785}}, {2, {7786, 7787}}, {2, {7786, 7787}}, {2, {7788, 7789}}, {2, {7788, 7789}}, {2, {7790, 7791}}, {2, {7790, 7791}}, {2, {7792, 7793}}, {2, {7792, 779 3}}, {2, {7794, 7795}}, {2, {7794, 7795}}, {2, {7796, 7797}}, {2, {7796, 7797}}, {2, {7798, 7799}}, {2, {7798, 7799}}, {2, {7800, 7801}}, {2, {7800, 7801}}, {2, {7802, 7803}}, {2, {7802, 7803}}, {2, {7804, 7805}}, {2, {7804, 7805}}, {2, {78 06, 7807}}, {2, {7806, 7807}}, {2, {7808, 7809}}, {2, {7808, 7809}}, {2, {7810, 7811}}, {2, {7810, 7811}}, {2, {7812, 7813}}, {2, {7812, 7813}}, {2, {7814, 7815 }}, {2, {7814, 7815}}, {2, {7816, 7817}}, {2, {7816, 7817}}, {2, {7818, 7819}}, {2, {7818, 7819}}, {2, {7820, 7821}}, {2, {7820, 7821}}, {2, {7822, 7823}}, {2, {7822, 7823}}, {2, {7824, 7825}}, {2, {7824, 7825}}, {2, {7826, 7827}}, {2, {782 6, 7827}}, {2, {7828, 7829}}, {2, {7828, 7829}}, {3, {7776, 7777, 7835}}, {2, {7 840, 7841}}, {2, {7840, 7841}}, {2, {7842, 7843}}, {2, {7842, 7843}}, {2, {7844, 7845}}, {2, {7844, 7845}}, {2, {7846, 7847}}, {2, {7846, 7847}}, {2, {7848, 784 9}}, {2, {7848, 7849}}, {2, {7850, 7851}}, {2, {7850, 7851}}, {2, {7852, 7853}}, {2, {7852, 7853}}, {2, {7854, 7855}}, {2, {7854, 7855}}, {2, {7856, 7857}}, {2, {7856, 7857}}, {2, {7858, 7859}}, {2, {7858, 7859}}, {2, {7860, 7861}}, {2, {78 60, 7861}}, {2, {7862, 7863}}, {2, {7862, 7863}}, {2, {7864, 7865}}, {2, {7864, 7865}}, {2, {7866, 7867}}, {2, {7866, 7867}}, {2, {7868, 7869}}, {2, {7868, 7869 }}, {2, {7870, 7871}}, {2, {7870, 7871}}, {2, {7872, 7873}}, {2, {7872, 7873}}, {2, {7874, 7875}}, {2, {7874, 7875}}, {2, {7876, 7877}}, {2, {7876, 7877}}, {2, {7878, 7879}}, {2, {7878, 7879}}, {2, {7880, 7881}}, {2, {7880, 7881}}, {2, {788 2, 7883}}, {2, {7882, 7883}}, {2, {7884, 7885}}, {2, {7884, 7885}}, {2, {7886, 7 887}}, {2, {7886, 7887}}, {2, {7888, 7889}}, {2, {7888, 7889}}, {2, {7890, 7891} }, {2, {7890, 7891}}, {2, {7892, 7893}}, {2, {7892, 7893}}, {2, {7894, 7895}}, { 2, {7894, 7895}}, {2, {7896, 7897}}, {2, {7896, 7897}}, {2, {7898, 7899}}, {2, { 7898, 7899}}, {2, {7900, 7901}}, {2, {7900, 7901}}, {2, {7902, 7903}}, {2, {7902 , 7903}}, {2, {7904, 7905}}, {2, {7904, 7905}}, {2, {7906, 7907}}, {2, {7906, 79 07}}, {2, {7908, 7909}}, {2, {7908, 7909}}, {2, {7910, 7911}}, {2, {7910, 7911}} , {2, {7912, 7913}}, {2, {7912, 7913}}, {2, {7914, 7915}}, {2, {7914, 7915}}, {2 , {7916, 7917}}, {2, {7916, 7917}}, {2, {7918, 7919}}, {2, {7918, 7919}}, {2, {7 920, 7921}}, {2, {7920, 7921}}, {2, {7922, 7923}}, {2, {7922, 7923}}, {2, {7924, 7925}}, {2, {7924, 7925}}, {2, {7926, 7927}}, {2, {7926, 7927}}, {2, {7928, 792 9}}, {2, {7928, 7929}}, {2, {7936, 7944}}, {2, {7937, 7945}}, {2, {7938, 7946}}, {2, {7939, 7947}}, {2, {7940, 7948}}, {2, {7941, 7949}}, {2, {7942, 7950}}, {2, {7943, 7951}}, {2, {7936, 7944}}, {2, {7937, 7945}}, {2, {7938, 7946}}, {2, {79 39, 7947}}, {2, {7940, 7948}}, {2, {7941, 7949}}, {2, {7942, 7950}}, {2, {7943, 7951}}, {2, {7952, 7960}}, {2, {7953, 7961}}, {2, {7954, 7962}}, {2, {7955, 7963 }}, {2, {7956, 7964}}, {2, {7957, 7965}}, {2, {7952, 7960}}, {2, {7953, 7961}}, {2, {7954, 7962}}, {2, {7955, 7963}}, {2, {7956, 7964}}, {2, {7957, 7965}}, {2, {7968, 7976}}, {2, {7969, 7977}}, {2, {7970, 7978}}, {2, {7971, 7979}}, {2, {797 2, 7980}}, {2, {7973, 7981}}, {2, {7974, 7982}}, {2, {7975, 7983}}, {2, {7968, 7 976}}, {2, {7969, 7977}}, {2, {7970, 7978}}, {2, {7971, 7979}}, {2, {7972, 7980} }, {2, {7973, 7981}}, {2, {7974, 7982}}, {2, {7975, 7983}}, {2, {7984, 7992}}, { 2, {7985, 7993}}, {2, {7986, 7994}}, {2, {7987, 7995}}, {2, {7988, 7996}}, {2, { 7989, 7997}}, {2, {7990, 7998}}, {2, {7991, 7999}}, {2, {7984, 7992}}, {2, {7985 , 7993}}, {2, {7986, 7994}}, {2, {7987, 7995}}, {2, {7988, 7996}}, {2, {7989, 79 97}}, {2, {7990, 7998}}, {2, {7991, 7999}}, {2, {8000, 8008}}, {2, {8001, 8009}} , {2, {8002, 8010}}, {2, {8003, 8011}}, {2, {8004, 8012}}, {2, {8005, 8013}}, {2 , {8000, 8008}}, {2, {8001, 8009}}, {2, {8002, 8010}}, {2, {8003, 8011}}, {2, {8 004, 8012}}, {2, {8005, 8013}}, {2, {8017, 8025}}, {2, {8019, 8027}}, {2, {8021, 8029}}, {2, {8023, 8031}}, {2, {8017, 8025}}, {2, {8019, 8027}}, {2, {8021, 802 9}}, {2, {8023, 8031}}, {2, {8032, 8040}}, {2, {8033, 8041}}, {2, {8034, 8042}}, {2, {8035, 8043}}, {2, {8036, 8044}}, {2, {8037, 8045}}, {2, {8038, 8046}}, {2, {8039, 8047}}, {2, {8032, 8040}}, {2, {8033, 8041}}, {2, {8034, 8042}}, {2, {80 35, 8043}}, {2, {8036, 8044}}, {2, {8037, 8045}}, {2, {8038, 8046}}, {2, {8039, 8047}}, {2, {8048, 8122}}, {2, {8049, 8123}}, {2, {8050, 8136}}, {2, {8051, 8137 }}, {2, {8052, 8138}}, {2, {8053, 8139}}, {2, {8054, 8154}}, {2, {8055, 8155}}, {2, {8056, 8184}}, {2, {8057, 8185}}, {2, {8058, 8170}}, {2, {8059, 8171}}, {2, {8060, 8186}}, {2, {8061, 8187}}, {2, {8112, 8120}}, {2, {8113, 8121}}, {2, {811 2, 8120}}, {2, {8113, 8121}}, {2, {8048, 8122}}, {2, {8049, 8123}}, {4, {837, 92 1, 953, 8126}}, {2, {8050, 8136}}, {2, {8051, 8137}}, {2, {8052, 8138}}, {2, {80 53, 8139}}, {2, {8144, 8152}}, {2, {8145, 8153}}, {2, {8144, 8152}}, {2, {8145, 8153}}, {2, {8054, 8154}}, {2, {8055, 8155}}, {2, {8160, 8168}}, {2, {8161, 8169 }}, {2, {8165, 8172}}, {2, {8160, 8168}}, {2, {8161, 8169}}, {2, {8058, 8170}}, {2, {8059, 8171}}, {2, {8165, 8172}}, {2, {8056, 8184}}, {2, {8057, 8185}}, {2, {8060, 8186}}, {2, {8061, 8187}}, {2, {8498, 8526}}, {2, {8498, 8526}}, {2, {854 4, 8560}}, {2, {8545, 8561}}, {2, {8546, 8562}}, {2, {8547, 8563}}, {2, {8548, 8 564}}, {2, {8549, 8565}}, {2, {8550, 8566}}, {2, {8551, 8567}}, {2, {8552, 8568} }, {2, {8553, 8569}}, {2, {8554, 8570}}, {2, {8555, 8571}}, {2, {8556, 8572}}, { 2, {8557, 8573}}, {2, {8558, 8574}}, {2, {8559, 8575}}, {2, {8544, 8560}}, {2, { 8545, 8561}}, {2, {8546, 8562}}, {2, {8547, 8563}}, {2, {8548, 8564}}, {2, {8549 , 8565}}, {2, {8550, 8566}}, {2, {8551, 8567}}, {2, {8552, 8568}}, {2, {8553, 85 69}}, {2, {8554, 8570}}, {2, {8555, 8571}}, {2, {8556, 8572}}, {2, {8557, 8573}} , {2, {8558, 8574}}, {2, {8559, 8575}}, {2, {8579, 8580}}, {2, {8579, 8580}}, {2 , {9398, 9424}}, {2, {9399, 9425}}, {2, {9400, 9426}}, {2, {9401, 9427}}, {2, {9 402, 9428}}, {2, {9403, 9429}}, {2, {9404, 9430}}, {2, {9405, 9431}}, {2, {9406, 9432}}, {2, {9407, 9433}}, {2, {9408, 9434}}, {2, {9409, 9435}}, {2, {9410, 943 6}}, {2, {9411, 9437}}, {2, {9412, 9438}}, {2, {9413, 9439}}, {2, {9414, 9440}}, {2, {9415, 9441}}, {2, {9416, 9442}}, {2, {9417, 9443}}, {2, {9418, 9444}}, {2, {9419, 9445}}, {2, {9420, 9446}}, {2, {9421, 9447}}, {2, {9422, 9448}}, {2, {94 23, 9449}}, {2, {9398, 9424}}, {2, {9399, 9425}}, {2, {9400, 9426}}, {2, {9401, 9427}}, {2, {9402, 9428}}, {2, {9403, 9429}}, {2, {9404, 9430}}, {2, {9405, 9431 }}, {2, {9406, 9432}}, {2, {9407, 9433}}, {2, {9408, 9434}}, {2, {9409, 9435}}, {2, {9410, 9436}}, {2, {9411, 9437}}, {2, {9412, 9438}}, {2, {9413, 9439}}, {2, {9414, 9440}}, {2, {9415, 9441}}, {2, {9416, 9442}}, {2, {9417, 9443}}, {2, {941 8, 9444}}, {2, {9419, 9445}}, {2, {9420, 9446}}, {2, {9421, 9447}}, {2, {9422, 9 448}}, {2, {9423, 9449}}, {2, {11264, 11312}}, {2, {11265, 11313}}, {2, {11266, 11314}}, {2, {11267, 11315}}, {2, {11268, 11316}}, {2, {11269, 11317}}, {2, {112 70, 11318}}, {2, {11271, 11319}}, {2, {11272, 11320}}, {2, {11273, 11321}}, {2, {11274, 11322}}, {2, {11275, 11323}}, {2, {11276, 11324}}, {2, {11277, 11325}}, {2, {11278, 11326}}, {2, {11279, 11327}}, {2, {11280, 11328}}, {2, {11281, 11329 }}, {2, {11282, 11330}}, {2, {11283, 11331}}, {2, {11284, 11332}}, {2, {11285, 1 1333}}, {2, {11286, 11334}}, {2, {11287, 11335}}, {2, {11288, 11336}}, {2, {1128 9, 11337}}, {2, {11290, 11338}}, {2, {11291, 11339}}, {2, {11292, 11340}}, {2, { 11293, 11341}}, {2, {11294, 11342}}, {2, {11295, 11343}}, {2, {11296, 11344}}, { 2, {11297, 11345}}, {2, {11298, 11346}}, {2, {11299, 11347}}, {2, {11300, 11348} }, {2, {11301, 11349}}, {2, {11302, 11350}}, {2, {11303, 11351}}, {2, {11304, 11 352}}, {2, {11305, 11353}}, {2, {11306, 11354}}, {2, {11307, 11355}}, {2, {11308 , 11356}}, {2, {11309, 11357}}, {2, {11310, 11358}}, {2, {11264, 11312}}, {2, {1 1265, 11313}}, {2, {11266, 11314}}, {2, {11267, 11315}}, {2, {11268, 11316}}, {2 , {11269, 11317}}, {2, {11270, 11318}}, {2, {11271, 11319}}, {2, {11272, 11320}} , {2, {11273, 11321}}, {2, {11274, 11322}}, {2, {11275, 11323}}, {2, {11276, 113 24}}, {2, {11277, 11325}}, {2, {11278, 11326}}, {2, {11279, 11327}}, {2, {11280, 11328}}, {2, {11281, 11329}}, {2, {11282, 11330}}, {2, {11283, 11331}}, {2, {11 284, 11332}}, {2, {11285, 11333}}, {2, {11286, 11334}}, {2, {11287, 11335}}, {2, {11288, 11336}}, {2, {11289, 11337}}, {2, {11290, 11338}}, {2, {11291, 11339}}, {2, {11292, 11340}}, {2, {11293, 11341}}, {2, {11294, 11342}}, {2, {11295, 1134 3}}, {2, {11296, 11344}}, {2, {11297, 11345}}, {2, {11298, 11346}}, {2, {11299, 11347}}, {2, {11300, 11348}}, {2, {11301, 11349}}, {2, {11302, 11350}}, {2, {113 03, 11351}}, {2, {11304, 11352}}, {2, {11305, 11353}}, {2, {11306, 11354}}, {2, {11307, 11355}}, {2, {11308, 11356}}, {2, {11309, 11357}}, {2, {11310, 11358}}, {2, {11360, 11361}}, {2, {11360, 11361}}, {2, {619, 11362}}, {2, {7549, 11363}}, {2, {637, 11364}}, {2, {570, 11365}}, {2, {574, 11366}}, {2, {11367, 11368}}, { 2, {11367, 11368}}, {2, {11369, 11370}}, {2, {11369, 11370}}, {2, {11371, 11372} }, {2, {11371, 11372}}, {2, {11381, 11382}}, {2, {11381, 11382}}, {2, {11392, 11 393}}, {2, {11392, 11393}}, {2, {11394, 11395}}, {2, {11394, 11395}}, {2, {11396 , 11397}}, {2, {11396, 11397}}, {2, {11398, 11399}}, {2, {11398, 11399}}, {2, {1 1400, 11401}}, {2, {11400, 11401}}, {2, {11402, 11403}}, {2, {11402, 11403}}, {2 , {11404, 11405}}, {2, {11404, 11405}}, {2, {11406, 11407}}, {2, {11406, 11407}} , {2, {11408, 11409}}, {2, {11408, 11409}}, {2, {11410, 11411}}, {2, {11410, 114 11}}, {2, {11412, 11413}}, {2, {11412, 11413}}, {2, {11414, 11415}}, {2, {11414, 11415}}, {2, {11416, 11417}}, {2, {11416, 11417}}, {2, {11418, 11419}}, {2, {11 418, 11419}}, {2, {11420, 11421}}, {2, {11420, 11421}}, {2, {11422, 11423}}, {2, {11422, 11423}}, {2, {11424, 11425}}, {2, {11424, 11425}}, {2, {11426, 11427}}, {2, {11426, 11427}}, {2, {11428, 11429}}, {2, {11428, 11429}}, {2, {11430, 1143 1}}, {2, {11430, 11431}}, {2, {11432, 11433}}, {2, {11432, 11433}}, {2, {11434, 11435}}, {2, {11434, 11435}}, {2, {11436, 11437}}, {2, {11436, 11437}}, {2, {114 38, 11439}}, {2, {11438, 11439}}, {2, {11440, 11441}}, {2, {11440, 11441}}, {2, {11442, 11443}}, {2, {11442, 11443}}, {2, {11444, 11445}}, {2, {11444, 11445}}, {2, {11446, 11447}}, {2, {11446, 11447}}, {2, {11448, 11449}}, {2, {11448, 11449 }}, {2, {11450, 11451}}, {2, {11450, 11451}}, {2, {11452, 11453}}, {2, {11452, 1 1453}}, {2, {11454, 11455}}, {2, {11454, 11455}}, {2, {11456, 11457}}, {2, {1145 6, 11457}}, {2, {11458, 11459}}, {2, {11458, 11459}}, {2, {11460, 11461}}, {2, { 11460, 11461}}, {2, {11462, 11463}}, {2, {11462, 11463}}, {2, {11464, 11465}}, { 2, {11464, 11465}}, {2, {11466, 11467}}, {2, {11466, 11467}}, {2, {11468, 11469} }, {2, {11468, 11469}}, {2, {11470, 11471}}, {2, {11470, 11471}}, {2, {11472, 11 473}}, {2, {11472, 11473}}, {2, {11474, 11475}}, {2, {11474, 11475}}, {2, {11476 , 11477}}, {2, {11476, 11477}}, {2, {11478, 11479}}, {2, {11478, 11479}}, {2, {1 1480, 11481}}, {2, {11480, 11481}}, {2, {11482, 11483}}, {2, {11482, 11483}}, {2 , {11484, 11485}}, {2, {11484, 11485}}, {2, {11486, 11487}}, {2, {11486, 11487}} , {2, {11488, 11489}}, {2, {11488, 11489}}, {2, {11490, 11491}}, {2, {11490, 114 91}}, {2, {4256, 11520}}, {2, {4257, 11521}}, {2, {4258, 11522}}, {2, {4259, 115 23}}, {2, {4260, 11524}}, {2, {4261, 11525}}, {2, {4262, 11526}}, {2, {4263, 115 27}}, {2, {4264, 11528}}, {2, {4265, 11529}}, {2, {4266, 11530}}, {2, {4267, 115 31}}, {2, {4268, 11532}}, {2, {4269, 11533}}, {2, {4270, 11534}}, {2, {4271, 115 35}}, {2, {4272, 11536}}, {2, {4273, 11537}}, {2, {4274, 11538}}, {2, {4275, 115 39}}, {2, {4276, 11540}}, {2, {4277, 11541}}, {2, {4278, 11542}}, {2, {4279, 115 43}}, {2, {4280, 11544}}, {2, {4281, 11545}}, {2, {4282, 11546}}, {2, {4283, 115 47}}, {2, {4284, 11548}}, {2, {4285, 11549}}, {2, {4286, 11550}}, {2, {4287, 115 51}}, {2, {4288, 11552}}, {2, {4289, 11553}}, {2, {4290, 11554}}, {2, {4291, 115 55}}, {2, {4292, 11556}}, {2, {4293, 11557}}, {0, {0}} }; // NOLINT 1060 static const MultiCharacterSpecialCase<4> kEcma262UnCanonicalizeMultiStrings0[] = { // NOLINT
1061 {2, {65, 97}}, {2, {66, 98}}, {2, {67, 99}}, {2, {68, 100}}, // NOLINT
1062 {2, {69, 101}}, {2, {70, 102}}, {2, {71, 103}}, {2, {72, 104}}, // NOLINT
1063 {2, {73, 105}}, {2, {74, 106}}, {2, {75, 107}}, {2, {76, 108}}, // NOLINT
1064 {2, {77, 109}}, {2, {78, 110}}, {2, {79, 111}}, {2, {80, 112}}, // NOLINT
1065 {2, {81, 113}}, {2, {82, 114}}, {2, {83, 115}}, {2, {84, 116}}, // NOLINT
1066 {2, {85, 117}}, {2, {86, 118}}, {2, {87, 119}}, {2, {88, 120}}, // NOLINT
1067 {2, {89, 121}}, {2, {90, 122}}, {3, {181, 924, 956}}, {2, {192, 224}}, // NOL INT
1068 {2, {193, 225}}, {2, {194, 226}}, {2, {195, 227}}, {2, {196, 228}}, // NOLINT
1069 {2, {197, 229}}, {2, {198, 230}}, {2, {199, 231}}, {2, {200, 232}}, // NOLINT
1070 {2, {201, 233}}, {2, {202, 234}}, {2, {203, 235}}, {2, {204, 236}}, // NOLINT
1071 {2, {205, 237}}, {2, {206, 238}}, {2, {207, 239}}, {2, {208, 240}}, // NOLINT
1072 {2, {209, 241}}, {2, {210, 242}}, {2, {211, 243}}, {2, {212, 244}}, // NOLINT
1073 {2, {213, 245}}, {2, {214, 246}}, {2, {216, 248}}, {2, {217, 249}}, // NOLINT
1074 {2, {218, 250}}, {2, {219, 251}}, {2, {220, 252}}, {2, {221, 253}}, // NOLINT
1075 {2, {222, 254}}, {2, {255, 376}}, {2, {256, 257}}, {2, {258, 259}}, // NOLINT
1076 {2, {260, 261}}, {2, {262, 263}}, {2, {264, 265}}, {2, {266, 267}}, // NOLINT
1077 {2, {268, 269}}, {2, {270, 271}}, {2, {272, 273}}, {2, {274, 275}}, // NOLINT
1078 {2, {276, 277}}, {2, {278, 279}}, {2, {280, 281}}, {2, {282, 283}}, // NOLINT
1079 {2, {284, 285}}, {2, {286, 287}}, {2, {288, 289}}, {2, {290, 291}}, // NOLINT
1080 {2, {292, 293}}, {2, {294, 295}}, {2, {296, 297}}, {2, {298, 299}}, // NOLINT
1081 {2, {300, 301}}, {2, {302, 303}}, {2, {306, 307}}, {2, {308, 309}}, // NOLINT
1082 {2, {310, 311}}, {2, {313, 314}}, {2, {315, 316}}, {2, {317, 318}}, // NOLINT
1083 {2, {319, 320}}, {2, {321, 322}}, {2, {323, 324}}, {2, {325, 326}}, // NOLINT
1084 {2, {327, 328}}, {2, {330, 331}}, {2, {332, 333}}, {2, {334, 335}}, // NOLINT
1085 {2, {336, 337}}, {2, {338, 339}}, {2, {340, 341}}, {2, {342, 343}}, // NOLINT
1086 {2, {344, 345}}, {2, {346, 347}}, {2, {348, 349}}, {2, {350, 351}}, // NOLINT
1087 {2, {352, 353}}, {2, {354, 355}}, {2, {356, 357}}, {2, {358, 359}}, // NOLINT
1088 {2, {360, 361}}, {2, {362, 363}}, {2, {364, 365}}, {2, {366, 367}}, // NOLINT
1089 {2, {368, 369}}, {2, {370, 371}}, {2, {372, 373}}, {2, {374, 375}}, // NOLINT
1090 {2, {377, 378}}, {2, {379, 380}}, {2, {381, 382}}, {2, {384, 579}}, // NOLINT
1091 {2, {385, 595}}, {2, {386, 387}}, {2, {388, 389}}, {2, {390, 596}}, // NOLINT
1092 {2, {391, 392}}, {2, {393, 598}}, {2, {394, 599}}, {2, {395, 396}}, // NOLINT
1093 {2, {398, 477}}, {2, {399, 601}}, {2, {400, 603}}, {2, {401, 402}}, // NOLINT
1094 {2, {403, 608}}, {2, {404, 611}}, {2, {405, 502}}, {2, {406, 617}}, // NOLINT
1095 {2, {407, 616}}, {2, {408, 409}}, {2, {410, 573}}, {2, {412, 623}}, // NOLINT
1096 {2, {413, 626}}, {2, {414, 544}}, {2, {415, 629}}, {2, {416, 417}}, // NOLINT
1097 {2, {418, 419}}, {2, {420, 421}}, {2, {422, 640}}, {2, {423, 424}}, // NOLINT
1098 {2, {425, 643}}, {2, {428, 429}}, {2, {430, 648}}, {2, {431, 432}}, // NOLINT
1099 {2, {433, 650}}, {2, {434, 651}}, {2, {435, 436}}, {2, {437, 438}}, // NOLINT
1100 {2, {439, 658}}, {2, {440, 441}}, {2, {444, 445}}, {2, {447, 503}}, // NOLINT
1101 {3, {452, 453, 454}}, {3, {455, 456, 457}}, {3, {458, 459, 460}}, {2, {461, 46 2}}, // NOLINT
1102 {2, {463, 464}}, {2, {465, 466}}, {2, {467, 468}}, {2, {469, 470}}, // NOLINT
1103 {2, {471, 472}}, {2, {473, 474}}, {2, {475, 476}}, {2, {478, 479}}, // NOLINT
1104 {2, {480, 481}}, {2, {482, 483}}, {2, {484, 485}}, {2, {486, 487}}, // NOLINT
1105 {2, {488, 489}}, {2, {490, 491}}, {2, {492, 493}}, {2, {494, 495}}, // NOLINT
1106 {3, {497, 498, 499}}, {2, {500, 501}}, {2, {504, 505}}, {2, {506, 507}}, // N OLINT
1107 {2, {508, 509}}, {2, {510, 511}}, {2, {512, 513}}, {2, {514, 515}}, // NOLINT
1108 {2, {516, 517}}, {2, {518, 519}}, {2, {520, 521}}, {2, {522, 523}}, // NOLINT
1109 {2, {524, 525}}, {2, {526, 527}}, {2, {528, 529}}, {2, {530, 531}}, // NOLINT
1110 {2, {532, 533}}, {2, {534, 535}}, {2, {536, 537}}, {2, {538, 539}}, // NOLINT
1111 {2, {540, 541}}, {2, {542, 543}}, {2, {546, 547}}, {2, {548, 549}}, // NOLINT
1112 {2, {550, 551}}, {2, {552, 553}}, {2, {554, 555}}, {2, {556, 557}}, // NOLINT
1113 {2, {558, 559}}, {2, {560, 561}}, {2, {562, 563}}, {2, {570, 11365}}, // NOLI NT
1114 {2, {571, 572}}, {2, {574, 11366}}, {2, {577, 578}}, {2, {580, 649}}, // NOLI NT
1115 {2, {581, 652}}, {2, {582, 583}}, {2, {584, 585}}, {2, {586, 587}}, // NOLINT
1116 {2, {588, 589}}, {2, {590, 591}}, {2, {619, 11362}}, {2, {637, 11364}}, // NO LINT
1117 {4, {837, 921, 953, 8126}}, {2, {891, 1021}}, {2, {892, 1022}}, {2, {893, 1023 }}, // NOLINT
1118 {2, {902, 940}}, {2, {904, 941}}, {2, {905, 942}}, {2, {906, 943}}, // NOLINT
1119 {2, {908, 972}}, {2, {910, 973}}, {2, {911, 974}}, {2, {913, 945}}, // NOLINT
1120 {3, {914, 946, 976}}, {2, {915, 947}}, {2, {916, 948}}, {3, {917, 949, 1013}}, // NOLINT
1121 {2, {918, 950}}, {2, {919, 951}}, {3, {920, 952, 977}}, {3, {922, 954, 1008}}, // NOLINT
1122 {2, {923, 955}}, {2, {925, 957}}, {2, {926, 958}}, {2, {927, 959}}, // NOLINT
1123 {3, {928, 960, 982}}, {3, {929, 961, 1009}}, {3, {931, 962, 963}}, {2, {932, 9 64}}, // NOLINT
1124 {2, {933, 965}}, {3, {934, 966, 981}}, {2, {935, 967}}, {2, {936, 968}}, // N OLINT
1125 {2, {937, 969}}, {2, {938, 970}}, {2, {939, 971}}, {2, {984, 985}}, // NOLINT
1126 {2, {986, 987}}, {2, {988, 989}}, {2, {990, 991}}, {2, {992, 993}}, // NOLINT
1127 {2, {994, 995}}, {2, {996, 997}}, {2, {998, 999}}, {2, {1000, 1001}}, // NOLI NT
1128 {2, {1002, 1003}}, {2, {1004, 1005}}, {2, {1006, 1007}}, {2, {1010, 1017}}, / / NOLINT
1129 {2, {1015, 1016}}, {2, {1018, 1019}}, {2, {1024, 1104}}, {2, {1025, 1105}}, / / NOLINT
1130 {2, {1026, 1106}}, {2, {1027, 1107}}, {2, {1028, 1108}}, {2, {1029, 1109}}, / / NOLINT
1131 {2, {1030, 1110}}, {2, {1031, 1111}}, {2, {1032, 1112}}, {2, {1033, 1113}}, / / NOLINT
1132 {2, {1034, 1114}}, {2, {1035, 1115}}, {2, {1036, 1116}}, {2, {1037, 1117}}, / / NOLINT
1133 {2, {1038, 1118}}, {2, {1039, 1119}}, {2, {1040, 1072}}, {2, {1041, 1073}}, / / NOLINT
1134 {2, {1042, 1074}}, {2, {1043, 1075}}, {2, {1044, 1076}}, {2, {1045, 1077}}, / / NOLINT
1135 {2, {1046, 1078}}, {2, {1047, 1079}}, {2, {1048, 1080}}, {2, {1049, 1081}}, / / NOLINT
1136 {2, {1050, 1082}}, {2, {1051, 1083}}, {2, {1052, 1084}}, {2, {1053, 1085}}, / / NOLINT
1137 {2, {1054, 1086}}, {2, {1055, 1087}}, {2, {1056, 1088}}, {2, {1057, 1089}}, / / NOLINT
1138 {2, {1058, 1090}}, {2, {1059, 1091}}, {2, {1060, 1092}}, {2, {1061, 1093}}, / / NOLINT
1139 {2, {1062, 1094}}, {2, {1063, 1095}}, {2, {1064, 1096}}, {2, {1065, 1097}}, / / NOLINT
1140 {2, {1066, 1098}}, {2, {1067, 1099}}, {2, {1068, 1100}}, {2, {1069, 1101}}, / / NOLINT
1141 {2, {1070, 1102}}, {2, {1071, 1103}}, {2, {1120, 1121}}, {2, {1122, 1123}}, / / NOLINT
1142 {2, {1124, 1125}}, {2, {1126, 1127}}, {2, {1128, 1129}}, {2, {1130, 1131}}, / / NOLINT
1143 {2, {1132, 1133}}, {2, {1134, 1135}}, {2, {1136, 1137}}, {2, {1138, 1139}}, / / NOLINT
1144 {2, {1140, 1141}}, {2, {1142, 1143}}, {2, {1144, 1145}}, {2, {1146, 1147}}, / / NOLINT
1145 {2, {1148, 1149}}, {2, {1150, 1151}}, {2, {1152, 1153}}, {2, {1162, 1163}}, / / NOLINT
1146 {2, {1164, 1165}}, {2, {1166, 1167}}, {2, {1168, 1169}}, {2, {1170, 1171}}, / / NOLINT
1147 {2, {1172, 1173}}, {2, {1174, 1175}}, {2, {1176, 1177}}, {2, {1178, 1179}}, / / NOLINT
1148 {2, {1180, 1181}}, {2, {1182, 1183}}, {2, {1184, 1185}}, {2, {1186, 1187}}, / / NOLINT
1149 {2, {1188, 1189}}, {2, {1190, 1191}}, {2, {1192, 1193}}, {2, {1194, 1195}}, / / NOLINT
1150 {2, {1196, 1197}}, {2, {1198, 1199}}, {2, {1200, 1201}}, {2, {1202, 1203}}, / / NOLINT
1151 {2, {1204, 1205}}, {2, {1206, 1207}}, {2, {1208, 1209}}, {2, {1210, 1211}}, / / NOLINT
1152 {2, {1212, 1213}}, {2, {1214, 1215}}, {2, {1216, 1231}}, {2, {1217, 1218}}, / / NOLINT
1153 {2, {1219, 1220}}, {2, {1221, 1222}}, {2, {1223, 1224}}, {2, {1225, 1226}}, / / NOLINT
1154 {2, {1227, 1228}}, {2, {1229, 1230}}, {2, {1232, 1233}}, {2, {1234, 1235}}, / / NOLINT
1155 {2, {1236, 1237}}, {2, {1238, 1239}}, {2, {1240, 1241}}, {2, {1242, 1243}}, / / NOLINT
1156 {2, {1244, 1245}}, {2, {1246, 1247}}, {2, {1248, 1249}}, {2, {1250, 1251}}, / / NOLINT
1157 {2, {1252, 1253}}, {2, {1254, 1255}}, {2, {1256, 1257}}, {2, {1258, 1259}}, / / NOLINT
1158 {2, {1260, 1261}}, {2, {1262, 1263}}, {2, {1264, 1265}}, {2, {1266, 1267}}, / / NOLINT
1159 {2, {1268, 1269}}, {2, {1270, 1271}}, {2, {1272, 1273}}, {2, {1274, 1275}}, / / NOLINT
1160 {2, {1276, 1277}}, {2, {1278, 1279}}, {2, {1280, 1281}}, {2, {1282, 1283}}, / / NOLINT
1161 {2, {1284, 1285}}, {2, {1286, 1287}}, {2, {1288, 1289}}, {2, {1290, 1291}}, / / NOLINT
1162 {2, {1292, 1293}}, {2, {1294, 1295}}, {2, {1296, 1297}}, {2, {1298, 1299}}, / / NOLINT
1163 {2, {1329, 1377}}, {2, {1330, 1378}}, {2, {1331, 1379}}, {2, {1332, 1380}}, / / NOLINT
1164 {2, {1333, 1381}}, {2, {1334, 1382}}, {2, {1335, 1383}}, {2, {1336, 1384}}, / / NOLINT
1165 {2, {1337, 1385}}, {2, {1338, 1386}}, {2, {1339, 1387}}, {2, {1340, 1388}}, / / NOLINT
1166 {2, {1341, 1389}}, {2, {1342, 1390}}, {2, {1343, 1391}}, {2, {1344, 1392}}, / / NOLINT
1167 {2, {1345, 1393}}, {2, {1346, 1394}}, {2, {1347, 1395}}, {2, {1348, 1396}}, / / NOLINT
1168 {2, {1349, 1397}}, {2, {1350, 1398}}, {2, {1351, 1399}}, {2, {1352, 1400}}, / / NOLINT
1169 {2, {1353, 1401}}, {2, {1354, 1402}}, {2, {1355, 1403}}, {2, {1356, 1404}}, / / NOLINT
1170 {2, {1357, 1405}}, {2, {1358, 1406}}, {2, {1359, 1407}}, {2, {1360, 1408}}, / / NOLINT
1171 {2, {1361, 1409}}, {2, {1362, 1410}}, {2, {1363, 1411}}, {2, {1364, 1412}}, / / NOLINT
1172 {2, {1365, 1413}}, {2, {1366, 1414}}, {2, {4256, 11520}}, {2, {4257, 11521}}, // NOLINT
1173 {2, {4258, 11522}}, {2, {4259, 11523}}, {2, {4260, 11524}}, {2, {4261, 11525}} , // NOLINT
1174 {2, {4262, 11526}}, {2, {4263, 11527}}, {2, {4264, 11528}}, {2, {4265, 11529}} , // NOLINT
1175 {2, {4266, 11530}}, {2, {4267, 11531}}, {2, {4268, 11532}}, {2, {4269, 11533}} , // NOLINT
1176 {2, {4270, 11534}}, {2, {4271, 11535}}, {2, {4272, 11536}}, {2, {4273, 11537}} , // NOLINT
1177 {2, {4274, 11538}}, {2, {4275, 11539}}, {2, {4276, 11540}}, {2, {4277, 11541}} , // NOLINT
1178 {2, {4278, 11542}}, {2, {4279, 11543}}, {2, {4280, 11544}}, {2, {4281, 11545}} , // NOLINT
1179 {2, {4282, 11546}}, {2, {4283, 11547}}, {2, {4284, 11548}}, {2, {4285, 11549}} , // NOLINT
1180 {2, {4286, 11550}}, {2, {4287, 11551}}, {2, {4288, 11552}}, {2, {4289, 11553}} , // NOLINT
1181 {2, {4290, 11554}}, {2, {4291, 11555}}, {2, {4292, 11556}}, {2, {4293, 11557}} , // NOLINT
1182 {2, {7549, 11363}}, {2, {7680, 7681}}, {2, {7682, 7683}}, {2, {7684, 7685}}, // NOLINT
1183 {2, {7686, 7687}}, {2, {7688, 7689}}, {2, {7690, 7691}}, {2, {7692, 7693}}, / / NOLINT
1184 {2, {7694, 7695}}, {2, {7696, 7697}}, {2, {7698, 7699}}, {2, {7700, 7701}}, / / NOLINT
1185 {2, {7702, 7703}}, {2, {7704, 7705}}, {2, {7706, 7707}}, {2, {7708, 7709}}, / / NOLINT
1186 {2, {7710, 7711}}, {2, {7712, 7713}}, {2, {7714, 7715}}, {2, {7716, 7717}}, / / NOLINT
1187 {2, {7718, 7719}}, {2, {7720, 7721}}, {2, {7722, 7723}}, {2, {7724, 7725}}, / / NOLINT
1188 {2, {7726, 7727}}, {2, {7728, 7729}}, {2, {7730, 7731}}, {2, {7732, 7733}}, / / NOLINT
1189 {2, {7734, 7735}}, {2, {7736, 7737}}, {2, {7738, 7739}}, {2, {7740, 7741}}, / / NOLINT
1190 {2, {7742, 7743}}, {2, {7744, 7745}}, {2, {7746, 7747}}, {2, {7748, 7749}}, / / NOLINT
1191 {2, {7750, 7751}}, {2, {7752, 7753}}, {2, {7754, 7755}}, {2, {7756, 7757}}, / / NOLINT
1192 {2, {7758, 7759}}, {2, {7760, 7761}}, {2, {7762, 7763}}, {2, {7764, 7765}}, / / NOLINT
1193 {2, {7766, 7767}}, {2, {7768, 7769}}, {2, {7770, 7771}}, {2, {7772, 7773}}, / / NOLINT
1194 {2, {7774, 7775}}, {3, {7776, 7777, 7835}}, {2, {7778, 7779}}, {2, {7780, 7781 }}, // NOLINT
1195 {2, {7782, 7783}}, {2, {7784, 7785}}, {2, {7786, 7787}}, {2, {7788, 7789}}, / / NOLINT
1196 {2, {7790, 7791}}, {2, {7792, 7793}}, {2, {7794, 7795}}, {2, {7796, 7797}}, / / NOLINT
1197 {2, {7798, 7799}}, {2, {7800, 7801}}, {2, {7802, 7803}}, {2, {7804, 7805}}, / / NOLINT
1198 {2, {7806, 7807}}, {2, {7808, 7809}}, {2, {7810, 7811}}, {2, {7812, 7813}}, / / NOLINT
1199 {2, {7814, 7815}}, {2, {7816, 7817}}, {2, {7818, 7819}}, {2, {7820, 7821}}, / / NOLINT
1200 {2, {7822, 7823}}, {2, {7824, 7825}}, {2, {7826, 7827}}, {2, {7828, 7829}}, / / NOLINT
1201 {2, {7840, 7841}}, {2, {7842, 7843}}, {2, {7844, 7845}}, {2, {7846, 7847}}, / / NOLINT
1202 {2, {7848, 7849}}, {2, {7850, 7851}}, {2, {7852, 7853}}, {2, {7854, 7855}}, / / NOLINT
1203 {2, {7856, 7857}}, {2, {7858, 7859}}, {2, {7860, 7861}}, {2, {7862, 7863}}, / / NOLINT
1204 {2, {7864, 7865}}, {2, {7866, 7867}}, {2, {7868, 7869}}, {2, {7870, 7871}}, / / NOLINT
1205 {2, {7872, 7873}}, {2, {7874, 7875}}, {2, {7876, 7877}}, {2, {7878, 7879}}, / / NOLINT
1206 {2, {7880, 7881}}, {2, {7882, 7883}}, {2, {7884, 7885}}, {2, {7886, 7887}}, / / NOLINT
1207 {2, {7888, 7889}}, {2, {7890, 7891}}, {2, {7892, 7893}}, {2, {7894, 7895}}, / / NOLINT
1208 {2, {7896, 7897}}, {2, {7898, 7899}}, {2, {7900, 7901}}, {2, {7902, 7903}}, / / NOLINT
1209 {2, {7904, 7905}}, {2, {7906, 7907}}, {2, {7908, 7909}}, {2, {7910, 7911}}, / / NOLINT
1210 {2, {7912, 7913}}, {2, {7914, 7915}}, {2, {7916, 7917}}, {2, {7918, 7919}}, / / NOLINT
1211 {2, {7920, 7921}}, {2, {7922, 7923}}, {2, {7924, 7925}}, {2, {7926, 7927}}, / / NOLINT
1212 {2, {7928, 7929}}, {2, {7936, 7944}}, {2, {7937, 7945}}, {2, {7938, 7946}}, / / NOLINT
1213 {2, {7939, 7947}}, {2, {7940, 7948}}, {2, {7941, 7949}}, {2, {7942, 7950}}, / / NOLINT
1214 {2, {7943, 7951}}, {2, {7952, 7960}}, {2, {7953, 7961}}, {2, {7954, 7962}}, / / NOLINT
1215 {2, {7955, 7963}}, {2, {7956, 7964}}, {2, {7957, 7965}}, {2, {7968, 7976}}, / / NOLINT
1216 {2, {7969, 7977}}, {2, {7970, 7978}}, {2, {7971, 7979}}, {2, {7972, 7980}}, / / NOLINT
1217 {2, {7973, 7981}}, {2, {7974, 7982}}, {2, {7975, 7983}}, {2, {7984, 7992}}, / / NOLINT
1218 {2, {7985, 7993}}, {2, {7986, 7994}}, {2, {7987, 7995}}, {2, {7988, 7996}}, / / NOLINT
1219 {2, {7989, 7997}}, {2, {7990, 7998}}, {2, {7991, 7999}}, {2, {8000, 8008}}, / / NOLINT
1220 {2, {8001, 8009}}, {2, {8002, 8010}}, {2, {8003, 8011}}, {2, {8004, 8012}}, / / NOLINT
1221 {2, {8005, 8013}}, {2, {8017, 8025}}, {2, {8019, 8027}}, {2, {8021, 8029}}, / / NOLINT
1222 {2, {8023, 8031}}, {2, {8032, 8040}}, {2, {8033, 8041}}, {2, {8034, 8042}}, / / NOLINT
1223 {2, {8035, 8043}}, {2, {8036, 8044}}, {2, {8037, 8045}}, {2, {8038, 8046}}, / / NOLINT
1224 {2, {8039, 8047}}, {2, {8048, 8122}}, {2, {8049, 8123}}, {2, {8050, 8136}}, / / NOLINT
1225 {2, {8051, 8137}}, {2, {8052, 8138}}, {2, {8053, 8139}}, {2, {8054, 8154}}, / / NOLINT
1226 {2, {8055, 8155}}, {2, {8056, 8184}}, {2, {8057, 8185}}, {2, {8058, 8170}}, / / NOLINT
1227 {2, {8059, 8171}}, {2, {8060, 8186}}, {2, {8061, 8187}}, {2, {8112, 8120}}, / / NOLINT
1228 {2, {8113, 8121}}, {2, {8144, 8152}}, {2, {8145, 8153}}, {2, {8160, 8168}}, / / NOLINT
1229 {2, {8161, 8169}}, {2, {8165, 8172}}, {2, {8498, 8526}}, {2, {8544, 8560}}, / / NOLINT
1230 {2, {8545, 8561}}, {2, {8546, 8562}}, {2, {8547, 8563}}, {2, {8548, 8564}}, / / NOLINT
1231 {2, {8549, 8565}}, {2, {8550, 8566}}, {2, {8551, 8567}}, {2, {8552, 8568}}, / / NOLINT
1232 {2, {8553, 8569}}, {2, {8554, 8570}}, {2, {8555, 8571}}, {2, {8556, 8572}}, / / NOLINT
1233 {2, {8557, 8573}}, {2, {8558, 8574}}, {2, {8559, 8575}}, {2, {8579, 8580}}, / / NOLINT
1234 {2, {9398, 9424}}, {2, {9399, 9425}}, {2, {9400, 9426}}, {2, {9401, 9427}}, / / NOLINT
1235 {2, {9402, 9428}}, {2, {9403, 9429}}, {2, {9404, 9430}}, {2, {9405, 9431}}, / / NOLINT
1236 {2, {9406, 9432}}, {2, {9407, 9433}}, {2, {9408, 9434}}, {2, {9409, 9435}}, / / NOLINT
1237 {2, {9410, 9436}}, {2, {9411, 9437}}, {2, {9412, 9438}}, {2, {9413, 9439}}, / / NOLINT
1238 {2, {9414, 9440}}, {2, {9415, 9441}}, {2, {9416, 9442}}, {2, {9417, 9443}}, / / NOLINT
1239 {2, {9418, 9444}}, {2, {9419, 9445}}, {2, {9420, 9446}}, {2, {9421, 9447}}, / / NOLINT
1240 {2, {9422, 9448}}, {2, {9423, 9449}}, {2, {11264, 11312}}, {2, {11265, 11313}} , // NOLINT
1241 {2, {11266, 11314}}, {2, {11267, 11315}}, {2, {11268, 11316}}, {2, {11269, 113 17}}, // NOLINT
1242 {2, {11270, 11318}}, {2, {11271, 11319}}, {2, {11272, 11320}}, {2, {11273, 113 21}}, // NOLINT
1243 {2, {11274, 11322}}, {2, {11275, 11323}}, {2, {11276, 11324}}, {2, {11277, 113 25}}, // NOLINT
1244 {2, {11278, 11326}}, {2, {11279, 11327}}, {2, {11280, 11328}}, {2, {11281, 113 29}}, // NOLINT
1245 {2, {11282, 11330}}, {2, {11283, 11331}}, {2, {11284, 11332}}, {2, {11285, 113 33}}, // NOLINT
1246 {2, {11286, 11334}}, {2, {11287, 11335}}, {2, {11288, 11336}}, {2, {11289, 113 37}}, // NOLINT
1247 {2, {11290, 11338}}, {2, {11291, 11339}}, {2, {11292, 11340}}, {2, {11293, 113 41}}, // NOLINT
1248 {2, {11294, 11342}}, {2, {11295, 11343}}, {2, {11296, 11344}}, {2, {11297, 113 45}}, // NOLINT
1249 {2, {11298, 11346}}, {2, {11299, 11347}}, {2, {11300, 11348}}, {2, {11301, 113 49}}, // NOLINT
1250 {2, {11302, 11350}}, {2, {11303, 11351}}, {2, {11304, 11352}}, {2, {11305, 113 53}}, // NOLINT
1251 {2, {11306, 11354}}, {2, {11307, 11355}}, {2, {11308, 11356}}, {2, {11309, 113 57}}, // NOLINT
1252 {2, {11310, 11358}}, {2, {11360, 11361}}, {2, {11367, 11368}}, {2, {11369, 113 70}}, // NOLINT
1253 {2, {11371, 11372}}, {2, {11381, 11382}}, {2, {11392, 11393}}, {2, {11394, 113 95}}, // NOLINT
1254 {2, {11396, 11397}}, {2, {11398, 11399}}, {2, {11400, 11401}}, {2, {11402, 114 03}}, // NOLINT
1255 {2, {11404, 11405}}, {2, {11406, 11407}}, {2, {11408, 11409}}, {2, {11410, 114 11}}, // NOLINT
1256 {2, {11412, 11413}}, {2, {11414, 11415}}, {2, {11416, 11417}}, {2, {11418, 114 19}}, // NOLINT
1257 {2, {11420, 11421}}, {2, {11422, 11423}}, {2, {11424, 11425}}, {2, {11426, 114 27}}, // NOLINT
1258 {2, {11428, 11429}}, {2, {11430, 11431}}, {2, {11432, 11433}}, {2, {11434, 114 35}}, // NOLINT
1259 {2, {11436, 11437}}, {2, {11438, 11439}}, {2, {11440, 11441}}, {2, {11442, 114 43}}, // NOLINT
1260 {2, {11444, 11445}}, {2, {11446, 11447}}, {2, {11448, 11449}}, {2, {11450, 114 51}}, // NOLINT
1261 {2, {11452, 11453}}, {2, {11454, 11455}}, {2, {11456, 11457}}, {2, {11458, 114 59}}, // NOLINT
1262 {2, {11460, 11461}}, {2, {11462, 11463}}, {2, {11464, 11465}}, {2, {11466, 114 67}}, // NOLINT
1263 {2, {11468, 11469}}, {2, {11470, 11471}}, {2, {11472, 11473}}, {2, {11474, 114 75}}, // NOLINT
1264 {2, {11476, 11477}}, {2, {11478, 11479}}, {2, {11480, 11481}}, {2, {11482, 114 83}}, // NOLINT
1265 {2, {11484, 11485}}, {2, {11486, 11487}}, {2, {11488, 11489}}, {2, {11490, 114 91}}, // NOLINT
1266 {0, {0}} }; // NOLINT
673 static const uint16_t kEcma262UnCanonicalizeTable0Size = 1656; 1267 static const uint16_t kEcma262UnCanonicalizeTable0Size = 1656;
674 static const int32_t kEcma262UnCanonicalizeTable0[3312] = { 65, 1, 66, 5, 67, 9, 68, 13, 69, 17, 70, 21, 71, 25, 72, 29, 73, 33, 74, 37, 75, 41, 76, 45, 77, 49, 78, 53, 79, 57, 80, 61, 81, 65, 82, 69, 83, 73, 84, 77, 85, 81, 86, 85, 87, 89, 88, 93, 89, 97, 90, 101, 97, 105, 98, 109, 99, 113, 100, 117, 101, 121, 102, 12 5, 103, 129, 104, 133, 105, 137, 106, 141, 107, 145, 108, 149, 109, 153, 110, 15 7, 111, 161, 112, 165, 113, 169, 114, 173, 115, 177, 116, 181, 117, 185, 118, 18 9, 119, 193, 120, 197, 121, 201, 122, 205, 181, 209, 192, 213, 193, 217, 194, 22 1, 195, 225, 196, 229, 197, 233, 198, 237, 199, 241, 200, 245, 201, 249, 202, 25 3, 203, 257, 204, 261, 205, 265, 206, 269, 207, 273, 208, 277, 209, 281, 210, 28 5, 211, 289, 212, 293, 213, 297, 214, 301, 216, 305, 217, 309, 218, 313, 219, 31 7, 220, 321, 221, 325, 222, 329, 224, 333, 225, 337, 226, 341, 227, 345, 228, 34 9, 229, 353, 230, 357, 231, 361, 232, 365, 233, 369, 234, 373, 235, 377, 236, 38 1, 237, 385, 238, 389, 239, 393, 240, 397, 241, 401, 242, 405, 243, 409, 244, 41 3, 245, 417, 246, 421, 248, 425, 249, 429, 250, 433, 251, 437, 252, 441, 253, 44 5, 254, 449, 255, 453, 256, 457, 257, 461, 258, 465, 259, 469, 260, 473, 261, 47 7, 262, 481, 263, 485, 264, 489, 265, 493, 266, 497, 267, 501, 268, 505, 269, 50 9, 270, 513, 271, 517, 272, 521, 273, 525, 274, 529, 275, 533, 276, 537, 277, 54 1, 278, 545, 279, 549, 280, 553, 281, 557, 282, 561, 283, 565, 284, 569, 285, 57 3, 286, 577, 287, 581, 288, 585, 289, 589, 290, 593, 291, 597, 292, 601, 293, 60 5, 294, 609, 295, 613, 296, 617, 297, 621, 298, 625, 299, 629, 300, 633, 301, 63 7, 302, 641, 303, 645, 306, 649, 307, 653, 308, 657, 309, 661, 310, 665, 311, 66 9, 313, 673, 314, 677, 315, 681, 316, 685, 317, 689, 318, 693, 319, 697, 320, 70 1, 321, 705, 322, 709, 323, 713, 324, 717, 325, 721, 326, 725, 327, 729, 328, 73 3, 330, 737, 331, 741, 332, 745, 333, 749, 334, 753, 335, 757, 336, 761, 337, 76 5, 338, 769, 339, 773, 340, 777, 341, 781, 342, 785, 343, 789, 344, 793, 345, 79 7, 346, 801, 347, 805, 348, 809, 349, 813, 350, 817, 351, 821, 352, 825, 353, 82 9, 354, 833, 355, 837, 356, 841, 357, 845, 358, 849, 359, 853, 360, 857, 361, 86 1, 362, 865, 363, 869, 364, 873, 365, 877, 366, 881, 367, 885, 368, 889, 369, 89 3, 370, 897, 371, 901, 372, 905, 373, 909, 374, 913, 375, 917, 376, 921, 377, 92 5, 378, 929, 379, 933, 380, 937, 381, 941, 382, 945, 384, 949, 385, 953, 386, 95 7, 387, 961, 388, 965, 389, 969, 390, 973, 391, 977, 392, 981, 393, 985, 394, 98 9, 395, 993, 396, 997, 398, 1001, 399, 1005, 400, 1009, 401, 1013, 402, 1017, 40 3, 1021, 404, 1025, 405, 1029, 406, 1033, 407, 1037, 408, 1041, 409, 1045, 410, 1049, 412, 1053, 413, 1057, 414, 1061, 415, 1065, 416, 1069, 417, 1073, 418, 107 7, 419, 1081, 420, 1085, 421, 1089, 422, 1093, 423, 1097, 424, 1101, 425, 1105, 428, 1109, 429, 1113, 430, 1117, 431, 1121, 432, 1125, 433, 1129, 434, 1133, 435 , 1137, 436, 1141, 437, 1145, 438, 1149, 439, 1153, 440, 1157, 441, 1161, 444, 1 165, 445, 1169, 447, 1173, 452, 1177, 453, 1181, 454, 1185, 455, 1189, 456, 1193 , 457, 1197, 458, 1201, 459, 1205, 460, 1209, 461, 1213, 462, 1217, 463, 1221, 4 64, 1225, 465, 1229, 466, 1233, 467, 1237, 468, 1241, 469, 1245, 470, 1249, 471, 1253, 472, 1257, 473, 1261, 474, 1265, 475, 1269, 476, 1273, 477, 1277, 478, 12 81, 479, 1285, 480, 1289, 481, 1293, 482, 1297, 483, 1301, 484, 1305, 485, 1309, 486, 1313, 487, 1317, 488, 1321, 489, 1325, 490, 1329, 491, 1333, 492, 1337, 49 3, 1341, 494, 1345, 495, 1349, 497, 1353, 498, 1357, 499, 1361, 500, 1365, 501, 1369, 502, 1373, 503, 1377, 504, 1381, 505, 1385, 506, 1389, 507, 1393, 508, 139 7, 509, 1401, 510, 1405, 511, 1409, 512, 1413, 513, 1417, 514, 1421, 515, 1425, 516, 1429, 517, 1433, 518, 1437, 519, 1441, 520, 1445, 521, 1449, 522, 1453, 523 , 1457, 524, 1461, 525, 1465, 526, 1469, 527, 1473, 528, 1477, 529, 1481, 530, 1 485, 531, 1489, 532, 1493, 533, 1497, 534, 1501, 535, 1505, 536, 1509, 537, 1513 , 538, 1517, 539, 1521, 540, 1525, 541, 1529, 542, 1533, 543, 1537, 544, 1541, 5 46, 1545, 547, 1549, 548, 1553, 549, 1557, 550, 1561, 551, 1565, 552, 1569, 553, 1573, 554, 1577, 555, 1581, 556, 1585, 557, 1589, 558, 1593, 559, 1597, 560, 16 01, 561, 1605, 562, 1609, 563, 1613, 570, 1617, 571, 1621, 572, 1625, 573, 1629, 574, 1633, 577, 1637, 578, 1641, 579, 1645, 580, 1649, 581, 1653, 582, 1657, 58 3, 1661, 584, 1665, 585, 1669, 586, 1673, 587, 1677, 588, 1681, 589, 1685, 590, 1689, 591, 1693, 595, 1697, 596, 1701, 598, 1705, 599, 1709, 601, 1713, 603, 171 7, 608, 1721, 611, 1725, 616, 1729, 617, 1733, 619, 1737, 623, 1741, 626, 1745, 629, 1749, 637, 1753, 640, 1757, 643, 1761, 648, 1765, 649, 1769, 650, 1773, 651 , 1777, 652, 1781, 658, 1785, 837, 1789, 891, 1793, 892, 1797, 893, 1801, 902, 1 805, 904, 1809, 905, 1813, 906, 1817, 908, 1821, 910, 1825, 911, 1829, 913, 1833 , 914, 1837, 915, 1841, 916, 1845, 917, 1849, 918, 1853, 919, 1857, 920, 1861, 9 21, 1865, 922, 1869, 923, 1873, 924, 1877, 925, 1881, 926, 1885, 927, 1889, 928, 1893, 929, 1897, 931, 1901, 932, 1905, 933, 1909, 934, 1913, 935, 1917, 936, 19 21, 937, 1925, 938, 1929, 939, 1933, 940, 1937, 941, 1941, 942, 1945, 943, 1949, 945, 1953, 946, 1957, 947, 1961, 948, 1965, 949, 1969, 950, 1973, 951, 1977, 95 2, 1981, 953, 1985, 954, 1989, 955, 1993, 956, 1997, 957, 2001, 958, 2005, 959, 2009, 960, 2013, 961, 2017, 962, 2021, 963, 2025, 964, 2029, 965, 2033, 966, 203 7, 967, 2041, 968, 2045, 969, 2049, 970, 2053, 971, 2057, 972, 2061, 973, 2065, 974, 2069, 976, 2073, 977, 2077, 981, 2081, 982, 2085, 984, 2089, 985, 2093, 986 , 2097, 987, 2101, 988, 2105, 989, 2109, 990, 2113, 991, 2117, 992, 2121, 993, 2 125, 994, 2129, 995, 2133, 996, 2137, 997, 2141, 998, 2145, 999, 2149, 1000, 215 3, 1001, 2157, 1002, 2161, 1003, 2165, 1004, 2169, 1005, 2173, 1006, 2177, 1007, 2181, 1008, 2185, 1009, 2189, 1010, 2193, 1013, 2197, 1015, 2201, 1016, 2205, 1 017, 2209, 1018, 2213, 1019, 2217, 1021, 2221, 1022, 2225, 1023, 2229, 1024, 223 3, 1025, 2237, 1026, 2241, 1027, 2245, 1028, 2249, 1029, 2253, 1030, 2257, 1031, 2261, 1032, 2265, 1033, 2269, 1034, 2273, 1035, 2277, 1036, 2281, 1037, 2285, 1 038, 2289, 1039, 2293, 1040, 2297, 1041, 2301, 1042, 2305, 1043, 2309, 1044, 231 3, 1045, 2317, 1046, 2321, 1047, 2325, 1048, 2329, 1049, 2333, 1050, 2337, 1051, 2341, 1052, 2345, 1053, 2349, 1054, 2353, 1055, 2357, 1056, 2361, 1057, 2365, 1 058, 2369, 1059, 2373, 1060, 2377, 1061, 2381, 1062, 2385, 1063, 2389, 1064, 239 3, 1065, 2397, 1066, 2401, 1067, 2405, 1068, 2409, 1069, 2413, 1070, 2417, 1071, 2421, 1072, 2425, 1073, 2429, 1074, 2433, 1075, 2437, 1076, 2441, 1077, 2445, 1 078, 2449, 1079, 2453, 1080, 2457, 1081, 2461, 1082, 2465, 1083, 2469, 1084, 247 3, 1085, 2477, 1086, 2481, 1087, 2485, 1088, 2489, 1089, 2493, 1090, 2497, 1091, 2501, 1092, 2505, 1093, 2509, 1094, 2513, 1095, 2517, 1096, 2521, 1097, 2525, 1 098, 2529, 1099, 2533, 1100, 2537, 1101, 2541, 1102, 2545, 1103, 2549, 1104, 255 3, 1105, 2557, 1106, 2561, 1107, 2565, 1108, 2569, 1109, 2573, 1110, 2577, 1111, 2581, 1112, 2585, 1113, 2589, 1114, 2593, 1115, 2597, 1116, 2601, 1117, 2605, 1 118, 2609, 1119, 2613, 1120, 2617, 1121, 2621, 1122, 2625, 1123, 2629, 1124, 263 3, 1125, 2637, 1126, 2641, 1127, 2645, 1128, 2649, 1129, 2653, 1130, 2657, 1131, 2661, 1132, 2665, 1133, 2669, 1134, 2673, 1135, 2677, 1136, 2681, 1137, 2685, 1 138, 2689, 1139, 2693, 1140, 2697, 1141, 2701, 1142, 2705, 1143, 2709, 1144, 271 3, 1145, 2717, 1146, 2721, 1147, 2725, 1148, 2729, 1149, 2733, 1150, 2737, 1151, 2741, 1152, 2745, 1153, 2749, 1162, 2753, 1163, 2757, 1164, 2761, 1165, 2765, 1 166, 2769, 1167, 2773, 1168, 2777, 1169, 2781, 1170, 2785, 1171, 2789, 1172, 279 3, 1173, 2797, 1174, 2801, 1175, 2805, 1176, 2809, 1177, 2813, 1178, 2817, 1179, 2821, 1180, 2825, 1181, 2829, 1182, 2833, 1183, 2837, 1184, 2841, 1185, 2845, 1 186, 2849, 1187, 2853, 1188, 2857, 1189, 2861, 1190, 2865, 1191, 2869, 1192, 287 3, 1193, 2877, 1194, 2881, 1195, 2885, 1196, 2889, 1197, 2893, 1198, 2897, 1199, 2901, 1200, 2905, 1201, 2909, 1202, 2913, 1203, 2917, 1204, 2921, 1205, 2925, 1 206, 2929, 1207, 2933, 1208, 2937, 1209, 2941, 1210, 2945, 1211, 2949, 1212, 295 3, 1213, 2957, 1214, 2961, 1215, 2965, 1216, 2969, 1217, 2973, 1218, 2977, 1219, 2981, 1220, 2985, 1221, 2989, 1222, 2993, 1223, 2997, 1224, 3001, 1225, 3005, 1 226, 3009, 1227, 3013, 1228, 3017, 1229, 3021, 1230, 3025, 1231, 3029, 1232, 303 3, 1233, 3037, 1234, 3041, 1235, 3045, 1236, 3049, 1237, 3053, 1238, 3057, 1239, 3061, 1240, 3065, 1241, 3069, 1242, 3073, 1243, 3077, 1244, 3081, 1245, 3085, 1 246, 3089, 1247, 3093, 1248, 3097, 1249, 3101, 1250, 3105, 1251, 3109, 1252, 311 3, 1253, 3117, 1254, 3121, 1255, 3125, 1256, 3129, 1257, 3133, 1258, 3137, 1259, 3141, 1260, 3145, 1261, 3149, 1262, 3153, 1263, 3157, 1264, 3161, 1265, 3165, 1 266, 3169, 1267, 3173, 1268, 3177, 1269, 3181, 1270, 3185, 1271, 3189, 1272, 319 3, 1273, 3197, 1274, 3201, 1275, 3205, 1276, 3209, 1277, 3213, 1278, 3217, 1279, 3221, 1280, 3225, 1281, 3229, 1282, 3233, 1283, 3237, 1284, 3241, 1285, 3245, 1 286, 3249, 1287, 3253, 1288, 3257, 1289, 3261, 1290, 3265, 1291, 3269, 1292, 327 3, 1293, 3277, 1294, 3281, 1295, 3285, 1296, 3289, 1297, 3293, 1298, 3297, 1299, 3301, 1329, 3305, 1330, 3309, 1331, 3313, 1332, 3317, 1333, 3321, 1334, 3325, 1 335, 3329, 1336, 3333, 1337, 3337, 1338, 3341, 1339, 3345, 1340, 3349, 1341, 335 3, 1342, 3357, 1343, 3361, 1344, 3365, 1345, 3369, 1346, 3373, 1347, 3377, 1348, 3381, 1349, 3385, 1350, 3389, 1351, 3393, 1352, 3397, 1353, 3401, 1354, 3405, 1 355, 3409, 1356, 3413, 1357, 3417, 1358, 3421, 1359, 3425, 1360, 3429, 1361, 343 3, 1362, 3437, 1363, 3441, 1364, 3445, 1365, 3449, 1366, 3453, 1377, 3457, 1378, 3461, 1379, 3465, 1380, 3469, 1381, 3473, 1382, 3477, 1383, 3481, 1384, 3485, 1 385, 3489, 1386, 3493, 1387, 3497, 1388, 3501, 1389, 3505, 1390, 3509, 1391, 351 3, 1392, 3517, 1393, 3521, 1394, 3525, 1395, 3529, 1396, 3533, 1397, 3537, 1398, 3541, 1399, 3545, 1400, 3549, 1401, 3553, 1402, 3557, 1403, 3561, 1404, 3565, 1 405, 3569, 1406, 3573, 1407, 3577, 1408, 3581, 1409, 3585, 1410, 3589, 1411, 359 3, 1412, 3597, 1413, 3601, 1414, 3605, 4256, 3609, 4257, 3613, 4258, 3617, 4259, 3621, 4260, 3625, 4261, 3629, 4262, 3633, 4263, 3637, 4264, 3641, 4265, 3645, 4 266, 3649, 4267, 3653, 4268, 3657, 4269, 3661, 4270, 3665, 4271, 3669, 4272, 367 3, 4273, 3677, 4274, 3681, 4275, 3685, 4276, 3689, 4277, 3693, 4278, 3697, 4279, 3701, 4280, 3705, 4281, 3709, 4282, 3713, 4283, 3717, 4284, 3721, 4285, 3725, 4 286, 3729, 4287, 3733, 4288, 3737, 4289, 3741, 4290, 3745, 4291, 3749, 4292, 375 3, 4293, 3757, 7549, 3761, 7680, 3765, 7681, 3769, 7682, 3773, 7683, 3777, 7684, 3781, 7685, 3785, 7686, 3789, 7687, 3793, 7688, 3797, 7689, 3801, 7690, 3805, 7 691, 3809, 7692, 3813, 7693, 3817, 7694, 3821, 7695, 3825, 7696, 3829, 7697, 383 3, 7698, 3837, 7699, 3841, 7700, 3845, 7701, 3849, 7702, 3853, 7703, 3857, 7704, 3861, 7705, 3865, 7706, 3869, 7707, 3873, 7708, 3877, 7709, 3881, 7710, 3885, 7 711, 3889, 7712, 3893, 7713, 3897, 7714, 3901, 7715, 3905, 7716, 3909, 7717, 391 3, 7718, 3917, 7719, 3921, 7720, 3925, 7721, 3929, 7722, 3933, 7723, 3937, 7724, 3941, 7725, 3945, 7726, 3949, 7727, 3953, 7728, 3957, 7729, 3961, 7730, 3965, 7 731, 3969, 7732, 3973, 7733, 3977, 7734, 3981, 7735, 3985, 7736, 3989, 7737, 399 3, 7738, 3997, 7739, 4001, 7740, 4005, 7741, 4009, 7742, 4013, 7743, 4017, 7744, 4021, 7745, 4025, 7746, 4029, 7747, 4033, 7748, 4037, 7749, 4041, 7750, 4045, 7 751, 4049, 7752, 4053, 7753, 4057, 7754, 4061, 7755, 4065, 7756, 4069, 7757, 407 3, 7758, 4077, 7759, 4081, 7760, 4085, 7761, 4089, 7762, 4093, 7763, 4097, 7764, 4101, 7765, 4105, 7766, 4109, 7767, 4113, 7768, 4117, 7769, 4121, 7770, 4125, 7 771, 4129, 7772, 4133, 7773, 4137, 7774, 4141, 7775, 4145, 7776, 4149, 7777, 415 3, 7778, 4157, 7779, 4161, 7780, 4165, 7781, 4169, 7782, 4173, 7783, 4177, 7784, 4181, 7785, 4185, 7786, 4189, 7787, 4193, 7788, 4197, 7789, 4201, 7790, 4205, 7 791, 4209, 7792, 4213, 7793, 4217, 7794, 4221, 7795, 4225, 7796, 4229, 7797, 423 3, 7798, 4237, 7799, 4241, 7800, 4245, 7801, 4249, 7802, 4253, 7803, 4257, 7804, 4261, 7805, 4265, 7806, 4269, 7807, 4273, 7808, 4277, 7809, 4281, 7810, 4285, 7 811, 4289, 7812, 4293, 7813, 4297, 7814, 4301, 7815, 4305, 7816, 4309, 7817, 431 3, 7818, 4317, 7819, 4321, 7820, 4325, 7821, 4329, 7822, 4333, 7823, 4337, 7824, 4341, 7825, 4345, 7826, 4349, 7827, 4353, 7828, 4357, 7829, 4361, 7835, 4365, 7 840, 4369, 7841, 4373, 7842, 4377, 7843, 4381, 7844, 4385, 7845, 4389, 7846, 439 3, 7847, 4397, 7848, 4401, 7849, 4405, 7850, 4409, 7851, 4413, 7852, 4417, 7853, 4421, 7854, 4425, 7855, 4429, 7856, 4433, 7857, 4437, 7858, 4441, 7859, 4445, 7 860, 4449, 7861, 4453, 7862, 4457, 7863, 4461, 7864, 4465, 7865, 4469, 7866, 447 3, 7867, 4477, 7868, 4481, 7869, 4485, 7870, 4489, 7871, 4493, 7872, 4497, 7873, 4501, 7874, 4505, 7875, 4509, 7876, 4513, 7877, 4517, 7878, 4521, 7879, 4525, 7 880, 4529, 7881, 4533, 7882, 4537, 7883, 4541, 7884, 4545, 7885, 4549, 7886, 455 3, 7887, 4557, 7888, 4561, 7889, 4565, 7890, 4569, 7891, 4573, 7892, 4577, 7893, 4581, 7894, 4585, 7895, 4589, 7896, 4593, 7897, 4597, 7898, 4601, 7899, 4605, 7 900, 4609, 7901, 4613, 7902, 4617, 7903, 4621, 7904, 4625, 7905, 4629, 7906, 463 3, 7907, 4637, 7908, 4641, 7909, 4645, 7910, 4649, 7911, 4653, 7912, 4657, 7913, 4661, 7914, 4665, 7915, 4669, 7916, 4673, 7917, 4677, 7918, 4681, 7919, 4685, 7 920, 4689, 7921, 4693, 7922, 4697, 7923, 4701, 7924, 4705, 7925, 4709, 7926, 471 3, 7927, 4717, 7928, 4721, 7929, 4725, 7936, 4729, 7937, 4733, 7938, 4737, 7939, 4741, 7940, 4745, 7941, 4749, 7942, 4753, 7943, 4757, 7944, 4761, 7945, 4765, 7 946, 4769, 7947, 4773, 7948, 4777, 7949, 4781, 7950, 4785, 7951, 4789, 7952, 479 3, 7953, 4797, 7954, 4801, 7955, 4805, 7956, 4809, 7957, 4813, 7960, 4817, 7961, 4821, 7962, 4825, 7963, 4829, 7964, 4833, 7965, 4837, 7968, 4841, 7969, 4845, 7 970, 4849, 7971, 4853, 7972, 4857, 7973, 4861, 7974, 4865, 7975, 4869, 7976, 487 3, 7977, 4877, 7978, 4881, 7979, 4885, 7980, 4889, 7981, 4893, 7982, 4897, 7983, 4901, 7984, 4905, 7985, 4909, 7986, 4913, 7987, 4917, 7988, 4921, 7989, 4925, 7 990, 4929, 7991, 4933, 7992, 4937, 7993, 4941, 7994, 4945, 7995, 4949, 7996, 495 3, 7997, 4957, 7998, 4961, 7999, 4965, 8000, 4969, 8001, 4973, 8002, 4977, 8003, 4981, 8004, 4985, 8005, 4989, 8008, 4993, 8009, 4997, 8010, 5001, 8011, 5005, 8 012, 5009, 8013, 5013, 8017, 5017, 8019, 5021, 8021, 5025, 8023, 5029, 8025, 503 3, 8027, 5037, 8029, 5041, 8031, 5045, 8032, 5049, 8033, 5053, 8034, 5057, 8035, 5061, 8036, 5065, 8037, 5069, 8038, 5073, 8039, 5077, 8040, 5081, 8041, 5085, 8 042, 5089, 8043, 5093, 8044, 5097, 8045, 5101, 8046, 5105, 8047, 5109, 8048, 511 3, 8049, 5117, 8050, 5121, 8051, 5125, 8052, 5129, 8053, 5133, 8054, 5137, 8055, 5141, 8056, 5145, 8057, 5149, 8058, 5153, 8059, 5157, 8060, 5161, 8061, 5165, 8 112, 5169, 8113, 5173, 8120, 5177, 8121, 5181, 8122, 5185, 8123, 5189, 8126, 519 3, 8136, 5197, 8137, 5201, 8138, 5205, 8139, 5209, 8144, 5213, 8145, 5217, 8152, 5221, 8153, 5225, 8154, 5229, 8155, 5233, 8160, 5237, 8161, 5241, 8165, 5245, 8 168, 5249, 8169, 5253, 8170, 5257, 8171, 5261, 8172, 5265, 8184, 5269, 8185, 527 3, 8186, 5277, 8187, 5281, 8498, 5285, 8526, 5289, 8544, 5293, 8545, 5297, 8546, 5301, 8547, 5305, 8548, 5309, 8549, 5313, 8550, 5317, 8551, 5321, 8552, 5325, 8 553, 5329, 8554, 5333, 8555, 5337, 8556, 5341, 8557, 5345, 8558, 5349, 8559, 535 3, 8560, 5357, 8561, 5361, 8562, 5365, 8563, 5369, 8564, 5373, 8565, 5377, 8566, 5381, 8567, 5385, 8568, 5389, 8569, 5393, 8570, 5397, 8571, 5401, 8572, 5405, 8 573, 5409, 8574, 5413, 8575, 5417, 8579, 5421, 8580, 5425, 9398, 5429, 9399, 543 3, 9400, 5437, 9401, 5441, 9402, 5445, 9403, 5449, 9404, 5453, 9405, 5457, 9406, 5461, 9407, 5465, 9408, 5469, 9409, 5473, 9410, 5477, 9411, 5481, 9412, 5485, 9 413, 5489, 9414, 5493, 9415, 5497, 9416, 5501, 9417, 5505, 9418, 5509, 9419, 551 3, 9420, 5517, 9421, 5521, 9422, 5525, 9423, 5529, 9424, 5533, 9425, 5537, 9426, 5541, 9427, 5545, 9428, 5549, 9429, 5553, 9430, 5557, 9431, 5561, 9432, 5565, 9 433, 5569, 9434, 5573, 9435, 5577, 9436, 5581, 9437, 5585, 9438, 5589, 9439, 559 3, 9440, 5597, 9441, 5601, 9442, 5605, 9443, 5609, 9444, 5613, 9445, 5617, 9446, 5621, 9447, 5625, 9448, 5629, 9449, 5633, 11264, 5637, 11265, 5641, 11266, 5645 , 11267, 5649, 11268, 5653, 11269, 5657, 11270, 5661, 11271, 5665, 11272, 5669, 11273, 5673, 11274, 5677, 11275, 5681, 11276, 5685, 11277, 5689, 11278, 5693, 11 279, 5697, 11280, 5701, 11281, 5705, 11282, 5709, 11283, 5713, 11284, 5717, 1128 5, 5721, 11286, 5725, 11287, 5729, 11288, 5733, 11289, 5737, 11290, 5741, 11291, 5745, 11292, 5749, 11293, 5753, 11294, 5757, 11295, 5761, 11296, 5765, 11297, 5 769, 11298, 5773, 11299, 5777, 11300, 5781, 11301, 5785, 11302, 5789, 11303, 579 3, 11304, 5797, 11305, 5801, 11306, 5805, 11307, 5809, 11308, 5813, 11309, 5817, 11310, 5821, 11312, 5825, 11313, 5829, 11314, 5833, 11315, 5837, 11316, 5841, 1 1317, 5845, 11318, 5849, 11319, 5853, 11320, 5857, 11321, 5861, 11322, 5865, 113 23, 5869, 11324, 5873, 11325, 5877, 11326, 5881, 11327, 5885, 11328, 5889, 11329 , 5893, 11330, 5897, 11331, 5901, 11332, 5905, 11333, 5909, 11334, 5913, 11335, 5917, 11336, 5921, 11337, 5925, 11338, 5929, 11339, 5933, 11340, 5937, 11341, 59 41, 11342, 5945, 11343, 5949, 11344, 5953, 11345, 5957, 11346, 5961, 11347, 5965 , 11348, 5969, 11349, 5973, 11350, 5977, 11351, 5981, 11352, 5985, 11353, 5989, 11354, 5993, 11355, 5997, 11356, 6001, 11357, 6005, 11358, 6009, 11360, 6013, 11 361, 6017, 11362, 6021, 11363, 6025, 11364, 6029, 11365, 6033, 11366, 6037, 1136 7, 6041, 11368, 6045, 11369, 6049, 11370, 6053, 11371, 6057, 11372, 6061, 11381, 6065, 11382, 6069, 11392, 6073, 11393, 6077, 11394, 6081, 11395, 6085, 11396, 6 089, 11397, 6093, 11398, 6097, 11399, 6101, 11400, 6105, 11401, 6109, 11402, 611 3, 11403, 6117, 11404, 6121, 11405, 6125, 11406, 6129, 11407, 6133, 11408, 6137, 11409, 6141, 11410, 6145, 11411, 6149, 11412, 6153, 11413, 6157, 11414, 6161, 1 1415, 6165, 11416, 6169, 11417, 6173, 11418, 6177, 11419, 6181, 11420, 6185, 114 21, 6189, 11422, 6193, 11423, 6197, 11424, 6201, 11425, 6205, 11426, 6209, 11427 , 6213, 11428, 6217, 11429, 6221, 11430, 6225, 11431, 6229, 11432, 6233, 11433, 6237, 11434, 6241, 11435, 6245, 11436, 6249, 11437, 6253, 11438, 6257, 11439, 62 61, 11440, 6265, 11441, 6269, 11442, 6273, 11443, 6277, 11444, 6281, 11445, 6285 , 11446, 6289, 11447, 6293, 11448, 6297, 11449, 6301, 11450, 6305, 11451, 6309, 11452, 6313, 11453, 6317, 11454, 6321, 11455, 6325, 11456, 6329, 11457, 6333, 11 458, 6337, 11459, 6341, 11460, 6345, 11461, 6349, 11462, 6353, 11463, 6357, 1146 4, 6361, 11465, 6365, 11466, 6369, 11467, 6373, 11468, 6377, 11469, 6381, 11470, 6385, 11471, 6389, 11472, 6393, 11473, 6397, 11474, 6401, 11475, 6405, 11476, 6 409, 11477, 6413, 11478, 6417, 11479, 6421, 11480, 6425, 11481, 6429, 11482, 643 3, 11483, 6437, 11484, 6441, 11485, 6445, 11486, 6449, 11487, 6453, 11488, 6457, 11489, 6461, 11490, 6465, 11491, 6469, 11520, 6473, 11521, 6477, 11522, 6481, 1 1523, 6485, 11524, 6489, 11525, 6493, 11526, 6497, 11527, 6501, 11528, 6505, 115 29, 6509, 11530, 6513, 11531, 6517, 11532, 6521, 11533, 6525, 11534, 6529, 11535 , 6533, 11536, 6537, 11537, 6541, 11538, 6545, 11539, 6549, 11540, 6553, 11541, 6557, 11542, 6561, 11543, 6565, 11544, 6569, 11545, 6573, 11546, 6577, 11547, 65 81, 11548, 6585, 11549, 6589, 11550, 6593, 11551, 6597, 11552, 6601, 11553, 6605 , 11554, 6609, 11555, 6613, 11556, 6617, 11557, 6621 }; // NOLINT 1268 static const int32_t kEcma262UnCanonicalizeTable0[3312] = {
675 static const MultiCharacterSpecialCase<4> kEcma262UnCanonicalizeMultiStrings1[] = { {2, {65313, 65345}}, {2, {65314, 65346}}, {2, {65315, 65347}}, {2, {65316, 6 5348}}, {2, {65317, 65349}}, {2, {65318, 65350}}, {2, {65319, 65351}}, {2, {6532 0, 65352}}, {2, {65321, 65353}}, {2, {65322, 65354}}, {2, {65323, 65355}}, {2, { 65324, 65356}}, {2, {65325, 65357}}, {2, {65326, 65358}}, {2, {65327, 65359}}, { 2, {65328, 65360}}, {2, {65329, 65361}}, {2, {65330, 65362}}, {2, {65331, 65363} }, {2, {65332, 65364}}, {2, {65333, 65365}}, {2, {65334, 65366}}, {2, {65335, 65 367}}, {2, {65336, 65368}}, {2, {65337, 65369}}, {2, {65338, 65370}}, {2, {65313 , 65345}}, {2, {65314, 65346}}, {2, {65315, 65347}}, {2, {65316, 65348}}, {2, {6 5317, 65349}}, {2, {65318, 65350}}, {2, {65319, 65351}}, {2, {65320, 65352}}, {2 , {65321, 65353}}, {2, {65322, 65354}}, {2, {65323, 65355}}, {2, {65324, 65356}} , {2, {65325, 65357}}, {2, {65326, 65358}}, {2, {65327, 65359}}, {2, {65328, 653 60}}, {2, {65329, 65361}}, {2, {65330, 65362}}, {2, {65331, 65363}}, {2, {65332, 65364}}, {2, {65333, 65365}}, {2, {65334, 65366}}, {2, {65335, 65367}}, {2, {65 336, 65368}}, {2, {65337, 65369}}, {2, {65338, 65370}}, {0, {0}} }; // NOLINT 1269 65, 1, 66, 5, 67, 9, 68, 13, 69, 17, 70, 21, 71, 25, 72, 29, // NOLINT
1270 73, 33, 74, 37, 75, 41, 76, 45, 77, 49, 78, 53, 79, 57, 80, 61, // NOLINT
1271 81, 65, 82, 69, 83, 73, 84, 77, 85, 81, 86, 85, 87, 89, 88, 93, // NOLINT
1272 89, 97, 90, 101, 97, 1, 98, 5, 99, 9, 100, 13, 101, 17, 102, 21, // NOLINT
1273 103, 25, 104, 29, 105, 33, 106, 37, 107, 41, 108, 45, 109, 49, 110, 53, // NO LINT
1274 111, 57, 112, 61, 113, 65, 114, 69, 115, 73, 116, 77, 117, 81, 118, 85, // NO LINT
1275 119, 89, 120, 93, 121, 97, 122, 101, 181, 105, 192, 109, 193, 113, 194, 117, // NOLINT
1276 195, 121, 196, 125, 197, 129, 198, 133, 199, 137, 200, 141, 201, 145, 202, 149 , // NOLINT
1277 203, 153, 204, 157, 205, 161, 206, 165, 207, 169, 208, 173, 209, 177, 210, 181 , // NOLINT
1278 211, 185, 212, 189, 213, 193, 214, 197, 216, 201, 217, 205, 218, 209, 219, 213 , // NOLINT
1279 220, 217, 221, 221, 222, 225, 224, 109, 225, 113, 226, 117, 227, 121, 228, 125 , // NOLINT
1280 229, 129, 230, 133, 231, 137, 232, 141, 233, 145, 234, 149, 235, 153, 236, 157 , // NOLINT
1281 237, 161, 238, 165, 239, 169, 240, 173, 241, 177, 242, 181, 243, 185, 244, 189 , // NOLINT
1282 245, 193, 246, 197, 248, 201, 249, 205, 250, 209, 251, 213, 252, 217, 253, 221 , // NOLINT
1283 254, 225, 255, 229, 256, 233, 257, 233, 258, 237, 259, 237, 260, 241, 261, 241 , // NOLINT
1284 262, 245, 263, 245, 264, 249, 265, 249, 266, 253, 267, 253, 268, 257, 269, 257 , // NOLINT
1285 270, 261, 271, 261, 272, 265, 273, 265, 274, 269, 275, 269, 276, 273, 277, 273 , // NOLINT
1286 278, 277, 279, 277, 280, 281, 281, 281, 282, 285, 283, 285, 284, 289, 285, 289 , // NOLINT
1287 286, 293, 287, 293, 288, 297, 289, 297, 290, 301, 291, 301, 292, 305, 293, 305 , // NOLINT
1288 294, 309, 295, 309, 296, 313, 297, 313, 298, 317, 299, 317, 300, 321, 301, 321 , // NOLINT
1289 302, 325, 303, 325, 306, 329, 307, 329, 308, 333, 309, 333, 310, 337, 311, 337 , // NOLINT
1290 313, 341, 314, 341, 315, 345, 316, 345, 317, 349, 318, 349, 319, 353, 320, 353 , // NOLINT
1291 321, 357, 322, 357, 323, 361, 324, 361, 325, 365, 326, 365, 327, 369, 328, 369 , // NOLINT
1292 330, 373, 331, 373, 332, 377, 333, 377, 334, 381, 335, 381, 336, 385, 337, 385 , // NOLINT
1293 338, 389, 339, 389, 340, 393, 341, 393, 342, 397, 343, 397, 344, 401, 345, 401 , // NOLINT
1294 346, 405, 347, 405, 348, 409, 349, 409, 350, 413, 351, 413, 352, 417, 353, 417 , // NOLINT
1295 354, 421, 355, 421, 356, 425, 357, 425, 358, 429, 359, 429, 360, 433, 361, 433 , // NOLINT
1296 362, 437, 363, 437, 364, 441, 365, 441, 366, 445, 367, 445, 368, 449, 369, 449 , // NOLINT
1297 370, 453, 371, 453, 372, 457, 373, 457, 374, 461, 375, 461, 376, 229, 377, 465 , // NOLINT
1298 378, 465, 379, 469, 380, 469, 381, 473, 382, 473, 384, 477, 385, 481, 386, 485 , // NOLINT
1299 387, 485, 388, 489, 389, 489, 390, 493, 391, 497, 392, 497, 393, 501, 394, 505 , // NOLINT
1300 395, 509, 396, 509, 398, 513, 399, 517, 400, 521, 401, 525, 402, 525, 403, 529 , // NOLINT
1301 404, 533, 405, 537, 406, 541, 407, 545, 408, 549, 409, 549, 410, 553, 412, 557 , // NOLINT
1302 413, 561, 414, 565, 415, 569, 416, 573, 417, 573, 418, 577, 419, 577, 420, 581 , // NOLINT
1303 421, 581, 422, 585, 423, 589, 424, 589, 425, 593, 428, 597, 429, 597, 430, 601 , // NOLINT
1304 431, 605, 432, 605, 433, 609, 434, 613, 435, 617, 436, 617, 437, 621, 438, 621 , // NOLINT
1305 439, 625, 440, 629, 441, 629, 444, 633, 445, 633, 447, 637, 452, 641, 453, 641 , // NOLINT
1306 454, 641, 455, 645, 456, 645, 457, 645, 458, 649, 459, 649, 460, 649, 461, 653 , // NOLINT
1307 462, 653, 463, 657, 464, 657, 465, 661, 466, 661, 467, 665, 468, 665, 469, 669 , // NOLINT
1308 470, 669, 471, 673, 472, 673, 473, 677, 474, 677, 475, 681, 476, 681, 477, 513 , // NOLINT
1309 478, 685, 479, 685, 480, 689, 481, 689, 482, 693, 483, 693, 484, 697, 485, 697 , // NOLINT
1310 486, 701, 487, 701, 488, 705, 489, 705, 490, 709, 491, 709, 492, 713, 493, 713 , // NOLINT
1311 494, 717, 495, 717, 497, 721, 498, 721, 499, 721, 500, 725, 501, 725, 502, 537 , // NOLINT
1312 503, 637, 504, 729, 505, 729, 506, 733, 507, 733, 508, 737, 509, 737, 510, 741 , // NOLINT
1313 511, 741, 512, 745, 513, 745, 514, 749, 515, 749, 516, 753, 517, 753, 518, 757 , // NOLINT
1314 519, 757, 520, 761, 521, 761, 522, 765, 523, 765, 524, 769, 525, 769, 526, 773 , // NOLINT
1315 527, 773, 528, 777, 529, 777, 530, 781, 531, 781, 532, 785, 533, 785, 534, 789 , // NOLINT
1316 535, 789, 536, 793, 537, 793, 538, 797, 539, 797, 540, 801, 541, 801, 542, 805 , // NOLINT
1317 543, 805, 544, 565, 546, 809, 547, 809, 548, 813, 549, 813, 550, 817, 551, 817 , // NOLINT
1318 552, 821, 553, 821, 554, 825, 555, 825, 556, 829, 557, 829, 558, 833, 559, 833 , // NOLINT
1319 560, 837, 561, 837, 562, 841, 563, 841, 570, 845, 571, 849, 572, 849, 573, 553 , // NOLINT
1320 574, 853, 577, 857, 578, 857, 579, 477, 580, 861, 581, 865, 582, 869, 583, 869 , // NOLINT
1321 584, 873, 585, 873, 586, 877, 587, 877, 588, 881, 589, 881, 590, 885, 591, 885 , // NOLINT
1322 595, 481, 596, 493, 598, 501, 599, 505, 601, 517, 603, 521, 608, 529, 611, 533 , // NOLINT
1323 616, 545, 617, 541, 619, 889, 623, 557, 626, 561, 629, 569, 637, 893, 640, 585 , // NOLINT
1324 643, 593, 648, 601, 649, 861, 650, 609, 651, 613, 652, 865, 658, 625, 837, 897 , // NOLINT
1325 891, 901, 892, 905, 893, 909, 902, 913, 904, 917, 905, 921, 906, 925, 908, 929 , // NOLINT
1326 910, 933, 911, 937, 913, 941, 914, 945, 915, 949, 916, 953, 917, 957, 918, 961 , // NOLINT
1327 919, 965, 920, 969, 921, 897, 922, 973, 923, 977, 924, 105, 925, 981, 926, 985 , // NOLINT
1328 927, 989, 928, 993, 929, 997, 931, 1001, 932, 1005, 933, 1009, 934, 1013, 935, 1017, // NOLINT
1329 936, 1021, 937, 1025, 938, 1029, 939, 1033, 940, 913, 941, 917, 942, 921, 943, 925, // NOLINT
1330 945, 941, 946, 945, 947, 949, 948, 953, 949, 957, 950, 961, 951, 965, 952, 969 , // NOLINT
1331 953, 897, 954, 973, 955, 977, 956, 105, 957, 981, 958, 985, 959, 989, 960, 993 , // NOLINT
1332 961, 997, 962, 1001, 963, 1001, 964, 1005, 965, 1009, 966, 1013, 967, 1017, 96 8, 1021, // NOLINT
1333 969, 1025, 970, 1029, 971, 1033, 972, 929, 973, 933, 974, 937, 976, 945, 977, 969, // NOLINT
1334 981, 1013, 982, 993, 984, 1037, 985, 1037, 986, 1041, 987, 1041, 988, 1045, 98 9, 1045, // NOLINT
1335 990, 1049, 991, 1049, 992, 1053, 993, 1053, 994, 1057, 995, 1057, 996, 1061, 9 97, 1061, // NOLINT
1336 998, 1065, 999, 1065, 1000, 1069, 1001, 1069, 1002, 1073, 1003, 1073, 1004, 10 77, 1005, 1077, // NOLINT
1337 1006, 1081, 1007, 1081, 1008, 973, 1009, 997, 1010, 1085, 1013, 957, 1015, 108 9, 1016, 1089, // NOLINT
1338 1017, 1085, 1018, 1093, 1019, 1093, 1021, 901, 1022, 905, 1023, 909, 1024, 109 7, 1025, 1101, // NOLINT
1339 1026, 1105, 1027, 1109, 1028, 1113, 1029, 1117, 1030, 1121, 1031, 1125, 1032, 1129, 1033, 1133, // NOLINT
1340 1034, 1137, 1035, 1141, 1036, 1145, 1037, 1149, 1038, 1153, 1039, 1157, 1040, 1161, 1041, 1165, // NOLINT
1341 1042, 1169, 1043, 1173, 1044, 1177, 1045, 1181, 1046, 1185, 1047, 1189, 1048, 1193, 1049, 1197, // NOLINT
1342 1050, 1201, 1051, 1205, 1052, 1209, 1053, 1213, 1054, 1217, 1055, 1221, 1056, 1225, 1057, 1229, // NOLINT
1343 1058, 1233, 1059, 1237, 1060, 1241, 1061, 1245, 1062, 1249, 1063, 1253, 1064, 1257, 1065, 1261, // NOLINT
1344 1066, 1265, 1067, 1269, 1068, 1273, 1069, 1277, 1070, 1281, 1071, 1285, 1072, 1161, 1073, 1165, // NOLINT
1345 1074, 1169, 1075, 1173, 1076, 1177, 1077, 1181, 1078, 1185, 1079, 1189, 1080, 1193, 1081, 1197, // NOLINT
1346 1082, 1201, 1083, 1205, 1084, 1209, 1085, 1213, 1086, 1217, 1087, 1221, 1088, 1225, 1089, 1229, // NOLINT
1347 1090, 1233, 1091, 1237, 1092, 1241, 1093, 1245, 1094, 1249, 1095, 1253, 1096, 1257, 1097, 1261, // NOLINT
1348 1098, 1265, 1099, 1269, 1100, 1273, 1101, 1277, 1102, 1281, 1103, 1285, 1104, 1097, 1105, 1101, // NOLINT
1349 1106, 1105, 1107, 1109, 1108, 1113, 1109, 1117, 1110, 1121, 1111, 1125, 1112, 1129, 1113, 1133, // NOLINT
1350 1114, 1137, 1115, 1141, 1116, 1145, 1117, 1149, 1118, 1153, 1119, 1157, 1120, 1289, 1121, 1289, // NOLINT
1351 1122, 1293, 1123, 1293, 1124, 1297, 1125, 1297, 1126, 1301, 1127, 1301, 1128, 1305, 1129, 1305, // NOLINT
1352 1130, 1309, 1131, 1309, 1132, 1313, 1133, 1313, 1134, 1317, 1135, 1317, 1136, 1321, 1137, 1321, // NOLINT
1353 1138, 1325, 1139, 1325, 1140, 1329, 1141, 1329, 1142, 1333, 1143, 1333, 1144, 1337, 1145, 1337, // NOLINT
1354 1146, 1341, 1147, 1341, 1148, 1345, 1149, 1345, 1150, 1349, 1151, 1349, 1152, 1353, 1153, 1353, // NOLINT
1355 1162, 1357, 1163, 1357, 1164, 1361, 1165, 1361, 1166, 1365, 1167, 1365, 1168, 1369, 1169, 1369, // NOLINT
1356 1170, 1373, 1171, 1373, 1172, 1377, 1173, 1377, 1174, 1381, 1175, 1381, 1176, 1385, 1177, 1385, // NOLINT
1357 1178, 1389, 1179, 1389, 1180, 1393, 1181, 1393, 1182, 1397, 1183, 1397, 1184, 1401, 1185, 1401, // NOLINT
1358 1186, 1405, 1187, 1405, 1188, 1409, 1189, 1409, 1190, 1413, 1191, 1413, 1192, 1417, 1193, 1417, // NOLINT
1359 1194, 1421, 1195, 1421, 1196, 1425, 1197, 1425, 1198, 1429, 1199, 1429, 1200, 1433, 1201, 1433, // NOLINT
1360 1202, 1437, 1203, 1437, 1204, 1441, 1205, 1441, 1206, 1445, 1207, 1445, 1208, 1449, 1209, 1449, // NOLINT
1361 1210, 1453, 1211, 1453, 1212, 1457, 1213, 1457, 1214, 1461, 1215, 1461, 1216, 1465, 1217, 1469, // NOLINT
1362 1218, 1469, 1219, 1473, 1220, 1473, 1221, 1477, 1222, 1477, 1223, 1481, 1224, 1481, 1225, 1485, // NOLINT
1363 1226, 1485, 1227, 1489, 1228, 1489, 1229, 1493, 1230, 1493, 1231, 1465, 1232, 1497, 1233, 1497, // NOLINT
1364 1234, 1501, 1235, 1501, 1236, 1505, 1237, 1505, 1238, 1509, 1239, 1509, 1240, 1513, 1241, 1513, // NOLINT
1365 1242, 1517, 1243, 1517, 1244, 1521, 1245, 1521, 1246, 1525, 1247, 1525, 1248, 1529, 1249, 1529, // NOLINT
1366 1250, 1533, 1251, 1533, 1252, 1537, 1253, 1537, 1254, 1541, 1255, 1541, 1256, 1545, 1257, 1545, // NOLINT
1367 1258, 1549, 1259, 1549, 1260, 1553, 1261, 1553, 1262, 1557, 1263, 1557, 1264, 1561, 1265, 1561, // NOLINT
1368 1266, 1565, 1267, 1565, 1268, 1569, 1269, 1569, 1270, 1573, 1271, 1573, 1272, 1577, 1273, 1577, // NOLINT
1369 1274, 1581, 1275, 1581, 1276, 1585, 1277, 1585, 1278, 1589, 1279, 1589, 1280, 1593, 1281, 1593, // NOLINT
1370 1282, 1597, 1283, 1597, 1284, 1601, 1285, 1601, 1286, 1605, 1287, 1605, 1288, 1609, 1289, 1609, // NOLINT
1371 1290, 1613, 1291, 1613, 1292, 1617, 1293, 1617, 1294, 1621, 1295, 1621, 1296, 1625, 1297, 1625, // NOLINT
1372 1298, 1629, 1299, 1629, 1329, 1633, 1330, 1637, 1331, 1641, 1332, 1645, 1333, 1649, 1334, 1653, // NOLINT
1373 1335, 1657, 1336, 1661, 1337, 1665, 1338, 1669, 1339, 1673, 1340, 1677, 1341, 1681, 1342, 1685, // NOLINT
1374 1343, 1689, 1344, 1693, 1345, 1697, 1346, 1701, 1347, 1705, 1348, 1709, 1349, 1713, 1350, 1717, // NOLINT
1375 1351, 1721, 1352, 1725, 1353, 1729, 1354, 1733, 1355, 1737, 1356, 1741, 1357, 1745, 1358, 1749, // NOLINT
1376 1359, 1753, 1360, 1757, 1361, 1761, 1362, 1765, 1363, 1769, 1364, 1773, 1365, 1777, 1366, 1781, // NOLINT
1377 1377, 1633, 1378, 1637, 1379, 1641, 1380, 1645, 1381, 1649, 1382, 1653, 1383, 1657, 1384, 1661, // NOLINT
1378 1385, 1665, 1386, 1669, 1387, 1673, 1388, 1677, 1389, 1681, 1390, 1685, 1391, 1689, 1392, 1693, // NOLINT
1379 1393, 1697, 1394, 1701, 1395, 1705, 1396, 1709, 1397, 1713, 1398, 1717, 1399, 1721, 1400, 1725, // NOLINT
1380 1401, 1729, 1402, 1733, 1403, 1737, 1404, 1741, 1405, 1745, 1406, 1749, 1407, 1753, 1408, 1757, // NOLINT
1381 1409, 1761, 1410, 1765, 1411, 1769, 1412, 1773, 1413, 1777, 1414, 1781, 4256, 1785, 4257, 1789, // NOLINT
1382 4258, 1793, 4259, 1797, 4260, 1801, 4261, 1805, 4262, 1809, 4263, 1813, 4264, 1817, 4265, 1821, // NOLINT
1383 4266, 1825, 4267, 1829, 4268, 1833, 4269, 1837, 4270, 1841, 4271, 1845, 4272, 1849, 4273, 1853, // NOLINT
1384 4274, 1857, 4275, 1861, 4276, 1865, 4277, 1869, 4278, 1873, 4279, 1877, 4280, 1881, 4281, 1885, // NOLINT
1385 4282, 1889, 4283, 1893, 4284, 1897, 4285, 1901, 4286, 1905, 4287, 1909, 4288, 1913, 4289, 1917, // NOLINT
1386 4290, 1921, 4291, 1925, 4292, 1929, 4293, 1933, 7549, 1937, 7680, 1941, 7681, 1941, 7682, 1945, // NOLINT
1387 7683, 1945, 7684, 1949, 7685, 1949, 7686, 1953, 7687, 1953, 7688, 1957, 7689, 1957, 7690, 1961, // NOLINT
1388 7691, 1961, 7692, 1965, 7693, 1965, 7694, 1969, 7695, 1969, 7696, 1973, 7697, 1973, 7698, 1977, // NOLINT
1389 7699, 1977, 7700, 1981, 7701, 1981, 7702, 1985, 7703, 1985, 7704, 1989, 7705, 1989, 7706, 1993, // NOLINT
1390 7707, 1993, 7708, 1997, 7709, 1997, 7710, 2001, 7711, 2001, 7712, 2005, 7713, 2005, 7714, 2009, // NOLINT
1391 7715, 2009, 7716, 2013, 7717, 2013, 7718, 2017, 7719, 2017, 7720, 2021, 7721, 2021, 7722, 2025, // NOLINT
1392 7723, 2025, 7724, 2029, 7725, 2029, 7726, 2033, 7727, 2033, 7728, 2037, 7729, 2037, 7730, 2041, // NOLINT
1393 7731, 2041, 7732, 2045, 7733, 2045, 7734, 2049, 7735, 2049, 7736, 2053, 7737, 2053, 7738, 2057, // NOLINT
1394 7739, 2057, 7740, 2061, 7741, 2061, 7742, 2065, 7743, 2065, 7744, 2069, 7745, 2069, 7746, 2073, // NOLINT
1395 7747, 2073, 7748, 2077, 7749, 2077, 7750, 2081, 7751, 2081, 7752, 2085, 7753, 2085, 7754, 2089, // NOLINT
1396 7755, 2089, 7756, 2093, 7757, 2093, 7758, 2097, 7759, 2097, 7760, 2101, 7761, 2101, 7762, 2105, // NOLINT
1397 7763, 2105, 7764, 2109, 7765, 2109, 7766, 2113, 7767, 2113, 7768, 2117, 7769, 2117, 7770, 2121, // NOLINT
1398 7771, 2121, 7772, 2125, 7773, 2125, 7774, 2129, 7775, 2129, 7776, 2133, 7777, 2133, 7778, 2137, // NOLINT
1399 7779, 2137, 7780, 2141, 7781, 2141, 7782, 2145, 7783, 2145, 7784, 2149, 7785, 2149, 7786, 2153, // NOLINT
1400 7787, 2153, 7788, 2157, 7789, 2157, 7790, 2161, 7791, 2161, 7792, 2165, 7793, 2165, 7794, 2169, // NOLINT
1401 7795, 2169, 7796, 2173, 7797, 2173, 7798, 2177, 7799, 2177, 7800, 2181, 7801, 2181, 7802, 2185, // NOLINT
1402 7803, 2185, 7804, 2189, 7805, 2189, 7806, 2193, 7807, 2193, 7808, 2197, 7809, 2197, 7810, 2201, // NOLINT
1403 7811, 2201, 7812, 2205, 7813, 2205, 7814, 2209, 7815, 2209, 7816, 2213, 7817, 2213, 7818, 2217, // NOLINT
1404 7819, 2217, 7820, 2221, 7821, 2221, 7822, 2225, 7823, 2225, 7824, 2229, 7825, 2229, 7826, 2233, // NOLINT
1405 7827, 2233, 7828, 2237, 7829, 2237, 7835, 2133, 7840, 2241, 7841, 2241, 7842, 2245, 7843, 2245, // NOLINT
1406 7844, 2249, 7845, 2249, 7846, 2253, 7847, 2253, 7848, 2257, 7849, 2257, 7850, 2261, 7851, 2261, // NOLINT
1407 7852, 2265, 7853, 2265, 7854, 2269, 7855, 2269, 7856, 2273, 7857, 2273, 7858, 2277, 7859, 2277, // NOLINT
1408 7860, 2281, 7861, 2281, 7862, 2285, 7863, 2285, 7864, 2289, 7865, 2289, 7866, 2293, 7867, 2293, // NOLINT
1409 7868, 2297, 7869, 2297, 7870, 2301, 7871, 2301, 7872, 2305, 7873, 2305, 7874, 2309, 7875, 2309, // NOLINT
1410 7876, 2313, 7877, 2313, 7878, 2317, 7879, 2317, 7880, 2321, 7881, 2321, 7882, 2325, 7883, 2325, // NOLINT
1411 7884, 2329, 7885, 2329, 7886, 2333, 7887, 2333, 7888, 2337, 7889, 2337, 7890, 2341, 7891, 2341, // NOLINT
1412 7892, 2345, 7893, 2345, 7894, 2349, 7895, 2349, 7896, 2353, 7897, 2353, 7898, 2357, 7899, 2357, // NOLINT
1413 7900, 2361, 7901, 2361, 7902, 2365, 7903, 2365, 7904, 2369, 7905, 2369, 7906, 2373, 7907, 2373, // NOLINT
1414 7908, 2377, 7909, 2377, 7910, 2381, 7911, 2381, 7912, 2385, 7913, 2385, 7914, 2389, 7915, 2389, // NOLINT
1415 7916, 2393, 7917, 2393, 7918, 2397, 7919, 2397, 7920, 2401, 7921, 2401, 7922, 2405, 7923, 2405, // NOLINT
1416 7924, 2409, 7925, 2409, 7926, 2413, 7927, 2413, 7928, 2417, 7929, 2417, 7936, 2421, 7937, 2425, // NOLINT
1417 7938, 2429, 7939, 2433, 7940, 2437, 7941, 2441, 7942, 2445, 7943, 2449, 7944, 2421, 7945, 2425, // NOLINT
1418 7946, 2429, 7947, 2433, 7948, 2437, 7949, 2441, 7950, 2445, 7951, 2449, 7952, 2453, 7953, 2457, // NOLINT
1419 7954, 2461, 7955, 2465, 7956, 2469, 7957, 2473, 7960, 2453, 7961, 2457, 7962, 2461, 7963, 2465, // NOLINT
1420 7964, 2469, 7965, 2473, 7968, 2477, 7969, 2481, 7970, 2485, 7971, 2489, 7972, 2493, 7973, 2497, // NOLINT
1421 7974, 2501, 7975, 2505, 7976, 2477, 7977, 2481, 7978, 2485, 7979, 2489, 7980, 2493, 7981, 2497, // NOLINT
1422 7982, 2501, 7983, 2505, 7984, 2509, 7985, 2513, 7986, 2517, 7987, 2521, 7988, 2525, 7989, 2529, // NOLINT
1423 7990, 2533, 7991, 2537, 7992, 2509, 7993, 2513, 7994, 2517, 7995, 2521, 7996, 2525, 7997, 2529, // NOLINT
1424 7998, 2533, 7999, 2537, 8000, 2541, 8001, 2545, 8002, 2549, 8003, 2553, 8004, 2557, 8005, 2561, // NOLINT
1425 8008, 2541, 8009, 2545, 8010, 2549, 8011, 2553, 8012, 2557, 8013, 2561, 8017, 2565, 8019, 2569, // NOLINT
1426 8021, 2573, 8023, 2577, 8025, 2565, 8027, 2569, 8029, 2573, 8031, 2577, 8032, 2581, 8033, 2585, // NOLINT
1427 8034, 2589, 8035, 2593, 8036, 2597, 8037, 2601, 8038, 2605, 8039, 2609, 8040, 2581, 8041, 2585, // NOLINT
1428 8042, 2589, 8043, 2593, 8044, 2597, 8045, 2601, 8046, 2605, 8047, 2609, 8048, 2613, 8049, 2617, // NOLINT
1429 8050, 2621, 8051, 2625, 8052, 2629, 8053, 2633, 8054, 2637, 8055, 2641, 8056, 2645, 8057, 2649, // NOLINT
1430 8058, 2653, 8059, 2657, 8060, 2661, 8061, 2665, 8112, 2669, 8113, 2673, 8120, 2669, 8121, 2673, // NOLINT
1431 8122, 2613, 8123, 2617, 8126, 897, 8136, 2621, 8137, 2625, 8138, 2629, 8139, 2 633, 8144, 2677, // NOLINT
1432 8145, 2681, 8152, 2677, 8153, 2681, 8154, 2637, 8155, 2641, 8160, 2685, 8161, 2689, 8165, 2693, // NOLINT
1433 8168, 2685, 8169, 2689, 8170, 2653, 8171, 2657, 8172, 2693, 8184, 2645, 8185, 2649, 8186, 2661, // NOLINT
1434 8187, 2665, 8498, 2697, 8526, 2697, 8544, 2701, 8545, 2705, 8546, 2709, 8547, 2713, 8548, 2717, // NOLINT
1435 8549, 2721, 8550, 2725, 8551, 2729, 8552, 2733, 8553, 2737, 8554, 2741, 8555, 2745, 8556, 2749, // NOLINT
1436 8557, 2753, 8558, 2757, 8559, 2761, 8560, 2701, 8561, 2705, 8562, 2709, 8563, 2713, 8564, 2717, // NOLINT
1437 8565, 2721, 8566, 2725, 8567, 2729, 8568, 2733, 8569, 2737, 8570, 2741, 8571, 2745, 8572, 2749, // NOLINT
1438 8573, 2753, 8574, 2757, 8575, 2761, 8579, 2765, 8580, 2765, 9398, 2769, 9399, 2773, 9400, 2777, // NOLINT
1439 9401, 2781, 9402, 2785, 9403, 2789, 9404, 2793, 9405, 2797, 9406, 2801, 9407, 2805, 9408, 2809, // NOLINT
1440 9409, 2813, 9410, 2817, 9411, 2821, 9412, 2825, 9413, 2829, 9414, 2833, 9415, 2837, 9416, 2841, // NOLINT
1441 9417, 2845, 9418, 2849, 9419, 2853, 9420, 2857, 9421, 2861, 9422, 2865, 9423, 2869, 9424, 2769, // NOLINT
1442 9425, 2773, 9426, 2777, 9427, 2781, 9428, 2785, 9429, 2789, 9430, 2793, 9431, 2797, 9432, 2801, // NOLINT
1443 9433, 2805, 9434, 2809, 9435, 2813, 9436, 2817, 9437, 2821, 9438, 2825, 9439, 2829, 9440, 2833, // NOLINT
1444 9441, 2837, 9442, 2841, 9443, 2845, 9444, 2849, 9445, 2853, 9446, 2857, 9447, 2861, 9448, 2865, // NOLINT
1445 9449, 2869, 11264, 2873, 11265, 2877, 11266, 2881, 11267, 2885, 11268, 2889, 1 1269, 2893, 11270, 2897, // NOLINT
1446 11271, 2901, 11272, 2905, 11273, 2909, 11274, 2913, 11275, 2917, 11276, 2921, 11277, 2925, 11278, 2929, // NOLINT
1447 11279, 2933, 11280, 2937, 11281, 2941, 11282, 2945, 11283, 2949, 11284, 2953, 11285, 2957, 11286, 2961, // NOLINT
1448 11287, 2965, 11288, 2969, 11289, 2973, 11290, 2977, 11291, 2981, 11292, 2985, 11293, 2989, 11294, 2993, // NOLINT
1449 11295, 2997, 11296, 3001, 11297, 3005, 11298, 3009, 11299, 3013, 11300, 3017, 11301, 3021, 11302, 3025, // NOLINT
1450 11303, 3029, 11304, 3033, 11305, 3037, 11306, 3041, 11307, 3045, 11308, 3049, 11309, 3053, 11310, 3057, // NOLINT
1451 11312, 2873, 11313, 2877, 11314, 2881, 11315, 2885, 11316, 2889, 11317, 2893, 11318, 2897, 11319, 2901, // NOLINT
1452 11320, 2905, 11321, 2909, 11322, 2913, 11323, 2917, 11324, 2921, 11325, 2925, 11326, 2929, 11327, 2933, // NOLINT
1453 11328, 2937, 11329, 2941, 11330, 2945, 11331, 2949, 11332, 2953, 11333, 2957, 11334, 2961, 11335, 2965, // NOLINT
1454 11336, 2969, 11337, 2973, 11338, 2977, 11339, 2981, 11340, 2985, 11341, 2989, 11342, 2993, 11343, 2997, // NOLINT
1455 11344, 3001, 11345, 3005, 11346, 3009, 11347, 3013, 11348, 3017, 11349, 3021, 11350, 3025, 11351, 3029, // NOLINT
1456 11352, 3033, 11353, 3037, 11354, 3041, 11355, 3045, 11356, 3049, 11357, 3053, 11358, 3057, 11360, 3061, // NOLINT
1457 11361, 3061, 11362, 889, 11363, 1937, 11364, 893, 11365, 845, 11366, 853, 1136 7, 3065, 11368, 3065, // NOLINT
1458 11369, 3069, 11370, 3069, 11371, 3073, 11372, 3073, 11381, 3077, 11382, 3077, 11392, 3081, 11393, 3081, // NOLINT
1459 11394, 3085, 11395, 3085, 11396, 3089, 11397, 3089, 11398, 3093, 11399, 3093, 11400, 3097, 11401, 3097, // NOLINT
1460 11402, 3101, 11403, 3101, 11404, 3105, 11405, 3105, 11406, 3109, 11407, 3109, 11408, 3113, 11409, 3113, // NOLINT
1461 11410, 3117, 11411, 3117, 11412, 3121, 11413, 3121, 11414, 3125, 11415, 3125, 11416, 3129, 11417, 3129, // NOLINT
1462 11418, 3133, 11419, 3133, 11420, 3137, 11421, 3137, 11422, 3141, 11423, 3141, 11424, 3145, 11425, 3145, // NOLINT
1463 11426, 3149, 11427, 3149, 11428, 3153, 11429, 3153, 11430, 3157, 11431, 3157, 11432, 3161, 11433, 3161, // NOLINT
1464 11434, 3165, 11435, 3165, 11436, 3169, 11437, 3169, 11438, 3173, 11439, 3173, 11440, 3177, 11441, 3177, // NOLINT
1465 11442, 3181, 11443, 3181, 11444, 3185, 11445, 3185, 11446, 3189, 11447, 3189, 11448, 3193, 11449, 3193, // NOLINT
1466 11450, 3197, 11451, 3197, 11452, 3201, 11453, 3201, 11454, 3205, 11455, 3205, 11456, 3209, 11457, 3209, // NOLINT
1467 11458, 3213, 11459, 3213, 11460, 3217, 11461, 3217, 11462, 3221, 11463, 3221, 11464, 3225, 11465, 3225, // NOLINT
1468 11466, 3229, 11467, 3229, 11468, 3233, 11469, 3233, 11470, 3237, 11471, 3237, 11472, 3241, 11473, 3241, // NOLINT
1469 11474, 3245, 11475, 3245, 11476, 3249, 11477, 3249, 11478, 3253, 11479, 3253, 11480, 3257, 11481, 3257, // NOLINT
1470 11482, 3261, 11483, 3261, 11484, 3265, 11485, 3265, 11486, 3269, 11487, 3269, 11488, 3273, 11489, 3273, // NOLINT
1471 11490, 3277, 11491, 3277, 11520, 1785, 11521, 1789, 11522, 1793, 11523, 1797, 11524, 1801, 11525, 1805, // NOLINT
1472 11526, 1809, 11527, 1813, 11528, 1817, 11529, 1821, 11530, 1825, 11531, 1829, 11532, 1833, 11533, 1837, // NOLINT
1473 11534, 1841, 11535, 1845, 11536, 1849, 11537, 1853, 11538, 1857, 11539, 1861, 11540, 1865, 11541, 1869, // NOLINT
1474 11542, 1873, 11543, 1877, 11544, 1881, 11545, 1885, 11546, 1889, 11547, 1893, 11548, 1897, 11549, 1901, // NOLINT
1475 11550, 1905, 11551, 1909, 11552, 1913, 11553, 1917, 11554, 1921, 11555, 1925, 11556, 1929, 11557, 1933 }; // NOLINT
1476 static const MultiCharacterSpecialCase<4> kEcma262UnCanonicalizeMultiStrings1[] = { // NOLINT
1477 {2, {65313, 65345}}, {2, {65314, 65346}}, {2, {65315, 65347}}, {2, {65316, 653 48}}, // NOLINT
1478 {2, {65317, 65349}}, {2, {65318, 65350}}, {2, {65319, 65351}}, {2, {65320, 653 52}}, // NOLINT
1479 {2, {65321, 65353}}, {2, {65322, 65354}}, {2, {65323, 65355}}, {2, {65324, 653 56}}, // NOLINT
1480 {2, {65325, 65357}}, {2, {65326, 65358}}, {2, {65327, 65359}}, {2, {65328, 653 60}}, // NOLINT
1481 {2, {65329, 65361}}, {2, {65330, 65362}}, {2, {65331, 65363}}, {2, {65332, 653 64}}, // NOLINT
1482 {2, {65333, 65365}}, {2, {65334, 65366}}, {2, {65335, 65367}}, {2, {65336, 653 68}}, // NOLINT
1483 {2, {65337, 65369}}, {2, {65338, 65370}}, {0, {0}} }; // NOLINT
676 static const uint16_t kEcma262UnCanonicalizeTable1Size = 52; 1484 static const uint16_t kEcma262UnCanonicalizeTable1Size = 52;
677 static const int32_t kEcma262UnCanonicalizeTable1[104] = { 32545, 1, 32546, 5, 3 2547, 9, 32548, 13, 32549, 17, 32550, 21, 32551, 25, 32552, 29, 32553, 33, 32554 , 37, 32555, 41, 32556, 45, 32557, 49, 32558, 53, 32559, 57, 32560, 61, 32561, 6 5, 32562, 69, 32563, 73, 32564, 77, 32565, 81, 32566, 85, 32567, 89, 32568, 93, 32569, 97, 32570, 101, 32577, 105, 32578, 109, 32579, 113, 32580, 117, 32581, 12 1, 32582, 125, 32583, 129, 32584, 133, 32585, 137, 32586, 141, 32587, 145, 32588 , 149, 32589, 153, 32590, 157, 32591, 161, 32592, 165, 32593, 169, 32594, 173, 3 2595, 177, 32596, 181, 32597, 185, 32598, 189, 32599, 193, 32600, 197, 32601, 20 1, 32602, 205 }; // NOLINT 1485 static const int32_t kEcma262UnCanonicalizeTable1[104] = {
678 static const MultiCharacterSpecialCase<4> kEcma262UnCanonicalizeMultiStrings2[] = { {2, {66560, 66600}}, {2, {66561, 66601}}, {2, {66562, 66602}}, {2, {66563, 6 6603}}, {2, {66564, 66604}}, {2, {66565, 66605}}, {2, {66566, 66606}}, {2, {6656 7, 66607}}, {2, {66568, 66608}}, {2, {66569, 66609}}, {2, {66570, 66610}}, {2, { 66571, 66611}}, {2, {66572, 66612}}, {2, {66573, 66613}}, {2, {66574, 66614}}, { 2, {66575, 66615}}, {2, {66576, 66616}}, {2, {66577, 66617}}, {2, {66578, 66618} }, {2, {66579, 66619}}, {2, {66580, 66620}}, {2, {66581, 66621}}, {2, {66582, 66 622}}, {2, {66583, 66623}}, {2, {66584, 66624}}, {2, {66585, 66625}}, {2, {66586 , 66626}}, {2, {66587, 66627}}, {2, {66588, 66628}}, {2, {66589, 66629}}, {2, {6 6590, 66630}}, {2, {66591, 66631}}, {2, {66592, 66632}}, {2, {66593, 66633}}, {2 , {66594, 66634}}, {2, {66595, 66635}}, {2, {66596, 66636}}, {2, {66597, 66637}} , {2, {66598, 66638}}, {2, {66599, 66639}}, {2, {66560, 66600}}, {2, {66561, 666 01}}, {2, {66562, 66602}}, {2, {66563, 66603}}, {2, {66564, 66604}}, {2, {66565, 66605}}, {2, {66566, 66606}}, {2, {66567, 66607}}, {2, {66568, 66608}}, {2, {66 569, 66609}}, {2, {66570, 66610}}, {2, {66571, 66611}}, {2, {66572, 66612}}, {2, {66573, 66613}}, {2, {66574, 66614}}, {2, {66575, 66615}}, {2, {66576, 66616}}, {2, {66577, 66617}}, {2, {66578, 66618}}, {2, {66579, 66619}}, {2, {66580, 6662 0}}, {2, {66581, 66621}}, {2, {66582, 66622}}, {2, {66583, 66623}}, {2, {66584, 66624}}, {2, {66585, 66625}}, {2, {66586, 66626}}, {2, {66587, 66627}}, {2, {665 88, 66628}}, {2, {66589, 66629}}, {2, {66590, 66630}}, {2, {66591, 66631}}, {2, {66592, 66632}}, {2, {66593, 66633}}, {2, {66594, 66634}}, {2, {66595, 66635}}, {2, {66596, 66636}}, {2, {66597, 66637}}, {2, {66598, 66638}}, {2, {66599, 66639 }}, {0, {0}} }; // NOLINT 1486 32545, 1, 32546, 5, 32547, 9, 32548, 13, 32549, 17, 32550, 21, 32551, 25, 3255 2, 29, // NOLINT
679 static const uint16_t kEcma262UnCanonicalizeTable2Size = 80; 1487 32553, 33, 32554, 37, 32555, 41, 32556, 45, 32557, 49, 32558, 53, 32559, 57, 3 2560, 61, // NOLINT
680 static const int32_t kEcma262UnCanonicalizeTable2[160] = { 1024, 1, 1025, 5, 102 6, 9, 1027, 13, 1028, 17, 1029, 21, 1030, 25, 1031, 29, 1032, 33, 1033, 37, 1034 , 41, 1035, 45, 1036, 49, 1037, 53, 1038, 57, 1039, 61, 1040, 65, 1041, 69, 1042 , 73, 1043, 77, 1044, 81, 1045, 85, 1046, 89, 1047, 93, 1048, 97, 1049, 101, 105 0, 105, 1051, 109, 1052, 113, 1053, 117, 1054, 121, 1055, 125, 1056, 129, 1057, 133, 1058, 137, 1059, 141, 1060, 145, 1061, 149, 1062, 153, 1063, 157, 1064, 161 , 1065, 165, 1066, 169, 1067, 173, 1068, 177, 1069, 181, 1070, 185, 1071, 189, 1 072, 193, 1073, 197, 1074, 201, 1075, 205, 1076, 209, 1077, 213, 1078, 217, 1079 , 221, 1080, 225, 1081, 229, 1082, 233, 1083, 237, 1084, 241, 1085, 245, 1086, 2 49, 1087, 253, 1088, 257, 1089, 261, 1090, 265, 1091, 269, 1092, 273, 1093, 277, 1094, 281, 1095, 285, 1096, 289, 1097, 293, 1098, 297, 1099, 301, 1100, 305, 11 01, 309, 1102, 313, 1103, 317 }; // NOLINT 1488 32561, 65, 32562, 69, 32563, 73, 32564, 77, 32565, 81, 32566, 85, 32567, 89, 3 2568, 93, // NOLINT
1489 32569, 97, 32570, 101, 32577, 1, 32578, 5, 32579, 9, 32580, 13, 32581, 17, 325 82, 21, // NOLINT
1490 32583, 25, 32584, 29, 32585, 33, 32586, 37, 32587, 41, 32588, 45, 32589, 49, 3 2590, 53, // NOLINT
1491 32591, 57, 32592, 61, 32593, 65, 32594, 69, 32595, 73, 32596, 77, 32597, 81, 3 2598, 85, // NOLINT
1492 32599, 89, 32600, 93, 32601, 97, 32602, 101 }; // NOLINT
681 int Ecma262UnCanonicalize::Convert(uchar c, 1493 int Ecma262UnCanonicalize::Convert(uchar c,
682 uchar n, 1494 uchar n,
683 uchar* result, 1495 uchar* result,
684 bool* allow_caching_ptr) { 1496 bool* allow_caching_ptr) {
685 int chunk_index = c >> 15; 1497 int chunk_index = c >> 15;
686 switch (chunk_index) { 1498 switch (chunk_index) {
687 case 0: return LookupMapping(kEcma262UnCanonicalizeTable0, 1499 case 0: return LookupMapping(kEcma262UnCanonicalizeTable0,
688 kEcma262UnCanonicalizeTable0Size, 1500 kEcma262UnCanonicalizeTable0Size,
689 kEcma262UnCanonicalizeMultiStrings0, 1501 kEcma262UnCanonicalizeMultiStrings0,
690 c, 1502 c,
691 n, 1503 n,
692 result, 1504 result,
693 allow_caching_ptr); 1505 allow_caching_ptr);
694 case 1: return LookupMapping(kEcma262UnCanonicalizeTable1, 1506 case 1: return LookupMapping(kEcma262UnCanonicalizeTable1,
695 kEcma262UnCanonicalizeTable1Size, 1507 kEcma262UnCanonicalizeTable1Size,
696 kEcma262UnCanonicalizeMultiStrings1, 1508 kEcma262UnCanonicalizeMultiStrings1,
697 c, 1509 c,
698 n, 1510 n,
699 result, 1511 result,
700 allow_caching_ptr); 1512 allow_caching_ptr);
701 case 2: return LookupMapping(kEcma262UnCanonicalizeTable2,
702 kEcma262UnCanonicalizeTable2Size,
703 kEcma262UnCanonicalizeMultiStrings2,
704 c,
705 n,
706 result,
707 allow_caching_ptr);
708 default: return 0; 1513 default: return 0;
709 } 1514 }
710 } 1515 }
711 1516
712 static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings0[] = { {0, {0}} }; // NOLINT 1517 static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings0[] = { // NOLINT
713 static const uint16_t kCanonicalizationRangeTable0Size = 1831; 1518 {0, {0}} }; // NOLINT
714 static const int32_t kCanonicalizationRangeTable0[3662] = { 0, 67109124, 1073741 825, 0, 64, 0, 65, 67108708, 1073741890, -260, 90, -260, 91, 67108524, 107374191 6, -364, 96, -364, 97, 67108580, 1073741922, -388, 122, -388, 123, 67108604, 107 3741948, -492, 180, -492, 181, 67108144, 182, 67108176, 1073742007, -728, 191, - 728, 192, 67108188, 1073742017, -768, 214, -768, 215, 67108008, 216, 67108028, 1 073742041, -864, 222, -864, 223, 67107976, 224, 67108060, 1073742049, -896, 246, -896, 247, 67107880, 248, 67107900, 1073742073, -992, 254, -992, 255, 67107848, 256, 67107844, 257, 67107840, 258, 67107836, 259, 67107832, 260, 67107828, 261, 67107824, 262, 67107820, 263, 67107816, 264, 67107812, 265, 67107808, 266, 6710 7804, 267, 67107800, 268, 67107796, 269, 67107792, 270, 67107788, 271, 67107784, 272, 67107780, 273, 67107776, 274, 67107772, 275, 67107768, 276, 67107764, 277, 67107760, 278, 67107756, 279, 67107752, 280, 67107748, 281, 67107744, 282, 6710 7740, 283, 67107736, 284, 67107732, 285, 67107728, 286, 67107724, 287, 67107720, 288, 67107716, 289, 67107712, 290, 67107708, 291, 67107704, 292, 67107700, 293, 67107696, 294, 67107692, 295, 67107688, 296, 67107684, 297, 67107680, 298, 6710 7676, 299, 67107672, 300, 67107668, 301, 67107664, 302, 67107660, 1073742127, 67 107656, 304, 67107656, 305, -1216, 306, 67107644, 307, 67107640, 308, 67107636, 309, 67107632, 310, 67107628, 311, 67107624, 312, 67107620, 313, 67107616, 314, 67107612, 315, 67107608, 316, 67107604, 317, 67107600, 318, 67107596, 319, 67107 592, 320, 67107588, 321, 67107584, 322, 67107580, 323, 67107576, 324, 67107572, 325, 67107568, 326, 67107564, 327, 67107560, 328, 67107556, 329, 67107552, 330, 67107548, 331, 67107544, 332, 67107540, 333, 67107536, 334, 67107532, 335, 67107 528, 336, 67107524, 337, 67107520, 338, 67107516, 339, 67107512, 340, 67107508, 341, 67107504, 342, 67107500, 343, 67107496, 344, 67107492, 345, 67107488, 346, 67107484, 347, 67107480, 348, 67107476, 349, 67107472, 350, 67107468, 351, 67107 464, 352, 67107460, 353, 67107456, 354, 67107452, 355, 67107448, 356, 67107444, 357, 67107440, 358, 67107436, 359, 67107432, 360, 67107428, 361, 67107424, 362, 67107420, 363, 67107416, 364, 67107412, 365, 67107408, 366, 67107404, 367, 67107 400, 368, 67107396, 369, 67107392, 370, 67107388, 371, 67107384, 372, 67107380, 373, 67107376, 374, 67107372, 375, 67107368, 376, 67107364, 377, 67107360, 378, 67107356, 379, 67107352, 380, 67107348, 381, 67107344, 382, 67107340, 383, 67107 336, 384, 67107332, 385, 67107328, 386, 67107324, 387, 67107320, 388, 67107316, 389, 67107312, 390, 67107308, 391, 67107304, 1073742216, 67107300, 393, 67107300 , 394, -1572, 395, 67107288, 396, 67107284, 397, 67107280, 398, 67107276, 399, 6 7107272, 400, 67107268, 401, 67107264, 402, 67107260, 403, 67107256, 404, 671072 52, 405, 67107248, 406, 67107244, 407, 67107240, 408, 67107236, 409, 67107232, 4 10, 67107228, 411, 67107224, 412, 67107220, 413, 67107216, 414, 67107212, 415, 6 7107208, 416, 67107204, 417, 67107200, 418, 67107196, 419, 67107192, 420, 671071 88, 421, 67107184, 422, 67107180, 423, 67107176, 424, 67107172, 1073742249, 6710 7168, 426, 67107168, 427, -1704, 428, 67107156, 429, 67107152, 430, 67107148, 43 1, 67107144, 1073742256, 67107140, 433, 67107140, 434, -1732, 435, 67107128, 436 , 67107124, 437, 67107120, 438, 67107116, 439, 67107112, 440, 67107108, 10737422 65, 67107104, 442, 67107104, 443, -1768, 444, 67107092, 445, 67107088, 446, 6710 7084, 447, 67107080, 448, 67107088, 1073742273, -1792, 451, -1792, 452, 67107060 , 453, 67107056, 454, 67107052, 455, 67107048, 456, 67107044, 457, 67107040, 458 , 67107036, 459, 67107032, 460, 67107028, 461, 67107024, 462, 67107020, 463, 671 07016, 464, 67107012, 465, 67107008, 466, 67107004, 467, 67107000, 468, 67106996 , 469, 67106992, 470, 67106988, 471, 67106984, 472, 67106980, 473, 67106976, 474 , 67106972, 475, 67106968, 476, 67106964, 477, 67106960, 478, 67106956, 479, 671 06952, 480, 67106948, 481, 67106944, 482, 67106940, 483, 67106936, 484, 67106932 , 485, 67106928, 486, 67106924, 487, 67106920, 488, 67106916, 489, 67106912, 490 , 67106908, 491, 67106904, 492, 67106900, 493, 67106896, 494, 67106892, 495, 671 06888, 496, 67106884, 497, 67106880, 498, 67106876, 499, 67106872, 500, 67106868 , 501, 67106864, 502, 67106860, 503, 67106856, 504, 67106852, 505, 67106848, 506 , 67106844, 507, 67106840, 508, 67106836, 509, 67106832, 510, 67106828, 511, 671 06824, 512, 67106820, 513, 67106816, 514, 67106812, 515, 67106808, 516, 67106804 , 517, 67106800, 518, 67106796, 519, 67106792, 520, 67106788, 521, 67106784, 522 , 67106780, 523, 67106776, 524, 67106772, 525, 67106768, 526, 67106764, 527, 671 06760, 528, 67106756, 529, 67106752, 530, 67106748, 531, 67106744, 532, 67106740 , 533, 67106736, 534, 67106732, 535, 67106728, 536, 67106724, 537, 67106720, 538 , 67106716, 539, 67106712, 540, 67106708, 541, 67106704, 542, 67106700, 543, 671 06696, 544, 67106692, 545, 67106688, 546, 67106684, 547, 67106680, 548, 67106676 , 549, 67106672, 550, 67106668, 551, 67106664, 552, 67106660, 553, 67106656, 554 , 67106652, 555, 67106648, 556, 67106644, 557, 67106640, 558, 67106636, 559, 671 06632, 560, 67106628, 561, 67106624, 562, 67106620, 563, 67106616, 564, 67106632 , 1073742389, -2256, 569, -2256, 570, 67106588, 571, 67106584, 572, 67106580, 57 3, 67106576, 1073742398, 67106572, 575, 67106572, 576, -2300, 577, 67106560, 578 , 67106556, 579, 67106552, 580, 67106548, 581, 67106544, 582, 67106540, 583, 671 06536, 584, 67106532, 585, 67106528, 586, 67106524, 587, 67106520, 588, 67106516 , 589, 67106512, 590, 67106508, 591, 67106504, 592, 67106508, 1073742417, -2368, 594, -2368, 595, 67106488, 596, 67106484, 1073742421, 67106480, 598, 67106480, 599, -2392, 600, 67106468, 601, 67106464, 602, 67106460, 603, 67106456, 604, 671 06464, 1073742429, -2416, 607, -2416, 1073742432, 67106436, 609, 67106436, 610, -2436, 611, 67106424, 612, 67106432, 1073742437, -2448, 615, -2448, 616, 6710640 4, 617, 67106400, 618, 67106396, 619, 67106392, 620, 67106396, 1073742445, -2480 , 622, -2480, 1073742447, 67106376, 624, 67106376, 625, -2496, 1073742450, 67106 364, 627, 67106364, 628, -2508, 629, 67106352, 630, 67106372, 1073742455, -2520, 636, -2520, 1073742461, 67106320, 638, 67106320, 639, -2552, 1073742464, 671063 08, 641, 67106308, 642, -2564, 643, 67106296, 644, 67106304, 1073742469, -2576, 647, -2576, 648, 67106276, 1073742473, 67106272, 650, 67106272, 651, -2600, 652, 67106260, 653, 67106272, 1073742478, -2612, 657, -2612, 658, 67106236, 659, 671 06940, 1073742484, -2636, 836, -2636, 837, 67105520, 838, 67105724, 1073742663, -3352, 879, -3352, 1073742708, -3352, 885, -3352, 890, -3352, 891, 67105312, 107 3742716, -3564, 893, -3564, 894, 67105320, 1073742724, -3576, 901, -3576, 902, 6 7105260, 903, 67105256, 904, 67105260, 1073742729, -3616, 906, -3616, 908, 67105 236, 910, 67105232, 911, -3640, 912, 67105220, 913, 67105216, 1073742738, 671052 12, 915, 67105212, 916, -3660, 1073742741, 67105200, 918, 67105200, 919, -3672, 920, 67105188, 921, 67105184, 922, 67105180, 923, 67105176, 924, 67105172, 925, 67105176, 1073742750, -3700, 927, -3700, 928, 67105156, 929, 67105152, 107374275 5, 67105144, 932, 67105144, 933, -3728, 934, 67105132, 935, 67105144, 1073742760 , -3740, 939, -3740, 940, 67105108, 941, 67105112, 1073742766, -3764, 943, -3764 , 944, 67105092, 945, 67105088, 1073742770, 67105084, 947, 67105084, 948, -3788, 1073742773, 67105072, 950, 67105072, 951, -3800, 952, 67105060, 953, 67105056, 954, 67105052, 955, 67105048, 956, 67105044, 957, 67105048, 1073742782, -3828, 9 59, -3828, 960, 67105028, 961, 67105024, 962, 67105020, 1073742787, 67105016, 96 4, 67105016, 965, -3856, 966, 67105004, 967, 67105016, 1073742792, -3868, 971, - 3868, 1073742796, 67104980, 973, 67104980, 974, -3892, 976, 67104964, 977, 67104 960, 978, 67104964, 1073742803, -3912, 980, -3912, 981, 67104944, 982, 67104940, 983, 67104936, 984, 67104932, 985, 67104928, 986, 67104924, 987, 67104920, 988, 67104916, 989, 67104912, 990, 67104908, 991, 67104904, 992, 67104900, 993, 6710 4896, 994, 67104892, 995, 67104888, 996, 67104884, 997, 67104880, 998, 67104876, 999, 67104872, 1000, 67104868, 1001, 67104864, 1002, 67104860, 1003, 67104856, 1004, 67104852, 1005, 67104848, 1006, 67104844, 1007, 67104840, 1008, 67104836, 1009, 67104832, 1073742834, 67104828, 1011, 67104828, 1012, -4044, 1013, 6710481 6, 1014, 67104812, 1015, 67104808, 1016, 67104804, 1017, 67104800, 1018, 6710479 6, 1019, 67104792, 1020, 67104788, 1021, 67104792, 1073742846, -4084, 1023, -408 4, 1024, 67104832, 1073742849, -4096, 1039, -4096, 1040, 67104832, 1073742865, - 4160, 1071, -4160, 1072, 67104704, 1073742897, -4288, 1103, -4288, 1104, 6710451 2, 1073742929, -4416, 1119, -4416, 1120, 67104388, 1121, 67104384, 1122, 6710438 0, 1123, 67104376, 1124, 67104372, 1125, 67104368, 1126, 67104364, 1127, 6710436 0, 1128, 67104356, 1129, 67104352, 1130, 67104348, 1131, 67104344, 1132, 6710434 0, 1133, 67104336, 1134, 67104332, 1135, 67104328, 1136, 67104324, 1137, 6710432 0, 1138, 67104316, 1139, 67104312, 1140, 67104308, 1141, 67104304, 1142, 6710430 0, 1143, 67104296, 1144, 67104292, 1145, 67104288, 1146, 67104284, 1147, 6710428 0, 1148, 67104276, 1149, 67104272, 1150, 67104268, 1151, 67104264, 1152, 6710426 0, 1153, 67104256, 1154, 67104280, 1073742979, -4616, 1158, -4616, 1073742984, - 4616, 1161, -4616, 1162, 67104220, 1163, 67104216, 1164, 67104212, 1165, 6710420 8, 1166, 67104204, 1167, 67104200, 1168, 67104196, 1169, 67104192, 1170, 6710418 8, 1171, 67104184, 1172, 67104180, 1173, 67104176, 1174, 67104172, 1175, 6710416 8, 1176, 67104164, 1177, 67104160, 1178, 67104156, 1179, 67104152, 1180, 6710414 8, 1181, 67104144, 1182, 67104140, 1183, 67104136, 1184, 67104132, 1185, 6710412 8, 1186, 67104124, 1187, 67104120, 1188, 67104116, 1189, 67104112, 1190, 6710410 8, 1191, 67104104, 1192, 67104100, 1193, 67104096, 1194, 67104092, 1195, 6710408 8, 1196, 67104084, 1197, 67104080, 1198, 67104076, 1199, 67104072, 1200, 6710406 8, 1201, 67104064, 1202, 67104060, 1203, 67104056, 1204, 67104052, 1205, 6710404 8, 1206, 67104044, 1207, 67104040, 1208, 67104036, 1209, 67104032, 1210, 6710402 8, 1211, 67104024, 1212, 67104020, 1213, 67104016, 1214, 67104012, 1215, 6710400 8, 1216, 67104004, 1217, 67104000, 1218, 67103996, 1219, 67103992, 1220, 6710398 8, 1221, 67103984, 1222, 67103980, 1223, 67103976, 1224, 67103972, 1225, 6710396 8, 1226, 67103964, 1227, 67103960, 1228, 67103956, 1229, 67103952, 1230, 6710394 8, 1231, 67103944, 1232, 67103940, 1233, 67103936, 1234, 67103932, 1235, 6710392 8, 1236, 67103924, 1237, 67103920, 1238, 67103916, 1239, 67103912, 1240, 6710390 8, 1241, 67103904, 1242, 67103900, 1243, 67103896, 1244, 67103892, 1245, 6710388 8, 1246, 67103884, 1247, 67103880, 1248, 67103876, 1249, 67103872, 1250, 6710386 8, 1251, 67103864, 1252, 67103860, 1253, 67103856, 1254, 67103852, 1255, 6710384 8, 1256, 67103844, 1257, 67103840, 1258, 67103836, 1259, 67103832, 1260, 6710382 8, 1261, 67103824, 1262, 67103820, 1263, 67103816, 1264, 67103812, 1265, 6710380 8, 1266, 67103804, 1267, 67103800, 1268, 67103796, 1269, 67103792, 1270, 6710378 8, 1271, 67103784, 1272, 67103780, 1273, 67103776, 1274, 67103772, 1275, 6710376 8, 1276, 67103764, 1277, 67103760, 1278, 67103756, 1279, 67103752, 1280, 6710374 8, 1281, 67103744, 1282, 67103740, 1283, 67103736, 1284, 67103732, 1285, 6710372 8, 1286, 67103724, 1287, 67103720, 1288, 67103716, 1289, 67103712, 1290, 6710370 8, 1291, 67103704, 1292, 67103700, 1293, 67103696, 1294, 67103692, 1295, 6710368 8, 1296, 67103684, 1297, 67103680, 1298, 67103676, 1299, 67103672, 1329, 6710370 0, 1073743154, -5316, 1366, -5316, 1073743193, -5468, 1375, -5468, 1377, 6710350 8, 1073743202, -5508, 1414, -5508, 1415, 67114568, 1073743241, -5660, 1418, -566 0, 1073743249, -5660, 1479, -5660, 1073743312, -5660, 1514, -5660, 1073743344, - 5660, 1524, -5660, 1073743360, -5660, 1539, -5660, 1073743371, -5660, 1557, -566 0, 1563, -5660, 1073743390, -5660, 1567, -5660, 1073743393, -5660, 1594, -5660, 1073743424, -5660, 1630, -5660, 1073743456, -5660, 1805, -5660, 1073743631, -566 0, 1866, -5660, 1073743693, -5660, 1901, -5660, 1073743744, -5660, 1969, -5660, 1073743808, -5660, 2042, -5660, 1073744129, -5660, 2361, -5660, 1073744188, -566 0, 2381, -5660, 1073744208, -5660, 2388, -5660, 1073744216, -5660, 2416, -5660, 1073744251, -5660, 2431, -5660, 1073744257, -5660, 2435, -5660, 1073744261, -566 0, 2444, -5660, 1073744271, -5660, 2448, -5660, 1073744275, -5660, 2472, -5660, 1073744298, -5660, 2480, -5660, 2482, -5660, 1073744310, -5660, 2489, -5660, 107 3744316, -5660, 2500, -5660, 1073744327, -5660, 2504, -5660, 1073744331, -5660, 2510, -5660, 2519, -5660, 1073744348, -5660, 2525, -5660, 1073744351, -5660, 253 1, -5660, 1073744358, -5660, 2554, -5660, 1073744385, -5660, 2563, -5660, 107374 4389, -5660, 2570, -5660, 1073744399, -5660, 2576, -5660, 1073744403, -5660, 260 0, -5660, 1073744426, -5660, 2608, -5660, 1073744434, -5660, 2611, -5660, 107374 4437, -5660, 2614, -5660, 1073744440, -5660, 2617, -5660, 2620, -5660, 107374444 6, -5660, 2626, -5660, 1073744455, -5660, 2632, -5660, 1073744459, -5660, 2637, -5660, 1073744473, -5660, 2652, -5660, 2654, -5660, 1073744486, -5660, 2676, -56 60, 1073744513, -5660, 2691, -5660, 1073744517, -5660, 2701, -5660, 1073744527, -5660, 2705, -5660, 1073744531, -5660, 2728, -5660, 1073744554, -5660, 2736, -56 60, 1073744562, -5660, 2739, -5660, 1073744565, -5660, 2745, -5660, 1073744572, -5660, 2757, -5660, 1073744583, -5660, 2761, -5660, 1073744587, -5660, 2765, -56 60, 2768, -5660, 1073744608, -5660, 2787, -5660, 1073744614, -5660, 2799, -5660, 2801, -5660, 1073744641, -5660, 2819, -5660, 1073744645, -5660, 2828, -5660, 10 73744655, -5660, 2832, -5660, 1073744659, -5660, 2856, -5660, 1073744682, -5660, 2864, -5660, 1073744690, -5660, 2867, -5660, 1073744693, -5660, 2873, -5660, 10 73744700, -5660, 2883, -5660, 1073744711, -5660, 2888, -5660, 1073744715, -5660, 2893, -5660, 1073744726, -5660, 2903, -5660, 1073744732, -5660, 2909, -5660, 10 73744735, -5660, 2913, -5660, 1073744742, -5660, 2929, -5660, 1073744770, -5660, 2947, -5660, 1073744773, -5660, 2954, -5660, 1073744782, -5660, 2960, -5660, 10 73744786, -5660, 2965, -5660, 1073744793, -5660, 2970, -5660, 2972, -5660, 10737 44798, -5660, 2975, -5660, 1073744803, -5660, 2980, -5660, 1073744808, -5660, 29 86, -5660, 1073744814, -5660, 3001, -5660, 1073744830, -5660, 3010, -5660, 10737 44838, -5660, 3016, -5660, 1073744842, -5660, 3021, -5660, 3031, -5660, 10737448 70, -5660, 3066, -5660, 1073744897, -5660, 3075, -5660, 1073744901, -5660, 3084, -5660, 1073744910, -5660, 3088, -5660, 1073744914, -5660, 3112, -5660, 10737449 38, -5660, 3123, -5660, 1073744949, -5660, 3129, -5660, 1073744958, -5660, 3140, -5660, 1073744966, -5660, 3144, -5660, 1073744970, -5660, 3149, -5660, 10737449 81, -5660, 3158, -5660, 1073744992, -5660, 3169, -5660, 1073744998, -5660, 3183, -5660, 1073745026, -5660, 3203, -5660, 1073745029, -5660, 3212, -5660, 10737450 38, -5660, 3216, -5660, 1073745042, -5660, 3240, -5660, 1073745066, -5660, 3251, -5660, 1073745077, -5660, 3257, -5660, 1073745084, -5660, 3268, -5660, 10737450 94, -5660, 3272, -5660, 1073745098, -5660, 3277, -5660, 1073745109, -5660, 3286, -5660, 3294, -5660, 1073745120, -5660, 3299, -5660, 1073745126, -5660, 3311, -5 660, 1073745137, -5660, 3314, -5660, 1073745154, -5660, 3331, -5660, 1073745157, -5660, 3340, -5660, 1073745166, -5660, 3344, -5660, 1073745170, -5660, 3368, -5 660, 1073745194, -5660, 3385, -5660, 1073745214, -5660, 3395, -5660, 1073745222, -5660, 3400, -5660, 1073745226, -5660, 3405, -5660, 3415, -5660, 1073745248, -5 660, 3425, -5660, 1073745254, -5660, 3439, -5660, 1073745282, -5660, 3459, -5660 , 1073745285, -5660, 3478, -5660, 1073745306, -5660, 3505, -5660, 1073745331, -5 660, 3515, -5660, 3517, -5660, 1073745344, -5660, 3526, -5660, 3530, -5660, 1073 745359, -5660, 3540, -5660, 3542, -5660, 1073745368, -5660, 3551, -5660, 1073745 394, -5660, 3572, -5660, 1073745409, -5660, 3642, -5660, 1073745471, -5660, 3675 , -5660, 1073745537, -5660, 3714, -5660, 3716, -5660, 1073745543, -5660, 3720, - 5660, 3722, -5660, 3725, -5660, 1073745556, -5660, 3735, -5660, 1073745561, -566 0, 3743, -5660, 1073745569, -5660, 3747, -5660, 3749, -5660, 3751, -5660, 107374 5578, -5660, 3755, -5660, 1073745581, -5660, 3769, -5660, 1073745595, -5660, 377 3, -5660, 1073745600, -5660, 3780, -5660, 3782, -5660, 1073745608, -5660, 3789, -5660, 1073745616, -5660, 3801, -5660, 1073745628, -5660, 3805, -5660, 107374566 4, -5660, 3911, -5660, 1073745737, -5660, 3946, -5660, 1073745777, -5660, 3979, -5660, 1073745808, -5660, 3991, -5660, 1073745817, -5660, 4028, -5660, 107374585 4, -5660, 4044, -5660, 1073745871, -5660, 4049, -5660, 1073745920, -5660, 4129, -5660, 1073745955, -5660, 4135, -5660, 1073745961, -5660, 4138, -5660, 107374596 4, -5660, 4146, -5660, 1073745974, -5660, 4153, -5660, 1073745984, -5660, 4185, -5660, 4256, 67091992, 1073746081, -17024, 4293, -17024, 1073746128, -17176, 434 8, -17176, 1073746176, -17176, 4441, -17176, 1073746271, -17176, 4514, -17176, 1 073746344, -17176, 4601, -17176, 1073746432, -17176, 4680, -17176, 1073746506, - 17176, 4685, -17176, 1073746512, -17176, 4694, -17176, 4696, -17176, 1073746522, -17176, 4701, -17176, 1073746528, -17176, 4744, -17176, 1073746570, -17176, 474 9, -17176, 1073746576, -17176, 4784, -17176, 1073746610, -17176, 4789, -17176, 1 073746616, -17176, 4798, -17176, 4800, -17176, 1073746626, -17176, 4805, -17176, 1073746632, -17176, 4822, -17176, 1073746648, -17176, 4880, -17176, 1073746706, -17176, 4885, -17176, 1073746712, -17176, 4954, -17176, 1073746783, -17176, 498 8, -17176, 1073746816, -17176, 5017, -17176, 1073746848, -17176, 5108, -17176, 1 073746945, -17176, 5750, -17176, 1073747584, -17176, 5788, -17176, 1073747616, - 17176, 5872, -17176, 1073747712, -17176, 5900, -17176, 1073747726, -17176, 5908, -17176, 1073747744, -17176, 5942, -17176, 1073747776, -17176, 5971, -17176, 107 3747808, -17176, 5996, -17176, 1073747822, -17176, 6000, -17176, 1073747826, -17 176, 6003, -17176, 1073747840, -17176, 6109, -17176, 1073747936, -17176, 6121, - 17176, 1073747952, -17176, 6137, -17176, 1073747968, -17176, 6158, -17176, 10737 47984, -17176, 6169, -17176, 1073748000, -17176, 6263, -17176, 1073748096, -1717 6, 6313, -17176, 1073748224, -17176, 6428, -17176, 1073748256, -17176, 6443, -17 176, 1073748272, -17176, 6459, -17176, 6464, -17176, 1073748292, -17176, 6509, - 17176, 1073748336, -17176, 6516, -17176, 1073748352, -17176, 6569, -17176, 10737 48400, -17176, 6601, -17176, 1073748432, -17176, 6617, -17176, 1073748446, -1717 6, 6683, -17176, 1073748510, -17176, 6687, -17176, 1073748736, -17176, 6987, -17 176, 1073748816, -17176, 7036, -17176, 1073749248, -17176, 7548, -17176, 7549, 6 7078672, 7550, 67079184, 1073749375, -30200, 7626, -30200, 1073749502, -30200, 7 679, -30200, 7680, 67078148, 7681, 67078144, 7682, 67078140, 7683, 67078136, 768 4, 67078132, 7685, 67078128, 7686, 67078124, 7687, 67078120, 7688, 67078116, 768 9, 67078112, 7690, 67078108, 7691, 67078104, 7692, 67078100, 7693, 67078096, 769 4, 67078092, 7695, 67078088, 7696, 67078084, 7697, 67078080, 7698, 67078076, 769 9, 67078072, 7700, 67078068, 7701, 67078064, 7702, 67078060, 7703, 67078056, 770 4, 67078052, 7705, 67078048, 7706, 67078044, 7707, 67078040, 7708, 67078036, 770 9, 67078032, 7710, 67078028, 7711, 67078024, 7712, 67078020, 7713, 67078016, 771 4, 67078012, 7715, 67078008, 7716, 67078004, 7717, 67078000, 7718, 67077996, 771 9, 67077992, 7720, 67077988, 7721, 67077984, 7722, 67077980, 7723, 67077976, 772 4, 67077972, 7725, 67077968, 7726, 67077964, 7727, 67077960, 7728, 67077956, 772 9, 67077952, 7730, 67077948, 7731, 67077944, 7732, 67077940, 7733, 67077936, 773 4, 67077932, 7735, 67077928, 7736, 67077924, 7737, 67077920, 7738, 67077916, 773 9, 67077912, 7740, 67077908, 7741, 67077904, 7742, 67077900, 7743, 67077896, 774 4, 67077892, 7745, 67077888, 7746, 67077884, 7747, 67077880, 7748, 67077876, 774 9, 67077872, 7750, 67077868, 7751, 67077864, 7752, 67077860, 7753, 67077856, 775 4, 67077852, 7755, 67077848, 7756, 67077844, 7757, 67077840, 7758, 67077836, 775 9, 67077832, 7760, 67077828, 7761, 67077824, 7762, 67077820, 7763, 67077816, 776 4, 67077812, 7765, 67077808, 7766, 67077804, 7767, 67077800, 7768, 67077796, 776 9, 67077792, 7770, 67077788, 7771, 67077784, 7772, 67077780, 7773, 67077776, 777 4, 67077772, 7775, 67077768, 7776, 67077764, 7777, 67077760, 7778, 67077756, 777 9, 67077752, 7780, 67077748, 7781, 67077744, 7782, 67077740, 7783, 67077736, 778 4, 67077732, 7785, 67077728, 7786, 67077724, 7787, 67077720, 7788, 67077716, 778 9, 67077712, 7790, 67077708, 7791, 67077704, 7792, 67077700, 7793, 67077696, 779 4, 67077692, 7795, 67077688, 7796, 67077684, 7797, 67077680, 7798, 67077676, 779 9, 67077672, 7800, 67077668, 7801, 67077664, 7802, 67077660, 7803, 67077656, 780 4, 67077652, 7805, 67077648, 7806, 67077644, 7807, 67077640, 7808, 67077636, 780 9, 67077632, 7810, 67077628, 7811, 67077624, 7812, 67077620, 7813, 67077616, 781 4, 67077612, 7815, 67077608, 7816, 67077604, 7817, 67077600, 7818, 67077596, 781 9, 67077592, 7820, 67077588, 7821, 67077584, 7822, 67077580, 7823, 67077576, 782 4, 67077572, 7825, 67077568, 7826, 67077564, 7827, 67077560, 7828, 67077556, 782 9, 67077552, 7830, 67077564, 1073749655, -31320, 7834, -31320, 7835, 67077528, 7 840, 67077508, 7841, 67077504, 7842, 67077500, 7843, 67077496, 7844, 67077492, 7 845, 67077488, 7846, 67077484, 7847, 67077480, 7848, 67077476, 7849, 67077472, 7 850, 67077468, 7851, 67077464, 7852, 67077460, 7853, 67077456, 7854, 67077452, 7 855, 67077448, 7856, 67077444, 7857, 67077440, 7858, 67077436, 7859, 67077432, 7 860, 67077428, 7861, 67077424, 7862, 67077420, 7863, 67077416, 7864, 67077412, 7 865, 67077408, 7866, 67077404, 7867, 67077400, 7868, 67077396, 7869, 67077392, 7 870, 67077388, 7871, 67077384, 7872, 67077380, 7873, 67077376, 7874, 67077372, 7 875, 67077368, 7876, 67077364, 7877, 67077360, 7878, 67077356, 7879, 67077352, 7 880, 67077348, 7881, 67077344, 7882, 67077340, 7883, 67077336, 7884, 67077332, 7 885, 67077328, 7886, 67077324, 7887, 67077320, 7888, 67077316, 7889, 67077312, 7 890, 67077308, 7891, 67077304, 7892, 67077300, 7893, 67077296, 7894, 67077292, 7 895, 67077288, 7896, 67077284, 7897, 67077280, 7898, 67077276, 7899, 67077272, 7 900, 67077268, 7901, 67077264, 7902, 67077260, 7903, 67077256, 7904, 67077252, 7 905, 67077248, 7906, 67077244, 7907, 67077240, 7908, 67077236, 7909, 67077232, 7 910, 67077228, 7911, 67077224, 7912, 67077220, 7913, 67077216, 7914, 67077212, 7 915, 67077208, 7916, 67077204, 7917, 67077200, 7918, 67077196, 7919, 67077192, 7 920, 67077188, 7921, 67077184, 7922, 67077180, 7923, 67077176, 7924, 67077172, 7 925, 67077168, 7926, 67077164, 7927, 67077160, 7928, 67077156, 7929, 67077152, 7 936, 67077152, 1073749761, -31744, 7943, -31744, 7944, 67077120, 1073749769, -31 776, 7951, -31776, 7952, 67077080, 1073749777, -31808, 7957, -31808, 7960, 67077 048, 1073749785, -31840, 7965, -31840, 7968, 67077024, 1073749793, -31872, 7975, -31872, 7976, 67076992, 1073749801, -31904, 7983, -31904, 7984, 67076960, 10737 49809, -31936, 7991, -31936, 7992, 67076928, 1073749817, -31968, 7999, -31968, 8 000, 67076888, 1073749825, -32000, 8005, -32000, 8008, 67076856, 1073749833, -32 032, 8013, -32032, 8016, -32056, 8017, 67076800, 8018, 67076796, 8019, 67076792, 8020, 67076788, 8021, 67076784, 8022, 67076780, 8023, 67076776, 8025, 67076768, 8027, 67076760, 8029, 67076752, 8031, 67076744, 8032, 67076768, 1073749857, -32 128, 8039, -32128, 8040, 67076736, 1073749865, -32160, 8047, -32160, 8048, 67076 680, 8049, -32192, 8050, 67076680, 1073749875, -32200, 8053, -32200, 8054, 67076 656, 8055, -32216, 8056, 67076648, 8057, -32224, 8058, 67076640, 8059, -32232, 8 060, 67076632, 8061, -32240, 1073749888, -32248, 8111, -32248, 8112, 67076424, 8 113, -32448, 8114, 67076432, 1073749939, -32456, 8116, -32456, 1073749942, -3245 6, 8119, -32456, 8120, 67076392, 8121, -32480, 8122, 67076384, 8123, -32488, 812 4, 67076376, 8125, -32496, 8126, 67076364, 8127, 67076392, 1073749952, -32508, 8 132, -32508, 1073749958, -32508, 8135, -32508, 8136, 67076336, 1073749961, -3254 4, 8139, -32544, 8140, 67076320, 1073749965, -32560, 8143, -32560, 8144, 6707629 6, 8145, -32576, 8146, 67076304, 8147, -32584, 1073749974, -32584, 8151, -32584, 8152, 67076264, 8153, -32608, 8154, 67076256, 8155, -32616, 1073749981, -32624, 8159, -32624, 8160, 67076232, 8161, -32640, 8162, 67076228, 1073749987, -32648, 8164, -32648, 1073749989, 67076208, 8166, 67076208, 8167, -32664, 8168, 6707620 0, 8169, -32672, 8170, 67076192, 8171, -32680, 8172, 67076180, 8173, 67076216, 1 073749998, -32692, 8175, -32692, 1073750002, -32692, 8180, -32692, 1073750006, - 32692, 8183, -32692, 8184, 67076136, 8185, -32736, 8186, 67076128, 8187, -32744, 8188, 67077352, 1073750013, -32752, 8190, -32752, 1073750016, -32752, 8291, -32 752, 1073750122, -32752, 8305, -32752, 1073750132, -32752, 8334, -32752, 1073750 160, -32752, 8340, -32752, 1073750176, -32752, 8373, -32752, 1073750224, -32752, 8431, -32752, 1073750272, -32752, 8497, -32752, 8498, 67074876, 8499, 67074976, 1073750324, -33996, 8525, -33996, 8526, 67074764, 1073750355, -34108, 8543, -34 108, 8544, 67074752, 1073750369, -34176, 8559, -34176, 8560, 67074688, 107375038 5, -34240, 8575, -34240, 8576, 67074572, 1073750401, -34304, 8578, -34304, 8579, 67074552, 8580, 67074548, 1073750416, -34324, 9191, -34324, 1073751040, -34324, 9254, -34324, 1073751104, -34324, 9290, -34324, 1073751136, -34324, 9397, -3432 4, 9398, 67071376, 1073751223, -37592, 9423, -37592, 9424, 67071272, 1073751249, -37696, 9449, -37696, 9450, 67078320, 1073751275, -37800, 9884, -37800, 1073751 712, -37800, 9906, -37800, 1073751809, -37800, 9988, -37800, 1073751814, -37800, 9993, -37800, 1073751820, -37800, 10023, -37800, 1073751849, -37800, 10059, -37 800, 10061, -37800, 1073751887, -37800, 10066, -37800, 10070, -37800, 1073751896 , -37800, 10078, -37800, 1073751905, -37800, 10132, -37800, 1073751960, -37800, 10159, -37800, 1073751985, -37800, 10174, -37800, 1073752000, -37800, 10186, -37 800, 1073752016, -37800, 10219, -37800, 1073752048, -37800, 11034, -37800, 10737 52864, -37800, 11043, -37800, 11264, 67063996, 1073753089, -45056, 11310, -45056 , 11312, 67063804, 1073753137, -45248, 11358, -45248, 11360, 67063428, 11361, 67 063424, 11362, 67063420, 11363, 67063416, 11364, 67063412, 11365, 67063408, 1136 6, 67063404, 11367, 67063400, 11368, 67063396, 11369, 67063392, 11370, 67063388, 11371, 67063384, 11372, 67063380, 11380, -45492, 11381, 67063344, 11382, 670633 40, 11383, 67063368, 11392, 67063300, 11393, 67063296, 11394, 67063292, 11395, 6 7063288, 11396, 67063284, 11397, 67063280, 11398, 67063276, 11399, 67063272, 114 00, 67063268, 11401, 67063264, 11402, 67063260, 11403, 67063256, 11404, 67063252 , 11405, 67063248, 11406, 67063244, 11407, 67063240, 11408, 67063236, 11409, 670 63232, 11410, 67063228, 11411, 67063224, 11412, 67063220, 11413, 67063216, 11414 , 67063212, 11415, 67063208, 11416, 67063204, 11417, 67063200, 11418, 67063196, 11419, 67063192, 11420, 67063188, 11421, 67063184, 11422, 67063180, 11423, 67063 176, 11424, 67063172, 11425, 67063168, 11426, 67063164, 11427, 67063160, 11428, 67063156, 11429, 67063152, 11430, 67063148, 11431, 67063144, 11432, 67063140, 11 433, 67063136, 11434, 67063132, 11435, 67063128, 11436, 67063124, 11437, 6706312 0, 11438, 67063116, 11439, 67063112, 11440, 67063108, 11441, 67063104, 11442, 67 063100, 11443, 67063096, 11444, 67063092, 11445, 67063088, 11446, 67063084, 1144 7, 67063080, 11448, 67063076, 11449, 67063072, 11450, 67063068, 11451, 67063064, 11452, 67063060, 11453, 67063056, 11454, 67063052, 11455, 67063048, 11456, 6706 3044, 11457, 67063040, 11458, 67063036, 11459, 67063032, 11460, 67063028, 11461, 67063024, 11462, 67063020, 11463, 67063016, 11464, 67063012, 11465, 67063008, 1 1466, 67063004, 11467, 67063000, 11468, 67062996, 11469, 67062992, 11470, 670629 88, 11471, 67062984, 11472, 67062980, 11473, 67062976, 11474, 67062972, 11475, 6 7062968, 11476, 67062964, 11477, 67062960, 11478, 67062956, 11479, 67062952, 114 80, 67062948, 11481, 67062944, 11482, 67062940, 11483, 67062936, 11484, 67062932 , 11485, 67062928, 11486, 67062924, 11487, 67062920, 11488, 67062916, 11489, 670 62912, 11490, 67062908, 11491, 67062904, 11492, 67063008, 1073753317, -45968, 11 498, -45968, 1073753337, -45968, 11519, -45968, 11520, 67062936, 1073753345, -46 080, 11557, -46080, 1073753392, -46232, 11621, -46232, 11631, -46232, 1073753472 , -46232, 11670, -46232, 1073753504, -46232, 11686, -46232, 1073753512, -46232, 11694, -46232, 1073753520, -46232, 11702, -46232, 1073753528, -46232, 11710, -46 232, 1073753536, -46232, 11718, -46232, 1073753544, -46232, 11726, -46232, 10737 53552, -46232, 11734, -46232, 1073753560, -46232, 11742, -46232, 1073753600, -46 232, 11799, -46232, 1073753628, -46232, 11805, -46232, 1073753728, -46232, 11929 , -46232, 1073753755, -46232, 12019, -46232, 1073753856, -46232, 12245, -46232, 1073754096, -46232, 12283, -46232, 1073754112, -46232, 12351, -46232, 1073754177 , -46232, 12438, -46232, 1073754265, -46232, 12543, -46232, 1073754373, -46232, 12588, -46232, 1073754417, -46232, 12686, -46232, 1073754512, -46232, 12727, -46 232, 1073754560, -46232, 12751, -46232, 1073754608, -46232, 12830, -46232, 10737 54656, -46232, 12867, -46232, 1073754704, -46232, 13054, -46232, 1073754880, -46 232, 19893, -46232, 1073761728, -46232, 32767, -46232 }; // NOLINT 1519 static const uint16_t kCanonicalizationRangeTable0Size = 720;
715 static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings1[] = { {0, {0}} }; // NOLINT 1520 static const int32_t kCanonicalizationRangeTable0[1440] = {
716 static const uint16_t kCanonicalizationRangeTable1Size = 88; 1521 65, 100, 66, 96, 67, 92, 68, 88, 69, 84, 70, 80, 71, 76, 72, 72, // NOLINT
717 static const int32_t kCanonicalizationRangeTable1[176] = { 1073741824, -46232, 8 123, -46232, 1073750016, -46232, 9356, -46232, 1073751184, -46232, 9414, -46232, 1073751808, -46232, 10010, -46232, 1073751840, -46232, 10017, -46232, 107375206 4, -46232, 10283, -46232, 1073752128, -46232, 10359, -46232, 1073753088, -46232, 22435, -46232, 1073764352, -46232, 31277, -46232, 1073773104, -46232, 31338, -4 6232, 1073773168, -46232, 31449, -46232, 1073773312, -46232, 31494, -46232, 1073 773331, -46232, 31511, -46232, 1073773341, -46232, 31542, -46232, 1073773368, -4 6232, 31548, -46232, 31550, -46232, 1073773376, -46232, 31553, -46232, 107377337 9, -46232, 31556, -46232, 1073773382, -46232, 31665, -46232, 1073773523, -46232, 32063, -46232, 1073773904, -46232, 32143, -46232, 1073773970, -46232, 32199, -4 6232, 1073774064, -46232, 32253, -46232, 1073774080, -46232, 32281, -46232, 1073 774112, -46232, 32291, -46232, 1073774128, -46232, 32338, -46232, 1073774164, -4 6232, 32358, -46232, 1073774184, -46232, 32363, -46232, 1073774192, -46232, 3237 2, -46232, 1073774198, -46232, 32508, -46232, 32511, -46232, 1073774337, -46232, 32544, -46232, 32545, 66847716, 1073774370, -261252, 32570, -261252, 32571, 668 47532, 1073774396, -261356, 32576, -261356, 32577, 66847588, 1073774402, -261380 , 32602, -261380, 32603, 66848040, 1073774428, -261484, 32702, -261484, 10737745 30, -261484, 32711, -261484, 1073774538, -261484, 32719, -261484, 1073774546, -2 61484, 32727, -261484, 1073774554, -261484, 32732, -261484, 1073774560, -261484, 32742, -261484, 1073774568, -261484, 32750, -261484, 1073774585, -261484, 32765 , -261484 }; // NOLINT 1522 73, 68, 74, 64, 75, 60, 76, 56, 77, 52, 78, 48, 79, 44, 80, 40, // NOLINT
1523 81, 36, 82, 32, 83, 28, 84, 24, 85, 20, 86, 16, 87, 12, 88, 8, // NOLINT
1524 89, 4, 90, 0, 97, 100, 98, 96, 99, 92, 100, 88, 101, 84, 102, 80, // NOLINT
1525 103, 76, 104, 72, 105, 68, 106, 64, 107, 60, 108, 56, 109, 52, 110, 48, // NO LINT
1526 111, 44, 112, 40, 113, 36, 114, 32, 115, 28, 116, 24, 117, 20, 118, 16, // NO LINT
1527 119, 12, 120, 8, 121, 4, 122, 0, 192, 88, 193, 84, 194, 80, 195, 76, // NOLIN T
1528 196, 72, 197, 68, 198, 64, 199, 60, 200, 56, 201, 52, 202, 48, 203, 44, // NO LINT
1529 204, 40, 205, 36, 206, 32, 207, 28, 208, 24, 209, 20, 210, 16, 211, 12, // NO LINT
1530 212, 8, 213, 4, 214, 0, 216, 24, 217, 20, 218, 16, 219, 12, 220, 8, // NOLINT
1531 221, 4, 222, 0, 224, 88, 225, 84, 226, 80, 227, 76, 228, 72, 229, 68, // NOLI NT
1532 230, 64, 231, 60, 232, 56, 233, 52, 234, 48, 235, 44, 236, 40, 237, 36, // NO LINT
1533 238, 32, 239, 28, 240, 24, 241, 20, 242, 16, 243, 12, 244, 8, 245, 4, // NOLI NT
1534 246, 0, 248, 24, 249, 20, 250, 16, 251, 12, 252, 8, 253, 4, 254, 0, // NOLINT
1535 393, 4, 394, 0, 433, 4, 434, 0, 598, 4, 599, 0, 650, 4, 651, 0, // NOLINT
1536 891, 8, 892, 4, 893, 0, 904, 8, 905, 4, 906, 0, 910, 4, 911, 0, // NOLINT
1537 915, 4, 916, 0, 918, 4, 919, 0, 925, 8, 926, 4, 927, 0, 932, 4, // NOLINT
1538 933, 0, 935, 16, 936, 12, 937, 8, 938, 4, 939, 0, 941, 8, 942, 4, // NOLINT
1539 943, 0, 947, 4, 948, 0, 950, 4, 951, 0, 957, 8, 958, 4, 959, 0, // NOLINT
1540 964, 4, 965, 0, 967, 16, 968, 12, 969, 8, 970, 4, 971, 0, 973, 4, // NOLINT
1541 974, 0, 1021, 8, 1022, 4, 1023, 0, 1024, 60, 1025, 56, 1026, 52, 1027, 48, // NOLINT
1542 1028, 44, 1029, 40, 1030, 36, 1031, 32, 1032, 28, 1033, 24, 1034, 20, 1035, 16 , // NOLINT
1543 1036, 12, 1037, 8, 1038, 4, 1039, 0, 1040, 124, 1041, 120, 1042, 116, 1043, 11 2, // NOLINT
1544 1044, 108, 1045, 104, 1046, 100, 1047, 96, 1048, 92, 1049, 88, 1050, 84, 1051, 80, // NOLINT
1545 1052, 76, 1053, 72, 1054, 68, 1055, 64, 1056, 60, 1057, 56, 1058, 52, 1059, 48 , // NOLINT
1546 1060, 44, 1061, 40, 1062, 36, 1063, 32, 1064, 28, 1065, 24, 1066, 20, 1067, 16 , // NOLINT
1547 1068, 12, 1069, 8, 1070, 4, 1071, 0, 1072, 124, 1073, 120, 1074, 116, 1075, 11 2, // NOLINT
1548 1076, 108, 1077, 104, 1078, 100, 1079, 96, 1080, 92, 1081, 88, 1082, 84, 1083, 80, // NOLINT
1549 1084, 76, 1085, 72, 1086, 68, 1087, 64, 1088, 60, 1089, 56, 1090, 52, 1091, 48 , // NOLINT
1550 1092, 44, 1093, 40, 1094, 36, 1095, 32, 1096, 28, 1097, 24, 1098, 20, 1099, 16 , // NOLINT
1551 1100, 12, 1101, 8, 1102, 4, 1103, 0, 1104, 60, 1105, 56, 1106, 52, 1107, 48, // NOLINT
1552 1108, 44, 1109, 40, 1110, 36, 1111, 32, 1112, 28, 1113, 24, 1114, 20, 1115, 16 , // NOLINT
1553 1116, 12, 1117, 8, 1118, 4, 1119, 0, 1329, 148, 1330, 144, 1331, 140, 1332, 13 6, // NOLINT
1554 1333, 132, 1334, 128, 1335, 124, 1336, 120, 1337, 116, 1338, 112, 1339, 108, 1 340, 104, // NOLINT
1555 1341, 100, 1342, 96, 1343, 92, 1344, 88, 1345, 84, 1346, 80, 1347, 76, 1348, 7 2, // NOLINT
1556 1349, 68, 1350, 64, 1351, 60, 1352, 56, 1353, 52, 1354, 48, 1355, 44, 1356, 40 , // NOLINT
1557 1357, 36, 1358, 32, 1359, 28, 1360, 24, 1361, 20, 1362, 16, 1363, 12, 1364, 8, // NOLINT
1558 1365, 4, 1366, 0, 1377, 148, 1378, 144, 1379, 140, 1380, 136, 1381, 132, 1382, 128, // NOLINT
1559 1383, 124, 1384, 120, 1385, 116, 1386, 112, 1387, 108, 1388, 104, 1389, 100, 1 390, 96, // NOLINT
1560 1391, 92, 1392, 88, 1393, 84, 1394, 80, 1395, 76, 1396, 72, 1397, 68, 1398, 64 , // NOLINT
1561 1399, 60, 1400, 56, 1401, 52, 1402, 48, 1403, 44, 1404, 40, 1405, 36, 1406, 32 , // NOLINT
1562 1407, 28, 1408, 24, 1409, 20, 1410, 16, 1411, 12, 1412, 8, 1413, 4, 1414, 0, // NOLINT
1563 4256, 148, 4257, 144, 4258, 140, 4259, 136, 4260, 132, 4261, 128, 4262, 124, 4 263, 120, // NOLINT
1564 4264, 116, 4265, 112, 4266, 108, 4267, 104, 4268, 100, 4269, 96, 4270, 92, 427 1, 88, // NOLINT
1565 4272, 84, 4273, 80, 4274, 76, 4275, 72, 4276, 68, 4277, 64, 4278, 60, 4279, 56 , // NOLINT
1566 4280, 52, 4281, 48, 4282, 44, 4283, 40, 4284, 36, 4285, 32, 4286, 28, 4287, 24 , // NOLINT
1567 4288, 20, 4289, 16, 4290, 12, 4291, 8, 4292, 4, 4293, 0, 7936, 28, 7937, 24, // NOLINT
1568 7938, 20, 7939, 16, 7940, 12, 7941, 8, 7942, 4, 7943, 0, 7944, 28, 7945, 24, // NOLINT
1569 7946, 20, 7947, 16, 7948, 12, 7949, 8, 7950, 4, 7951, 0, 7952, 20, 7953, 16, // NOLINT
1570 7954, 12, 7955, 8, 7956, 4, 7957, 0, 7960, 20, 7961, 16, 7962, 12, 7963, 8, / / NOLINT
1571 7964, 4, 7965, 0, 7968, 28, 7969, 24, 7970, 20, 7971, 16, 7972, 12, 7973, 8, // NOLINT
1572 7974, 4, 7975, 0, 7976, 28, 7977, 24, 7978, 20, 7979, 16, 7980, 12, 7981, 8, // NOLINT
1573 7982, 4, 7983, 0, 7984, 28, 7985, 24, 7986, 20, 7987, 16, 7988, 12, 7989, 8, // NOLINT
1574 7990, 4, 7991, 0, 7992, 28, 7993, 24, 7994, 20, 7995, 16, 7996, 12, 7997, 8, // NOLINT
1575 7998, 4, 7999, 0, 8000, 20, 8001, 16, 8002, 12, 8003, 8, 8004, 4, 8005, 0, // NOLINT
1576 8008, 20, 8009, 16, 8010, 12, 8011, 8, 8012, 4, 8013, 0, 8032, 28, 8033, 24, // NOLINT
1577 8034, 20, 8035, 16, 8036, 12, 8037, 8, 8038, 4, 8039, 0, 8040, 28, 8041, 24, // NOLINT
1578 8042, 20, 8043, 16, 8044, 12, 8045, 8, 8046, 4, 8047, 0, 8048, 4, 8049, 0, // NOLINT
1579 8050, 12, 8051, 8, 8052, 4, 8053, 0, 8054, 4, 8055, 0, 8056, 4, 8057, 0, // N OLINT
1580 8058, 4, 8059, 0, 8060, 4, 8061, 0, 8112, 4, 8113, 0, 8120, 4, 8121, 0, // NO LINT
1581 8122, 4, 8123, 0, 8136, 12, 8137, 8, 8138, 4, 8139, 0, 8144, 4, 8145, 0, // N OLINT
1582 8152, 4, 8153, 0, 8154, 4, 8155, 0, 8160, 4, 8161, 0, 8168, 4, 8169, 0, // NO LINT
1583 8170, 4, 8171, 0, 8184, 4, 8185, 0, 8186, 4, 8187, 0, 8490, 4, 8491, 0, // NO LINT
1584 8544, 60, 8545, 56, 8546, 52, 8547, 48, 8548, 44, 8549, 40, 8550, 36, 8551, 32 , // NOLINT
1585 8552, 28, 8553, 24, 8554, 20, 8555, 16, 8556, 12, 8557, 8, 8558, 4, 8559, 0, // NOLINT
1586 8560, 60, 8561, 56, 8562, 52, 8563, 48, 8564, 44, 8565, 40, 8566, 36, 8567, 32 , // NOLINT
1587 8568, 28, 8569, 24, 8570, 20, 8571, 16, 8572, 12, 8573, 8, 8574, 4, 8575, 0, // NOLINT
1588 9398, 100, 9399, 96, 9400, 92, 9401, 88, 9402, 84, 9403, 80, 9404, 76, 9405, 7 2, // NOLINT
1589 9406, 68, 9407, 64, 9408, 60, 9409, 56, 9410, 52, 9411, 48, 9412, 44, 9413, 40 , // NOLINT
1590 9414, 36, 9415, 32, 9416, 28, 9417, 24, 9418, 20, 9419, 16, 9420, 12, 9421, 8, // NOLINT
1591 9422, 4, 9423, 0, 9424, 100, 9425, 96, 9426, 92, 9427, 88, 9428, 84, 9429, 80, // NOLINT
1592 9430, 76, 9431, 72, 9432, 68, 9433, 64, 9434, 60, 9435, 56, 9436, 52, 9437, 48 , // NOLINT
1593 9438, 44, 9439, 40, 9440, 36, 9441, 32, 9442, 28, 9443, 24, 9444, 20, 9445, 16 , // NOLINT
1594 9446, 12, 9447, 8, 9448, 4, 9449, 0, 11264, 184, 11265, 180, 11266, 176, 11267 , 172, // NOLINT
1595 11268, 168, 11269, 164, 11270, 160, 11271, 156, 11272, 152, 11273, 148, 11274, 144, 11275, 140, // NOLINT
1596 11276, 136, 11277, 132, 11278, 128, 11279, 124, 11280, 120, 11281, 116, 11282, 112, 11283, 108, // NOLINT
1597 11284, 104, 11285, 100, 11286, 96, 11287, 92, 11288, 88, 11289, 84, 11290, 80, 11291, 76, // NOLINT
1598 11292, 72, 11293, 68, 11294, 64, 11295, 60, 11296, 56, 11297, 52, 11298, 48, 1 1299, 44, // NOLINT
1599 11300, 40, 11301, 36, 11302, 32, 11303, 28, 11304, 24, 11305, 20, 11306, 16, 1 1307, 12, // NOLINT
1600 11308, 8, 11309, 4, 11310, 0, 11312, 184, 11313, 180, 11314, 176, 11315, 172, 11316, 168, // NOLINT
1601 11317, 164, 11318, 160, 11319, 156, 11320, 152, 11321, 148, 11322, 144, 11323, 140, 11324, 136, // NOLINT
1602 11325, 132, 11326, 128, 11327, 124, 11328, 120, 11329, 116, 11330, 112, 11331, 108, 11332, 104, // NOLINT
1603 11333, 100, 11334, 96, 11335, 92, 11336, 88, 11337, 84, 11338, 80, 11339, 76, 11340, 72, // NOLINT
1604 11341, 68, 11342, 64, 11343, 60, 11344, 56, 11345, 52, 11346, 48, 11347, 44, 1 1348, 40, // NOLINT
1605 11349, 36, 11350, 32, 11351, 28, 11352, 24, 11353, 20, 11354, 16, 11355, 12, 1 1356, 8, // NOLINT
1606 11357, 4, 11358, 0, 11520, 148, 11521, 144, 11522, 140, 11523, 136, 11524, 132 , 11525, 128, // NOLINT
1607 11526, 124, 11527, 120, 11528, 116, 11529, 112, 11530, 108, 11531, 104, 11532, 100, 11533, 96, // NOLINT
1608 11534, 92, 11535, 88, 11536, 84, 11537, 80, 11538, 76, 11539, 72, 11540, 68, 1 1541, 64, // NOLINT
1609 11542, 60, 11543, 56, 11544, 52, 11545, 48, 11546, 44, 11547, 40, 11548, 36, 1 1549, 32, // NOLINT
1610 11550, 28, 11551, 24, 11552, 20, 11553, 16, 11554, 12, 11555, 8, 11556, 4, 115 57, 0 }; // NOLINT
1611 static const MultiCharacterSpecialCase<1> kCanonicalizationRangeMultiStrings1[] = { // NOLINT
1612 {0, {0}} }; // NOLINT
1613 static const uint16_t kCanonicalizationRangeTable1Size = 52;
1614 static const int32_t kCanonicalizationRangeTable1[104] = {
1615 32545, 100, 32546, 96, 32547, 92, 32548, 88, 32549, 84, 32550, 80, 32551, 76, 32552, 72, // NOLINT
1616 32553, 68, 32554, 64, 32555, 60, 32556, 56, 32557, 52, 32558, 48, 32559, 44, 3 2560, 40, // NOLINT
1617 32561, 36, 32562, 32, 32563, 28, 32564, 24, 32565, 20, 32566, 16, 32567, 12, 3 2568, 8, // NOLINT
1618 32569, 4, 32570, 0, 32577, 100, 32578, 96, 32579, 92, 32580, 88, 32581, 84, 32 582, 80, // NOLINT
1619 32583, 76, 32584, 72, 32585, 68, 32586, 64, 32587, 60, 32588, 56, 32589, 52, 3 2590, 48, // NOLINT
1620 32591, 44, 32592, 40, 32593, 36, 32594, 32, 32595, 28, 32596, 24, 32597, 20, 3 2598, 16, // NOLINT
1621 32599, 12, 32600, 8, 32601, 4, 32602, 0 }; // NOLINT
718 int CanonicalizationRange::Convert(uchar c, 1622 int CanonicalizationRange::Convert(uchar c,
719 uchar n, 1623 uchar n,
720 uchar* result, 1624 uchar* result,
721 bool* allow_caching_ptr) { 1625 bool* allow_caching_ptr) {
722 int chunk_index = c >> 15; 1626 int chunk_index = c >> 15;
723 switch (chunk_index) { 1627 switch (chunk_index) {
724 case 0: return LookupMapping(kCanonicalizationRangeTable0, 1628 case 0: return LookupMapping(kCanonicalizationRangeTable0,
725 kCanonicalizationRangeTable0Size, 1629 kCanonicalizationRangeTable0Size,
726 kCanonicalizationRangeMultiStrings0, 1630 kCanonicalizationRangeMultiStrings0,
727 c, 1631 c,
728 n, 1632 n,
729 result, 1633 result,
730 allow_caching_ptr); 1634 allow_caching_ptr);
731 case 1: return LookupMapping(kCanonicalizationRangeTable1, 1635 case 1: return LookupMapping(kCanonicalizationRangeTable1,
732 kCanonicalizationRangeTable1Size, 1636 kCanonicalizationRangeTable1Size,
733 kCanonicalizationRangeMultiStrings1, 1637 kCanonicalizationRangeMultiStrings1,
734 c, 1638 c,
735 n, 1639 n,
736 result, 1640 result,
737 allow_caching_ptr); 1641 allow_caching_ptr);
738 default: return 0; 1642 default: return 0;
739 } 1643 }
740 } 1644 }
741 1645
742 1646
743 uchar UnicodeData::kMaxCodePoint = 1114109; 1647 uchar UnicodeData::kMaxCodePoint = 65533;
744 1648
745 int UnicodeData::GetByteCount() { 1649 int UnicodeData::GetByteCount() {
746 return 0 + (sizeof(uint16_t) * kUppercaseTable0Size) + (sizeof(uint16_t) * kUp percaseTable1Size) + (sizeof(uint16_t) * kUppercaseTable2Size) + (sizeof(uint16_ t) * kUppercaseTable3Size) + (sizeof(uint16_t) * kLowercaseTable0Size) + (sizeof (uint16_t) * kLowercaseTable1Size) + (sizeof(uint16_t) * kLowercaseTable2Size) + (sizeof(uint16_t) * kLowercaseTable3Size) + (sizeof(uint16_t) * kLetterTable0Si ze) + (sizeof(uint16_t) * kLetterTable1Size) + (sizeof(uint16_t) * kLetterTable2 Size) + (sizeof(uint16_t) * kLetterTable3Size) + (sizeof(uint16_t) * kLetterTabl e4Size) + (sizeof(uint16_t) * kLetterTable5Size) + (sizeof(uint16_t) * kSpaceTab le0Size) + (sizeof(uint16_t) * kNumberTable0Size) + (sizeof(uint16_t) * kNumberT able1Size) + (sizeof(uint16_t) * kNumberTable2Size) + (sizeof(uint16_t) * kNumbe rTable3Size) + (sizeof(uint16_t) * kWhiteSpaceTable0Size) + (sizeof(uint16_t) * kLineTerminatorTable0Size) + (sizeof(uint16_t) * kCombiningMarkTable0Size) + (si zeof(uint16_t) * kCombiningMarkTable1Size) + (sizeof(uint16_t) * kCombiningMarkT able2Size) + (sizeof(uint16_t) * kCombiningMarkTable3Size) + (sizeof(uint16_t) * kCombiningMarkTable28Size) + (sizeof(uint16_t) * kConnectorPunctuationTable0Siz e) + (sizeof(uint16_t) * kConnectorPunctuationTable1Size) + (sizeof(uint16_t) * kToLowercaseTable0Size) + (sizeof(uint16_t) * kToLowercaseTable1Size) + (sizeof( uint16_t) * kToLowercaseTable2Size) + (sizeof(uint16_t) * kToUppercaseTable0Size ) + (sizeof(uint16_t) * kToUppercaseTable1Size) + (sizeof(uint16_t) * kToUpperca seTable2Size) + (sizeof(uint16_t) * kEcma262CanonicalizeTable0Size) + (sizeof(ui nt16_t) * kEcma262CanonicalizeTable1Size) + (sizeof(uint16_t) * kEcma262Canonica lizeTable2Size) + (sizeof(uint16_t) * kEcma262UnCanonicalizeTable0Size) + (sizeo f(uint16_t) * kEcma262UnCanonicalizeTable1Size) + (sizeof(uint16_t) * kEcma262Un CanonicalizeTable2Size) + (sizeof(uint16_t) * kCanonicalizationRangeTable0Size) + (sizeof(uint16_t) * kCanonicalizationRangeTable1Size); // NOLINT 1650 return 0 + (sizeof(int32_t) * kUppercaseTable0Size) + (sizeof(int32_t) * kUppe rcaseTable1Size) + (sizeof(int32_t) * kLowercaseTable0Size) + (sizeof(int32_t) * kLowercaseTable1Size) + (sizeof(int32_t) * kLetterTable0Size) + (sizeof(int32_t ) * kLetterTable1Size) + (sizeof(int32_t) * kSpaceTable0Size) + (sizeof(int32_t) * kNumberTable0Size) + (sizeof(int32_t) * kNumberTable1Size) + (sizeof(int32_t) * kWhiteSpaceTable0Size) + (sizeof(int32_t) * kLineTerminatorTable0Size) + (siz eof(int32_t) * kCombiningMarkTable0Size) + (sizeof(int32_t) * kCombiningMarkTabl e1Size) + (sizeof(int32_t) * kConnectorPunctuationTable0Size) + (sizeof(int32_t) * kConnectorPunctuationTable1Size) + (sizeof(int32_t) * kToLowercaseTable0Size) + (sizeof(int32_t) * kToLowercaseTable1Size) + (sizeof(int32_t) * kToUppercaseT able0Size) + (sizeof(int32_t) * kToUppercaseTable1Size) + (sizeof(int32_t) * kEc ma262CanonicalizeTable0Size) + (sizeof(int32_t) * kEcma262CanonicalizeTable1Size ) + (sizeof(int32_t) * kEcma262UnCanonicalizeTable0Size) + (sizeof(int32_t) * kE cma262UnCanonicalizeTable1Size) + (sizeof(int32_t) * kCanonicalizationRangeTable 0Size) + (sizeof(int32_t) * kCanonicalizationRangeTable1Size); // NOLINT
747 } 1651 }
748 1652
749 } // namespace unicode 1653 } // namespace unicode
OLDNEW
« no previous file with comments | « src/unicode.h ('k') | src/unicode-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698