worked on premove bug
[xboard.git] / bitmaps / bitmaps.h
1 /*
2  * bitmaps.h - Include bitmap files for pieces and icons
3  *
4  * Copyright 1991 by Digital Equipment Corporation, Maynard,
5  * Massachusetts.
6  *
7  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
8  * 2007, 2008, 2009 Free Software Foundation, Inc.
9  *
10  * The following terms apply to Digital Equipment Corporation's copyright
11  * interest in XBoard:
12  * ------------------------------------------------------------------------
13  * All Rights Reserved
14  *
15  * Permission to use, copy, modify, and distribute this software and its
16  * documentation for any purpose and without fee is hereby granted,
17  * provided that the above copyright notice appear in all copies and that
18  * both that copyright notice and this permission notice appear in
19  * supporting documentation, and that the name of Digital not be
20  * used in advertising or publicity pertaining to distribution of the
21  * software without specific, written prior permission.
22  *
23  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
24  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
25  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
26  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
27  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
28  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
29  * SOFTWARE.
30  * ------------------------------------------------------------------------
31  *
32  * The following terms apply to the enhanced version of XBoard
33  * distributed by the Free Software Foundation:
34  * ------------------------------------------------------------------------
35  *
36  * GNU XBoard is free software: you can redistribute it and/or modify
37  * it under the terms of the GNU General Public License as published by
38  * the Free Software Foundation, either version 3 of the License, or (at
39  * your option) any later version.
40  *
41  * GNU XBoard is distributed in the hope that it will be useful, but
42  * WITHOUT ANY WARRANTY; without even the implied warranty of
43  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
44  * General Public License for more details.
45  *
46  * You should have received a copy of the GNU General Public License
47  * along with this program. If not, see http://www.gnu.org/licenses/.  *
48  *
49  *------------------------------------------------------------------------
50  ** See the file ChangeLog for a revision history.  */
51
52 // [HGM] Note: the bitmaps for Shogi promoted pieces are #included, but not referred to in the list bitmapBits.
53 //       The front-end would have to substitutes them for some listed pieces, in variant shogi.
54 //       It would also have to replace the Queen bitmap with that of the Lance.
55 //       The Japanese-style Shogi symbols for size 58 are not included at all. To have those
56 //       you would have to convert the WinBoard .bmp files in the shogibitmaps folder with convert.c
57
58
59 #include "p129s.bm"
60 #include "n129s.bm"
61 #include "b129s.bm"
62 #include "r129s.bm"
63 #include "q129s.bm"
64 #include "k129s.bm"
65
66 #include "p129o.bm"
67 #include "n129o.bm"
68 #include "b129o.bm"
69 #include "r129o.bm"
70 #include "q129o.bm"
71 #include "k129o.bm"
72
73 #include "p116s.bm"
74 #include "n116s.bm"
75 #include "b116s.bm"
76 #include "r116s.bm"
77 #include "q116s.bm"
78 #include "k116s.bm"
79
80 #include "p116o.bm"
81 #include "n116o.bm"
82 #include "b116o.bm"
83 #include "r116o.bm"
84 #include "q116o.bm"
85 #include "k116o.bm"
86
87 #include "p108s.bm"
88 #include "n108s.bm"
89 #include "b108s.bm"
90 #include "r108s.bm"
91 #include "q108s.bm"
92 #include "k108s.bm"
93
94 #include "p108o.bm"
95 #include "n108o.bm"
96 #include "b108o.bm"
97 #include "r108o.bm"
98 #include "q108o.bm"
99 #include "k108o.bm"
100
101 #include "p95s.bm"
102 #include "n95s.bm"
103 #include "b95s.bm"
104 #include "r95s.bm"
105 #include "q95s.bm"
106 #include "k95s.bm"
107
108 #include "p95o.bm"
109 #include "n95o.bm"
110 #include "b95o.bm"
111 #include "r95o.bm"
112 #include "q95o.bm"
113 #include "k95o.bm"
114
115 #include "p87s.bm"
116 #include "n87s.bm"
117 #include "b87s.bm"
118 #include "r87s.bm"
119 #include "q87s.bm"
120 #include "k87s.bm"
121
122 #include "p87o.bm"
123 #include "n87o.bm"
124 #include "b87o.bm"
125 #include "r87o.bm"
126 #include "q87o.bm"
127 #include "k87o.bm"
128
129 #include "p80s.bm"
130 #include "n80s.bm"
131 #include "b80s.bm"
132 #include "r80s.bm"
133 #include "q80s.bm"
134 #include "k80s.bm"
135
136 #include "p80o.bm"
137 #include "n80o.bm"
138 #include "b80o.bm"
139 #include "r80o.bm"
140 #include "q80o.bm"
141 #include "k80o.bm"
142
143 #include "p72s.bm"
144 #include "n72s.bm"
145 #include "b72s.bm"
146 #include "r72s.bm"
147 #include "q72s.bm"
148 #include "f72s.bm"
149 #include "e72s.bm"
150 #include "a72s.bm"
151 #include "c72s.bm"
152 #include "w72s.bm"
153 #include "m72s.bm"
154 #include "o72s.bm"
155 #include "h72s.bm"
156 #include "i72s.bm"
157 #include "j72s.bm"
158 #include "g72s.bm"
159 #include "d72s.bm"
160 #include "v72s.bm"
161 #include "l72s.bm"
162 #include "s72s.bm"
163 #include "u72s.bm"
164 #include "k72s.bm"
165 #include "wp72s.bm"
166 #include "wl72s.bm"
167 #include "wn72s.bm"
168 #include "ws72s.bm"
169
170 #include "p72o.bm"
171 #include "n72o.bm"
172 #include "b72o.bm"
173 #include "r72o.bm"
174 #include "q72o.bm"
175 #include "f72o.bm"
176 #include "e72o.bm"
177 #include "a72o.bm"
178 #include "c72o.bm"
179 #include "w72o.bm"
180 #include "m72o.bm"
181 #include "o72o.bm"
182 #include "h72o.bm"
183 #include "i72o.bm"
184 #include "j72o.bm"
185 #include "g72o.bm"
186 #include "d72o.bm"
187 #include "v72o.bm"
188 #include "l72o.bm"
189 #include "s72o.bm"
190 #include "u72o.bm"
191 #include "k72o.bm"
192 #include "wp72o.bm"
193 #include "wl72o.bm"
194 #include "wn72o.bm"
195 #include "ws72o.bm"
196
197 #include "p64s.bm"
198 #include "n64s.bm"
199 #include "b64s.bm"
200 #include "r64s.bm"
201 #include "q64s.bm"
202 #include "a64s.bm"
203 #include "c64s.bm"
204 #include "d64s.bm"
205 #include "l64s.bm"
206 #include "k64s.bm"
207
208 #include "p64o.bm"
209 #include "n64o.bm"
210 #include "b64o.bm"
211 #include "r64o.bm"
212 #include "q64o.bm"
213 #include "a64o.bm"
214 #include "c64o.bm"
215 #include "d64o.bm"
216 #include "l64o.bm"
217 #include "k64o.bm"
218
219 #include "p58s.bm"
220 #include "n58s.bm"
221 #include "b58s.bm"
222 #include "r58s.bm"
223 #include "q58s.bm"
224 #include "a58s.bm"
225 #include "c58s.bm"
226 #include "d58s.bm"
227 #include "l58s.bm"
228 #include "k58s.bm"
229
230 #include "p58o.bm"
231 #include "n58o.bm"
232 #include "b58o.bm"
233 #include "r58o.bm"
234 #include "q58o.bm"
235 #include "a58o.bm"
236 #include "c58o.bm"
237 #include "d58o.bm"
238 #include "l58o.bm"
239 #include "k58o.bm"
240
241 #include "p54s.bm"
242 #include "n54s.bm"
243 #include "b54s.bm"
244 #include "r54s.bm"
245 #include "q54s.bm"
246 #include "a54s.bm"
247 #include "c54s.bm"
248 #include "d54s.bm"
249 #include "l54s.bm"
250 #include "k54s.bm"
251
252 #include "p54o.bm"
253 #include "n54o.bm"
254 #include "b54o.bm"
255 #include "r54o.bm"
256 #include "q54o.bm"
257 #include "a54o.bm"
258 #include "c54o.bm"
259 #include "d54o.bm"
260 #include "l54o.bm"
261 #include "k54o.bm"
262
263 #include "p49s.bm"
264 #include "n49s.bm"
265 #include "b49s.bm"
266 #include "r49s.bm"
267 #include "q49s.bm"
268 #include "f49s.bm"
269 #include "e49s.bm"
270 #include "a49s.bm"
271 #include "c49s.bm"
272 #include "w49s.bm"
273 #include "m49s.bm"
274 #include "o49s.bm"
275 #include "h49s.bm"
276 #include "i49s.bm"
277 #include "j49s.bm"
278 #include "g49s.bm"
279 #include "d49s.bm"
280 #include "v49s.bm"
281 #include "l49s.bm"
282 #include "s49s.bm"
283 #include "u49s.bm"
284 #include "k49s.bm"
285 #include "wp49s.bm"
286 #include "wl49s.bm"
287 #include "wn49s.bm"
288 #include "ws49s.bm"
289
290 #include "p49o.bm"
291 #include "n49o.bm"
292 #include "b49o.bm"
293 #include "r49o.bm"
294 #include "q49o.bm"
295 #include "f49o.bm"
296 #include "e49o.bm"
297 #include "a49o.bm"
298 #include "c49o.bm"
299 #include "w49o.bm"
300 #include "m49o.bm"
301 #include "o49o.bm"
302 #include "h49o.bm"
303 #include "i49o.bm"
304 #include "j49o.bm"
305 #include "g49o.bm"
306 #include "d49o.bm"
307 #include "v49o.bm"
308 #include "l49o.bm"
309 #include "s49o.bm"
310 #include "u49o.bm"
311 #include "k49o.bm"
312 #include "wp49o.bm"
313 #include "wl49o.bm"
314 #include "wn49o.bm"
315 #include "ws49o.bm"
316
317 #include "p45s.bm"
318 #include "n45s.bm"
319 #include "b45s.bm"
320 #include "r45s.bm"
321 #include "q45s.bm"
322 #include "a45s.bm"
323 #include "c45s.bm"
324 #include "d45s.bm"
325 #include "l45s.bm"
326 #include "k45s.bm"
327
328 #include "p45o.bm"
329 #include "n45o.bm"
330 #include "b45o.bm"
331 #include "r45o.bm"
332 #include "q45o.bm"
333 #include "a45o.bm"
334 #include "c45o.bm"
335 #include "d45o.bm"
336 #include "l45o.bm"
337 #include "k45o.bm"
338
339 #include "p40s.bm"
340 #include "n40s.bm"
341 #include "b40s.bm"
342 #include "r40s.bm"
343 #include "q40s.bm"
344 #include "a40s.bm"
345 #include "c40s.bm"
346 #include "d40s.bm"
347 #include "l40s.bm"
348 #include "k40s.bm"
349
350 #include "p40o.bm"
351 #include "n40o.bm"
352 #include "b40o.bm"
353 #include "r40o.bm"
354 #include "q40o.bm"
355 #include "a40o.bm"
356 #include "c40o.bm"
357 #include "d40o.bm"
358 #include "l40o.bm"
359 #include "k40o.bm"
360
361 #include "p37s.bm"
362 #include "n37s.bm"
363 #include "b37s.bm"
364 #include "r37s.bm"
365 #include "q37s.bm"
366 #include "a37s.bm"
367 #include "c37s.bm"
368 #include "d37s.bm"
369 #include "l37s.bm"
370 #include "k37s.bm"
371
372 #include "p37o.bm"
373 #include "n37o.bm"
374 #include "b37o.bm"
375 #include "r37o.bm"
376 #include "q37o.bm"
377 #include "a37o.bm"
378 #include "c37o.bm"
379 #include "d37o.bm"
380 #include "l37o.bm"
381 #include "k37o.bm"
382
383 #include "p33s.bm"
384 #include "n33s.bm"
385 #include "b33s.bm"
386 #include "r33s.bm"
387 #include "q33s.bm"
388 #include "f33s.bm"
389 #include "e33s.bm"
390 #include "a33s.bm"
391 #include "c33s.bm"
392 #include "w33s.bm"
393 #include "m33s.bm"
394 #include "o33s.bm"
395 #include "h33s.bm"
396 #include "i33s.bm"
397 #include "j33s.bm"
398 #include "g33s.bm"
399 #include "d33s.bm"
400 #include "l33s.bm"
401 #include "k33s.bm"
402
403 #include "p33o.bm"
404 #include "n33o.bm"
405 #include "b33o.bm"
406 #include "r33o.bm"
407 #include "q33o.bm"
408 #include "f33o.bm"
409 #include "e33o.bm"
410 #include "a33o.bm"
411 #include "c33o.bm"
412 #include "w33o.bm"
413 #include "m33o.bm"
414 #include "o33o.bm"
415 #include "h33o.bm"
416 #include "i33o.bm"
417 #include "j33o.bm"
418 #include "g33o.bm"
419 #include "d33o.bm"
420 #include "l33o.bm"
421 #include "k33o.bm"
422
423 #include "p29s.bm"
424 #include "n29s.bm"
425 #include "b29s.bm"
426 #include "r29s.bm"
427 #include "q29s.bm"
428 #include "k29s.bm"
429
430 #include "p29o.bm"
431 #include "n29o.bm"
432 #include "b29o.bm"
433 #include "r29o.bm"
434 #include "q29o.bm"
435 #include "k29o.bm"
436
437 #include "p25s.bm"
438 #include "n25s.bm"
439 #include "b25s.bm"
440 #include "r25s.bm"
441 #include "q25s.bm"
442 #include "k25s.bm"
443
444 #include "p25o.bm"
445 #include "n25o.bm"
446 #include "b25o.bm"
447 #include "r25o.bm"
448 #include "q25o.bm"
449 #include "k25o.bm"
450
451 #include "p21s.bm"
452 #include "n21s.bm"
453 #include "b21s.bm"
454 #include "r21s.bm"
455 #include "q21s.bm"
456 #include "k21s.bm"
457
458 #include "p21o.bm"
459 #include "n21o.bm"
460 #include "b21o.bm"
461 #include "r21o.bm"
462 #include "q21o.bm"
463 #include "k21o.bm"
464
465 typedef struct {
466     int squareSize;
467     unsigned char *bits[2][(int)BlackPawn+4];
468 } BuiltInBits;
469
470 BuiltInBits builtInBits[] = {\
471 { 129,\
472   { { p129s_bits, n129s_bits, b129s_bits, r129s_bits, q129s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k129s_bits, NULL, NULL, NULL, NULL },\
473     { p129o_bits, n129o_bits, b129o_bits, r129o_bits, q129o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k129o_bits, NULL, NULL, NULL, NULL } } },\
474 { 116,\
475   { { p116s_bits, n116s_bits, b116s_bits, r116s_bits, q116s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k116s_bits, NULL, NULL, NULL, NULL },\
476     { p116o_bits, n116o_bits, b116o_bits, r116o_bits, q116o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k116o_bits, NULL, NULL, NULL, NULL } } },\
477 { 108,\
478   { { p108s_bits, n108s_bits, b108s_bits, r108s_bits, q108s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k108s_bits, NULL, NULL, NULL, NULL },\
479     { p108o_bits, n108o_bits, b108o_bits, r108o_bits, q108o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k108o_bits, NULL, NULL, NULL, NULL } } },\
480 { 95,\
481   { { p95s_bits, n95s_bits, b95s_bits, r95s_bits, q95s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k95s_bits, NULL, NULL, NULL, NULL },\
482     { p95o_bits, n95o_bits, b95o_bits, r95o_bits, q95o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k95o_bits, NULL, NULL, NULL, NULL } } },\
483 { 87,\
484   { { p87s_bits, n87s_bits, b87s_bits, r87s_bits, q87s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k87s_bits, NULL, NULL, NULL, NULL },\
485     { p87o_bits, n87o_bits, b87o_bits, r87o_bits, q87o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k87o_bits, NULL, NULL, NULL, NULL } } },\
486 { 80,\
487   { { p80s_bits, n80s_bits, b80s_bits, r80s_bits, q80s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k80s_bits, NULL, NULL, NULL, NULL },\
488     { p80o_bits, n80o_bits, b80o_bits, r80o_bits, q80o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k80o_bits }, NULL, NULL, NULL, NULL } },\
489 { 72,\
490   { { p72s_bits, n72s_bits, b72s_bits, r72s_bits, q72s_bits, f72s_bits, e72s_bits, a72s_bits, c72s_bits, w72s_bits, m72s_bits, o72s_bits, h72s_bits, i72s_bits, j72s_bits, g72s_bits, d72s_bits, v72s_bits, l72s_bits, s72s_bits, u72s_bits, k72s_bits, wp72s_bits, wn72s_bits, ws72s_bits, wl72s_bits },\
491     { p72o_bits, n72o_bits, b72o_bits, r72o_bits, q72o_bits, f72o_bits, e72o_bits, a72o_bits, c72o_bits, w72o_bits, m72o_bits, o72o_bits, h72o_bits, i72o_bits, j72o_bits, g72o_bits, d72o_bits, v72o_bits, l72o_bits, s72o_bits, u72o_bits, k72o_bits, wp72o_bits, wn72o_bits, ws72o_bits, wl72o_bits } } },\
492 { 64,\
493   { { p64s_bits, n64s_bits, b64s_bits, r64s_bits, q64s_bits, l64s_bits, l64s_bits, a64s_bits, c64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits, d64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits, k64s_bits, l64s_bits, l64s_bits, l64s_bits, l64s_bits },\
494     { p64o_bits, n64o_bits, b64o_bits, r64o_bits, q64o_bits, l64o_bits, l64o_bits, a64o_bits, c64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits, d64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits, k64o_bits, l64o_bits, l64o_bits, l64o_bits, l64o_bits } } },\
495 { 58,\
496   { { p58s_bits, n58s_bits, b58s_bits, r58s_bits, q58s_bits, l58s_bits, l58s_bits, a58s_bits, c58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits, d58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits, k58s_bits, l58s_bits, l58s_bits, l58s_bits, l58s_bits },\
497     { p58o_bits, n58o_bits, b58o_bits, r58o_bits, q58o_bits, l58o_bits, l58o_bits, a58o_bits, c58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits, d58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits, k58o_bits, l58o_bits, l58o_bits, l58o_bits, l58o_bits } } },\
498 { 54,\
499   { { p54s_bits, n54s_bits, b54s_bits, r54s_bits, q54s_bits, l54s_bits, l54s_bits, a54s_bits, c54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits, d54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits, k54s_bits, l54s_bits, l54s_bits, l54s_bits, l54s_bits },\
500     { p54o_bits, n54o_bits, b54o_bits, r54o_bits, q54o_bits, l54o_bits, l54o_bits, a54o_bits, c54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits, d54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits, k54o_bits, l54o_bits, l54o_bits, l54o_bits, l54o_bits } } },\
501 { 49,\
502   { { p49s_bits, n49s_bits, b49s_bits, r49s_bits, q49s_bits, f49s_bits, e49s_bits, a49s_bits, c49s_bits, w49s_bits, m49s_bits, o49s_bits, h49s_bits, i49s_bits, j49s_bits, g49s_bits, d49s_bits, v49s_bits, l49s_bits, s49s_bits, u49s_bits, k49s_bits, wp49s_bits, wn49s_bits, ws49s_bits, wl49s_bits },\
503     { p49o_bits, n49o_bits, b49o_bits, r49o_bits, q49o_bits, f49o_bits, e49o_bits, a49o_bits, c49o_bits, w49o_bits, m49o_bits, o49o_bits, h49o_bits, i49s_bits, j49o_bits, g49o_bits, d49o_bits, v49o_bits, l49o_bits, s49o_bits, u49o_bits, k49o_bits, wp49o_bits, wn49o_bits, ws49o_bits, wl49o_bits } } },\
504 { 45,\
505   { { p45s_bits, n45s_bits, b45s_bits, r45s_bits, q45s_bits, l45s_bits, l45s_bits, a45s_bits, c45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits, d45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits, k45s_bits, l45s_bits, l45s_bits, l45s_bits, l45s_bits },\
506     { p45o_bits, n45o_bits, b45o_bits, r45o_bits, q45o_bits, l45o_bits, l45o_bits, a45o_bits, c45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits, d45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits, k45o_bits, l45o_bits, l45o_bits, l45o_bits, l45o_bits } } },\
507 { 40,\
508   { { p40s_bits, n40s_bits, b40s_bits, r40s_bits, q40s_bits, l40s_bits, l40s_bits, a40s_bits, c40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits, d40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits, k40s_bits, l40s_bits, l40s_bits, l40s_bits, l40s_bits },\
509     { p40o_bits, n40o_bits, b40o_bits, r40o_bits, q40o_bits, l40o_bits, l40o_bits, a40o_bits, c40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits, d40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits, k40o_bits, l40o_bits, l40o_bits, l40o_bits, l40o_bits } } },\
510 { 37,\
511   { { p37s_bits, n37s_bits, b37s_bits, r37s_bits, q37s_bits, l37s_bits, l37s_bits, a37s_bits, c37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits, d37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits, k37s_bits, l37s_bits, l37s_bits, l37s_bits, l37s_bits },\
512     { p37o_bits, n37o_bits, b37o_bits, r37o_bits, q37o_bits, l37o_bits, l37o_bits, a37o_bits, c37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits, d37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits, k37o_bits, l37o_bits, l37o_bits, l37o_bits, l37o_bits } } },\
513 { 33,\
514   { { p33s_bits, n33s_bits, b33s_bits, r33s_bits, q33s_bits, f33s_bits, e33s_bits, a33s_bits, c33s_bits, w33s_bits, m33s_bits, o33s_bits, h33s_bits, a33s_bits, j33s_bits, g33s_bits, d33s_bits, l33s_bits, d33s_bits, l33s_bits, l33s_bits, k33s_bits, l33s_bits, l33s_bits, l33s_bits, l33s_bits },\
515     { p33o_bits, n33o_bits, b33o_bits, r33o_bits, q33o_bits, f33o_bits, e33o_bits, a33o_bits, c33o_bits, w33o_bits, m33o_bits, o33o_bits, h33o_bits, a33o_bits, j33o_bits, g33o_bits, d33o_bits, l33o_bits, d33o_bits, l33o_bits, l33o_bits, k33o_bits, l33o_bits, l33o_bits, l33o_bits, l33o_bits } } },\
516 { 29,\
517   { { p29s_bits, n29s_bits, b29s_bits, r29s_bits, q29s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k29s_bits, NULL, NULL, NULL, NULL },\
518     { p29o_bits, n29o_bits, b29o_bits, r29o_bits, q29o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k29o_bits, NULL, NULL, NULL, NULL } } },\
519 { 25,\
520   { { p25s_bits, n25s_bits, b25s_bits, r25s_bits, q25s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k25s_bits, NULL, NULL, NULL, NULL },\
521     { p25o_bits, n25o_bits, b25o_bits, r25o_bits, q25o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k25o_bits, NULL, NULL, NULL, NULL } } },\
522 { 21,\
523   { { p21s_bits, n21s_bits, b21s_bits, r21s_bits, q21s_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k21s_bits, NULL, NULL, NULL, NULL },\
524     { p21o_bits, n21o_bits, b21o_bits, r21o_bits, q21o_bits, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, k21o_bits, NULL, NULL, NULL, NULL } } },\
525 { 0,\
526   { { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },\
527     { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } } }\
528 };
529
530