1/* Linux driver for Philips webcam
2   (C) 2004-2006 Luc Saillard (luc@saillard.org)
3
4   NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
5   driver and thus may have bugs that are not present in the original version.
6   Please send bug reports and support requests to <luc@saillard.org>.
7   The decompression routines have been implemented by reverse-engineering the
8   Nemosoft binary pwcx module. Caveat emptor.
9
10   This program is free software; you can redistribute it and/or modify
11   it under the terms of the GNU General Public License as published by
12   the Free Software Foundation; either version 2 of the License, or
13   (at your option) any later version.
14
15   This program is distributed in the hope that it will be useful,
16   but WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18   GNU General Public License for more details.
19
20   You should have received a copy of the GNU General Public License
21   along with this program; if not, write to the Free Software
22   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23*/
24
25
26/* This tables contains entries for the 730/740/750 (Kiara) camera, with
27   4 different qualities (no compression, low, medium, high).
28   It lists the bandwidth requirements for said mode by its alternate interface
29   number. An alternate of 0 means that the mode is unavailable.
30
31   There are 6 * 4 * 4 entries:
32     6 different resolutions subqcif, qsif, qcif, sif, cif, vga
33     6 framerates: 5, 10, 15, 20, 25, 30
34     4 compression modi: none, low, medium, high
35
36   When an uncompressed mode is not available, the next available compressed mode
37   will be chosen (unless the decompressor is absent). Sometimes there are only
38   1 or 2 compressed modes available; in that case entries are duplicated.
39*/
40
41
42#include "pwc-kiara.h"
43#include "pwc-uncompress.h"
44
45const unsigned int Kiara_fps_vector[PWC_FPS_MAX_KIARA] = { 5, 10, 15, 20, 25, 30 };
46
47const struct Kiara_table_entry Kiara_table[PSZ_MAX][6][4] =
48{
49   /* SQCIF */
50   {
51      /* 5 fps */
52      {
53	 {0, },
54	 {0, },
55	 {0, },
56	 {0, },
57      },
58      /* 10 fps */
59      {
60	 {0, },
61	 {0, },
62	 {0, },
63	 {0, },
64      },
65      /* 15 fps */
66      {
67	 {0, },
68	 {0, },
69	 {0, },
70	 {0, },
71      },
72      /* 20 fps */
73      {
74	 {0, },
75	 {0, },
76	 {0, },
77	 {0, },
78      },
79      /* 25 fps */
80      {
81	 {0, },
82	 {0, },
83	 {0, },
84	 {0, },
85      },
86      /* 30 fps */
87      {
88	 {0, },
89	 {0, },
90	 {0, },
91	 {0, },
92      },
93   },
94   /* QSIF */
95   {
96      /* 5 fps */
97      {
98	 {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
99	 {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
100	 {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
101	 {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
102      },
103      /* 10 fps */
104      {
105	 {2, 291,    0, {0x1C, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x23, 0x01, 0x80}},
106	 {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
107	 {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
108	 {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
109      },
110      /* 15 fps */
111      {
112	 {3, 437,    0, {0x1B, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xB5, 0x01, 0x80}},
113	 {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
114	 {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
115	 {1, 192,  420, {0x13, 0xF4, 0x30, 0x0D, 0x1B, 0x0C, 0x53, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
116      },
117      /* 20 fps */
118      {
119	 {4, 589,    0, {0x1A, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x4D, 0x02, 0x80}},
120	 {3, 448,  730, {0x12, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x18, 0xC0, 0x01, 0x80}},
121	 {2, 292,  476, {0x12, 0xF4, 0x30, 0x0E, 0xD8, 0x0E, 0x10, 0x19, 0x18, 0x24, 0x01, 0x80}},
122	 {1, 192,  312, {0x12, 0xF4, 0x50, 0x09, 0xB3, 0x08, 0xEB, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
123      },
124      /* 25 fps */
125      {
126	 {5, 703,    0, {0x19, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xBF, 0x02, 0x80}},
127	 {3, 447,  610, {0x11, 0xF4, 0x30, 0x13, 0x0B, 0x12, 0x43, 0x14, 0x28, 0xBF, 0x01, 0x80}},
128	 {2, 292,  398, {0x11, 0xF4, 0x50, 0x0C, 0x6C, 0x0B, 0xA4, 0x1E, 0x28, 0x24, 0x01, 0x80}},
129	 {1, 193,  262, {0x11, 0xF4, 0x50, 0x08, 0x23, 0x07, 0x5B, 0x1E, 0x28, 0xC1, 0x00, 0x80}},
130      },
131      /* 30 fps */
132      {
133	 {8, 874,    0, {0x18, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x6A, 0x03, 0x80}},
134	 {5, 704,  730, {0x10, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x28, 0xC0, 0x02, 0x80}},
135	 {3, 448,  492, {0x10, 0xF4, 0x30, 0x0F, 0x5D, 0x0E, 0x95, 0x15, 0x28, 0xC0, 0x01, 0x80}},
136	 {2, 292,  320, {0x10, 0xF4, 0x50, 0x09, 0xFB, 0x09, 0x33, 0x1E, 0x28, 0x24, 0x01, 0x80}},
137      },
138   },
139   /* QCIF */
140   {
141      /* 5 fps */
142      {
143	 {0, },
144	 {0, },
145	 {0, },
146	 {0, },
147      },
148      /* 10 fps */
149      {
150	 {0, },
151	 {0, },
152	 {0, },
153	 {0, },
154      },
155      /* 15 fps */
156      {
157	 {0, },
158	 {0, },
159	 {0, },
160	 {0, },
161      },
162      /* 20 fps */
163      {
164	 {0, },
165	 {0, },
166	 {0, },
167	 {0, },
168      },
169      /* 25 fps */
170      {
171	 {0, },
172	 {0, },
173	 {0, },
174	 {0, },
175      },
176      /* 30 fps */
177      {
178	 {0, },
179	 {0, },
180	 {0, },
181	 {0, },
182      },
183   },
184   /* SIF */
185   {
186      /* 5 fps */
187      {
188	 {4, 582,    0, {0x0D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x46, 0x02, 0x80}},
189	 {3, 387, 1276, {0x05, 0xF4, 0x30, 0x27, 0xD8, 0x26, 0x48, 0x03, 0x10, 0x83, 0x01, 0x80}},
190	 {2, 291,  960, {0x05, 0xF4, 0x30, 0x1D, 0xF2, 0x1C, 0x62, 0x04, 0x10, 0x23, 0x01, 0x80}},
191	 {1, 191,  630, {0x05, 0xF4, 0x50, 0x13, 0xA9, 0x12, 0x19, 0x05, 0x18, 0xBF, 0x00, 0x80}},
192      },
193      /* 10 fps */
194      {
195	 {0, },
196	 {6, 775, 1278, {0x04, 0xF4, 0x30, 0x27, 0xE8, 0x26, 0x58, 0x05, 0x30, 0x07, 0x03, 0x80}},
197	 {3, 447,  736, {0x04, 0xF4, 0x30, 0x16, 0xFB, 0x15, 0x6B, 0x05, 0x28, 0xBF, 0x01, 0x80}},
198	 {2, 292,  480, {0x04, 0xF4, 0x70, 0x0E, 0xF9, 0x0D, 0x69, 0x09, 0x28, 0x24, 0x01, 0x80}},
199      },
200      /* 15 fps */
201      {
202	 {0, },
203	 {9, 955, 1050, {0x03, 0xF4, 0x30, 0x20, 0xCF, 0x1F, 0x3F, 0x06, 0x48, 0xBB, 0x03, 0x80}},
204	 {4, 592,  650, {0x03, 0xF4, 0x30, 0x14, 0x44, 0x12, 0xB4, 0x08, 0x30, 0x50, 0x02, 0x80}},
205	 {3, 448,  492, {0x03, 0xF4, 0x50, 0x0F, 0x52, 0x0D, 0xC2, 0x09, 0x38, 0xC0, 0x01, 0x80}},
206      },
207      /* 20 fps */
208      {
209	 {0, },
210	 {9, 958,  782, {0x02, 0xF4, 0x30, 0x18, 0x6A, 0x16, 0xDA, 0x0B, 0x58, 0xBE, 0x03, 0x80}},
211	 {5, 703,  574, {0x02, 0xF4, 0x50, 0x11, 0xE7, 0x10, 0x57, 0x0B, 0x40, 0xBF, 0x02, 0x80}},
212	 {3, 446,  364, {0x02, 0xF4, 0x90, 0x0B, 0x5C, 0x09, 0xCC, 0x0E, 0x38, 0xBE, 0x01, 0x80}},
213      },
214      /* 25 fps */
215      {
216	 {0, },
217	 {9, 958,  654, {0x01, 0xF4, 0x30, 0x14, 0x66, 0x12, 0xD6, 0x0B, 0x50, 0xBE, 0x03, 0x80}},
218	 {6, 776,  530, {0x01, 0xF4, 0x50, 0x10, 0x8C, 0x0E, 0xFC, 0x0C, 0x48, 0x08, 0x03, 0x80}},
219	 {4, 592,  404, {0x01, 0xF4, 0x70, 0x0C, 0x96, 0x0B, 0x06, 0x0B, 0x48, 0x50, 0x02, 0x80}},
220      },
221      /* 30 fps */
222      {
223	 {0, },
224	 {9, 957,  526, {0x00, 0xF4, 0x50, 0x10, 0x68, 0x0E, 0xD8, 0x0D, 0x58, 0xBD, 0x03, 0x80}},
225	 {6, 775,  426, {0x00, 0xF4, 0x70, 0x0D, 0x48, 0x0B, 0xB8, 0x0F, 0x50, 0x07, 0x03, 0x80}},
226	 {4, 590,  324, {0x00, 0x7A, 0x88, 0x0A, 0x1C, 0x08, 0xB4, 0x0E, 0x50, 0x4E, 0x02, 0x80}},
227      },
228   },
229   /* CIF */
230   {
231      /* 5 fps */
232      {
233	 {0, },
234	 {0, },
235	 {0, },
236	 {0, },
237      },
238      /* 10 fps */
239      {
240	 {0, },
241	 {0, },
242	 {0, },
243	 {0, },
244      },
245      /* 15 fps */
246      {
247	 {0, },
248	 {0, },
249	 {0, },
250	 {0, },
251      },
252      /* 20 fps */
253      {
254	 {0, },
255	 {0, },
256	 {0, },
257	 {0, },
258      },
259      /* 25 fps */
260      {
261	 {0, },
262	 {0, },
263	 {0, },
264	 {0, },
265      },
266      /* 30 fps */
267      {
268	 {0, },
269	 {0, },
270	 {0, },
271	 {0, },
272      },
273   },
274   /* VGA */
275   {
276      /* 5 fps */
277      {
278	 {0, },
279	 {6, 773, 1272, {0x25, 0xF4, 0x30, 0x27, 0xB6, 0x24, 0x96, 0x02, 0x30, 0x05, 0x03, 0x80}},
280	 {4, 592,  976, {0x25, 0xF4, 0x50, 0x1E, 0x78, 0x1B, 0x58, 0x03, 0x30, 0x50, 0x02, 0x80}},
281	 {3, 448,  738, {0x25, 0xF4, 0x90, 0x17, 0x0C, 0x13, 0xEC, 0x04, 0x30, 0xC0, 0x01, 0x80}},
282      },
283      /* 10 fps */
284      {
285	 {0, },
286	 {9, 956,  788, {0x24, 0xF4, 0x70, 0x18, 0x9C, 0x15, 0x7C, 0x03, 0x48, 0xBC, 0x03, 0x80}},
287	 {6, 776,  640, {0x24, 0xF4, 0xB0, 0x13, 0xFC, 0x11, 0x2C, 0x04, 0x48, 0x08, 0x03, 0x80}},
288	 {4, 592,  488, {0x24, 0x7A, 0xE8, 0x0F, 0x3C, 0x0C, 0x6C, 0x06, 0x48, 0x50, 0x02, 0x80}},
289      },
290      /* 15 fps */
291      {
292	 {0, },
293	 {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
294	 {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
295	 {8, 895,  492, {0x23, 0x7A, 0xE8, 0x0F, 0x5D, 0x0C, 0x8D, 0x06, 0x58, 0x7F, 0x03, 0x80}},
296      },
297      /* 20 fps */
298      {
299	 {0, },
300	 {0, },
301	 {0, },
302	 {0, },
303      },
304      /* 25 fps */
305      {
306	 {0, },
307	 {0, },
308	 {0, },
309	 {0, },
310      },
311      /* 30 fps */
312      {
313	 {0, },
314	 {0, },
315	 {0, },
316	 {0, },
317      },
318   },
319};
320
321
322/*
323 * Rom table for kiara chips
324 *
325 * 32 roms tables (one for each resolution ?)
326 *  2 tables per roms (one for each passes) (Y, and U&V)
327 * 128 bytes per passes
328 */
329
330const unsigned int KiaraRomTable [8][2][16][8] =
331{
332 { /* version 0 */
333  { /* version 0, passes 0 */
334   {0x00000000,0x00000000,0x00000000,0x00000000,
335    0x00000000,0x00000000,0x00000001,0x00000001},
336   {0x00000000,0x00000000,0x00000009,0x00000009,
337    0x00000009,0x00000009,0x00000009,0x00000009},
338   {0x00000000,0x00000000,0x00000009,0x00000049,
339    0x00000049,0x00000049,0x00000049,0x00000049},
340   {0x00000000,0x00000000,0x00000049,0x00000049,
341    0x00000049,0x00000249,0x0000024a,0x00000049},
342   {0x00000000,0x00000000,0x00000049,0x00000049,
343    0x00000249,0x00000249,0x0000024a,0x0000024a},
344   {0x00000000,0x00000000,0x00000049,0x00000249,
345    0x00000249,0x0000124a,0x0000024a,0x0000024a},
346   {0x00000000,0x00000000,0x00000049,0x00000249,
347    0x0000124a,0x00009252,0x00001252,0x00001252},
348   {0x00000000,0x00000000,0x00000249,0x00000249,
349    0x00009252,0x00009292,0x00009292,0x00009292},
350   {0x00000000,0x00000000,0x00000249,0x00001249,
351    0x00009292,0x00009292,0x00009493,0x000124db},
352   {0x00000000,0x00000000,0x00000249,0x0000924a,
353    0x00009492,0x0000a49b,0x0000a49b,0x000124db},
354   {0x00000000,0x00000000,0x00001249,0x00009252,
355    0x0000a493,0x000124db,0x000124db,0x000126dc},
356   {0x00000000,0x00000000,0x00001249,0x00009493,
357    0x000124db,0x000126dc,0x000136e4,0x000126dc},
358   {0x00000000,0x00000000,0x00009292,0x0000a49b,
359    0x000124db,0x000136e4,0x000136e4,0x000136e4},
360   {0x00000000,0x00000000,0x00009292,0x0000a49b,
361    0x000126dc,0x0001b724,0x0001b92d,0x0001b925},
362   {0x00000000,0x00000000,0x00009492,0x000124db,
363    0x000136e4,0x0001b925,0x0001c96e,0x0001c92d},
364   {0x00000000,0x00000000,0x00000000,0x00000000,
365    0x00000000,0x00000000,0x00000000,0x00000000}
366  },
367  { /* version 0, passes 1 */
368   {0x00000000,0x00000000,0x00000000,0x00000000,
369    0x00000000,0x00000000,0x00000000,0x00000000},
370   {0x00000000,0x00000000,0x00000000,0x00000000,
371    0x00000000,0x00000000,0x00000000,0x00000000},
372   {0x00000000,0x00000000,0x00000001,0x00000009,
373    0x00000009,0x00000009,0x00000009,0x00000001},
374   {0x00000000,0x00000000,0x00000009,0x00000009,
375    0x00000049,0x00000049,0x00000049,0x00000049},
376   {0x00000000,0x00000000,0x00000049,0x00000049,
377    0x00000049,0x00000049,0x0000024a,0x0000024a},
378   {0x00000000,0x00000000,0x00000049,0x00000049,
379    0x00000249,0x00000249,0x0000024a,0x0000024a},
380   {0x00000000,0x00000000,0x00000049,0x00000249,
381    0x00000249,0x00000249,0x0000024a,0x00001252},
382   {0x00000000,0x00000000,0x00000049,0x00001249,
383    0x0000124a,0x0000124a,0x00001252,0x00009292},
384   {0x00000000,0x00000000,0x00000249,0x00001249,
385    0x00009252,0x00009252,0x00009292,0x00009493},
386   {0x00000000,0x00000000,0x00000249,0x0000924a,
387    0x00009292,0x00009292,0x00009292,0x00009493},
388   {0x00000000,0x00000000,0x00000249,0x00009292,
389    0x00009492,0x00009493,0x0000a49b,0x00009493},
390   {0x00000000,0x00000000,0x00001249,0x00009292,
391    0x0000a493,0x000124db,0x000126dc,0x000126dc},
392   {0x00000000,0x00000000,0x0000924a,0x00009493,
393    0x0000a493,0x000126dc,0x000136e4,0x000136e4},
394   {0x00000000,0x00000000,0x00009252,0x00009493,
395    0x000126dc,0x000126dc,0x000136e4,0x000136e4},
396   {0x00000000,0x00000000,0x00009292,0x0000a49b,
397    0x000136e4,0x000136e4,0x0001b725,0x0001b724},
398   {0x00000000,0x00000000,0x00000000,0x00000000,
399    0x00000000,0x00000000,0x00000000,0x00000000}
400  }
401 },
402 { /* version 1 */
403  { /* version 1, passes 0 */
404   {0x00000000,0x00000000,0x00000000,0x00000000,
405    0x00000000,0x00000000,0x00000000,0x00000001},
406   {0x00000000,0x00000000,0x00000009,0x00000009,
407    0x00000009,0x00000009,0x00000009,0x00000009},
408   {0x00000000,0x00000000,0x00000049,0x00000049,
409    0x00000049,0x00000049,0x00000049,0x00000049},
410   {0x00000000,0x00000000,0x00000049,0x00000049,
411    0x00000049,0x00000249,0x0000024a,0x0000024a},
412   {0x00000000,0x00000000,0x00000049,0x00000249,
413    0x00000249,0x00000249,0x0000024a,0x00001252},
414   {0x00000000,0x00000000,0x00000249,0x00000249,
415    0x00000249,0x0000124a,0x00001252,0x00001252},
416   {0x00000000,0x00000000,0x00000249,0x00000249,
417    0x0000124a,0x0000124a,0x00009292,0x00009292},
418   {0x00000000,0x00000000,0x00000249,0x00001249,
419    0x0000124a,0x00009252,0x00009292,0x00009292},
420   {0x00000000,0x00000000,0x00000249,0x00001249,
421    0x00009252,0x00009292,0x00009292,0x00009292},
422   {0x00000000,0x00000000,0x00000249,0x00001249,
423    0x00009252,0x00009292,0x00009493,0x00009493},
424   {0x00000000,0x00000000,0x00000249,0x0000924a,
425    0x00009252,0x00009493,0x00009493,0x00009493},
426   {0x00000000,0x00000000,0x00000249,0x0000924a,
427    0x00009292,0x00009493,0x00009493,0x00009493},
428   {0x00000000,0x00000000,0x00000249,0x00009252,
429    0x00009492,0x00009493,0x0000a49b,0x0000a49b},
430   {0x00000000,0x00000000,0x00001249,0x00009292,
431    0x00009492,0x000124db,0x000124db,0x000124db},
432   {0x00000000,0x00000000,0x0000924a,0x00009493,
433    0x0000a493,0x000126dc,0x000126dc,0x000126dc},
434   {0x00000000,0x00000000,0x00000000,0x00000000,
435    0x00000000,0x00000000,0x00000000,0x00000000}
436  },
437  { /* version 1, passes 1 */
438   {0x00000000,0x00000000,0x00000000,0x00000000,
439    0x00000000,0x00000000,0x00000000,0x00000000},
440   {0x00000000,0x00000000,0x00000049,0x00000009,
441    0x00000049,0x00000009,0x00000001,0x00000000},
442   {0x00000000,0x00000000,0x00000049,0x00000049,
443    0x00000049,0x00000049,0x00000049,0x00000000},
444   {0x00000000,0x00000000,0x00000249,0x00000049,
445    0x00000249,0x00000049,0x0000024a,0x00000001},
446   {0x00000000,0x00000000,0x00000249,0x00000249,
447    0x00000249,0x00000249,0x0000024a,0x00000001},
448   {0x00000000,0x00000000,0x00000249,0x00000249,
449    0x00000249,0x00000249,0x0000024a,0x00000001},
450   {0x00000000,0x00000000,0x00000249,0x00000249,
451    0x00000249,0x00000249,0x0000024a,0x00000009},
452   {0x00000000,0x00000000,0x00000249,0x00000249,
453    0x0000124a,0x0000124a,0x0000024a,0x00000009},
454   {0x00000000,0x00000000,0x00000249,0x00000249,
455    0x0000124a,0x0000124a,0x0000024a,0x00000009},
456   {0x00000000,0x00000000,0x00001249,0x00001249,
457    0x0000124a,0x00009252,0x00001252,0x00000049},
458   {0x00000000,0x00000000,0x00001249,0x00001249,
459    0x0000124a,0x00009292,0x00001252,0x00000049},
460   {0x00000000,0x00000000,0x00001249,0x00001249,
461    0x0000124a,0x00009292,0x00001252,0x00000049},
462   {0x00000000,0x00000000,0x00001249,0x00001249,
463    0x00009252,0x00009292,0x00001252,0x0000024a},
464   {0x00000000,0x00000000,0x00001249,0x00001249,
465    0x00009292,0x00009292,0x00001252,0x0000024a},
466   {0x00000000,0x00000000,0x0000924a,0x0000924a,
467    0x00009492,0x00009493,0x00009292,0x00001252},
468   {0x00000000,0x00000000,0x00000000,0x00000000,
469    0x00000000,0x00000000,0x00000000,0x00000000}
470  }
471 },
472 { /* version 2 */
473  { /* version 2, passes 0 */
474   {0x00000000,0x00000000,0x00000049,0x00000049,
475    0x00000049,0x00000049,0x0000024a,0x0000024a},
476   {0x00000000,0x00000000,0x00000249,0x00000249,
477    0x00000249,0x0000124a,0x00001252,0x00009292},
478   {0x00000000,0x00000000,0x00000249,0x00000249,
479    0x0000124a,0x00009252,0x00009292,0x00009292},
480   {0x00000000,0x00000000,0x00000249,0x00001249,
481    0x0000124a,0x00009292,0x00009493,0x00009493},
482   {0x00000000,0x00000000,0x00000249,0x00001249,
483    0x00009252,0x00009493,0x00009493,0x0000a49b},
484   {0x00000000,0x00000000,0x00000249,0x0000924a,
485    0x00009292,0x00009493,0x0000a49b,0x0000a49b},
486   {0x00000000,0x00000000,0x00001249,0x0000924a,
487    0x00009292,0x00009493,0x0000a49b,0x000124db},
488   {0x00000000,0x00000000,0x00001249,0x00009252,
489    0x00009492,0x0000a49b,0x0000a49b,0x000124db},
490   {0x00000000,0x00000000,0x00001249,0x00009292,
491    0x00009492,0x000124db,0x000124db,0x000126dc},
492   {0x00000000,0x00000000,0x00001249,0x00009292,
493    0x0000a493,0x000124db,0x000126dc,0x000126dc},
494   {0x00000000,0x00000000,0x00001249,0x00009493,
495    0x0000a493,0x000124db,0x000126dc,0x000136e4},
496   {0x00000000,0x00000000,0x00001249,0x00009493,
497    0x0000a493,0x000126dc,0x000136e4,0x000136e4},
498   {0x00000000,0x00000000,0x0000924a,0x00009493,
499    0x0001249b,0x000126dc,0x000136e4,0x000136e4},
500   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
501    0x000124db,0x000136e4,0x000136e4,0x0001b724},
502   {0x00000000,0x00000000,0x00009252,0x000124db,
503    0x000126dc,0x0001b724,0x0001b725,0x0001b925},
504   {0x00000000,0x00000000,0x00000000,0x00000000,
505    0x00000000,0x00000000,0x00000000,0x00000000}
506  },
507  { /* version 2, passes 1 */
508   {0x00000000,0x00000000,0x00000049,0x00000049,
509    0x00000049,0x00000049,0x00000049,0x00000049},
510   {0x00000000,0x00000000,0x00000249,0x00000249,
511    0x00000249,0x00000249,0x0000024a,0x00000049},
512   {0x00000000,0x00000000,0x00001249,0x00000249,
513    0x0000124a,0x0000124a,0x00001252,0x00000049},
514   {0x00000000,0x00000000,0x00001249,0x00001249,
515    0x0000124a,0x0000124a,0x00009292,0x0000024a},
516   {0x00000000,0x00000000,0x00001249,0x00001249,
517    0x00009252,0x00009292,0x00009292,0x0000024a},
518   {0x00000000,0x00000000,0x00001249,0x00001249,
519    0x00009252,0x00009292,0x0000a49b,0x0000024a},
520   {0x00000000,0x00000000,0x00001249,0x00001249,
521    0x00009292,0x00009493,0x0000a49b,0x00001252},
522   {0x00000000,0x00000000,0x00001249,0x00001249,
523    0x00009292,0x00009493,0x0000a49b,0x00001252},
524   {0x00000000,0x00000000,0x00001249,0x0000924a,
525    0x00009492,0x0000a49b,0x0000a49b,0x00001252},
526   {0x00000000,0x00000000,0x00001249,0x00009252,
527    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
528   {0x00000000,0x00000000,0x00001249,0x00009292,
529    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
530   {0x00000000,0x00000000,0x00001249,0x00009493,
531    0x0000a493,0x0000a49b,0x0000a49b,0x00009292},
532   {0x00000000,0x00000000,0x00001249,0x00009493,
533    0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
534   {0x00000000,0x00000000,0x0000924a,0x00009493,
535    0x0000a493,0x000124db,0x0000a49b,0x00009493},
536   {0x00000000,0x00000000,0x00009252,0x0000a49b,
537    0x0001249b,0x000126dc,0x000124db,0x0000a49b},
538   {0x00000000,0x00000000,0x00000000,0x00000000,
539    0x00000000,0x00000000,0x00000000,0x00000000}
540  }
541 },
542 { /* version 3 */
543  { /* version 3, passes 0 */
544   {0x00000000,0x00000000,0x00000249,0x00000249,
545    0x0000124a,0x0000124a,0x00009292,0x00009292},
546   {0x00000000,0x00000000,0x00001249,0x00001249,
547    0x00009292,0x00009493,0x0000a49b,0x0000a49b},
548   {0x00000000,0x00000000,0x00001249,0x0000924a,
549    0x00009492,0x0000a49b,0x0000a49b,0x000124db},
550   {0x00000000,0x00000000,0x00001249,0x00009292,
551    0x00009492,0x000124db,0x000126dc,0x000126dc},
552   {0x00000000,0x00000000,0x00001249,0x00009493,
553    0x0000a493,0x000124db,0x000126dc,0x000126dc},
554   {0x00000000,0x00000000,0x00001249,0x00009493,
555    0x0000a493,0x000126dc,0x000136e4,0x000136e4},
556   {0x00000000,0x00000000,0x00001249,0x00009493,
557    0x0000a493,0x000126dc,0x000136e4,0x0001b724},
558   {0x00000000,0x00000000,0x00001249,0x00009493,
559    0x0001249b,0x000126dc,0x000136e4,0x0001b724},
560   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
561    0x0001249b,0x000126dc,0x000136e4,0x0001b724},
562   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
563    0x0001249b,0x000136e4,0x0001b725,0x0001b724},
564   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
565    0x000124db,0x000136e4,0x0001b725,0x0001b925},
566   {0x00000000,0x00000000,0x00009292,0x0000a49b,
567    0x000126dc,0x000136e4,0x0001b92d,0x0001b925},
568   {0x00000000,0x00000000,0x00009292,0x0000a49b,
569    0x000126dc,0x0001b724,0x0001b92d,0x0001c92d},
570   {0x00000000,0x00000000,0x00009492,0x000124db,
571    0x000126dc,0x0001b724,0x0001c96e,0x0001c92d},
572   {0x00000000,0x00000000,0x0000a492,0x000126db,
573    0x000136e4,0x0001b925,0x00025bb6,0x00024b77},
574   {0x00000000,0x00000000,0x00000000,0x00000000,
575    0x00000000,0x00000000,0x00000000,0x00000000}
576  },
577  { /* version 3, passes 1 */
578   {0x00000000,0x00000000,0x00001249,0x00000249,
579    0x0000124a,0x0000124a,0x00001252,0x00001252},
580   {0x00000000,0x00000000,0x00001249,0x00001249,
581    0x00009252,0x00009292,0x00009292,0x00001252},
582   {0x00000000,0x00000000,0x00001249,0x0000924a,
583    0x00009492,0x00009493,0x0000a49b,0x00001252},
584   {0x00000000,0x00000000,0x00001249,0x00009252,
585    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
586   {0x00000000,0x00000000,0x00001249,0x00009292,
587    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
588   {0x00000000,0x00000000,0x00001249,0x00009493,
589    0x0000a493,0x0000a49b,0x000126dc,0x00009292},
590   {0x00000000,0x00000000,0x0000924a,0x00009493,
591    0x0000a493,0x0000a49b,0x000126dc,0x00009493},
592   {0x00000000,0x00000000,0x0000924a,0x00009493,
593    0x0000a493,0x0000a49b,0x000126dc,0x00009493},
594   {0x00000000,0x00000000,0x0000924a,0x00009493,
595    0x0000a493,0x000124db,0x000126dc,0x00009493},
596   {0x00000000,0x00000000,0x0000924a,0x00009493,
597    0x0000a493,0x000124db,0x000126dc,0x0000a49b},
598   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
599    0x0000a493,0x000124db,0x000126dc,0x0000a49b},
600   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
601    0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
602   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
603    0x000124db,0x000136e4,0x000126dc,0x000124db},
604   {0x00000000,0x00000000,0x00009492,0x0000a49b,
605    0x000136e4,0x000136e4,0x000126dc,0x000124db},
606   {0x00000000,0x00000000,0x0000a492,0x000124db,
607    0x0001b724,0x0001b724,0x000136e4,0x000126dc},
608   {0x00000000,0x00000000,0x00000000,0x00000000,
609    0x00000000,0x00000000,0x00000000,0x00000000}
610  }
611 },
612 { /* version 4 */
613  { /* version 4, passes 0 */
614   {0x00000000,0x00000000,0x00000049,0x00000049,
615    0x00000049,0x00000049,0x00000049,0x00000049},
616   {0x00000000,0x00000000,0x00000249,0x00000049,
617    0x00000249,0x00000249,0x0000024a,0x00000049},
618   {0x00000000,0x00000000,0x00000249,0x00000249,
619    0x0000124a,0x00009252,0x00001252,0x0000024a},
620   {0x00000000,0x00000000,0x00001249,0x00001249,
621    0x00009252,0x00009292,0x00009493,0x00001252},
622   {0x00000000,0x00000000,0x00001249,0x0000924a,
623    0x00009292,0x00009493,0x00009493,0x00001252},
624   {0x00000000,0x00000000,0x00001249,0x00009292,
625    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
626   {0x00000000,0x00000000,0x00001249,0x00009493,
627    0x0000a493,0x000124db,0x000124db,0x00009493},
628   {0x00000000,0x00000000,0x0000924a,0x00009493,
629    0x0000a493,0x000124db,0x000126dc,0x0000a49b},
630   {0x00000000,0x00000000,0x0000924a,0x00009493,
631    0x0000a493,0x000124db,0x000126dc,0x0000a49b},
632   {0x00000000,0x00000000,0x0000924a,0x00009493,
633    0x0001249b,0x000126dc,0x000126dc,0x000124db},
634   {0x00000000,0x00000000,0x00009252,0x00009493,
635    0x000124db,0x000136e4,0x000136e4,0x000126dc},
636   {0x00000000,0x00000000,0x00009252,0x0000a49b,
637    0x000124db,0x000136e4,0x000136e4,0x000126dc},
638   {0x00000000,0x00000000,0x00009292,0x0000a49b,
639    0x000126dc,0x000136e4,0x000136e4,0x000136e4},
640   {0x00000000,0x00000000,0x00009492,0x0000a49b,
641    0x000126dc,0x0001b724,0x0001b725,0x0001b724},
642   {0x00000000,0x00000000,0x0000a492,0x000124db,
643    0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
644   {0x00000000,0x00000000,0x00000000,0x00000000,
645    0x00000000,0x00000000,0x00000000,0x00000000}
646  },
647  { /* version 4, passes 1 */
648   {0x00000000,0x00000000,0x00000249,0x00000049,
649    0x00000009,0x00000009,0x00000009,0x00000009},
650   {0x00000000,0x00000000,0x00000249,0x00000249,
651    0x00000049,0x00000049,0x00000009,0x00000009},
652   {0x00000000,0x00000000,0x00001249,0x00001249,
653    0x0000124a,0x00000249,0x00000049,0x00000049},
654   {0x00000000,0x00000000,0x00001249,0x00001249,
655    0x0000124a,0x0000124a,0x00000049,0x00000049},
656   {0x00000000,0x00000000,0x00001249,0x00001249,
657    0x00009252,0x0000124a,0x0000024a,0x0000024a},
658   {0x00000000,0x00000000,0x00001249,0x0000924a,
659    0x00009252,0x0000124a,0x0000024a,0x0000024a},
660   {0x00000000,0x00000000,0x00001249,0x00009292,
661    0x00009492,0x00009252,0x00001252,0x00001252},
662   {0x00000000,0x00000000,0x00001249,0x00009493,
663    0x0000a493,0x00009292,0x00009292,0x00001252},
664   {0x00000000,0x00000000,0x0000924a,0x00009493,
665    0x0000a493,0x00009292,0x00009292,0x00009292},
666   {0x00000000,0x00000000,0x0000924a,0x00009493,
667    0x0000a493,0x00009493,0x00009493,0x00009292},
668   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
669    0x0000a493,0x0000a49b,0x00009493,0x00009493},
670   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
671    0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
672   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
673    0x0001249b,0x000124db,0x0000a49b,0x0000a49b},
674   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
675    0x000136e4,0x000126dc,0x000124db,0x0000a49b},
676   {0x00000000,0x00000000,0x00009252,0x000124db,
677    0x0001b724,0x000136e4,0x000126dc,0x000124db},
678   {0x00000000,0x00000000,0x00000000,0x00000000,
679    0x00000000,0x00000000,0x00000000,0x00000000}
680  }
681 },
682 { /* version 5 */
683  { /* version 5, passes 0 */
684   {0x00000000,0x00000000,0x00000249,0x00000249,
685    0x00000249,0x00000249,0x00001252,0x00001252},
686   {0x00000000,0x00000000,0x00001249,0x00001249,
687    0x00009252,0x00009292,0x00009292,0x00001252},
688   {0x00000000,0x00000000,0x00001249,0x0000924a,
689    0x00009492,0x0000a49b,0x0000a49b,0x00009292},
690   {0x00000000,0x00000000,0x00001249,0x00009493,
691    0x0000a493,0x0000a49b,0x000124db,0x00009493},
692   {0x00000000,0x00000000,0x00001249,0x00009493,
693    0x0000a493,0x000124db,0x000126dc,0x00009493},
694   {0x00000000,0x00000000,0x0000924a,0x00009493,
695    0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
696   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
697    0x0001249b,0x000126dc,0x000136e4,0x000124db},
698   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
699    0x000126dc,0x000136e4,0x000136e4,0x000126dc},
700   {0x00000000,0x00000000,0x00009292,0x0000a49b,
701    0x000126dc,0x000136e4,0x000136e4,0x000126dc},
702   {0x00000000,0x00000000,0x00009292,0x0000a49b,
703    0x000126dc,0x0001b724,0x0001b725,0x000136e4},
704   {0x00000000,0x00000000,0x00009292,0x0000a49b,
705    0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
706   {0x00000000,0x00000000,0x00009492,0x0000a49b,
707    0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
708   {0x00000000,0x00000000,0x00009492,0x000124db,
709    0x000136e4,0x0001b925,0x0001c96e,0x0001b925},
710   {0x00000000,0x00000000,0x00009492,0x000124db,
711    0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
712   {0x00000000,0x00000000,0x0000a492,0x000126db,
713    0x0001c924,0x0002496d,0x00025bb6,0x00024b77},
714   {0x00000000,0x00000000,0x00000000,0x00000000,
715    0x00000000,0x00000000,0x00000000,0x00000000}
716  },
717  { /* version 5, passes 1 */
718   {0x00000000,0x00000000,0x00001249,0x00000249,
719    0x00000249,0x00000249,0x0000024a,0x0000024a},
720   {0x00000000,0x00000000,0x00001249,0x00001249,
721    0x0000124a,0x0000124a,0x0000024a,0x0000024a},
722   {0x00000000,0x00000000,0x00001249,0x0000924a,
723    0x00009252,0x00009252,0x0000024a,0x0000024a},
724   {0x00000000,0x00000000,0x00001249,0x00009292,
725    0x00009492,0x0000a49b,0x00001252,0x00001252},
726   {0x00000000,0x00000000,0x0000924a,0x00009493,
727    0x0000a493,0x0000a49b,0x00001252,0x00001252},
728   {0x00000000,0x00000000,0x0000924a,0x00009493,
729    0x0000a493,0x0000a49b,0x00009292,0x00001252},
730   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
731    0x0000a493,0x0000a49b,0x00009292,0x00009292},
732   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
733    0x0000a493,0x0000a49b,0x00009493,0x00009292},
734   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
735    0x0001249b,0x000124db,0x00009493,0x00009292},
736   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
737    0x0001249b,0x000124db,0x00009493,0x00009493},
738   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
739    0x000124db,0x000124db,0x0000a49b,0x00009493},
740   {0x00000000,0x00000000,0x0000924a,0x000124db,
741    0x000126dc,0x000126dc,0x0000a49b,0x00009493},
742   {0x00000000,0x00000000,0x0000924a,0x000124db,
743    0x000136e4,0x000126dc,0x000124db,0x0000a49b},
744   {0x00000000,0x00000000,0x00009292,0x000124db,
745    0x000136e4,0x000126dc,0x000124db,0x0000a49b},
746   {0x00000000,0x00000000,0x00009492,0x000126db,
747    0x0001b724,0x000136e4,0x000126dc,0x000124db},
748   {0x00000000,0x00000000,0x00000000,0x00000000,
749    0x00000000,0x00000000,0x00000000,0x00000000}
750  }
751 },
752 { /* version 6 */
753  { /* version 6, passes 0 */
754   {0x00000000,0x00000000,0x00001249,0x00001249,
755    0x00009252,0x00009292,0x00009493,0x00009493},
756   {0x00000000,0x00000000,0x00001249,0x00009292,
757    0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
758   {0x00000000,0x00000000,0x00001249,0x00009493,
759    0x0000a493,0x000124db,0x000124db,0x0000a49b},
760   {0x00000000,0x00000000,0x0000924a,0x00009493,
761    0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
762   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
763    0x0001249b,0x000126dc,0x000136e4,0x000124db},
764   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
765    0x000126dc,0x000136e4,0x000136e4,0x000126dc},
766   {0x00000000,0x00000000,0x00009292,0x0000a49b,
767    0x000126dc,0x0001b724,0x0001b725,0x000126dc},
768   {0x00000000,0x00000000,0x00009292,0x0000a49b,
769    0x000136e4,0x0001b724,0x0001b92d,0x000136e4},
770   {0x00000000,0x00000000,0x00009492,0x0000a49b,
771    0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
772   {0x00000000,0x00000000,0x00009492,0x000124db,
773    0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
774   {0x00000000,0x00000000,0x00009492,0x000124db,
775    0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
776   {0x00000000,0x00000000,0x00009492,0x000124db,
777    0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
778   {0x00000000,0x00000000,0x0000a492,0x000124db,
779    0x0001b724,0x0001c92d,0x0001c96e,0x0001c92d},
780   {0x00000000,0x00000000,0x0000a492,0x000124db,
781    0x0001b724,0x0001c92d,0x00024b76,0x0002496e},
782   {0x00000000,0x00000000,0x00012492,0x000126db,
783    0x0001c924,0x00024b6d,0x0002ddb6,0x00025bbf},
784   {0x00000000,0x00000000,0x00000000,0x00000000,
785    0x00000000,0x00000000,0x00000000,0x00000000}
786  },
787  { /* version 6, passes 1 */
788   {0x00000000,0x00000000,0x00001249,0x00001249,
789    0x0000124a,0x0000124a,0x00001252,0x00001252},
790   {0x00000000,0x00000000,0x00001249,0x00009292,
791    0x00009492,0x00009252,0x00001252,0x00001252},
792   {0x00000000,0x00000000,0x0000924a,0x00009493,
793    0x0000a493,0x00009292,0x00001252,0x00001252},
794   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
795    0x0000a493,0x0000a49b,0x00009292,0x00009292},
796   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
797    0x0000a493,0x0000a49b,0x00009292,0x00009292},
798   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
799    0x0001249b,0x0000a49b,0x00009493,0x00009292},
800   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
801    0x000124db,0x000124db,0x00009493,0x00009493},
802   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
803    0x000124db,0x000124db,0x0000a49b,0x00009493},
804   {0x00000000,0x00000000,0x0000924a,0x000124db,
805    0x000126dc,0x000124db,0x0000a49b,0x00009493},
806   {0x00000000,0x00000000,0x0000924a,0x000124db,
807    0x000126dc,0x000126dc,0x0000a49b,0x0000a49b},
808   {0x00000000,0x00000000,0x0000924a,0x000124db,
809    0x000136e4,0x000126dc,0x000124db,0x0000a49b},
810   {0x00000000,0x00000000,0x00009492,0x000126db,
811    0x000136e4,0x000126dc,0x000124db,0x0000a49b},
812   {0x00000000,0x00000000,0x00009492,0x000126db,
813    0x0001b724,0x000136e4,0x000126dc,0x000124db},
814   {0x00000000,0x00000000,0x00009492,0x000126db,
815    0x0001b724,0x000136e4,0x000126dc,0x000124db},
816   {0x00000000,0x00000000,0x0000a492,0x000136db,
817    0x0001c924,0x0001b724,0x000136e4,0x000126dc},
818   {0x00000000,0x00000000,0x00000000,0x00000000,
819    0x00000000,0x00000000,0x00000000,0x00000000}
820  }
821 },
822 { /* version 7 */
823  { /* version 7, passes 0 */
824   {0x00000000,0x00000000,0x00001249,0x00001249,
825    0x00009252,0x00009292,0x00009493,0x00009493},
826   {0x00000000,0x00000000,0x00001249,0x00009493,
827    0x0000a493,0x000124db,0x000126dc,0x00009493},
828   {0x00000000,0x00000000,0x00001249,0x0000a49b,
829    0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
830   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
831    0x0001249b,0x000126dc,0x000136e4,0x0000a49b},
832   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
833    0x000126dc,0x000136e4,0x0001b725,0x000124db},
834   {0x00000000,0x00000000,0x00009292,0x0000a49b,
835    0x000136e4,0x0001b724,0x0001b725,0x000126dc},
836   {0x00000000,0x00000000,0x00009292,0x000124db,
837    0x000136e4,0x0001b724,0x0001b725,0x000126dc},
838   {0x00000000,0x00000000,0x00009492,0x000124db,
839    0x000136e4,0x0001b724,0x0001c96e,0x000136e4},
840   {0x00000000,0x00000000,0x00009492,0x000124db,
841    0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
842   {0x00000000,0x00000000,0x0000a492,0x000124db,
843    0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
844   {0x00000000,0x00000000,0x0000a492,0x000124db,
845    0x0001b724,0x0001c92d,0x0001c96e,0x0001b925},
846   {0x00000000,0x00000000,0x0000a492,0x000126db,
847    0x0001b724,0x0001c92d,0x00024b76,0x0001c92d},
848   {0x00000000,0x00000000,0x0000a492,0x000126db,
849    0x0001b924,0x0001c92d,0x00024b76,0x0001c92d},
850   {0x00000000,0x00000000,0x0000a492,0x000126db,
851    0x0001b924,0x0001c92d,0x00024b76,0x0002496e},
852   {0x00000000,0x00000000,0x00012492,0x000136db,
853    0x00024924,0x00024b6d,0x0002ddb6,0x00025bbf},
854   {0x00000000,0x00000000,0x00000000,0x00000000,
855    0x00000000,0x00000000,0x00000000,0x00000000}
856  },
857  { /* version 7, passes 1 */
858   {0x00000000,0x00000000,0x00001249,0x00001249,
859    0x0000124a,0x0000124a,0x00001252,0x00001252},
860   {0x00000000,0x00000000,0x0000924a,0x00009493,
861    0x00009492,0x00009292,0x00001252,0x00001252},
862   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
863    0x0000a493,0x0000a49b,0x00001252,0x00001252},
864   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
865    0x0000a493,0x0000a49b,0x00009292,0x00009292},
866   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
867    0x0000a493,0x0000a49b,0x00009292,0x00009292},
868   {0x00000000,0x00000000,0x0000924a,0x0000a49b,
869    0x000126dc,0x0000a49b,0x00009493,0x00009292},
870   {0x00000000,0x00000000,0x0000924a,0x000124db,
871    0x000126dc,0x000124db,0x00009493,0x00009493},
872   {0x00000000,0x00000000,0x0000924a,0x000124db,
873    0x000136e4,0x000124db,0x0000a49b,0x00009493},
874   {0x00000000,0x00000000,0x0000924a,0x000136db,
875    0x0001b724,0x000124db,0x0000a49b,0x00009493},
876   {0x00000000,0x00000000,0x0000924a,0x000136db,
877    0x0001b724,0x000126dc,0x0000a49b,0x0000a49b},
878   {0x00000000,0x00000000,0x00009292,0x000136db,
879    0x0001b724,0x000126dc,0x000124db,0x0000a49b},
880   {0x00000000,0x00000000,0x00009492,0x000136db,
881    0x0001b724,0x000126dc,0x000124db,0x0000a49b},
882   {0x00000000,0x00000000,0x0000a492,0x000136db,
883    0x0001b724,0x000136e4,0x000126dc,0x000124db},
884   {0x00000000,0x00000000,0x0000a492,0x000136db,
885    0x0001b724,0x000136e4,0x000126dc,0x000124db},
886   {0x00000000,0x00000000,0x00012492,0x0001b6db,
887    0x0001c924,0x0001b724,0x000136e4,0x000126dc},
888   {0x00000000,0x00000000,0x00000000,0x00000000,
889    0x00000000,0x00000000,0x00000000,0x00000000}
890  }
891 }
892};
893