x25519 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #ifndef FP25519_X64_H
19
+ #define FP25519_X64_H
20
+
21
+ #include <stdint.h>
22
+
23
+ #define ALIGN_BYTES 32
24
+ #ifdef __INTEL_COMPILER
25
+ #define ALIGN __declspec(align(ALIGN_BYTES))
26
+ #else
27
+ #define ALIGN __attribute__ ((aligned (ALIGN_BYTES)))
28
+ #endif
29
+
30
+ #define SIZE_ELEMENT_BYTES 32
31
+ #define NUM_WORDS_ELTFP25519_X64 4
32
+ typedef ALIGN uint64_t EltFp25519_1w_x64[NUM_WORDS_ELTFP25519_X64];
33
+ typedef ALIGN uint64_t EltFp25519_1w_Buffer_x64[2*NUM_WORDS_ELTFP25519_X64];
34
+ typedef ALIGN uint64_t EltFp25519_2w_x64[2*NUM_WORDS_ELTFP25519_X64];
35
+ typedef ALIGN uint64_t EltFp25519_2w_Buffer_x64[4*NUM_WORDS_ELTFP25519_X64];
36
+
37
+ void print_bytes(uint8_t * A,int num_bytes);
38
+
39
+ /* Integer Arithmetic */
40
+ void mul2_256x256_integer_x64(uint64_t *const c, uint64_t *const a, uint64_t *const b);
41
+ void sqr2_256x256_integer_x64(uint64_t *const c, uint64_t *const a);
42
+ void red_EltFp25519_2w_x64(uint64_t *const c, uint64_t *const a);
43
+
44
+ void mul_256x256_integer_x64(uint64_t *const c, uint64_t *const a, uint64_t *const b);
45
+ void sqr_256x256_integer_x64(uint64_t *const c, uint64_t *const a);
46
+ void red_EltFp25519_1w_x64(uint64_t *const c, uint64_t *const a);
47
+
48
+ /* Prime Field Util */
49
+ void random_EltFp25519_1w_x64(uint64_t *A);
50
+ void print_EltFp25519_1w_x64(uint64_t *A);
51
+ int compare_EltFp25519_1w_x64(uint64_t *A, uint64_t *B);
52
+ void random_EltFp25519_2w_x64(uint64_t *A);
53
+ void print_EltFp25519_2w(uint64_t *A);
54
+ int compare_EltFp25519_2w(uint64_t *A, uint64_t *B);
55
+
56
+ /* Prime Field Arithmetic */
57
+ void add_EltFp25519_1w_x64(uint64_t *const c, uint64_t *const a, uint64_t *const b);
58
+ void sub_EltFp25519_1w_x64(uint64_t *const c, uint64_t *const a, uint64_t *const b);
59
+ void mul_a24_EltFp25519_1w_x64(uint64_t *const c, uint64_t *const a);
60
+ void inv_EltFp25519_1w_x64(uint64_t *const pC, uint64_t *const pA);
61
+ void fred_EltFp25519_1w_x64(uint64_t *const c);
62
+
63
+ #define mul_EltFp25519_1w_x64(c,a,b) \
64
+ mul_256x256_integer_x64(buffer_1w,a,b);\
65
+ red_EltFp25519_1w_x64(c,buffer_1w);
66
+
67
+ #define sqr_EltFp25519_1w_x64(a)\
68
+ sqr_256x256_integer_x64(buffer_1w,a);\
69
+ red_EltFp25519_1w_x64(a,buffer_1w);
70
+
71
+ #define mul_EltFp25519_2w_x64(c,a,b) \
72
+ mul2_256x256_integer_x64(buffer_2w,a,b);\
73
+ red_EltFp25519_2w_x64(c,buffer_2w);
74
+
75
+ #define sqr_EltFp25519_2w_x64(a)\
76
+ sqr2_256x256_integer_x64(buffer_2w,a);\
77
+ red_EltFp25519_2w_x64(a,buffer_2w);
78
+
79
+ #define copy_EltFp25519_1w_x64(C,A)\
80
+ (C)[0] = (A)[0];\
81
+ (C)[1] = (A)[1];\
82
+ (C)[2] = (A)[2];\
83
+ (C)[3] = (A)[3];
84
+
85
+ #define setzero_EltFp25519_1w_x64(C)\
86
+ (C)[0] = 0;\
87
+ (C)[1] = 0;\
88
+ (C)[2] = 0;\
89
+ (C)[3] = 0;
90
+
91
+ #endif /* FP25519_X64_H */
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #include <stdlib.h>
19
+ #include <stdint.h>
20
+ #include <stdio.h>
21
+
22
+ /** Random number Generator:
23
+ * Taken from: https://github.com/relic-toolkit/relic/src/rand/relic_rand_call.c
24
+ *
25
+ * @warning Provide a secure random number generator.
26
+ * @param buffer
27
+ * @param num_bytes
28
+ */
29
+ #include <unistd.h>
30
+ #include <fcntl.h>
31
+ void random_bytes(uint8_t *buffer, int num_bytes)
32
+ {
33
+ int c, l, fd = open("/dev/urandom", O_RDONLY);
34
+
35
+ if (fd == -1)
36
+ {
37
+ printf("Error opening /dev/urandom\n");
38
+ }
39
+
40
+ l = 0;
41
+ do {
42
+ c = read(fd, buffer + l, num_bytes - l);
43
+ l += c;
44
+ if (c == -1)
45
+ {
46
+ printf("Error reading /dev/urandom\n");
47
+ }
48
+ } while (l < num_bytes);
49
+
50
+ close(fd);
51
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #ifndef RANDOM_H
19
+ #define RANDOM_H
20
+
21
+ #include <stdint.h>
22
+ void random_bytes(uint8_t *A, int length);
23
+
24
+ #endif /* RANDOM_H */
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #ifndef RFC7748_PRECOMPUTED_H
19
+ #define RFC7748_PRECOMPUTED_H
20
+
21
+ #include <stdint.h>
22
+
23
+ #define ALIGN_BYTES 32
24
+ #ifdef __INTEL_COMPILER
25
+ #define ALIGN __declspec(align(ALIGN_BYTES))
26
+ #else
27
+ #define ALIGN __attribute__ ((aligned (ALIGN_BYTES)))
28
+ #endif
29
+
30
+ #define X25519_KEYSIZE_BYTES 32
31
+ typedef ALIGN uint8_t X25519_KEY[X25519_KEYSIZE_BYTES];
32
+ #define X448_KEYSIZE_BYTES 56
33
+ typedef ALIGN uint8_t X448_KEY[X448_KEYSIZE_BYTES];
34
+
35
+ typedef uint8_t * argKey;
36
+ typedef void (*KeyGen)(argKey session_key, argKey private_key);
37
+ typedef void (*Shared)(argKey shared, argKey session_key, argKey private_key);
38
+
39
+ void print_X25519_key(argKey key);
40
+ void print_X448_key(argKey key);
41
+ void random_X25519_key(argKey key);
42
+ void random_X448_key(argKey key);
43
+
44
+ extern const KeyGen X25519_KeyGen_x64;
45
+ extern const Shared X25519_Shared_x64;
46
+ extern const KeyGen X448_KeyGen_x64;
47
+ extern const Shared X448_Shared_x64;
48
+
49
+ #endif /* RFC7748_PRECOMPUTED_H */
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #include "rfc7748_precompted.h"
19
+
20
+
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
3
+ * Institute of Computing.
4
+ * University of Campinas, Brazil.
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Lesser General Public License as
8
+ * published by the Free Software Foundation, version 3.
9
+ *
10
+ * This program is distributed in the hope that it will be useful, but
11
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ #ifndef TABLE_LADDER_8K_H
19
+ #define TABLE_LADDER_8K_H
20
+ #include<stdint.h>
21
+
22
+ ALIGN static const uint64_t Table_Ladder_8k [252*NUM_WORDS_ELTFP25519_X64] = {
23
+ /* 1 */ 0xfffffffffffffff3,0xffffffffffffffff,0xffffffffffffffff,0x5fffffffffffffff,
24
+ /* 2 */ 0x6b8220f416aafe96,0x82ebeb2b4f566a34,0xd5a9a5b075a5950f,0x5142b2cf4b2488f4,
25
+ /* 3 */ 0x6aaebc750069680c,0x89cf7820a0f99c41,0x2a58d9183b56d0f4,0x4b5aca80e36011a4,
26
+ /* 4 */ 0x329132348c29745d,0xf4a2e616e1642fd7,0x1e45bb03ff67bc34,0x306912d0f42a9b4a,
27
+ /* 5 */ 0xff886507e6af7154,0x04f50e13dfeec82f,0xaa512fe82abab5ce,0x174e251a68d5f222,
28
+ /* 6 */ 0xcf96700d82028898,0x1743e3370a2c02c5,0x379eec98b4e86eaa,0x0c59888a51e0482e,
29
+ /* 7 */ 0xfbcbf1d699b5d189,0xacaef0d58e9fdc84,0xc1c20d06231f7614,0x2938218da274f972,
30
+ /* 8 */ 0xf6af49beff1d7f18,0xcc541c22387ac9c2,0x96fcc9ef4015c56b,0x69c1627c690913a9,
31
+ /* 9 */ 0x7a86fd2f4733db0e,0xfdb8c4f29e087de9,0x095e4b1a8ea2a229,0x1ad7a7c829b37a79,
32
+ /* 10 */ 0x342d89cad17ea0c0,0x67bedda6cced2051,0x19ca31bf2bb42f74,0x3df7b4c84980acbb,
33
+ /* 11 */ 0xa8c6444dc80ad883,0xb91e440366e3ab85,0xc215cda00164f6d8,0x3d867c6ef247e668,
34
+ /* 12 */ 0xc7dd582bcc3e658c,0xfd2c4748ee0e5528,0xa0fd9b95cc9f4f71,0x7529d871b0675ddf,
35
+ /* 13 */ 0xb8f568b42d3cbd78,0x1233011b91f3da82,0x2dce6ccd4a7c3b62,0x75e7fc8e9e498603,
36
+ /* 14 */ 0x2f4f13f1fcd0b6ec,0xf1a8ca1f29ff7a45,0xc249c1a72981e29b,0x6ebe0dbb8c83b56a,
37
+ /* 15 */ 0x7114fa8d170bb222,0x65a2dcd5bf93935f,0xbdc41f68b59c979a,0x2f0eef79a2ce9289,
38
+ /* 16 */ 0x42ecbf0c083c37ce,0x2930bc09ec496322,0xf294b0c19cfeac0d,0x3780aa4bedfabb80,
39
+ /* 17 */ 0x56c17d3e7cead929,0xe7cb4beb2e5722c5,0x0ce931732dbfe15a,0x41b883c7621052f8,
40
+ /* 18 */ 0xdbf75ca0c3d25350,0x2936be086eb1e351,0xc936e03cb4a9b212,0x1d45bf82322225aa,
41
+ /* 19 */ 0xe81ab1036a024cc5,0xe212201c304c9a72,0xc5d73fba6832b1fc,0x20ffdb5a4d839581,
42
+ /* 20 */ 0xa283d367be5d0fad,0x6c2b25ca8b164475,0x9d4935467caaf22e,0x5166408eee85ff49,
43
+ /* 21 */ 0x3c67baa2fab4e361,0xb3e433c67ef35cef,0x5259729241159b1c,0x6a621892d5b0ab33,
44
+ /* 22 */ 0x20b74a387555cdcb,0x532aa10e1208923f,0xeaa17b7762281dd1,0x61ab3443f05c44bf,
45
+ /* 23 */ 0x257a6c422324def8,0x131c6c1017e3cf7f,0x23758739f630a257,0x295a407a01a78580,
46
+ /* 24 */ 0xf8c443246d5da8d9,0x19d775450c52fa5d,0x2afcfc92731bf83d,0x7d10c8e81b2b4700,
47
+ /* 25 */ 0xc8e0271f70baa20b,0x993748867ca63957,0x5412efb3cb7ed4bb,0x3196d36173e62975,
48
+ /* 26 */ 0xde5bcad141c7dffc,0x47cc8cd2b395c848,0xa34cd942e11af3cb,0x0256dbf2d04ecec2,
49
+ /* 27 */ 0x875ab7e94b0e667f,0xcad4dd83c0850d10,0x47f12e8f4e72c79f,0x5f1a87bb8c85b19b,
50
+ /* 28 */ 0x7ae9d0b6437f51b8,0x12c7ce5518879065,0x2ade09fe5cf77aee,0x23a05a2f7d2c5627,
51
+ /* 29 */ 0x5908e128f17c169a,0xf77498dd8ad0852d,0x74b4c4ceab102f64,0x183abadd10139845,
52
+ /* 30 */ 0xb165ba8daa92aaac,0xd5c5ef9599386705,0xbe2f8f0cf8fc40d1,0x2701e635ee204514,
53
+ /* 31 */ 0x629fa80020156514,0xf223868764a8c1ce,0x5b894fff0b3f060e,0x60d9944cf708a3fa,
54
+ /* 32 */ 0xaeea001a1c7a201f,0xebf16a633ee2ce63,0x6f7709594c7a07e1,0x79b958150d0208cb,
55
+ /* 33 */ 0x24b55e5301d410e7,0xe3a34edff3fdc84d,0xd88768e4904032d8,0x131384427b3aaeec,
56
+ /* 34 */ 0x8405e51286234f14,0x14dc4739adb4c529,0xb8a2b5b250634ffd,0x2fe2a94ad8a7ff93,
57
+ /* 35 */ 0xec5c57efe843fadd,0x2843ce40f0bb9918,0xa4b561d6cf3d6305,0x743629bde8fb777e,
58
+ /* 36 */ 0x343edd46bbaf738f,0xed981828b101a651,0xa401760b882c797a,0x1fc223e28dc88730,
59
+ /* 37 */ 0x48604e91fc0fba0e,0xb637f78f052c6fa4,0x91ccac3d09e9239c,0x23f7eed4437a687c,
60
+ /* 38 */ 0x5173b1118d9bd800,0x29d641b63189d4a7,0xfdbf177988bbc586,0x2959894fcad81df5,
61
+ /* 39 */ 0xaebc8ef3b4bbc899,0x4148995ab26992b9,0x24e20b0134f92cfb,0x40d158894a05dee8,
62
+ /* 40 */ 0x46b00b1185af76f6,0x26bac77873187a79,0x3dc0bf95ab8fff5f,0x2a608bd8945524d7,
63
+ /* 41 */ 0x26449588bd446302,0x7c4bc21c0388439c,0x8e98a4f383bd11b2,0x26218d7bc9d876b9,
64
+ /* 42 */ 0xe3081542997c178a,0x3c2d29a86fb6606f,0x5c217736fa279374,0x7dde05734afeb1fa,
65
+ /* 43 */ 0x3bf10e3906d42bab,0xe4f7803e1980649c,0xe6053bf89595bf7a,0x394faf38da245530,
66
+ /* 44 */ 0x7a8efb58896928f4,0xfbc778e9cc6a113c,0x72670ce330af596f,0x48f222a81d3d6cf7,
67
+ /* 45 */ 0xf01fce410d72caa7,0x5a20ecc7213b5595,0x7bc21165c1fa1483,0x07f89ae31da8a741,
68
+ /* 46 */ 0x05d2c2b4c6830ff9,0xd43e330fc6316293,0xa5a5590a96d3a904,0x705edb91a65333b6,
69
+ /* 47 */ 0x048ee15e0bb9a5f7,0x3240cfca9e0aaf5d,0x8f4b71ceedc4a40b,0x621c0da3de544a6d,
70
+ /* 48 */ 0x92872836a08c4091,0xce8375b010c91445,0x8a72eb524f276394,0x2667fcfa7ec83635,
71
+ /* 49 */ 0x7f4c173345e8752a,0x061b47feee7079a5,0x25dd9afa9f86ff34,0x3780cef5425dc89c,
72
+ /* 50 */ 0x1a46035a513bb4e9,0x3e1ef379ac575ada,0xc78c5f1c5fa24b50,0x321a967634fd9f22,
73
+ /* 51 */ 0x946707b8826e27fa,0x3dca84d64c506fd0,0xc189218075e91436,0x6d9284169b3b8484,
74
+ /* 52 */ 0x3a67e840383f2ddf,0x33eec9a30c4f9b75,0x3ec7c86fa783ef47,0x26ec449fbac9fbc4,
75
+ /* 53 */ 0x5c0f38cba09b9e7d,0x81168cc762a3478c,0x3e23b0d306fc121c,0x5a238aa0a5efdcdd,
76
+ /* 54 */ 0x1ba26121c4ea43ff,0x36f8c77f7c8832b5,0x88fbea0b0adcf99a,0x5ca9938ec25bebf9,
77
+ /* 55 */ 0xd5436a5e51fccda0,0x1dbc4797c2cd893b,0x19346a65d3224a08,0x0f5034e49b9af466,
78
+ /* 56 */ 0xf23c3967a1e0b96e,0xe58b08fa867a4d88,0xfb2fabc6a7341679,0x2a75381eb6026946,
79
+ /* 57 */ 0xc80a3be4c19420ac,0x66b1f6c681f2b6dc,0x7cf7036761e93388,0x25abbbd8a660a4c4,
80
+ /* 58 */ 0x91ea12ba14fd5198,0x684950fc4a3cffa9,0xf826842130f5ad28,0x3ea988f75301a441,
81
+ /* 59 */ 0xc978109a695f8c6f,0x1746eb4a0530c3f3,0x444d6d77b4459995,0x75952b8c054e5cc7,
82
+ /* 60 */ 0xa3703f7915f4d6aa,0x66c346202f2647d8,0xd01469df811d644b,0x77fea47d81a5d71f,
83
+ /* 61 */ 0xc5e9529ef57ca381,0x6eeeb4b9ce2f881a,0xb6e91a28e8009bd6,0x4b80be3e9afc3fec,
84
+ /* 62 */ 0x7e3773c526aed2c5,0x1b4afcb453c9a49d,0xa920bdd7baffb24d,0x7c54699f122d400e,
85
+ /* 63 */ 0xef46c8e14fa94bc8,0xe0b074ce2952ed5e,0xbea450e1dbd885d5,0x61b68649320f712c,
86
+ /* 64 */ 0x8a485f7309ccbdd1,0xbd06320d7d4d1a2d,0x25232973322dbef4,0x445dc4758c17f770,
87
+ /* 65 */ 0xdb0434177cc8933c,0xed6fe82175ea059f,0x1efebefdc053db34,0x4adbe867c65daf99,
88
+ /* 66 */ 0x3acd71a2a90609df,0xe5e991856dd04050,0x1ec69b688157c23c,0x697427f6885cfe4d,
89
+ /* 67 */ 0xd7be7b9b65e1a851,0xa03d28d522c536dd,0x28399d658fd2b645,0x49e5b7e17c2641e1,
90
+ /* 68 */ 0x6f8c3a98700457a4,0x5078f0a25ebb6778,0xd13c3ccbc382960f,0x2e003258a7df84b1,
91
+ /* 69 */ 0x8ad1f39be6296a1c,0xc1eeaa652a5fbfb2,0x33ee0673fd26f3cb,0x59256173a69d2ccc,
92
+ /* 70 */ 0x41ea07aa4e18fc41,0xd9fc19527c87a51e,0xbdaacb805831ca6f,0x445b652dc916694f,
93
+ /* 71 */ 0xce92a3a7f2172315,0x1edc282de11b9964,0xa1823aafe04c314a,0x790a2d94437cf586,
94
+ /* 72 */ 0x71c447fb93f6e009,0x8922a56722845276,0xbf70903b204f5169,0x2f7a89891ba319fe,
95
+ /* 73 */ 0x02a08eb577e2140c,0xed9a4ed4427bdcf4,0x5253ec44e4323cd1,0x3e88363c14e9355b,
96
+ /* 74 */ 0xaa66c14277110b8c,0x1ae0391610a23390,0x2030bd12c93fc2a2,0x3ee141579555c7ab,
97
+ /* 75 */ 0x9214de3a6d6e7d41,0x3ccdd88607f17efe,0x674f1288f8e11217,0x5682250f329f93d0,
98
+ /* 76 */ 0x6cf00b136d2e396e,0x6e4cf86f1014debf,0x5930b1b5bfcc4e83,0x047069b48aba16b6,
99
+ /* 77 */ 0x0d4ce4ab69b20793,0xb24db91a97d0fb9e,0xcdfa50f54e00d01d,0x221b1085368bddb5,
100
+ /* 78 */ 0xe7e59468b1e3d8d2,0x53c56563bd122f93,0xeee8a903e0663f09,0x61efa662cbbe3d42,
101
+ /* 79 */ 0x2cf8ddddde6eab2a,0x9bf80ad51435f231,0x5deadacec9f04973,0x29275b5d41d29b27,
102
+ /* 80 */ 0xcfde0f0895ebf14f,0xb9aab96b054905a7,0xcae80dd9a1c420fd,0x0a63bf2f1673bbc7,
103
+ /* 81 */ 0x092f6e11958fbc8c,0x672a81e804822fad,0xcac8351560d52517,0x6f3f7722c8f192f8,
104
+ /* 82 */ 0xf8ba90ccc2e894b7,0x2c7557a438ff9f0d,0x894d1d855ae52359,0x68e122157b743d69,
105
+ /* 83 */ 0xd87e5570cfb919f3,0x3f2cdecd95798db9,0x2121154710c0a2ce,0x3c66a115246dc5b2,
106
+ /* 84 */ 0xcbedc562294ecb72,0xba7143c36a280b16,0x9610c2efd4078b67,0x6144735d946a4b1e,
107
+ /* 85 */ 0x536f111ed75b3350,0x0211db8c2041d81b,0xf93cb1000e10413c,0x149dfd3c039e8876,
108
+ /* 86 */ 0xd479dde46b63155b,0xb66e15e93c837976,0xdafde43b1f13e038,0x5fafda1a2e4b0b35,
109
+ /* 87 */ 0x3600bbdf17197581,0x3972050bbe3cd2c2,0x5938906dbdd5be86,0x34fce5e43f9b860f,
110
+ /* 88 */ 0x75a8a4cd42d14d02,0x828dabc53441df65,0x33dcabedd2e131d3,0x3ebad76fb814d25f,
111
+ /* 89 */ 0xd4906f566f70e10f,0x5d12f7aa51690f5a,0x45adb16e76cefcf2,0x01f768aead232999,
112
+ /* 90 */ 0x2b6cc77b6248febd,0x3cd30628ec3aaffd,0xce1c0b80d4ef486a,0x4c3bff2ea6f66c23,
113
+ /* 91 */ 0x3f2ec4094aeaeb5f,0x61b19b286e372ca7,0x5eefa966de2a701d,0x23b20565de55e3ef,
114
+ /* 92 */ 0xe301ca5279d58557,0x07b2d4ce27c2874f,0xa532cd8a9dcf1d67,0x2a52fee23f2bff56,
115
+ /* 93 */ 0x8624efb37cd8663d,0xbbc7ac20ffbd7594,0x57b85e9c82d37445,0x7b3052cb86a6ec66,
116
+ /* 94 */ 0x3482f0ad2525e91e,0x2cb68043d28edca0,0xaf4f6d052e1b003a,0x185f8c2529781b0a,
117
+ /* 95 */ 0xaa41de5bd80ce0d6,0x9407b2416853e9d6,0x563ec36e357f4c3a,0x4cc4b8dd0e297bce,
118
+ /* 96 */ 0xa2fc1a52ffb8730e,0x1811f16e67058e37,0x10f9a366cddf4ee1,0x72f4a0c4a0b9f099,
119
+ /* 97 */ 0x8c16c06f663f4ea7,0x693b3af74e970fba,0x2102e7f1d69ec345,0x0ba53cbc968a8089,
120
+ /* 98 */ 0xca3d9dc7fea15537,0x4c6824bb51536493,0xb9886314844006b1,0x40d2a72ab454cc60,
121
+ /* 99 */ 0x5936a1b712570975,0x91b9d648debda657,0x3344094bb64330ea,0x006ba10d12ee51d0,
122
+ /* 100 */ 0x19228468f5de5d58,0x0eb12f4c38cc05b0,0xa1039f9dd5601990,0x4502d4ce4fff0e0b,
123
+ /* 101 */ 0xeb2054106837c189,0xd0f6544c6dd3b93c,0x40727064c416d74f,0x6e15c6114b502ef0,
124
+ /* 102 */ 0x4df2a398cfb1a76b,0x11256c7419f2f6b1,0x4a497962066e6043,0x705b3aab41355b44,
125
+ /* 103 */ 0x365ef536d797b1d8,0x00076bd622ddf0db,0x3bbf33b0e0575a88,0x3777aa05c8e4ca4d,
126
+ /* 104 */ 0x392745c85578db5f,0x6fda4149dbae5ae2,0xb1f0b00b8adc9867,0x09963437d36f1da3,
127
+ /* 105 */ 0x7e824e90a5dc3853,0xccb5f6641f135cbd,0x6736d86c87ce8fcc,0x625f3ce26604249f,
128
+ /* 106 */ 0xaf8ac8059502f63f,0x0c05e70a2e351469,0x35292e9c764b6305,0x1a394360c7e23ac3,
129
+ /* 107 */ 0xd5c6d53251183264,0x62065abd43c2b74f,0xb5fbf5d03b973f9b,0x13a3da3661206e5e,
130
+ /* 108 */ 0xc6bd5837725d94e5,0x18e30912205016c5,0x2088ce1570033c68,0x7fba1f495c837987,
131
+ /* 109 */ 0x5a8c7423f2f9079d,0x1735157b34023fc5,0xe4f9b49ad2fab351,0x6691ff72c878e33c,
132
+ /* 110 */ 0x122c2adedc5eff3e,0xf8dd4bf1d8956cf4,0xeb86205d9e9e5bda,0x049b92b9d975c743,
133
+ /* 111 */ 0xa5379730b0f6c05a,0x72a0ffacc6f3a553,0xb0032c34b20dcd6d,0x470e9dbc88d5164a,
134
+ /* 112 */ 0xb19cf10ca237c047,0xb65466711f6c81a2,0xb3321bd16dd80b43,0x48c14f600c5fbe8e,
135
+ /* 113 */ 0x66451c264aa6c803,0xb66e3904a4fa7da6,0xd45f19b0b3128395,0x31602627c3c9bc10,
136
+ /* 114 */ 0x3120dc4832e4e10d,0xeb20c46756c717f7,0x00f52e3f67280294,0x566d4fc14730c509,
137
+ /* 115 */ 0x7e3a5d40fd837206,0xc1e926dc7159547a,0x216730fba68d6095,0x22e8c3843f69cea7,
138
+ /* 116 */ 0x33d074e8930e4b2b,0xb6e4350e84d15816,0x5534c26ad6ba2365,0x7773c12f89f1f3f3,
139
+ /* 117 */ 0x8cba404da57962aa,0x5b9897a81999ce56,0x508e862f121692fc,0x3a81907fa093c291,
140
+ /* 118 */ 0x0dded0ff4725a510,0x10d8cc10673fc503,0x5b9d151c9f1f4e89,0x32a5c1d5cb09a44c,
141
+ /* 119 */ 0x1e0aa442b90541fb,0x5f85eb7cc1b485db,0xbee595ce8a9df2e5,0x25e496c722422236,
142
+ /* 120 */ 0x5edf3c46cd0fe5b9,0x34e75a7ed2a43388,0xe488de11d761e352,0x0e878a01a085545c,
143
+ /* 121 */ 0xba493c77e021bb04,0x2b4d1843c7df899a,0x9ea37a487ae80d67,0x67a9958011e41794,
144
+ /* 122 */ 0x4b58051a6697b065,0x47e33f7d8d6ba6d4,0xbb4da8d483ca46c1,0x68becaa181c2db0d,
145
+ /* 123 */ 0x8d8980e90b989aa5,0xf95eb14a2c93c99b,0x51c6c7c4796e73a2,0x6e228363b5efb569,
146
+ /* 124 */ 0xc6bbc0b02dd624c8,0x777eb47dec8170ee,0x3cde15a004cfafa9,0x1dc6bc087160bf9b,
147
+ /* 125 */ 0x2e07e043eec34002,0x18e9fc677a68dc7f,0xd8da03188bd15b9a,0x48fbc3bb00568253,
148
+ /* 126 */ 0x57547d4cfb654ce1,0xd3565b82a058e2ad,0xf63eaf0bbf154478,0x47531ef114dfbb18,
149
+ /* 127 */ 0xe1ec630a4278c587,0x5507d546ca8e83f3,0x85e135c63adc0c2b,0x0aa7efa85682844e,
150
+ /* 128 */ 0x72691ba8b3e1f615,0x32b4e9701fbe3ffa,0x97b6d92e39bb7868,0x2cfe53dea02e39e8,
151
+ /* 129 */ 0x687392cd85cd52b0,0x27ff66c910e29831,0x97134556a9832d06,0x269bb0360a84f8a0,
152
+ /* 130 */ 0x706e55457643f85c,0x3734a48c9b597d1b,0x7aee91e8c6efa472,0x5cd6abc198a9d9e0,
153
+ /* 131 */ 0x0e04de06cb3ce41a,0xd8c6eb893402e138,0x904659bb686e3772,0x7215c371746ba8c8,
154
+ /* 132 */ 0xfd12a97eeae4a2d9,0x9514b7516394f2c5,0x266fd5809208f294,0x5c847085619a26b9,
155
+ /* 133 */ 0x52985410fed694ea,0x3c905b934a2ed254,0x10bb47692d3be467,0x063b3d2d69e5e9e1,
156
+ /* 134 */ 0x472726eedda57deb,0xefb6c4ae10f41891,0x2b1641917b307614,0x117c554fc4f45b7c,
157
+ /* 135 */ 0xc07cf3118f9d8812,0x01dbd82050017939,0xd7e803f4171b2827,0x1015e87487d225ea,
158
+ /* 136 */ 0xc58de3fed23acc4d,0x50db91c294a7be2d,0x0b94d43d1c9cf457,0x6b1640fa6e37524a,
159
+ /* 137 */ 0x692f346c5fda0d09,0x200b1c59fa4d3151,0xb8c46f760777a296,0x4b38395f3ffdfbcf,
160
+ /* 138 */ 0x18d25e00be54d671,0x60d50582bec8aba6,0x87ad8f263b78b982,0x50fdf64e9cda0432,
161
+ /* 139 */ 0x90f567aac578dcf0,0xef1e9b0ef2a3133b,0x0eebba9242d9de71,0x15473c9bf03101c7,
162
+ /* 140 */ 0x7c77e8ae56b78095,0xb678e7666e6f078e,0x2da0b9615348ba1f,0x7cf931c1ff733f0b,
163
+ /* 141 */ 0x26b357f50a0a366c,0xe9708cf42b87d732,0xc13aeea5f91cb2c0,0x35d90c991143bb4c,
164
+ /* 142 */ 0x47c1c404a9a0d9dc,0x659e58451972d251,0x3875a8c473b38c31,0x1fbd9ed379561f24,
165
+ /* 143 */ 0x11fabc6fd41ec28d,0x7ef8dfe3cd2a2dca,0x72e73b5d8c404595,0x6135fa4954b72f27,
166
+ /* 144 */ 0xccfc32a2de24b69c,0x3f55698c1f095d88,0xbe3350ed5ac3f929,0x5e9bf806ca477eeb,
167
+ /* 145 */ 0xe9ce8fb63c309f68,0x5376f63565e1f9f4,0xd1afcfb35a6393f1,0x6632a1ede5623506,
168
+ /* 146 */ 0x0b7d6c390c2ded4c,0x56cb3281df04cb1f,0x66305a1249ecc3c7,0x5d588b60a38ca72a,
169
+ /* 147 */ 0xa6ecbf78e8e5f42d,0x86eeb44b3c8a3eec,0xec219c48fbd21604,0x1aaf1af517c36731,
170
+ /* 148 */ 0xc306a2836769bde7,0x208280622b1e2adb,0x8027f51ffbff94a6,0x76cfa1ce1124f26b,
171
+ /* 149 */ 0x18eb00562422abb6,0xf377c4d58f8c29c3,0x4dbbc207f531561a,0x0253b7f082128a27,
172
+ /* 150 */ 0x3d1f091cb62c17e0,0x4860e1abd64628a9,0x52d17436309d4253,0x356f97e13efae576,
173
+ /* 151 */ 0xd351e11aa150535b,0x3e6b45bb1dd878cc,0x0c776128bed92c98,0x1d34ae93032885b8,
174
+ /* 152 */ 0x4ba0488ca85ba4c3,0x985348c33c9ce6ce,0x66124c6f97bda770,0x0f81a0290654124a,
175
+ /* 153 */ 0x9ed09ca6569b86fd,0x811009fd18af9a2d,0xff08d03f93d8c20a,0x52a148199faef26b,
176
+ /* 154 */ 0x3e03f9dc2d8d1b73,0x4205801873961a70,0xc0d987f041a35970,0x07aa1f15a1c0d549,
177
+ /* 155 */ 0xdfd46ce08cd27224,0x6d0a024f934e4239,0x808a7a6399897b59,0x0a4556e9e13d95a2,
178
+ /* 156 */ 0xd21a991fe9c13045,0x9b0e8548fe7751b8,0x5da643cb4bf30035,0x77db28d63940f721,
179
+ /* 157 */ 0xfc5eeb614adc9011,0x5229419ae8c411eb,0x9ec3e7787d1dcf74,0x340d053e216e4cb5,
180
+ /* 158 */ 0xcac7af39b48df2b4,0xc0faec2871a10a94,0x140a69245ca575ed,0x0cf1c37134273a4c,
181
+ /* 159 */ 0xc8ee306ac224b8a5,0x57eaee7ccb4930b0,0xa1e806bdaacbe74f,0x7d9a62742eeb657d,
182
+ /* 160 */ 0x9eb6b6ef546c4830,0x885cca1fddb36e2e,0xe6b9f383ef0d7105,0x58654fef9d2e0412,
183
+ /* 161 */ 0xa905c4ffbe0e8e26,0x942de5df9b31816e,0x497d723f802e88e1,0x30684dea602f408d,
184
+ /* 162 */ 0x21e5a278a3e6cb34,0xaefb6e6f5b151dc4,0xb30b8e049d77ca15,0x28c3c9cf53b98981,
185
+ /* 163 */ 0x287fb721556cdd2a,0x0d317ca897022274,0x7468c7423a543258,0x4a7f11464eb5642f,
186
+ /* 164 */ 0xa237a4774d193aa6,0xd865986ea92129a1,0x24c515ecf87c1a88,0x604003575f39f5eb,
187
+ /* 165 */ 0x47b9f189570a9b27,0x2b98cede465e4b78,0x026df551dbb85c20,0x74fcd91047e21901,
188
+ /* 166 */ 0x13e2a90a23c1bfa3,0x0cb0074e478519f6,0x5ff1cbbe3af6cf44,0x67fe5438be812dbe,
189
+ /* 167 */ 0xd13cf64fa40f05b0,0x054dfb2f32283787,0x4173915b7f0d2aea,0x482f144f1f610d4e,
190
+ /* 168 */ 0xf6210201b47f8234,0x5d0ae1929e70b990,0xdcd7f455b049567c,0x7e93d0f1f0916f01,
191
+ /* 169 */ 0xdd79cbf18a7db4fa,0xbe8391bf6f74c62f,0x027145d14b8291bd,0x585a73ea2cbf1705,
192
+ /* 170 */ 0x485ca03e928a0db2,0x10fc01a5742857e7,0x2f482edbd6d551a7,0x0f0433b5048fdb8a,
193
+ /* 171 */ 0x60da2e8dd7dc6247,0x88b4c9d38cd4819a,0x13033ac001f66697,0x273b24fe3b367d75,
194
+ /* 172 */ 0xc6e8f66a31b3b9d4,0x281514a494df49d5,0xd1726fdfc8b23da7,0x4b3ae7d103dee548,
195
+ /* 173 */ 0xc6256e19ce4b9d7e,0xff5c5cf186e3c61c,0xacc63ca34b8ec145,0x74621888fee66574,
196
+ /* 174 */ 0x956f409645290a1e,0xef0bf8e3263a962e,0xed6a50eb5ec2647b,0x0694283a9dca7502,
197
+ /* 175 */ 0x769b963643a2dcd1,0x42b7c8ea09fc5353,0x4f002aee13397eab,0x63005e2c19b7d63a,
198
+ /* 176 */ 0xca6736da63023bea,0x966c7f6db12a99b7,0xace09390c537c5e1,0x0b696063a1aa89ee,
199
+ /* 177 */ 0xebb03e97288c56e5,0x432a9f9f938c8be8,0xa6a5a93d5b717f71,0x1a5fb4c3e18f9d97,
200
+ /* 178 */ 0x1c94e7ad1c60cdce,0xee202a43fc02c4a0,0x8dafe4d867c46a20,0x0a10263c8ac27b58,
201
+ /* 179 */ 0xd0dea9dfe4432a4a,0x856af87bbe9277c5,0xce8472acc212c71a,0x6f151b6d9bbb1e91,
202
+ /* 180 */ 0x26776c527ceed56a,0x7d211cb7fbf8faec,0x37ae66a6fd4609cc,0x1f81b702d2770c42,
203
+ /* 181 */ 0x2fb0b057eac58392,0xe1dd89fe29744e9d,0xc964f8eb17beb4f8,0x29571073c9a2d41e,
204
+ /* 182 */ 0xa948a18981c0e254,0x2df6369b65b22830,0xa33eb2d75fcfd3c6,0x078cd6ec4199a01f,
205
+ /* 183 */ 0x4a584a41ad900d2f,0x32142b78e2c74c52,0x68c4e8338431c978,0x7f69ea9008689fc2,
206
+ /* 184 */ 0x52f2c81e46a38265,0xfd78072d04a832fd,0x8cd7d5fa25359e94,0x4de71b7454cc29d2,
207
+ /* 185 */ 0x42eb60ad1eda6ac9,0x0aad37dfdbc09c3a,0x81004b71e33cc191,0x44e6be345122803c,
208
+ /* 186 */ 0x03fe8388ba1920db,0xf5d57c32150db008,0x49c8c4281af60c29,0x21edb518de701aee,
209
+ /* 187 */ 0x7fb63e418f06dc99,0xa4460d99c166d7b8,0x24dd5248ce520a83,0x5ec3ad712b928358,
210
+ /* 188 */ 0x15022a5fbd17930f,0xa4f64a77d82570e3,0x12bc8d6915783712,0x498194c0fc620abb,
211
+ /* 189 */ 0x38a2d9d255686c82,0x785c6bd9193e21f0,0xe4d5c81ab24a5484,0x56307860b2e20989,
212
+ /* 190 */ 0x429d55f78b4d74c4,0x22f1834643350131,0x1e60c24598c71fff,0x59f2f014979983ef,
213
+ /* 191 */ 0x46a47d56eb494a44,0x3e22a854d636a18e,0xb346e15274491c3b,0x2ceafd4e5390cde7,
214
+ /* 192 */ 0xba8a8538be0d6675,0x4b9074bb50818e23,0xcbdab89085d304c3,0x61a24fe0e56192c4,
215
+ /* 193 */ 0xcb7615e6db525bcb,0xdd7d8c35a567e4ca,0xe6b4153acafcdd69,0x2d668e097f3c9766,
216
+ /* 194 */ 0xa57e7e265ce55ef0,0x5d9f4e527cd4b967,0xfbc83606492fd1e5,0x090d52beb7c3f7ae,
217
+ /* 195 */ 0x09b9515a1e7b4d7c,0x1f266a2599da44c0,0xa1c49548e2c55504,0x7ef04287126f15cc,
218
+ /* 196 */ 0xfed1659dbd30ef15,0x8b4ab9eec4e0277b,0x884d6236a5df3291,0x1fd96ea6bf5cf788,
219
+ /* 197 */ 0x42a161981f190d9a,0x61d849507e6052c1,0x9fe113bf285a2cd5,0x7c22d676dbad85d8,
220
+ /* 198 */ 0x82e770ed2bfbd27d,0x4c05b2ece996f5a5,0xcd40a9c2b0900150,0x5895319213d9bf64,
221
+ /* 199 */ 0xe7cc5d703fea2e08,0xb50c491258e2188c,0xcce30baa48205bf0,0x537c659ccfa32d62,
222
+ /* 200 */ 0x37b6623a98cfc088,0xfe9bed1fa4d6aca4,0x04d29b8e56a8d1b0,0x725f71c40b519575,
223
+ /* 201 */ 0x28c7f89cd0339ce6,0x8367b14469ddc18b,0x883ada83a6a1652c,0x585f1974034d6c17,
224
+ /* 202 */ 0x89cfb266f1b19188,0xe63b4863e7c35217,0xd88c9da6b4c0526a,0x3e035c9df0954635,
225
+ /* 203 */ 0xdd9d5412fb45de9d,0xdd684532e4cff40d,0x4b5c999b151d671c,0x2d8c2cc811e7f690,
226
+ /* 204 */ 0x7f54be1d90055d40,0xa464c5df464aaf40,0x33979624f0e917be,0x2c018dc527356b30,
227
+ /* 205 */ 0xa5415024e330b3d4,0x73ff3d96691652d3,0x94ec42c4ef9b59f1,0x0747201618d08e5a,
228
+ /* 206 */ 0x4d6ca48aca411c53,0x66415f2fcfa66119,0x9c4dd40051e227ff,0x59810bc09a02f7eb,
229
+ /* 207 */ 0x2a7eb171b3dc101d,0x441c5ab99ffef68e,0x32025c9b93b359ea,0x5e8ce0a71e9d112f,
230
+ /* 208 */ 0xbfcccb92429503fd,0xd271ba752f095d55,0x345ead5e972d091e,0x18c8df11a83103ba,
231
+ /* 209 */ 0x90cd949a9aed0f4c,0xc5d1f4cb6660e37e,0xb8cac52d56c52e0b,0x6e42e400c5808e0d,
232
+ /* 210 */ 0xa3b46966eeaefd23,0x0c4f1f0be39ecdca,0x189dc8c9d683a51d,0x51f27f054c09351b,
233
+ /* 211 */ 0x4c487ccd2a320682,0x587ea95bb3df1c96,0xc8ccf79e555cb8e8,0x547dc829a206d73d,
234
+ /* 212 */ 0xb822a6cd80c39b06,0xe96d54732000d4c6,0x28535b6f91463b4d,0x228f4660e2486e1d,
235
+ /* 213 */ 0x98799538de8d3abf,0x8cd8330045ebca6e,0x79952a008221e738,0x4322e1a7535cd2bb,
236
+ /* 214 */ 0xb114c11819d1801c,0x2016e4d84f3f5ec7,0xdd0e2df409260f4c,0x5ec362c0ae5f7266,
237
+ /* 215 */ 0xc0462b18b8b2b4ee,0x7cc8d950274d1afb,0xf25f7105436b02d2,0x43bbf8dcbff9ccd3,
238
+ /* 216 */ 0xb6ad1767a039e9df,0xb0714da8f69d3583,0x5e55fa18b42931f5,0x4ed5558f33c60961,
239
+ /* 217 */ 0x1fe37901c647a5dd,0x593ddf1f8081d357,0x0249a4fd813fd7a6,0x69acca274e9caf61,
240
+ /* 218 */ 0x047ba3ea330721c9,0x83423fc20e7e1ea0,0x1df4c0af01314a60,0x09a62dab89289527,
241
+ /* 219 */ 0xa5b325a49cc6cb00,0xe94b5dc654b56cb6,0x3be28779adc994a0,0x4296e8f8ba3a4aad,
242
+ /* 220 */ 0x328689761e451eab,0x2e4d598bff59594a,0x49b96853d7a7084a,0x4980a319601420a8,
243
+ /* 221 */ 0x9565b9e12f552c42,0x8a5318db7100fe96,0x05c90b4d43add0d7,0x538b4cd66a5d4eda,
244
+ /* 222 */ 0xf4e94fc3e89f039f,0x592c9af26f618045,0x08a36eb5fd4b9550,0x25fffaf6c2ed1419,
245
+ /* 223 */ 0x34434459cc79d354,0xeeecbfb4b1d5476b,0xddeb34a061615d99,0x5129cecceb64b773,
246
+ /* 224 */ 0xee43215894993520,0x772f9c7cf14c0b3b,0xd2e2fce306bedad5,0x715f42b546f06a97,
247
+ /* 225 */ 0x434ecdceda5b5f1a,0x0da17115a49741a9,0x680bd77c73edad2e,0x487c02354edd9041,
248
+ /* 226 */ 0xb8efeff3a70ed9c4,0x56a32aa3e857e302,0xdf3a68bd48a2a5a0,0x07f650b73176c444,
249
+ /* 227 */ 0xe38b9b1626e0ccb1,0x79e053c18b09fb36,0x56d90319c9f94964,0x1ca941e7ac9ff5c4,
250
+ /* 228 */ 0x49c4df29162fa0bb,0x8488cf3282b33305,0x95dfda14cabb437d,0x3391f78264d5ad86,
251
+ /* 229 */ 0x729ae06ae2b5095d,0xd58a58d73259a946,0xe9834262d13921ed,0x27fedafaa54bb592,
252
+ /* 230 */ 0xa99dc5b829ad48bb,0x5f025742499ee260,0x802c8ecd5d7513fd,0x78ceb3ef3f6dd938,
253
+ /* 231 */ 0xc342f44f8a135d94,0x7b9edb44828cdda3,0x9436d11a0537cfe7,0x5064b164ec1ab4c8,
254
+ /* 232 */ 0x7020eccfd37eb2fc,0x1f31ea3ed90d25fc,0x1b930d7bdfa1bb34,0x5344467a48113044,
255
+ /* 233 */ 0x70073170f25e6dfb,0xe385dc1a50114cc8,0x2348698ac8fc4f00,0x2a77a55284dd40d8,
256
+ /* 234 */ 0xfe06afe0c98c6ce4,0xc235df96dddfd6e4,0x1428d01e33bf1ed3,0x785768ec9300bdaf,
257
+ /* 235 */ 0x9702e57a91deb63b,0x61bdb8bfe5ce8b80,0x645b426f3d1d58ac,0x4804a82227a557bc,
258
+ /* 236 */ 0x8e57048ab44d2601,0x68d6501a4b3a6935,0xc39c9ec3f9e1c293,0x4172f257d4de63e2,
259
+ /* 237 */ 0xd368b450330c6401,0x040d3017418f2391,0x2c34bb6090b7d90d,0x16f649228fdfd51f,
260
+ /* 238 */ 0xbea6818e2b928ef5,0xe28ccf91cdc11e72,0x594aaa68e77a36cd,0x313034806c7ffd0f,
261
+ /* 239 */ 0x8a9d27ac2249bd65,0x19a3b464018e9512,0xc26ccff352b37ec7,0x056f68341d797b21,
262
+ /* 240 */ 0x5e79d6757efd2327,0xfabdbcb6553afe15,0xd3e7222c6eaf5a60,0x7046c76d4dae743b,
263
+ /* 241 */ 0x660be872b18d4a55,0x19992518574e1496,0xc103053a302bdcbb,0x3ed8e9800b218e8e,
264
+ /* 242 */ 0x7b0b9239fa75e03e,0xefe9fb684633c083,0x98a35fbe391a7793,0x6065510fe2d0fe34,
265
+ /* 243 */ 0x55cb668548abad0c,0xb4584548da87e527,0x2c43ecea0107c1dd,0x526028809372de35,
266
+ /* 244 */ 0x3415c56af9213b1f,0x5bee1a4d017e98db,0x13f6b105b5cf709b,0x5ff20e3482b29ab6,
267
+ /* 245 */ 0x0aa29c75cc2e6c90,0xfc7d73ca3a70e206,0x899fc38fc4b5c515,0x250386b124ffc207,
268
+ /* 246 */ 0x54ea28d5ae3d2b56,0x9913149dd6de60ce,0x16694fc58f06d6c1,0x46b23975eb018fc7,
269
+ /* 247 */ 0x470a6a0fb4b7b4e2,0x5d92475a8f7253de,0xabeee5b52fbd3adb,0x7fa20801a0806968,
270
+ /* 248 */ 0x76f3faf19f7714d2,0xb3e840c12f4660c3,0x0fb4cd8df212744e,0x4b065a251d3a2dd2,
271
+ /* 249 */ 0x5cebde383d77cd4a,0x6adf39df882c9cb1,0xa2dd242eb09af759,0x3147c0e50e5f6422,
272
+ /* 250 */ 0x164ca5101d1350db,0xf8d13479c33fc962,0xe640ce4d13e5da08,0x4bdee0c45061f8ba,
273
+ /* 251 */ 0xd7c46dc1a4edb1c9,0x5514d7b6437fd98a,0x58942f6bb2a1c00b,0x2dffb2ab1d70710e,
274
+ /* 252 */ 0xccdfcf2fc18b6d68,0xa8ebcba8b7806167,0x980697f95e2937e3,0x02fbba1cd0126e8c
275
+ };
276
+
277
+ #endif /* TABLE_LADDER_8K_H */