1#![allow(clippy::unreadable_literal)]
9
10pub(crate) fn update(mut state: u64, bytes: &[u8]) -> u64 {
11 let (left, middle, right) = unsafe { bytes.align_to::<[u8; 16]>() };
13 for b in left {
14 state = update_1(state, *b);
15 }
16 for b in middle {
17 state = update_16(state, b);
18 }
19 for b in right {
20 state = update_1(state, *b);
21 }
22 state
23}
24
25fn update_1(state: u64, b: u8) -> u64 {
27 (state >> 8) ^ TABLE_0[usize::from(b ^ (state as u8))]
28}
29
30fn update_16(state: u64, b: &[u8; 16]) -> u64 {
32 let s = state.to_le_bytes();
33 TABLE_0[usize::from(b[15])]
34 ^ TABLE_1[usize::from(b[14])]
35 ^ TABLE_2[usize::from(b[13])]
36 ^ TABLE_3[usize::from(b[12])]
37 ^ TABLE_4[usize::from(b[11])]
38 ^ TABLE_5[usize::from(b[10])]
39 ^ TABLE_6[usize::from(b[9])]
40 ^ TABLE_7[usize::from(b[8])]
41 ^ TABLE_8[usize::from(b[7] ^ s[7])]
42 ^ TABLE_9[usize::from(b[6] ^ s[6])]
43 ^ TABLE_10[usize::from(b[5] ^ s[5])]
44 ^ TABLE_11[usize::from(b[4] ^ s[4])]
45 ^ TABLE_12[usize::from(b[3] ^ s[3])]
46 ^ TABLE_13[usize::from(b[2] ^ s[2])]
47 ^ TABLE_14[usize::from(b[1] ^ s[1])]
48 ^ TABLE_15[usize::from(b[0] ^ s[0])]
49}
50
51pub(crate) const K_127: u64 = 0xdabe_95af_c787_5f40; pub(crate) const K_191: u64 = 0xe05d_d497_ca39_3ae4; pub(crate) const K_255: u64 = 0x3be6_53a3_0fe1_af51;
56pub(crate) const K_319: u64 = 0x6009_5b00_8a9e_fa44;
57pub(crate) const K_383: u64 = 0x69a3_5d91_c373_0254;
58pub(crate) const K_447: u64 = 0xb5ea_1af9_c013_aca4;
59pub(crate) const K_511: u64 = 0x081f_6054_a784_2df4;
60pub(crate) const K_575: u64 = 0x6ae3_efbb_9dd4_41f3;
61pub(crate) const K_639: u64 = 0x0e31_d519_421a_63a5;
62pub(crate) const K_703: u64 = 0x2e30_2032_12ca_c325;
63pub(crate) const K_767: u64 = 0xe4ce_2cd5_5fea_0037;
64pub(crate) const K_831: u64 = 0x2fe3_fd29_20ce_82ec;
65pub(crate) const K_895: u64 = 0x9478_74de_5950_52cb;
66pub(crate) const K_959: u64 = 0x9e73_5cb5_9b47_24da;
67pub(crate) const K_1023: u64 = 0xd7d8_6b2a_f73d_e740;
68pub(crate) const K_1087: u64 = 0x8757_d71d_4fcc_1000;
69
70pub(crate) const POLY: u64 = 0x92d8_af2b_af0e_1e85;
72
73pub(crate) const MU: u64 = 0x9c3e_466c_1729_63d5;
75
76static TABLE_0: [u64; 256] = [
82 0x0000000000000000,
83 0xb32e4cbe03a75f6f,
84 0xf4843657a840a05b,
85 0x47aa7ae9abe7ff34,
86 0x7bd0c384ff8f5e33,
87 0xc8fe8f3afc28015c,
88 0x8f54f5d357cffe68,
89 0x3c7ab96d5468a107,
90 0xf7a18709ff1ebc66,
91 0x448fcbb7fcb9e309,
92 0x0325b15e575e1c3d,
93 0xb00bfde054f94352,
94 0x8c71448d0091e255,
95 0x3f5f08330336bd3a,
96 0x78f572daa8d1420e,
97 0xcbdb3e64ab761d61,
98 0x7d9ba13851336649,
99 0xceb5ed8652943926,
100 0x891f976ff973c612,
101 0x3a31dbd1fad4997d,
102 0x064b62bcaebc387a,
103 0xb5652e02ad1b6715,
104 0xf2cf54eb06fc9821,
105 0x41e11855055bc74e,
106 0x8a3a2631ae2dda2f,
107 0x39146a8fad8a8540,
108 0x7ebe1066066d7a74,
109 0xcd905cd805ca251b,
110 0xf1eae5b551a2841c,
111 0x42c4a90b5205db73,
112 0x056ed3e2f9e22447,
113 0xb6409f5cfa457b28,
114 0xfb374270a266cc92,
115 0x48190ecea1c193fd,
116 0x0fb374270a266cc9,
117 0xbc9d3899098133a6,
118 0x80e781f45de992a1,
119 0x33c9cd4a5e4ecdce,
120 0x7463b7a3f5a932fa,
121 0xc74dfb1df60e6d95,
122 0x0c96c5795d7870f4,
123 0xbfb889c75edf2f9b,
124 0xf812f32ef538d0af,
125 0x4b3cbf90f69f8fc0,
126 0x774606fda2f72ec7,
127 0xc4684a43a15071a8,
128 0x83c230aa0ab78e9c,
129 0x30ec7c140910d1f3,
130 0x86ace348f355aadb,
131 0x3582aff6f0f2f5b4,
132 0x7228d51f5b150a80,
133 0xc10699a158b255ef,
134 0xfd7c20cc0cdaf4e8,
135 0x4e526c720f7dab87,
136 0x09f8169ba49a54b3,
137 0xbad65a25a73d0bdc,
138 0x710d64410c4b16bd,
139 0xc22328ff0fec49d2,
140 0x85895216a40bb6e6,
141 0x36a71ea8a7ace989,
142 0x0adda7c5f3c4488e,
143 0xb9f3eb7bf06317e1,
144 0xfe5991925b84e8d5,
145 0x4d77dd2c5823b7ba,
146 0x64b62bcaebc387a1,
147 0xd7986774e864d8ce,
148 0x90321d9d438327fa,
149 0x231c512340247895,
150 0x1f66e84e144cd992,
151 0xac48a4f017eb86fd,
152 0xebe2de19bc0c79c9,
153 0x58cc92a7bfab26a6,
154 0x9317acc314dd3bc7,
155 0x2039e07d177a64a8,
156 0x67939a94bc9d9b9c,
157 0xd4bdd62abf3ac4f3,
158 0xe8c76f47eb5265f4,
159 0x5be923f9e8f53a9b,
160 0x1c4359104312c5af,
161 0xaf6d15ae40b59ac0,
162 0x192d8af2baf0e1e8,
163 0xaa03c64cb957be87,
164 0xeda9bca512b041b3,
165 0x5e87f01b11171edc,
166 0x62fd4976457fbfdb,
167 0xd1d305c846d8e0b4,
168 0x96797f21ed3f1f80,
169 0x2557339fee9840ef,
170 0xee8c0dfb45ee5d8e,
171 0x5da24145464902e1,
172 0x1a083bacedaefdd5,
173 0xa9267712ee09a2ba,
174 0x955cce7fba6103bd,
175 0x267282c1b9c65cd2,
176 0x61d8f8281221a3e6,
177 0xd2f6b4961186fc89,
178 0x9f8169ba49a54b33,
179 0x2caf25044a02145c,
180 0x6b055fede1e5eb68,
181 0xd82b1353e242b407,
182 0xe451aa3eb62a1500,
183 0x577fe680b58d4a6f,
184 0x10d59c691e6ab55b,
185 0xa3fbd0d71dcdea34,
186 0x6820eeb3b6bbf755,
187 0xdb0ea20db51ca83a,
188 0x9ca4d8e41efb570e,
189 0x2f8a945a1d5c0861,
190 0x13f02d374934a966,
191 0xa0de61894a93f609,
192 0xe7741b60e174093d,
193 0x545a57dee2d35652,
194 0xe21ac88218962d7a,
195 0x5134843c1b317215,
196 0x169efed5b0d68d21,
197 0xa5b0b26bb371d24e,
198 0x99ca0b06e7197349,
199 0x2ae447b8e4be2c26,
200 0x6d4e3d514f59d312,
201 0xde6071ef4cfe8c7d,
202 0x15bb4f8be788911c,
203 0xa6950335e42fce73,
204 0xe13f79dc4fc83147,
205 0x521135624c6f6e28,
206 0x6e6b8c0f1807cf2f,
207 0xdd45c0b11ba09040,
208 0x9aefba58b0476f74,
209 0x29c1f6e6b3e0301b,
210 0xc96c5795d7870f42,
211 0x7a421b2bd420502d,
212 0x3de861c27fc7af19,
213 0x8ec62d7c7c60f076,
214 0xb2bc941128085171,
215 0x0192d8af2baf0e1e,
216 0x4638a2468048f12a,
217 0xf516eef883efae45,
218 0x3ecdd09c2899b324,
219 0x8de39c222b3eec4b,
220 0xca49e6cb80d9137f,
221 0x7967aa75837e4c10,
222 0x451d1318d716ed17,
223 0xf6335fa6d4b1b278,
224 0xb199254f7f564d4c,
225 0x02b769f17cf11223,
226 0xb4f7f6ad86b4690b,
227 0x07d9ba1385133664,
228 0x4073c0fa2ef4c950,
229 0xf35d8c442d53963f,
230 0xcf273529793b3738,
231 0x7c0979977a9c6857,
232 0x3ba3037ed17b9763,
233 0x888d4fc0d2dcc80c,
234 0x435671a479aad56d,
235 0xf0783d1a7a0d8a02,
236 0xb7d247f3d1ea7536,
237 0x04fc0b4dd24d2a59,
238 0x3886b22086258b5e,
239 0x8ba8fe9e8582d431,
240 0xcc0284772e652b05,
241 0x7f2cc8c92dc2746a,
242 0x325b15e575e1c3d0,
243 0x8175595b76469cbf,
244 0xc6df23b2dda1638b,
245 0x75f16f0cde063ce4,
246 0x498bd6618a6e9de3,
247 0xfaa59adf89c9c28c,
248 0xbd0fe036222e3db8,
249 0x0e21ac88218962d7,
250 0xc5fa92ec8aff7fb6,
251 0x76d4de52895820d9,
252 0x317ea4bb22bfdfed,
253 0x8250e80521188082,
254 0xbe2a516875702185,
255 0x0d041dd676d77eea,
256 0x4aae673fdd3081de,
257 0xf9802b81de97deb1,
258 0x4fc0b4dd24d2a599,
259 0xfceef8632775faf6,
260 0xbb44828a8c9205c2,
261 0x086ace348f355aad,
262 0x34107759db5dfbaa,
263 0x873e3be7d8faa4c5,
264 0xc094410e731d5bf1,
265 0x73ba0db070ba049e,
266 0xb86133d4dbcc19ff,
267 0x0b4f7f6ad86b4690,
268 0x4ce50583738cb9a4,
269 0xffcb493d702be6cb,
270 0xc3b1f050244347cc,
271 0x709fbcee27e418a3,
272 0x3735c6078c03e797,
273 0x841b8ab98fa4b8f8,
274 0xadda7c5f3c4488e3,
275 0x1ef430e13fe3d78c,
276 0x595e4a08940428b8,
277 0xea7006b697a377d7,
278 0xd60abfdbc3cbd6d0,
279 0x6524f365c06c89bf,
280 0x228e898c6b8b768b,
281 0x91a0c532682c29e4,
282 0x5a7bfb56c35a3485,
283 0xe955b7e8c0fd6bea,
284 0xaeffcd016b1a94de,
285 0x1dd181bf68bdcbb1,
286 0x21ab38d23cd56ab6,
287 0x9285746c3f7235d9,
288 0xd52f0e859495caed,
289 0x6601423b97329582,
290 0xd041dd676d77eeaa,
291 0x636f91d96ed0b1c5,
292 0x24c5eb30c5374ef1,
293 0x97eba78ec690119e,
294 0xab911ee392f8b099,
295 0x18bf525d915feff6,
296 0x5f1528b43ab810c2,
297 0xec3b640a391f4fad,
298 0x27e05a6e926952cc,
299 0x94ce16d091ce0da3,
300 0xd3646c393a29f297,
301 0x604a2087398eadf8,
302 0x5c3099ea6de60cff,
303 0xef1ed5546e415390,
304 0xa8b4afbdc5a6aca4,
305 0x1b9ae303c601f3cb,
306 0x56ed3e2f9e224471,
307 0xe5c372919d851b1e,
308 0xa26908783662e42a,
309 0x114744c635c5bb45,
310 0x2d3dfdab61ad1a42,
311 0x9e13b115620a452d,
312 0xd9b9cbfcc9edba19,
313 0x6a978742ca4ae576,
314 0xa14cb926613cf817,
315 0x1262f598629ba778,
316 0x55c88f71c97c584c,
317 0xe6e6c3cfcadb0723,
318 0xda9c7aa29eb3a624,
319 0x69b2361c9d14f94b,
320 0x2e184cf536f3067f,
321 0x9d36004b35545910,
322 0x2b769f17cf112238,
323 0x9858d3a9ccb67d57,
324 0xdff2a94067518263,
325 0x6cdce5fe64f6dd0c,
326 0x50a65c93309e7c0b,
327 0xe388102d33392364,
328 0xa4226ac498dedc50,
329 0x170c267a9b79833f,
330 0xdcd7181e300f9e5e,
331 0x6ff954a033a8c131,
332 0x28532e49984f3e05,
333 0x9b7d62f79be8616a,
334 0xa707db9acf80c06d,
335 0x14299724cc279f02,
336 0x5383edcd67c06036,
337 0xe0ada17364673f59,
338];
339
340static TABLE_1: [u64; 256] = [
343 0x0000000000000000,
344 0x54e979925cd0f10d,
345 0xa9d2f324b9a1e21a,
346 0xfd3b8ab6e5711317,
347 0xc17d4962dc4ddab1,
348 0x959430f0809d2bbc,
349 0x68afba4665ec38ab,
350 0x3c46c3d4393cc9a6,
351 0x10223dee1795abe7,
352 0x44cb447c4b455aea,
353 0xb9f0cecaae3449fd,
354 0xed19b758f2e4b8f0,
355 0xd15f748ccbd87156,
356 0x85b60d1e9708805b,
357 0x788d87a87279934c,
358 0x2c64fe3a2ea96241,
359 0x20447bdc2f2b57ce,
360 0x74ad024e73fba6c3,
361 0x899688f8968ab5d4,
362 0xdd7ff16aca5a44d9,
363 0xe13932bef3668d7f,
364 0xb5d04b2cafb67c72,
365 0x48ebc19a4ac76f65,
366 0x1c02b80816179e68,
367 0x3066463238befc29,
368 0x648f3fa0646e0d24,
369 0x99b4b516811f1e33,
370 0xcd5dcc84ddcfef3e,
371 0xf11b0f50e4f32698,
372 0xa5f276c2b823d795,
373 0x58c9fc745d52c482,
374 0x0c2085e60182358f,
375 0x4088f7b85e56af9c,
376 0x14618e2a02865e91,
377 0xe95a049ce7f74d86,
378 0xbdb37d0ebb27bc8b,
379 0x81f5beda821b752d,
380 0xd51cc748decb8420,
381 0x28274dfe3bba9737,
382 0x7cce346c676a663a,
383 0x50aaca5649c3047b,
384 0x0443b3c41513f576,
385 0xf9783972f062e661,
386 0xad9140e0acb2176c,
387 0x91d78334958edeca,
388 0xc53efaa6c95e2fc7,
389 0x380570102c2f3cd0,
390 0x6cec098270ffcddd,
391 0x60cc8c64717df852,
392 0x3425f5f62dad095f,
393 0xc91e7f40c8dc1a48,
394 0x9df706d2940ceb45,
395 0xa1b1c506ad3022e3,
396 0xf558bc94f1e0d3ee,
397 0x086336221491c0f9,
398 0x5c8a4fb0484131f4,
399 0x70eeb18a66e853b5,
400 0x2407c8183a38a2b8,
401 0xd93c42aedf49b1af,
402 0x8dd53b3c839940a2,
403 0xb193f8e8baa58904,
404 0xe57a817ae6757809,
405 0x18410bcc03046b1e,
406 0x4ca8725e5fd49a13,
407 0x8111ef70bcad5f38,
408 0xd5f896e2e07dae35,
409 0x28c31c54050cbd22,
410 0x7c2a65c659dc4c2f,
411 0x406ca61260e08589,
412 0x1485df803c307484,
413 0xe9be5536d9416793,
414 0xbd572ca48591969e,
415 0x9133d29eab38f4df,
416 0xc5daab0cf7e805d2,
417 0x38e121ba129916c5,
418 0x6c0858284e49e7c8,
419 0x504e9bfc77752e6e,
420 0x04a7e26e2ba5df63,
421 0xf99c68d8ced4cc74,
422 0xad75114a92043d79,
423 0xa15594ac938608f6,
424 0xf5bced3ecf56f9fb,
425 0x088767882a27eaec,
426 0x5c6e1e1a76f71be1,
427 0x6028ddce4fcbd247,
428 0x34c1a45c131b234a,
429 0xc9fa2eeaf66a305d,
430 0x9d135778aabac150,
431 0xb177a9428413a311,
432 0xe59ed0d0d8c3521c,
433 0x18a55a663db2410b,
434 0x4c4c23f46162b006,
435 0x700ae020585e79a0,
436 0x24e399b2048e88ad,
437 0xd9d81304e1ff9bba,
438 0x8d316a96bd2f6ab7,
439 0xc19918c8e2fbf0a4,
440 0x9570615abe2b01a9,
441 0x684bebec5b5a12be,
442 0x3ca2927e078ae3b3,
443 0x00e451aa3eb62a15,
444 0x540d28386266db18,
445 0xa936a28e8717c80f,
446 0xfddfdb1cdbc73902,
447 0xd1bb2526f56e5b43,
448 0x85525cb4a9beaa4e,
449 0x7869d6024ccfb959,
450 0x2c80af90101f4854,
451 0x10c66c44292381f2,
452 0x442f15d675f370ff,
453 0xb9149f60908263e8,
454 0xedfde6f2cc5292e5,
455 0xe1dd6314cdd0a76a,
456 0xb5341a8691005667,
457 0x480f903074714570,
458 0x1ce6e9a228a1b47d,
459 0x20a02a76119d7ddb,
460 0x744953e44d4d8cd6,
461 0x8972d952a83c9fc1,
462 0xdd9ba0c0f4ec6ecc,
463 0xf1ff5efada450c8d,
464 0xa51627688695fd80,
465 0x582dadde63e4ee97,
466 0x0cc4d44c3f341f9a,
467 0x308217980608d63c,
468 0x646b6e0a5ad82731,
469 0x9950e4bcbfa93426,
470 0xcdb99d2ee379c52b,
471 0x90fb71cad654a0f5,
472 0xc41208588a8451f8,
473 0x392982ee6ff542ef,
474 0x6dc0fb7c3325b3e2,
475 0x518638a80a197a44,
476 0x056f413a56c98b49,
477 0xf854cb8cb3b8985e,
478 0xacbdb21eef686953,
479 0x80d94c24c1c10b12,
480 0xd43035b69d11fa1f,
481 0x290bbf007860e908,
482 0x7de2c69224b01805,
483 0x41a405461d8cd1a3,
484 0x154d7cd4415c20ae,
485 0xe876f662a42d33b9,
486 0xbc9f8ff0f8fdc2b4,
487 0xb0bf0a16f97ff73b,
488 0xe4567384a5af0636,
489 0x196df93240de1521,
490 0x4d8480a01c0ee42c,
491 0x71c2437425322d8a,
492 0x252b3ae679e2dc87,
493 0xd810b0509c93cf90,
494 0x8cf9c9c2c0433e9d,
495 0xa09d37f8eeea5cdc,
496 0xf4744e6ab23aadd1,
497 0x094fc4dc574bbec6,
498 0x5da6bd4e0b9b4fcb,
499 0x61e07e9a32a7866d,
500 0x350907086e777760,
501 0xc8328dbe8b066477,
502 0x9cdbf42cd7d6957a,
503 0xd073867288020f69,
504 0x849affe0d4d2fe64,
505 0x79a1755631a3ed73,
506 0x2d480cc46d731c7e,
507 0x110ecf10544fd5d8,
508 0x45e7b682089f24d5,
509 0xb8dc3c34edee37c2,
510 0xec3545a6b13ec6cf,
511 0xc051bb9c9f97a48e,
512 0x94b8c20ec3475583,
513 0x698348b826364694,
514 0x3d6a312a7ae6b799,
515 0x012cf2fe43da7e3f,
516 0x55c58b6c1f0a8f32,
517 0xa8fe01dafa7b9c25,
518 0xfc177848a6ab6d28,
519 0xf037fdaea72958a7,
520 0xa4de843cfbf9a9aa,
521 0x59e50e8a1e88babd,
522 0x0d0c771842584bb0,
523 0x314ab4cc7b648216,
524 0x65a3cd5e27b4731b,
525 0x989847e8c2c5600c,
526 0xcc713e7a9e159101,
527 0xe015c040b0bcf340,
528 0xb4fcb9d2ec6c024d,
529 0x49c73364091d115a,
530 0x1d2e4af655cde057,
531 0x216889226cf129f1,
532 0x7581f0b03021d8fc,
533 0x88ba7a06d550cbeb,
534 0xdc53039489803ae6,
535 0x11ea9eba6af9ffcd,
536 0x4503e72836290ec0,
537 0xb8386d9ed3581dd7,
538 0xecd1140c8f88ecda,
539 0xd097d7d8b6b4257c,
540 0x847eae4aea64d471,
541 0x794524fc0f15c766,
542 0x2dac5d6e53c5366b,
543 0x01c8a3547d6c542a,
544 0x5521dac621bca527,
545 0xa81a5070c4cdb630,
546 0xfcf329e2981d473d,
547 0xc0b5ea36a1218e9b,
548 0x945c93a4fdf17f96,
549 0x6967191218806c81,
550 0x3d8e608044509d8c,
551 0x31aee56645d2a803,
552 0x65479cf41902590e,
553 0x987c1642fc734a19,
554 0xcc956fd0a0a3bb14,
555 0xf0d3ac04999f72b2,
556 0xa43ad596c54f83bf,
557 0x59015f20203e90a8,
558 0x0de826b27cee61a5,
559 0x218cd888524703e4,
560 0x7565a11a0e97f2e9,
561 0x885e2bacebe6e1fe,
562 0xdcb7523eb73610f3,
563 0xe0f191ea8e0ad955,
564 0xb418e878d2da2858,
565 0x492362ce37ab3b4f,
566 0x1dca1b5c6b7bca42,
567 0x5162690234af5051,
568 0x058b1090687fa15c,
569 0xf8b09a268d0eb24b,
570 0xac59e3b4d1de4346,
571 0x901f2060e8e28ae0,
572 0xc4f659f2b4327bed,
573 0x39cdd344514368fa,
574 0x6d24aad60d9399f7,
575 0x414054ec233afbb6,
576 0x15a92d7e7fea0abb,
577 0xe892a7c89a9b19ac,
578 0xbc7bde5ac64be8a1,
579 0x803d1d8eff772107,
580 0xd4d4641ca3a7d00a,
581 0x29efeeaa46d6c31d,
582 0x7d0697381a063210,
583 0x712612de1b84079f,
584 0x25cf6b4c4754f692,
585 0xd8f4e1faa225e585,
586 0x8c1d9868fef51488,
587 0xb05b5bbcc7c9dd2e,
588 0xe4b2222e9b192c23,
589 0x1989a8987e683f34,
590 0x4d60d10a22b8ce39,
591 0x61042f300c11ac78,
592 0x35ed56a250c15d75,
593 0xc8d6dc14b5b04e62,
594 0x9c3fa586e960bf6f,
595 0xa0796652d05c76c9,
596 0xf4901fc08c8c87c4,
597 0x09ab957669fd94d3,
598 0x5d42ece4352d65de,
599];
600
601static TABLE_2: [u64; 256] = [
604 0x0000000000000000,
605 0x3f0be14a916a6dcb,
606 0x7e17c29522d4db96,
607 0x411c23dfb3beb65d,
608 0xfc2f852a45a9b72c,
609 0xc3246460d4c3dae7,
610 0x823847bf677d6cba,
611 0xbd33a6f5f6170171,
612 0x6a87a57f245d70dd,
613 0x558c4435b5371d16,
614 0x149067ea0689ab4b,
615 0x2b9b86a097e3c680,
616 0x96a8205561f4c7f1,
617 0xa9a3c11ff09eaa3a,
618 0xe8bfe2c043201c67,
619 0xd7b4038ad24a71ac,
620 0xd50f4afe48bae1ba,
621 0xea04abb4d9d08c71,
622 0xab18886b6a6e3a2c,
623 0x94136921fb0457e7,
624 0x2920cfd40d135696,
625 0x162b2e9e9c793b5d,
626 0x57370d412fc78d00,
627 0x683cec0bbeade0cb,
628 0xbf88ef816ce79167,
629 0x80830ecbfd8dfcac,
630 0xc19f2d144e334af1,
631 0xfe94cc5edf59273a,
632 0x43a76aab294e264b,
633 0x7cac8be1b8244b80,
634 0x3db0a83e0b9afddd,
635 0x02bb49749af09016,
636 0x38c63ad73e7bddf1,
637 0x07cddb9daf11b03a,
638 0x46d1f8421caf0667,
639 0x79da19088dc56bac,
640 0xc4e9bffd7bd26add,
641 0xfbe25eb7eab80716,
642 0xbafe7d685906b14b,
643 0x85f59c22c86cdc80,
644 0x52419fa81a26ad2c,
645 0x6d4a7ee28b4cc0e7,
646 0x2c565d3d38f276ba,
647 0x135dbc77a9981b71,
648 0xae6e1a825f8f1a00,
649 0x9165fbc8cee577cb,
650 0xd079d8177d5bc196,
651 0xef72395dec31ac5d,
652 0xedc9702976c13c4b,
653 0xd2c29163e7ab5180,
654 0x93deb2bc5415e7dd,
655 0xacd553f6c57f8a16,
656 0x11e6f50333688b67,
657 0x2eed1449a202e6ac,
658 0x6ff1379611bc50f1,
659 0x50fad6dc80d63d3a,
660 0x874ed556529c4c96,
661 0xb845341cc3f6215d,
662 0xf95917c370489700,
663 0xc652f689e122facb,
664 0x7b61507c1735fbba,
665 0x446ab136865f9671,
666 0x057692e935e1202c,
667 0x3a7d73a3a48b4de7,
668 0x718c75ae7cf7bbe2,
669 0x4e8794e4ed9dd629,
670 0x0f9bb73b5e236074,
671 0x30905671cf490dbf,
672 0x8da3f084395e0cce,
673 0xb2a811cea8346105,
674 0xf3b432111b8ad758,
675 0xccbfd35b8ae0ba93,
676 0x1b0bd0d158aacb3f,
677 0x2400319bc9c0a6f4,
678 0x651c12447a7e10a9,
679 0x5a17f30eeb147d62,
680 0xe72455fb1d037c13,
681 0xd82fb4b18c6911d8,
682 0x9933976e3fd7a785,
683 0xa6387624aebdca4e,
684 0xa4833f50344d5a58,
685 0x9b88de1aa5273793,
686 0xda94fdc5169981ce,
687 0xe59f1c8f87f3ec05,
688 0x58acba7a71e4ed74,
689 0x67a75b30e08e80bf,
690 0x26bb78ef533036e2,
691 0x19b099a5c25a5b29,
692 0xce049a2f10102a85,
693 0xf10f7b65817a474e,
694 0xb01358ba32c4f113,
695 0x8f18b9f0a3ae9cd8,
696 0x322b1f0555b99da9,
697 0x0d20fe4fc4d3f062,
698 0x4c3cdd90776d463f,
699 0x73373cdae6072bf4,
700 0x494a4f79428c6613,
701 0x7641ae33d3e60bd8,
702 0x375d8dec6058bd85,
703 0x08566ca6f132d04e,
704 0xb565ca530725d13f,
705 0x8a6e2b19964fbcf4,
706 0xcb7208c625f10aa9,
707 0xf479e98cb49b6762,
708 0x23cdea0666d116ce,
709 0x1cc60b4cf7bb7b05,
710 0x5dda28934405cd58,
711 0x62d1c9d9d56fa093,
712 0xdfe26f2c2378a1e2,
713 0xe0e98e66b212cc29,
714 0xa1f5adb901ac7a74,
715 0x9efe4cf390c617bf,
716 0x9c4505870a3687a9,
717 0xa34ee4cd9b5cea62,
718 0xe252c71228e25c3f,
719 0xdd592658b98831f4,
720 0x606a80ad4f9f3085,
721 0x5f6161e7def55d4e,
722 0x1e7d42386d4beb13,
723 0x2176a372fc2186d8,
724 0xf6c2a0f82e6bf774,
725 0xc9c941b2bf019abf,
726 0x88d5626d0cbf2ce2,
727 0xb7de83279dd54129,
728 0x0aed25d26bc24058,
729 0x35e6c498faa82d93,
730 0x74fae74749169bce,
731 0x4bf1060dd87cf605,
732 0xe318eb5cf9ef77c4,
733 0xdc130a1668851a0f,
734 0x9d0f29c9db3bac52,
735 0xa204c8834a51c199,
736 0x1f376e76bc46c0e8,
737 0x203c8f3c2d2cad23,
738 0x6120ace39e921b7e,
739 0x5e2b4da90ff876b5,
740 0x899f4e23ddb20719,
741 0xb694af694cd86ad2,
742 0xf7888cb6ff66dc8f,
743 0xc8836dfc6e0cb144,
744 0x75b0cb09981bb035,
745 0x4abb2a430971ddfe,
746 0x0ba7099cbacf6ba3,
747 0x34ace8d62ba50668,
748 0x3617a1a2b155967e,
749 0x091c40e8203ffbb5,
750 0x4800633793814de8,
751 0x770b827d02eb2023,
752 0xca382488f4fc2152,
753 0xf533c5c265964c99,
754 0xb42fe61dd628fac4,
755 0x8b2407574742970f,
756 0x5c9004dd9508e6a3,
757 0x639be59704628b68,
758 0x2287c648b7dc3d35,
759 0x1d8c270226b650fe,
760 0xa0bf81f7d0a1518f,
761 0x9fb460bd41cb3c44,
762 0xdea84362f2758a19,
763 0xe1a3a228631fe7d2,
764 0xdbded18bc794aa35,
765 0xe4d530c156fec7fe,
766 0xa5c9131ee54071a3,
767 0x9ac2f254742a1c68,
768 0x27f154a1823d1d19,
769 0x18fab5eb135770d2,
770 0x59e69634a0e9c68f,
771 0x66ed777e3183ab44,
772 0xb15974f4e3c9dae8,
773 0x8e5295be72a3b723,
774 0xcf4eb661c11d017e,
775 0xf045572b50776cb5,
776 0x4d76f1dea6606dc4,
777 0x727d1094370a000f,
778 0x3361334b84b4b652,
779 0x0c6ad20115dedb99,
780 0x0ed19b758f2e4b8f,
781 0x31da7a3f1e442644,
782 0x70c659e0adfa9019,
783 0x4fcdb8aa3c90fdd2,
784 0xf2fe1e5fca87fca3,
785 0xcdf5ff155bed9168,
786 0x8ce9dccae8532735,
787 0xb3e23d8079394afe,
788 0x64563e0aab733b52,
789 0x5b5ddf403a195699,
790 0x1a41fc9f89a7e0c4,
791 0x254a1dd518cd8d0f,
792 0x9879bb20eeda8c7e,
793 0xa7725a6a7fb0e1b5,
794 0xe66e79b5cc0e57e8,
795 0xd96598ff5d643a23,
796 0x92949ef28518cc26,
797 0xad9f7fb81472a1ed,
798 0xec835c67a7cc17b0,
799 0xd388bd2d36a67a7b,
800 0x6ebb1bd8c0b17b0a,
801 0x51b0fa9251db16c1,
802 0x10acd94de265a09c,
803 0x2fa73807730fcd57,
804 0xf8133b8da145bcfb,
805 0xc718dac7302fd130,
806 0x8604f9188391676d,
807 0xb90f185212fb0aa6,
808 0x043cbea7e4ec0bd7,
809 0x3b375fed7586661c,
810 0x7a2b7c32c638d041,
811 0x45209d785752bd8a,
812 0x479bd40ccda22d9c,
813 0x789035465cc84057,
814 0x398c1699ef76f60a,
815 0x0687f7d37e1c9bc1,
816 0xbbb45126880b9ab0,
817 0x84bfb06c1961f77b,
818 0xc5a393b3aadf4126,
819 0xfaa872f93bb52ced,
820 0x2d1c7173e9ff5d41,
821 0x121790397895308a,
822 0x530bb3e6cb2b86d7,
823 0x6c0052ac5a41eb1c,
824 0xd133f459ac56ea6d,
825 0xee3815133d3c87a6,
826 0xaf2436cc8e8231fb,
827 0x902fd7861fe85c30,
828 0xaa52a425bb6311d7,
829 0x9559456f2a097c1c,
830 0xd44566b099b7ca41,
831 0xeb4e87fa08dda78a,
832 0x567d210ffecaa6fb,
833 0x6976c0456fa0cb30,
834 0x286ae39adc1e7d6d,
835 0x176102d04d7410a6,
836 0xc0d5015a9f3e610a,
837 0xffdee0100e540cc1,
838 0xbec2c3cfbdeaba9c,
839 0x81c922852c80d757,
840 0x3cfa8470da97d626,
841 0x03f1653a4bfdbbed,
842 0x42ed46e5f8430db0,
843 0x7de6a7af6929607b,
844 0x7f5deedbf3d9f06d,
845 0x40560f9162b39da6,
846 0x014a2c4ed10d2bfb,
847 0x3e41cd0440674630,
848 0x83726bf1b6704741,
849 0xbc798abb271a2a8a,
850 0xfd65a96494a49cd7,
851 0xc26e482e05cef11c,
852 0x15da4ba4d78480b0,
853 0x2ad1aaee46eeed7b,
854 0x6bcd8931f5505b26,
855 0x54c6687b643a36ed,
856 0xe9f5ce8e922d379c,
857 0xd6fe2fc403475a57,
858 0x97e20c1bb0f9ec0a,
859 0xa8e9ed51219381c1,
860];
861
862static TABLE_3: [u64; 256] = [
865 0x0000000000000000,
866 0x1dee8a5e222ca1dc,
867 0x3bdd14bc445943b8,
868 0x26339ee26675e264,
869 0x77ba297888b28770,
870 0x6a54a326aa9e26ac,
871 0x4c673dc4ccebc4c8,
872 0x5189b79aeec76514,
873 0xef7452f111650ee0,
874 0xf29ad8af3349af3c,
875 0xd4a9464d553c4d58,
876 0xc947cc137710ec84,
877 0x98ce7b8999d78990,
878 0x8520f1d7bbfb284c,
879 0xa3136f35dd8eca28,
880 0xbefde56bffa26bf4,
881 0x4c300ac98dc40345,
882 0x51de8097afe8a299,
883 0x77ed1e75c99d40fd,
884 0x6a03942bebb1e121,
885 0x3b8a23b105768435,
886 0x2664a9ef275a25e9,
887 0x0057370d412fc78d,
888 0x1db9bd5363036651,
889 0xa34458389ca10da5,
890 0xbeaad266be8dac79,
891 0x98994c84d8f84e1d,
892 0x8577c6dafad4efc1,
893 0xd4fe714014138ad5,
894 0xc910fb1e363f2b09,
895 0xef2365fc504ac96d,
896 0xf2cdefa2726668b1,
897 0x986015931b88068a,
898 0x858e9fcd39a4a756,
899 0xa3bd012f5fd14532,
900 0xbe538b717dfde4ee,
901 0xefda3ceb933a81fa,
902 0xf234b6b5b1162026,
903 0xd4072857d763c242,
904 0xc9e9a209f54f639e,
905 0x771447620aed086a,
906 0x6afacd3c28c1a9b6,
907 0x4cc953de4eb44bd2,
908 0x5127d9806c98ea0e,
909 0x00ae6e1a825f8f1a,
910 0x1d40e444a0732ec6,
911 0x3b737aa6c606cca2,
912 0x269df0f8e42a6d7e,
913 0xd4501f5a964c05cf,
914 0xc9be9504b460a413,
915 0xef8d0be6d2154677,
916 0xf26381b8f039e7ab,
917 0xa3ea36221efe82bf,
918 0xbe04bc7c3cd22363,
919 0x9837229e5aa7c107,
920 0x85d9a8c0788b60db,
921 0x3b244dab87290b2f,
922 0x26cac7f5a505aaf3,
923 0x00f95917c3704897,
924 0x1d17d349e15ce94b,
925 0x4c9e64d30f9b8c5f,
926 0x5170ee8d2db72d83,
927 0x7743706f4bc2cfe7,
928 0x6aadfa3169ee6e3b,
929 0xa218840d981e1391,
930 0xbff60e53ba32b24d,
931 0x99c590b1dc475029,
932 0x842b1aeffe6bf1f5,
933 0xd5a2ad7510ac94e1,
934 0xc84c272b3280353d,
935 0xee7fb9c954f5d759,
936 0xf391339776d97685,
937 0x4d6cd6fc897b1d71,
938 0x50825ca2ab57bcad,
939 0x76b1c240cd225ec9,
940 0x6b5f481eef0eff15,
941 0x3ad6ff8401c99a01,
942 0x273875da23e53bdd,
943 0x010beb384590d9b9,
944 0x1ce5616667bc7865,
945 0xee288ec415da10d4,
946 0xf3c6049a37f6b108,
947 0xd5f59a785183536c,
948 0xc81b102673aff2b0,
949 0x9992a7bc9d6897a4,
950 0x847c2de2bf443678,
951 0xa24fb300d931d41c,
952 0xbfa1395efb1d75c0,
953 0x015cdc3504bf1e34,
954 0x1cb2566b2693bfe8,
955 0x3a81c88940e65d8c,
956 0x276f42d762cafc50,
957 0x76e6f54d8c0d9944,
958 0x6b087f13ae213898,
959 0x4d3be1f1c854dafc,
960 0x50d56bafea787b20,
961 0x3a78919e8396151b,
962 0x27961bc0a1bab4c7,
963 0x01a58522c7cf56a3,
964 0x1c4b0f7ce5e3f77f,
965 0x4dc2b8e60b24926b,
966 0x502c32b8290833b7,
967 0x761fac5a4f7dd1d3,
968 0x6bf126046d51700f,
969 0xd50cc36f92f31bfb,
970 0xc8e24931b0dfba27,
971 0xeed1d7d3d6aa5843,
972 0xf33f5d8df486f99f,
973 0xa2b6ea171a419c8b,
974 0xbf586049386d3d57,
975 0x996bfeab5e18df33,
976 0x848574f57c347eef,
977 0x76489b570e52165e,
978 0x6ba611092c7eb782,
979 0x4d958feb4a0b55e6,
980 0x507b05b56827f43a,
981 0x01f2b22f86e0912e,
982 0x1c1c3871a4cc30f2,
983 0x3a2fa693c2b9d296,
984 0x27c12ccde095734a,
985 0x993cc9a61f3718be,
986 0x84d243f83d1bb962,
987 0xa2e1dd1a5b6e5b06,
988 0xbf0f57447942fada,
989 0xee86e0de97859fce,
990 0xf3686a80b5a93e12,
991 0xd55bf462d3dcdc76,
992 0xc8b57e3cf1f07daa,
993 0xd6e9a7309f3239a7,
994 0xcb072d6ebd1e987b,
995 0xed34b38cdb6b7a1f,
996 0xf0da39d2f947dbc3,
997 0xa1538e481780bed7,
998 0xbcbd041635ac1f0b,
999 0x9a8e9af453d9fd6f,
1000 0x876010aa71f55cb3,
1001 0x399df5c18e573747,
1002 0x24737f9fac7b969b,
1003 0x0240e17dca0e74ff,
1004 0x1fae6b23e822d523,
1005 0x4e27dcb906e5b037,
1006 0x53c956e724c911eb,
1007 0x75fac80542bcf38f,
1008 0x6814425b60905253,
1009 0x9ad9adf912f63ae2,
1010 0x873727a730da9b3e,
1011 0xa104b94556af795a,
1012 0xbcea331b7483d886,
1013 0xed6384819a44bd92,
1014 0xf08d0edfb8681c4e,
1015 0xd6be903dde1dfe2a,
1016 0xcb501a63fc315ff6,
1017 0x75adff0803933402,
1018 0x6843755621bf95de,
1019 0x4e70ebb447ca77ba,
1020 0x539e61ea65e6d666,
1021 0x0217d6708b21b372,
1022 0x1ff95c2ea90d12ae,
1023 0x39cac2cccf78f0ca,
1024 0x24244892ed545116,
1025 0x4e89b2a384ba3f2d,
1026 0x536738fda6969ef1,
1027 0x7554a61fc0e37c95,
1028 0x68ba2c41e2cfdd49,
1029 0x39339bdb0c08b85d,
1030 0x24dd11852e241981,
1031 0x02ee8f674851fbe5,
1032 0x1f0005396a7d5a39,
1033 0xa1fde05295df31cd,
1034 0xbc136a0cb7f39011,
1035 0x9a20f4eed1867275,
1036 0x87ce7eb0f3aad3a9,
1037 0xd647c92a1d6db6bd,
1038 0xcba943743f411761,
1039 0xed9add965934f505,
1040 0xf07457c87b1854d9,
1041 0x02b9b86a097e3c68,
1042 0x1f5732342b529db4,
1043 0x3964acd64d277fd0,
1044 0x248a26886f0bde0c,
1045 0x7503911281ccbb18,
1046 0x68ed1b4ca3e01ac4,
1047 0x4ede85aec595f8a0,
1048 0x53300ff0e7b9597c,
1049 0xedcdea9b181b3288,
1050 0xf02360c53a379354,
1051 0xd610fe275c427130,
1052 0xcbfe74797e6ed0ec,
1053 0x9a77c3e390a9b5f8,
1054 0x879949bdb2851424,
1055 0xa1aad75fd4f0f640,
1056 0xbc445d01f6dc579c,
1057 0x74f1233d072c2a36,
1058 0x691fa96325008bea,
1059 0x4f2c37814375698e,
1060 0x52c2bddf6159c852,
1061 0x034b0a458f9ead46,
1062 0x1ea5801badb20c9a,
1063 0x38961ef9cbc7eefe,
1064 0x257894a7e9eb4f22,
1065 0x9b8571cc164924d6,
1066 0x866bfb923465850a,
1067 0xa05865705210676e,
1068 0xbdb6ef2e703cc6b2,
1069 0xec3f58b49efba3a6,
1070 0xf1d1d2eabcd7027a,
1071 0xd7e24c08daa2e01e,
1072 0xca0cc656f88e41c2,
1073 0x38c129f48ae82973,
1074 0x252fa3aaa8c488af,
1075 0x031c3d48ceb16acb,
1076 0x1ef2b716ec9dcb17,
1077 0x4f7b008c025aae03,
1078 0x52958ad220760fdf,
1079 0x74a614304603edbb,
1080 0x69489e6e642f4c67,
1081 0xd7b57b059b8d2793,
1082 0xca5bf15bb9a1864f,
1083 0xec686fb9dfd4642b,
1084 0xf186e5e7fdf8c5f7,
1085 0xa00f527d133fa0e3,
1086 0xbde1d8233113013f,
1087 0x9bd246c15766e35b,
1088 0x863ccc9f754a4287,
1089 0xec9136ae1ca42cbc,
1090 0xf17fbcf03e888d60,
1091 0xd74c221258fd6f04,
1092 0xcaa2a84c7ad1ced8,
1093 0x9b2b1fd69416abcc,
1094 0x86c59588b63a0a10,
1095 0xa0f60b6ad04fe874,
1096 0xbd188134f26349a8,
1097 0x03e5645f0dc1225c,
1098 0x1e0bee012fed8380,
1099 0x383870e3499861e4,
1100 0x25d6fabd6bb4c038,
1101 0x745f4d278573a52c,
1102 0x69b1c779a75f04f0,
1103 0x4f82599bc12ae694,
1104 0x526cd3c5e3064748,
1105 0xa0a13c6791602ff9,
1106 0xbd4fb639b34c8e25,
1107 0x9b7c28dbd5396c41,
1108 0x8692a285f715cd9d,
1109 0xd71b151f19d2a889,
1110 0xcaf59f413bfe0955,
1111 0xecc601a35d8beb31,
1112 0xf1288bfd7fa74aed,
1113 0x4fd56e9680052119,
1114 0x523be4c8a22980c5,
1115 0x74087a2ac45c62a1,
1116 0x69e6f074e670c37d,
1117 0x386f47ee08b7a669,
1118 0x2581cdb02a9b07b5,
1119 0x03b253524ceee5d1,
1120 0x1e5cd90c6ec2440d,
1121];
1122
1123static TABLE_4: [u64; 256] = [
1126 0x0000000000000000,
1127 0x5c2d776033c4205e,
1128 0xb85aeec0678840bc,
1129 0xe47799a0544c60e2,
1130 0xe26d72ab601e9ffd,
1131 0xbe4005cb53dabfa3,
1132 0x5a379c6b0796df41,
1133 0x061aeb0b3452ff1f,
1134 0x56024a7d6f33217f,
1135 0x0a2f3d1d5cf70121,
1136 0xee58a4bd08bb61c3,
1137 0xb275d3dd3b7f419d,
1138 0xb46f38d60f2dbe82,
1139 0xe8424fb63ce99edc,
1140 0x0c35d61668a5fe3e,
1141 0x5018a1765b61de60,
1142 0xac0494fade6642fe,
1143 0xf029e39aeda262a0,
1144 0x145e7a3ab9ee0242,
1145 0x48730d5a8a2a221c,
1146 0x4e69e651be78dd03,
1147 0x124491318dbcfd5d,
1148 0xf6330891d9f09dbf,
1149 0xaa1e7ff1ea34bde1,
1150 0xfa06de87b1556381,
1151 0xa62ba9e7829143df,
1152 0x425c3047d6dd233d,
1153 0x1e714727e5190363,
1154 0x186bac2cd14bfc7c,
1155 0x4446db4ce28fdc22,
1156 0xa03142ecb6c3bcc0,
1157 0xfc1c358c85079c9e,
1158 0xcad186de13c29b79,
1159 0x96fcf1be2006bb27,
1160 0x728b681e744adbc5,
1161 0x2ea61f7e478efb9b,
1162 0x28bcf47573dc0484,
1163 0x74918315401824da,
1164 0x90e61ab514544438,
1165 0xcccb6dd527906466,
1166 0x9cd3cca37cf1ba06,
1167 0xc0febbc34f359a58,
1168 0x248922631b79faba,
1169 0x78a4550328bddae4,
1170 0x7ebebe081cef25fb,
1171 0x2293c9682f2b05a5,
1172 0xc6e450c87b676547,
1173 0x9ac927a848a34519,
1174 0x66d51224cda4d987,
1175 0x3af86544fe60f9d9,
1176 0xde8ffce4aa2c993b,
1177 0x82a28b8499e8b965,
1178 0x84b8608fadba467a,
1179 0xd89517ef9e7e6624,
1180 0x3ce28e4fca3206c6,
1181 0x60cff92ff9f62698,
1182 0x30d75859a297f8f8,
1183 0x6cfa2f399153d8a6,
1184 0x888db699c51fb844,
1185 0xd4a0c1f9f6db981a,
1186 0xd2ba2af2c2896705,
1187 0x8e975d92f14d475b,
1188 0x6ae0c432a50127b9,
1189 0x36cdb35296c507e7,
1190 0x077ba297888b2877,
1191 0x5b56d5f7bb4f0829,
1192 0xbf214c57ef0368cb,
1193 0xe30c3b37dcc74895,
1194 0xe516d03ce895b78a,
1195 0xb93ba75cdb5197d4,
1196 0x5d4c3efc8f1df736,
1197 0x0161499cbcd9d768,
1198 0x5179e8eae7b80908,
1199 0x0d549f8ad47c2956,
1200 0xe923062a803049b4,
1201 0xb50e714ab3f469ea,
1202 0xb3149a4187a696f5,
1203 0xef39ed21b462b6ab,
1204 0x0b4e7481e02ed649,
1205 0x576303e1d3eaf617,
1206 0xab7f366d56ed6a89,
1207 0xf752410d65294ad7,
1208 0x1325d8ad31652a35,
1209 0x4f08afcd02a10a6b,
1210 0x491244c636f3f574,
1211 0x153f33a60537d52a,
1212 0xf148aa06517bb5c8,
1213 0xad65dd6662bf9596,
1214 0xfd7d7c1039de4bf6,
1215 0xa1500b700a1a6ba8,
1216 0x452792d05e560b4a,
1217 0x190ae5b06d922b14,
1218 0x1f100ebb59c0d40b,
1219 0x433d79db6a04f455,
1220 0xa74ae07b3e4894b7,
1221 0xfb67971b0d8cb4e9,
1222 0xcdaa24499b49b30e,
1223 0x91875329a88d9350,
1224 0x75f0ca89fcc1f3b2,
1225 0x29ddbde9cf05d3ec,
1226 0x2fc756e2fb572cf3,
1227 0x73ea2182c8930cad,
1228 0x979db8229cdf6c4f,
1229 0xcbb0cf42af1b4c11,
1230 0x9ba86e34f47a9271,
1231 0xc7851954c7beb22f,
1232 0x23f280f493f2d2cd,
1233 0x7fdff794a036f293,
1234 0x79c51c9f94640d8c,
1235 0x25e86bffa7a02dd2,
1236 0xc19ff25ff3ec4d30,
1237 0x9db2853fc0286d6e,
1238 0x61aeb0b3452ff1f0,
1239 0x3d83c7d376ebd1ae,
1240 0xd9f45e7322a7b14c,
1241 0x85d9291311639112,
1242 0x83c3c21825316e0d,
1243 0xdfeeb57816f54e53,
1244 0x3b992cd842b92eb1,
1245 0x67b45bb8717d0eef,
1246 0x37acface2a1cd08f,
1247 0x6b818dae19d8f0d1,
1248 0x8ff6140e4d949033,
1249 0xd3db636e7e50b06d,
1250 0xd5c188654a024f72,
1251 0x89ecff0579c66f2c,
1252 0x6d9b66a52d8a0fce,
1253 0x31b611c51e4e2f90,
1254 0x0ef7452f111650ee,
1255 0x52da324f22d270b0,
1256 0xb6adabef769e1052,
1257 0xea80dc8f455a300c,
1258 0xec9a37847108cf13,
1259 0xb0b740e442ccef4d,
1260 0x54c0d94416808faf,
1261 0x08edae242544aff1,
1262 0x58f50f527e257191,
1263 0x04d878324de151cf,
1264 0xe0afe19219ad312d,
1265 0xbc8296f22a691173,
1266 0xba987df91e3bee6c,
1267 0xe6b50a992dffce32,
1268 0x02c2933979b3aed0,
1269 0x5eefe4594a778e8e,
1270 0xa2f3d1d5cf701210,
1271 0xfedea6b5fcb4324e,
1272 0x1aa93f15a8f852ac,
1273 0x468448759b3c72f2,
1274 0x409ea37eaf6e8ded,
1275 0x1cb3d41e9caaadb3,
1276 0xf8c44dbec8e6cd51,
1277 0xa4e93adefb22ed0f,
1278 0xf4f19ba8a043336f,
1279 0xa8dcecc893871331,
1280 0x4cab7568c7cb73d3,
1281 0x10860208f40f538d,
1282 0x169ce903c05dac92,
1283 0x4ab19e63f3998ccc,
1284 0xaec607c3a7d5ec2e,
1285 0xf2eb70a39411cc70,
1286 0xc426c3f102d4cb97,
1287 0x980bb4913110ebc9,
1288 0x7c7c2d31655c8b2b,
1289 0x20515a515698ab75,
1290 0x264bb15a62ca546a,
1291 0x7a66c63a510e7434,
1292 0x9e115f9a054214d6,
1293 0xc23c28fa36863488,
1294 0x9224898c6de7eae8,
1295 0xce09feec5e23cab6,
1296 0x2a7e674c0a6faa54,
1297 0x7653102c39ab8a0a,
1298 0x7049fb270df97515,
1299 0x2c648c473e3d554b,
1300 0xc81315e76a7135a9,
1301 0x943e628759b515f7,
1302 0x6822570bdcb28969,
1303 0x340f206bef76a937,
1304 0xd078b9cbbb3ac9d5,
1305 0x8c55ceab88fee98b,
1306 0x8a4f25a0bcac1694,
1307 0xd66252c08f6836ca,
1308 0x3215cb60db245628,
1309 0x6e38bc00e8e07676,
1310 0x3e201d76b381a816,
1311 0x620d6a1680458848,
1312 0x867af3b6d409e8aa,
1313 0xda5784d6e7cdc8f4,
1314 0xdc4d6fddd39f37eb,
1315 0x806018bde05b17b5,
1316 0x6417811db4177757,
1317 0x383af67d87d35709,
1318 0x098ce7b8999d7899,
1319 0x55a190d8aa5958c7,
1320 0xb1d60978fe153825,
1321 0xedfb7e18cdd1187b,
1322 0xebe19513f983e764,
1323 0xb7cce273ca47c73a,
1324 0x53bb7bd39e0ba7d8,
1325 0x0f960cb3adcf8786,
1326 0x5f8eadc5f6ae59e6,
1327 0x03a3daa5c56a79b8,
1328 0xe7d443059126195a,
1329 0xbbf93465a2e23904,
1330 0xbde3df6e96b0c61b,
1331 0xe1cea80ea574e645,
1332 0x05b931aef13886a7,
1333 0x599446cec2fca6f9,
1334 0xa588734247fb3a67,
1335 0xf9a50422743f1a39,
1336 0x1dd29d8220737adb,
1337 0x41ffeae213b75a85,
1338 0x47e501e927e5a59a,
1339 0x1bc87689142185c4,
1340 0xffbfef29406de526,
1341 0xa392984973a9c578,
1342 0xf38a393f28c81b18,
1343 0xafa74e5f1b0c3b46,
1344 0x4bd0d7ff4f405ba4,
1345 0x17fda09f7c847bfa,
1346 0x11e74b9448d684e5,
1347 0x4dca3cf47b12a4bb,
1348 0xa9bda5542f5ec459,
1349 0xf590d2341c9ae407,
1350 0xc35d61668a5fe3e0,
1351 0x9f701606b99bc3be,
1352 0x7b078fa6edd7a35c,
1353 0x272af8c6de138302,
1354 0x213013cdea417c1d,
1355 0x7d1d64add9855c43,
1356 0x996afd0d8dc93ca1,
1357 0xc5478a6dbe0d1cff,
1358 0x955f2b1be56cc29f,
1359 0xc9725c7bd6a8e2c1,
1360 0x2d05c5db82e48223,
1361 0x7128b2bbb120a27d,
1362 0x773259b085725d62,
1363 0x2b1f2ed0b6b67d3c,
1364 0xcf68b770e2fa1dde,
1365 0x9345c010d13e3d80,
1366 0x6f59f59c5439a11e,
1367 0x337482fc67fd8140,
1368 0xd7031b5c33b1e1a2,
1369 0x8b2e6c3c0075c1fc,
1370 0x8d34873734273ee3,
1371 0xd119f05707e31ebd,
1372 0x356e69f753af7e5f,
1373 0x69431e97606b5e01,
1374 0x395bbfe13b0a8061,
1375 0x6576c88108cea03f,
1376 0x810151215c82c0dd,
1377 0xdd2c26416f46e083,
1378 0xdb36cd4a5b141f9c,
1379 0x871bba2a68d03fc2,
1380 0x636c238a3c9c5f20,
1381 0x3f4154ea0f587f7e,
1382];
1383
1384static TABLE_5: [u64; 256] = [
1387 0x0000000000000000,
1388 0x6184d55f721267c6,
1389 0xc309aabee424cf8c,
1390 0xa28d7fe19636a84a,
1391 0x14cbfa566747819d,
1392 0x754f2f091555e65b,
1393 0xd7c250e883634e11,
1394 0xb64685b7f17129d7,
1395 0x2997f4acce8f033a,
1396 0x481321f3bc9d64fc,
1397 0xea9e5e122aabccb6,
1398 0x8b1a8b4d58b9ab70,
1399 0x3d5c0efaa9c882a7,
1400 0x5cd8dba5dbdae561,
1401 0xfe55a4444dec4d2b,
1402 0x9fd1711b3ffe2aed,
1403 0x532fe9599d1e0674,
1404 0x32ab3c06ef0c61b2,
1405 0x902643e7793ac9f8,
1406 0xf1a296b80b28ae3e,
1407 0x47e4130ffa5987e9,
1408 0x2660c650884be02f,
1409 0x84edb9b11e7d4865,
1410 0xe5696cee6c6f2fa3,
1411 0x7ab81df55391054e,
1412 0x1b3cc8aa21836288,
1413 0xb9b1b74bb7b5cac2,
1414 0xd8356214c5a7ad04,
1415 0x6e73e7a334d684d3,
1416 0x0ff732fc46c4e315,
1417 0xad7a4d1dd0f24b5f,
1418 0xccfe9842a2e02c99,
1419 0xa65fd2b33a3c0ce8,
1420 0xc7db07ec482e6b2e,
1421 0x6556780dde18c364,
1422 0x04d2ad52ac0aa4a2,
1423 0xb29428e55d7b8d75,
1424 0xd310fdba2f69eab3,
1425 0x719d825bb95f42f9,
1426 0x10195704cb4d253f,
1427 0x8fc8261ff4b30fd2,
1428 0xee4cf34086a16814,
1429 0x4cc18ca11097c05e,
1430 0x2d4559fe6285a798,
1431 0x9b03dc4993f48e4f,
1432 0xfa870916e1e6e989,
1433 0x580a76f777d041c3,
1434 0x398ea3a805c22605,
1435 0xf5703beaa7220a9c,
1436 0x94f4eeb5d5306d5a,
1437 0x367991544306c510,
1438 0x57fd440b3114a2d6,
1439 0xe1bbc1bcc0658b01,
1440 0x803f14e3b277ecc7,
1441 0x22b26b022441448d,
1442 0x4336be5d5653234b,
1443 0xdce7cf4669ad09a6,
1444 0xbd631a191bbf6e60,
1445 0x1fee65f88d89c62a,
1446 0x7e6ab0a7ff9ba1ec,
1447 0xc82c35100eea883b,
1448 0xa9a8e04f7cf8effd,
1449 0x0b259faeeace47b7,
1450 0x6aa14af198dc2071,
1451 0xde670a4ddb760755,
1452 0xbfe3df12a9646093,
1453 0x1d6ea0f33f52c8d9,
1454 0x7cea75ac4d40af1f,
1455 0xcaacf01bbc3186c8,
1456 0xab282544ce23e10e,
1457 0x09a55aa558154944,
1458 0x68218ffa2a072e82,
1459 0xf7f0fee115f9046f,
1460 0x96742bbe67eb63a9,
1461 0x34f9545ff1ddcbe3,
1462 0x557d810083cfac25,
1463 0xe33b04b772be85f2,
1464 0x82bfd1e800ace234,
1465 0x2032ae09969a4a7e,
1466 0x41b67b56e4882db8,
1467 0x8d48e31446680121,
1468 0xeccc364b347a66e7,
1469 0x4e4149aaa24ccead,
1470 0x2fc59cf5d05ea96b,
1471 0x99831942212f80bc,
1472 0xf807cc1d533de77a,
1473 0x5a8ab3fcc50b4f30,
1474 0x3b0e66a3b71928f6,
1475 0xa4df17b888e7021b,
1476 0xc55bc2e7faf565dd,
1477 0x67d6bd066cc3cd97,
1478 0x065268591ed1aa51,
1479 0xb014edeeefa08386,
1480 0xd19038b19db2e440,
1481 0x731d47500b844c0a,
1482 0x1299920f79962bcc,
1483 0x7838d8fee14a0bbd,
1484 0x19bc0da193586c7b,
1485 0xbb317240056ec431,
1486 0xdab5a71f777ca3f7,
1487 0x6cf322a8860d8a20,
1488 0x0d77f7f7f41fede6,
1489 0xaffa8816622945ac,
1490 0xce7e5d49103b226a,
1491 0x51af2c522fc50887,
1492 0x302bf90d5dd76f41,
1493 0x92a686eccbe1c70b,
1494 0xf32253b3b9f3a0cd,
1495 0x4564d6044882891a,
1496 0x24e0035b3a90eedc,
1497 0x866d7cbaaca64696,
1498 0xe7e9a9e5deb42150,
1499 0x2b1731a77c540dc9,
1500 0x4a93e4f80e466a0f,
1501 0xe81e9b199870c245,
1502 0x899a4e46ea62a583,
1503 0x3fdccbf11b138c54,
1504 0x5e581eae6901eb92,
1505 0xfcd5614fff3743d8,
1506 0x9d51b4108d25241e,
1507 0x0280c50bb2db0ef3,
1508 0x63041054c0c96935,
1509 0xc1896fb556ffc17f,
1510 0xa00dbaea24eda6b9,
1511 0x164b3f5dd59c8f6e,
1512 0x77cfea02a78ee8a8,
1513 0xd54295e331b840e2,
1514 0xb4c640bc43aa2724,
1515 0x2e16bbb019e2102f,
1516 0x4f926eef6bf077e9,
1517 0xed1f110efdc6dfa3,
1518 0x8c9bc4518fd4b865,
1519 0x3add41e67ea591b2,
1520 0x5b5994b90cb7f674,
1521 0xf9d4eb589a815e3e,
1522 0x98503e07e89339f8,
1523 0x07814f1cd76d1315,
1524 0x66059a43a57f74d3,
1525 0xc488e5a23349dc99,
1526 0xa50c30fd415bbb5f,
1527 0x134ab54ab02a9288,
1528 0x72ce6015c238f54e,
1529 0xd0431ff4540e5d04,
1530 0xb1c7caab261c3ac2,
1531 0x7d3952e984fc165b,
1532 0x1cbd87b6f6ee719d,
1533 0xbe30f85760d8d9d7,
1534 0xdfb42d0812cabe11,
1535 0x69f2a8bfe3bb97c6,
1536 0x08767de091a9f000,
1537 0xaafb0201079f584a,
1538 0xcb7fd75e758d3f8c,
1539 0x54aea6454a731561,
1540 0x352a731a386172a7,
1541 0x97a70cfbae57daed,
1542 0xf623d9a4dc45bd2b,
1543 0x40655c132d3494fc,
1544 0x21e1894c5f26f33a,
1545 0x836cf6adc9105b70,
1546 0xe2e823f2bb023cb6,
1547 0x8849690323de1cc7,
1548 0xe9cdbc5c51cc7b01,
1549 0x4b40c3bdc7fad34b,
1550 0x2ac416e2b5e8b48d,
1551 0x9c82935544999d5a,
1552 0xfd06460a368bfa9c,
1553 0x5f8b39eba0bd52d6,
1554 0x3e0fecb4d2af3510,
1555 0xa1de9dafed511ffd,
1556 0xc05a48f09f43783b,
1557 0x62d737110975d071,
1558 0x0353e24e7b67b7b7,
1559 0xb51567f98a169e60,
1560 0xd491b2a6f804f9a6,
1561 0x761ccd476e3251ec,
1562 0x179818181c20362a,
1563 0xdb66805abec01ab3,
1564 0xbae25505ccd27d75,
1565 0x186f2ae45ae4d53f,
1566 0x79ebffbb28f6b2f9,
1567 0xcfad7a0cd9879b2e,
1568 0xae29af53ab95fce8,
1569 0x0ca4d0b23da354a2,
1570 0x6d2005ed4fb13364,
1571 0xf2f174f6704f1989,
1572 0x9375a1a9025d7e4f,
1573 0x31f8de48946bd605,
1574 0x507c0b17e679b1c3,
1575 0xe63a8ea017089814,
1576 0x87be5bff651affd2,
1577 0x2533241ef32c5798,
1578 0x44b7f141813e305e,
1579 0xf071b1fdc294177a,
1580 0x91f564a2b08670bc,
1581 0x33781b4326b0d8f6,
1582 0x52fcce1c54a2bf30,
1583 0xe4ba4baba5d396e7,
1584 0x853e9ef4d7c1f121,
1585 0x27b3e11541f7596b,
1586 0x4637344a33e53ead,
1587 0xd9e645510c1b1440,
1588 0xb862900e7e097386,
1589 0x1aefefefe83fdbcc,
1590 0x7b6b3ab09a2dbc0a,
1591 0xcd2dbf076b5c95dd,
1592 0xaca96a58194ef21b,
1593 0x0e2415b98f785a51,
1594 0x6fa0c0e6fd6a3d97,
1595 0xa35e58a45f8a110e,
1596 0xc2da8dfb2d9876c8,
1597 0x6057f21abbaede82,
1598 0x01d32745c9bcb944,
1599 0xb795a2f238cd9093,
1600 0xd61177ad4adff755,
1601 0x749c084cdce95f1f,
1602 0x1518dd13aefb38d9,
1603 0x8ac9ac0891051234,
1604 0xeb4d7957e31775f2,
1605 0x49c006b67521ddb8,
1606 0x2844d3e90733ba7e,
1607 0x9e02565ef64293a9,
1608 0xff8683018450f46f,
1609 0x5d0bfce012665c25,
1610 0x3c8f29bf60743be3,
1611 0x562e634ef8a81b92,
1612 0x37aab6118aba7c54,
1613 0x9527c9f01c8cd41e,
1614 0xf4a31caf6e9eb3d8,
1615 0x42e599189fef9a0f,
1616 0x23614c47edfdfdc9,
1617 0x81ec33a67bcb5583,
1618 0xe068e6f909d93245,
1619 0x7fb997e2362718a8,
1620 0x1e3d42bd44357f6e,
1621 0xbcb03d5cd203d724,
1622 0xdd34e803a011b0e2,
1623 0x6b726db451609935,
1624 0x0af6b8eb2372fef3,
1625 0xa87bc70ab54456b9,
1626 0xc9ff1255c756317f,
1627 0x05018a1765b61de6,
1628 0x64855f4817a47a20,
1629 0xc60820a98192d26a,
1630 0xa78cf5f6f380b5ac,
1631 0x11ca704102f19c7b,
1632 0x704ea51e70e3fbbd,
1633 0xd2c3daffe6d553f7,
1634 0xb3470fa094c73431,
1635 0x2c967ebbab391edc,
1636 0x4d12abe4d92b791a,
1637 0xef9fd4054f1dd150,
1638 0x8e1b015a3d0fb696,
1639 0x385d84edcc7e9f41,
1640 0x59d951b2be6cf887,
1641 0xfb542e53285a50cd,
1642 0x9ad0fb0c5a48370b,
1643];
1644
1645static TABLE_6: [u64; 256] = [
1648 0x0000000000000000,
1649 0x22ef0d5934f964ec,
1650 0x45de1ab269f2c9d8,
1651 0x673117eb5d0bad34,
1652 0x8bbc3564d3e593b0,
1653 0xa953383de71cf75c,
1654 0xce622fd6ba175a68,
1655 0xec8d228f8eee3e84,
1656 0x85a0c5e208c539e5,
1657 0xa74fc8bb3c3c5d09,
1658 0xc07edf506137f03d,
1659 0xe291d20955ce94d1,
1660 0x0e1cf086db20aa55,
1661 0x2cf3fddfefd9ceb9,
1662 0x4bc2ea34b2d2638d,
1663 0x692de76d862b0761,
1664 0x999924efbe846d4f,
1665 0xbb7629b68a7d09a3,
1666 0xdc473e5dd776a497,
1667 0xfea83304e38fc07b,
1668 0x1225118b6d61feff,
1669 0x30ca1cd259989a13,
1670 0x57fb0b3904933727,
1671 0x75140660306a53cb,
1672 0x1c39e10db64154aa,
1673 0x3ed6ec5482b83046,
1674 0x59e7fbbfdfb39d72,
1675 0x7b08f6e6eb4af99e,
1676 0x9785d46965a4c71a,
1677 0xb56ad930515da3f6,
1678 0xd25bcedb0c560ec2,
1679 0xf0b4c38238af6a2e,
1680 0xa1eae6f4d206c41b,
1681 0x8305ebade6ffa0f7,
1682 0xe434fc46bbf40dc3,
1683 0xc6dbf11f8f0d692f,
1684 0x2a56d39001e357ab,
1685 0x08b9dec9351a3347,
1686 0x6f88c92268119e73,
1687 0x4d67c47b5ce8fa9f,
1688 0x244a2316dac3fdfe,
1689 0x06a52e4fee3a9912,
1690 0x619439a4b3313426,
1691 0x437b34fd87c850ca,
1692 0xaff6167209266e4e,
1693 0x8d191b2b3ddf0aa2,
1694 0xea280cc060d4a796,
1695 0xc8c70199542dc37a,
1696 0x3873c21b6c82a954,
1697 0x1a9ccf42587bcdb8,
1698 0x7dadd8a90570608c,
1699 0x5f42d5f031890460,
1700 0xb3cff77fbf673ae4,
1701 0x9120fa268b9e5e08,
1702 0xf611edcdd695f33c,
1703 0xd4fee094e26c97d0,
1704 0xbdd307f9644790b1,
1705 0x9f3c0aa050bef45d,
1706 0xf80d1d4b0db55969,
1707 0xdae21012394c3d85,
1708 0x366f329db7a20301,
1709 0x14803fc4835b67ed,
1710 0x73b1282fde50cad9,
1711 0x515e2576eaa9ae35,
1712 0xd10d62c20b0396b3,
1713 0xf3e26f9b3ffaf25f,
1714 0x94d3787062f15f6b,
1715 0xb63c752956083b87,
1716 0x5ab157a6d8e60503,
1717 0x785e5affec1f61ef,
1718 0x1f6f4d14b114ccdb,
1719 0x3d80404d85eda837,
1720 0x54ada72003c6af56,
1721 0x7642aa79373fcbba,
1722 0x1173bd926a34668e,
1723 0x339cb0cb5ecd0262,
1724 0xdf119244d0233ce6,
1725 0xfdfe9f1de4da580a,
1726 0x9acf88f6b9d1f53e,
1727 0xb82085af8d2891d2,
1728 0x4894462db587fbfc,
1729 0x6a7b4b74817e9f10,
1730 0x0d4a5c9fdc753224,
1731 0x2fa551c6e88c56c8,
1732 0xc32873496662684c,
1733 0xe1c77e10529b0ca0,
1734 0x86f669fb0f90a194,
1735 0xa41964a23b69c578,
1736 0xcd3483cfbd42c219,
1737 0xefdb8e9689bba6f5,
1738 0x88ea997dd4b00bc1,
1739 0xaa059424e0496f2d,
1740 0x4688b6ab6ea751a9,
1741 0x6467bbf25a5e3545,
1742 0x0356ac1907559871,
1743 0x21b9a14033acfc9d,
1744 0x70e78436d90552a8,
1745 0x5208896fedfc3644,
1746 0x35399e84b0f79b70,
1747 0x17d693dd840eff9c,
1748 0xfb5bb1520ae0c118,
1749 0xd9b4bc0b3e19a5f4,
1750 0xbe85abe0631208c0,
1751 0x9c6aa6b957eb6c2c,
1752 0xf54741d4d1c06b4d,
1753 0xd7a84c8de5390fa1,
1754 0xb0995b66b832a295,
1755 0x9276563f8ccbc679,
1756 0x7efb74b00225f8fd,
1757 0x5c1479e936dc9c11,
1758 0x3b256e026bd73125,
1759 0x19ca635b5f2e55c9,
1760 0xe97ea0d967813fe7,
1761 0xcb91ad8053785b0b,
1762 0xaca0ba6b0e73f63f,
1763 0x8e4fb7323a8a92d3,
1764 0x62c295bdb464ac57,
1765 0x402d98e4809dc8bb,
1766 0x271c8f0fdd96658f,
1767 0x05f38256e96f0163,
1768 0x6cde653b6f440602,
1769 0x4e3168625bbd62ee,
1770 0x29007f8906b6cfda,
1771 0x0bef72d0324fab36,
1772 0xe762505fbca195b2,
1773 0xc58d5d068858f15e,
1774 0xa2bc4aedd5535c6a,
1775 0x805347b4e1aa3886,
1776 0x30c26aafb90933e3,
1777 0x122d67f68df0570f,
1778 0x751c701dd0fbfa3b,
1779 0x57f37d44e4029ed7,
1780 0xbb7e5fcb6aeca053,
1781 0x999152925e15c4bf,
1782 0xfea04579031e698b,
1783 0xdc4f482037e70d67,
1784 0xb562af4db1cc0a06,
1785 0x978da21485356eea,
1786 0xf0bcb5ffd83ec3de,
1787 0xd253b8a6ecc7a732,
1788 0x3ede9a29622999b6,
1789 0x1c31977056d0fd5a,
1790 0x7b00809b0bdb506e,
1791 0x59ef8dc23f223482,
1792 0xa95b4e40078d5eac,
1793 0x8bb4431933743a40,
1794 0xec8554f26e7f9774,
1795 0xce6a59ab5a86f398,
1796 0x22e77b24d468cd1c,
1797 0x0008767de091a9f0,
1798 0x67396196bd9a04c4,
1799 0x45d66ccf89636028,
1800 0x2cfb8ba20f486749,
1801 0x0e1486fb3bb103a5,
1802 0x6925911066baae91,
1803 0x4bca9c495243ca7d,
1804 0xa747bec6dcadf4f9,
1805 0x85a8b39fe8549015,
1806 0xe299a474b55f3d21,
1807 0xc076a92d81a659cd,
1808 0x91288c5b6b0ff7f8,
1809 0xb3c781025ff69314,
1810 0xd4f696e902fd3e20,
1811 0xf6199bb036045acc,
1812 0x1a94b93fb8ea6448,
1813 0x387bb4668c1300a4,
1814 0x5f4aa38dd118ad90,
1815 0x7da5aed4e5e1c97c,
1816 0x148849b963cace1d,
1817 0x366744e05733aaf1,
1818 0x5156530b0a3807c5,
1819 0x73b95e523ec16329,
1820 0x9f347cddb02f5dad,
1821 0xbddb718484d63941,
1822 0xdaea666fd9dd9475,
1823 0xf8056b36ed24f099,
1824 0x08b1a8b4d58b9ab7,
1825 0x2a5ea5ede172fe5b,
1826 0x4d6fb206bc79536f,
1827 0x6f80bf5f88803783,
1828 0x830d9dd0066e0907,
1829 0xa1e2908932976deb,
1830 0xc6d387626f9cc0df,
1831 0xe43c8a3b5b65a433,
1832 0x8d116d56dd4ea352,
1833 0xaffe600fe9b7c7be,
1834 0xc8cf77e4b4bc6a8a,
1835 0xea207abd80450e66,
1836 0x06ad58320eab30e2,
1837 0x2442556b3a52540e,
1838 0x437342806759f93a,
1839 0x619c4fd953a09dd6,
1840 0xe1cf086db20aa550,
1841 0xc320053486f3c1bc,
1842 0xa41112dfdbf86c88,
1843 0x86fe1f86ef010864,
1844 0x6a733d0961ef36e0,
1845 0x489c30505516520c,
1846 0x2fad27bb081dff38,
1847 0x0d422ae23ce49bd4,
1848 0x646fcd8fbacf9cb5,
1849 0x4680c0d68e36f859,
1850 0x21b1d73dd33d556d,
1851 0x035eda64e7c43181,
1852 0xefd3f8eb692a0f05,
1853 0xcd3cf5b25dd36be9,
1854 0xaa0de25900d8c6dd,
1855 0x88e2ef003421a231,
1856 0x78562c820c8ec81f,
1857 0x5ab921db3877acf3,
1858 0x3d883630657c01c7,
1859 0x1f673b695185652b,
1860 0xf3ea19e6df6b5baf,
1861 0xd10514bfeb923f43,
1862 0xb6340354b6999277,
1863 0x94db0e0d8260f69b,
1864 0xfdf6e960044bf1fa,
1865 0xdf19e43930b29516,
1866 0xb828f3d26db93822,
1867 0x9ac7fe8b59405cce,
1868 0x764adc04d7ae624a,
1869 0x54a5d15de35706a6,
1870 0x3394c6b6be5cab92,
1871 0x117bcbef8aa5cf7e,
1872 0x4025ee99600c614b,
1873 0x62cae3c054f505a7,
1874 0x05fbf42b09fea893,
1875 0x2714f9723d07cc7f,
1876 0xcb99dbfdb3e9f2fb,
1877 0xe976d6a487109617,
1878 0x8e47c14fda1b3b23,
1879 0xaca8cc16eee25fcf,
1880 0xc5852b7b68c958ae,
1881 0xe76a26225c303c42,
1882 0x805b31c9013b9176,
1883 0xa2b43c9035c2f59a,
1884 0x4e391e1fbb2ccb1e,
1885 0x6cd613468fd5aff2,
1886 0x0be704add2de02c6,
1887 0x290809f4e627662a,
1888 0xd9bcca76de880c04,
1889 0xfb53c72fea7168e8,
1890 0x9c62d0c4b77ac5dc,
1891 0xbe8ddd9d8383a130,
1892 0x5200ff120d6d9fb4,
1893 0x70eff24b3994fb58,
1894 0x17dee5a0649f566c,
1895 0x3531e8f950663280,
1896 0x5c1c0f94d64d35e1,
1897 0x7ef302cde2b4510d,
1898 0x19c21526bfbffc39,
1899 0x3b2d187f8b4698d5,
1900 0xd7a03af005a8a651,
1901 0xf54f37a93151c2bd,
1902 0x927e20426c5a6f89,
1903 0xb0912d1b58a30b65,
1904];
1905
1906static TABLE_7: [u64; 256] = [
1909 0x0000000000000000,
1910 0xdabe95afc7875f40,
1911 0x27a584742000a005,
1912 0xfd1b11dbe787ff45,
1913 0x4f4b08e84001400a,
1914 0x95f59d4787861f4a,
1915 0x68ee8c9c6001e00f,
1916 0xb2501933a786bf4f,
1917 0x9e9611d080028014,
1918 0x4428847f4785df54,
1919 0xb93395a4a0022011,
1920 0x638d000b67857f51,
1921 0xd1dd1938c003c01e,
1922 0x0b638c9707849f5e,
1923 0xf6789d4ce003601b,
1924 0x2cc608e327843f5b,
1925 0xaff48c8aaf0b1ead,
1926 0x754a1925688c41ed,
1927 0x885108fe8f0bbea8,
1928 0x52ef9d51488ce1e8,
1929 0xe0bf8462ef0a5ea7,
1930 0x3a0111cd288d01e7,
1931 0xc71a0016cf0afea2,
1932 0x1da495b9088da1e2,
1933 0x31629d5a2f099eb9,
1934 0xebdc08f5e88ec1f9,
1935 0x16c7192e0f093ebc,
1936 0xcc798c81c88e61fc,
1937 0x7e2995b26f08deb3,
1938 0xa497001da88f81f3,
1939 0x598c11c64f087eb6,
1940 0x83328469888f21f6,
1941 0xcd31b63ef11823df,
1942 0x178f2391369f7c9f,
1943 0xea94324ad11883da,
1944 0x302aa7e5169fdc9a,
1945 0x827abed6b11963d5,
1946 0x58c42b79769e3c95,
1947 0xa5df3aa29119c3d0,
1948 0x7f61af0d569e9c90,
1949 0x53a7a7ee711aa3cb,
1950 0x89193241b69dfc8b,
1951 0x7402239a511a03ce,
1952 0xaebcb635969d5c8e,
1953 0x1cecaf06311be3c1,
1954 0xc6523aa9f69cbc81,
1955 0x3b492b72111b43c4,
1956 0xe1f7beddd69c1c84,
1957 0x62c53ab45e133d72,
1958 0xb87baf1b99946232,
1959 0x4560bec07e139d77,
1960 0x9fde2b6fb994c237,
1961 0x2d8e325c1e127d78,
1962 0xf730a7f3d9952238,
1963 0x0a2bb6283e12dd7d,
1964 0xd0952387f995823d,
1965 0xfc532b64de11bd66,
1966 0x26edbecb1996e226,
1967 0xdbf6af10fe111d63,
1968 0x01483abf39964223,
1969 0xb318238c9e10fd6c,
1970 0x69a6b6235997a22c,
1971 0x94bda7f8be105d69,
1972 0x4e03325779970229,
1973 0x08bbc3564d3e593b,
1974 0xd20556f98ab9067b,
1975 0x2f1e47226d3ef93e,
1976 0xf5a0d28daab9a67e,
1977 0x47f0cbbe0d3f1931,
1978 0x9d4e5e11cab84671,
1979 0x60554fca2d3fb934,
1980 0xbaebda65eab8e674,
1981 0x962dd286cd3cd92f,
1982 0x4c9347290abb866f,
1983 0xb18856f2ed3c792a,
1984 0x6b36c35d2abb266a,
1985 0xd966da6e8d3d9925,
1986 0x03d84fc14abac665,
1987 0xfec35e1aad3d3920,
1988 0x247dcbb56aba6660,
1989 0xa74f4fdce2354796,
1990 0x7df1da7325b218d6,
1991 0x80eacba8c235e793,
1992 0x5a545e0705b2b8d3,
1993 0xe8044734a234079c,
1994 0x32bad29b65b358dc,
1995 0xcfa1c3408234a799,
1996 0x151f56ef45b3f8d9,
1997 0x39d95e0c6237c782,
1998 0xe367cba3a5b098c2,
1999 0x1e7cda7842376787,
2000 0xc4c24fd785b038c7,
2001 0x769256e422368788,
2002 0xac2cc34be5b1d8c8,
2003 0x5137d2900236278d,
2004 0x8b89473fc5b178cd,
2005 0xc58a7568bc267ae4,
2006 0x1f34e0c77ba125a4,
2007 0xe22ff11c9c26dae1,
2008 0x389164b35ba185a1,
2009 0x8ac17d80fc273aee,
2010 0x507fe82f3ba065ae,
2011 0xad64f9f4dc279aeb,
2012 0x77da6c5b1ba0c5ab,
2013 0x5b1c64b83c24faf0,
2014 0x81a2f117fba3a5b0,
2015 0x7cb9e0cc1c245af5,
2016 0xa6077563dba305b5,
2017 0x14576c507c25bafa,
2018 0xcee9f9ffbba2e5ba,
2019 0x33f2e8245c251aff,
2020 0xe94c7d8b9ba245bf,
2021 0x6a7ef9e2132d6449,
2022 0xb0c06c4dd4aa3b09,
2023 0x4ddb7d96332dc44c,
2024 0x9765e839f4aa9b0c,
2025 0x2535f10a532c2443,
2026 0xff8b64a594ab7b03,
2027 0x0290757e732c8446,
2028 0xd82ee0d1b4abdb06,
2029 0xf4e8e832932fe45d,
2030 0x2e567d9d54a8bb1d,
2031 0xd34d6c46b32f4458,
2032 0x09f3f9e974a81b18,
2033 0xbba3e0dad32ea457,
2034 0x611d757514a9fb17,
2035 0x9c0664aef32e0452,
2036 0x46b8f10134a95b12,
2037 0x117786ac9a7cb276,
2038 0xcbc913035dfbed36,
2039 0x36d202d8ba7c1273,
2040 0xec6c97777dfb4d33,
2041 0x5e3c8e44da7df27c,
2042 0x84821beb1dfaad3c,
2043 0x79990a30fa7d5279,
2044 0xa3279f9f3dfa0d39,
2045 0x8fe1977c1a7e3262,
2046 0x555f02d3ddf96d22,
2047 0xa84413083a7e9267,
2048 0x72fa86a7fdf9cd27,
2049 0xc0aa9f945a7f7268,
2050 0x1a140a3b9df82d28,
2051 0xe70f1be07a7fd26d,
2052 0x3db18e4fbdf88d2d,
2053 0xbe830a263577acdb,
2054 0x643d9f89f2f0f39b,
2055 0x99268e5215770cde,
2056 0x43981bfdd2f0539e,
2057 0xf1c802ce7576ecd1,
2058 0x2b769761b2f1b391,
2059 0xd66d86ba55764cd4,
2060 0x0cd3131592f11394,
2061 0x20151bf6b5752ccf,
2062 0xfaab8e5972f2738f,
2063 0x07b09f8295758cca,
2064 0xdd0e0a2d52f2d38a,
2065 0x6f5e131ef5746cc5,
2066 0xb5e086b132f33385,
2067 0x48fb976ad574ccc0,
2068 0x924502c512f39380,
2069 0xdc4630926b6491a9,
2070 0x06f8a53dace3cee9,
2071 0xfbe3b4e64b6431ac,
2072 0x215d21498ce36eec,
2073 0x930d387a2b65d1a3,
2074 0x49b3add5ece28ee3,
2075 0xb4a8bc0e0b6571a6,
2076 0x6e1629a1cce22ee6,
2077 0x42d02142eb6611bd,
2078 0x986eb4ed2ce14efd,
2079 0x6575a536cb66b1b8,
2080 0xbfcb30990ce1eef8,
2081 0x0d9b29aaab6751b7,
2082 0xd725bc056ce00ef7,
2083 0x2a3eadde8b67f1b2,
2084 0xf08038714ce0aef2,
2085 0x73b2bc18c46f8f04,
2086 0xa90c29b703e8d044,
2087 0x5417386ce46f2f01,
2088 0x8ea9adc323e87041,
2089 0x3cf9b4f0846ecf0e,
2090 0xe647215f43e9904e,
2091 0x1b5c3084a46e6f0b,
2092 0xc1e2a52b63e9304b,
2093 0xed24adc8446d0f10,
2094 0x379a386783ea5050,
2095 0xca8129bc646daf15,
2096 0x103fbc13a3eaf055,
2097 0xa26fa520046c4f1a,
2098 0x78d1308fc3eb105a,
2099 0x85ca2154246cef1f,
2100 0x5f74b4fbe3ebb05f,
2101 0x19cc45fad742eb4d,
2102 0xc372d05510c5b40d,
2103 0x3e69c18ef7424b48,
2104 0xe4d7542130c51408,
2105 0x56874d129743ab47,
2106 0x8c39d8bd50c4f407,
2107 0x7122c966b7430b42,
2108 0xab9c5cc970c45402,
2109 0x875a542a57406b59,
2110 0x5de4c18590c73419,
2111 0xa0ffd05e7740cb5c,
2112 0x7a4145f1b0c7941c,
2113 0xc8115cc217412b53,
2114 0x12afc96dd0c67413,
2115 0xefb4d8b637418b56,
2116 0x350a4d19f0c6d416,
2117 0xb638c9707849f5e0,
2118 0x6c865cdfbfceaaa0,
2119 0x919d4d04584955e5,
2120 0x4b23d8ab9fce0aa5,
2121 0xf973c1983848b5ea,
2122 0x23cd5437ffcfeaaa,
2123 0xded645ec184815ef,
2124 0x0468d043dfcf4aaf,
2125 0x28aed8a0f84b75f4,
2126 0xf2104d0f3fcc2ab4,
2127 0x0f0b5cd4d84bd5f1,
2128 0xd5b5c97b1fcc8ab1,
2129 0x67e5d048b84a35fe,
2130 0xbd5b45e77fcd6abe,
2131 0x4040543c984a95fb,
2132 0x9afec1935fcdcabb,
2133 0xd4fdf3c4265ac892,
2134 0x0e43666be1dd97d2,
2135 0xf35877b0065a6897,
2136 0x29e6e21fc1dd37d7,
2137 0x9bb6fb2c665b8898,
2138 0x41086e83a1dcd7d8,
2139 0xbc137f58465b289d,
2140 0x66adeaf781dc77dd,
2141 0x4a6be214a6584886,
2142 0x90d577bb61df17c6,
2143 0x6dce66608658e883,
2144 0xb770f3cf41dfb7c3,
2145 0x0520eafce659088c,
2146 0xdf9e7f5321de57cc,
2147 0x22856e88c659a889,
2148 0xf83bfb2701def7c9,
2149 0x7b097f4e8951d63f,
2150 0xa1b7eae14ed6897f,
2151 0x5cacfb3aa951763a,
2152 0x86126e956ed6297a,
2153 0x344277a6c9509635,
2154 0xeefce2090ed7c975,
2155 0x13e7f3d2e9503630,
2156 0xc959667d2ed76970,
2157 0xe59f6e9e0953562b,
2158 0x3f21fb31ced4096b,
2159 0xc23aeaea2953f62e,
2160 0x18847f45eed4a96e,
2161 0xaad4667649521621,
2162 0x706af3d98ed54961,
2163 0x8d71e2026952b624,
2164 0x57cf77adaed5e964,
2165];
2166
2167static TABLE_8: [u64; 256] = [
2170 0x0000000000000000,
2171 0x646c955f440400fe,
2172 0xc8d92abe880801fc,
2173 0xacb5bfe1cc0c0102,
2174 0x036afa56bf1e1d7d,
2175 0x67066f09fb1a1d83,
2176 0xcbb3d0e837161c81,
2177 0xafdf45b773121c7f,
2178 0x06d5f4ad7e3c3afa,
2179 0x62b961f23a383a04,
2180 0xce0cde13f6343b06,
2181 0xaa604b4cb2303bf8,
2182 0x05bf0efbc1222787,
2183 0x61d39ba485262779,
2184 0xcd662445492a267b,
2185 0xa90ab11a0d2e2685,
2186 0x0dabe95afc7875f4,
2187 0x69c77c05b87c750a,
2188 0xc572c3e474707408,
2189 0xa11e56bb307474f6,
2190 0x0ec1130c43666889,
2191 0x6aad865307626877,
2192 0xc61839b2cb6e6975,
2193 0xa274aced8f6a698b,
2194 0x0b7e1df782444f0e,
2195 0x6f1288a8c6404ff0,
2196 0xc3a737490a4c4ef2,
2197 0xa7cba2164e484e0c,
2198 0x0814e7a13d5a5273,
2199 0x6c7872fe795e528d,
2200 0xc0cdcd1fb552538f,
2201 0xa4a15840f1565371,
2202 0x1b57d2b5f8f0ebe8,
2203 0x7f3b47eabcf4eb16,
2204 0xd38ef80b70f8ea14,
2205 0xb7e26d5434fceaea,
2206 0x183d28e347eef695,
2207 0x7c51bdbc03eaf66b,
2208 0xd0e4025dcfe6f769,
2209 0xb48897028be2f797,
2210 0x1d82261886ccd112,
2211 0x79eeb347c2c8d1ec,
2212 0xd55b0ca60ec4d0ee,
2213 0xb13799f94ac0d010,
2214 0x1ee8dc4e39d2cc6f,
2215 0x7a8449117dd6cc91,
2216 0xd631f6f0b1dacd93,
2217 0xb25d63aff5decd6d,
2218 0x16fc3bef04889e1c,
2219 0x7290aeb0408c9ee2,
2220 0xde2511518c809fe0,
2221 0xba49840ec8849f1e,
2222 0x1596c1b9bb968361,
2223 0x71fa54e6ff92839f,
2224 0xdd4feb07339e829d,
2225 0xb9237e58779a8263,
2226 0x1029cf427ab4a4e6,
2227 0x74455a1d3eb0a418,
2228 0xd8f0e5fcf2bca51a,
2229 0xbc9c70a3b6b8a5e4,
2230 0x13433514c5aab99b,
2231 0x772fa04b81aeb965,
2232 0xdb9a1faa4da2b867,
2233 0xbff68af509a6b899,
2234 0x36afa56bf1e1d7d0,
2235 0x52c33034b5e5d72e,
2236 0xfe768fd579e9d62c,
2237 0x9a1a1a8a3dedd6d2,
2238 0x35c55f3d4effcaad,
2239 0x51a9ca620afbca53,
2240 0xfd1c7583c6f7cb51,
2241 0x9970e0dc82f3cbaf,
2242 0x307a51c68fdded2a,
2243 0x5416c499cbd9edd4,
2244 0xf8a37b7807d5ecd6,
2245 0x9ccfee2743d1ec28,
2246 0x3310ab9030c3f057,
2247 0x577c3ecf74c7f0a9,
2248 0xfbc9812eb8cbf1ab,
2249 0x9fa51471fccff155,
2250 0x3b044c310d99a224,
2251 0x5f68d96e499da2da,
2252 0xf3dd668f8591a3d8,
2253 0x97b1f3d0c195a326,
2254 0x386eb667b287bf59,
2255 0x5c022338f683bfa7,
2256 0xf0b79cd93a8fbea5,
2257 0x94db09867e8bbe5b,
2258 0x3dd1b89c73a598de,
2259 0x59bd2dc337a19820,
2260 0xf5089222fbad9922,
2261 0x9164077dbfa999dc,
2262 0x3ebb42caccbb85a3,
2263 0x5ad7d79588bf855d,
2264 0xf662687444b3845f,
2265 0x920efd2b00b784a1,
2266 0x2df877de09113c38,
2267 0x4994e2814d153cc6,
2268 0xe5215d6081193dc4,
2269 0x814dc83fc51d3d3a,
2270 0x2e928d88b60f2145,
2271 0x4afe18d7f20b21bb,
2272 0xe64ba7363e0720b9,
2273 0x822732697a032047,
2274 0x2b2d8373772d06c2,
2275 0x4f41162c3329063c,
2276 0xe3f4a9cdff25073e,
2277 0x87983c92bb2107c0,
2278 0x28477925c8331bbf,
2279 0x4c2bec7a8c371b41,
2280 0xe09e539b403b1a43,
2281 0x84f2c6c4043f1abd,
2282 0x20539e84f56949cc,
2283 0x443f0bdbb16d4932,
2284 0xe88ab43a7d614830,
2285 0x8ce62165396548ce,
2286 0x233964d24a7754b1,
2287 0x4755f18d0e73544f,
2288 0xebe04e6cc27f554d,
2289 0x8f8cdb33867b55b3,
2290 0x26866a298b557336,
2291 0x42eaff76cf5173c8,
2292 0xee5f4097035d72ca,
2293 0x8a33d5c847597234,
2294 0x25ec907f344b6e4b,
2295 0x41800520704f6eb5,
2296 0xed35bac1bc436fb7,
2297 0x89592f9ef8476f49,
2298 0x6d5f4ad7e3c3afa0,
2299 0x0933df88a7c7af5e,
2300 0xa58660696bcbae5c,
2301 0xc1eaf5362fcfaea2,
2302 0x6e35b0815cddb2dd,
2303 0x0a5925de18d9b223,
2304 0xa6ec9a3fd4d5b321,
2305 0xc2800f6090d1b3df,
2306 0x6b8abe7a9dff955a,
2307 0x0fe62b25d9fb95a4,
2308 0xa35394c415f794a6,
2309 0xc73f019b51f39458,
2310 0x68e0442c22e18827,
2311 0x0c8cd17366e588d9,
2312 0xa0396e92aae989db,
2313 0xc455fbcdeeed8925,
2314 0x60f4a38d1fbbda54,
2315 0x049836d25bbfdaaa,
2316 0xa82d893397b3dba8,
2317 0xcc411c6cd3b7db56,
2318 0x639e59dba0a5c729,
2319 0x07f2cc84e4a1c7d7,
2320 0xab47736528adc6d5,
2321 0xcf2be63a6ca9c62b,
2322 0x662157206187e0ae,
2323 0x024dc27f2583e050,
2324 0xaef87d9ee98fe152,
2325 0xca94e8c1ad8be1ac,
2326 0x654bad76de99fdd3,
2327 0x012738299a9dfd2d,
2328 0xad9287c85691fc2f,
2329 0xc9fe12971295fcd1,
2330 0x760898621b334448,
2331 0x12640d3d5f3744b6,
2332 0xbed1b2dc933b45b4,
2333 0xdabd2783d73f454a,
2334 0x75626234a42d5935,
2335 0x110ef76be02959cb,
2336 0xbdbb488a2c2558c9,
2337 0xd9d7ddd568215837,
2338 0x70dd6ccf650f7eb2,
2339 0x14b1f990210b7e4c,
2340 0xb8044671ed077f4e,
2341 0xdc68d32ea9037fb0,
2342 0x73b79699da1163cf,
2343 0x17db03c69e156331,
2344 0xbb6ebc2752196233,
2345 0xdf022978161d62cd,
2346 0x7ba37138e74b31bc,
2347 0x1fcfe467a34f3142,
2348 0xb37a5b866f433040,
2349 0xd716ced92b4730be,
2350 0x78c98b6e58552cc1,
2351 0x1ca51e311c512c3f,
2352 0xb010a1d0d05d2d3d,
2353 0xd47c348f94592dc3,
2354 0x7d76859599770b46,
2355 0x191a10cadd730bb8,
2356 0xb5afaf2b117f0aba,
2357 0xd1c33a74557b0a44,
2358 0x7e1c7fc32669163b,
2359 0x1a70ea9c626d16c5,
2360 0xb6c5557dae6117c7,
2361 0xd2a9c022ea651739,
2362 0x5bf0efbc12227870,
2363 0x3f9c7ae35626788e,
2364 0x9329c5029a2a798c,
2365 0xf745505dde2e7972,
2366 0x589a15eaad3c650d,
2367 0x3cf680b5e93865f3,
2368 0x90433f54253464f1,
2369 0xf42faa0b6130640f,
2370 0x5d251b116c1e428a,
2371 0x39498e4e281a4274,
2372 0x95fc31afe4164376,
2373 0xf190a4f0a0124388,
2374 0x5e4fe147d3005ff7,
2375 0x3a23741897045f09,
2376 0x9696cbf95b085e0b,
2377 0xf2fa5ea61f0c5ef5,
2378 0x565b06e6ee5a0d84,
2379 0x323793b9aa5e0d7a,
2380 0x9e822c5866520c78,
2381 0xfaeeb90722560c86,
2382 0x5531fcb0514410f9,
2383 0x315d69ef15401007,
2384 0x9de8d60ed94c1105,
2385 0xf98443519d4811fb,
2386 0x508ef24b9066377e,
2387 0x34e26714d4623780,
2388 0x9857d8f5186e3682,
2389 0xfc3b4daa5c6a367c,
2390 0x53e4081d2f782a03,
2391 0x37889d426b7c2afd,
2392 0x9b3d22a3a7702bff,
2393 0xff51b7fce3742b01,
2394 0x40a73d09ead29398,
2395 0x24cba856aed69366,
2396 0x887e17b762da9264,
2397 0xec1282e826de929a,
2398 0x43cdc75f55cc8ee5,
2399 0x27a1520011c88e1b,
2400 0x8b14ede1ddc48f19,
2401 0xef7878be99c08fe7,
2402 0x4672c9a494eea962,
2403 0x221e5cfbd0eaa99c,
2404 0x8eabe31a1ce6a89e,
2405 0xeac7764558e2a860,
2406 0x451833f22bf0b41f,
2407 0x2174a6ad6ff4b4e1,
2408 0x8dc1194ca3f8b5e3,
2409 0xe9ad8c13e7fcb51d,
2410 0x4d0cd45316aae66c,
2411 0x2960410c52aee692,
2412 0x85d5feed9ea2e790,
2413 0xe1b96bb2daa6e76e,
2414 0x4e662e05a9b4fb11,
2415 0x2a0abb5aedb0fbef,
2416 0x86bf04bb21bcfaed,
2417 0xe2d391e465b8fa13,
2418 0x4bd920fe6896dc96,
2419 0x2fb5b5a12c92dc68,
2420 0x83000a40e09edd6a,
2421 0xe76c9f1fa49add94,
2422 0x48b3daa8d788c1eb,
2423 0x2cdf4ff7938cc115,
2424 0x806af0165f80c017,
2425 0xe40665491b84c0e9,
2426];
2427
2428static TABLE_9: [u64; 256] = [
2431 0x0000000000000000,
2432 0x53e7815838846436,
2433 0xa7cf02b07108c86c,
2434 0xf42883e8498cac5a,
2435 0xdd46aa4b4d1f8e5d,
2436 0x8ea12b13759bea6b,
2437 0x7a89a8fb3c174631,
2438 0x296e29a304932207,
2439 0x2855fbbd3531023f,
2440 0x7bb27ae50db56609,
2441 0x8f9af90d4439ca53,
2442 0xdc7d78557cbdae65,
2443 0xf51351f6782e8c62,
2444 0xa6f4d0ae40aae854,
2445 0x52dc53460926440e,
2446 0x013bd21e31a22038,
2447 0x50abf77a6a62047e,
2448 0x034c762252e66048,
2449 0xf764f5ca1b6acc12,
2450 0xa483749223eea824,
2451 0x8ded5d31277d8a23,
2452 0xde0adc691ff9ee15,
2453 0x2a225f815675424f,
2454 0x79c5ded96ef12679,
2455 0x78fe0cc75f530641,
2456 0x2b198d9f67d76277,
2457 0xdf310e772e5bce2d,
2458 0x8cd68f2f16dfaa1b,
2459 0xa5b8a68c124c881c,
2460 0xf65f27d42ac8ec2a,
2461 0x0277a43c63444070,
2462 0x519025645bc02446,
2463 0xa157eef4d4c408fc,
2464 0xf2b06facec406cca,
2465 0x0698ec44a5ccc090,
2466 0x557f6d1c9d48a4a6,
2467 0x7c1144bf99db86a1,
2468 0x2ff6c5e7a15fe297,
2469 0xdbde460fe8d34ecd,
2470 0x8839c757d0572afb,
2471 0x89021549e1f50ac3,
2472 0xdae59411d9716ef5,
2473 0x2ecd17f990fdc2af,
2474 0x7d2a96a1a879a699,
2475 0x5444bf02acea849e,
2476 0x07a33e5a946ee0a8,
2477 0xf38bbdb2dde24cf2,
2478 0xa06c3ceae56628c4,
2479 0xf1fc198ebea60c82,
2480 0xa21b98d6862268b4,
2481 0x56331b3ecfaec4ee,
2482 0x05d49a66f72aa0d8,
2483 0x2cbab3c5f3b982df,
2484 0x7f5d329dcb3de6e9,
2485 0x8b75b17582b14ab3,
2486 0xd892302dba352e85,
2487 0xd9a9e2338b970ebd,
2488 0x8a4e636bb3136a8b,
2489 0x7e66e083fa9fc6d1,
2490 0x2d8161dbc21ba2e7,
2491 0x04ef4878c68880e0,
2492 0x5708c920fe0ce4d6,
2493 0xa3204ac8b780488c,
2494 0xf0c7cb908f042cba,
2495 0xd07772c206860f7d,
2496 0x8390f39a3e026b4b,
2497 0x77b87072778ec711,
2498 0x245ff12a4f0aa327,
2499 0x0d31d8894b998120,
2500 0x5ed659d1731de516,
2501 0xaafeda393a91494c,
2502 0xf9195b6102152d7a,
2503 0xf822897f33b70d42,
2504 0xabc508270b336974,
2505 0x5fed8bcf42bfc52e,
2506 0x0c0a0a977a3ba118,
2507 0x256423347ea8831f,
2508 0x7683a26c462ce729,
2509 0x82ab21840fa04b73,
2510 0xd14ca0dc37242f45,
2511 0x80dc85b86ce40b03,
2512 0xd33b04e054606f35,
2513 0x271387081decc36f,
2514 0x74f406502568a759,
2515 0x5d9a2ff321fb855e,
2516 0x0e7daeab197fe168,
2517 0xfa552d4350f34d32,
2518 0xa9b2ac1b68772904,
2519 0xa8897e0559d5093c,
2520 0xfb6eff5d61516d0a,
2521 0x0f467cb528ddc150,
2522 0x5ca1fded1059a566,
2523 0x75cfd44e14ca8761,
2524 0x262855162c4ee357,
2525 0xd200d6fe65c24f0d,
2526 0x81e757a65d462b3b,
2527 0x71209c36d2420781,
2528 0x22c71d6eeac663b7,
2529 0xd6ef9e86a34acfed,
2530 0x85081fde9bceabdb,
2531 0xac66367d9f5d89dc,
2532 0xff81b725a7d9edea,
2533 0x0ba934cdee5541b0,
2534 0x584eb595d6d12586,
2535 0x5975678be77305be,
2536 0x0a92e6d3dff76188,
2537 0xfeba653b967bcdd2,
2538 0xad5de463aeffa9e4,
2539 0x8433cdc0aa6c8be3,
2540 0xd7d44c9892e8efd5,
2541 0x23fccf70db64438f,
2542 0x701b4e28e3e027b9,
2543 0x218b6b4cb82003ff,
2544 0x726cea1480a467c9,
2545 0x864469fcc928cb93,
2546 0xd5a3e8a4f1acafa5,
2547 0xfccdc107f53f8da2,
2548 0xaf2a405fcdbbe994,
2549 0x5b02c3b7843745ce,
2550 0x08e542efbcb321f8,
2551 0x09de90f18d1101c0,
2552 0x5a3911a9b59565f6,
2553 0xae119241fc19c9ac,
2554 0xfdf61319c49dad9a,
2555 0xd4983abac00e8f9d,
2556 0x877fbbe2f88aebab,
2557 0x7357380ab10647f1,
2558 0x20b0b952898223c7,
2559 0x32364aafa202007f,
2560 0x61d1cbf79a866449,
2561 0x95f9481fd30ac813,
2562 0xc61ec947eb8eac25,
2563 0xef70e0e4ef1d8e22,
2564 0xbc9761bcd799ea14,
2565 0x48bfe2549e15464e,
2566 0x1b58630ca6912278,
2567 0x1a63b11297330240,
2568 0x4984304aafb76676,
2569 0xbdacb3a2e63bca2c,
2570 0xee4b32fadebfae1a,
2571 0xc7251b59da2c8c1d,
2572 0x94c29a01e2a8e82b,
2573 0x60ea19e9ab244471,
2574 0x330d98b193a02047,
2575 0x629dbdd5c8600401,
2576 0x317a3c8df0e46037,
2577 0xc552bf65b968cc6d,
2578 0x96b53e3d81eca85b,
2579 0xbfdb179e857f8a5c,
2580 0xec3c96c6bdfbee6a,
2581 0x1814152ef4774230,
2582 0x4bf39476ccf32606,
2583 0x4ac84668fd51063e,
2584 0x192fc730c5d56208,
2585 0xed0744d88c59ce52,
2586 0xbee0c580b4ddaa64,
2587 0x978eec23b04e8863,
2588 0xc4696d7b88caec55,
2589 0x3041ee93c146400f,
2590 0x63a66fcbf9c22439,
2591 0x9361a45b76c60883,
2592 0xc08625034e426cb5,
2593 0x34aea6eb07cec0ef,
2594 0x674927b33f4aa4d9,
2595 0x4e270e103bd986de,
2596 0x1dc08f48035de2e8,
2597 0xe9e80ca04ad14eb2,
2598 0xba0f8df872552a84,
2599 0xbb345fe643f70abc,
2600 0xe8d3debe7b736e8a,
2601 0x1cfb5d5632ffc2d0,
2602 0x4f1cdc0e0a7ba6e6,
2603 0x6672f5ad0ee884e1,
2604 0x359574f5366ce0d7,
2605 0xc1bdf71d7fe04c8d,
2606 0x925a7645476428bb,
2607 0xc3ca53211ca40cfd,
2608 0x902dd279242068cb,
2609 0x640551916dacc491,
2610 0x37e2d0c95528a0a7,
2611 0x1e8cf96a51bb82a0,
2612 0x4d6b7832693fe696,
2613 0xb943fbda20b34acc,
2614 0xeaa47a8218372efa,
2615 0xeb9fa89c29950ec2,
2616 0xb87829c411116af4,
2617 0x4c50aa2c589dc6ae,
2618 0x1fb72b746019a298,
2619 0x36d902d7648a809f,
2620 0x653e838f5c0ee4a9,
2621 0x91160067158248f3,
2622 0xc2f1813f2d062cc5,
2623 0xe241386da4840f02,
2624 0xb1a6b9359c006b34,
2625 0x458e3addd58cc76e,
2626 0x1669bb85ed08a358,
2627 0x3f079226e99b815f,
2628 0x6ce0137ed11fe569,
2629 0x98c8909698934933,
2630 0xcb2f11cea0172d05,
2631 0xca14c3d091b50d3d,
2632 0x99f34288a931690b,
2633 0x6ddbc160e0bdc551,
2634 0x3e3c4038d839a167,
2635 0x1752699bdcaa8360,
2636 0x44b5e8c3e42ee756,
2637 0xb09d6b2bada24b0c,
2638 0xe37aea7395262f3a,
2639 0xb2eacf17cee60b7c,
2640 0xe10d4e4ff6626f4a,
2641 0x1525cda7bfeec310,
2642 0x46c24cff876aa726,
2643 0x6fac655c83f98521,
2644 0x3c4be404bb7de117,
2645 0xc86367ecf2f14d4d,
2646 0x9b84e6b4ca75297b,
2647 0x9abf34aafbd70943,
2648 0xc958b5f2c3536d75,
2649 0x3d70361a8adfc12f,
2650 0x6e97b742b25ba519,
2651 0x47f99ee1b6c8871e,
2652 0x141e1fb98e4ce328,
2653 0xe0369c51c7c04f72,
2654 0xb3d11d09ff442b44,
2655 0x4316d699704007fe,
2656 0x10f157c148c463c8,
2657 0xe4d9d4290148cf92,
2658 0xb73e557139ccaba4,
2659 0x9e507cd23d5f89a3,
2660 0xcdb7fd8a05dbed95,
2661 0x399f7e624c5741cf,
2662 0x6a78ff3a74d325f9,
2663 0x6b432d24457105c1,
2664 0x38a4ac7c7df561f7,
2665 0xcc8c2f943479cdad,
2666 0x9f6baecc0cfda99b,
2667 0xb605876f086e8b9c,
2668 0xe5e2063730eaefaa,
2669 0x11ca85df796643f0,
2670 0x422d048741e227c6,
2671 0x13bd21e31a220380,
2672 0x405aa0bb22a667b6,
2673 0xb47223536b2acbec,
2674 0xe795a20b53aeafda,
2675 0xcefb8ba8573d8ddd,
2676 0x9d1c0af06fb9e9eb,
2677 0x69348918263545b1,
2678 0x3ad308401eb12187,
2679 0x3be8da5e2f1301bf,
2680 0x680f5b0617976589,
2681 0x9c27d8ee5e1bc9d3,
2682 0xcfc059b6669fade5,
2683 0xe6ae7015620c8fe2,
2684 0xb549f14d5a88ebd4,
2685 0x416172a51304478e,
2686 0x1286f3fd2b8023b8,
2687];
2688
2689static TABLE_10: [u64; 256] = [
2692 0x0000000000000000,
2693 0x09abf11afca2d0d7,
2694 0x1357e235f945a1ae,
2695 0x1afc132f05e77179,
2696 0x26afc46bf28b435c,
2697 0x2f0435710e29938b,
2698 0x35f8265e0bcee2f2,
2699 0x3c53d744f76c3225,
2700 0x4d5f88d7e51686b8,
2701 0x44f479cd19b4566f,
2702 0x5e086ae21c532716,
2703 0x57a39bf8e0f1f7c1,
2704 0x6bf04cbc179dc5e4,
2705 0x625bbda6eb3f1533,
2706 0x78a7ae89eed8644a,
2707 0x710c5f93127ab49d,
2708 0x9abf11afca2d0d70,
2709 0x9314e0b5368fdda7,
2710 0x89e8f39a3368acde,
2711 0x80430280cfca7c09,
2712 0xbc10d5c438a64e2c,
2713 0xb5bb24dec4049efb,
2714 0xaf4737f1c1e3ef82,
2715 0xa6ecc6eb3d413f55,
2716 0xd7e099782f3b8bc8,
2717 0xde4b6862d3995b1f,
2718 0xc4b77b4dd67e2a66,
2719 0xcd1c8a572adcfab1,
2720 0xf14f5d13ddb0c894,
2721 0xf8e4ac0921121843,
2722 0xe218bf2624f5693a,
2723 0xebb34e3cd857b9ed,
2724 0xa7a68c743b540465,
2725 0xae0d7d6ec7f6d4b2,
2726 0xb4f16e41c211a5cb,
2727 0xbd5a9f5b3eb3751c,
2728 0x8109481fc9df4739,
2729 0x88a2b905357d97ee,
2730 0x925eaa2a309ae697,
2731 0x9bf55b30cc383640,
2732 0xeaf904a3de4282dd,
2733 0xe352f5b922e0520a,
2734 0xf9aee69627072373,
2735 0xf005178cdba5f3a4,
2736 0xcc56c0c82cc9c181,
2737 0xc5fd31d2d06b1156,
2738 0xdf0122fdd58c602f,
2739 0xd6aad3e7292eb0f8,
2740 0x3d199ddbf1790915,
2741 0x34b26cc10ddbd9c2,
2742 0x2e4e7fee083ca8bb,
2743 0x27e58ef4f49e786c,
2744 0x1bb659b003f24a49,
2745 0x121da8aaff509a9e,
2746 0x08e1bb85fab7ebe7,
2747 0x014a4a9f06153b30,
2748 0x7046150c146f8fad,
2749 0x79ede416e8cd5f7a,
2750 0x6311f739ed2a2e03,
2751 0x6aba06231188fed4,
2752 0x56e9d167e6e4ccf1,
2753 0x5f42207d1a461c26,
2754 0x45be33521fa16d5f,
2755 0x4c15c248e303bd88,
2756 0xdd95b7c3d9a6164f,
2757 0xd43e46d92504c698,
2758 0xcec255f620e3b7e1,
2759 0xc769a4ecdc416736,
2760 0xfb3a73a82b2d5513,
2761 0xf29182b2d78f85c4,
2762 0xe86d919dd268f4bd,
2763 0xe1c660872eca246a,
2764 0x90ca3f143cb090f7,
2765 0x9961ce0ec0124020,
2766 0x839ddd21c5f53159,
2767 0x8a362c3b3957e18e,
2768 0xb665fb7fce3bd3ab,
2769 0xbfce0a653299037c,
2770 0xa532194a377e7205,
2771 0xac99e850cbdca2d2,
2772 0x472aa66c138b1b3f,
2773 0x4e815776ef29cbe8,
2774 0x547d4459eaceba91,
2775 0x5dd6b543166c6a46,
2776 0x61856207e1005863,
2777 0x682e931d1da288b4,
2778 0x72d280321845f9cd,
2779 0x7b797128e4e7291a,
2780 0x0a752ebbf69d9d87,
2781 0x03dedfa10a3f4d50,
2782 0x1922cc8e0fd83c29,
2783 0x10893d94f37aecfe,
2784 0x2cdaead00416dedb,
2785 0x25711bcaf8b40e0c,
2786 0x3f8d08e5fd537f75,
2787 0x3626f9ff01f1afa2,
2788 0x7a333bb7e2f2122a,
2789 0x7398caad1e50c2fd,
2790 0x6964d9821bb7b384,
2791 0x60cf2898e7156353,
2792 0x5c9cffdc10795176,
2793 0x55370ec6ecdb81a1,
2794 0x4fcb1de9e93cf0d8,
2795 0x4660ecf3159e200f,
2796 0x376cb36007e49492,
2797 0x3ec7427afb464445,
2798 0x243b5155fea1353c,
2799 0x2d90a04f0203e5eb,
2800 0x11c3770bf56fd7ce,
2801 0x1868861109cd0719,
2802 0x0294953e0c2a7660,
2803 0x0b3f6424f088a6b7,
2804 0xe08c2a1828df1f5a,
2805 0xe927db02d47dcf8d,
2806 0xf3dbc82dd19abef4,
2807 0xfa7039372d386e23,
2808 0xc623ee73da545c06,
2809 0xcf881f6926f68cd1,
2810 0xd5740c462311fda8,
2811 0xdcdffd5cdfb32d7f,
2812 0xadd3a2cfcdc999e2,
2813 0xa47853d5316b4935,
2814 0xbe8440fa348c384c,
2815 0xb72fb1e0c82ee89b,
2816 0x8b7c66a43f42dabe,
2817 0x82d797bec3e00a69,
2818 0x982b8491c6077b10,
2819 0x9180758b3aa5abc7,
2820 0x29f3c0ac1c42321b,
2821 0x205831b6e0e0e2cc,
2822 0x3aa42299e50793b5,
2823 0x330fd38319a54362,
2824 0x0f5c04c7eec97147,
2825 0x06f7f5dd126ba190,
2826 0x1c0be6f2178cd0e9,
2827 0x15a017e8eb2e003e,
2828 0x64ac487bf954b4a3,
2829 0x6d07b96105f66474,
2830 0x77fbaa4e0011150d,
2831 0x7e505b54fcb3c5da,
2832 0x42038c100bdff7ff,
2833 0x4ba87d0af77d2728,
2834 0x51546e25f29a5651,
2835 0x58ff9f3f0e388686,
2836 0xb34cd103d66f3f6b,
2837 0xbae720192acdefbc,
2838 0xa01b33362f2a9ec5,
2839 0xa9b0c22cd3884e12,
2840 0x95e3156824e47c37,
2841 0x9c48e472d846ace0,
2842 0x86b4f75ddda1dd99,
2843 0x8f1f064721030d4e,
2844 0xfe1359d43379b9d3,
2845 0xf7b8a8cecfdb6904,
2846 0xed44bbe1ca3c187d,
2847 0xe4ef4afb369ec8aa,
2848 0xd8bc9dbfc1f2fa8f,
2849 0xd1176ca53d502a58,
2850 0xcbeb7f8a38b75b21,
2851 0xc2408e90c4158bf6,
2852 0x8e554cd82716367e,
2853 0x87febdc2dbb4e6a9,
2854 0x9d02aeedde5397d0,
2855 0x94a95ff722f14707,
2856 0xa8fa88b3d59d7522,
2857 0xa15179a9293fa5f5,
2858 0xbbad6a862cd8d48c,
2859 0xb2069b9cd07a045b,
2860 0xc30ac40fc200b0c6,
2861 0xcaa135153ea26011,
2862 0xd05d263a3b451168,
2863 0xd9f6d720c7e7c1bf,
2864 0xe5a50064308bf39a,
2865 0xec0ef17ecc29234d,
2866 0xf6f2e251c9ce5234,
2867 0xff59134b356c82e3,
2868 0x14ea5d77ed3b3b0e,
2869 0x1d41ac6d1199ebd9,
2870 0x07bdbf42147e9aa0,
2871 0x0e164e58e8dc4a77,
2872 0x3245991c1fb07852,
2873 0x3bee6806e312a885,
2874 0x21127b29e6f5d9fc,
2875 0x28b98a331a57092b,
2876 0x59b5d5a0082dbdb6,
2877 0x501e24baf48f6d61,
2878 0x4ae23795f1681c18,
2879 0x4349c68f0dcacccf,
2880 0x7f1a11cbfaa6feea,
2881 0x76b1e0d106042e3d,
2882 0x6c4df3fe03e35f44,
2883 0x65e602e4ff418f93,
2884 0xf466776fc5e42454,
2885 0xfdcd86753946f483,
2886 0xe731955a3ca185fa,
2887 0xee9a6440c003552d,
2888 0xd2c9b304376f6708,
2889 0xdb62421ecbcdb7df,
2890 0xc19e5131ce2ac6a6,
2891 0xc835a02b32881671,
2892 0xb939ffb820f2a2ec,
2893 0xb0920ea2dc50723b,
2894 0xaa6e1d8dd9b70342,
2895 0xa3c5ec972515d395,
2896 0x9f963bd3d279e1b0,
2897 0x963dcac92edb3167,
2898 0x8cc1d9e62b3c401e,
2899 0x856a28fcd79e90c9,
2900 0x6ed966c00fc92924,
2901 0x677297daf36bf9f3,
2902 0x7d8e84f5f68c888a,
2903 0x742575ef0a2e585d,
2904 0x4876a2abfd426a78,
2905 0x41dd53b101e0baaf,
2906 0x5b21409e0407cbd6,
2907 0x528ab184f8a51b01,
2908 0x2386ee17eadfaf9c,
2909 0x2a2d1f0d167d7f4b,
2910 0x30d10c22139a0e32,
2911 0x397afd38ef38dee5,
2912 0x05292a7c1854ecc0,
2913 0x0c82db66e4f63c17,
2914 0x167ec849e1114d6e,
2915 0x1fd539531db39db9,
2916 0x53c0fb1bfeb02031,
2917 0x5a6b0a010212f0e6,
2918 0x4097192e07f5819f,
2919 0x493ce834fb575148,
2920 0x756f3f700c3b636d,
2921 0x7cc4ce6af099b3ba,
2922 0x6638dd45f57ec2c3,
2923 0x6f932c5f09dc1214,
2924 0x1e9f73cc1ba6a689,
2925 0x173482d6e704765e,
2926 0x0dc891f9e2e30727,
2927 0x046360e31e41d7f0,
2928 0x3830b7a7e92de5d5,
2929 0x319b46bd158f3502,
2930 0x2b6755921068447b,
2931 0x22cca488ecca94ac,
2932 0xc97feab4349d2d41,
2933 0xc0d41baec83ffd96,
2934 0xda280881cdd88cef,
2935 0xd383f99b317a5c38,
2936 0xefd02edfc6166e1d,
2937 0xe67bdfc53ab4beca,
2938 0xfc87ccea3f53cfb3,
2939 0xf52c3df0c3f11f64,
2940 0x84206263d18babf9,
2941 0x8d8b93792d297b2e,
2942 0x9777805628ce0a57,
2943 0x9edc714cd46cda80,
2944 0xa28fa6082300e8a5,
2945 0xab245712dfa23872,
2946 0xb1d8443dda45490b,
2947 0xb873b52726e799dc,
2948];
2949
2950static TABLE_11: [u64; 256] = [
2953 0x0000000000000000,
2954 0xec32cffb23e3ed7d,
2955 0x4abd30dde8c9c47f,
2956 0xa68fff26cb2a2902,
2957 0x957a61bbd19388fe,
2958 0x7948ae40f2706583,
2959 0xdfc75166395a4c81,
2960 0x33f59e9d1ab9a1fc,
2961 0xb82c6c5c0c290f79,
2962 0x541ea3a72fcae204,
2963 0xf2915c81e4e0cb06,
2964 0x1ea3937ac703267b,
2965 0x2d560de7ddba8787,
2966 0xc164c21cfe596afa,
2967 0x67eb3d3a357343f8,
2968 0x8bd9f2c11690ae85,
2969 0xe2807793b75c0077,
2970 0x0eb2b86894bfed0a,
2971 0xa83d474e5f95c408,
2972 0x440f88b57c762975,
2973 0x77fa162866cf8889,
2974 0x9bc8d9d3452c65f4,
2975 0x3d4726f58e064cf6,
2976 0xd175e90eade5a18b,
2977 0x5aac1bcfbb750f0e,
2978 0xb69ed4349896e273,
2979 0x10112b1253bccb71,
2980 0xfc23e4e9705f260c,
2981 0xcfd67a746ae687f0,
2982 0x23e4b58f49056a8d,
2983 0x856b4aa9822f438f,
2984 0x69598552a1ccaef2,
2985 0x57d8400cc1b61e6b,
2986 0xbbea8ff7e255f316,
2987 0x1d6570d1297fda14,
2988 0xf157bf2a0a9c3769,
2989 0xc2a221b710259695,
2990 0x2e90ee4c33c67be8,
2991 0x881f116af8ec52ea,
2992 0x642dde91db0fbf97,
2993 0xeff42c50cd9f1112,
2994 0x03c6e3abee7cfc6f,
2995 0xa5491c8d2556d56d,
2996 0x497bd37606b53810,
2997 0x7a8e4deb1c0c99ec,
2998 0x96bc82103fef7491,
2999 0x30337d36f4c55d93,
3000 0xdc01b2cdd726b0ee,
3001 0xb558379f76ea1e1c,
3002 0x596af8645509f361,
3003 0xffe507429e23da63,
3004 0x13d7c8b9bdc0371e,
3005 0x20225624a77996e2,
3006 0xcc1099df849a7b9f,
3007 0x6a9f66f94fb0529d,
3008 0x86ada9026c53bfe0,
3009 0x0d745bc37ac31165,
3010 0xe14694385920fc18,
3011 0x47c96b1e920ad51a,
3012 0xabfba4e5b1e93867,
3013 0x980e3a78ab50999b,
3014 0x743cf58388b374e6,
3015 0xd2b30aa543995de4,
3016 0x3e81c55e607ab099,
3017 0xafb08019836c3cd6,
3018 0x43824fe2a08fd1ab,
3019 0xe50db0c46ba5f8a9,
3020 0x093f7f3f484615d4,
3021 0x3acae1a252ffb428,
3022 0xd6f82e59711c5955,
3023 0x7077d17fba367057,
3024 0x9c451e8499d59d2a,
3025 0x179cec458f4533af,
3026 0xfbae23beaca6ded2,
3027 0x5d21dc98678cf7d0,
3028 0xb1131363446f1aad,
3029 0x82e68dfe5ed6bb51,
3030 0x6ed442057d35562c,
3031 0xc85bbd23b61f7f2e,
3032 0x246972d895fc9253,
3033 0x4d30f78a34303ca1,
3034 0xa102387117d3d1dc,
3035 0x078dc757dcf9f8de,
3036 0xebbf08acff1a15a3,
3037 0xd84a9631e5a3b45f,
3038 0x347859cac6405922,
3039 0x92f7a6ec0d6a7020,
3040 0x7ec569172e899d5d,
3041 0xf51c9bd6381933d8,
3042 0x192e542d1bfadea5,
3043 0xbfa1ab0bd0d0f7a7,
3044 0x539364f0f3331ada,
3045 0x6066fa6de98abb26,
3046 0x8c543596ca69565b,
3047 0x2adbcab001437f59,
3048 0xc6e9054b22a09224,
3049 0xf868c01542da22bd,
3050 0x145a0fee6139cfc0,
3051 0xb2d5f0c8aa13e6c2,
3052 0x5ee73f3389f00bbf,
3053 0x6d12a1ae9349aa43,
3054 0x81206e55b0aa473e,
3055 0x27af91737b806e3c,
3056 0xcb9d5e8858638341,
3057 0x4044ac494ef32dc4,
3058 0xac7663b26d10c0b9,
3059 0x0af99c94a63ae9bb,
3060 0xe6cb536f85d904c6,
3061 0xd53ecdf29f60a53a,
3062 0x390c0209bc834847,
3063 0x9f83fd2f77a96145,
3064 0x73b132d4544a8c38,
3065 0x1ae8b786f58622ca,
3066 0xf6da787dd665cfb7,
3067 0x5055875b1d4fe6b5,
3068 0xbc6748a03eac0bc8,
3069 0x8f92d63d2415aa34,
3070 0x63a019c607f64749,
3071 0xc52fe6e0ccdc6e4b,
3072 0x291d291bef3f8336,
3073 0xa2c4dbdaf9af2db3,
3074 0x4ef61421da4cc0ce,
3075 0xe879eb071166e9cc,
3076 0x044b24fc328504b1,
3077 0x37beba61283ca54d,
3078 0xdb8c759a0bdf4830,
3079 0x7d038abcc0f56132,
3080 0x91314547e3168c4f,
3081 0xcdb9af18a9d66729,
3082 0x218b60e38a358a54,
3083 0x87049fc5411fa356,
3084 0x6b36503e62fc4e2b,
3085 0x58c3cea37845efd7,
3086 0xb4f101585ba602aa,
3087 0x127efe7e908c2ba8,
3088 0xfe4c3185b36fc6d5,
3089 0x7595c344a5ff6850,
3090 0x99a70cbf861c852d,
3091 0x3f28f3994d36ac2f,
3092 0xd31a3c626ed54152,
3093 0xe0efa2ff746ce0ae,
3094 0x0cdd6d04578f0dd3,
3095 0xaa5292229ca524d1,
3096 0x46605dd9bf46c9ac,
3097 0x2f39d88b1e8a675e,
3098 0xc30b17703d698a23,
3099 0x6584e856f643a321,
3100 0x89b627add5a04e5c,
3101 0xba43b930cf19efa0,
3102 0x567176cbecfa02dd,
3103 0xf0fe89ed27d02bdf,
3104 0x1ccc46160433c6a2,
3105 0x9715b4d712a36827,
3106 0x7b277b2c3140855a,
3107 0xdda8840afa6aac58,
3108 0x319a4bf1d9894125,
3109 0x026fd56cc330e0d9,
3110 0xee5d1a97e0d30da4,
3111 0x48d2e5b12bf924a6,
3112 0xa4e02a4a081ac9db,
3113 0x9a61ef1468607942,
3114 0x765320ef4b83943f,
3115 0xd0dcdfc980a9bd3d,
3116 0x3cee1032a34a5040,
3117 0x0f1b8eafb9f3f1bc,
3118 0xe32941549a101cc1,
3119 0x45a6be72513a35c3,
3120 0xa994718972d9d8be,
3121 0x224d83486449763b,
3122 0xce7f4cb347aa9b46,
3123 0x68f0b3958c80b244,
3124 0x84c27c6eaf635f39,
3125 0xb737e2f3b5dafec5,
3126 0x5b052d08963913b8,
3127 0xfd8ad22e5d133aba,
3128 0x11b81dd57ef0d7c7,
3129 0x78e19887df3c7935,
3130 0x94d3577cfcdf9448,
3131 0x325ca85a37f5bd4a,
3132 0xde6e67a114165037,
3133 0xed9bf93c0eaff1cb,
3134 0x01a936c72d4c1cb6,
3135 0xa726c9e1e66635b4,
3136 0x4b14061ac585d8c9,
3137 0xc0cdf4dbd315764c,
3138 0x2cff3b20f0f69b31,
3139 0x8a70c4063bdcb233,
3140 0x66420bfd183f5f4e,
3141 0x55b795600286feb2,
3142 0xb9855a9b216513cf,
3143 0x1f0aa5bdea4f3acd,
3144 0xf3386a46c9acd7b0,
3145 0x62092f012aba5bff,
3146 0x8e3be0fa0959b682,
3147 0x28b41fdcc2739f80,
3148 0xc486d027e19072fd,
3149 0xf7734ebafb29d301,
3150 0x1b418141d8ca3e7c,
3151 0xbdce7e6713e0177e,
3152 0x51fcb19c3003fa03,
3153 0xda25435d26935486,
3154 0x36178ca60570b9fb,
3155 0x90987380ce5a90f9,
3156 0x7caabc7bedb97d84,
3157 0x4f5f22e6f700dc78,
3158 0xa36ded1dd4e33105,
3159 0x05e2123b1fc91807,
3160 0xe9d0ddc03c2af57a,
3161 0x808958929de65b88,
3162 0x6cbb9769be05b6f5,
3163 0xca34684f752f9ff7,
3164 0x2606a7b456cc728a,
3165 0x15f339294c75d376,
3166 0xf9c1f6d26f963e0b,
3167 0x5f4e09f4a4bc1709,
3168 0xb37cc60f875ffa74,
3169 0x38a534ce91cf54f1,
3170 0xd497fb35b22cb98c,
3171 0x721804137906908e,
3172 0x9e2acbe85ae57df3,
3173 0xaddf5575405cdc0f,
3174 0x41ed9a8e63bf3172,
3175 0xe76265a8a8951870,
3176 0x0b50aa538b76f50d,
3177 0x35d16f0deb0c4594,
3178 0xd9e3a0f6c8efa8e9,
3179 0x7f6c5fd003c581eb,
3180 0x935e902b20266c96,
3181 0xa0ab0eb63a9fcd6a,
3182 0x4c99c14d197c2017,
3183 0xea163e6bd2560915,
3184 0x0624f190f1b5e468,
3185 0x8dfd0351e7254aed,
3186 0x61cfccaac4c6a790,
3187 0xc740338c0fec8e92,
3188 0x2b72fc772c0f63ef,
3189 0x188762ea36b6c213,
3190 0xf4b5ad1115552f6e,
3191 0x523a5237de7f066c,
3192 0xbe089dccfd9ceb11,
3193 0xd751189e5c5045e3,
3194 0x3b63d7657fb3a89e,
3195 0x9dec2843b499819c,
3196 0x71dee7b8977a6ce1,
3197 0x422b79258dc3cd1d,
3198 0xae19b6deae202060,
3199 0x089649f8650a0962,
3200 0xe4a4860346e9e41f,
3201 0x6f7d74c250794a9a,
3202 0x834fbb39739aa7e7,
3203 0x25c0441fb8b08ee5,
3204 0xc9f28be49b536398,
3205 0xfa07157981eac264,
3206 0x1635da82a2092f19,
3207 0xb0ba25a46923061b,
3208 0x5c88ea5f4ac0eb66,
3209];
3210
3211static TABLE_12: [u64; 256] = [
3214 0x0000000000000000,
3215 0xdda9f27ee08373ad,
3216 0x298b4bd66e08f9df,
3217 0xf422b9a88e8b8a72,
3218 0x531697acdc11f3be,
3219 0x8ebf65d23c928013,
3220 0x7a9ddc7ab2190a61,
3221 0xa7342e04529a79cc,
3222 0xa62d2f59b823e77c,
3223 0x7b84dd2758a094d1,
3224 0x8fa6648fd62b1ea3,
3225 0x520f96f136a86d0e,
3226 0xf53bb8f5643214c2,
3227 0x28924a8b84b1676f,
3228 0xdcb0f3230a3aed1d,
3229 0x0119015deab99eb0,
3230 0xde82f198df49d07d,
3231 0x032b03e63fcaa3d0,
3232 0xf709ba4eb14129a2,
3233 0x2aa0483051c25a0f,
3234 0x8d946634035823c3,
3235 0x503d944ae3db506e,
3236 0xa41f2de26d50da1c,
3237 0x79b6df9c8dd3a9b1,
3238 0x78afdec1676a3701,
3239 0xa5062cbf87e944ac,
3240 0x512495170962cede,
3241 0x8c8d6769e9e1bd73,
3242 0x2bb9496dbb7bc4bf,
3243 0xf610bb135bf8b712,
3244 0x023202bbd5733d60,
3245 0xdf9bf0c535f04ecd,
3246 0x2fdd4c1a119dbe7f,
3247 0xf274be64f11ecdd2,
3248 0x065607cc7f9547a0,
3249 0xdbfff5b29f16340d,
3250 0x7ccbdbb6cd8c4dc1,
3251 0xa16229c82d0f3e6c,
3252 0x55409060a384b41e,
3253 0x88e9621e4307c7b3,
3254 0x89f06343a9be5903,
3255 0x5459913d493d2aae,
3256 0xa07b2895c7b6a0dc,
3257 0x7dd2daeb2735d371,
3258 0xdae6f4ef75afaabd,
3259 0x074f0691952cd910,
3260 0xf36dbf391ba75362,
3261 0x2ec44d47fb2420cf,
3262 0xf15fbd82ced46e02,
3263 0x2cf64ffc2e571daf,
3264 0xd8d4f654a0dc97dd,
3265 0x057d042a405fe470,
3266 0xa2492a2e12c59dbc,
3267 0x7fe0d850f246ee11,
3268 0x8bc261f87ccd6463,
3269 0x566b93869c4e17ce,
3270 0x577292db76f7897e,
3271 0x8adb60a59674fad3,
3272 0x7ef9d90d18ff70a1,
3273 0xa3502b73f87c030c,
3274 0x04640577aae67ac0,
3275 0xd9cdf7094a65096d,
3276 0x2def4ea1c4ee831f,
3277 0xf046bcdf246df0b2,
3278 0x5fba9834233b7cfe,
3279 0x82136a4ac3b80f53,
3280 0x7631d3e24d338521,
3281 0xab98219cadb0f68c,
3282 0x0cac0f98ff2a8f40,
3283 0xd105fde61fa9fced,
3284 0x2527444e9122769f,
3285 0xf88eb63071a10532,
3286 0xf997b76d9b189b82,
3287 0x243e45137b9be82f,
3288 0xd01cfcbbf510625d,
3289 0x0db50ec5159311f0,
3290 0xaa8120c14709683c,
3291 0x7728d2bfa78a1b91,
3292 0x830a6b17290191e3,
3293 0x5ea39969c982e24e,
3294 0x813869acfc72ac83,
3295 0x5c919bd21cf1df2e,
3296 0xa8b3227a927a555c,
3297 0x751ad00472f926f1,
3298 0xd22efe0020635f3d,
3299 0x0f870c7ec0e02c90,
3300 0xfba5b5d64e6ba6e2,
3301 0x260c47a8aee8d54f,
3302 0x271546f544514bff,
3303 0xfabcb48ba4d23852,
3304 0x0e9e0d232a59b220,
3305 0xd337ff5dcadac18d,
3306 0x7403d1599840b841,
3307 0xa9aa232778c3cbec,
3308 0x5d889a8ff648419e,
3309 0x802168f116cb3233,
3310 0x7067d42e32a6c281,
3311 0xadce2650d225b12c,
3312 0x59ec9ff85cae3b5e,
3313 0x84456d86bc2d48f3,
3314 0x23714382eeb7313f,
3315 0xfed8b1fc0e344292,
3316 0x0afa085480bfc8e0,
3317 0xd753fa2a603cbb4d,
3318 0xd64afb778a8525fd,
3319 0x0be309096a065650,
3320 0xffc1b0a1e48ddc22,
3321 0x226842df040eaf8f,
3322 0x855c6cdb5694d643,
3323 0x58f59ea5b617a5ee,
3324 0xacd7270d389c2f9c,
3325 0x717ed573d81f5c31,
3326 0xaee525b6edef12fc,
3327 0x734cd7c80d6c6151,
3328 0x876e6e6083e7eb23,
3329 0x5ac79c1e6364988e,
3330 0xfdf3b21a31fee142,
3331 0x205a4064d17d92ef,
3332 0xd478f9cc5ff6189d,
3333 0x09d10bb2bf756b30,
3334 0x08c80aef55ccf580,
3335 0xd561f891b54f862d,
3336 0x214341393bc40c5f,
3337 0xfceab347db477ff2,
3338 0x5bde9d4389dd063e,
3339 0x86776f3d695e7593,
3340 0x7255d695e7d5ffe1,
3341 0xaffc24eb07568c4c,
3342 0xbf7530684676f9fc,
3343 0x62dcc216a6f58a51,
3344 0x96fe7bbe287e0023,
3345 0x4b5789c0c8fd738e,
3346 0xec63a7c49a670a42,
3347 0x31ca55ba7ae479ef,
3348 0xc5e8ec12f46ff39d,
3349 0x18411e6c14ec8030,
3350 0x19581f31fe551e80,
3351 0xc4f1ed4f1ed66d2d,
3352 0x30d354e7905de75f,
3353 0xed7aa69970de94f2,
3354 0x4a4e889d2244ed3e,
3355 0x97e77ae3c2c79e93,
3356 0x63c5c34b4c4c14e1,
3357 0xbe6c3135accf674c,
3358 0x61f7c1f0993f2981,
3359 0xbc5e338e79bc5a2c,
3360 0x487c8a26f737d05e,
3361 0x95d5785817b4a3f3,
3362 0x32e1565c452eda3f,
3363 0xef48a422a5ada992,
3364 0x1b6a1d8a2b2623e0,
3365 0xc6c3eff4cba5504d,
3366 0xc7daeea9211ccefd,
3367 0x1a731cd7c19fbd50,
3368 0xee51a57f4f143722,
3369 0x33f85701af97448f,
3370 0x94cc7905fd0d3d43,
3371 0x49658b7b1d8e4eee,
3372 0xbd4732d39305c49c,
3373 0x60eec0ad7386b731,
3374 0x90a87c7257eb4783,
3375 0x4d018e0cb768342e,
3376 0xb92337a439e3be5c,
3377 0x648ac5dad960cdf1,
3378 0xc3beebde8bfab43d,
3379 0x1e1719a06b79c790,
3380 0xea35a008e5f24de2,
3381 0x379c527605713e4f,
3382 0x3685532befc8a0ff,
3383 0xeb2ca1550f4bd352,
3384 0x1f0e18fd81c05920,
3385 0xc2a7ea8361432a8d,
3386 0x6593c48733d95341,
3387 0xb83a36f9d35a20ec,
3388 0x4c188f515dd1aa9e,
3389 0x91b17d2fbd52d933,
3390 0x4e2a8dea88a297fe,
3391 0x93837f946821e453,
3392 0x67a1c63ce6aa6e21,
3393 0xba08344206291d8c,
3394 0x1d3c1a4654b36440,
3395 0xc095e838b43017ed,
3396 0x34b751903abb9d9f,
3397 0xe91ea3eeda38ee32,
3398 0xe807a2b330817082,
3399 0x35ae50cdd002032f,
3400 0xc18ce9655e89895d,
3401 0x1c251b1bbe0afaf0,
3402 0xbb11351fec90833c,
3403 0x66b8c7610c13f091,
3404 0x929a7ec982987ae3,
3405 0x4f338cb7621b094e,
3406 0xe0cfa85c654d8502,
3407 0x3d665a2285cef6af,
3408 0xc944e38a0b457cdd,
3409 0x14ed11f4ebc60f70,
3410 0xb3d93ff0b95c76bc,
3411 0x6e70cd8e59df0511,
3412 0x9a527426d7548f63,
3413 0x47fb865837d7fcce,
3414 0x46e28705dd6e627e,
3415 0x9b4b757b3ded11d3,
3416 0x6f69ccd3b3669ba1,
3417 0xb2c03ead53e5e80c,
3418 0x15f410a9017f91c0,
3419 0xc85de2d7e1fce26d,
3420 0x3c7f5b7f6f77681f,
3421 0xe1d6a9018ff41bb2,
3422 0x3e4d59c4ba04557f,
3423 0xe3e4abba5a8726d2,
3424 0x17c61212d40caca0,
3425 0xca6fe06c348fdf0d,
3426 0x6d5bce686615a6c1,
3427 0xb0f23c168696d56c,
3428 0x44d085be081d5f1e,
3429 0x997977c0e89e2cb3,
3430 0x9860769d0227b203,
3431 0x45c984e3e2a4c1ae,
3432 0xb1eb3d4b6c2f4bdc,
3433 0x6c42cf358cac3871,
3434 0xcb76e131de3641bd,
3435 0x16df134f3eb53210,
3436 0xe2fdaae7b03eb862,
3437 0x3f54589950bdcbcf,
3438 0xcf12e44674d03b7d,
3439 0x12bb1638945348d0,
3440 0xe699af901ad8c2a2,
3441 0x3b305deefa5bb10f,
3442 0x9c0473eaa8c1c8c3,
3443 0x41ad81944842bb6e,
3444 0xb58f383cc6c9311c,
3445 0x6826ca42264a42b1,
3446 0x693fcb1fccf3dc01,
3447 0xb49639612c70afac,
3448 0x40b480c9a2fb25de,
3449 0x9d1d72b742785673,
3450 0x3a295cb310e22fbf,
3451 0xe780aecdf0615c12,
3452 0x13a217657eead660,
3453 0xce0be51b9e69a5cd,
3454 0x119015deab99eb00,
3455 0xcc39e7a04b1a98ad,
3456 0x381b5e08c59112df,
3457 0xe5b2ac7625126172,
3458 0x42868272778818be,
3459 0x9f2f700c970b6b13,
3460 0x6b0dc9a41980e161,
3461 0xb6a43bdaf90392cc,
3462 0xb7bd3a8713ba0c7c,
3463 0x6a14c8f9f3397fd1,
3464 0x9e3671517db2f5a3,
3465 0x439f832f9d31860e,
3466 0xe4abad2bcfabffc2,
3467 0x39025f552f288c6f,
3468 0xcd20e6fda1a3061d,
3469 0x10891483412075b0,
3470];
3471
3472static TABLE_13: [u64; 256] = [
3475 0x0000000000000000,
3476 0x0dd9b4240837fd99,
3477 0x1bb36848106ffb32,
3478 0x166adc6c185806ab,
3479 0x3766d09020dff664,
3480 0x3abf64b428e80bfd,
3481 0x2cd5b8d830b00d56,
3482 0x210c0cfc3887f0cf,
3483 0x6ecda12041bfecc8,
3484 0x6314150449881151,
3485 0x757ec96851d017fa,
3486 0x78a77d4c59e7ea63,
3487 0x59ab71b061601aac,
3488 0x5472c5946957e735,
3489 0x421819f8710fe19e,
3490 0x4fc1addc79381c07,
3491 0xdd9b4240837fd990,
3492 0xd042f6648b482409,
3493 0xc6282a08931022a2,
3494 0xcbf19e2c9b27df3b,
3495 0xeafd92d0a3a02ff4,
3496 0xe72426f4ab97d26d,
3497 0xf14efa98b3cfd4c6,
3498 0xfc974ebcbbf8295f,
3499 0xb356e360c2c03558,
3500 0xbe8f5744caf7c8c1,
3501 0xa8e58b28d2afce6a,
3502 0xa53c3f0cda9833f3,
3503 0x843033f0e21fc33c,
3504 0x89e987d4ea283ea5,
3505 0x9f835bb8f270380e,
3506 0x925aef9cfa47c597,
3507 0x29ee2baaa9f1ada5,
3508 0x24379f8ea1c6503c,
3509 0x325d43e2b99e5697,
3510 0x3f84f7c6b1a9ab0e,
3511 0x1e88fb3a892e5bc1,
3512 0x13514f1e8119a658,
3513 0x053b93729941a0f3,
3514 0x08e2275691765d6a,
3515 0x47238a8ae84e416d,
3516 0x4afa3eaee079bcf4,
3517 0x5c90e2c2f821ba5f,
3518 0x514956e6f01647c6,
3519 0x70455a1ac891b709,
3520 0x7d9cee3ec0a64a90,
3521 0x6bf63252d8fe4c3b,
3522 0x662f8676d0c9b1a2,
3523 0xf47569ea2a8e7435,
3524 0xf9acddce22b989ac,
3525 0xefc601a23ae18f07,
3526 0xe21fb58632d6729e,
3527 0xc313b97a0a518251,
3528 0xceca0d5e02667fc8,
3529 0xd8a0d1321a3e7963,
3530 0xd5796516120984fa,
3531 0x9ab8c8ca6b3198fd,
3532 0x97617cee63066564,
3533 0x810ba0827b5e63cf,
3534 0x8cd214a673699e56,
3535 0xadde185a4bee6e99,
3536 0xa007ac7e43d99300,
3537 0xb66d70125b8195ab,
3538 0xbbb4c43653b66832,
3539 0x53dc575553e35b4a,
3540 0x5e05e3715bd4a6d3,
3541 0x486f3f1d438ca078,
3542 0x45b68b394bbb5de1,
3543 0x64ba87c5733cad2e,
3544 0x696333e17b0b50b7,
3545 0x7f09ef8d6353561c,
3546 0x72d05ba96b64ab85,
3547 0x3d11f675125cb782,
3548 0x30c842511a6b4a1b,
3549 0x26a29e3d02334cb0,
3550 0x2b7b2a190a04b129,
3551 0x0a7726e5328341e6,
3552 0x07ae92c13ab4bc7f,
3553 0x11c44ead22ecbad4,
3554 0x1c1dfa892adb474d,
3555 0x8e471515d09c82da,
3556 0x839ea131d8ab7f43,
3557 0x95f47d5dc0f379e8,
3558 0x982dc979c8c48471,
3559 0xb921c585f04374be,
3560 0xb4f871a1f8748927,
3561 0xa292adcde02c8f8c,
3562 0xaf4b19e9e81b7215,
3563 0xe08ab43591236e12,
3564 0xed5300119914938b,
3565 0xfb39dc7d814c9520,
3566 0xf6e06859897b68b9,
3567 0xd7ec64a5b1fc9876,
3568 0xda35d081b9cb65ef,
3569 0xcc5f0ceda1936344,
3570 0xc186b8c9a9a49edd,
3571 0x7a327cfffa12f6ef,
3572 0x77ebc8dbf2250b76,
3573 0x618114b7ea7d0ddd,
3574 0x6c58a093e24af044,
3575 0x4d54ac6fdacd008b,
3576 0x408d184bd2fafd12,
3577 0x56e7c427caa2fbb9,
3578 0x5b3e7003c2950620,
3579 0x14ffdddfbbad1a27,
3580 0x192669fbb39ae7be,
3581 0x0f4cb597abc2e115,
3582 0x029501b3a3f51c8c,
3583 0x23990d4f9b72ec43,
3584 0x2e40b96b934511da,
3585 0x382a65078b1d1771,
3586 0x35f3d123832aeae8,
3587 0xa7a93ebf796d2f7f,
3588 0xaa708a9b715ad2e6,
3589 0xbc1a56f76902d44d,
3590 0xb1c3e2d3613529d4,
3591 0x90cfee2f59b2d91b,
3592 0x9d165a0b51852482,
3593 0x8b7c866749dd2229,
3594 0x86a5324341eadfb0,
3595 0xc9649f9f38d2c3b7,
3596 0xc4bd2bbb30e53e2e,
3597 0xd2d7f7d728bd3885,
3598 0xdf0e43f3208ac51c,
3599 0xfe024f0f180d35d3,
3600 0xf3dbfb2b103ac84a,
3601 0xe5b127470862cee1,
3602 0xe868936300553378,
3603 0xa7b8aeaaa7c6b694,
3604 0xaa611a8eaff14b0d,
3605 0xbc0bc6e2b7a94da6,
3606 0xb1d272c6bf9eb03f,
3607 0x90de7e3a871940f0,
3608 0x9d07ca1e8f2ebd69,
3609 0x8b6d16729776bbc2,
3610 0x86b4a2569f41465b,
3611 0xc9750f8ae6795a5c,
3612 0xc4acbbaeee4ea7c5,
3613 0xd2c667c2f616a16e,
3614 0xdf1fd3e6fe215cf7,
3615 0xfe13df1ac6a6ac38,
3616 0xf3ca6b3ece9151a1,
3617 0xe5a0b752d6c9570a,
3618 0xe8790376defeaa93,
3619 0x7a23ecea24b96f04,
3620 0x77fa58ce2c8e929d,
3621 0x619084a234d69436,
3622 0x6c4930863ce169af,
3623 0x4d453c7a04669960,
3624 0x409c885e0c5164f9,
3625 0x56f6543214096252,
3626 0x5b2fe0161c3e9fcb,
3627 0x14ee4dca650683cc,
3628 0x1937f9ee6d317e55,
3629 0x0f5d2582756978fe,
3630 0x028491a67d5e8567,
3631 0x23889d5a45d975a8,
3632 0x2e51297e4dee8831,
3633 0x383bf51255b68e9a,
3634 0x35e241365d817303,
3635 0x8e5685000e371b31,
3636 0x838f31240600e6a8,
3637 0x95e5ed481e58e003,
3638 0x983c596c166f1d9a,
3639 0xb93055902ee8ed55,
3640 0xb4e9e1b426df10cc,
3641 0xa2833dd83e871667,
3642 0xaf5a89fc36b0ebfe,
3643 0xe09b24204f88f7f9,
3644 0xed42900447bf0a60,
3645 0xfb284c685fe70ccb,
3646 0xf6f1f84c57d0f152,
3647 0xd7fdf4b06f57019d,
3648 0xda2440946760fc04,
3649 0xcc4e9cf87f38faaf,
3650 0xc19728dc770f0736,
3651 0x53cdc7408d48c2a1,
3652 0x5e147364857f3f38,
3653 0x487eaf089d273993,
3654 0x45a71b2c9510c40a,
3655 0x64ab17d0ad9734c5,
3656 0x6972a3f4a5a0c95c,
3657 0x7f187f98bdf8cff7,
3658 0x72c1cbbcb5cf326e,
3659 0x3d006660ccf72e69,
3660 0x30d9d244c4c0d3f0,
3661 0x26b30e28dc98d55b,
3662 0x2b6aba0cd4af28c2,
3663 0x0a66b6f0ec28d80d,
3664 0x07bf02d4e41f2594,
3665 0x11d5deb8fc47233f,
3666 0x1c0c6a9cf470dea6,
3667 0xf464f9fff425edde,
3668 0xf9bd4ddbfc121047,
3669 0xefd791b7e44a16ec,
3670 0xe20e2593ec7deb75,
3671 0xc302296fd4fa1bba,
3672 0xcedb9d4bdccde623,
3673 0xd8b14127c495e088,
3674 0xd568f503cca21d11,
3675 0x9aa958dfb59a0116,
3676 0x9770ecfbbdadfc8f,
3677 0x811a3097a5f5fa24,
3678 0x8cc384b3adc207bd,
3679 0xadcf884f9545f772,
3680 0xa0163c6b9d720aeb,
3681 0xb67ce007852a0c40,
3682 0xbba554238d1df1d9,
3683 0x29ffbbbf775a344e,
3684 0x24260f9b7f6dc9d7,
3685 0x324cd3f76735cf7c,
3686 0x3f9567d36f0232e5,
3687 0x1e996b2f5785c22a,
3688 0x1340df0b5fb23fb3,
3689 0x052a036747ea3918,
3690 0x08f3b7434fddc481,
3691 0x47321a9f36e5d886,
3692 0x4aebaebb3ed2251f,
3693 0x5c8172d7268a23b4,
3694 0x5158c6f32ebdde2d,
3695 0x7054ca0f163a2ee2,
3696 0x7d8d7e2b1e0dd37b,
3697 0x6be7a2470655d5d0,
3698 0x663e16630e622849,
3699 0xdd8ad2555dd4407b,
3700 0xd053667155e3bde2,
3701 0xc639ba1d4dbbbb49,
3702 0xcbe00e39458c46d0,
3703 0xeaec02c57d0bb61f,
3704 0xe735b6e1753c4b86,
3705 0xf15f6a8d6d644d2d,
3706 0xfc86dea96553b0b4,
3707 0xb34773751c6bacb3,
3708 0xbe9ec751145c512a,
3709 0xa8f41b3d0c045781,
3710 0xa52daf190433aa18,
3711 0x8421a3e53cb45ad7,
3712 0x89f817c13483a74e,
3713 0x9f92cbad2cdba1e5,
3714 0x924b7f8924ec5c7c,
3715 0x00119015deab99eb,
3716 0x0dc82431d69c6472,
3717 0x1ba2f85dcec462d9,
3718 0x167b4c79c6f39f40,
3719 0x37774085fe746f8f,
3720 0x3aaef4a1f6439216,
3721 0x2cc428cdee1b94bd,
3722 0x211d9ce9e62c6924,
3723 0x6edc31359f147523,
3724 0x63058511972388ba,
3725 0x756f597d8f7b8e11,
3726 0x78b6ed59874c7388,
3727 0x59bae1a5bfcb8347,
3728 0x54635581b7fc7ede,
3729 0x420989edafa47875,
3730 0x4fd03dc9a79385ec,
3731];
3732
3733static TABLE_14: [u64; 256] = [
3736 0x0000000000000000,
3737 0xf075e4ae5e05bdff,
3738 0x723366771305657b,
3739 0x824682d94d00d884,
3740 0xe466ccee260acaf6,
3741 0x14132840780f7709,
3742 0x9655aa99350faf8d,
3743 0x66204e376b0a1272,
3744 0x5a1536f7e31b8b69,
3745 0xaa60d259bd1e3696,
3746 0x28265080f01eee12,
3747 0xd853b42eae1b53ed,
3748 0xbe73fa19c511419f,
3749 0x4e061eb79b14fc60,
3750 0xcc409c6ed61424e4,
3751 0x3c3578c08811991b,
3752 0xb42a6defc63716d2,
3753 0x445f89419832ab2d,
3754 0xc6190b98d53273a9,
3755 0x366cef368b37ce56,
3756 0x504ca101e03ddc24,
3757 0xa03945afbe3861db,
3758 0x227fc776f338b95f,
3759 0xd20a23d8ad3d04a0,
3760 0xee3f5b18252c9dbb,
3761 0x1e4abfb67b292044,
3762 0x9c0c3d6f3629f8c0,
3763 0x6c79d9c1682c453f,
3764 0x0a5997f60326574d,
3765 0xfa2c73585d23eab2,
3766 0x786af18110233236,
3767 0x881f152f4e268fc9,
3768 0xfa8c74f423603321,
3769 0x0af9905a7d658ede,
3770 0x88bf12833065565a,
3771 0x78caf62d6e60eba5,
3772 0x1eeab81a056af9d7,
3773 0xee9f5cb45b6f4428,
3774 0x6cd9de6d166f9cac,
3775 0x9cac3ac3486a2153,
3776 0xa0994203c07bb848,
3777 0x50eca6ad9e7e05b7,
3778 0xd2aa2474d37edd33,
3779 0x22dfc0da8d7b60cc,
3780 0x44ff8eede67172be,
3781 0xb48a6a43b874cf41,
3782 0x36cce89af57417c5,
3783 0xc6b90c34ab71aa3a,
3784 0x4ea6191be55725f3,
3785 0xbed3fdb5bb52980c,
3786 0x3c957f6cf6524088,
3787 0xcce09bc2a857fd77,
3788 0xaac0d5f5c35def05,
3789 0x5ab5315b9d5852fa,
3790 0xd8f3b382d0588a7e,
3791 0x2886572c8e5d3781,
3792 0x14b32fec064cae9a,
3793 0xe4c6cb4258491365,
3794 0x6680499b1549cbe1,
3795 0x96f5ad354b4c761e,
3796 0xf0d5e3022046646c,
3797 0x00a007ac7e43d993,
3798 0x82e6857533430117,
3799 0x729361db6d46bce8,
3800 0x67c046c3e9ce78c7,
3801 0x97b5a26db7cbc538,
3802 0x15f320b4facb1dbc,
3803 0xe586c41aa4cea043,
3804 0x83a68a2dcfc4b231,
3805 0x73d36e8391c10fce,
3806 0xf195ec5adcc1d74a,
3807 0x01e008f482c46ab5,
3808 0x3dd570340ad5f3ae,
3809 0xcda0949a54d04e51,
3810 0x4fe6164319d096d5,
3811 0xbf93f2ed47d52b2a,
3812 0xd9b3bcda2cdf3958,
3813 0x29c6587472da84a7,
3814 0xab80daad3fda5c23,
3815 0x5bf53e0361dfe1dc,
3816 0xd3ea2b2c2ff96e15,
3817 0x239fcf8271fcd3ea,
3818 0xa1d94d5b3cfc0b6e,
3819 0x51aca9f562f9b691,
3820 0x378ce7c209f3a4e3,
3821 0xc7f9036c57f6191c,
3822 0x45bf81b51af6c198,
3823 0xb5ca651b44f37c67,
3824 0x89ff1ddbcce2e57c,
3825 0x798af97592e75883,
3826 0xfbcc7bacdfe78007,
3827 0x0bb99f0281e23df8,
3828 0x6d99d135eae82f8a,
3829 0x9dec359bb4ed9275,
3830 0x1faab742f9ed4af1,
3831 0xefdf53eca7e8f70e,
3832 0x9d4c3237caae4be6,
3833 0x6d39d69994abf619,
3834 0xef7f5440d9ab2e9d,
3835 0x1f0ab0ee87ae9362,
3836 0x792afed9eca48110,
3837 0x895f1a77b2a13cef,
3838 0x0b1998aeffa1e46b,
3839 0xfb6c7c00a1a45994,
3840 0xc75904c029b5c08f,
3841 0x372ce06e77b07d70,
3842 0xb56a62b73ab0a5f4,
3843 0x451f861964b5180b,
3844 0x233fc82e0fbf0a79,
3845 0xd34a2c8051bab786,
3846 0x510cae591cba6f02,
3847 0xa1794af742bfd2fd,
3848 0x29665fd80c995d34,
3849 0xd913bb76529ce0cb,
3850 0x5b5539af1f9c384f,
3851 0xab20dd01419985b0,
3852 0xcd0093362a9397c2,
3853 0x3d75779874962a3d,
3854 0xbf33f5413996f2b9,
3855 0x4f4611ef67934f46,
3856 0x7373692fef82d65d,
3857 0x83068d81b1876ba2,
3858 0x01400f58fc87b326,
3859 0xf135ebf6a2820ed9,
3860 0x9715a5c1c9881cab,
3861 0x6760416f978da154,
3862 0xe526c3b6da8d79d0,
3863 0x155327188488c42f,
3864 0xcf808d87d39cf18e,
3865 0x3ff569298d994c71,
3866 0xbdb3ebf0c09994f5,
3867 0x4dc60f5e9e9c290a,
3868 0x2be64169f5963b78,
3869 0xdb93a5c7ab938687,
3870 0x59d5271ee6935e03,
3871 0xa9a0c3b0b896e3fc,
3872 0x9595bb7030877ae7,
3873 0x65e05fde6e82c718,
3874 0xe7a6dd0723821f9c,
3875 0x17d339a97d87a263,
3876 0x71f3779e168db011,
3877 0x8186933048880dee,
3878 0x03c011e90588d56a,
3879 0xf3b5f5475b8d6895,
3880 0x7baae06815abe75c,
3881 0x8bdf04c64bae5aa3,
3882 0x0999861f06ae8227,
3883 0xf9ec62b158ab3fd8,
3884 0x9fcc2c8633a12daa,
3885 0x6fb9c8286da49055,
3886 0xedff4af120a448d1,
3887 0x1d8aae5f7ea1f52e,
3888 0x21bfd69ff6b06c35,
3889 0xd1ca3231a8b5d1ca,
3890 0x538cb0e8e5b5094e,
3891 0xa3f95446bbb0b4b1,
3892 0xc5d91a71d0baa6c3,
3893 0x35acfedf8ebf1b3c,
3894 0xb7ea7c06c3bfc3b8,
3895 0x479f98a89dba7e47,
3896 0x350cf973f0fcc2af,
3897 0xc5791dddaef97f50,
3898 0x473f9f04e3f9a7d4,
3899 0xb74a7baabdfc1a2b,
3900 0xd16a359dd6f60859,
3901 0x211fd13388f3b5a6,
3902 0xa35953eac5f36d22,
3903 0x532cb7449bf6d0dd,
3904 0x6f19cf8413e749c6,
3905 0x9f6c2b2a4de2f439,
3906 0x1d2aa9f300e22cbd,
3907 0xed5f4d5d5ee79142,
3908 0x8b7f036a35ed8330,
3909 0x7b0ae7c46be83ecf,
3910 0xf94c651d26e8e64b,
3911 0x093981b378ed5bb4,
3912 0x8126949c36cbd47d,
3913 0x7153703268ce6982,
3914 0xf315f2eb25ceb106,
3915 0x036016457bcb0cf9,
3916 0x6540587210c11e8b,
3917 0x9535bcdc4ec4a374,
3918 0x17733e0503c47bf0,
3919 0xe706daab5dc1c60f,
3920 0xdb33a26bd5d05f14,
3921 0x2b4646c58bd5e2eb,
3922 0xa900c41cc6d53a6f,
3923 0x597520b298d08790,
3924 0x3f556e85f3da95e2,
3925 0xcf208a2baddf281d,
3926 0x4d6608f2e0dff099,
3927 0xbd13ec5cbeda4d66,
3928 0xa840cb443a528949,
3929 0x58352fea645734b6,
3930 0xda73ad332957ec32,
3931 0x2a06499d775251cd,
3932 0x4c2607aa1c5843bf,
3933 0xbc53e304425dfe40,
3934 0x3e1561dd0f5d26c4,
3935 0xce60857351589b3b,
3936 0xf255fdb3d9490220,
3937 0x0220191d874cbfdf,
3938 0x80669bc4ca4c675b,
3939 0x70137f6a9449daa4,
3940 0x1633315dff43c8d6,
3941 0xe646d5f3a1467529,
3942 0x6400572aec46adad,
3943 0x9475b384b2431052,
3944 0x1c6aa6abfc659f9b,
3945 0xec1f4205a2602264,
3946 0x6e59c0dcef60fae0,
3947 0x9e2c2472b165471f,
3948 0xf80c6a45da6f556d,
3949 0x08798eeb846ae892,
3950 0x8a3f0c32c96a3016,
3951 0x7a4ae89c976f8de9,
3952 0x467f905c1f7e14f2,
3953 0xb60a74f2417ba90d,
3954 0x344cf62b0c7b7189,
3955 0xc4391285527ecc76,
3956 0xa2195cb23974de04,
3957 0x526cb81c677163fb,
3958 0xd02a3ac52a71bb7f,
3959 0x205fde6b74740680,
3960 0x52ccbfb01932ba68,
3961 0xa2b95b1e47370797,
3962 0x20ffd9c70a37df13,
3963 0xd08a3d69543262ec,
3964 0xb6aa735e3f38709e,
3965 0x46df97f0613dcd61,
3966 0xc49915292c3d15e5,
3967 0x34ecf1877238a81a,
3968 0x08d98947fa293101,
3969 0xf8ac6de9a42c8cfe,
3970 0x7aeaef30e92c547a,
3971 0x8a9f0b9eb729e985,
3972 0xecbf45a9dc23fbf7,
3973 0x1ccaa10782264608,
3974 0x9e8c23decf269e8c,
3975 0x6ef9c77091232373,
3976 0xe6e6d25fdf05acba,
3977 0x169336f181001145,
3978 0x94d5b428cc00c9c1,
3979 0x64a050869205743e,
3980 0x02801eb1f90f664c,
3981 0xf2f5fa1fa70adbb3,
3982 0x70b378c6ea0a0337,
3983 0x80c69c68b40fbec8,
3984 0xbcf3e4a83c1e27d3,
3985 0x4c860006621b9a2c,
3986 0xcec082df2f1b42a8,
3987 0x3eb56671711eff57,
3988 0x589528461a14ed25,
3989 0xa8e0cce8441150da,
3990 0x2aa64e310911885e,
3991 0xdad3aa9f571435a1,
3992];
3993
3994static TABLE_15: [u64; 256] = [
3997 0x0000000000000000,
3998 0xe05dd497ca393ae4,
3999 0x526306043b7c6b4d,
4000 0xb23ed293f14551a9,
4001 0xa4c60c0876f8d69a,
4002 0x449bd89fbcc1ec7e,
4003 0xf6a50a0c4d84bdd7,
4004 0x16f8de9b87bd8733,
4005 0xdb54b73b42ffb3b1,
4006 0x3b0963ac88c68955,
4007 0x8937b13f7983d8fc,
4008 0x696a65a8b3bae218,
4009 0x7f92bb333407652b,
4010 0x9fcf6fa4fe3e5fcf,
4011 0x2df1bd370f7b0e66,
4012 0xcdac69a0c5423482,
4013 0x2471c15d2af179e7,
4014 0xc42c15cae0c84303,
4015 0x7612c759118d12aa,
4016 0x964f13cedbb4284e,
4017 0x80b7cd555c09af7d,
4018 0x60ea19c296309599,
4019 0xd2d4cb516775c430,
4020 0x32891fc6ad4cfed4,
4021 0xff257666680eca56,
4022 0x1f78a2f1a237f0b2,
4023 0xad4670625372a11b,
4024 0x4d1ba4f5994b9bff,
4025 0x5be37a6e1ef61ccc,
4026 0xbbbeaef9d4cf2628,
4027 0x09807c6a258a7781,
4028 0xe9dda8fdefb34d65,
4029 0x48e382ba55e2f3ce,
4030 0xa8be562d9fdbc92a,
4031 0x1a8084be6e9e9883,
4032 0xfadd5029a4a7a267,
4033 0xec258eb2231a2554,
4034 0x0c785a25e9231fb0,
4035 0xbe4688b618664e19,
4036 0x5e1b5c21d25f74fd,
4037 0x93b73581171d407f,
4038 0x73eae116dd247a9b,
4039 0xc1d433852c612b32,
4040 0x2189e712e65811d6,
4041 0x3771398961e596e5,
4042 0xd72ced1eabdcac01,
4043 0x65123f8d5a99fda8,
4044 0x854feb1a90a0c74c,
4045 0x6c9243e77f138a29,
4046 0x8ccf9770b52ab0cd,
4047 0x3ef145e3446fe164,
4048 0xdeac91748e56db80,
4049 0xc8544fef09eb5cb3,
4050 0x28099b78c3d26657,
4051 0x9a3749eb329737fe,
4052 0x7a6a9d7cf8ae0d1a,
4053 0xb7c6f4dc3dec3998,
4054 0x579b204bf7d5037c,
4055 0xe5a5f2d8069052d5,
4056 0x05f8264fcca96831,
4057 0x1300f8d44b14ef02,
4058 0xf35d2c43812dd5e6,
4059 0x4163fed07068844f,
4060 0xa13e2a47ba51beab,
4061 0x91c70574abc5e79c,
4062 0x719ad1e361fcdd78,
4063 0xc3a4037090b98cd1,
4064 0x23f9d7e75a80b635,
4065 0x3501097cdd3d3106,
4066 0xd55cddeb17040be2,
4067 0x67620f78e6415a4b,
4068 0x873fdbef2c7860af,
4069 0x4a93b24fe93a542d,
4070 0xaace66d823036ec9,
4071 0x18f0b44bd2463f60,
4072 0xf8ad60dc187f0584,
4073 0xee55be479fc282b7,
4074 0x0e086ad055fbb853,
4075 0xbc36b843a4bee9fa,
4076 0x5c6b6cd46e87d31e,
4077 0xb5b6c42981349e7b,
4078 0x55eb10be4b0da49f,
4079 0xe7d5c22dba48f536,
4080 0x078816ba7071cfd2,
4081 0x1170c821f7cc48e1,
4082 0xf12d1cb63df57205,
4083 0x4313ce25ccb023ac,
4084 0xa34e1ab206891948,
4085 0x6ee27312c3cb2dca,
4086 0x8ebfa78509f2172e,
4087 0x3c817516f8b74687,
4088 0xdcdca181328e7c63,
4089 0xca247f1ab533fb50,
4090 0x2a79ab8d7f0ac1b4,
4091 0x9847791e8e4f901d,
4092 0x781aad894476aaf9,
4093 0xd92487cefe271452,
4094 0x39795359341e2eb6,
4095 0x8b4781cac55b7f1f,
4096 0x6b1a555d0f6245fb,
4097 0x7de28bc688dfc2c8,
4098 0x9dbf5f5142e6f82c,
4099 0x2f818dc2b3a3a985,
4100 0xcfdc5955799a9361,
4101 0x027030f5bcd8a7e3,
4102 0xe22de46276e19d07,
4103 0x501336f187a4ccae,
4104 0xb04ee2664d9df64a,
4105 0xa6b63cfdca207179,
4106 0x46ebe86a00194b9d,
4107 0xf4d53af9f15c1a34,
4108 0x1488ee6e3b6520d0,
4109 0xfd554693d4d66db5,
4110 0x1d0892041eef5751,
4111 0xaf364097efaa06f8,
4112 0x4f6b940025933c1c,
4113 0x59934a9ba22ebb2f,
4114 0xb9ce9e0c681781cb,
4115 0x0bf04c9f9952d062,
4116 0xebad9808536bea86,
4117 0x2601f1a89629de04,
4118 0xc65c253f5c10e4e0,
4119 0x7462f7acad55b549,
4120 0x943f233b676c8fad,
4121 0x82c7fda0e0d1089e,
4122 0x629a29372ae8327a,
4123 0xd0a4fba4dbad63d3,
4124 0x30f92f3311945937,
4125 0xb156a5c2f885d1bd,
4126 0x510b715532bceb59,
4127 0xe335a3c6c3f9baf0,
4128 0x0368775109c08014,
4129 0x1590a9ca8e7d0727,
4130 0xf5cd7d5d44443dc3,
4131 0x47f3afceb5016c6a,
4132 0xa7ae7b597f38568e,
4133 0x6a0212f9ba7a620c,
4134 0x8a5fc66e704358e8,
4135 0x386114fd81060941,
4136 0xd83cc06a4b3f33a5,
4137 0xcec41ef1cc82b496,
4138 0x2e99ca6606bb8e72,
4139 0x9ca718f5f7fedfdb,
4140 0x7cfacc623dc7e53f,
4141 0x9527649fd274a85a,
4142 0x757ab008184d92be,
4143 0xc744629be908c317,
4144 0x2719b60c2331f9f3,
4145 0x31e16897a48c7ec0,
4146 0xd1bcbc006eb54424,
4147 0x63826e939ff0158d,
4148 0x83dfba0455c92f69,
4149 0x4e73d3a4908b1beb,
4150 0xae2e07335ab2210f,
4151 0x1c10d5a0abf770a6,
4152 0xfc4d013761ce4a42,
4153 0xeab5dface673cd71,
4154 0x0ae80b3b2c4af795,
4155 0xb8d6d9a8dd0fa63c,
4156 0x588b0d3f17369cd8,
4157 0xf9b52778ad672273,
4158 0x19e8f3ef675e1897,
4159 0xabd6217c961b493e,
4160 0x4b8bf5eb5c2273da,
4161 0x5d732b70db9ff4e9,
4162 0xbd2effe711a6ce0d,
4163 0x0f102d74e0e39fa4,
4164 0xef4df9e32adaa540,
4165 0x22e19043ef9891c2,
4166 0xc2bc44d425a1ab26,
4167 0x70829647d4e4fa8f,
4168 0x90df42d01eddc06b,
4169 0x86279c4b99604758,
4170 0x667a48dc53597dbc,
4171 0xd4449a4fa21c2c15,
4172 0x34194ed8682516f1,
4173 0xddc4e62587965b94,
4174 0x3d9932b24daf6170,
4175 0x8fa7e021bcea30d9,
4176 0x6ffa34b676d30a3d,
4177 0x7902ea2df16e8d0e,
4178 0x995f3eba3b57b7ea,
4179 0x2b61ec29ca12e643,
4180 0xcb3c38be002bdca7,
4181 0x0690511ec569e825,
4182 0xe6cd85890f50d2c1,
4183 0x54f3571afe158368,
4184 0xb4ae838d342cb98c,
4185 0xa2565d16b3913ebf,
4186 0x420b898179a8045b,
4187 0xf0355b1288ed55f2,
4188 0x10688f8542d46f16,
4189 0x2091a0b653403621,
4190 0xc0cc742199790cc5,
4191 0x72f2a6b2683c5d6c,
4192 0x92af7225a2056788,
4193 0x8457acbe25b8e0bb,
4194 0x640a7829ef81da5f,
4195 0xd634aaba1ec48bf6,
4196 0x36697e2dd4fdb112,
4197 0xfbc5178d11bf8590,
4198 0x1b98c31adb86bf74,
4199 0xa9a611892ac3eedd,
4200 0x49fbc51ee0fad439,
4201 0x5f031b856747530a,
4202 0xbf5ecf12ad7e69ee,
4203 0x0d601d815c3b3847,
4204 0xed3dc916960202a3,
4205 0x04e061eb79b14fc6,
4206 0xe4bdb57cb3887522,
4207 0x568367ef42cd248b,
4208 0xb6deb37888f41e6f,
4209 0xa0266de30f49995c,
4210 0x407bb974c570a3b8,
4211 0xf2456be73435f211,
4212 0x1218bf70fe0cc8f5,
4213 0xdfb4d6d03b4efc77,
4214 0x3fe90247f177c693,
4215 0x8dd7d0d40032973a,
4216 0x6d8a0443ca0badde,
4217 0x7b72dad84db62aed,
4218 0x9b2f0e4f878f1009,
4219 0x2911dcdc76ca41a0,
4220 0xc94c084bbcf37b44,
4221 0x6872220c06a2c5ef,
4222 0x882ff69bcc9bff0b,
4223 0x3a1124083ddeaea2,
4224 0xda4cf09ff7e79446,
4225 0xccb42e04705a1375,
4226 0x2ce9fa93ba632991,
4227 0x9ed728004b267838,
4228 0x7e8afc97811f42dc,
4229 0xb3269537445d765e,
4230 0x537b41a08e644cba,
4231 0xe14593337f211d13,
4232 0x011847a4b51827f7,
4233 0x17e0993f32a5a0c4,
4234 0xf7bd4da8f89c9a20,
4235 0x45839f3b09d9cb89,
4236 0xa5de4bacc3e0f16d,
4237 0x4c03e3512c53bc08,
4238 0xac5e37c6e66a86ec,
4239 0x1e60e555172fd745,
4240 0xfe3d31c2dd16eda1,
4241 0xe8c5ef595aab6a92,
4242 0x08983bce90925076,
4243 0xbaa6e95d61d701df,
4244 0x5afb3dcaabee3b3b,
4245 0x9757546a6eac0fb9,
4246 0x770a80fda495355d,
4247 0xc534526e55d064f4,
4248 0x256986f99fe95e10,
4249 0x339158621854d923,
4250 0xd3cc8cf5d26de3c7,
4251 0x61f25e662328b26e,
4252 0x81af8af1e911888a,
4253];