2 * Author......: Jens Steube <jens.steube@gmail.com>
8 #include "include/constants.h"
9 #include "include/kernel_vendor.h"
28 #include "include/kernel_functions.c"
29 #include "types_amd.c"
30 #include "common_amd.c"
31 #include "include/rp_gpu.h"
35 #define VECT_COMPARE_S "check_single_vect1_comp4.c"
36 #define VECT_COMPARE_M "check_multi_vect1_comp4.c"
40 #define VECT_COMPARE_S "check_single_vect2_comp4.c"
41 #define VECT_COMPARE_M "check_multi_vect2_comp4.c"
47 #define BOX(S,n,i) u32x ((S)[(n)][(i)])
51 #define BOX(S,n,i) u32x ((S)[(n)][(i).s0], (S)[(n)][(i).s1])
54 __constant u32 Ch[8][256] =
57 0x18186018, 0x23238c23, 0xc6c63fc6, 0xe8e887e8,
58 0x87872687, 0xb8b8dab8, 0x01010401, 0x4f4f214f,
59 0x3636d836, 0xa6a6a2a6, 0xd2d26fd2, 0xf5f5f3f5,
60 0x7979f979, 0x6f6fa16f, 0x91917e91, 0x52525552,
61 0x60609d60, 0xbcbccabc, 0x9b9b569b, 0x8e8e028e,
62 0xa3a3b6a3, 0x0c0c300c, 0x7b7bf17b, 0x3535d435,
63 0x1d1d741d, 0xe0e0a7e0, 0xd7d77bd7, 0xc2c22fc2,
64 0x2e2eb82e, 0x4b4b314b, 0xfefedffe, 0x57574157,
65 0x15155415, 0x7777c177, 0x3737dc37, 0xe5e5b3e5,
66 0x9f9f469f, 0xf0f0e7f0, 0x4a4a354a, 0xdada4fda,
67 0x58587d58, 0xc9c903c9, 0x2929a429, 0x0a0a280a,
68 0xb1b1feb1, 0xa0a0baa0, 0x6b6bb16b, 0x85852e85,
69 0xbdbdcebd, 0x5d5d695d, 0x10104010, 0xf4f4f7f4,
70 0xcbcb0bcb, 0x3e3ef83e, 0x05051405, 0x67678167,
71 0xe4e4b7e4, 0x27279c27, 0x41411941, 0x8b8b168b,
72 0xa7a7a6a7, 0x7d7de97d, 0x95956e95, 0xd8d847d8,
73 0xfbfbcbfb, 0xeeee9fee, 0x7c7ced7c, 0x66668566,
74 0xdddd53dd, 0x17175c17, 0x47470147, 0x9e9e429e,
75 0xcaca0fca, 0x2d2db42d, 0xbfbfc6bf, 0x07071c07,
76 0xadad8ead, 0x5a5a755a, 0x83833683, 0x3333cc33,
77 0x63639163, 0x02020802, 0xaaaa92aa, 0x7171d971,
78 0xc8c807c8, 0x19196419, 0x49493949, 0xd9d943d9,
79 0xf2f2eff2, 0xe3e3abe3, 0x5b5b715b, 0x88881a88,
80 0x9a9a529a, 0x26269826, 0x3232c832, 0xb0b0fab0,
81 0xe9e983e9, 0x0f0f3c0f, 0xd5d573d5, 0x80803a80,
82 0xbebec2be, 0xcdcd13cd, 0x3434d034, 0x48483d48,
83 0xffffdbff, 0x7a7af57a, 0x90907a90, 0x5f5f615f,
84 0x20208020, 0x6868bd68, 0x1a1a681a, 0xaeae82ae,
85 0xb4b4eab4, 0x54544d54, 0x93937693, 0x22228822,
86 0x64648d64, 0xf1f1e3f1, 0x7373d173, 0x12124812,
87 0x40401d40, 0x08082008, 0xc3c32bc3, 0xecec97ec,
88 0xdbdb4bdb, 0xa1a1bea1, 0x8d8d0e8d, 0x3d3df43d,
89 0x97976697, 0x00000000, 0xcfcf1bcf, 0x2b2bac2b,
90 0x7676c576, 0x82823282, 0xd6d67fd6, 0x1b1b6c1b,
91 0xb5b5eeb5, 0xafaf86af, 0x6a6ab56a, 0x50505d50,
92 0x45450945, 0xf3f3ebf3, 0x3030c030, 0xefef9bef,
93 0x3f3ffc3f, 0x55554955, 0xa2a2b2a2, 0xeaea8fea,
94 0x65658965, 0xbabad2ba, 0x2f2fbc2f, 0xc0c027c0,
95 0xdede5fde, 0x1c1c701c, 0xfdfdd3fd, 0x4d4d294d,
96 0x92927292, 0x7575c975, 0x06061806, 0x8a8a128a,
97 0xb2b2f2b2, 0xe6e6bfe6, 0x0e0e380e, 0x1f1f7c1f,
98 0x62629562, 0xd4d477d4, 0xa8a89aa8, 0x96966296,
99 0xf9f9c3f9, 0xc5c533c5, 0x25259425, 0x59597959,
100 0x84842a84, 0x7272d572, 0x3939e439, 0x4c4c2d4c,
101 0x5e5e655e, 0x7878fd78, 0x3838e038, 0x8c8c0a8c,
102 0xd1d163d1, 0xa5a5aea5, 0xe2e2afe2, 0x61619961,
103 0xb3b3f6b3, 0x21218421, 0x9c9c4a9c, 0x1e1e781e,
104 0x43431143, 0xc7c73bc7, 0xfcfcd7fc, 0x04041004,
105 0x51515951, 0x99995e99, 0x6d6da96d, 0x0d0d340d,
106 0xfafacffa, 0xdfdf5bdf, 0x7e7ee57e, 0x24249024,
107 0x3b3bec3b, 0xabab96ab, 0xcece1fce, 0x11114411,
108 0x8f8f068f, 0x4e4e254e, 0xb7b7e6b7, 0xebeb8beb,
109 0x3c3cf03c, 0x81813e81, 0x94946a94, 0xf7f7fbf7,
110 0xb9b9deb9, 0x13134c13, 0x2c2cb02c, 0xd3d36bd3,
111 0xe7e7bbe7, 0x6e6ea56e, 0xc4c437c4, 0x03030c03,
112 0x56564556, 0x44440d44, 0x7f7fe17f, 0xa9a99ea9,
113 0x2a2aa82a, 0xbbbbd6bb, 0xc1c123c1, 0x53535153,
114 0xdcdc57dc, 0x0b0b2c0b, 0x9d9d4e9d, 0x6c6cad6c,
115 0x3131c431, 0x7474cd74, 0xf6f6fff6, 0x46460546,
116 0xacac8aac, 0x89891e89, 0x14145014, 0xe1e1a3e1,
117 0x16165816, 0x3a3ae83a, 0x6969b969, 0x09092409,
118 0x7070dd70, 0xb6b6e2b6, 0xd0d067d0, 0xeded93ed,
119 0xcccc17cc, 0x42421542, 0x98985a98, 0xa4a4aaa4,
120 0x2828a028, 0x5c5c6d5c, 0xf8f8c7f8, 0x86862286,
123 0xd8181860, 0x2623238c, 0xb8c6c63f, 0xfbe8e887,
124 0xcb878726, 0x11b8b8da, 0x09010104, 0x0d4f4f21,
125 0x9b3636d8, 0xffa6a6a2, 0x0cd2d26f, 0x0ef5f5f3,
126 0x967979f9, 0x306f6fa1, 0x6d91917e, 0xf8525255,
127 0x4760609d, 0x35bcbcca, 0x379b9b56, 0x8a8e8e02,
128 0xd2a3a3b6, 0x6c0c0c30, 0x847b7bf1, 0x803535d4,
129 0xf51d1d74, 0xb3e0e0a7, 0x21d7d77b, 0x9cc2c22f,
130 0x432e2eb8, 0x294b4b31, 0x5dfefedf, 0xd5575741,
131 0xbd151554, 0xe87777c1, 0x923737dc, 0x9ee5e5b3,
132 0x139f9f46, 0x23f0f0e7, 0x204a4a35, 0x44dada4f,
133 0xa258587d, 0xcfc9c903, 0x7c2929a4, 0x5a0a0a28,
134 0x50b1b1fe, 0xc9a0a0ba, 0x146b6bb1, 0xd985852e,
135 0x3cbdbdce, 0x8f5d5d69, 0x90101040, 0x07f4f4f7,
136 0xddcbcb0b, 0xd33e3ef8, 0x2d050514, 0x78676781,
137 0x97e4e4b7, 0x0227279c, 0x73414119, 0xa78b8b16,
138 0xf6a7a7a6, 0xb27d7de9, 0x4995956e, 0x56d8d847,
139 0x70fbfbcb, 0xcdeeee9f, 0xbb7c7ced, 0x71666685,
140 0x7bdddd53, 0xaf17175c, 0x45474701, 0x1a9e9e42,
141 0xd4caca0f, 0x582d2db4, 0x2ebfbfc6, 0x3f07071c,
142 0xacadad8e, 0xb05a5a75, 0xef838336, 0xb63333cc,
143 0x5c636391, 0x12020208, 0x93aaaa92, 0xde7171d9,
144 0xc6c8c807, 0xd1191964, 0x3b494939, 0x5fd9d943,
145 0x31f2f2ef, 0xa8e3e3ab, 0xb95b5b71, 0xbc88881a,
146 0x3e9a9a52, 0x0b262698, 0xbf3232c8, 0x59b0b0fa,
147 0xf2e9e983, 0x770f0f3c, 0x33d5d573, 0xf480803a,
148 0x27bebec2, 0xebcdcd13, 0x893434d0, 0x3248483d,
149 0x54ffffdb, 0x8d7a7af5, 0x6490907a, 0x9d5f5f61,
150 0x3d202080, 0x0f6868bd, 0xca1a1a68, 0xb7aeae82,
151 0x7db4b4ea, 0xce54544d, 0x7f939376, 0x2f222288,
152 0x6364648d, 0x2af1f1e3, 0xcc7373d1, 0x82121248,
153 0x7a40401d, 0x48080820, 0x95c3c32b, 0xdfecec97,
154 0x4ddbdb4b, 0xc0a1a1be, 0x918d8d0e, 0xc83d3df4,
155 0x5b979766, 0x00000000, 0xf9cfcf1b, 0x6e2b2bac,
156 0xe17676c5, 0xe6828232, 0x28d6d67f, 0xc31b1b6c,
157 0x74b5b5ee, 0xbeafaf86, 0x1d6a6ab5, 0xea50505d,
158 0x57454509, 0x38f3f3eb, 0xad3030c0, 0xc4efef9b,
159 0xda3f3ffc, 0xc7555549, 0xdba2a2b2, 0xe9eaea8f,
160 0x6a656589, 0x03babad2, 0x4a2f2fbc, 0x8ec0c027,
161 0x60dede5f, 0xfc1c1c70, 0x46fdfdd3, 0x1f4d4d29,
162 0x76929272, 0xfa7575c9, 0x36060618, 0xae8a8a12,
163 0x4bb2b2f2, 0x85e6e6bf, 0x7e0e0e38, 0xe71f1f7c,
164 0x55626295, 0x3ad4d477, 0x81a8a89a, 0x52969662,
165 0x62f9f9c3, 0xa3c5c533, 0x10252594, 0xab595979,
166 0xd084842a, 0xc57272d5, 0xec3939e4, 0x164c4c2d,
167 0x945e5e65, 0x9f7878fd, 0xe53838e0, 0x988c8c0a,
168 0x17d1d163, 0xe4a5a5ae, 0xa1e2e2af, 0x4e616199,
169 0x42b3b3f6, 0x34212184, 0x089c9c4a, 0xee1e1e78,
170 0x61434311, 0xb1c7c73b, 0x4ffcfcd7, 0x24040410,
171 0xe3515159, 0x2599995e, 0x226d6da9, 0x650d0d34,
172 0x79fafacf, 0x69dfdf5b, 0xa97e7ee5, 0x19242490,
173 0xfe3b3bec, 0x9aabab96, 0xf0cece1f, 0x99111144,
174 0x838f8f06, 0x044e4e25, 0x66b7b7e6, 0xe0ebeb8b,
175 0xc13c3cf0, 0xfd81813e, 0x4094946a, 0x1cf7f7fb,
176 0x18b9b9de, 0x8b13134c, 0x512c2cb0, 0x05d3d36b,
177 0x8ce7e7bb, 0x396e6ea5, 0xaac4c437, 0x1b03030c,
178 0xdc565645, 0x5e44440d, 0xa07f7fe1, 0x88a9a99e,
179 0x672a2aa8, 0x0abbbbd6, 0x87c1c123, 0xf1535351,
180 0x72dcdc57, 0x530b0b2c, 0x019d9d4e, 0x2b6c6cad,
181 0xa43131c4, 0xf37474cd, 0x15f6f6ff, 0x4c464605,
182 0xa5acac8a, 0xb589891e, 0xb4141450, 0xbae1e1a3,
183 0xa6161658, 0xf73a3ae8, 0x066969b9, 0x41090924,
184 0xd77070dd, 0x6fb6b6e2, 0x1ed0d067, 0xd6eded93,
185 0xe2cccc17, 0x68424215, 0x2c98985a, 0xeda4a4aa,
186 0x752828a0, 0x865c5c6d, 0x6bf8f8c7, 0xc2868622,
189 0x30d81818, 0x46262323, 0x91b8c6c6, 0xcdfbe8e8,
190 0x13cb8787, 0x6d11b8b8, 0x02090101, 0x9e0d4f4f,
191 0x6c9b3636, 0x51ffa6a6, 0xb90cd2d2, 0xf70ef5f5,
192 0xf2967979, 0xde306f6f, 0x3f6d9191, 0xa4f85252,
193 0xc0476060, 0x6535bcbc, 0x2b379b9b, 0x018a8e8e,
194 0x5bd2a3a3, 0x186c0c0c, 0xf6847b7b, 0x6a803535,
195 0x3af51d1d, 0xddb3e0e0, 0xb321d7d7, 0x999cc2c2,
196 0x5c432e2e, 0x96294b4b, 0xe15dfefe, 0xaed55757,
197 0x2abd1515, 0xeee87777, 0x6e923737, 0xd79ee5e5,
198 0x23139f9f, 0xfd23f0f0, 0x94204a4a, 0xa944dada,
199 0xb0a25858, 0x8fcfc9c9, 0x527c2929, 0x145a0a0a,
200 0x7f50b1b1, 0x5dc9a0a0, 0xd6146b6b, 0x17d98585,
201 0x673cbdbd, 0xba8f5d5d, 0x20901010, 0xf507f4f4,
202 0x8bddcbcb, 0x7cd33e3e, 0x0a2d0505, 0xce786767,
203 0xd597e4e4, 0x4e022727, 0x82734141, 0x0ba78b8b,
204 0x53f6a7a7, 0xfab27d7d, 0x37499595, 0xad56d8d8,
205 0xeb70fbfb, 0xc1cdeeee, 0xf8bb7c7c, 0xcc716666,
206 0xa77bdddd, 0x2eaf1717, 0x8e454747, 0x211a9e9e,
207 0x89d4caca, 0x5a582d2d, 0x632ebfbf, 0x0e3f0707,
208 0x47acadad, 0xb4b05a5a, 0x1bef8383, 0x66b63333,
209 0xc65c6363, 0x04120202, 0x4993aaaa, 0xe2de7171,
210 0x8dc6c8c8, 0x32d11919, 0x923b4949, 0xaf5fd9d9,
211 0xf931f2f2, 0xdba8e3e3, 0xb6b95b5b, 0x0dbc8888,
212 0x293e9a9a, 0x4c0b2626, 0x64bf3232, 0x7d59b0b0,
213 0xcff2e9e9, 0x1e770f0f, 0xb733d5d5, 0x1df48080,
214 0x6127bebe, 0x87ebcdcd, 0x68893434, 0x90324848,
215 0xe354ffff, 0xf48d7a7a, 0x3d649090, 0xbe9d5f5f,
216 0x403d2020, 0xd00f6868, 0x34ca1a1a, 0x41b7aeae,
217 0x757db4b4, 0xa8ce5454, 0x3b7f9393, 0x442f2222,
218 0xc8636464, 0xff2af1f1, 0xe6cc7373, 0x24821212,
219 0x807a4040, 0x10480808, 0x9b95c3c3, 0xc5dfecec,
220 0xab4ddbdb, 0x5fc0a1a1, 0x07918d8d, 0x7ac83d3d,
221 0x335b9797, 0x00000000, 0x83f9cfcf, 0x566e2b2b,
222 0xece17676, 0x19e68282, 0xb128d6d6, 0x36c31b1b,
223 0x7774b5b5, 0x43beafaf, 0xd41d6a6a, 0xa0ea5050,
224 0x8a574545, 0xfb38f3f3, 0x60ad3030, 0xc3c4efef,
225 0x7eda3f3f, 0xaac75555, 0x59dba2a2, 0xc9e9eaea,
226 0xca6a6565, 0x6903baba, 0x5e4a2f2f, 0x9d8ec0c0,
227 0xa160dede, 0x38fc1c1c, 0xe746fdfd, 0x9a1f4d4d,
228 0x39769292, 0xeafa7575, 0x0c360606, 0x09ae8a8a,
229 0x794bb2b2, 0xd185e6e6, 0x1c7e0e0e, 0x3ee71f1f,
230 0xc4556262, 0xb53ad4d4, 0x4d81a8a8, 0x31529696,
231 0xef62f9f9, 0x97a3c5c5, 0x4a102525, 0xb2ab5959,
232 0x15d08484, 0xe4c57272, 0x72ec3939, 0x98164c4c,
233 0xbc945e5e, 0xf09f7878, 0x70e53838, 0x05988c8c,
234 0xbf17d1d1, 0x57e4a5a5, 0xd9a1e2e2, 0xc24e6161,
235 0x7b42b3b3, 0x42342121, 0x25089c9c, 0x3cee1e1e,
236 0x86614343, 0x93b1c7c7, 0xe54ffcfc, 0x08240404,
237 0xa2e35151, 0x2f259999, 0xda226d6d, 0x1a650d0d,
238 0xe979fafa, 0xa369dfdf, 0xfca97e7e, 0x48192424,
239 0x76fe3b3b, 0x4b9aabab, 0x81f0cece, 0x22991111,
240 0x03838f8f, 0x9c044e4e, 0x7366b7b7, 0xcbe0ebeb,
241 0x78c13c3c, 0x1ffd8181, 0x35409494, 0xf31cf7f7,
242 0x6f18b9b9, 0x268b1313, 0x58512c2c, 0xbb05d3d3,
243 0xd38ce7e7, 0xdc396e6e, 0x95aac4c4, 0x061b0303,
244 0xacdc5656, 0x885e4444, 0xfea07f7f, 0x4f88a9a9,
245 0x54672a2a, 0x6b0abbbb, 0x9f87c1c1, 0xa6f15353,
246 0xa572dcdc, 0x16530b0b, 0x27019d9d, 0xd82b6c6c,
247 0x62a43131, 0xe8f37474, 0xf115f6f6, 0x8c4c4646,
248 0x45a5acac, 0x0fb58989, 0x28b41414, 0xdfbae1e1,
249 0x2ca61616, 0x74f73a3a, 0xd2066969, 0x12410909,
250 0xe0d77070, 0x716fb6b6, 0xbd1ed0d0, 0xc7d6eded,
251 0x85e2cccc, 0x84684242, 0x2d2c9898, 0x55eda4a4,
252 0x50752828, 0xb8865c5c, 0xed6bf8f8, 0x11c28686,
255 0x7830d818, 0xaf462623, 0xf991b8c6, 0x6fcdfbe8,
256 0xa113cb87, 0x626d11b8, 0x05020901, 0x6e9e0d4f,
257 0xee6c9b36, 0x0451ffa6, 0xbdb90cd2, 0x06f70ef5,
258 0x80f29679, 0xcede306f, 0xef3f6d91, 0x07a4f852,
259 0xfdc04760, 0x766535bc, 0xcd2b379b, 0x8c018a8e,
260 0x155bd2a3, 0x3c186c0c, 0x8af6847b, 0xe16a8035,
261 0x693af51d, 0x47ddb3e0, 0xacb321d7, 0xed999cc2,
262 0x965c432e, 0x7a96294b, 0x21e15dfe, 0x16aed557,
263 0x412abd15, 0xb6eee877, 0xeb6e9237, 0x56d79ee5,
264 0xd923139f, 0x17fd23f0, 0x7f94204a, 0x95a944da,
265 0x25b0a258, 0xca8fcfc9, 0x8d527c29, 0x22145a0a,
266 0x4f7f50b1, 0x1a5dc9a0, 0xdad6146b, 0xab17d985,
267 0x73673cbd, 0x34ba8f5d, 0x50209010, 0x03f507f4,
268 0xc08bddcb, 0xc67cd33e, 0x110a2d05, 0xe6ce7867,
269 0x53d597e4, 0xbb4e0227, 0x58827341, 0x9d0ba78b,
270 0x0153f6a7, 0x94fab27d, 0xfb374995, 0x9fad56d8,
271 0x30eb70fb, 0x71c1cdee, 0x91f8bb7c, 0xe3cc7166,
272 0x8ea77bdd, 0x4b2eaf17, 0x468e4547, 0xdc211a9e,
273 0xc589d4ca, 0x995a582d, 0x79632ebf, 0x1b0e3f07,
274 0x2347acad, 0x2fb4b05a, 0xb51bef83, 0xff66b633,
275 0xf2c65c63, 0x0a041202, 0x384993aa, 0xa8e2de71,
276 0xcf8dc6c8, 0x7d32d119, 0x70923b49, 0x9aaf5fd9,
277 0x1df931f2, 0x48dba8e3, 0x2ab6b95b, 0x920dbc88,
278 0xc8293e9a, 0xbe4c0b26, 0xfa64bf32, 0x4a7d59b0,
279 0x6acff2e9, 0x331e770f, 0xa6b733d5, 0xba1df480,
280 0x7c6127be, 0xde87ebcd, 0xe4688934, 0x75903248,
281 0x24e354ff, 0x8ff48d7a, 0xea3d6490, 0x3ebe9d5f,
282 0xa0403d20, 0xd5d00f68, 0x7234ca1a, 0x2c41b7ae,
283 0x5e757db4, 0x19a8ce54, 0xe53b7f93, 0xaa442f22,
284 0xe9c86364, 0x12ff2af1, 0xa2e6cc73, 0x5a248212,
285 0x5d807a40, 0x28104808, 0xe89b95c3, 0x7bc5dfec,
286 0x90ab4ddb, 0x1f5fc0a1, 0x8307918d, 0xc97ac83d,
287 0xf1335b97, 0x00000000, 0xd483f9cf, 0x87566e2b,
288 0xb3ece176, 0xb019e682, 0xa9b128d6, 0x7736c31b,
289 0x5b7774b5, 0x2943beaf, 0xdfd41d6a, 0x0da0ea50,
290 0x4c8a5745, 0x18fb38f3, 0xf060ad30, 0x74c3c4ef,
291 0xc37eda3f, 0x1caac755, 0x1059dba2, 0x65c9e9ea,
292 0xecca6a65, 0x686903ba, 0x935e4a2f, 0xe79d8ec0,
293 0x81a160de, 0x6c38fc1c, 0x2ee746fd, 0x649a1f4d,
294 0xe0397692, 0xbceafa75, 0x1e0c3606, 0x9809ae8a,
295 0x40794bb2, 0x59d185e6, 0x361c7e0e, 0x633ee71f,
296 0xf7c45562, 0xa3b53ad4, 0x324d81a8, 0xf4315296,
297 0x3aef62f9, 0xf697a3c5, 0xb14a1025, 0x20b2ab59,
298 0xae15d084, 0xa7e4c572, 0xdd72ec39, 0x6198164c,
299 0x3bbc945e, 0x85f09f78, 0xd870e538, 0x8605988c,
300 0xb2bf17d1, 0x0b57e4a5, 0x4dd9a1e2, 0xf8c24e61,
301 0x457b42b3, 0xa5423421, 0xd625089c, 0x663cee1e,
302 0x52866143, 0xfc93b1c7, 0x2be54ffc, 0x14082404,
303 0x08a2e351, 0xc72f2599, 0xc4da226d, 0x391a650d,
304 0x35e979fa, 0x84a369df, 0x9bfca97e, 0xb4481924,
305 0xd776fe3b, 0x3d4b9aab, 0xd181f0ce, 0x55229911,
306 0x8903838f, 0x6b9c044e, 0x517366b7, 0x60cbe0eb,
307 0xcc78c13c, 0xbf1ffd81, 0xfe354094, 0x0cf31cf7,
308 0x676f18b9, 0x5f268b13, 0x9c58512c, 0xb8bb05d3,
309 0x5cd38ce7, 0xcbdc396e, 0xf395aac4, 0x0f061b03,
310 0x13acdc56, 0x49885e44, 0x9efea07f, 0x374f88a9,
311 0x8254672a, 0x6d6b0abb, 0xe29f87c1, 0x02a6f153,
312 0x8ba572dc, 0x2716530b, 0xd327019d, 0xc1d82b6c,
313 0xf562a431, 0xb9e8f374, 0x09f115f6, 0x438c4c46,
314 0x2645a5ac, 0x970fb589, 0x4428b414, 0x42dfbae1,
315 0x4e2ca616, 0xd274f73a, 0xd0d20669, 0x2d124109,
316 0xade0d770, 0x54716fb6, 0xb7bd1ed0, 0x7ec7d6ed,
317 0xdb85e2cc, 0x57846842, 0xc22d2c98, 0x0e55eda4,
318 0x88507528, 0x31b8865c, 0x3fed6bf8, 0xa411c286,
321 0xc07830d8, 0x05af4626, 0x7ef991b8, 0x136fcdfb,
322 0x4ca113cb, 0xa9626d11, 0x08050209, 0x426e9e0d,
323 0xadee6c9b, 0x590451ff, 0xdebdb90c, 0xfb06f70e,
324 0xef80f296, 0x5fcede30, 0xfcef3f6d, 0xaa07a4f8,
325 0x27fdc047, 0x89766535, 0xaccd2b37, 0x048c018a,
326 0x71155bd2, 0x603c186c, 0xff8af684, 0xb5e16a80,
327 0xe8693af5, 0x5347ddb3, 0xf6acb321, 0x5eed999c,
328 0x6d965c43, 0x627a9629, 0xa321e15d, 0x8216aed5,
329 0xa8412abd, 0x9fb6eee8, 0xa5eb6e92, 0x7b56d79e,
330 0x8cd92313, 0xd317fd23, 0x6a7f9420, 0x9e95a944,
331 0xfa25b0a2, 0x06ca8fcf, 0x558d527c, 0x5022145a,
332 0xe14f7f50, 0x691a5dc9, 0x7fdad614, 0x5cab17d9,
333 0x8173673c, 0xd234ba8f, 0x80502090, 0xf303f507,
334 0x16c08bdd, 0xedc67cd3, 0x28110a2d, 0x1fe6ce78,
335 0x7353d597, 0x25bb4e02, 0x32588273, 0x2c9d0ba7,
336 0x510153f6, 0xcf94fab2, 0xdcfb3749, 0x8e9fad56,
337 0x8b30eb70, 0x2371c1cd, 0xc791f8bb, 0x17e3cc71,
338 0xa68ea77b, 0xb84b2eaf, 0x02468e45, 0x84dc211a,
339 0x1ec589d4, 0x75995a58, 0x9179632e, 0x381b0e3f,
340 0x012347ac, 0xea2fb4b0, 0x6cb51bef, 0x85ff66b6,
341 0x3ff2c65c, 0x100a0412, 0x39384993, 0xafa8e2de,
342 0x0ecf8dc6, 0xc87d32d1, 0x7270923b, 0x869aaf5f,
343 0xc31df931, 0x4b48dba8, 0xe22ab6b9, 0x34920dbc,
344 0xa4c8293e, 0x2dbe4c0b, 0x8dfa64bf, 0xe94a7d59,
345 0x1b6acff2, 0x78331e77, 0xe6a6b733, 0x74ba1df4,
346 0x997c6127, 0x26de87eb, 0xbde46889, 0x7a759032,
347 0xab24e354, 0xf78ff48d, 0xf4ea3d64, 0xc23ebe9d,
348 0x1da0403d, 0x67d5d00f, 0xd07234ca, 0x192c41b7,
349 0xc95e757d, 0x9a19a8ce, 0xece53b7f, 0x0daa442f,
350 0x07e9c863, 0xdb12ff2a, 0xbfa2e6cc, 0x905a2482,
351 0x3a5d807a, 0x40281048, 0x56e89b95, 0x337bc5df,
352 0x9690ab4d, 0x611f5fc0, 0x1c830791, 0xf5c97ac8,
353 0xccf1335b, 0x00000000, 0x36d483f9, 0x4587566e,
354 0x97b3ece1, 0x64b019e6, 0xfea9b128, 0xd87736c3,
355 0xc15b7774, 0x112943be, 0x77dfd41d, 0xba0da0ea,
356 0x124c8a57, 0xcb18fb38, 0x9df060ad, 0x2b74c3c4,
357 0xe5c37eda, 0x921caac7, 0x791059db, 0x0365c9e9,
358 0x0fecca6a, 0xb9686903, 0x65935e4a, 0x4ee79d8e,
359 0xbe81a160, 0xe06c38fc, 0xbb2ee746, 0x52649a1f,
360 0xe4e03976, 0x8fbceafa, 0x301e0c36, 0x249809ae,
361 0xf940794b, 0x6359d185, 0x70361c7e, 0xf8633ee7,
362 0x37f7c455, 0xeea3b53a, 0x29324d81, 0xc4f43152,
363 0x9b3aef62, 0x66f697a3, 0x35b14a10, 0xf220b2ab,
364 0x54ae15d0, 0xb7a7e4c5, 0xd5dd72ec, 0x5a619816,
365 0xca3bbc94, 0xe785f09f, 0xddd870e5, 0x14860598,
366 0xc6b2bf17, 0x410b57e4, 0x434dd9a1, 0x2ff8c24e,
367 0xf1457b42, 0x15a54234, 0x94d62508, 0xf0663cee,
368 0x22528661, 0x76fc93b1, 0xb32be54f, 0x20140824,
369 0xb208a2e3, 0xbcc72f25, 0x4fc4da22, 0x68391a65,
370 0x8335e979, 0xb684a369, 0xd79bfca9, 0x3db44819,
371 0xc5d776fe, 0x313d4b9a, 0x3ed181f0, 0x88552299,
372 0x0c890383, 0x4a6b9c04, 0xd1517366, 0x0b60cbe0,
373 0xfdcc78c1, 0x7cbf1ffd, 0xd4fe3540, 0xeb0cf31c,
374 0xa1676f18, 0x985f268b, 0x7d9c5851, 0xd6b8bb05,
375 0x6b5cd38c, 0x57cbdc39, 0x6ef395aa, 0x180f061b,
376 0x8a13acdc, 0x1a49885e, 0xdf9efea0, 0x21374f88,
377 0x4d825467, 0xb16d6b0a, 0x46e29f87, 0xa202a6f1,
378 0xae8ba572, 0x58271653, 0x9cd32701, 0x47c1d82b,
379 0x95f562a4, 0x87b9e8f3, 0xe309f115, 0x0a438c4c,
380 0x092645a5, 0x3c970fb5, 0xa04428b4, 0x5b42dfba,
381 0xb04e2ca6, 0xcdd274f7, 0x6fd0d206, 0x482d1241,
382 0xa7ade0d7, 0xd954716f, 0xceb7bd1e, 0x3b7ec7d6,
383 0x2edb85e2, 0x2a578468, 0xb4c22d2c, 0x490e55ed,
384 0x5d885075, 0xda31b886, 0x933fed6b, 0x44a411c2,
387 0x18c07830, 0x2305af46, 0xc67ef991, 0xe8136fcd,
388 0x874ca113, 0xb8a9626d, 0x01080502, 0x4f426e9e,
389 0x36adee6c, 0xa6590451, 0xd2debdb9, 0xf5fb06f7,
390 0x79ef80f2, 0x6f5fcede, 0x91fcef3f, 0x52aa07a4,
391 0x6027fdc0, 0xbc897665, 0x9baccd2b, 0x8e048c01,
392 0xa371155b, 0x0c603c18, 0x7bff8af6, 0x35b5e16a,
393 0x1de8693a, 0xe05347dd, 0xd7f6acb3, 0xc25eed99,
394 0x2e6d965c, 0x4b627a96, 0xfea321e1, 0x578216ae,
395 0x15a8412a, 0x779fb6ee, 0x37a5eb6e, 0xe57b56d7,
396 0x9f8cd923, 0xf0d317fd, 0x4a6a7f94, 0xda9e95a9,
397 0x58fa25b0, 0xc906ca8f, 0x29558d52, 0x0a502214,
398 0xb1e14f7f, 0xa0691a5d, 0x6b7fdad6, 0x855cab17,
399 0xbd817367, 0x5dd234ba, 0x10805020, 0xf4f303f5,
400 0xcb16c08b, 0x3eedc67c, 0x0528110a, 0x671fe6ce,
401 0xe47353d5, 0x2725bb4e, 0x41325882, 0x8b2c9d0b,
402 0xa7510153, 0x7dcf94fa, 0x95dcfb37, 0xd88e9fad,
403 0xfb8b30eb, 0xee2371c1, 0x7cc791f8, 0x6617e3cc,
404 0xdda68ea7, 0x17b84b2e, 0x4702468e, 0x9e84dc21,
405 0xca1ec589, 0x2d75995a, 0xbf917963, 0x07381b0e,
406 0xad012347, 0x5aea2fb4, 0x836cb51b, 0x3385ff66,
407 0x633ff2c6, 0x02100a04, 0xaa393849, 0x71afa8e2,
408 0xc80ecf8d, 0x19c87d32, 0x49727092, 0xd9869aaf,
409 0xf2c31df9, 0xe34b48db, 0x5be22ab6, 0x8834920d,
410 0x9aa4c829, 0x262dbe4c, 0x328dfa64, 0xb0e94a7d,
411 0xe91b6acf, 0x0f78331e, 0xd5e6a6b7, 0x8074ba1d,
412 0xbe997c61, 0xcd26de87, 0x34bde468, 0x487a7590,
413 0xffab24e3, 0x7af78ff4, 0x90f4ea3d, 0x5fc23ebe,
414 0x201da040, 0x6867d5d0, 0x1ad07234, 0xae192c41,
415 0xb4c95e75, 0x549a19a8, 0x93ece53b, 0x220daa44,
416 0x6407e9c8, 0xf1db12ff, 0x73bfa2e6, 0x12905a24,
417 0x403a5d80, 0x08402810, 0xc356e89b, 0xec337bc5,
418 0xdb9690ab, 0xa1611f5f, 0x8d1c8307, 0x3df5c97a,
419 0x97ccf133, 0x00000000, 0xcf36d483, 0x2b458756,
420 0x7697b3ec, 0x8264b019, 0xd6fea9b1, 0x1bd87736,
421 0xb5c15b77, 0xaf112943, 0x6a77dfd4, 0x50ba0da0,
422 0x45124c8a, 0xf3cb18fb, 0x309df060, 0xef2b74c3,
423 0x3fe5c37e, 0x55921caa, 0xa2791059, 0xea0365c9,
424 0x650fecca, 0xbab96869, 0x2f65935e, 0xc04ee79d,
425 0xdebe81a1, 0x1ce06c38, 0xfdbb2ee7, 0x4d52649a,
426 0x92e4e039, 0x758fbcea, 0x06301e0c, 0x8a249809,
427 0xb2f94079, 0xe66359d1, 0x0e70361c, 0x1ff8633e,
428 0x6237f7c4, 0xd4eea3b5, 0xa829324d, 0x96c4f431,
429 0xf99b3aef, 0xc566f697, 0x2535b14a, 0x59f220b2,
430 0x8454ae15, 0x72b7a7e4, 0x39d5dd72, 0x4c5a6198,
431 0x5eca3bbc, 0x78e785f0, 0x38ddd870, 0x8c148605,
432 0xd1c6b2bf, 0xa5410b57, 0xe2434dd9, 0x612ff8c2,
433 0xb3f1457b, 0x2115a542, 0x9c94d625, 0x1ef0663c,
434 0x43225286, 0xc776fc93, 0xfcb32be5, 0x04201408,
435 0x51b208a2, 0x99bcc72f, 0x6d4fc4da, 0x0d68391a,
436 0xfa8335e9, 0xdfb684a3, 0x7ed79bfc, 0x243db448,
437 0x3bc5d776, 0xab313d4b, 0xce3ed181, 0x11885522,
438 0x8f0c8903, 0x4e4a6b9c, 0xb7d15173, 0xeb0b60cb,
439 0x3cfdcc78, 0x817cbf1f, 0x94d4fe35, 0xf7eb0cf3,
440 0xb9a1676f, 0x13985f26, 0x2c7d9c58, 0xd3d6b8bb,
441 0xe76b5cd3, 0x6e57cbdc, 0xc46ef395, 0x03180f06,
442 0x568a13ac, 0x441a4988, 0x7fdf9efe, 0xa921374f,
443 0x2a4d8254, 0xbbb16d6b, 0xc146e29f, 0x53a202a6,
444 0xdcae8ba5, 0x0b582716, 0x9d9cd327, 0x6c47c1d8,
445 0x3195f562, 0x7487b9e8, 0xf6e309f1, 0x460a438c,
446 0xac092645, 0x893c970f, 0x14a04428, 0xe15b42df,
447 0x16b04e2c, 0x3acdd274, 0x696fd0d2, 0x09482d12,
448 0x70a7ade0, 0xb6d95471, 0xd0ceb7bd, 0xed3b7ec7,
449 0xcc2edb85, 0x422a5784, 0x98b4c22d, 0xa4490e55,
450 0x285d8850, 0x5cda31b8, 0xf8933fed, 0x8644a411,
453 0x6018c078, 0x8c2305af, 0x3fc67ef9, 0x87e8136f,
454 0x26874ca1, 0xdab8a962, 0x04010805, 0x214f426e,
455 0xd836adee, 0xa2a65904, 0x6fd2debd, 0xf3f5fb06,
456 0xf979ef80, 0xa16f5fce, 0x7e91fcef, 0x5552aa07,
457 0x9d6027fd, 0xcabc8976, 0x569baccd, 0x028e048c,
458 0xb6a37115, 0x300c603c, 0xf17bff8a, 0xd435b5e1,
459 0x741de869, 0xa7e05347, 0x7bd7f6ac, 0x2fc25eed,
460 0xb82e6d96, 0x314b627a, 0xdffea321, 0x41578216,
461 0x5415a841, 0xc1779fb6, 0xdc37a5eb, 0xb3e57b56,
462 0x469f8cd9, 0xe7f0d317, 0x354a6a7f, 0x4fda9e95,
463 0x7d58fa25, 0x03c906ca, 0xa429558d, 0x280a5022,
464 0xfeb1e14f, 0xbaa0691a, 0xb16b7fda, 0x2e855cab,
465 0xcebd8173, 0x695dd234, 0x40108050, 0xf7f4f303,
466 0x0bcb16c0, 0xf83eedc6, 0x14052811, 0x81671fe6,
467 0xb7e47353, 0x9c2725bb, 0x19413258, 0x168b2c9d,
468 0xa6a75101, 0xe97dcf94, 0x6e95dcfb, 0x47d88e9f,
469 0xcbfb8b30, 0x9fee2371, 0xed7cc791, 0x856617e3,
470 0x53dda68e, 0x5c17b84b, 0x01470246, 0x429e84dc,
471 0x0fca1ec5, 0xb42d7599, 0xc6bf9179, 0x1c07381b,
472 0x8ead0123, 0x755aea2f, 0x36836cb5, 0xcc3385ff,
473 0x91633ff2, 0x0802100a, 0x92aa3938, 0xd971afa8,
474 0x07c80ecf, 0x6419c87d, 0x39497270, 0x43d9869a,
475 0xeff2c31d, 0xabe34b48, 0x715be22a, 0x1a883492,
476 0x529aa4c8, 0x98262dbe, 0xc8328dfa, 0xfab0e94a,
477 0x83e91b6a, 0x3c0f7833, 0x73d5e6a6, 0x3a8074ba,
478 0xc2be997c, 0x13cd26de, 0xd034bde4, 0x3d487a75,
479 0xdbffab24, 0xf57af78f, 0x7a90f4ea, 0x615fc23e,
480 0x80201da0, 0xbd6867d5, 0x681ad072, 0x82ae192c,
481 0xeab4c95e, 0x4d549a19, 0x7693ece5, 0x88220daa,
482 0x8d6407e9, 0xe3f1db12, 0xd173bfa2, 0x4812905a,
483 0x1d403a5d, 0x20084028, 0x2bc356e8, 0x97ec337b,
484 0x4bdb9690, 0xbea1611f, 0x0e8d1c83, 0xf43df5c9,
485 0x6697ccf1, 0x00000000, 0x1bcf36d4, 0xac2b4587,
486 0xc57697b3, 0x328264b0, 0x7fd6fea9, 0x6c1bd877,
487 0xeeb5c15b, 0x86af1129, 0xb56a77df, 0x5d50ba0d,
488 0x0945124c, 0xebf3cb18, 0xc0309df0, 0x9bef2b74,
489 0xfc3fe5c3, 0x4955921c, 0xb2a27910, 0x8fea0365,
490 0x89650fec, 0xd2bab968, 0xbc2f6593, 0x27c04ee7,
491 0x5fdebe81, 0x701ce06c, 0xd3fdbb2e, 0x294d5264,
492 0x7292e4e0, 0xc9758fbc, 0x1806301e, 0x128a2498,
493 0xf2b2f940, 0xbfe66359, 0x380e7036, 0x7c1ff863,
494 0x956237f7, 0x77d4eea3, 0x9aa82932, 0x6296c4f4,
495 0xc3f99b3a, 0x33c566f6, 0x942535b1, 0x7959f220,
496 0x2a8454ae, 0xd572b7a7, 0xe439d5dd, 0x2d4c5a61,
497 0x655eca3b, 0xfd78e785, 0xe038ddd8, 0x0a8c1486,
498 0x63d1c6b2, 0xaea5410b, 0xafe2434d, 0x99612ff8,
499 0xf6b3f145, 0x842115a5, 0x4a9c94d6, 0x781ef066,
500 0x11432252, 0x3bc776fc, 0xd7fcb32b, 0x10042014,
501 0x5951b208, 0x5e99bcc7, 0xa96d4fc4, 0x340d6839,
502 0xcffa8335, 0x5bdfb684, 0xe57ed79b, 0x90243db4,
503 0xec3bc5d7, 0x96ab313d, 0x1fce3ed1, 0x44118855,
504 0x068f0c89, 0x254e4a6b, 0xe6b7d151, 0x8beb0b60,
505 0xf03cfdcc, 0x3e817cbf, 0x6a94d4fe, 0xfbf7eb0c,
506 0xdeb9a167, 0x4c13985f, 0xb02c7d9c, 0x6bd3d6b8,
507 0xbbe76b5c, 0xa56e57cb, 0x37c46ef3, 0x0c03180f,
508 0x45568a13, 0x0d441a49, 0xe17fdf9e, 0x9ea92137,
509 0xa82a4d82, 0xd6bbb16d, 0x23c146e2, 0x5153a202,
510 0x57dcae8b, 0x2c0b5827, 0x4e9d9cd3, 0xad6c47c1,
511 0xc43195f5, 0xcd7487b9, 0xfff6e309, 0x05460a43,
512 0x8aac0926, 0x1e893c97, 0x5014a044, 0xa3e15b42,
513 0x5816b04e, 0xe83acdd2, 0xb9696fd0, 0x2409482d,
514 0xdd70a7ad, 0xe2b6d954, 0x67d0ceb7, 0x93ed3b7e,
515 0x17cc2edb, 0x15422a57, 0x5a98b4c2, 0xaaa4490e,
516 0xa0285d88, 0x6d5cda31, 0xc7f8933f, 0x228644a4,
519 0x186018c0, 0x238c2305, 0xc63fc67e, 0xe887e813,
520 0x8726874c, 0xb8dab8a9, 0x01040108, 0x4f214f42,
521 0x36d836ad, 0xa6a2a659, 0xd26fd2de, 0xf5f3f5fb,
522 0x79f979ef, 0x6fa16f5f, 0x917e91fc, 0x525552aa,
523 0x609d6027, 0xbccabc89, 0x9b569bac, 0x8e028e04,
524 0xa3b6a371, 0x0c300c60, 0x7bf17bff, 0x35d435b5,
525 0x1d741de8, 0xe0a7e053, 0xd77bd7f6, 0xc22fc25e,
526 0x2eb82e6d, 0x4b314b62, 0xfedffea3, 0x57415782,
527 0x155415a8, 0x77c1779f, 0x37dc37a5, 0xe5b3e57b,
528 0x9f469f8c, 0xf0e7f0d3, 0x4a354a6a, 0xda4fda9e,
529 0x587d58fa, 0xc903c906, 0x29a42955, 0x0a280a50,
530 0xb1feb1e1, 0xa0baa069, 0x6bb16b7f, 0x852e855c,
531 0xbdcebd81, 0x5d695dd2, 0x10401080, 0xf4f7f4f3,
532 0xcb0bcb16, 0x3ef83eed, 0x05140528, 0x6781671f,
533 0xe4b7e473, 0x279c2725, 0x41194132, 0x8b168b2c,
534 0xa7a6a751, 0x7de97dcf, 0x956e95dc, 0xd847d88e,
535 0xfbcbfb8b, 0xee9fee23, 0x7ced7cc7, 0x66856617,
536 0xdd53dda6, 0x175c17b8, 0x47014702, 0x9e429e84,
537 0xca0fca1e, 0x2db42d75, 0xbfc6bf91, 0x071c0738,
538 0xad8ead01, 0x5a755aea, 0x8336836c, 0x33cc3385,
539 0x6391633f, 0x02080210, 0xaa92aa39, 0x71d971af,
540 0xc807c80e, 0x196419c8, 0x49394972, 0xd943d986,
541 0xf2eff2c3, 0xe3abe34b, 0x5b715be2, 0x881a8834,
542 0x9a529aa4, 0x2698262d, 0x32c8328d, 0xb0fab0e9,
543 0xe983e91b, 0x0f3c0f78, 0xd573d5e6, 0x803a8074,
544 0xbec2be99, 0xcd13cd26, 0x34d034bd, 0x483d487a,
545 0xffdbffab, 0x7af57af7, 0x907a90f4, 0x5f615fc2,
546 0x2080201d, 0x68bd6867, 0x1a681ad0, 0xae82ae19,
547 0xb4eab4c9, 0x544d549a, 0x937693ec, 0x2288220d,
548 0x648d6407, 0xf1e3f1db, 0x73d173bf, 0x12481290,
549 0x401d403a, 0x08200840, 0xc32bc356, 0xec97ec33,
550 0xdb4bdb96, 0xa1bea161, 0x8d0e8d1c, 0x3df43df5,
551 0x976697cc, 0x00000000, 0xcf1bcf36, 0x2bac2b45,
552 0x76c57697, 0x82328264, 0xd67fd6fe, 0x1b6c1bd8,
553 0xb5eeb5c1, 0xaf86af11, 0x6ab56a77, 0x505d50ba,
554 0x45094512, 0xf3ebf3cb, 0x30c0309d, 0xef9bef2b,
555 0x3ffc3fe5, 0x55495592, 0xa2b2a279, 0xea8fea03,
556 0x6589650f, 0xbad2bab9, 0x2fbc2f65, 0xc027c04e,
557 0xde5fdebe, 0x1c701ce0, 0xfdd3fdbb, 0x4d294d52,
558 0x927292e4, 0x75c9758f, 0x06180630, 0x8a128a24,
559 0xb2f2b2f9, 0xe6bfe663, 0x0e380e70, 0x1f7c1ff8,
560 0x62956237, 0xd477d4ee, 0xa89aa829, 0x966296c4,
561 0xf9c3f99b, 0xc533c566, 0x25942535, 0x597959f2,
562 0x842a8454, 0x72d572b7, 0x39e439d5, 0x4c2d4c5a,
563 0x5e655eca, 0x78fd78e7, 0x38e038dd, 0x8c0a8c14,
564 0xd163d1c6, 0xa5aea541, 0xe2afe243, 0x6199612f,
565 0xb3f6b3f1, 0x21842115, 0x9c4a9c94, 0x1e781ef0,
566 0x43114322, 0xc73bc776, 0xfcd7fcb3, 0x04100420,
567 0x515951b2, 0x995e99bc, 0x6da96d4f, 0x0d340d68,
568 0xfacffa83, 0xdf5bdfb6, 0x7ee57ed7, 0x2490243d,
569 0x3bec3bc5, 0xab96ab31, 0xce1fce3e, 0x11441188,
570 0x8f068f0c, 0x4e254e4a, 0xb7e6b7d1, 0xeb8beb0b,
571 0x3cf03cfd, 0x813e817c, 0x946a94d4, 0xf7fbf7eb,
572 0xb9deb9a1, 0x134c1398, 0x2cb02c7d, 0xd36bd3d6,
573 0xe7bbe76b, 0x6ea56e57, 0xc437c46e, 0x030c0318,
574 0x5645568a, 0x440d441a, 0x7fe17fdf, 0xa99ea921,
575 0x2aa82a4d, 0xbbd6bbb1, 0xc123c146, 0x535153a2,
576 0xdc57dcae, 0x0b2c0b58, 0x9d4e9d9c, 0x6cad6c47,
577 0x31c43195, 0x74cd7487, 0xf6fff6e3, 0x4605460a,
578 0xac8aac09, 0x891e893c, 0x145014a0, 0xe1a3e15b,
579 0x165816b0, 0x3ae83acd, 0x69b9696f, 0x09240948,
580 0x70dd70a7, 0xb6e2b6d9, 0xd067d0ce, 0xed93ed3b,
581 0xcc17cc2e, 0x4215422a, 0x985a98b4, 0xa4aaa449,
582 0x28a0285d, 0x5c6d5cda, 0xf8c7f893, 0x86228644,
586 __constant u32 Cl[8][256] =
589 0xc07830d8, 0x05af4626, 0x7ef991b8, 0x136fcdfb,
590 0x4ca113cb, 0xa9626d11, 0x08050209, 0x426e9e0d,
591 0xadee6c9b, 0x590451ff, 0xdebdb90c, 0xfb06f70e,
592 0xef80f296, 0x5fcede30, 0xfcef3f6d, 0xaa07a4f8,
593 0x27fdc047, 0x89766535, 0xaccd2b37, 0x048c018a,
594 0x71155bd2, 0x603c186c, 0xff8af684, 0xb5e16a80,
595 0xe8693af5, 0x5347ddb3, 0xf6acb321, 0x5eed999c,
596 0x6d965c43, 0x627a9629, 0xa321e15d, 0x8216aed5,
597 0xa8412abd, 0x9fb6eee8, 0xa5eb6e92, 0x7b56d79e,
598 0x8cd92313, 0xd317fd23, 0x6a7f9420, 0x9e95a944,
599 0xfa25b0a2, 0x06ca8fcf, 0x558d527c, 0x5022145a,
600 0xe14f7f50, 0x691a5dc9, 0x7fdad614, 0x5cab17d9,
601 0x8173673c, 0xd234ba8f, 0x80502090, 0xf303f507,
602 0x16c08bdd, 0xedc67cd3, 0x28110a2d, 0x1fe6ce78,
603 0x7353d597, 0x25bb4e02, 0x32588273, 0x2c9d0ba7,
604 0x510153f6, 0xcf94fab2, 0xdcfb3749, 0x8e9fad56,
605 0x8b30eb70, 0x2371c1cd, 0xc791f8bb, 0x17e3cc71,
606 0xa68ea77b, 0xb84b2eaf, 0x02468e45, 0x84dc211a,
607 0x1ec589d4, 0x75995a58, 0x9179632e, 0x381b0e3f,
608 0x012347ac, 0xea2fb4b0, 0x6cb51bef, 0x85ff66b6,
609 0x3ff2c65c, 0x100a0412, 0x39384993, 0xafa8e2de,
610 0x0ecf8dc6, 0xc87d32d1, 0x7270923b, 0x869aaf5f,
611 0xc31df931, 0x4b48dba8, 0xe22ab6b9, 0x34920dbc,
612 0xa4c8293e, 0x2dbe4c0b, 0x8dfa64bf, 0xe94a7d59,
613 0x1b6acff2, 0x78331e77, 0xe6a6b733, 0x74ba1df4,
614 0x997c6127, 0x26de87eb, 0xbde46889, 0x7a759032,
615 0xab24e354, 0xf78ff48d, 0xf4ea3d64, 0xc23ebe9d,
616 0x1da0403d, 0x67d5d00f, 0xd07234ca, 0x192c41b7,
617 0xc95e757d, 0x9a19a8ce, 0xece53b7f, 0x0daa442f,
618 0x07e9c863, 0xdb12ff2a, 0xbfa2e6cc, 0x905a2482,
619 0x3a5d807a, 0x40281048, 0x56e89b95, 0x337bc5df,
620 0x9690ab4d, 0x611f5fc0, 0x1c830791, 0xf5c97ac8,
621 0xccf1335b, 0x00000000, 0x36d483f9, 0x4587566e,
622 0x97b3ece1, 0x64b019e6, 0xfea9b128, 0xd87736c3,
623 0xc15b7774, 0x112943be, 0x77dfd41d, 0xba0da0ea,
624 0x124c8a57, 0xcb18fb38, 0x9df060ad, 0x2b74c3c4,
625 0xe5c37eda, 0x921caac7, 0x791059db, 0x0365c9e9,
626 0x0fecca6a, 0xb9686903, 0x65935e4a, 0x4ee79d8e,
627 0xbe81a160, 0xe06c38fc, 0xbb2ee746, 0x52649a1f,
628 0xe4e03976, 0x8fbceafa, 0x301e0c36, 0x249809ae,
629 0xf940794b, 0x6359d185, 0x70361c7e, 0xf8633ee7,
630 0x37f7c455, 0xeea3b53a, 0x29324d81, 0xc4f43152,
631 0x9b3aef62, 0x66f697a3, 0x35b14a10, 0xf220b2ab,
632 0x54ae15d0, 0xb7a7e4c5, 0xd5dd72ec, 0x5a619816,
633 0xca3bbc94, 0xe785f09f, 0xddd870e5, 0x14860598,
634 0xc6b2bf17, 0x410b57e4, 0x434dd9a1, 0x2ff8c24e,
635 0xf1457b42, 0x15a54234, 0x94d62508, 0xf0663cee,
636 0x22528661, 0x76fc93b1, 0xb32be54f, 0x20140824,
637 0xb208a2e3, 0xbcc72f25, 0x4fc4da22, 0x68391a65,
638 0x8335e979, 0xb684a369, 0xd79bfca9, 0x3db44819,
639 0xc5d776fe, 0x313d4b9a, 0x3ed181f0, 0x88552299,
640 0x0c890383, 0x4a6b9c04, 0xd1517366, 0x0b60cbe0,
641 0xfdcc78c1, 0x7cbf1ffd, 0xd4fe3540, 0xeb0cf31c,
642 0xa1676f18, 0x985f268b, 0x7d9c5851, 0xd6b8bb05,
643 0x6b5cd38c, 0x57cbdc39, 0x6ef395aa, 0x180f061b,
644 0x8a13acdc, 0x1a49885e, 0xdf9efea0, 0x21374f88,
645 0x4d825467, 0xb16d6b0a, 0x46e29f87, 0xa202a6f1,
646 0xae8ba572, 0x58271653, 0x9cd32701, 0x47c1d82b,
647 0x95f562a4, 0x87b9e8f3, 0xe309f115, 0x0a438c4c,
648 0x092645a5, 0x3c970fb5, 0xa04428b4, 0x5b42dfba,
649 0xb04e2ca6, 0xcdd274f7, 0x6fd0d206, 0x482d1241,
650 0xa7ade0d7, 0xd954716f, 0xceb7bd1e, 0x3b7ec7d6,
651 0x2edb85e2, 0x2a578468, 0xb4c22d2c, 0x490e55ed,
652 0x5d885075, 0xda31b886, 0x933fed6b, 0x44a411c2,
655 0x18c07830, 0x2305af46, 0xc67ef991, 0xe8136fcd,
656 0x874ca113, 0xb8a9626d, 0x01080502, 0x4f426e9e,
657 0x36adee6c, 0xa6590451, 0xd2debdb9, 0xf5fb06f7,
658 0x79ef80f2, 0x6f5fcede, 0x91fcef3f, 0x52aa07a4,
659 0x6027fdc0, 0xbc897665, 0x9baccd2b, 0x8e048c01,
660 0xa371155b, 0x0c603c18, 0x7bff8af6, 0x35b5e16a,
661 0x1de8693a, 0xe05347dd, 0xd7f6acb3, 0xc25eed99,
662 0x2e6d965c, 0x4b627a96, 0xfea321e1, 0x578216ae,
663 0x15a8412a, 0x779fb6ee, 0x37a5eb6e, 0xe57b56d7,
664 0x9f8cd923, 0xf0d317fd, 0x4a6a7f94, 0xda9e95a9,
665 0x58fa25b0, 0xc906ca8f, 0x29558d52, 0x0a502214,
666 0xb1e14f7f, 0xa0691a5d, 0x6b7fdad6, 0x855cab17,
667 0xbd817367, 0x5dd234ba, 0x10805020, 0xf4f303f5,
668 0xcb16c08b, 0x3eedc67c, 0x0528110a, 0x671fe6ce,
669 0xe47353d5, 0x2725bb4e, 0x41325882, 0x8b2c9d0b,
670 0xa7510153, 0x7dcf94fa, 0x95dcfb37, 0xd88e9fad,
671 0xfb8b30eb, 0xee2371c1, 0x7cc791f8, 0x6617e3cc,
672 0xdda68ea7, 0x17b84b2e, 0x4702468e, 0x9e84dc21,
673 0xca1ec589, 0x2d75995a, 0xbf917963, 0x07381b0e,
674 0xad012347, 0x5aea2fb4, 0x836cb51b, 0x3385ff66,
675 0x633ff2c6, 0x02100a04, 0xaa393849, 0x71afa8e2,
676 0xc80ecf8d, 0x19c87d32, 0x49727092, 0xd9869aaf,
677 0xf2c31df9, 0xe34b48db, 0x5be22ab6, 0x8834920d,
678 0x9aa4c829, 0x262dbe4c, 0x328dfa64, 0xb0e94a7d,
679 0xe91b6acf, 0x0f78331e, 0xd5e6a6b7, 0x8074ba1d,
680 0xbe997c61, 0xcd26de87, 0x34bde468, 0x487a7590,
681 0xffab24e3, 0x7af78ff4, 0x90f4ea3d, 0x5fc23ebe,
682 0x201da040, 0x6867d5d0, 0x1ad07234, 0xae192c41,
683 0xb4c95e75, 0x549a19a8, 0x93ece53b, 0x220daa44,
684 0x6407e9c8, 0xf1db12ff, 0x73bfa2e6, 0x12905a24,
685 0x403a5d80, 0x08402810, 0xc356e89b, 0xec337bc5,
686 0xdb9690ab, 0xa1611f5f, 0x8d1c8307, 0x3df5c97a,
687 0x97ccf133, 0x00000000, 0xcf36d483, 0x2b458756,
688 0x7697b3ec, 0x8264b019, 0xd6fea9b1, 0x1bd87736,
689 0xb5c15b77, 0xaf112943, 0x6a77dfd4, 0x50ba0da0,
690 0x45124c8a, 0xf3cb18fb, 0x309df060, 0xef2b74c3,
691 0x3fe5c37e, 0x55921caa, 0xa2791059, 0xea0365c9,
692 0x650fecca, 0xbab96869, 0x2f65935e, 0xc04ee79d,
693 0xdebe81a1, 0x1ce06c38, 0xfdbb2ee7, 0x4d52649a,
694 0x92e4e039, 0x758fbcea, 0x06301e0c, 0x8a249809,
695 0xb2f94079, 0xe66359d1, 0x0e70361c, 0x1ff8633e,
696 0x6237f7c4, 0xd4eea3b5, 0xa829324d, 0x96c4f431,
697 0xf99b3aef, 0xc566f697, 0x2535b14a, 0x59f220b2,
698 0x8454ae15, 0x72b7a7e4, 0x39d5dd72, 0x4c5a6198,
699 0x5eca3bbc, 0x78e785f0, 0x38ddd870, 0x8c148605,
700 0xd1c6b2bf, 0xa5410b57, 0xe2434dd9, 0x612ff8c2,
701 0xb3f1457b, 0x2115a542, 0x9c94d625, 0x1ef0663c,
702 0x43225286, 0xc776fc93, 0xfcb32be5, 0x04201408,
703 0x51b208a2, 0x99bcc72f, 0x6d4fc4da, 0x0d68391a,
704 0xfa8335e9, 0xdfb684a3, 0x7ed79bfc, 0x243db448,
705 0x3bc5d776, 0xab313d4b, 0xce3ed181, 0x11885522,
706 0x8f0c8903, 0x4e4a6b9c, 0xb7d15173, 0xeb0b60cb,
707 0x3cfdcc78, 0x817cbf1f, 0x94d4fe35, 0xf7eb0cf3,
708 0xb9a1676f, 0x13985f26, 0x2c7d9c58, 0xd3d6b8bb,
709 0xe76b5cd3, 0x6e57cbdc, 0xc46ef395, 0x03180f06,
710 0x568a13ac, 0x441a4988, 0x7fdf9efe, 0xa921374f,
711 0x2a4d8254, 0xbbb16d6b, 0xc146e29f, 0x53a202a6,
712 0xdcae8ba5, 0x0b582716, 0x9d9cd327, 0x6c47c1d8,
713 0x3195f562, 0x7487b9e8, 0xf6e309f1, 0x460a438c,
714 0xac092645, 0x893c970f, 0x14a04428, 0xe15b42df,
715 0x16b04e2c, 0x3acdd274, 0x696fd0d2, 0x09482d12,
716 0x70a7ade0, 0xb6d95471, 0xd0ceb7bd, 0xed3b7ec7,
717 0xcc2edb85, 0x422a5784, 0x98b4c22d, 0xa4490e55,
718 0x285d8850, 0x5cda31b8, 0xf8933fed, 0x8644a411,
721 0x6018c078, 0x8c2305af, 0x3fc67ef9, 0x87e8136f,
722 0x26874ca1, 0xdab8a962, 0x04010805, 0x214f426e,
723 0xd836adee, 0xa2a65904, 0x6fd2debd, 0xf3f5fb06,
724 0xf979ef80, 0xa16f5fce, 0x7e91fcef, 0x5552aa07,
725 0x9d6027fd, 0xcabc8976, 0x569baccd, 0x028e048c,
726 0xb6a37115, 0x300c603c, 0xf17bff8a, 0xd435b5e1,
727 0x741de869, 0xa7e05347, 0x7bd7f6ac, 0x2fc25eed,
728 0xb82e6d96, 0x314b627a, 0xdffea321, 0x41578216,
729 0x5415a841, 0xc1779fb6, 0xdc37a5eb, 0xb3e57b56,
730 0x469f8cd9, 0xe7f0d317, 0x354a6a7f, 0x4fda9e95,
731 0x7d58fa25, 0x03c906ca, 0xa429558d, 0x280a5022,
732 0xfeb1e14f, 0xbaa0691a, 0xb16b7fda, 0x2e855cab,
733 0xcebd8173, 0x695dd234, 0x40108050, 0xf7f4f303,
734 0x0bcb16c0, 0xf83eedc6, 0x14052811, 0x81671fe6,
735 0xb7e47353, 0x9c2725bb, 0x19413258, 0x168b2c9d,
736 0xa6a75101, 0xe97dcf94, 0x6e95dcfb, 0x47d88e9f,
737 0xcbfb8b30, 0x9fee2371, 0xed7cc791, 0x856617e3,
738 0x53dda68e, 0x5c17b84b, 0x01470246, 0x429e84dc,
739 0x0fca1ec5, 0xb42d7599, 0xc6bf9179, 0x1c07381b,
740 0x8ead0123, 0x755aea2f, 0x36836cb5, 0xcc3385ff,
741 0x91633ff2, 0x0802100a, 0x92aa3938, 0xd971afa8,
742 0x07c80ecf, 0x6419c87d, 0x39497270, 0x43d9869a,
743 0xeff2c31d, 0xabe34b48, 0x715be22a, 0x1a883492,
744 0x529aa4c8, 0x98262dbe, 0xc8328dfa, 0xfab0e94a,
745 0x83e91b6a, 0x3c0f7833, 0x73d5e6a6, 0x3a8074ba,
746 0xc2be997c, 0x13cd26de, 0xd034bde4, 0x3d487a75,
747 0xdbffab24, 0xf57af78f, 0x7a90f4ea, 0x615fc23e,
748 0x80201da0, 0xbd6867d5, 0x681ad072, 0x82ae192c,
749 0xeab4c95e, 0x4d549a19, 0x7693ece5, 0x88220daa,
750 0x8d6407e9, 0xe3f1db12, 0xd173bfa2, 0x4812905a,
751 0x1d403a5d, 0x20084028, 0x2bc356e8, 0x97ec337b,
752 0x4bdb9690, 0xbea1611f, 0x0e8d1c83, 0xf43df5c9,
753 0x6697ccf1, 0x00000000, 0x1bcf36d4, 0xac2b4587,
754 0xc57697b3, 0x328264b0, 0x7fd6fea9, 0x6c1bd877,
755 0xeeb5c15b, 0x86af1129, 0xb56a77df, 0x5d50ba0d,
756 0x0945124c, 0xebf3cb18, 0xc0309df0, 0x9bef2b74,
757 0xfc3fe5c3, 0x4955921c, 0xb2a27910, 0x8fea0365,
758 0x89650fec, 0xd2bab968, 0xbc2f6593, 0x27c04ee7,
759 0x5fdebe81, 0x701ce06c, 0xd3fdbb2e, 0x294d5264,
760 0x7292e4e0, 0xc9758fbc, 0x1806301e, 0x128a2498,
761 0xf2b2f940, 0xbfe66359, 0x380e7036, 0x7c1ff863,
762 0x956237f7, 0x77d4eea3, 0x9aa82932, 0x6296c4f4,
763 0xc3f99b3a, 0x33c566f6, 0x942535b1, 0x7959f220,
764 0x2a8454ae, 0xd572b7a7, 0xe439d5dd, 0x2d4c5a61,
765 0x655eca3b, 0xfd78e785, 0xe038ddd8, 0x0a8c1486,
766 0x63d1c6b2, 0xaea5410b, 0xafe2434d, 0x99612ff8,
767 0xf6b3f145, 0x842115a5, 0x4a9c94d6, 0x781ef066,
768 0x11432252, 0x3bc776fc, 0xd7fcb32b, 0x10042014,
769 0x5951b208, 0x5e99bcc7, 0xa96d4fc4, 0x340d6839,
770 0xcffa8335, 0x5bdfb684, 0xe57ed79b, 0x90243db4,
771 0xec3bc5d7, 0x96ab313d, 0x1fce3ed1, 0x44118855,
772 0x068f0c89, 0x254e4a6b, 0xe6b7d151, 0x8beb0b60,
773 0xf03cfdcc, 0x3e817cbf, 0x6a94d4fe, 0xfbf7eb0c,
774 0xdeb9a167, 0x4c13985f, 0xb02c7d9c, 0x6bd3d6b8,
775 0xbbe76b5c, 0xa56e57cb, 0x37c46ef3, 0x0c03180f,
776 0x45568a13, 0x0d441a49, 0xe17fdf9e, 0x9ea92137,
777 0xa82a4d82, 0xd6bbb16d, 0x23c146e2, 0x5153a202,
778 0x57dcae8b, 0x2c0b5827, 0x4e9d9cd3, 0xad6c47c1,
779 0xc43195f5, 0xcd7487b9, 0xfff6e309, 0x05460a43,
780 0x8aac0926, 0x1e893c97, 0x5014a044, 0xa3e15b42,
781 0x5816b04e, 0xe83acdd2, 0xb9696fd0, 0x2409482d,
782 0xdd70a7ad, 0xe2b6d954, 0x67d0ceb7, 0x93ed3b7e,
783 0x17cc2edb, 0x15422a57, 0x5a98b4c2, 0xaaa4490e,
784 0xa0285d88, 0x6d5cda31, 0xc7f8933f, 0x228644a4,
787 0x186018c0, 0x238c2305, 0xc63fc67e, 0xe887e813,
788 0x8726874c, 0xb8dab8a9, 0x01040108, 0x4f214f42,
789 0x36d836ad, 0xa6a2a659, 0xd26fd2de, 0xf5f3f5fb,
790 0x79f979ef, 0x6fa16f5f, 0x917e91fc, 0x525552aa,
791 0x609d6027, 0xbccabc89, 0x9b569bac, 0x8e028e04,
792 0xa3b6a371, 0x0c300c60, 0x7bf17bff, 0x35d435b5,
793 0x1d741de8, 0xe0a7e053, 0xd77bd7f6, 0xc22fc25e,
794 0x2eb82e6d, 0x4b314b62, 0xfedffea3, 0x57415782,
795 0x155415a8, 0x77c1779f, 0x37dc37a5, 0xe5b3e57b,
796 0x9f469f8c, 0xf0e7f0d3, 0x4a354a6a, 0xda4fda9e,
797 0x587d58fa, 0xc903c906, 0x29a42955, 0x0a280a50,
798 0xb1feb1e1, 0xa0baa069, 0x6bb16b7f, 0x852e855c,
799 0xbdcebd81, 0x5d695dd2, 0x10401080, 0xf4f7f4f3,
800 0xcb0bcb16, 0x3ef83eed, 0x05140528, 0x6781671f,
801 0xe4b7e473, 0x279c2725, 0x41194132, 0x8b168b2c,
802 0xa7a6a751, 0x7de97dcf, 0x956e95dc, 0xd847d88e,
803 0xfbcbfb8b, 0xee9fee23, 0x7ced7cc7, 0x66856617,
804 0xdd53dda6, 0x175c17b8, 0x47014702, 0x9e429e84,
805 0xca0fca1e, 0x2db42d75, 0xbfc6bf91, 0x071c0738,
806 0xad8ead01, 0x5a755aea, 0x8336836c, 0x33cc3385,
807 0x6391633f, 0x02080210, 0xaa92aa39, 0x71d971af,
808 0xc807c80e, 0x196419c8, 0x49394972, 0xd943d986,
809 0xf2eff2c3, 0xe3abe34b, 0x5b715be2, 0x881a8834,
810 0x9a529aa4, 0x2698262d, 0x32c8328d, 0xb0fab0e9,
811 0xe983e91b, 0x0f3c0f78, 0xd573d5e6, 0x803a8074,
812 0xbec2be99, 0xcd13cd26, 0x34d034bd, 0x483d487a,
813 0xffdbffab, 0x7af57af7, 0x907a90f4, 0x5f615fc2,
814 0x2080201d, 0x68bd6867, 0x1a681ad0, 0xae82ae19,
815 0xb4eab4c9, 0x544d549a, 0x937693ec, 0x2288220d,
816 0x648d6407, 0xf1e3f1db, 0x73d173bf, 0x12481290,
817 0x401d403a, 0x08200840, 0xc32bc356, 0xec97ec33,
818 0xdb4bdb96, 0xa1bea161, 0x8d0e8d1c, 0x3df43df5,
819 0x976697cc, 0x00000000, 0xcf1bcf36, 0x2bac2b45,
820 0x76c57697, 0x82328264, 0xd67fd6fe, 0x1b6c1bd8,
821 0xb5eeb5c1, 0xaf86af11, 0x6ab56a77, 0x505d50ba,
822 0x45094512, 0xf3ebf3cb, 0x30c0309d, 0xef9bef2b,
823 0x3ffc3fe5, 0x55495592, 0xa2b2a279, 0xea8fea03,
824 0x6589650f, 0xbad2bab9, 0x2fbc2f65, 0xc027c04e,
825 0xde5fdebe, 0x1c701ce0, 0xfdd3fdbb, 0x4d294d52,
826 0x927292e4, 0x75c9758f, 0x06180630, 0x8a128a24,
827 0xb2f2b2f9, 0xe6bfe663, 0x0e380e70, 0x1f7c1ff8,
828 0x62956237, 0xd477d4ee, 0xa89aa829, 0x966296c4,
829 0xf9c3f99b, 0xc533c566, 0x25942535, 0x597959f2,
830 0x842a8454, 0x72d572b7, 0x39e439d5, 0x4c2d4c5a,
831 0x5e655eca, 0x78fd78e7, 0x38e038dd, 0x8c0a8c14,
832 0xd163d1c6, 0xa5aea541, 0xe2afe243, 0x6199612f,
833 0xb3f6b3f1, 0x21842115, 0x9c4a9c94, 0x1e781ef0,
834 0x43114322, 0xc73bc776, 0xfcd7fcb3, 0x04100420,
835 0x515951b2, 0x995e99bc, 0x6da96d4f, 0x0d340d68,
836 0xfacffa83, 0xdf5bdfb6, 0x7ee57ed7, 0x2490243d,
837 0x3bec3bc5, 0xab96ab31, 0xce1fce3e, 0x11441188,
838 0x8f068f0c, 0x4e254e4a, 0xb7e6b7d1, 0xeb8beb0b,
839 0x3cf03cfd, 0x813e817c, 0x946a94d4, 0xf7fbf7eb,
840 0xb9deb9a1, 0x134c1398, 0x2cb02c7d, 0xd36bd3d6,
841 0xe7bbe76b, 0x6ea56e57, 0xc437c46e, 0x030c0318,
842 0x5645568a, 0x440d441a, 0x7fe17fdf, 0xa99ea921,
843 0x2aa82a4d, 0xbbd6bbb1, 0xc123c146, 0x535153a2,
844 0xdc57dcae, 0x0b2c0b58, 0x9d4e9d9c, 0x6cad6c47,
845 0x31c43195, 0x74cd7487, 0xf6fff6e3, 0x4605460a,
846 0xac8aac09, 0x891e893c, 0x145014a0, 0xe1a3e15b,
847 0x165816b0, 0x3ae83acd, 0x69b9696f, 0x09240948,
848 0x70dd70a7, 0xb6e2b6d9, 0xd067d0ce, 0xed93ed3b,
849 0xcc17cc2e, 0x4215422a, 0x985a98b4, 0xa4aaa449,
850 0x28a0285d, 0x5c6d5cda, 0xf8c7f893, 0x86228644,
853 0x18186018, 0x23238c23, 0xc6c63fc6, 0xe8e887e8,
854 0x87872687, 0xb8b8dab8, 0x01010401, 0x4f4f214f,
855 0x3636d836, 0xa6a6a2a6, 0xd2d26fd2, 0xf5f5f3f5,
856 0x7979f979, 0x6f6fa16f, 0x91917e91, 0x52525552,
857 0x60609d60, 0xbcbccabc, 0x9b9b569b, 0x8e8e028e,
858 0xa3a3b6a3, 0x0c0c300c, 0x7b7bf17b, 0x3535d435,
859 0x1d1d741d, 0xe0e0a7e0, 0xd7d77bd7, 0xc2c22fc2,
860 0x2e2eb82e, 0x4b4b314b, 0xfefedffe, 0x57574157,
861 0x15155415, 0x7777c177, 0x3737dc37, 0xe5e5b3e5,
862 0x9f9f469f, 0xf0f0e7f0, 0x4a4a354a, 0xdada4fda,
863 0x58587d58, 0xc9c903c9, 0x2929a429, 0x0a0a280a,
864 0xb1b1feb1, 0xa0a0baa0, 0x6b6bb16b, 0x85852e85,
865 0xbdbdcebd, 0x5d5d695d, 0x10104010, 0xf4f4f7f4,
866 0xcbcb0bcb, 0x3e3ef83e, 0x05051405, 0x67678167,
867 0xe4e4b7e4, 0x27279c27, 0x41411941, 0x8b8b168b,
868 0xa7a7a6a7, 0x7d7de97d, 0x95956e95, 0xd8d847d8,
869 0xfbfbcbfb, 0xeeee9fee, 0x7c7ced7c, 0x66668566,
870 0xdddd53dd, 0x17175c17, 0x47470147, 0x9e9e429e,
871 0xcaca0fca, 0x2d2db42d, 0xbfbfc6bf, 0x07071c07,
872 0xadad8ead, 0x5a5a755a, 0x83833683, 0x3333cc33,
873 0x63639163, 0x02020802, 0xaaaa92aa, 0x7171d971,
874 0xc8c807c8, 0x19196419, 0x49493949, 0xd9d943d9,
875 0xf2f2eff2, 0xe3e3abe3, 0x5b5b715b, 0x88881a88,
876 0x9a9a529a, 0x26269826, 0x3232c832, 0xb0b0fab0,
877 0xe9e983e9, 0x0f0f3c0f, 0xd5d573d5, 0x80803a80,
878 0xbebec2be, 0xcdcd13cd, 0x3434d034, 0x48483d48,
879 0xffffdbff, 0x7a7af57a, 0x90907a90, 0x5f5f615f,
880 0x20208020, 0x6868bd68, 0x1a1a681a, 0xaeae82ae,
881 0xb4b4eab4, 0x54544d54, 0x93937693, 0x22228822,
882 0x64648d64, 0xf1f1e3f1, 0x7373d173, 0x12124812,
883 0x40401d40, 0x08082008, 0xc3c32bc3, 0xecec97ec,
884 0xdbdb4bdb, 0xa1a1bea1, 0x8d8d0e8d, 0x3d3df43d,
885 0x97976697, 0x00000000, 0xcfcf1bcf, 0x2b2bac2b,
886 0x7676c576, 0x82823282, 0xd6d67fd6, 0x1b1b6c1b,
887 0xb5b5eeb5, 0xafaf86af, 0x6a6ab56a, 0x50505d50,
888 0x45450945, 0xf3f3ebf3, 0x3030c030, 0xefef9bef,
889 0x3f3ffc3f, 0x55554955, 0xa2a2b2a2, 0xeaea8fea,
890 0x65658965, 0xbabad2ba, 0x2f2fbc2f, 0xc0c027c0,
891 0xdede5fde, 0x1c1c701c, 0xfdfdd3fd, 0x4d4d294d,
892 0x92927292, 0x7575c975, 0x06061806, 0x8a8a128a,
893 0xb2b2f2b2, 0xe6e6bfe6, 0x0e0e380e, 0x1f1f7c1f,
894 0x62629562, 0xd4d477d4, 0xa8a89aa8, 0x96966296,
895 0xf9f9c3f9, 0xc5c533c5, 0x25259425, 0x59597959,
896 0x84842a84, 0x7272d572, 0x3939e439, 0x4c4c2d4c,
897 0x5e5e655e, 0x7878fd78, 0x3838e038, 0x8c8c0a8c,
898 0xd1d163d1, 0xa5a5aea5, 0xe2e2afe2, 0x61619961,
899 0xb3b3f6b3, 0x21218421, 0x9c9c4a9c, 0x1e1e781e,
900 0x43431143, 0xc7c73bc7, 0xfcfcd7fc, 0x04041004,
901 0x51515951, 0x99995e99, 0x6d6da96d, 0x0d0d340d,
902 0xfafacffa, 0xdfdf5bdf, 0x7e7ee57e, 0x24249024,
903 0x3b3bec3b, 0xabab96ab, 0xcece1fce, 0x11114411,
904 0x8f8f068f, 0x4e4e254e, 0xb7b7e6b7, 0xebeb8beb,
905 0x3c3cf03c, 0x81813e81, 0x94946a94, 0xf7f7fbf7,
906 0xb9b9deb9, 0x13134c13, 0x2c2cb02c, 0xd3d36bd3,
907 0xe7e7bbe7, 0x6e6ea56e, 0xc4c437c4, 0x03030c03,
908 0x56564556, 0x44440d44, 0x7f7fe17f, 0xa9a99ea9,
909 0x2a2aa82a, 0xbbbbd6bb, 0xc1c123c1, 0x53535153,
910 0xdcdc57dc, 0x0b0b2c0b, 0x9d9d4e9d, 0x6c6cad6c,
911 0x3131c431, 0x7474cd74, 0xf6f6fff6, 0x46460546,
912 0xacac8aac, 0x89891e89, 0x14145014, 0xe1e1a3e1,
913 0x16165816, 0x3a3ae83a, 0x6969b969, 0x09092409,
914 0x7070dd70, 0xb6b6e2b6, 0xd0d067d0, 0xeded93ed,
915 0xcccc17cc, 0x42421542, 0x98985a98, 0xa4a4aaa4,
916 0x2828a028, 0x5c5c6d5c, 0xf8f8c7f8, 0x86862286,
919 0xd8181860, 0x2623238c, 0xb8c6c63f, 0xfbe8e887,
920 0xcb878726, 0x11b8b8da, 0x09010104, 0x0d4f4f21,
921 0x9b3636d8, 0xffa6a6a2, 0x0cd2d26f, 0x0ef5f5f3,
922 0x967979f9, 0x306f6fa1, 0x6d91917e, 0xf8525255,
923 0x4760609d, 0x35bcbcca, 0x379b9b56, 0x8a8e8e02,
924 0xd2a3a3b6, 0x6c0c0c30, 0x847b7bf1, 0x803535d4,
925 0xf51d1d74, 0xb3e0e0a7, 0x21d7d77b, 0x9cc2c22f,
926 0x432e2eb8, 0x294b4b31, 0x5dfefedf, 0xd5575741,
927 0xbd151554, 0xe87777c1, 0x923737dc, 0x9ee5e5b3,
928 0x139f9f46, 0x23f0f0e7, 0x204a4a35, 0x44dada4f,
929 0xa258587d, 0xcfc9c903, 0x7c2929a4, 0x5a0a0a28,
930 0x50b1b1fe, 0xc9a0a0ba, 0x146b6bb1, 0xd985852e,
931 0x3cbdbdce, 0x8f5d5d69, 0x90101040, 0x07f4f4f7,
932 0xddcbcb0b, 0xd33e3ef8, 0x2d050514, 0x78676781,
933 0x97e4e4b7, 0x0227279c, 0x73414119, 0xa78b8b16,
934 0xf6a7a7a6, 0xb27d7de9, 0x4995956e, 0x56d8d847,
935 0x70fbfbcb, 0xcdeeee9f, 0xbb7c7ced, 0x71666685,
936 0x7bdddd53, 0xaf17175c, 0x45474701, 0x1a9e9e42,
937 0xd4caca0f, 0x582d2db4, 0x2ebfbfc6, 0x3f07071c,
938 0xacadad8e, 0xb05a5a75, 0xef838336, 0xb63333cc,
939 0x5c636391, 0x12020208, 0x93aaaa92, 0xde7171d9,
940 0xc6c8c807, 0xd1191964, 0x3b494939, 0x5fd9d943,
941 0x31f2f2ef, 0xa8e3e3ab, 0xb95b5b71, 0xbc88881a,
942 0x3e9a9a52, 0x0b262698, 0xbf3232c8, 0x59b0b0fa,
943 0xf2e9e983, 0x770f0f3c, 0x33d5d573, 0xf480803a,
944 0x27bebec2, 0xebcdcd13, 0x893434d0, 0x3248483d,
945 0x54ffffdb, 0x8d7a7af5, 0x6490907a, 0x9d5f5f61,
946 0x3d202080, 0x0f6868bd, 0xca1a1a68, 0xb7aeae82,
947 0x7db4b4ea, 0xce54544d, 0x7f939376, 0x2f222288,
948 0x6364648d, 0x2af1f1e3, 0xcc7373d1, 0x82121248,
949 0x7a40401d, 0x48080820, 0x95c3c32b, 0xdfecec97,
950 0x4ddbdb4b, 0xc0a1a1be, 0x918d8d0e, 0xc83d3df4,
951 0x5b979766, 0x00000000, 0xf9cfcf1b, 0x6e2b2bac,
952 0xe17676c5, 0xe6828232, 0x28d6d67f, 0xc31b1b6c,
953 0x74b5b5ee, 0xbeafaf86, 0x1d6a6ab5, 0xea50505d,
954 0x57454509, 0x38f3f3eb, 0xad3030c0, 0xc4efef9b,
955 0xda3f3ffc, 0xc7555549, 0xdba2a2b2, 0xe9eaea8f,
956 0x6a656589, 0x03babad2, 0x4a2f2fbc, 0x8ec0c027,
957 0x60dede5f, 0xfc1c1c70, 0x46fdfdd3, 0x1f4d4d29,
958 0x76929272, 0xfa7575c9, 0x36060618, 0xae8a8a12,
959 0x4bb2b2f2, 0x85e6e6bf, 0x7e0e0e38, 0xe71f1f7c,
960 0x55626295, 0x3ad4d477, 0x81a8a89a, 0x52969662,
961 0x62f9f9c3, 0xa3c5c533, 0x10252594, 0xab595979,
962 0xd084842a, 0xc57272d5, 0xec3939e4, 0x164c4c2d,
963 0x945e5e65, 0x9f7878fd, 0xe53838e0, 0x988c8c0a,
964 0x17d1d163, 0xe4a5a5ae, 0xa1e2e2af, 0x4e616199,
965 0x42b3b3f6, 0x34212184, 0x089c9c4a, 0xee1e1e78,
966 0x61434311, 0xb1c7c73b, 0x4ffcfcd7, 0x24040410,
967 0xe3515159, 0x2599995e, 0x226d6da9, 0x650d0d34,
968 0x79fafacf, 0x69dfdf5b, 0xa97e7ee5, 0x19242490,
969 0xfe3b3bec, 0x9aabab96, 0xf0cece1f, 0x99111144,
970 0x838f8f06, 0x044e4e25, 0x66b7b7e6, 0xe0ebeb8b,
971 0xc13c3cf0, 0xfd81813e, 0x4094946a, 0x1cf7f7fb,
972 0x18b9b9de, 0x8b13134c, 0x512c2cb0, 0x05d3d36b,
973 0x8ce7e7bb, 0x396e6ea5, 0xaac4c437, 0x1b03030c,
974 0xdc565645, 0x5e44440d, 0xa07f7fe1, 0x88a9a99e,
975 0x672a2aa8, 0x0abbbbd6, 0x87c1c123, 0xf1535351,
976 0x72dcdc57, 0x530b0b2c, 0x019d9d4e, 0x2b6c6cad,
977 0xa43131c4, 0xf37474cd, 0x15f6f6ff, 0x4c464605,
978 0xa5acac8a, 0xb589891e, 0xb4141450, 0xbae1e1a3,
979 0xa6161658, 0xf73a3ae8, 0x066969b9, 0x41090924,
980 0xd77070dd, 0x6fb6b6e2, 0x1ed0d067, 0xd6eded93,
981 0xe2cccc17, 0x68424215, 0x2c98985a, 0xeda4a4aa,
982 0x752828a0, 0x865c5c6d, 0x6bf8f8c7, 0xc2868622,
985 0x30d81818, 0x46262323, 0x91b8c6c6, 0xcdfbe8e8,
986 0x13cb8787, 0x6d11b8b8, 0x02090101, 0x9e0d4f4f,
987 0x6c9b3636, 0x51ffa6a6, 0xb90cd2d2, 0xf70ef5f5,
988 0xf2967979, 0xde306f6f, 0x3f6d9191, 0xa4f85252,
989 0xc0476060, 0x6535bcbc, 0x2b379b9b, 0x018a8e8e,
990 0x5bd2a3a3, 0x186c0c0c, 0xf6847b7b, 0x6a803535,
991 0x3af51d1d, 0xddb3e0e0, 0xb321d7d7, 0x999cc2c2,
992 0x5c432e2e, 0x96294b4b, 0xe15dfefe, 0xaed55757,
993 0x2abd1515, 0xeee87777, 0x6e923737, 0xd79ee5e5,
994 0x23139f9f, 0xfd23f0f0, 0x94204a4a, 0xa944dada,
995 0xb0a25858, 0x8fcfc9c9, 0x527c2929, 0x145a0a0a,
996 0x7f50b1b1, 0x5dc9a0a0, 0xd6146b6b, 0x17d98585,
997 0x673cbdbd, 0xba8f5d5d, 0x20901010, 0xf507f4f4,
998 0x8bddcbcb, 0x7cd33e3e, 0x0a2d0505, 0xce786767,
999 0xd597e4e4, 0x4e022727, 0x82734141, 0x0ba78b8b,
1000 0x53f6a7a7, 0xfab27d7d, 0x37499595, 0xad56d8d8,
1001 0xeb70fbfb, 0xc1cdeeee, 0xf8bb7c7c, 0xcc716666,
1002 0xa77bdddd, 0x2eaf1717, 0x8e454747, 0x211a9e9e,
1003 0x89d4caca, 0x5a582d2d, 0x632ebfbf, 0x0e3f0707,
1004 0x47acadad, 0xb4b05a5a, 0x1bef8383, 0x66b63333,
1005 0xc65c6363, 0x04120202, 0x4993aaaa, 0xe2de7171,
1006 0x8dc6c8c8, 0x32d11919, 0x923b4949, 0xaf5fd9d9,
1007 0xf931f2f2, 0xdba8e3e3, 0xb6b95b5b, 0x0dbc8888,
1008 0x293e9a9a, 0x4c0b2626, 0x64bf3232, 0x7d59b0b0,
1009 0xcff2e9e9, 0x1e770f0f, 0xb733d5d5, 0x1df48080,
1010 0x6127bebe, 0x87ebcdcd, 0x68893434, 0x90324848,
1011 0xe354ffff, 0xf48d7a7a, 0x3d649090, 0xbe9d5f5f,
1012 0x403d2020, 0xd00f6868, 0x34ca1a1a, 0x41b7aeae,
1013 0x757db4b4, 0xa8ce5454, 0x3b7f9393, 0x442f2222,
1014 0xc8636464, 0xff2af1f1, 0xe6cc7373, 0x24821212,
1015 0x807a4040, 0x10480808, 0x9b95c3c3, 0xc5dfecec,
1016 0xab4ddbdb, 0x5fc0a1a1, 0x07918d8d, 0x7ac83d3d,
1017 0x335b9797, 0x00000000, 0x83f9cfcf, 0x566e2b2b,
1018 0xece17676, 0x19e68282, 0xb128d6d6, 0x36c31b1b,
1019 0x7774b5b5, 0x43beafaf, 0xd41d6a6a, 0xa0ea5050,
1020 0x8a574545, 0xfb38f3f3, 0x60ad3030, 0xc3c4efef,
1021 0x7eda3f3f, 0xaac75555, 0x59dba2a2, 0xc9e9eaea,
1022 0xca6a6565, 0x6903baba, 0x5e4a2f2f, 0x9d8ec0c0,
1023 0xa160dede, 0x38fc1c1c, 0xe746fdfd, 0x9a1f4d4d,
1024 0x39769292, 0xeafa7575, 0x0c360606, 0x09ae8a8a,
1025 0x794bb2b2, 0xd185e6e6, 0x1c7e0e0e, 0x3ee71f1f,
1026 0xc4556262, 0xb53ad4d4, 0x4d81a8a8, 0x31529696,
1027 0xef62f9f9, 0x97a3c5c5, 0x4a102525, 0xb2ab5959,
1028 0x15d08484, 0xe4c57272, 0x72ec3939, 0x98164c4c,
1029 0xbc945e5e, 0xf09f7878, 0x70e53838, 0x05988c8c,
1030 0xbf17d1d1, 0x57e4a5a5, 0xd9a1e2e2, 0xc24e6161,
1031 0x7b42b3b3, 0x42342121, 0x25089c9c, 0x3cee1e1e,
1032 0x86614343, 0x93b1c7c7, 0xe54ffcfc, 0x08240404,
1033 0xa2e35151, 0x2f259999, 0xda226d6d, 0x1a650d0d,
1034 0xe979fafa, 0xa369dfdf, 0xfca97e7e, 0x48192424,
1035 0x76fe3b3b, 0x4b9aabab, 0x81f0cece, 0x22991111,
1036 0x03838f8f, 0x9c044e4e, 0x7366b7b7, 0xcbe0ebeb,
1037 0x78c13c3c, 0x1ffd8181, 0x35409494, 0xf31cf7f7,
1038 0x6f18b9b9, 0x268b1313, 0x58512c2c, 0xbb05d3d3,
1039 0xd38ce7e7, 0xdc396e6e, 0x95aac4c4, 0x061b0303,
1040 0xacdc5656, 0x885e4444, 0xfea07f7f, 0x4f88a9a9,
1041 0x54672a2a, 0x6b0abbbb, 0x9f87c1c1, 0xa6f15353,
1042 0xa572dcdc, 0x16530b0b, 0x27019d9d, 0xd82b6c6c,
1043 0x62a43131, 0xe8f37474, 0xf115f6f6, 0x8c4c4646,
1044 0x45a5acac, 0x0fb58989, 0x28b41414, 0xdfbae1e1,
1045 0x2ca61616, 0x74f73a3a, 0xd2066969, 0x12410909,
1046 0xe0d77070, 0x716fb6b6, 0xbd1ed0d0, 0xc7d6eded,
1047 0x85e2cccc, 0x84684242, 0x2d2c9898, 0x55eda4a4,
1048 0x50752828, 0xb8865c5c, 0xed6bf8f8, 0x11c28686,
1051 0x7830d818, 0xaf462623, 0xf991b8c6, 0x6fcdfbe8,
1052 0xa113cb87, 0x626d11b8, 0x05020901, 0x6e9e0d4f,
1053 0xee6c9b36, 0x0451ffa6, 0xbdb90cd2, 0x06f70ef5,
1054 0x80f29679, 0xcede306f, 0xef3f6d91, 0x07a4f852,
1055 0xfdc04760, 0x766535bc, 0xcd2b379b, 0x8c018a8e,
1056 0x155bd2a3, 0x3c186c0c, 0x8af6847b, 0xe16a8035,
1057 0x693af51d, 0x47ddb3e0, 0xacb321d7, 0xed999cc2,
1058 0x965c432e, 0x7a96294b, 0x21e15dfe, 0x16aed557,
1059 0x412abd15, 0xb6eee877, 0xeb6e9237, 0x56d79ee5,
1060 0xd923139f, 0x17fd23f0, 0x7f94204a, 0x95a944da,
1061 0x25b0a258, 0xca8fcfc9, 0x8d527c29, 0x22145a0a,
1062 0x4f7f50b1, 0x1a5dc9a0, 0xdad6146b, 0xab17d985,
1063 0x73673cbd, 0x34ba8f5d, 0x50209010, 0x03f507f4,
1064 0xc08bddcb, 0xc67cd33e, 0x110a2d05, 0xe6ce7867,
1065 0x53d597e4, 0xbb4e0227, 0x58827341, 0x9d0ba78b,
1066 0x0153f6a7, 0x94fab27d, 0xfb374995, 0x9fad56d8,
1067 0x30eb70fb, 0x71c1cdee, 0x91f8bb7c, 0xe3cc7166,
1068 0x8ea77bdd, 0x4b2eaf17, 0x468e4547, 0xdc211a9e,
1069 0xc589d4ca, 0x995a582d, 0x79632ebf, 0x1b0e3f07,
1070 0x2347acad, 0x2fb4b05a, 0xb51bef83, 0xff66b633,
1071 0xf2c65c63, 0x0a041202, 0x384993aa, 0xa8e2de71,
1072 0xcf8dc6c8, 0x7d32d119, 0x70923b49, 0x9aaf5fd9,
1073 0x1df931f2, 0x48dba8e3, 0x2ab6b95b, 0x920dbc88,
1074 0xc8293e9a, 0xbe4c0b26, 0xfa64bf32, 0x4a7d59b0,
1075 0x6acff2e9, 0x331e770f, 0xa6b733d5, 0xba1df480,
1076 0x7c6127be, 0xde87ebcd, 0xe4688934, 0x75903248,
1077 0x24e354ff, 0x8ff48d7a, 0xea3d6490, 0x3ebe9d5f,
1078 0xa0403d20, 0xd5d00f68, 0x7234ca1a, 0x2c41b7ae,
1079 0x5e757db4, 0x19a8ce54, 0xe53b7f93, 0xaa442f22,
1080 0xe9c86364, 0x12ff2af1, 0xa2e6cc73, 0x5a248212,
1081 0x5d807a40, 0x28104808, 0xe89b95c3, 0x7bc5dfec,
1082 0x90ab4ddb, 0x1f5fc0a1, 0x8307918d, 0xc97ac83d,
1083 0xf1335b97, 0x00000000, 0xd483f9cf, 0x87566e2b,
1084 0xb3ece176, 0xb019e682, 0xa9b128d6, 0x7736c31b,
1085 0x5b7774b5, 0x2943beaf, 0xdfd41d6a, 0x0da0ea50,
1086 0x4c8a5745, 0x18fb38f3, 0xf060ad30, 0x74c3c4ef,
1087 0xc37eda3f, 0x1caac755, 0x1059dba2, 0x65c9e9ea,
1088 0xecca6a65, 0x686903ba, 0x935e4a2f, 0xe79d8ec0,
1089 0x81a160de, 0x6c38fc1c, 0x2ee746fd, 0x649a1f4d,
1090 0xe0397692, 0xbceafa75, 0x1e0c3606, 0x9809ae8a,
1091 0x40794bb2, 0x59d185e6, 0x361c7e0e, 0x633ee71f,
1092 0xf7c45562, 0xa3b53ad4, 0x324d81a8, 0xf4315296,
1093 0x3aef62f9, 0xf697a3c5, 0xb14a1025, 0x20b2ab59,
1094 0xae15d084, 0xa7e4c572, 0xdd72ec39, 0x6198164c,
1095 0x3bbc945e, 0x85f09f78, 0xd870e538, 0x8605988c,
1096 0xb2bf17d1, 0x0b57e4a5, 0x4dd9a1e2, 0xf8c24e61,
1097 0x457b42b3, 0xa5423421, 0xd625089c, 0x663cee1e,
1098 0x52866143, 0xfc93b1c7, 0x2be54ffc, 0x14082404,
1099 0x08a2e351, 0xc72f2599, 0xc4da226d, 0x391a650d,
1100 0x35e979fa, 0x84a369df, 0x9bfca97e, 0xb4481924,
1101 0xd776fe3b, 0x3d4b9aab, 0xd181f0ce, 0x55229911,
1102 0x8903838f, 0x6b9c044e, 0x517366b7, 0x60cbe0eb,
1103 0xcc78c13c, 0xbf1ffd81, 0xfe354094, 0x0cf31cf7,
1104 0x676f18b9, 0x5f268b13, 0x9c58512c, 0xb8bb05d3,
1105 0x5cd38ce7, 0xcbdc396e, 0xf395aac4, 0x0f061b03,
1106 0x13acdc56, 0x49885e44, 0x9efea07f, 0x374f88a9,
1107 0x8254672a, 0x6d6b0abb, 0xe29f87c1, 0x02a6f153,
1108 0x8ba572dc, 0x2716530b, 0xd327019d, 0xc1d82b6c,
1109 0xf562a431, 0xb9e8f374, 0x09f115f6, 0x438c4c46,
1110 0x2645a5ac, 0x970fb589, 0x4428b414, 0x42dfbae1,
1111 0x4e2ca616, 0xd274f73a, 0xd0d20669, 0x2d124109,
1112 0xade0d770, 0x54716fb6, 0xb7bd1ed0, 0x7ec7d6ed,
1113 0xdb85e2cc, 0x57846842, 0xc22d2c98, 0x0e55eda4,
1114 0x88507528, 0x31b8865c, 0x3fed6bf8, 0xa411c286,
1118 __constant u32 rch[R + 1] =
1133 __constant u32 rcl[R + 1] =
1148 // this is a highly optimized that assumes dgst[16] = { 0 }; only reuse of no 2nd transform is needed
1150 static void whirlpool_transform (const u32x w[16], u32x dgst[16], __local u32 s_Ch[8][256], __local u32 s_Cl[8][256])
1196 for (int i = 0; i < 8; i++)
1198 const u32x Lp0 = stateh[(i + 8) & 7] >> 24;
1199 const u32x Lp1 = stateh[(i + 7) & 7] >> 16;
1200 const u32x Lp2 = stateh[(i + 6) & 7] >> 8;
1201 const u32x Lp3 = stateh[(i + 5) & 7] >> 0;
1202 const u32x Lp4 = statel[(i + 4) & 7] >> 24;
1203 const u32x Lp5 = statel[(i + 3) & 7] >> 16;
1204 const u32x Lp6 = statel[(i + 2) & 7] >> 8;
1205 const u32x Lp7 = statel[(i + 1) & 7] >> 0;
1207 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1208 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1209 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1210 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1211 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1212 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1213 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1214 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1216 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1217 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1218 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1219 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1220 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1221 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1222 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1223 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1226 stateh[0] = Lh[0] ^ Kh[0];
1227 statel[0] = Ll[0] ^ Kl[0];
1228 stateh[1] = Lh[1] ^ Kh[1];
1229 statel[1] = Ll[1] ^ Kl[1];
1230 stateh[2] = Lh[2] ^ Kh[2];
1231 statel[2] = Ll[2] ^ Kl[2];
1232 stateh[3] = Lh[3] ^ Kh[3];
1233 statel[3] = Ll[3] ^ Kl[3];
1234 stateh[4] = Lh[4] ^ Kh[4];
1235 statel[4] = Ll[4] ^ Kl[4];
1236 stateh[5] = Lh[5] ^ Kh[5];
1237 statel[5] = Ll[5] ^ Kl[5];
1238 stateh[6] = Lh[6] ^ Kh[6];
1239 statel[6] = Ll[6] ^ Kl[6];
1240 stateh[7] = Lh[7] ^ Kh[7];
1241 statel[7] = Ll[7] ^ Kl[7];
1243 for (int r = 2; r <= R; r++)
1249 for (int i = 0; i < 8; i++)
1251 const u32x Lp0 = Kh[(i + 8) & 7] >> 24;
1252 const u32x Lp1 = Kh[(i + 7) & 7] >> 16;
1253 const u32x Lp2 = Kh[(i + 6) & 7] >> 8;
1254 const u32x Lp3 = Kh[(i + 5) & 7] >> 0;
1255 const u32x Lp4 = Kl[(i + 4) & 7] >> 24;
1256 const u32x Lp5 = Kl[(i + 3) & 7] >> 16;
1257 const u32x Lp6 = Kl[(i + 2) & 7] >> 8;
1258 const u32x Lp7 = Kl[(i + 1) & 7] >> 0;
1260 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1261 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1262 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1263 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1264 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1265 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1266 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1267 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1269 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1270 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1271 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1272 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1273 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1274 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1275 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1276 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1279 Kh[0] = Lh[0] ^ rch[r];
1280 Kl[0] = Ll[0] ^ rcl[r];
1297 for (int i = 0; i < 8; i++)
1299 const u32x Lp0 = stateh[(i + 8) & 7] >> 24;
1300 const u32x Lp1 = stateh[(i + 7) & 7] >> 16;
1301 const u32x Lp2 = stateh[(i + 6) & 7] >> 8;
1302 const u32x Lp3 = stateh[(i + 5) & 7] >> 0;
1303 const u32x Lp4 = statel[(i + 4) & 7] >> 24;
1304 const u32x Lp5 = statel[(i + 3) & 7] >> 16;
1305 const u32x Lp6 = statel[(i + 2) & 7] >> 8;
1306 const u32x Lp7 = statel[(i + 1) & 7] >> 0;
1308 Lh[i] = BOX (s_Ch, 0, Lp0 & 0xff)
1309 ^ BOX (s_Ch, 1, Lp1 & 0xff)
1310 ^ BOX (s_Ch, 2, Lp2 & 0xff)
1311 ^ BOX (s_Ch, 3, Lp3 & 0xff)
1312 ^ BOX (s_Ch, 4, Lp4 & 0xff)
1313 ^ BOX (s_Ch, 5, Lp5 & 0xff)
1314 ^ BOX (s_Ch, 6, Lp6 & 0xff)
1315 ^ BOX (s_Ch, 7, Lp7 & 0xff);
1317 Ll[i] = BOX (s_Cl, 0, Lp0 & 0xff)
1318 ^ BOX (s_Cl, 1, Lp1 & 0xff)
1319 ^ BOX (s_Cl, 2, Lp2 & 0xff)
1320 ^ BOX (s_Cl, 3, Lp3 & 0xff)
1321 ^ BOX (s_Cl, 4, Lp4 & 0xff)
1322 ^ BOX (s_Cl, 5, Lp5 & 0xff)
1323 ^ BOX (s_Cl, 6, Lp6 & 0xff)
1324 ^ BOX (s_Cl, 7, Lp7 & 0xff);
1327 stateh[0] = Lh[0] ^ Kh[0];
1328 statel[0] = Ll[0] ^ Kl[0];
1329 stateh[1] = Lh[1] ^ Kh[1];
1330 statel[1] = Ll[1] ^ Kl[1];
1331 stateh[2] = Lh[2] ^ Kh[2];
1332 statel[2] = Ll[2] ^ Kl[2];
1333 stateh[3] = Lh[3] ^ Kh[3];
1334 statel[3] = Ll[3] ^ Kl[3];
1335 stateh[4] = Lh[4] ^ Kh[4];
1336 statel[4] = Ll[4] ^ Kl[4];
1337 stateh[5] = Lh[5] ^ Kh[5];
1338 statel[5] = Ll[5] ^ Kl[5];
1339 stateh[6] = Lh[6] ^ Kh[6];
1340 statel[6] = Ll[6] ^ Kl[6];
1341 stateh[7] = Lh[7] ^ Kh[7];
1342 statel[7] = Ll[7] ^ Kl[7];
1345 dgst[ 0] = stateh[0] ^ w[ 0];
1346 dgst[ 1] = statel[0] ^ w[ 1];
1347 dgst[ 2] = stateh[1] ^ w[ 2];
1348 dgst[ 3] = statel[1] ^ w[ 3];
1349 dgst[ 4] = stateh[2] ^ w[ 4];
1350 dgst[ 5] = statel[2] ^ w[ 5];
1351 dgst[ 6] = stateh[3] ^ w[ 6];
1352 dgst[ 7] = statel[3] ^ w[ 7];
1353 dgst[ 8] = stateh[4] ^ w[ 8];
1354 dgst[ 9] = statel[4] ^ w[ 9];
1355 dgst[10] = stateh[5] ^ w[10];
1356 dgst[11] = statel[5] ^ w[11];
1357 dgst[12] = stateh[6] ^ w[12];
1358 dgst[13] = statel[6] ^ w[13];
1359 dgst[14] = stateh[7] ^ w[14];
1360 dgst[15] = statel[7] ^ w[15];
1363 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_m04 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global netntlm_t *netntlm_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1369 const u32 lid = get_local_id (0);
1375 const u32 gid = get_global_id (0);
1379 pw_buf0[0] = pws[gid].i[ 0];
1380 pw_buf0[1] = pws[gid].i[ 1];
1381 pw_buf0[2] = pws[gid].i[ 2];
1382 pw_buf0[3] = pws[gid].i[ 3];
1386 pw_buf1[0] = pws[gid].i[ 4];
1387 pw_buf1[1] = pws[gid].i[ 5];
1388 pw_buf1[2] = pws[gid].i[ 6];
1389 pw_buf1[3] = pws[gid].i[ 7];
1391 const u32 pw_len = pws[gid].pw_len;
1397 __local u32 s_Ch[8][256];
1398 __local u32 s_Cl[8][256];
1400 const u32 lid4 = lid * 4;
1402 for (u32 i = 0; i < 8; i++)
1404 s_Ch[i][lid4 + 0] = Ch[i][lid4 + 0];
1405 s_Ch[i][lid4 + 1] = Ch[i][lid4 + 1];
1406 s_Ch[i][lid4 + 2] = Ch[i][lid4 + 2];
1407 s_Ch[i][lid4 + 3] = Ch[i][lid4 + 3];
1408 s_Cl[i][lid4 + 0] = Cl[i][lid4 + 0];
1409 s_Cl[i][lid4 + 1] = Cl[i][lid4 + 1];
1410 s_Cl[i][lid4 + 2] = Cl[i][lid4 + 2];
1411 s_Cl[i][lid4 + 3] = Cl[i][lid4 + 3];
1414 barrier (CLK_LOCAL_MEM_FENCE);
1416 if (gid >= gid_max) return;
1422 for (u32 il_pos = 0; il_pos < rules_cnt; il_pos++)
1452 const u32 out_len = apply_rules (rules_buf[il_pos].cmds, w0, w1, pw_len);
1454 append_0x80_2 (w0, w1, out_len);
1458 wl[ 0] = swap_workaround (w0[0]);
1459 wl[ 1] = swap_workaround (w0[1]);
1460 wl[ 2] = swap_workaround (w0[2]);
1461 wl[ 3] = swap_workaround (w0[3]);
1462 wl[ 4] = swap_workaround (w1[0]);
1463 wl[ 5] = swap_workaround (w1[1]);
1464 wl[ 6] = swap_workaround (w1[2]);
1465 wl[ 7] = swap_workaround (w1[3]);
1473 wl[15] = out_len * 8;
1494 whirlpool_transform (wl, dgst, s_Ch, s_Cl);
1496 const u32x r0 = dgst[0];
1497 const u32x r1 = dgst[1];
1498 const u32x r2 = dgst[2];
1499 const u32x r3 = dgst[3];
1501 #include VECT_COMPARE_M
1505 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_m08 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 combs_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1509 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_m16 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 combs_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1513 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_s04 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global netntlm_t *netntlm_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 rules_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1519 const u32 lid = get_local_id (0);
1525 const u32 gid = get_global_id (0);
1529 pw_buf0[0] = pws[gid].i[ 0];
1530 pw_buf0[1] = pws[gid].i[ 1];
1531 pw_buf0[2] = pws[gid].i[ 2];
1532 pw_buf0[3] = pws[gid].i[ 3];
1536 pw_buf1[0] = pws[gid].i[ 4];
1537 pw_buf1[1] = pws[gid].i[ 5];
1538 pw_buf1[2] = pws[gid].i[ 6];
1539 pw_buf1[3] = pws[gid].i[ 7];
1541 const u32 pw_len = pws[gid].pw_len;
1547 __local u32 s_Ch[8][256];
1548 __local u32 s_Cl[8][256];
1550 const u32 lid4 = lid * 4;
1552 for (u32 i = 0; i < 8; i++)
1554 s_Ch[i][lid4 + 0] = Ch[i][lid4 + 0];
1555 s_Ch[i][lid4 + 1] = Ch[i][lid4 + 1];
1556 s_Ch[i][lid4 + 2] = Ch[i][lid4 + 2];
1557 s_Ch[i][lid4 + 3] = Ch[i][lid4 + 3];
1558 s_Cl[i][lid4 + 0] = Cl[i][lid4 + 0];
1559 s_Cl[i][lid4 + 1] = Cl[i][lid4 + 1];
1560 s_Cl[i][lid4 + 2] = Cl[i][lid4 + 2];
1561 s_Cl[i][lid4 + 3] = Cl[i][lid4 + 3];
1564 barrier (CLK_LOCAL_MEM_FENCE);
1566 if (gid >= gid_max) return;
1572 const u32 search[4] =
1574 digests_buf[digests_offset].digest_buf[DGST_R0],
1575 digests_buf[digests_offset].digest_buf[DGST_R1],
1576 digests_buf[digests_offset].digest_buf[DGST_R2],
1577 digests_buf[digests_offset].digest_buf[DGST_R3]
1584 for (u32 il_pos = 0; il_pos < rules_cnt; il_pos++)
1614 const u32 out_len = apply_rules (rules_buf[il_pos].cmds, w0, w1, pw_len);
1616 append_0x80_2 (w0, w1, out_len);
1620 wl[ 0] = swap_workaround (w0[0]);
1621 wl[ 1] = swap_workaround (w0[1]);
1622 wl[ 2] = swap_workaround (w0[2]);
1623 wl[ 3] = swap_workaround (w0[3]);
1624 wl[ 4] = swap_workaround (w1[0]);
1625 wl[ 5] = swap_workaround (w1[1]);
1626 wl[ 6] = swap_workaround (w1[2]);
1627 wl[ 7] = swap_workaround (w1[3]);
1635 wl[15] = out_len * 8;
1656 whirlpool_transform (wl, dgst, s_Ch, s_Cl);
1658 const u32x r0 = dgst[0];
1659 const u32x r1 = dgst[1];
1660 const u32x r2 = dgst[2];
1661 const u32x r3 = dgst[3];
1663 #include VECT_COMPARE_S
1667 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_s08 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 combs_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)
1671 __kernel void __attribute__((reqd_work_group_size (64, 1, 1))) m06100_s16 (__global pw_t *pws, __global gpu_rule_t *rules_buf, __global comb_t *combs_buf, __global bf_t *bfs_buf, __global void *tmps, __global void *hooks, __global u32 *bitmaps_buf_s1_a, __global u32 *bitmaps_buf_s1_b, __global u32 *bitmaps_buf_s1_c, __global u32 *bitmaps_buf_s1_d, __global u32 *bitmaps_buf_s2_a, __global u32 *bitmaps_buf_s2_b, __global u32 *bitmaps_buf_s2_c, __global u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global digest_t *digests_buf, __global u32 *hashes_shown, __global salt_t *salt_bufs, __global void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 combs_cnt, const u32 digests_cnt, const u32 digests_offset, const u32 combs_mode, const u32 gid_max)