18f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*
28f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * Topro TP6800/6810 webcam driver.
38f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *
48f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * Copyright (C) 2011 Jean-François Moine (http://moinejf.free.fr)
58f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * Copyright (C) 2009 Anders Blomdell (anders.blomdell@control.lth.se)
68f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * Copyright (C) 2008 Thomas Champagne (lafeuil@gmail.com)
78f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *
88f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * This program is free software; you can redistribute it and/or modify
98f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * it under the terms of the GNU General Public License as published by
108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * the Free Software Foundation; either version 2 of the License, or
118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * (at your option) any later version.
128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *
138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * This program is distributed in the hope that it will be useful,
148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * but WITHOUT ANY WARRANTY; without even the implied warranty of
158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * GNU General Public License for more details.
178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *
188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * You should have received a copy of the GNU General Public License
198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * along with this program; If not, see <http://www.gnu.org/licenses/>.
208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine */
218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#include "gspca.h"
258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François MoineMODULE_DESCRIPTION("Topro TP6800/6810 gspca webcam driver");
278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François MoineMODULE_AUTHOR("Jean-Francois Moine <http://moinejf.free.fr>, "
288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		"Anders Blomdell <anders.blomdell@control.lth.se>");
298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François MoineMODULE_LICENSE("GPL");
308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int force_sensor = -1;
328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* JPEG header */
348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 jpeg_head[] = {
358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xff, 0xd8,			/* jpeg */
368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* quantization table quality 50% */
388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xff, 0xdb, 0x00, 0x84,		/* DQT */
398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine0,
408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define JPEG_QT0_OFFSET 7
418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x10, 0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e,
428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x0d, 0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28,
438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x1a, 0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25,
448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x1d, 0x28, 0x3a, 0x33, 0x3d, 0x3c, 0x39, 0x33,
458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x38, 0x37, 0x40, 0x48, 0x5c, 0x4e, 0x40, 0x44,
468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x57, 0x45, 0x37, 0x38, 0x50, 0x6d, 0x51, 0x57,
478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x5f, 0x62, 0x67, 0x68, 0x67, 0x3e, 0x4d, 0x71,
488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x79, 0x70, 0x64, 0x78, 0x5c, 0x65, 0x67, 0x63,
498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine1,
508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define JPEG_QT1_OFFSET 72
518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x11, 0x12, 0x12, 0x18, 0x15, 0x18, 0x2f, 0x1a,
528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 0x63, 0x63,
538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* Define Huffman table (thanks to Thomas Kaiser) */
618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xff, 0xc4, 0x01, 0x5e,
628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x02, 0x03,
638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10,
668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04,
678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x07, 0x05, 0x04, 0x06, 0x01, 0x00, 0x00, 0x57,
688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x01, 0x02, 0x03, 0x00, 0x11, 0x04, 0x12, 0x21,
698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x31, 0x13, 0x41, 0x51, 0x61, 0x05, 0x22, 0x32,
708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x14, 0x71, 0x81, 0x91, 0x15, 0x23, 0x42, 0x52,
718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x62, 0xa1, 0xb1, 0x06, 0x33, 0x72, 0xc1, 0xd1,
728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x24, 0x43, 0x53, 0x82, 0x16, 0x34, 0x92, 0xa2,
738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xe1, 0xf1, 0xf0, 0x07, 0x08, 0x17, 0x18, 0x25,
748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x26, 0x27, 0x28, 0x35, 0x36, 0x37, 0x38, 0x44,
758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x45, 0x46, 0x47, 0x48, 0x54, 0x55, 0x56, 0x57,
768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x58, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x73,
778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x74, 0x75, 0x76, 0x77, 0x78, 0x83, 0x84, 0x85,
788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x86, 0x87, 0x88, 0x93, 0x94, 0x95, 0x96, 0x97,
798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x98, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xb2,
808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xc2, 0xc3,
818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xd2, 0xd3, 0xd4,
828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xd5, 0xd6, 0xd7, 0xd8, 0xe2, 0xe3, 0xe4, 0xe5,
838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xe6, 0xe7, 0xe8, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6,
848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xf7, 0xf8, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04,
878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x05, 0x06, 0x07, 0x08, 0x09, 0x11, 0x00, 0x02,
888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05,
898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x04, 0x06, 0x01, 0x00, 0x00, 0x57, 0x00, 0x01,
908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x11, 0x02, 0x21, 0x03, 0x12, 0x31, 0x41, 0x13,
918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x22, 0x51, 0x61, 0x04, 0x32, 0x71, 0x05, 0x14,
928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x23, 0x42, 0x33, 0x52, 0x81, 0x91, 0xa1, 0xb1,
938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xf0, 0x06, 0x15, 0xc1, 0xd1, 0xe1, 0x24, 0x43,
948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x62, 0xf1, 0x16, 0x25, 0x34, 0x53, 0x72, 0x82,
958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x92, 0x07, 0x08, 0x17, 0x18, 0x26, 0x27, 0x28,
968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x35, 0x36, 0x37, 0x38, 0x44, 0x45, 0x46, 0x47,
978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x48, 0x54, 0x55, 0x56, 0x57, 0x58, 0x63, 0x64,
988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x65, 0x66, 0x67, 0x68, 0x73, 0x74, 0x75, 0x76,
998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x77, 0x78, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,
1008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0xa2, 0xa3,
1018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xb2, 0xb3, 0xb4,
1028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xb5, 0xb6, 0xb7, 0xb8, 0xc2, 0xc3, 0xc4, 0xc5,
1038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xc6, 0xc7, 0xc8, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
1048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xd7, 0xd8, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xe8, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
1068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xff, 0xc0, 0x00, 0x11,		/* SOF0 (start of frame 0 */
1078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x08,				/* data precision */
1088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define JPEG_HEIGHT_OFFSET 493
1098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x01, 0xe0,			/* height */
1108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x02, 0x80,			/* width */
1118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x03,				/* component number */
1128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		0x01,
1138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			0x21,		/* samples Y = jpeg 422 */
1148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			0x00,		/* quant Y */
1158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		0x02, 0x11, 0x01,	/* samples CbCr - quant CbCr */
1168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		0x03, 0x11, 0x01,
1178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0xff, 0xda, 0x00, 0x0c,		/* SOS (start of scan) */
1198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00
1208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define JPEG_HDR_SZ 521
1218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moineenum e_ctrl {
1248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	EXPOSURE,
1258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	QUALITY,
1268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	SHARPNESS,
1278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	RGAIN,
1288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	GAIN,
1298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	BGAIN,
1308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	GAMMA,
1318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	AUTOGAIN,
1328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	NCTRLS		/* number of controls */
1338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define AUTOGAIN_DEF 1
1368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestruct sd {
1388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct gspca_dev gspca_dev;	/* !! must be the first item */
1398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct gspca_ctrl ctrls[NCTRLS];
1418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 framerate;
1438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 quality;		/* webcam current JPEG quality (0..16) */
1448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	s8 ag_cnt;		/* autogain / start counter for tp6810 */
1458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define AG_CNT_START 13		/* check gain every N frames */
1468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 bridge;
1488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 sensor;
1498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 jpeg_hdr[JPEG_HDR_SZ];
1518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moineenum bridges {
1548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	BRIDGE_TP6800,
1558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	BRIDGE_TP6810,
1568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moineenum sensors {
1598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	SENSOR_CX0342,
1608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	SENSOR_SOI763A,		/* ~= ov7630 / ov7648 */
1618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	NSENSORS
1628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct v4l2_pix_format vga_mode[] = {
1658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
1668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.bytesperline = 320,
1678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.sizeimage = 320 * 240 * 4 / 8 + 590,
1688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.colorspace = V4L2_COLORSPACE_JPEG},
1698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{640, 480, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
1708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.bytesperline = 640,
1718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.sizeimage = 640 * 480 * 3 / 8 + 590,
1728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.colorspace = V4L2_COLORSPACE_JPEG}
1738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*
1768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * JPEG quality
1778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * index: webcam compression
1788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * value: JPEG quality in %
1798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine */
1808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 jpeg_q[17] = {
1818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	88, 77, 67, 57, 55, 55, 45, 45, 36, 36, 30, 30, 26, 26, 22, 22, 94
1828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
1838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define BULK_OUT_SIZE		0x20
1858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#if BULK_OUT_SIZE > USB_BUF_SZ
1868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#error "USB buffer too small"
1878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#endif
1888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
1898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 rates[] = {30, 20, 15, 10, 7, 5};
1908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct framerates framerates[] = {
1918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{
1928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.rates = rates,
1938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.nrates = ARRAY_SIZE(rates)
1948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
1958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{
1968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.rates = rates,
1978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.nrates = ARRAY_SIZE(rates)
1988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
1998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
2008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 rates_6810[] = {30, 15, 10, 7, 5};
2018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct framerates framerates_6810[] = {
2028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{
2038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.rates = rates_6810,
2048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.nrates = ARRAY_SIZE(rates_6810)
2058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
2068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{
2078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.rates = rates_6810,
2088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.nrates = ARRAY_SIZE(rates_6810)
2098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
2108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
2118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
2128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*
2138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * webcam quality in %
2148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine * the last value is the ultra fine quality
2158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine */
2168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
2178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* TP6800 register offsets */
2188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R10_SIF_TYPE		0x10
2198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R11_SIF_CONTROL		0x11
2208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R12_SIF_ADDR_S		0x12
2218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R13_SIF_TX_DATA		0x13
2228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R14_SIF_RX_DATA		0x14
2238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R15_GPIO_PU		0x15
2248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R16_GPIO_PD		0x16
2258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R17_GPIO_IO		0x17
2268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R18_GPIO_DATA		0x18
2278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R19_SIF_ADDR_S2		0x19
2288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R1A_SIF_TX_DATA2		0x1a
2298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R1B_SIF_RX_DATA2		0x1b
2308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R21_ENDP_1_CTL		0x21
2318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R2F_TIMING_CFG		0x2f
2328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R30_SENSOR_CFG		0x30
2338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R31_PIXEL_START		0x31
2348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R32_PIXEL_END_L		0x32
2358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R33_PIXEL_END_H		0x33
2368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R34_LINE_START		0x34
2378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R35_LINE_END_L		0x35
2388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R36_LINE_END_H		0x36
2398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R37_FRONT_DARK_ST	0x37
2408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R38_FRONT_DARK_END	0x38
2418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R39_REAR_DARK_ST_L	0x39
2428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3A_REAR_DARK_ST_H	0x3a
2438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3B_REAR_DARK_END_L	0x3b
2448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3C_REAR_DARK_END_H	0x3c
2458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3D_HORIZ_DARK_LINE_L	0x3d
2468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3E_HORIZ_DARK_LINE_H	0x3e
2478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R3F_FRAME_RATE		0x3f
2488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R50			0x50
2498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R51			0x51
2508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R52			0x52
2518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R53			0x53
2528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R54_DARK_CFG		0x54
2538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R55_GAMMA_R		0x55
2548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R56_GAMMA_G		0x56
2558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R57_GAMMA_B		0x57
2568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R5C_EDGE_THRLD		0x5c
2578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R5D_DEMOSAIC_CFG		0x5d
2588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R78_FORMAT		0x78
2598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R79_QUALITY		0x79
2608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define TP6800_R7A_BLK_THRLD		0x7a
2618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
2628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* CX0342 register offsets */
2638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
2648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SENSOR_ID		0x00
2658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_VERSION_NO		0x01
2668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ORG_X_L			0x02
2678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ORG_X_H			0x03
2688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ORG_Y_L			0x04
2698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ORG_Y_H			0x05
2708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_STOP_X_L			0x06
2718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_STOP_X_H			0x07
2728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_STOP_Y_L			0x08
2738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_STOP_Y_H			0x09
2748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_WIDTH_L		0x0a
2758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_WIDTH_H		0x0b
2768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_HEIGH_L		0x0c
2778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_HEIGH_H		0x0d
2788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_EXPO_LINE_L		0x10
2798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_EXPO_LINE_H		0x11
2808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_EXPO_CLK_L		0x12
2818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_EXPO_CLK_H		0x13
2828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_GRGAIN_L		0x14
2838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_GRGAIN_H		0x15
2848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_GBGAIN_L		0x16
2858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_GBGAIN_H		0x17
2868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_RGAIN_L		0x18
2878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_RGAIN_H		0x19
2888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_BGAIN_L		0x1a
2898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAW_BGAIN_H		0x1b
2908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_GLOBAL_GAIN		0x1c
2918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SYS_CTRL_0		0x20
2928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SYS_CTRL_1		0x21
2938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SYS_CTRL_2		0x22
2948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_BYPASS_MODE		0x23
2958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SYS_CTRL_3		0x24
2968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_TIMING_EN		0x25
2978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_OUTPUT_CTRL		0x26
2988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTO_ADC_CALIB		0x27
2998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SYS_CTRL_4		0x28
3008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ADCGN			0x30
3018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SLPCR			0x31
3028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SLPFN_LO			0x32
3038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ADC_CTL			0x33
3048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_LVRST_BLBIAS		0x34
3058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_VTHSEL			0x35
3068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RAMP_RIV			0x36
3078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_LDOSEL			0x37
3088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CLOCK_GEN		0x40
3098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SOFT_RESET		0x41
3108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_PLL			0x42
3118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DR_ENH_PULSE_OFFSET_L	0x43
3128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DR_ENH_PULSE_OFFSET_H	0x44
3138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DR_ENH_PULSE_POS_L	0x45
3148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DR_ENH_PULSE_POS_H	0x46
3158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DR_ENH_PULSE_WIDTH	0x47
3168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AS_CURRENT_CNT_L		0x48
3178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AS_CURRENT_CNT_H		0x49
3188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AS_PREVIOUS_CNT_L	0x4a
3198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AS_PREVIOUS_CNT_H	0x4b
3208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SPV_VALUE_L		0x4c
3218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SPV_VALUE_H		0x4d
3228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_GPXLTHD_L		0x50
3238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_GPXLTHD_H		0x51
3248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RBPXLTHD_L		0x52
3258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RBPXLTHD_H		0x53
3268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_PLANETHD_L		0x54
3278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_PLANETHD_H		0x55
3288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ROWDARK_TH		0x56
3298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_ROWDARK_TOL		0x57
3308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RB_GAP_L			0x58
3318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RB_GAP_H			0x59
3328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_G_GAP_L			0x5a
3338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_G_GAP_H			0x5b
3348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTO_ROW_DARK		0x60
3358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_MANUAL_DARK_VALUE	0x61
3368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_GB_DARK_OFFSET		0x62
3378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_GR_DARK_OFFSET		0x63
3388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RED_DARK_OFFSET		0x64
3398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_BLUE_DARK_OFFSET		0x65
3408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DATA_SCALING_MULTI	0x66
3418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTOD_Q_FRAME		0x67
3428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTOD_ALLOW_VARI		0x68
3438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTO_DARK_VALUE_L	0x69
3448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_AUTO_DARK_VALUE_H	0x6a
3458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_IO_CTRL_0		0x70
3468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_IO_CTRL_1		0x71
3478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_IO_CTRL_2		0x72
3488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_IDLE_CTRL		0x73
3498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_TEST_MODE		0x74
3508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_FIX_DATA_TEST	0x75
3518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_FRAME_CNT_TEST		0x76
3528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RST_OVERFLOW_L		0x80
3538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RST_OVERFLOW_H		0x81
3548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RST_UNDERFLOW_L		0x82
3558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_RST_UNDERFLOW_H		0x83
3568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DATA_OVERFLOW_L		0x84
3578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DATA_OVERFLOW_H		0x85
3588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DATA_UNDERFLOW_L		0x86
3598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_DATA_UNDERFLOW_H		0x87
3608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_0_L_irst	0x90
3618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_0_H_irst	0x91
3628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_1_L_irst	0x92
3638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_1_H_irst	0x93
3648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_2_L_irst	0x94
3658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_2_H_irst	0x95
3668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_3_L_irst	0x96
3678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_3_H_irst	0x97
3688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_4_L_irst	0x98
3698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_4_H_irst	0x99
3708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_5_L_irst	0x9a
3718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_5_H_irst	0x9b
3728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_6_L_irst	0x9c
3738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_6_H_irst	0x9d
3748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_7_L_irst	0x9e
3758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_0_7_H_irst	0x9f
3768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_0_L_itx	0xa0
3778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_0_H_itx	0xa1
3788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_1_L_itx	0xa2
3798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_1_H_itx	0xa3
3808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_2_L_itx	0xa4
3818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_2_H_itx	0xa5
3828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_3_L_itx	0xa6
3838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_3_H_itx	0xa7
3848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_4_L_itx	0xa8
3858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_4_H_itx	0xa9
3868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_5_L_itx	0xaa
3878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_5_H_itx	0xab
3888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_6_L_itx	0xac
3898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_6_H_itx	0xad
3908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_7_L_itx	0xae
3918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_1_7_H_itx	0xaf
3928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_0_L_iwl	0xb0
3938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_0_H_iwl	0xb1
3948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_1_L_iwl	0xb2
3958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_1_H_iwl	0xb3
3968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_2_L_iwl	0xb4
3978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_2_H_iwl	0xb5
3988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_3_L_iwl	0xb6
3998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_3_H_iwl	0xb7
4008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_4_L_iwl	0xb8
4018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_4_H_iwl	0xb9
4028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_5_L_iwl	0xba
4038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_5_H_iwl	0xbb
4048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_6_L_iwl	0xbc
4058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_6_H_iwl	0xbd
4068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_7_L_iwl	0xbe
4078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_2_7_H_iwl	0xbf
4088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_0_L_ensp	0xc0
4098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_0_H_ensp	0xc1
4108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_1_L_ensp	0xc2
4118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_1_H_ensp	0xc3
4128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_2_L_ensp	0xc4
4138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_2_H_ensp	0xc5
4148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_3_L_ensp	0xc6
4158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_3_H_ensp	0xc7
4168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_4_L_ensp	0xc8
4178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_4_H_ensp	0xc9
4188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_5_L_ensp	0xca
4198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_5_H_ensp	0xcb
4208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_6_L_ensp	0xcc
4218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_6_H_ensp	0xcd
4228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_7_L_ensp	0xce
4238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_3_7_H_ensp	0xcf
4248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_4_0_L_sela	0xd0
4258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_4_0_H_sela	0xd1
4268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_4_1_L_sela	0xd2
4278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_4_1_H_sela	0xd3
4288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_0_L_intla	0xe0
4298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_0_H_intla	0xe1
4308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_1_L_intla	0xe2
4318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_1_H_intla	0xe3
4328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_2_L_intla	0xe4
4338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_2_H_intla	0xe5
4348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_3_L_intla	0xe6
4358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_5_3_H_intla	0xe7
4368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_6_0_L_xa_sel_pos 0xf0
4378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_6_0_H_xa_sel_pos 0xf1
4388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_7_1_L_cds_pos	0xf2
4398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_CHANNEL_7_1_H_cds_pos	0xf3
4408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SENSOR_HEIGHT_L		0xfb
4418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SENSOR_HEIGHT_H		0xfc
4428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SENSOR_WIDTH_L		0xfd
4438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_SENSOR_WIDTH_H		0xfe
4448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define CX0342_VSYNC_HSYNC_READ		0xff
4458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
4468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestruct cmd {
4478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 reg;
4488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 val;
4498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
4508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
4518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 DQT[17][130] = {
4528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* Define quantization table (thanks to Thomas Kaiser) */
4538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 0 */
4548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
4558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
4648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x06, 0x05, 0x06, 0x0b, 0x06,
4658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x0b, 0x18, 0x10, 0x0e, 0x10, 0x18, 0x18,
4668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
4728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
4738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 1 */
4748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
4758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x09, 0x09, 0x09, 0x09, 0x09,
4818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
4828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
4838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
4848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x09, 0x09, 0x0c, 0x0a, 0x0c, 0x17, 0x0d,
4858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0d, 0x17, 0x31, 0x21, 0x1c, 0x21, 0x31, 0x31,
4868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
4928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
4938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 2 */
4948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
4958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
4968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x06, 0x06, 0x06, 0x04, 0x04, 0x04,
4978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
4988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
4998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
5008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
5048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x0d, 0x0d, 0x12, 0x0f, 0x12, 0x23, 0x13,
5058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x13, 0x23, 0x4a, 0x31, 0x2a, 0x31, 0x4a, 0x4a,
5068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
5128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
5138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 3 */
5148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
5158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
5168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04,
5178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
5188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
5198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
5208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x08, 0x08, 0x13, 0x13, 0x13, 0x13, 0x13,
5218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
5228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
5238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
5248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x11, 0x12, 0x12, 0x18, 0x15, 0x18, 0x2f, 0x1a,
5258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 0x63, 0x63,
5268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
5328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
5338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 4 */
5348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
5358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
5368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x05, 0x05, 0x0a, 0x0a, 0x0a, 0x05, 0x05, 0x05,
5378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x05, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
5388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
5398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
5408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x0a, 0x0a, 0x17, 0x17, 0x17, 0x17, 0x17,
5418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
5428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17,
5438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
5448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x11, 0x16, 0x16, 0x1e, 0x1a, 0x1e, 0x3a, 0x20,
5458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x3a, 0x7b, 0x52, 0x46, 0x52, 0x7b, 0x7b,
5468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
5528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
5538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 5 */
5548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
5558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
5568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x06, 0x0c, 0x0c, 0x0c, 0x06, 0x06, 0x06,
5578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
5588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
5598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
5608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x0c, 0x0c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
5618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
5628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
5638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
5648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x11, 0x1b, 0x1b, 0x24, 0x1f, 0x24, 0x46, 0x27,
5658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x27, 0x46, 0x94, 0x63, 0x54, 0x63, 0x94, 0x94,
5668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94, 0x94,
5728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
5738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 6 */
5748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
5758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x05, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
5768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x07, 0x07, 0x0e, 0x0e, 0x0e, 0x07, 0x07, 0x07,
5778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
5808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x0e, 0x21, 0x21, 0x21, 0x21, 0x21,
5818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
5828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
5838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
5848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x15, 0x1f, 0x1f, 0x2a, 0x24, 0x2a, 0x52, 0x2d,
5858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x2d, 0x52, 0xad, 0x73, 0x62, 0x73, 0xad, 0xad,
5868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
5928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
5938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 7 */
5948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
5958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x05, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
5968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x08, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08,
5978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
5988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
5998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
6008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x10, 0x10, 0x10, 0x26, 0x26, 0x26, 0x26, 0x26,
6018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
6028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
6038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
6048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x15, 0x24, 0x24, 0x30, 0x2a, 0x30, 0x5e, 0x34,
6058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x34, 0x5e, 0xc6, 0x84, 0x70, 0x84, 0xc6, 0xc6,
6068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
6128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
6138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 8 */
6148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
6158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a,
6168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x0a, 0x14, 0x14, 0x14, 0x0a, 0x0a, 0x0a,
6178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
6188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
6198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
6208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x14, 0x14, 0x14, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
6218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
6228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
6238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
6248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x19, 0x2d, 0x2d, 0x3c, 0x34, 0x3c, 0x75, 0x41,
6258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x41, 0x75, 0xf7, 0xa5, 0x8c, 0xa5, 0xf7, 0xf7,
6268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
6328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
6338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 9 */
6348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
6358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
6368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x0c, 0x18, 0x18, 0x18, 0x0c, 0x0c, 0x0c,
6378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
6388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
6398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
6408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x18, 0x39, 0x39, 0x39, 0x39, 0x39,
6418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
6428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
6438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
6448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x19, 0x36, 0x36, 0x48, 0x3f, 0x48, 0x8d, 0x4e,
6458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4e, 0x8d, 0xff, 0xc6, 0xa8, 0xc6, 0xff, 0xff,
6468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
6538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 10 */
6548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
6558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x07, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e,
6568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x0e, 0x1c, 0x1c, 0x1c, 0x0e, 0x0e, 0x0e,
6578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0e, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
6588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
6598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
6608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x1c, 0x42, 0x42, 0x42, 0x42, 0x42,
6618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
6628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
6638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
6648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1d, 0x3f, 0x3f, 0x54, 0x49, 0x54, 0xa4, 0x5b,
6658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x5b, 0xa4, 0xff, 0xe7, 0xc4, 0xe7, 0xff, 0xff,
6668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
6738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 11 */
6748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
6758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x07, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
6768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x10, 0x10, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10,
6778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
6808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x20, 0x20, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
6818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
6828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
6838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
6848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1d, 0x48, 0x48, 0x60, 0x54, 0x60, 0xbc, 0x68,
6858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x68, 0xbc, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff,
6868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
6938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 12 */
6948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
6958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
6968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x14, 0x14, 0x28, 0x28, 0x28, 0x14, 0x14, 0x14,
6978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x14, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
6988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
6998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
7008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x28, 0x28, 0x28, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
7018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
7028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
7038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
7048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x22, 0x5a, 0x5a, 0x78, 0x69, 0x78, 0xeb, 0x82,
7058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x82, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
7138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 13 */
7148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
7158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
7168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x18, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18,
7178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
7188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
7198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
7208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x30, 0x30, 0x30, 0x72, 0x72, 0x72, 0x72, 0x72,
7218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72,
7228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72, 0x72,
7238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
7248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x22, 0x6c, 0x6c, 0x90, 0x7e, 0x90, 0xff, 0x9c,
7258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
7338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 14 */
7348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
7358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
7368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x1c, 0x38, 0x38, 0x38, 0x1c, 0x1c, 0x1c,
7378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
7388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
7398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
7408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x38, 0x38, 0x38, 0x85, 0x85, 0x85, 0x85, 0x85,
7418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
7428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85,
7438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
7448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x2a, 0x7e, 0x7e, 0xa8, 0x93, 0xa8, 0xff, 0xb6,
7458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
7538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 15 */
7548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
7558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
7568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x20, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20,
7578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
7588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
7598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
7608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x40, 0x40, 0x40, 0x98, 0x98, 0x98, 0x98, 0x98,
7618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
7628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,
7638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
7648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x2a, 0x90, 0x90, 0xc0, 0xa8, 0xc0, 0xff, 0xd0,
7658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xd0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 },
7738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{			/* Quality 16-31 */
7748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x00,
7758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x01,
7848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
7928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 }
7938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
7948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
7958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct cmd tp6810_cx_init_common[] = {
7968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x1c, 0x00},
7978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R10_SIF_TYPE, 0x00},
7988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4e, 0x00},
7998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4f, 0x00},
8008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R50, 0xff},
8018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R51, 0x03},
8028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x00, 0x07},
8038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R79_QUALITY, 0x03},
8048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R2F_TIMING_CFG, 0x37},
8058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R30_SENSOR_CFG, 0x10},
8068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R21_ENDP_1_CTL, 0x00},
8078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R52, 0x40},
8088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R53, 0x40},
8098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R54_DARK_CFG, 0x40},
8108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R30_SENSOR_CFG, 0x18},
8118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4b, 0x00},
8128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R3F_FRAME_RATE, 0x83},
8138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R79_QUALITY, 0x05},
8148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R21_ENDP_1_CTL, 0x00},
8158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7c, 0x04},
8168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x25, 0x14},
8178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x26, 0x0f},
8188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7b, 0x10},
8198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
8208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
8218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct cmd tp6810_ov_init_common[] = {
8228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x1c, 0x00},
8238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R10_SIF_TYPE, 0x00},
8248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4e, 0x00},
8258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4f, 0x00},
8268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R50, 0xff},
8278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R51, 0x03},
8288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x00, 0x07},
8298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R52, 0x40},
8308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R53, 0x40},
8318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R54_DARK_CFG, 0x40},
8328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R79_QUALITY, 0x03},
8338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R2F_TIMING_CFG, 0x17},
8348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R30_SENSOR_CFG, 0x18},
8358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R21_ENDP_1_CTL, 0x00},
8368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R3F_FRAME_RATE, 0x86},
8378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x25, 0x18},
8388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x26, 0x0f},
8398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7b, 0x90},
8408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
8418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
8428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct cmd tp6810_bridge_start[] = {
8438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x59, 0x88},
8448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x5a, 0x0f},
8458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x5b, 0x4e},
8468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R5C_EDGE_THRLD, 0x63},
8478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{TP6800_R5D_DEMOSAIC_CFG, 0x00},
8488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x03, 0x7f},
8498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x04, 0x80},
8508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x06, 0x00},
8518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x00, 0x00},
8528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
8538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
8548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct cmd tp6810_late_start[] = {
8558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7d, 0x01},
8568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb0, 0x04},
8578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb1, 0x04},
8588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb2, 0x04},
8598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb3, 0x04},
8608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb4, 0x04},
8618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb5, 0x04},
8628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb6, 0x08},
8638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb7, 0x08},
8648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb8, 0x04},
8658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xb9, 0x04},
8668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xba, 0x04},
8678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xbb, 0x04},
8688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xbc, 0x04},
8698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xbd, 0x08},
8708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xbe, 0x08},
8718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xbf, 0x08},
8728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc0, 0x04},
8738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc1, 0x04},
8748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc2, 0x08},
8758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc3, 0x08},
8768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc4, 0x08},
8778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc5, 0x08},
8788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc6, 0x08},
8798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc7, 0x13},
8808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc8, 0x04},
8818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xc9, 0x08},
8828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xca, 0x08},
8838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xcb, 0x08},
8848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xcc, 0x08},
8858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xcd, 0x08},
8868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xce, 0x13},
8878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xcf, 0x13},
8888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd0, 0x08},
8898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd1, 0x08},
8908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd2, 0x08},
8918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd3, 0x08},
8928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd4, 0x08},
8938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd5, 0x13},
8948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd6, 0x13},
8958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd7, 0x13},
8968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd8, 0x08},
8978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xd9, 0x08},
8988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xda, 0x08},
8998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xdb, 0x08},
9008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xdc, 0x13},
9018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xdd, 0x13},
9028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xde, 0x13},
9038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xdf, 0x13},
9048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe0, 0x08},
9058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe1, 0x08},
9068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe2, 0x08},
9078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe3, 0x13},
9088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe4, 0x13},
9098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe5, 0x13},
9108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe6, 0x13},
9118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe7, 0x13},
9128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe8, 0x08},
9138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xe9, 0x08},
9148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xea, 0x13},
9158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xeb, 0x13},
9168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xec, 0x13},
9178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xed, 0x13},
9188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xee, 0x13},
9198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0xef, 0x13},
9208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7d, 0x02},
9218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* later after isoc start */
9238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7d, 0x08},
9248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x7d, 0x00},
9258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
9268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct cmd cx0342_timing_seq[] = {
9288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_0_1_L_irst, 0x20},
9298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_0_2_L_irst, 0x24},
9308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_0_2_H_irst, 0x00},
9318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_0_3_L_irst, 0x2f},
9328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_0_3_H_irst, 0x00},
9338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_0_L_itx, 0x02},
9348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_0_H_itx, 0x00},
9358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_1_L_itx, 0x20},
9368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_1_H_itx, 0x00},
9378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_2_L_itx, 0xe4},
9388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_2_H_itx, 0x00},
9398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_3_L_itx, 0xee},
9408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_1_3_H_itx, 0x00},
9418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_2_0_L_iwl, 0x30},
9428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_2_0_H_iwl, 0x00},
9438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_0_L_ensp, 0x34},
9448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_1_L_ensp, 0xe2},
9458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_1_H_ensp, 0x00},
9468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_2_L_ensp, 0xf6},
9478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_2_H_ensp, 0x00},
9488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_3_L_ensp, 0xf4},
9498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_3_3_H_ensp, 0x02},
9508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_4_0_L_sela, 0x26},
9518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_4_0_H_sela, 0x00},
9528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_4_1_L_sela, 0xe2},
9538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_4_1_H_sela, 0x00},
9548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_0_L_intla, 0x26},
9558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_1_L_intla, 0x29},
9568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_2_L_intla, 0xf0},
9578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_2_H_intla, 0x00},
9588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_3_L_intla, 0xf3},
9598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_5_3_H_intla, 0x00},
9608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_6_0_L_xa_sel_pos, 0x24},
9618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_CHANNEL_7_1_L_cds_pos, 0x02},
9628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{CX0342_TIMING_EN, 0x01},
9638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
9648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* define the JPEG header */
9668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void jpeg_define(u8 *jpeg_hdr,
9678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			int height,
9688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			int width)
9698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
9708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	memcpy(jpeg_hdr, jpeg_head, sizeof jpeg_head);
9718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jpeg_hdr[JPEG_HEIGHT_OFFSET + 0] = height >> 8;
9728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jpeg_hdr[JPEG_HEIGHT_OFFSET + 1] = height;
9738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jpeg_hdr[JPEG_HEIGHT_OFFSET + 2] = width >> 8;
9748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jpeg_hdr[JPEG_HEIGHT_OFFSET + 3] = width;
9758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
9768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set the JPEG quality for sensor soi763a */
9788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void jpeg_set_qual(u8 *jpeg_hdr,
9798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			  int quality)
9808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
9818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int i, sc;
9828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (quality < 50)
9848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sc = 5000 / quality;
9858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	else
9868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sc = 200 - quality * 2;
9878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	for (i = 0; i < 64; i++) {
9888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		jpeg_hdr[JPEG_QT0_OFFSET + i] =
9898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(jpeg_head[JPEG_QT0_OFFSET + i] * sc + 50) / 100;
9908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		jpeg_hdr[JPEG_QT1_OFFSET + i] =
9918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(jpeg_head[JPEG_QT1_OFFSET + i] * sc + 50) / 100;
9928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
9938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
9948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
9958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void reg_w(struct gspca_dev *gspca_dev, u8 index, u8 value)
9968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
9978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct usb_device *dev = gspca_dev->dev;
9988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int ret;
9998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->usb_err < 0)
10018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
10028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
10038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			0x0e,
10048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
10058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			value, index, NULL, 0, 500);
10068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret < 0) {
10078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		pr_err("reg_w err %d\n", ret);
10088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->usb_err = ret;
10098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
10108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* the returned value is in gspca_dev->usb_buf */
10138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void reg_r(struct gspca_dev *gspca_dev, u8 index)
10148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct usb_device *dev = gspca_dev->dev;
10168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int ret;
10178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->usb_err < 0)
10198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
10208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
10218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			0x0d,
10228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
10238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			0, index, gspca_dev->usb_buf, 1, 500);
10248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret < 0) {
10258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		pr_err("reg_r err %d\n", ret);
10268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->usb_err = ret;
10278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
10288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void reg_w_buf(struct gspca_dev *gspca_dev,
10318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			const struct cmd *p, int l)
10328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	do {
10348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, p->reg, p->val);
10358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		p++;
10368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} while (--l > 0);
10378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int i2c_w(struct gspca_dev *gspca_dev, u8 index, u8 value)
10408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
10428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
10448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R19_SIF_ADDR_S2, index);
10458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R13_SIF_TX_DATA, value);
10468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x01);
10478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800)
10488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return 0;
10498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	msleep(5);
10508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R11_SIF_CONTROL);
10518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->usb_buf[0] == 0)
10528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return 0;
10538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
10548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return -1;				/* error */
10558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void i2c_w_buf(struct gspca_dev *gspca_dev,
10588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			const struct cmd *p, int l)
10598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	do {
10618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, p->reg, p->val);
10628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		p++;
10638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} while (--l > 0);
10648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int i2c_r(struct gspca_dev *gspca_dev, u8 index, int len)
10678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
10698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int v;
10708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R19_SIF_ADDR_S2, index);
10728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x02);
10738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	msleep(5);
10748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R14_SIF_RX_DATA);
10758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	v = gspca_dev->usb_buf[0];
10768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800)
10778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return v;
10788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (len > 1) {
10798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_r(gspca_dev, TP6800_R1B_SIF_RX_DATA2);
10808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		v |= (gspca_dev->usb_buf[0] << 8);
10818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
10828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R11_SIF_CONTROL);
10838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->usb_buf[0] == 0)
10848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return v;
10858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
10868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return -1;
10878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
10888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void bulk_w(struct gspca_dev *gspca_dev,
10908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		  u8 tag,
10918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		  const u8 *data,
10928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		  int length)
10938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
10948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct usb_device *dev = gspca_dev->dev;
10958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int count, actual_count, ret;
10968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
10978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->usb_err < 0)
10988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
10998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	for (;;) {
11008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		count = length > BULK_OUT_SIZE - 1
11018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				? BULK_OUT_SIZE - 1 : length;
11028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->usb_buf[0] = tag;
11038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		memcpy(&gspca_dev->usb_buf[1], data, count);
11048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		ret = usb_bulk_msg(dev,
11058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				   usb_sndbulkpipe(dev, 3),
11068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				   gspca_dev->usb_buf, count + 1,
11078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				   &actual_count, 500);
11088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (ret < 0) {
11098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			pr_err("bulk write error %d tag=%02x\n",
11108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ret, tag);
11118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->usb_err = ret;
11128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			return;
11138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
11148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		length -= count;
11158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (length <= 0)
11168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			break;
11178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		data += count;
11188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
11198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
11208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int probe_6810(struct gspca_dev *gspca_dev)
11228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
11238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 gpio;
11248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int ret;
11258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
11278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gpio = gspca_dev->usb_buf[0];
11288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x04);	/* i2c 16 bits */
11328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x21);	/* ov??? */
11338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R1A_SIF_TX_DATA2, 0x00);
11348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (i2c_w(gspca_dev, 0x00, 0x00) >= 0)
11358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return SENSOR_SOI763A;
11368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00);	/* i2c 8 bits */
11398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x7f);	/* (unknown i2c) */
11408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (i2c_w(gspca_dev, 0x00, 0x00) >= 0)
11418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -2;
11428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00);	/* i2c 8 bits */
11478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x11);	/* tas??? / hv??? */
11488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x00, 1);
11498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -3;
11518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x6e);	/* po??? */
11568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x00, 1);
11578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -4;
11598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x01, 1);
11618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -5;
11638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x04);	/* i2c 16 bits */
11688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x5d);	/* mi/mt??? */
11698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x00, 2);
11708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -6;
11728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x5c);	/* mi/mt??? */
11778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x36, 2);
11788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -7;
11808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x61);	/* (unknown i2c) */
11858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R1A_SIF_TX_DATA2, 0x10);
11868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (i2c_w(gspca_dev, 0xff, 0x00) >= 0)
11878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return -8;
11888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
11898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
11918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
11928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00);	/* i2c 8 bits */
11938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20);	/* cx0342 */
11948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	ret = i2c_r(gspca_dev, 0x00, 1);
11958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (ret > 0)
11968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return SENSOR_CX0342;
11978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return -9;
11988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
11998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
12008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void cx0342_6810_init(struct gspca_dev *gspca_dev)
12018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
12028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init_1[] = {
12038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x2f},
12048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x25, 0x02},
12058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R21_ENDP_1_CTL, 0x00},
12068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3F_FRAME_RATE, 0x80},
12078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x2f},
12088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xe1},
12098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xc1},
12108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xe1},
12118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R11_SIF_CONTROL, 0x00},
12128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
12138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init_2[] = {
12148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R78_FORMAT, 0x48},
12158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R11_SIF_CONTROL, 0x00},
12168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
12178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init[] = {
12188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_OUTPUT_CTRL, 0x07},
12198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_BYPASS_MODE, 0x58},
12208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_GPXLTHD_L, 0x28},
12218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RBPXLTHD_L, 0x28},
12228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_PLANETHD_L, 0x50},
12238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_PLANETHD_H, 0x03},
12248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RB_GAP_L, 0xff},
12258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RB_GAP_H, 0x07},
12268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_G_GAP_L, 0xff},
12278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_G_GAP_H, 0x07},
12288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RST_OVERFLOW_L, 0x5c},
12298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RST_OVERFLOW_H, 0x01},
12308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_OVERFLOW_L, 0xfc},
12318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_OVERFLOW_H, 0x03},
12328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_UNDERFLOW_L, 0x00},
12338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_UNDERFLOW_H, 0x00},
12348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x40},
12358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_GLOBAL_GAIN, 0x01},
12368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_CLOCK_GEN, 0x00},
12378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x02},
12388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_IDLE_CTRL, 0x05},
12398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADCGN, 0x00},
12408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADC_CTL, 0x00},
12418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LVRST_BLBIAS, 0x01},
12428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_VTHSEL, 0x0b},
12438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAMP_RIV, 0x0b},
12448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LDOSEL, 0x07},
12458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_L, 0x40},
12468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_H, 0x02},
12478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
12488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_AUTO_ADC_CALIB, 0x81},
12498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_TIMING_EN, 0x01},
12508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
12518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
12528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init_1, ARRAY_SIZE(reg_init_1));
12538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_cx_init_common,
12548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_cx_init_common));
12558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init_2, ARRAY_SIZE(reg_init_2));
12568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
12578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20);	/* cx0342 I2C addr */
12588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
12598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, cx0342_timing_seq, ARRAY_SIZE(cx0342_timing_seq));
12608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
12618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
12628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void soi763a_6810_init(struct gspca_dev *gspca_dev)
12638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
12648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init_1[] = {
12658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x2f},
12668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xe1},
12678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x25, 0x02},
12688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R21_ENDP_1_CTL, 0x00},
12698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3F_FRAME_RATE, 0x80},
12708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x2f},
12718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xc1},
12728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
12738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init_2[] = {
12748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R78_FORMAT, 0x54},
12758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
12768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init[] = {
12778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00},
12788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x01, 0x80},
12798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x02, 0x80},
12808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x03, 0x90},
12818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x04, 0x20},
12828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x05, 0x20},
12838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x06, 0x80},
12848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x07, 0x00},
12858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x08, 0xff},
12868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x09, 0xff},
12878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0a, 0x76},		/* 7630 = soi673a */
12888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0b, 0x30},
12898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0c, 0x20},
12908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0d, 0x20},
12918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0e, 0xff},
12928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0f, 0xff},
12938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x10, 0x41},
12948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x15, 0x14},
12958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x11, 0x40},
12968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x12, 0x48},
12978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x13, 0x80},
12988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x14, 0x80},
12998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x16, 0x03},
13008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x28, 0xb0},
13018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x71, 0x20},
13028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x75, 0x8e},
13038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x17, 0x1b},
13048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x18, 0xbd},
13058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x19, 0x05},
13068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1a, 0xf6},
13078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1b, 0x04},
13088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1c, 0x7f},		/* omnivision */
13098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1d, 0xa2},
13108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1e, 0x00},
13118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1f, 0x00},
13128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x20, 0x45},
13138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x21, 0x80},
13148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x22, 0x80},
13158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x23, 0xee},
13168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x24, 0x50},
13178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x25, 0x7a},
13188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x26, 0xa0},
13198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x27, 0x9a},
13208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x29, 0x30},
13218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2a, 0x80},
13228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2b, 0x00},
13238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2c, 0xac},
13248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2d, 0x05},
13258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2e, 0x80},
13268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2f, 0x3c},
13278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x30, 0x22},
13288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x31, 0x00},
13298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x32, 0x86},
13308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x33, 0x08},
13318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x34, 0xff},
13328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x35, 0xff},
13338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x36, 0xff},
13348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x37, 0xff},
13358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x38, 0xff},
13368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x39, 0xff},
13378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3a, 0xfe},
13388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3b, 0xfe},
13398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3c, 0xfe},
13408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3d, 0xfe},
13418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3e, 0xfe},
13428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x3f, 0x71},
13438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x40, 0xff},
13448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x41, 0xff},
13458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x42, 0xff},
13468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x43, 0xff},
13478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x44, 0xff},
13488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x45, 0xff},
13498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x46, 0xff},
13508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x47, 0xff},
13518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x48, 0xff},
13528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x49, 0xff},
13538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4a, 0xfe},
13548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4b, 0xff},
13558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4c, 0x00},
13568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4d, 0x00},
13578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4e, 0xff},
13588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4f, 0xff},
13598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x50, 0xff},
13608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x51, 0xff},
13618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x52, 0xff},
13628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x53, 0xff},
13638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x54, 0xff},
13648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x55, 0xff},
13658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x56, 0xff},
13668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x57, 0xff},
13678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x58, 0xff},
13688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x59, 0xff},
13698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5a, 0xff},
13708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5b, 0xfe},
13718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5c, 0xff},
13728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5d, 0x8f},
13738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5e, 0xff},
13748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x5f, 0x8f},
13758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x60, 0xa2},
13768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x61, 0x4a},
13778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x62, 0xf3},
13788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x63, 0x75},
13798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x64, 0xf0},
13808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x65, 0x00},
13818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x66, 0x55},
13828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x67, 0x92},
13838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x68, 0xa0},
13848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x69, 0x4a},
13858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6a, 0x22},
13868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6b, 0x00},
13878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6c, 0x33},
13888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6d, 0x44},
13898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6e, 0x22},
13908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6f, 0x84},
13918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x70, 0x0b},
13928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x72, 0x10},
13938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x73, 0x50},
13948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x74, 0x21},
13958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x76, 0x00},
13968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x77, 0xa5},
13978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x78, 0x80},
13988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x79, 0x80},
13998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7a, 0x80},
14008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7b, 0xe2},
14018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7c, 0x00},
14028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7d, 0xf7},
14038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7e, 0x00},
14048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7f, 0x00},
14058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
14068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init_1, ARRAY_SIZE(reg_init_1));
14088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_ov_init_common,
14098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_ov_init_common));
14108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init_2, ARRAY_SIZE(reg_init_2));
14118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, 0x12, 0x80);		/* sensor reset */
14138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	msleep(10);
14148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
14158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
14168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set the gain and exposure */
14188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setexposure(struct gspca_dev *gspca_dev)
14198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
14208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
14218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_CX0342) {
14238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		int expo;
14248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		expo = (sd->ctrls[EXPOSURE].val << 2) - 1;
14268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_L, expo);
14278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_H, expo >> 8);
14288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800)
14298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			i2c_w(gspca_dev, CX0342_RAW_GBGAIN_H,
14308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine						sd->ctrls[GAIN].val >> 8);
14318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_RAW_GBGAIN_L, sd->ctrls[GAIN].val);
14328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800)
14338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			i2c_w(gspca_dev, CX0342_RAW_GRGAIN_H,
14348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine						sd->ctrls[GAIN].val >> 8);
14358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_RAW_GRGAIN_L, sd->ctrls[GAIN].val);
14368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800)
14378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			i2c_w(gspca_dev, CX0342_RAW_BGAIN_H,
14388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine						sd->ctrls[BGAIN].val >> 8);
14398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_RAW_BGAIN_L, sd->ctrls[BGAIN].val);
14408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800)
14418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			i2c_w(gspca_dev, CX0342_RAW_RGAIN_H,
14428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine						sd->ctrls[RGAIN].val >> 8);
14438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_RAW_RGAIN_L, sd->ctrls[RGAIN].val);
14448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_SYS_CTRL_0,
14458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				sd->bridge == BRIDGE_TP6800 ? 0x80 : 0x81);
14468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
14478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
14488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* soi763a */
14508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, 0x10,		/* AEC_H (exposure time) */
14518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			 sd->ctrls[EXPOSURE].val);
14528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	i2c_w(gspca_dev, 0x76, 0x02);	 * AEC_L ([1:0] */
14538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, 0x00,		/* gain */
14548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			 sd->ctrls[GAIN].val);
14558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
14568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set the JPEG quantization tables */
14588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void set_dqt(struct gspca_dev *gspca_dev, u8 q)
14598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
14608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
14618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* update the jpeg quantization tables */
14638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	PDEBUG(D_STREAM, "q %d -> %d", sd->quality, q);
14648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	sd->quality = q;
14658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (q > 16)
14668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		q = 16;
14678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_SOI763A)
14688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		jpeg_set_qual(sd->jpeg_hdr, jpeg_q[q]);
14698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	else
14708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		memcpy(&sd->jpeg_hdr[JPEG_QT0_OFFSET - 1],
14718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			DQT[q], sizeof DQT[0]);
14728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
14738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set the JPEG compression quality factor */
14758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setquality(struct gspca_dev *gspca_dev)
14768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
14778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
14788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u16 q;
14798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	q = sd->ctrls[QUALITY].val;
14818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (q != 16)
14828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		q = 15 - q;
14838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R7A_BLK_THRLD, 0x00);
14858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R79_QUALITY, 0x04);
14868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R79_QUALITY, q);
14878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* auto quality */
14898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (q == 15 && sd->bridge == BRIDGE_TP6810) {
14908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		msleep(4);
14918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R7A_BLK_THRLD, 0x19);
14928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
14938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
14948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
14958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 color_null[18] = {
14968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	0x00, 0x00, 0x00, 0x00, 0x00, 0x00
14998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
15008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const u8 color_gain[NSENSORS][18] = {
15018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[SENSOR_CX0342] =
15028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4c, 0x00, 0xa9, 0x00, 0x31, 0x00,	/* Y R/G/B (LE values) */
15038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xb6, 0x03, 0x6c, 0x03, 0xe0, 0x00,	/* U R/G/B */
15048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xdf, 0x00, 0x46, 0x03, 0xdc, 0x03},	/* V R/G/B */
15058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[SENSOR_SOI763A] =
15068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{0x4c, 0x00, 0x95, 0x00, 0x1d, 0x00,	/* Y R/G/B (LE values) */
15078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xb6, 0x03, 0x6c, 0x03, 0xd7, 0x00,	/* U R/G/B */
15088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 0xd5, 0x00, 0x46, 0x03, 0xdc, 0x03},	/* V R/G/B */
15098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
15108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
15118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setgamma(struct gspca_dev *gspca_dev)
15128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
15138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
15148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int gamma;
15158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define NGAMMA 6
15168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const u8 gamma_tb[NGAMMA][3][1024] = {
15178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {				/* gamma 0 - from tp6800 + soi763a */
15188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
15228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02,
15268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x02, 0x03, 0x05, 0x07, 0x07, 0x08, 0x09, 0x09,
15278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0a, 0x0c, 0x0c, 0x0d, 0x0e, 0x0e, 0x10, 0x11,
15288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x11, 0x12, 0x14, 0x14, 0x15, 0x16, 0x16, 0x17,
15298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x17, 0x18, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1e,
15308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x22, 0x23, 0x23,
15318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28,
15328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x29, 0x29, 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2f,
15338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x30, 0x30, 0x31, 0x31, 0x33, 0x33, 0x34,
15348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x34, 0x34, 0x35, 0x35, 0x37, 0x37, 0x38, 0x38,
15358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x39, 0x39, 0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c,
15368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3c, 0x3d, 0x3d, 0x3f, 0x3f, 0x40, 0x40, 0x40,
15378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x44, 0x45,
15388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x45, 0x47, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49,
15398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c,
15408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4d, 0x4d, 0x4d, 0x4f, 0x4f, 0x50, 0x50, 0x50,
15418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x54,
15428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x55, 0x55, 0x56, 0x56, 0x58, 0x58, 0x58,
15438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x59, 0x59, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b,
15448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5b, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5f,
15458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5f, 0x5f, 0x60, 0x60, 0x60, 0x61, 0x61, 0x61,
15468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x62, 0x62, 0x62, 0x63, 0x63, 0x63, 0x65, 0x65,
15478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x66, 0x67, 0x67, 0x67, 0x68,
15488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x6a, 0x6a,
15498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
15508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70,
15518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x71, 0x71, 0x71, 0x71, 0x73, 0x73, 0x73,
15528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x77,
15538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x79, 0x79,
15548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b,
15558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d,
15568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80,
15578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82,
15588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x86,
15598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0x88, 0x89,
15608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b,
15618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8d, 0x8e,
15628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x8f, 0x90,
15638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91,
15648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x93,
15658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x94, 0x94, 0x96, 0x96, 0x96, 0x96,
15668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
15678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a,
15688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c,
15698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e,
15708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa0,
15718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2,
15728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
15738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6,
15748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8,
15758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab,
15768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac, 0xad,
15778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae, 0xae,
15788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
15798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
15808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
15818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6,
15828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8,
15838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9,
15848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba, 0xbc, 0xbc,
15858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
15868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf,
15878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2,
15888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3,
15898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
15908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
15918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9, 0xc9,
15928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca,
15938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc,
15948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
15958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
15968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1,
15978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3,
15988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6,
15998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
16008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
16018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb,
16028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
16038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf,
16048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0,
16058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
16068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
16078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5,
16088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7,
16098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8,
16108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb,
16118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed,
16128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee,
16138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0,
16148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
16158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4,
16168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6,
16178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8,
16188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
16198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
16208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
16458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
16468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
16508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02,
16548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x02, 0x03, 0x05, 0x07, 0x07, 0x08, 0x09, 0x09,
16558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0a, 0x0c, 0x0c, 0x0d, 0x0e, 0x0e, 0x10, 0x11,
16568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x11, 0x12, 0x14, 0x14, 0x15, 0x16, 0x16, 0x17,
16578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x17, 0x18, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1e,
16588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x22, 0x23, 0x23,
16598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28,
16608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x29, 0x29, 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2f,
16618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x30, 0x30, 0x31, 0x31, 0x33, 0x33, 0x34,
16628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x34, 0x34, 0x35, 0x35, 0x37, 0x37, 0x38, 0x38,
16638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x39, 0x39, 0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c,
16648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3c, 0x3d, 0x3d, 0x3f, 0x3f, 0x40, 0x40, 0x40,
16658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x44, 0x45,
16668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x45, 0x47, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49,
16678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c,
16688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4d, 0x4d, 0x4d, 0x4f, 0x4f, 0x50, 0x50, 0x50,
16698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x54,
16708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x55, 0x55, 0x56, 0x56, 0x58, 0x58, 0x58,
16718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x59, 0x59, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b,
16728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5b, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5f,
16738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5f, 0x5f, 0x60, 0x60, 0x60, 0x61, 0x61, 0x61,
16748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x62, 0x62, 0x62, 0x63, 0x63, 0x63, 0x65, 0x65,
16758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x66, 0x67, 0x67, 0x67, 0x68,
16768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x6a, 0x6a,
16778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
16788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70,
16798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x71, 0x71, 0x71, 0x71, 0x73, 0x73, 0x73,
16808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x77,
16818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x79, 0x79,
16828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b,
16838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d,
16848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80,
16858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82,
16868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x86,
16878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0x88, 0x89,
16888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b,
16898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8d, 0x8e,
16908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x8f, 0x90,
16918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91,
16928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x93,
16938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x94, 0x94, 0x96, 0x96, 0x96, 0x96,
16948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
16958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a,
16968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c,
16978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e,
16988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa0,
16998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2,
17008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
17018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6,
17028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8,
17038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab,
17048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac, 0xad,
17058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae, 0xae,
17068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
17078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
17088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
17098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6,
17108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8,
17118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9,
17128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba, 0xbc, 0xbc,
17138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
17148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf,
17158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2,
17168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3,
17178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
17188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
17198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9, 0xc9,
17208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca,
17218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc,
17228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
17238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
17248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1,
17258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3,
17268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6,
17278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
17288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
17298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb,
17308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
17318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf,
17328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0,
17338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
17348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
17358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5,
17368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7,
17378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8,
17388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb,
17398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed,
17408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee,
17418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0,
17428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
17438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4,
17448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6,
17458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8,
17468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
17478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
17488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
17738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
17748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
17788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02,
17828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x02, 0x03, 0x05, 0x07, 0x07, 0x08, 0x09, 0x09,
17838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0a, 0x0c, 0x0c, 0x0d, 0x0e, 0x0e, 0x10, 0x11,
17848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x11, 0x12, 0x14, 0x14, 0x15, 0x16, 0x16, 0x17,
17858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x17, 0x18, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1e,
17868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x22, 0x23, 0x23,
17878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28,
17888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x29, 0x29, 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2f,
17898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x30, 0x30, 0x31, 0x31, 0x33, 0x33, 0x34,
17908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x34, 0x34, 0x35, 0x35, 0x37, 0x37, 0x38, 0x38,
17918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x39, 0x39, 0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c,
17928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3c, 0x3d, 0x3d, 0x3f, 0x3f, 0x40, 0x40, 0x40,
17938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x42, 0x42, 0x43, 0x43, 0x44, 0x44, 0x44, 0x45,
17948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x45, 0x47, 0x47, 0x47, 0x48, 0x48, 0x49, 0x49,
17958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c,
17968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4d, 0x4d, 0x4d, 0x4f, 0x4f, 0x50, 0x50, 0x50,
17978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x52, 0x53, 0x53, 0x54, 0x54, 0x54,
17988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x55, 0x55, 0x56, 0x56, 0x58, 0x58, 0x58,
17998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x59, 0x59, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b,
18008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5b, 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5e, 0x5f,
18018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5f, 0x5f, 0x60, 0x60, 0x60, 0x61, 0x61, 0x61,
18028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x62, 0x62, 0x62, 0x63, 0x63, 0x63, 0x65, 0x65,
18038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x66, 0x67, 0x67, 0x67, 0x68,
18048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x6a, 0x6a,
18058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
18068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70,
18078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x71, 0x71, 0x71, 0x71, 0x73, 0x73, 0x73,
18088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x76,
18098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x79, 0x79,
18108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b,
18118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d,
18128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x80,
18138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82,
18148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x86,
18158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0x88, 0x89,
18168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b,
18178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8d, 0x8e,
18188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x8f, 0x90,
18198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91,
18208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x93,
18218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x94, 0x94, 0x96, 0x96, 0x96, 0x96,
18228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
18238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a,
18248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c,
18258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e,
18268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa0,
18278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2,
18288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
18298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6,
18308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8,
18318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab,
18328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac, 0xad,
18338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae, 0xae,
18348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
18358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
18368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
18378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6,
18388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8,
18398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9,
18408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba, 0xbc, 0xbc,
18418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
18428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf,
18438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2,
18448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3,
18458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
18468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
18478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9, 0xc9,
18488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca,
18498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc,
18508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
18518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
18528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1,
18538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3,
18548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6,
18558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
18568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
18578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb,
18588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
18598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf,
18608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0,
18618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
18628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
18638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5,
18648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7,
18658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8,
18668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb,
18678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed,
18688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee,
18698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0,
18708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
18718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4,
18728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6,
18738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8,
18748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
18758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
18768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
18998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
19008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
19018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb}
19028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
19038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {				/* gamma 1 - from tp6810 + soi763a */
19048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
19078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x01, 0x02, 0x03, 0x05, 0x07, 0x08, 0x09, 0x0a,
19088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12, 0x14, 0x15,
19098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x16, 0x17, 0x18, 0x1a, 0x1a, 0x1b, 0x1c, 0x1e,
19108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1f, 0x20, 0x22, 0x22, 0x23, 0x25, 0x26, 0x27,
19118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x27, 0x28, 0x29, 0x2b, 0x2b, 0x2c, 0x2d, 0x2f,
19128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x30, 0x31, 0x33, 0x33, 0x34, 0x35, 0x35,
19138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x37, 0x38, 0x38, 0x39, 0x3a, 0x3a, 0x3b, 0x3c,
19148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3c, 0x3d, 0x3f, 0x3f, 0x40, 0x42, 0x42, 0x43,
19158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x43, 0x44, 0x45, 0x45, 0x47, 0x47, 0x48, 0x49,
19168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x49, 0x4a, 0x4a, 0x4b, 0x4b, 0x4c, 0x4d, 0x4d,
19178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x4f, 0x50, 0x50, 0x52, 0x52, 0x53, 0x53,
19188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x54, 0x54, 0x55, 0x56, 0x56, 0x58, 0x58, 0x59,
19198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c, 0x5c, 0x5e,
19208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5e, 0x5e, 0x5f, 0x5f, 0x60, 0x60, 0x61, 0x61,
19218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x62, 0x62, 0x63, 0x63, 0x65, 0x65, 0x65, 0x66,
19228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x66, 0x67, 0x67, 0x68, 0x68, 0x69, 0x69, 0x69,
19238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6a, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
19248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x71, 0x71,
19258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x73, 0x73, 0x73, 0x74, 0x74, 0x74, 0x75, 0x75,
19268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x77, 0x77, 0x78, 0x78, 0x79, 0x79, 0x79,
19278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c,
19288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7d, 0x7d, 0x7f, 0x7f, 0x80, 0x80, 0x80,
19298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x84, 0x84,
19308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x88,
19318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a,
19328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e,
19338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x91,
19348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x91, 0x92, 0x92, 0x92, 0x92, 0x93, 0x93,
19358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x94, 0x94, 0x94, 0x96, 0x96, 0x96, 0x97,
19368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x97, 0x97, 0x98, 0x98, 0x98, 0x99, 0x99,
19378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x99, 0x9a, 0x9a, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b,
19388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9e,
19398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1,
19408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa3, 0xa3,
19418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5,
19428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa5, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8,
19438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab, 0xab,
19448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xac, 0xac, 0xac, 0xad, 0xad, 0xad, 0xad, 0xae,
19458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0,
19468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
19478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3, 0xb4,
19488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7,
19498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8,
19508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xba,
19518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd,
19528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf,
19538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2,
19548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4,
19558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc4, 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6,
19568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7,
19578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca,
19588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc,
19598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
19608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
19618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1,
19628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4,
19638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
19648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8,
19658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda,
19668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb,
19678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
19688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0,
19698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1,
19708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3,
19718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
19728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6,
19738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8,
19748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9,
19758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec,
19768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed,
19778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef,
19788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
19798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3, 0xf3, 0xf3,
19808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5,
19818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6,
19828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8,
19838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9,
19848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
19858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
19868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
19878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe,
19888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
19898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
19998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
20318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
20328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
20368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x05, 0x07, 0x07, 0x08, 0x09, 0x0a, 0x0c, 0x0d,
20378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0e, 0x10, 0x10, 0x11, 0x12, 0x14, 0x15, 0x15,
20388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x16, 0x17, 0x18, 0x1a, 0x1a, 0x1b, 0x1c, 0x1e,
20398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1e, 0x1f, 0x20, 0x20, 0x22, 0x23, 0x25, 0x25,
20408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x26, 0x27, 0x27, 0x28, 0x29, 0x29, 0x2b, 0x2c,
20418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2c, 0x2d, 0x2d, 0x2f, 0x30, 0x30, 0x31, 0x31,
20428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x33, 0x34, 0x34, 0x35, 0x35, 0x37, 0x38, 0x38,
20438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x39, 0x39, 0x3a, 0x3a, 0x3b, 0x3b, 0x3c, 0x3d,
20448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3d, 0x3f, 0x3f, 0x40, 0x40, 0x42, 0x42, 0x43,
20458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x43, 0x44, 0x44, 0x45, 0x45, 0x47, 0x47, 0x48,
20468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x48, 0x49, 0x49, 0x4a, 0x4a, 0x4b, 0x4b, 0x4c,
20478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4c, 0x4d, 0x4d, 0x4d, 0x4f, 0x4f, 0x50, 0x50,
20488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54, 0x55,
20498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x56, 0x56, 0x56, 0x58, 0x58, 0x59, 0x59,
20508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5a, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c, 0x5c, 0x5c,
20518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5e, 0x5e, 0x5f, 0x5f, 0x5f, 0x60, 0x60, 0x60,
20528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x61, 0x62, 0x62, 0x62, 0x63, 0x63, 0x65,
20538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x65, 0x66, 0x66, 0x66, 0x67, 0x67, 0x67,
20548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x69, 0x69, 0x6a, 0x6a, 0x6a,
20558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e, 0x6e,
20568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x70, 0x71,
20578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x71, 0x73, 0x73, 0x73, 0x74, 0x74, 0x74,
20588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x75, 0x75, 0x75, 0x77, 0x77, 0x77, 0x78, 0x78,
20598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x78, 0x79, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7a,
20608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d,
20618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7d, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80,
20628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x80, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82,
20638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85, 0x86,
20648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x88, 0x88, 0x88, 0x88, 0x89, 0x89,
20658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b,
20668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8d, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e,
20678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x90,
20688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92, 0x92,
20698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x94,
20708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97, 0x97,
20718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x99,
20728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b,
20738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9b, 0x9c, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d,
20748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0xa0, 0xa0,
20758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2,
20768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4,
20778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5,
20788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8,
20798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab,
20808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac, 0xad,
20818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae,
20828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
20838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
20848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
20858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6,
20868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8,
20878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9,
20888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba, 0xbc, 0xbc,
20898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
20908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf,
20918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
20928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3,
20938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5,
20948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6,
20958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9,
20968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca,
20978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc,
20988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd,
20998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce, 0xce, 0xcf,
21008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0,
21018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1,
21028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4,
21038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
21048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8,
21058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
21068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb,
21078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
21088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf,
21098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0,
21108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2,
21118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3,
21128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
21138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6,
21148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
21158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9,
21168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb,
21178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed,
21188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee,
21198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0,
21208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1,
21218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4,
21228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5,
21238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7,
21248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8,
21258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
21268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
21278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc,
21288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
21298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe,
21308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
21318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
21598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
21608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x00, 0x00, 0x01, 0x02, 0x03, 0x05, 0x05, 0x07,
21658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x08, 0x09, 0x0a, 0x0a, 0x0c, 0x0d, 0x0e, 0x0e,
21668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x10, 0x11, 0x12, 0x12, 0x14, 0x15, 0x16, 0x16,
21678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x17, 0x18, 0x18, 0x1a, 0x1b, 0x1b, 0x1c, 0x1e,
21688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1e, 0x1f, 0x1f, 0x20, 0x22, 0x22, 0x23, 0x23,
21698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x29, 0x29,
21708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2b, 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2f, 0x30,
21718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x30, 0x31, 0x31, 0x33, 0x33, 0x34, 0x34, 0x35,
21728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x35, 0x37, 0x37, 0x38, 0x38, 0x39, 0x39, 0x3a,
21738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3a, 0x3b, 0x3b, 0x3b, 0x3c, 0x3c, 0x3d, 0x3d,
21748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3f, 0x3f, 0x40, 0x40, 0x42, 0x42, 0x42, 0x43,
21758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x43, 0x44, 0x44, 0x45, 0x45, 0x47, 0x47, 0x47,
21768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x48, 0x48, 0x49, 0x49, 0x49, 0x4a, 0x4a, 0x4b,
21778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4f,
21788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x50, 0x50, 0x50, 0x52, 0x52, 0x52, 0x53,
21798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x53, 0x54, 0x54, 0x54, 0x55, 0x55, 0x55, 0x56,
21808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x56, 0x58, 0x58, 0x58, 0x59, 0x59, 0x59, 0x5a,
21818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5a, 0x5a, 0x5b, 0x5b, 0x5b, 0x5c, 0x5c, 0x5c,
21828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5e, 0x5e, 0x5e, 0x5f, 0x5f, 0x5f, 0x60, 0x60,
21838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x60, 0x61, 0x61, 0x61, 0x62, 0x62, 0x62, 0x63,
21848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x63, 0x63, 0x65, 0x65, 0x65, 0x66, 0x66, 0x66,
21858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x66, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68, 0x69,
21868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x69, 0x69, 0x6a, 0x6a, 0x6a, 0x6a, 0x6c, 0x6c,
21878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6c, 0x6d, 0x6d, 0x6d, 0x6d, 0x6e, 0x6e, 0x6e,
21888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6f, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x70, 0x71,
21898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x71, 0x71, 0x73, 0x73, 0x73, 0x74, 0x74,
21908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x74, 0x75, 0x75, 0x75, 0x75, 0x77, 0x77,
21918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x78, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79,
21928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b,
21938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d,
21948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7f, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80,
21958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x80, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82,
21968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x84, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85,
21978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x85, 0x86, 0x86, 0x86, 0x86, 0x88, 0x88, 0x88,
21988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a,
21998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8d,
22008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e,
22018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x90,
22028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92,
22038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x93, 0x93, 0x93, 0x93, 0x94, 0x94,
22048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x94, 0x96, 0x96, 0x96, 0x96, 0x96,
22058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
22068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a,
22078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9b,
22088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d,
22098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0xa0,
22108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa1,
22118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa3, 0xa3,
22128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,
22138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6,
22148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8,
22158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab,
22168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac,
22178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xae, 0xae,
22188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf,
22198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1,
22208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb2, 0xb2,
22218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb4,
22228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb6,
22238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7,
22248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9,
22258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xba, 0xba,
22268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd,
22278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe,
22288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
22298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2,
22308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3,
22318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5,
22328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6,
22338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
22348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca,
22358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb,
22368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
22378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce,
22388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
22398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
22408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3,
22418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
22428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7,
22438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8,
22448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,
22458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb,
22468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
22478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde,
22488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0,
22498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1,
22508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3,
22518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4,
22528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
22538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7,
22548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
22558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb,
22568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec,
22578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee,
22588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef,
22598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1,
22608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf1, 0xf1, 0xf3, 0xf3, 0xf3, 0xf3,
22618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5,
22628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
22638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8,
22648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
22658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
22668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc,
22678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd,
22688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
22698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
22878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
22888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
22898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {							/* gamma 2 */
22908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x01, 0x02, 0x05, 0x07, 0x08, 0x0a, 0x0c,
22918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x0d, 0x0e, 0x10, 0x12, 0x14, 0x15, 0x16, 0x17,
22928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x18, 0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x22,
22938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x23, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b, 0x2c,
22948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2d, 0x2d, 0x2f, 0x30, 0x31, 0x33, 0x34, 0x34,
22958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x35, 0x37, 0x38, 0x38, 0x39, 0x3a, 0x3b, 0x3b,
22968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3c, 0x3d, 0x3f, 0x3f, 0x40, 0x42, 0x42, 0x43,
22978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x44, 0x44, 0x45, 0x47, 0x47, 0x48, 0x49, 0x49,
22988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4f, 0x4f,
22998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x50, 0x50, 0x52, 0x53, 0x53, 0x54, 0x54, 0x55,
23008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x56, 0x56, 0x58, 0x58, 0x59, 0x5a, 0x5a,
23018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5b, 0x5b, 0x5c, 0x5c, 0x5e, 0x5e, 0x5f, 0x5f,
23028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x60, 0x60, 0x61, 0x61, 0x62, 0x62, 0x63, 0x63,
23038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x65, 0x65, 0x66, 0x66, 0x67, 0x67, 0x68,
23048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x69, 0x69, 0x6a, 0x6a, 0x6a, 0x6c, 0x6c,
23058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6d, 0x6d, 0x6e, 0x6e, 0x6e, 0x6f, 0x6f, 0x70,
23068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x70, 0x71, 0x71, 0x73, 0x73, 0x73, 0x74,
23078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x75, 0x75, 0x75, 0x77, 0x77, 0x78, 0x78,
23088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x78, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7b, 0x7b,
23098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7f, 0x7f,
23108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7f, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x82,
23118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x82, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85,
23128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0x89, 0x89,
23138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8d,
23148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8f, 0x8f,
23158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91,
23168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x93, 0x94,
23178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97,
23188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x98, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99,
23198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b,
23208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e,
23218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa0, 0xa1,
23228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2, 0xa3,
23238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5,
23248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, 0xa6, 0xa6, 0xa8,
23258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xab,
23268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xad,
23278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae,
23288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb0,
23298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb2,
23308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3, 0xb4, 0xb4,
23318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7,
23328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8,
23338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba,
23348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd,
23358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe,
23368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0,
23378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc0, 0xc0, 0xc0, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3,
23388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4,
23398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6,
23408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7,
23418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca,
23428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
23438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd,
23448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce, 0xce,
23458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0,
23468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1,
23478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4,
23488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6,
23498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8,
23508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
23518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda,
23528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd,
23538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde,
23548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0,
23558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1,
23568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
23578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4,
23588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5,
23598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6,
23608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8,
23618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9,
23628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb,
23638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed,
23648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee,
23658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0,
23668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1,
23678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf1, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3,
23688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5,
23698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6,
23708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
23718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9,
23728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa,
23738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
23748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
23998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
24178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
24188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x05,
24198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x07, 0x08, 0x09, 0x0a, 0x0d, 0x0e, 0x10, 0x11,
24208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x12, 0x14, 0x15, 0x16, 0x16, 0x17, 0x18, 0x1a,
24218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x20, 0x22, 0x23,
24228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x26, 0x26, 0x27, 0x28, 0x29, 0x29, 0x2b,
24238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2c, 0x2d, 0x2d, 0x2f, 0x30, 0x30, 0x31, 0x33,
24248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x33, 0x34, 0x35, 0x35, 0x37, 0x38, 0x38, 0x39,
24258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3a, 0x3a, 0x3b, 0x3b, 0x3c, 0x3d, 0x3d, 0x3f,
24268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3f, 0x40, 0x42, 0x42, 0x43, 0x43, 0x44, 0x44,
24278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x45, 0x45, 0x47, 0x47, 0x48, 0x48, 0x49, 0x4a,
24288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d,
24298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x4f, 0x50, 0x50, 0x52, 0x52, 0x53, 0x53,
24308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x56, 0x58,
24318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x58, 0x59, 0x59, 0x5a, 0x5a, 0x5a, 0x5b, 0x5b,
24328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5c, 0x5c, 0x5c, 0x5e, 0x5e, 0x5f, 0x5f, 0x5f,
24338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x60, 0x60, 0x61, 0x61, 0x61, 0x62, 0x62, 0x63,
24348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x63, 0x63, 0x65, 0x65, 0x65, 0x66, 0x66, 0x67,
24358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x67, 0x67, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69,
24368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6a, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d,
24378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70,
24388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x71, 0x71, 0x71, 0x73, 0x73, 0x73, 0x73,
24398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x77, 0x77,
24408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x79,
24418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b, 0x7c,
24428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7f, 0x7f,
24438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7f, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81,
24448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x82, 0x82, 0x82, 0x84, 0x84, 0x84, 0x84,
24458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x88,
24468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89, 0x8a,
24478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8b, 0x8d,
24488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8e, 0x8f,
24498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x90, 0x91,
24508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92, 0x92,
24518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x94,
24528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x96, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97,
24538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x98, 0x98, 0x98, 0x98, 0x98, 0x99, 0x99,
24548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x99, 0x99, 0x99, 0x9a, 0x9a, 0x9a, 0x9a, 0x9b,
24558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9c,
24568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e, 0x9e,
24578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa1,
24588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa2,
24598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
24608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5,
24618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8,
24628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xab,
24638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xac,
24648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xac, 0xac, 0xad, 0xad, 0xad, 0xad, 0xad, 0xae,
24658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xaf,
24668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb1,
24678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb2,
24688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb3,
24698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6,
24708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7,
24718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb9,
24728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xba,
24738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
24748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe,
24758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf,
24768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
24778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3,
24788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4,
24798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,
24808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7,
24818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9, 0xc9,
24828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca,
24838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc,
24848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd,
24858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce,
24868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf,
24878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1,
24888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3,
24898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4,
24908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
24918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8,
24928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9,
24938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda,
24948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
24958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
24968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf,
24978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0,
24988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,
24998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
25008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4,
25018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5,
25028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6,
25038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
25048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9,
25058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb,
25068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec,
25078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed,
25088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef,
25098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0,
25108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
25118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4,
25128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5,
25138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6,
25148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
25158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9,
25168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa,
25178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb,
25188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
25458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
25468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00, 0x00, 0x01, 0x02, 0x05, 0x07, 0x08,
25478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x09, 0x0a, 0x0c, 0x0e, 0x10, 0x11, 0x12, 0x14,
25488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x15, 0x16, 0x17, 0x18, 0x1a, 0x1b, 0x1c, 0x1e,
25498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1f, 0x20, 0x20, 0x22, 0x23, 0x25, 0x26, 0x27,
25508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x28, 0x28, 0x29, 0x2b, 0x2c, 0x2d, 0x2d, 0x2f,
25518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x30, 0x31, 0x31, 0x33, 0x34, 0x35, 0x35, 0x37,
25528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x38, 0x38, 0x39, 0x3a, 0x3a, 0x3b, 0x3c, 0x3c,
25538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3d, 0x3f, 0x3f, 0x40, 0x40, 0x42, 0x43, 0x43,
25548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x44, 0x44, 0x45, 0x47, 0x47, 0x48, 0x48, 0x49,
25558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4a, 0x4b, 0x4b, 0x4c, 0x4c, 0x4d, 0x4d,
25568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x4f, 0x50, 0x50, 0x52, 0x52, 0x53, 0x53,
25578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x58, 0x58,
25588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x59, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c, 0x5c,
25598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5c, 0x5e, 0x5e, 0x5f, 0x5f, 0x60, 0x60, 0x61,
25608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x61, 0x62, 0x62, 0x63, 0x63, 0x65, 0x65,
25618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x67, 0x67, 0x67, 0x68, 0x68,
25628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x69, 0x69, 0x69, 0x6a, 0x6a, 0x6a, 0x6c, 0x6c,
25638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6d, 0x6d, 0x6d, 0x6e, 0x6e, 0x6e, 0x6f, 0x6f,
25648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x70, 0x70, 0x70, 0x71, 0x71, 0x71, 0x73, 0x73,
25658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x73, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x77,
25668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x7a,
25678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c,
25688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7c, 0x7d, 0x7d, 0x7d, 0x7f, 0x7f, 0x7f, 0x80,
25698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82,
25708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x85,
25718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0x88, 0x89,
25728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b,
25738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e,
25748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8f, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90,
25758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92, 0x92,
25768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x94,
25778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97, 0x97,
25788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x99,
25798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b,
25808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9b, 0x9c, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d,
25818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0xa0, 0xa0,
25828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2,
25838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4,
25848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5,
25858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa5, 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8,
25868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xab,
25878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xac,
25888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae,
25898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0,
25908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1,
25918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3,
25928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb3, 0xb3, 0xb3, 0xb4, 0xb3, 0xb4, 0xb4, 0xb4,
25938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
25948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
25958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba,
25968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,
25978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe,
25988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,
25998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2,
26008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3,
26018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5,
26028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6,
26038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
26048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca,
26058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb,
26068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
26078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce,
26088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
26098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
26108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3,
26118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4,
26128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
26138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8,
26148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9,
26158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda,
26168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdd,
26178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
26188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf,
26198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
26208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
26218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3,
26228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
26238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6,
26248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7,
26258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,
26268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,
26278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec,
26288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed,
26298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee,
26308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0,
26318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1,
26328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf1, 0xf1, 0xf3, 0xf3, 0xf3, 0xf3,
26338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
26348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6,
26358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7,
26368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
26378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
26388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
26398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
26738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb}
26748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
26758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {				/* gamma 3 - from tp6810 + cx0342 */
26768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x08, 0x09, 0x0c, 0x0d, 0x10, 0x11, 0x14, 0x15,
26778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x17, 0x18, 0x1a, 0x1c, 0x1e, 0x1f, 0x20, 0x23,
26788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x25, 0x26, 0x27, 0x28, 0x2b, 0x2c, 0x2d, 0x2f,
26798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x30, 0x31, 0x33, 0x34, 0x35, 0x37, 0x38, 0x39,
26808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3a, 0x3b, 0x3c, 0x3d, 0x3f, 0x40, 0x42, 0x43,
26818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x44, 0x45, 0x47, 0x48, 0x48, 0x49, 0x4a, 0x4b,
26828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4c, 0x4d, 0x4d, 0x4f, 0x50, 0x52, 0x53, 0x53,
26838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x54, 0x55, 0x56, 0x56, 0x58, 0x59, 0x5a, 0x5a,
26848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5b, 0x5c, 0x5c, 0x5e, 0x5f, 0x5f, 0x60, 0x61,
26858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x62, 0x63, 0x63, 0x65, 0x66, 0x66, 0x67,
26868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x69, 0x6a, 0x6c, 0x6c, 0x6d,
26878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6d, 0x6e, 0x6f, 0x6f, 0x70, 0x70, 0x71, 0x73,
26888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x73, 0x74, 0x74, 0x75, 0x75, 0x77, 0x77, 0x78,
26898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x78, 0x79, 0x7a, 0x7a, 0x7b, 0x7b, 0x7c, 0x7c,
26908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7d, 0x7f, 0x7f, 0x80, 0x80, 0x81, 0x81,
26918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x82, 0x84, 0x84, 0x85, 0x85, 0x86, 0x86,
26928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x88, 0x88, 0x89, 0x89, 0x8a, 0x8a, 0x8b,
26938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8f, 0x8f,
26948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x90, 0x91, 0x91, 0x91, 0x92, 0x92, 0x93,
26958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x94, 0x94, 0x96, 0x96, 0x97, 0x97,
26968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a, 0x9a,
26978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d,
26988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1,
26998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
27008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, 0xa8, 0xa8,
27018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab, 0xac,
27028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xac, 0xac, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae,
27038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1,
27048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3,
27058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
27068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9,
27078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd,
27088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf,
27098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2, 0xc2,
27108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc5,
27118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7,
27128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca,
27138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc,
27148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce,
27158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0,
27168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3,
27178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6,
27188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8,
27198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda,
27208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd,
27218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf,
27228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1,
27238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
27248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4,
27258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6,
27268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8,
27278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb,
27288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec,
27298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee,
27308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0,
27318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
27328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4,
27338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6,
27348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
27358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9,
27368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
27378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb,
27388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
27398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd,
27408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
27418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
27998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
28048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x03, 0x05, 0x07, 0x09, 0x0a, 0x0c, 0x0d, 0x10,
28058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x11, 0x12, 0x14, 0x15, 0x17, 0x18, 0x1a, 0x1b,
28068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1c, 0x1e, 0x1f, 0x20, 0x22, 0x23, 0x25, 0x26,
28078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x27, 0x28, 0x29, 0x2b, 0x2c, 0x2c, 0x2d, 0x2f,
28088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x30, 0x31, 0x33, 0x33, 0x34, 0x35, 0x37, 0x38,
28098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x38, 0x39, 0x3a, 0x3b, 0x3b, 0x3c, 0x3d, 0x3f,
28108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3f, 0x40, 0x42, 0x42, 0x43, 0x44, 0x45, 0x45,
28118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x47, 0x47, 0x48, 0x49, 0x49, 0x4a, 0x4b, 0x4b,
28128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4c, 0x4d, 0x4d, 0x4f, 0x4f, 0x50, 0x52, 0x52,
28138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x53, 0x53, 0x54, 0x54, 0x55, 0x55, 0x56, 0x58,
28148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x58, 0x59, 0x59, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c,
28158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5c, 0x5e, 0x5e, 0x5f, 0x5f, 0x60, 0x60, 0x61,
28168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x62, 0x62, 0x63, 0x63, 0x65, 0x65, 0x66,
28178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x66, 0x67, 0x67, 0x67, 0x68, 0x68, 0x69, 0x69,
28188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6a, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6e,
28198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x71, 0x71,
28208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x73, 0x73, 0x74, 0x74, 0x74, 0x75, 0x75,
28218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x77, 0x77, 0x77, 0x78, 0x78, 0x79, 0x79, 0x79,
28228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c,
28238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7d, 0x7d, 0x7f, 0x7f, 0x7f, 0x80, 0x80,
28248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x80, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x84,
28258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86,
28268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x8a, 0x8a,
28278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8a, 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8e,
28288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x90, 0x90,
28298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92,
28308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x96,
28318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x96, 0x96, 0x97, 0x97, 0x97, 0x98, 0x98,
28328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a, 0x9a, 0x9a,
28338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c,
28348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0x9e,
28358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa1,
28368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3,
28378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5,
28388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8,
28398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab,
28408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xac, 0xac, 0xac, 0xac, 0xad, 0xad, 0xad,
28418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xae, 0xae, 0xae, 0xae, 0xaf, 0xaf,
28428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb1,
28438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb2, 0xb2, 0xb2,
28448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb3, 0xb3, 0xb3, 0xb3, 0xb3, 0xb4, 0xb4, 0xb4,
28458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
28468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8, 0xb9,
28478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xba,
28488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd,
28498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
28508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0,
28518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc0, 0xc0, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3,
28528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4,
28538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6,
28548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
28558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca,
28568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,
28578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd,
28588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce,
28598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0,
28608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1,
28618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4,
28628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6,
28638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7,
28648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9,
28658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda,
28668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdd,
28678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
28688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf,
28698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1,
28708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2,
28718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,
28728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5,
28738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6,
28748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
28758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9,
28768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb,
28778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec,
28788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee,
28798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef,
28808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
28818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
28828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4,
28838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
28848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
28858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8,
28868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9,
28878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
28888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb,
28898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc,
28908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
28918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe,
28928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff,
28938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
28998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
29318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
29328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x07, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14,
29338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x16, 0x17, 0x18, 0x1b, 0x1c, 0x1e, 0x1f, 0x20,
29348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x23, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b, 0x2d,
29358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x30, 0x31, 0x33, 0x34, 0x35, 0x37, 0x38,
29368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x39, 0x3a, 0x3b, 0x3b, 0x3c, 0x3d, 0x3f, 0x40,
29378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x42, 0x43, 0x44, 0x44, 0x45, 0x47, 0x48, 0x49,
29388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4a, 0x4a, 0x4b, 0x4c, 0x4d, 0x4d, 0x4f, 0x50,
29398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x53, 0x54, 0x55, 0x55, 0x56, 0x58,
29408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x58, 0x59, 0x5a, 0x5b, 0x5b, 0x5c, 0x5e, 0x5e,
29418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5f, 0x5f, 0x60, 0x61, 0x61, 0x62, 0x63, 0x63,
29428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x65, 0x66, 0x67, 0x67, 0x68, 0x68, 0x69,
29438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6a, 0x6a, 0x6c, 0x6c, 0x6d, 0x6d, 0x6e, 0x6e,
29448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6f, 0x70, 0x70, 0x71, 0x71, 0x73, 0x73, 0x74,
29458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x74, 0x75, 0x75, 0x77, 0x77, 0x78, 0x78, 0x79,
29468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x7a, 0x7a, 0x7b, 0x7b, 0x7c, 0x7c, 0x7d,
29478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7d, 0x7f, 0x7f, 0x80, 0x80, 0x81, 0x81, 0x81,
29488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x82, 0x84, 0x84, 0x85, 0x85, 0x86, 0x86,
29498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x88, 0x89, 0x89, 0x8a, 0x8a, 0x8b,
29508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8f,
29518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91, 0x92, 0x92,
29528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x93, 0x93, 0x94, 0x94, 0x94, 0x96, 0x96,
29538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x97, 0x97, 0x98, 0x98, 0x98, 0x99, 0x99,
29548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x99, 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c,
29558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0xa0,
29568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa3,
29578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5,
29588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa8, 0xa8, 0xa9,
29598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac,
29608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xaf, 0xaf,
29618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1,
29628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb4,
29638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
29648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9,
29658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb9, 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc,
29668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbf,
29678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2,
29688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3, 0xc4,
29698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6,
29708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9,
29718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb,
29728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd,
29738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce, 0xcf,
29748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1,
29758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3,
29768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6,
29778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8,
29788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda,
29798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdd,
29808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde,
29818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0,
29828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
29838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4,
29848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5,
29858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7,
29868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9,
29878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb, 0xeb, 0xeb,
29888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed,
29898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee,
29908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0,
29918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
29928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4,
29938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6,
29948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7,
29958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9,
29968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
29978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb,
29988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
29998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd,
30008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff,
30018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
30598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
30608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
30618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {				/* gamma 4 - from tp6800 + soi763a */
30628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x11, 0x14, 0x15, 0x17, 0x1a, 0x1b, 0x1e, 0x1f,
30638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x22, 0x23, 0x25, 0x27, 0x28, 0x2b, 0x2c, 0x2d,
30648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2f, 0x31, 0x33, 0x34, 0x35, 0x38, 0x39, 0x3a,
30658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3b, 0x3c, 0x3d, 0x40, 0x42, 0x43, 0x44, 0x45,
30668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4f,
30678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x50, 0x52, 0x53, 0x53, 0x54, 0x55, 0x56, 0x58,
30688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x5a, 0x5b, 0x5b, 0x5c, 0x5e, 0x5f, 0x60,
30698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x61, 0x62, 0x63, 0x65, 0x65, 0x66, 0x67,
30708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x68, 0x68, 0x69, 0x6a, 0x6c, 0x6c, 0x6d, 0x6e,
30718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6f, 0x6f, 0x70, 0x71, 0x71, 0x73, 0x74, 0x74,
30728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x75, 0x77, 0x77, 0x78, 0x79, 0x79, 0x7a, 0x7a,
30738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7d, 0x7f, 0x7f, 0x80, 0x80,
30748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x82, 0x84, 0x84, 0x85, 0x85, 0x86,
30758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x88, 0x89, 0x89, 0x8a, 0x8a, 0x8b, 0x8b,
30768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8d, 0x8e, 0x8e, 0x8f, 0x90, 0x90, 0x91,
30778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x92, 0x92, 0x93, 0x93, 0x94, 0x94, 0x96,
30788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x97, 0x97, 0x98, 0x98, 0x98, 0x99, 0x99,
30798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9c, 0x9c, 0x9d, 0x9d,
30808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa2,
30818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa5, 0xa5,
30828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa8, 0xa8, 0xa9, 0xa9, 0xab,
30838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xad, 0xad, 0xad, 0xae,
30848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb1, 0xb1,
30858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb4, 0xb4,
30868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7, 0xb8, 0xb8,
30878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb9, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xbc,
30888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbf,
30898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2, 0xc2,
30908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
30918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc9,
30928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb,
30938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xce,
30948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0,
30958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3,
30968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7,
30978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9,
30988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb,
30998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xdf,
31008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1,
31018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3,
31028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5,
31038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7,
31048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9,
31058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec,
31068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee,
31078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0,
31088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3, 0xf3, 0xf3,
31098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5,
31108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7,
31118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9,
31128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xf9, 0xfa, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa,
31138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
31898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
31908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x11, 0x14, 0x15,
31918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x16, 0x17, 0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20,
31928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x23, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b, 0x2c,
31938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2d, 0x2f, 0x30, 0x31, 0x33, 0x34, 0x34, 0x35,
31948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3c, 0x3d,
31958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3f, 0x40, 0x42, 0x42, 0x43, 0x44, 0x45, 0x45,
31968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x47, 0x48, 0x49, 0x49, 0x4a, 0x4b, 0x4b, 0x4c,
31978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4d, 0x4f, 0x4f, 0x50, 0x52, 0x52, 0x53, 0x54,
31988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x54, 0x55, 0x55, 0x56, 0x58, 0x58, 0x59, 0x5a,
31998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5a, 0x5b, 0x5b, 0x5c, 0x5e, 0x5e, 0x5f, 0x5f,
32008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x60, 0x60, 0x61, 0x61, 0x62, 0x63, 0x63, 0x65,
32018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x67, 0x67, 0x68, 0x68, 0x69,
32028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x69, 0x6a, 0x6a, 0x6c, 0x6c, 0x6d, 0x6d, 0x6e,
32038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6e, 0x6f, 0x6f, 0x70, 0x70, 0x71, 0x71, 0x73,
32048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x73, 0x74, 0x74, 0x74, 0x75, 0x75, 0x77, 0x77,
32058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x78, 0x78, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7b,
32068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7f, 0x7f,
32078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7f, 0x80, 0x80, 0x81, 0x81, 0x81, 0x82, 0x82,
32088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x85, 0x85, 0x86, 0x86, 0x86,
32098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x88, 0x88, 0x89, 0x89, 0x8a, 0x8a, 0x8a,
32108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e,
32118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8e, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91,
32128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x94,
32138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97,
32148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a,
32158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c,
32168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0xa0,
32178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2,
32188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa4,
32198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa5, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, 0xa6, 0xa6,
32208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xa9, 0xab,
32218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaa, 0xab, 0xab, 0xac, 0xac, 0xac, 0xad, 0xad,
32228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xae, 0xae, 0xae, 0xae, 0xaf, 0xaf,
32238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1,
32248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb1, 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3,
32258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb3, 0xb3, 0xb4, 0xb4, 0xb4, 0xb4, 0xb6, 0xb6,
32268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8,
32278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba,
32288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd,
32298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
32308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,
32318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3,
32328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
32338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7,
32348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc9, 0xc9, 0xc9, 0xc9,
32358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb,
32368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd,
32378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce,
32388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0,
32398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd3,
32408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4,
32418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7,
32428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
32438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda,
32448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
32458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
32468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf,
32478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1,
32488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2,
32498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4,
32508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
32518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7,
32528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8,
32538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb,
32548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec,
32558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed,
32568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef,
32578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
32588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
32598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4,
32608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
32618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7,
32628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
32638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
32648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
32658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
32998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb},
33188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0d, 0x10, 0x11, 0x14, 0x15, 0x17, 0x18, 0x1b,
33198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1c, 0x1e, 0x20, 0x22, 0x23, 0x26, 0x27, 0x28,
33208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x29, 0x2b, 0x2d, 0x2f, 0x30, 0x31, 0x33, 0x34,
33218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x35, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
33228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3f, 0x40, 0x42, 0x43, 0x44, 0x45, 0x47, 0x48,
33238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x49, 0x4a, 0x4b, 0x4b, 0x4c, 0x4d, 0x4f, 0x50,
33248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x52, 0x52, 0x53, 0x54, 0x55, 0x56, 0x56, 0x58,
33258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x5a, 0x5a, 0x5b, 0x5c, 0x5e, 0x5e, 0x5f,
33268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x60, 0x60, 0x61, 0x62, 0x62, 0x63, 0x65, 0x65,
33278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x66, 0x67, 0x67, 0x68, 0x69, 0x69, 0x6a, 0x6c,
33288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6c, 0x6d, 0x6d, 0x6e, 0x6f, 0x6f, 0x70, 0x70,
33298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x73, 0x73, 0x74, 0x74, 0x75, 0x75, 0x77,
33308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x78, 0x78, 0x79, 0x79, 0x7a, 0x7a, 0x7b, 0x7b,
33318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7c, 0x7c, 0x7d, 0x7d, 0x7f, 0x7f, 0x80, 0x80,
33328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x82, 0x82, 0x84, 0x84, 0x85, 0x85,
33338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x88, 0x88, 0x89, 0x89, 0x8a, 0x8a,
33348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8d, 0x8d, 0x8d, 0x8e, 0x8e, 0x8f,
33358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x90, 0x90, 0x91, 0x91, 0x91, 0x92, 0x92,
33368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x93, 0x93, 0x94, 0x94, 0x94, 0x96, 0x96, 0x97,
33378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x98, 0x98, 0x98, 0x99, 0x99, 0x9a, 0x9a,
33388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d,
33398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9e, 0x9e, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1,
33408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa1, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
33418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, 0xa8, 0xa8,
33428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa9, 0xa9, 0xa9, 0xab, 0xab, 0xab, 0xac,
33438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xac, 0xac, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae,
33448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1,
33458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb1, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb4,
33468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7,
33478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xba,
33488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd,
33498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf,
33508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0xc2, 0xc2, 0xc3,
33518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
33528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7,
33538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca,
33548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcc,
33558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce,
33568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0,
33578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd1, 0xd1, 0xd3, 0xd3, 0xd3, 0xd3,
33588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd4, 0xd4, 0xd6, 0xd6, 0xd6, 0xd6,
33598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8,
33608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda,
33618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
33628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf,
33638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1,
33648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3,
33658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5,
33668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6,
33678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8,
33688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xeb, 0xeb,
33698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed,
33708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee,
33718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0,
33728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf3,
33738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4,
33748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6,
33758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8,
33768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9,
33778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,
33788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
33998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb,
34458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb}
34468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
34478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {							/* gamma 5 */
34488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x16, 0x18, 0x19, 0x1b, 0x1d, 0x1e, 0x20, 0x21,
34498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x23, 0x24, 0x25, 0x27, 0x28, 0x2a, 0x2b, 0x2c,
34508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2d, 0x2f, 0x30, 0x31, 0x32, 0x34, 0x35, 0x36,
34518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x37, 0x38, 0x39, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
34528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
34538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x48, 0x49, 0x4a, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,
34548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x50, 0x51, 0x51, 0x52, 0x53, 0x54, 0x55,
34558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x56, 0x56, 0x57, 0x58, 0x59, 0x59, 0x5a, 0x5b,
34568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5c, 0x5c, 0x5d, 0x5e, 0x5f, 0x5f, 0x60, 0x61,
34578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x62, 0x62, 0x63, 0x64, 0x64, 0x65, 0x66, 0x66,
34588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x67, 0x68, 0x68, 0x69, 0x6a, 0x6a, 0x6b, 0x6b,
34598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6c, 0x6d, 0x6d, 0x6e, 0x6f, 0x6f, 0x70, 0x70,
34608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x71, 0x72, 0x73, 0x73, 0x74, 0x74, 0x75,
34618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x75, 0x76, 0x77, 0x77, 0x78, 0x78, 0x79, 0x79,
34628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7a, 0x7a, 0x7b, 0x7b, 0x7c, 0x7d, 0x7d, 0x7e,
34638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7e, 0x7f, 0x7f, 0x80, 0x80, 0x81, 0x81, 0x82,
34648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x82, 0x83, 0x83, 0x84, 0x84, 0x84, 0x85, 0x85,
34658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x87, 0x87, 0x88, 0x88, 0x89, 0x89,
34668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8d,
34678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x90, 0x90,
34688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x91, 0x91, 0x91, 0x92, 0x92, 0x93, 0x93, 0x94,
34698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x95, 0x95, 0x96, 0x96, 0x96, 0x97,
34708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x97, 0x98, 0x98, 0x98, 0x99, 0x99, 0x9a, 0x9a,
34718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9d, 0x9d,
34728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9e, 0x9e, 0x9e, 0x9f, 0x9f, 0xa0, 0xa0,
34738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2, 0xa2, 0xa3,
34748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa3, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa6,
34758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa7, 0xa7, 0xa7, 0xa8, 0xa8, 0xa8,
34768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xa9, 0xaa, 0xaa, 0xaa, 0xab, 0xab,
34778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xac, 0xac, 0xac, 0xad, 0xad, 0xad, 0xae,
34788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
34798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb2, 0xb3,
34808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb3, 0xb3, 0xb4, 0xb4, 0xb4, 0xb4, 0xb5, 0xb5,
34818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb5, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7,
34828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xba, 0xba,
34838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbc, 0xbc, 0xbc,
34848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe,
34858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1,
34868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc1, 0xc1, 0xc1, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3,
34878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
34888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7,
34898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc8, 0xc8, 0xc8, 0xc8, 0xc9, 0xc9, 0xc9,
34908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb,
34918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd,
34928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf,
34938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1,
34948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3,
34958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd5,
34968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7,
34978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9,
34988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb,
34998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd,
35008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde,
35018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0,
35028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
35038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4,
35048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5,
35058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7,
35068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9,
35078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb,
35088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec,
35098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee,
35108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0,
35118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
35128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3,
35138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5,
35148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6,
35158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8,
35168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa,
35178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb,
35188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd,
35198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
35208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
35758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
35768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0f, 0x11, 0x12, 0x14, 0x15, 0x16, 0x18, 0x19,
35778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1a, 0x1b, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,
35788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b,
35798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x31, 0x32,
35808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x38, 0x39,
35818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3a, 0x3b, 0x3c, 0x3c, 0x3d, 0x3e, 0x3f, 0x3f,
35828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x40, 0x41, 0x42, 0x42, 0x43, 0x44, 0x44, 0x45,
35838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x46, 0x47, 0x47, 0x48, 0x49, 0x49, 0x4a, 0x4b,
35848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4b, 0x4c, 0x4c, 0x4d, 0x4e, 0x4e, 0x4f, 0x50,
35858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x50, 0x51, 0x51, 0x52, 0x53, 0x53, 0x54, 0x54,
35868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x55, 0x56, 0x56, 0x57, 0x58, 0x58, 0x59,
35878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x59, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c, 0x5c, 0x5d,
35888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5d, 0x5e, 0x5e, 0x5f, 0x5f, 0x60, 0x60, 0x61,
35898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x61, 0x62, 0x62, 0x63, 0x63, 0x64, 0x64, 0x65,
35908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x65, 0x66, 0x66, 0x66, 0x67, 0x67, 0x68, 0x68,
35918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x69, 0x69, 0x6a, 0x6a, 0x6a, 0x6b, 0x6b, 0x6c,
35928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6c, 0x6d, 0x6d, 0x6d, 0x6e, 0x6e, 0x6f, 0x6f,
35938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6f, 0x70, 0x70, 0x71, 0x71, 0x71, 0x72, 0x72,
35948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x73, 0x73, 0x73, 0x74, 0x74, 0x75, 0x75, 0x75,
35958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x76, 0x76, 0x76, 0x77, 0x77, 0x78, 0x78, 0x78,
35968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b,
35978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7b, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7e, 0x7e,
35988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7e, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x81,
35998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x81, 0x81, 0x82, 0x82, 0x82, 0x83, 0x83, 0x83,
36008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x84, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x86,
36018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x86, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88,
36028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x88, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8b,
36038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8c, 0x8d, 0x8d,
36048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8d, 0x8e, 0x8e, 0x8e, 0x8e, 0x8f, 0x8f, 0x8f,
36058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x90, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91,
36068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x92, 0x92, 0x93, 0x93, 0x93, 0x93, 0x94,
36078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x94, 0x94, 0x94, 0x95, 0x95, 0x95, 0x96, 0x96,
36088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x96, 0x96, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98,
36098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x99, 0x99, 0x99, 0x99, 0x9a, 0x9a,
36108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c,
36118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e, 0x9e,
36128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9e, 0x9e, 0x9f, 0x9f, 0x9f, 0x9f, 0xa0, 0xa0,
36138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa1, 0xa2, 0xa2,
36148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4,
36158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5,
36168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa6, 0xa6, 0xa6, 0xa6, 0xa7, 0xa7, 0xa7, 0xa7,
36178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9,
36188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xab,
36198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xac, 0xad,
36208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xad, 0xad, 0xad, 0xae, 0xae, 0xae, 0xae,
36218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xaf, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0,
36228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2,
36238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
36248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb5, 0xb5, 0xb5,
36258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb5, 0xb5, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb7,
36268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb8,
36278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xba, 0xba,
36288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
36298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbb, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd,
36308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbd, 0xbd, 0xbd, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe,
36318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0,
36328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,
36338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3,
36348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4,
36358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc6, 0xc6,
36368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc6, 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
36378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc9, 0xc9,
36388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca,
36398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc,
36408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd,
36418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce,
36428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0,
36438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1,
36448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3,
36458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4,
36468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,
36478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7,
36488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8,
36498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda,
36508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb,
36518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
36528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde,
36538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf,
36548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
36558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2,
36568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3,
36578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5,
36588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6,
36598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
36608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9,
36618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea,
36628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb,
36638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed,
36648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee,
36658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0,
36668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1,
36678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,
36688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4,
36698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,
36708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7,
36718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
36728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa,
36738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb,
36748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd,
36758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
36768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
36998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
37048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x13, 0x15, 0x16, 0x18, 0x19, 0x1b, 0x1c, 0x1e,
37058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x1f, 0x20, 0x22, 0x23, 0x24, 0x26, 0x27, 0x28,
37068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x29, 0x2a, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
37078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
37088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
37098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x42, 0x43, 0x44, 0x44, 0x45, 0x46, 0x47, 0x48,
37108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x49, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4d, 0x4e,
37118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x4f, 0x50, 0x50, 0x51, 0x52, 0x53, 0x53, 0x54,
37128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x55, 0x55, 0x56, 0x57, 0x57, 0x58, 0x59, 0x59,
37138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5a, 0x5b, 0x5b, 0x5c, 0x5d, 0x5d, 0x5e, 0x5f,
37148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x5f, 0x60, 0x60, 0x61, 0x62, 0x62, 0x63, 0x63,
37158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x64, 0x65, 0x65, 0x66, 0x66, 0x67, 0x67, 0x68,
37168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x69, 0x69, 0x6a, 0x6a, 0x6b, 0x6b, 0x6c, 0x6c,
37178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x6d, 0x6d, 0x6e, 0x6e, 0x6f, 0x6f, 0x70, 0x70,
37188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x71, 0x71, 0x72, 0x72, 0x73, 0x73, 0x74, 0x74,
37198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x75, 0x75, 0x76, 0x76, 0x77, 0x77, 0x78, 0x78,
37208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7c,
37218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x7c, 0x7d, 0x7d, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f,
37228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x80, 0x80, 0x81, 0x81, 0x81, 0x82, 0x82, 0x83,
37238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x83, 0x84, 0x84, 0x84, 0x85, 0x85, 0x86, 0x86,
37248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x86, 0x87, 0x87, 0x88, 0x88, 0x88, 0x89, 0x89,
37258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x89, 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c,
37268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8c, 0x8d, 0x8d, 0x8e, 0x8e, 0x8e, 0x8f, 0x8f,
37278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91, 0x92, 0x92,
37288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x92, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x95,
37298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x95, 0x95, 0x96, 0x96, 0x96, 0x97, 0x97, 0x97,
37308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a, 0x9a,
37318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9d,
37328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9d, 0x9d, 0x9e, 0x9e, 0x9e, 0x9e, 0x9f, 0x9f,
37338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0x9f, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa2,
37348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa2, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4,
37358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa6, 0xa6, 0xa6,
37368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa7, 0xa7, 0xa7, 0xa7, 0xa8, 0xa8, 0xa8, 0xa9,
37378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xa9, 0xa9, 0xa9, 0xaa, 0xaa, 0xaa, 0xab, 0xab,
37388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xab, 0xab, 0xac, 0xac, 0xac, 0xac, 0xad, 0xad,
37398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xad, 0xae, 0xae, 0xae, 0xae, 0xaf, 0xaf, 0xaf,
37408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb1,
37418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb2, 0xb2, 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb3,
37428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb4, 0xb4, 0xb4, 0xb4, 0xb5, 0xb5, 0xb5, 0xb5,
37438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb6, 0xb6, 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb7,
37448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xb8, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xb9,
37458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xba, 0xba, 0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbb,
37468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbc, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbd,
37478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbe, 0xbe, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf,
37488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xbf, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc1,
37498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc1, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc3, 0xc3,
37508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5,
37518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc5, 0xc5, 0xc5, 0xc6, 0xc6, 0xc6, 0xc6, 0xc7,
37528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc7, 0xc7, 0xc7, 0xc7, 0xc8, 0xc8, 0xc8, 0xc8,
37538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca,
37548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xca, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc,
37558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce,
37568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf,
37578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1,
37588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3,
37598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
37608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6,
37618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8,
37628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9,
37638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xd9, 0xda, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb,
37648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc,
37658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde,
37668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0,
37678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1,
37688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3,
37698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4,
37708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6,
37718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,
37728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9,
37738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea,
37748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec,
37758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed,
37768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef,
37778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
37788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2,
37798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3,
37808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5,
37818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,
37828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8,
37838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,
37848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb,
37858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
37868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe,
37878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
37998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
38318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
38328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
38338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
38348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
38368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6810)
38378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x28);
38388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	msleep(50); */
38398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gamma = sd->ctrls[GAMMA].val;
38408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x00, gamma_tb[gamma][0], 1024);
38418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x01, gamma_tb[gamma][1], 1024);
38428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x02, gamma_tb[gamma][2], 1024);
38438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6810) {
38448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		int i;
38458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x2b);
38478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x28);
38488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		for (i = 0; i < 6; i++)
38498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			reg_w(gspca_dev, TP6800_R55_GAMMA_R,
38508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gamma_tb[gamma][0][i]);
38518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x2b);
38528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x28);
38538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		for (i = 0; i < 6; i++)
38548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			reg_w(gspca_dev, TP6800_R56_GAMMA_G,
38558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gamma_tb[gamma][1][i]);
38568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x2b);
38578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x28);
38588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		for (i = 0; i < 6; i++)
38598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			reg_w(gspca_dev, TP6800_R57_GAMMA_B,
38608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gamma_tb[gamma][2][i]);
38618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x02, 0x28);
38628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
38638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
38648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	msleep(50); */
38658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
38668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setsharpness(struct gspca_dev *gspca_dev)
38688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
38698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
38708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 val;
38718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800) {
38738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		val = sd->ctrls[SHARPNESS].val
38748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				| 0x08;		/* grid compensation enable */
38758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (gspca_dev->width == 640)
38768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00); /* vga */
38778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		else
38788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			val |= 0x04;		/* scaling down enable */
38798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, val);
38808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
38818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		val = (sd->ctrls[SHARPNESS].val << 5) | 0x08;
38828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x59, val);
38838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
38848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
38858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setautogain(struct gspca_dev *gspca_dev)
38878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
38888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
38898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
38908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->ctrl_dis & (1 << AUTOGAIN))
38918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
38928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->ctrls[AUTOGAIN].val) {
38938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ag_cnt = AG_CNT_START;
38948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->ctrl_inac |= (1 << EXPOSURE) | (1 << GAIN);
38958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
38968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ag_cnt = -1;
38978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->ctrl_inac &= ~((1 << EXPOSURE) | (1 << GAIN));
38988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
38998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
39008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set the resolution for sensor cx0342 */
39028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void set_resolution(struct gspca_dev *gspca_dev)
39038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
39048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
39058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->width == 320) {
39068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x06);
39078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		msleep(100);
39088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
39098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		msleep(100);
39108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
39118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01);	/* qvga */
39128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, 0x0d);
39138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_L, 0x37);
39148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x01);
39158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
39168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x05);
39178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		msleep(100);
39188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
39198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		msleep(100);
39208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
39218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00);	/* vga */
39228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, 0x09);
39238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_L, 0xcf);
39248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x00);
39258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
39268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x01);
39278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x03, color_gain[SENSOR_CX0342],
39288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(color_gain[0]));
39298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setgamma(gspca_dev);
39308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setquality(gspca_dev);
39318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
39328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* convert the frame rate to a tp68x0 value */
39348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int get_fr_idx(struct gspca_dev *gspca_dev)
39358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
39368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
39378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int i;
39388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800) {
39408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		for (i = 0; i < ARRAY_SIZE(rates) - 1; i++) {
39418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if (sd->framerate >= rates[i])
39428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				break;
39438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
39448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i = 6 - i;		/* 1 = 5fps .. 6 = 30fps */
39458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		/* 640x480 * 30 fps does not work */
39478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (i == 6			/* if 30 fps */
39488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 && gspca_dev->width == 640)
3949b267b73d5a508eb9c92d9781d951f4c0d035481aJean-François Moine			i = 0x05;		/* 15 fps */
39508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
39518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		for (i = 0; i < ARRAY_SIZE(rates_6810) - 1; i++) {
39528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if (sd->framerate >= rates_6810[i])
39538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				break;
39548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
39558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i = 7 - i;		/* 3 = 5fps .. 7 = 30fps */
39568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		/* 640x480 * 30 fps does not work */
39588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (i == 7			/* if 30 fps */
39598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 && gspca_dev->width == 640)
39608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			i = 6;			/* 15 fps */
39618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i |= 0x80;			/* clock * 1 */
39628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
39638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return i;
39648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
39658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setframerate(struct gspca_dev *gspca_dev)
39678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
39688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
39698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 fr_idx;
39708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	fr_idx = get_fr_idx(gspca_dev);
39728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6810) {
39748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_r(gspca_dev, 0x7b);
39758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x7b,
39768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			sd->sensor == SENSOR_CX0342 ? 0x10 : 0x90);
39778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->ctrls[EXPOSURE].val >= 128)
39788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			fr_idx = 0xf0;		/* lower frame rate */
39798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
39808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, fr_idx);
39828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_CX0342)
39848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
39858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
39868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setrgain(struct gspca_dev *gspca_dev)
39888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
39898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
39908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int rgain;
39918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	rgain = sd->ctrls[RGAIN].val;
39938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_RAW_RGAIN_H, rgain >> 8);
39948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_RAW_RGAIN_L, rgain);
39958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x80);
39968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
39978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
39988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_setgain(struct gspca_dev *gspca_dev, __s32 val)
39998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
40008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
40018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_CX0342) {
40038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[BGAIN].val = sd->ctrls[BGAIN].val
40048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					* val / sd->ctrls[GAIN].val;
40058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->ctrls[BGAIN].val > 4095)
40068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			sd->ctrls[BGAIN].val = 4095;
40078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[RGAIN].val = sd->ctrls[RGAIN].val
40088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					* val / sd->ctrls[GAIN].val;
40098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->ctrls[RGAIN].val > 4095)
40108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			sd->ctrls[RGAIN].val = 4095;
40118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
40128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	sd->ctrls[GAIN].val = val;
40138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->streaming)
40148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		setexposure(gspca_dev);
40158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return gspca_dev->usb_err;
40168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
40178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setbgain(struct gspca_dev *gspca_dev)
40198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
40208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
40218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int bgain;
40228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bgain = sd->ctrls[BGAIN].val;
40248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_RAW_BGAIN_H, bgain >> 8);
40258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_RAW_BGAIN_L, bgain);
40268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x80);
40278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
40288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* this function is called at probe time */
40308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_config(struct gspca_dev *gspca_dev,
40318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		     const struct usb_device_id *id)
40328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
40338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
40348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	sd->bridge = id->driver_info;
40368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gspca_dev->cam.cam_mode = vga_mode;
40388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
40398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gspca_dev->cam.mode_framerates = sd->bridge == BRIDGE_TP6800 ?
40408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			framerates : framerates_6810;
40418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	sd->framerate = 30;		/* default: 30 fps */
40438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	gspca_dev->cam.ctrls = sd->ctrls;
40448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return 0;
40458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
40468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* this function is called at probe and resume time */
40488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_init(struct gspca_dev *gspca_dev)
40498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
40508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
40518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd tp6800_preinit[] = {
40528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R10_SIF_TYPE, 0x01},	/* sif */
40538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R11_SIF_CONTROL, 0x01},
40548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R15_GPIO_PU, 0x9f},
40558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R16_GPIO_PD, 0x9f},
40568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R17_GPIO_IO, 0x80},
40578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0x40},	/* LED off */
40588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
40598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd tp6810_preinit[] = {
40608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x2f},
40618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R15_GPIO_PU, 0x6f},
40628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R16_GPIO_PD, 0x40},
40638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R17_GPIO_IO, 0x9f},
40648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R18_GPIO_DATA, 0xc1},	/* LED off */
40658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
40668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800)
40688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w_buf(gspca_dev, tp6800_preinit,
40698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(tp6800_preinit));
40708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	else
40718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w_buf(gspca_dev, tp6810_preinit,
40728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(tp6810_preinit));
40738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	msleep(15);
40748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
40758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	PDEBUG(D_PROBE, "gpio: %02x", gspca_dev->usb_buf[0]);
40768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* values:
40778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *	0x80: snapshot button
40788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *	0x40: LED
40798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *	0x20: (bridge / sensor) reset for tp6810 ?
40808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine *	0x07: sensor type ?
40818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine */
40828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
40838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* guess the sensor type */
40848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (force_sensor >= 0) {
40858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->sensor = force_sensor;
40868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
40878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800) {
40888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*fixme: not sure this is working*/
40898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			switch (gspca_dev->usb_buf[0] & 0x07) {
40908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			case 0:
40918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				sd->sensor = SENSOR_SOI763A;
40928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				break;
40938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			case 1:
40948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				sd->sensor = SENSOR_CX0342;
40958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				break;
40968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			}
40978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		} else {
40988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			int sensor;
40998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			sensor = probe_6810(gspca_dev);
41018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if (sensor < 0) {
41028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				pr_warn("Unknown sensor %d - forced to soi763a\n",
41038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					-sensor);
41048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				sensor = SENSOR_SOI763A;
41058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			}
41068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			sd->sensor = sensor;
41078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
41088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
41098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_SOI763A) {
41108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		pr_info("Sensor soi763a\n");
41118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[GAMMA].def = sd->bridge == BRIDGE_TP6800 ? 0 : 1;
41128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[GAIN].max = 15;
41138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[GAIN].def = 3;
41148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->ctrl_dis = (1 << RGAIN) | (1 << BGAIN);
41158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6810) {
41168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			soi763a_6810_init(gspca_dev);
41178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#if AUTOGAIN_DEF
41188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->ctrl_inac |= (1 << EXPOSURE) | (1 << GAIN);
41198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#endif
41208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		} else {
41218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->ctrl_dis |= (1 << AUTOGAIN);
41228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
41238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
41248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		pr_info("Sensor cx0342\n");
41258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6810) {
41268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			cx0342_6810_init(gspca_dev);
41278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#if AUTOGAIN_DEF
41288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->ctrl_inac |= (1 << EXPOSURE) | (1 << GAIN);
41298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#endif
41308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		} else {
41318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->ctrl_dis |= (1 << AUTOGAIN);
41328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
41338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
41348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6810)
41368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ctrls[QUALITY].def = 0;	/* auto quality */
41378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_dqt(gspca_dev, 0);
41388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return 0;
41398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
41408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* This function is called before choosing the alt setting */
41428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_isoc_init(struct gspca_dev *gspca_dev)
41438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
41448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
41458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd cx_sensor_init[] = {
41468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_AUTO_ADC_CALIB, 0x81},
41478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_L, 0x37},
41488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_H, 0x01},
41498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GRGAIN_L, 0x00},
41508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GBGAIN_L, 0x00},
41518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_RGAIN_L, 0x00},
41528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_BGAIN_L, 0x00},
41538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x81},
41548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
41558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd cx_bridge_init[] = {
41568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4d, 0x00},
41578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4c, 0xff},
41588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4e, 0xff},
41598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4f, 0x00},
41608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
41618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd ov_sensor_init[] = {
41628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x10, 0x75},		/* exposure */
41638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x76, 0x03},
41648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x00, 0x00},		/* gain */
41658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
41668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd ov_bridge_init[] = {
41678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x7b, 0x90},
41688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3F_FRAME_RATE, 0x87},
41698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
41708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800)
41728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return 0;
41738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_CX0342) {
41748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20);
41758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x87);
41768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w_buf(gspca_dev, cx_sensor_init,
41778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(cx_sensor_init));
41788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w_buf(gspca_dev, cx_bridge_init,
41798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(cx_bridge_init));
41808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		bulk_w(gspca_dev, 0x03, color_null, sizeof color_null);
41818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x59, 0x40);
41828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
41838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x21);
41848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		i2c_w_buf(gspca_dev, ov_sensor_init,
41858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(ov_sensor_init));
41868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_r(gspca_dev, 0x7b);
41878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w_buf(gspca_dev, ov_bridge_init,
41888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(ov_bridge_init));
41898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
41908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R78_FORMAT,
41918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->curr_mode ? 0x00 : 0x01);
41928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return gspca_dev->usb_err;
41938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
41948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void set_led(struct gspca_dev *gspca_dev, int on)
41968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
41978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	u8 data;
41988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
41998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
42008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	data = gspca_dev->usb_buf[0];
42018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (on)
42028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		data &= ~0x40;
42038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	else
42048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		data |= 0x40;
42058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R18_GPIO_DATA, data);
42068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
42078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
42088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void cx0342_6800_start(struct gspca_dev *gspca_dev)
42098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
42108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init[] = {
42118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*fixme: is this usefull?*/
42128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R17_GPIO_IO, 0x9f},
42138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R16_GPIO_PD, 0x40},
42148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R10_SIF_TYPE, 0x00},	/* i2c 8 bits */
42158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R50, 0x00},
42168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R51, 0x00},
42178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R52, 0xff},
42188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R53, 0x03},
42198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R54_DARK_CFG, 0x07},
42208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R5C_EDGE_THRLD, 0x40},
42218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R7A_BLK_THRLD, 0x40},
42228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x17},
42238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R30_SENSOR_CFG, 0x18},	/* G1B..RG0 */
42248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R37_FRONT_DARK_ST, 0x00},
42258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R38_FRONT_DARK_END, 0x00},
42268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R39_REAR_DARK_ST_L, 0x00},
42278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3A_REAR_DARK_ST_H, 0x00},
42288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3B_REAR_DARK_END_L, 0x00},
42298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3C_REAR_DARK_END_H, 0x00},
42308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3D_HORIZ_DARK_LINE_L, 0x00},
42318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3E_HORIZ_DARK_LINE_H, 0x00},
42328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R21_ENDP_1_CTL, 0x03},
42338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
42348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R31_PIXEL_START, 0x0b},
42358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R32_PIXEL_END_L, 0x8a},
42368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R33_PIXEL_END_H, 0x02},
42378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R34_LINE_START, 0x0e},
42388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R35_LINE_END_L, 0xf4},
42398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R36_LINE_END_H, 0x01},
42408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R78_FORMAT, 0x00},
42418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R12_SIF_ADDR_S, 0x20},	/* cx0342 i2c addr */
42428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
42438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init[] = {
42448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_OUTPUT_CTRL, 0x07},
42458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_BYPASS_MODE, 0x58},
42468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_GPXLTHD_L, 0x16},
42478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RBPXLTHD_L, 0x16},
42488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_PLANETHD_L, 0xc0},
42498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_PLANETHD_H, 0x03},
42508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RB_GAP_L, 0xff},
42518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RB_GAP_H, 0x07},
42528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_G_GAP_L, 0xff},
42538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_G_GAP_H, 0x07},
42548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RST_OVERFLOW_L, 0x5c},
42558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RST_OVERFLOW_H, 0x01},
42568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_OVERFLOW_L, 0xfc},
42578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_OVERFLOW_H, 0x03},
42588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_UNDERFLOW_L, 0x00},
42598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_DATA_UNDERFLOW_H, 0x00},
42608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x40},
42618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_GLOBAL_GAIN, 0x01},
42628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_CLOCK_GEN, 0x00},
42638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x02},
42648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_IDLE_CTRL, 0x05},
42658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADCGN, 0x00},
42668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADC_CTL, 0x00},
42678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LVRST_BLBIAS, 0x01},
42688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_VTHSEL, 0x0b},
42698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAMP_RIV, 0x0b},
42708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LDOSEL, 0x07},
42718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_L, 0x40},
42728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_H, 0x02},
42738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
42748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
42758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init, ARRAY_SIZE(reg_init));
42768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
42778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, cx0342_timing_seq, ARRAY_SIZE(cx0342_timing_seq));
42788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R5C_EDGE_THRLD, 0x10);
42798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R54_DARK_CFG, 0x00);
42808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x00);
42818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x01);
42828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setexposure(gspca_dev);
42838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_led(gspca_dev, 1);
42848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_resolution(gspca_dev);
42858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
42868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
42878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void cx0342_6810_start(struct gspca_dev *gspca_dev)
42888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
42898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init_2[] = {
42908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_L, 0x6f},
42918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_H, 0x02},
42928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GRGAIN_L, 0x00},
42938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GBGAIN_L, 0x00},
42948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_RGAIN_L, 0x00},
42958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_BGAIN_L, 0x00},
42968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x81},
42978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
42988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_2[] = {
42998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4d, 0x00},
43008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4c, 0xff},
43018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4e, 0xff},
43028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4f, 0x00},
43038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R7A_BLK_THRLD, 0x00},
43048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x04},
43058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x01},
43068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_3[] = {
43088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R31_PIXEL_START, 0x08},
43098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R32_PIXEL_END_L, 0x87},
43108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R33_PIXEL_END_H, 0x02},
43118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R34_LINE_START, 0x0e},
43128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R35_LINE_END_L, 0xf4},
43138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R36_LINE_END_H, 0x01},
43148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init_3[] = {
43168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_AUTO_ADC_CALIB, 0x81},
43178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_L, 0x6f},
43188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_H, 0x02},
43198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GRGAIN_L, 0x00},
43208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GBGAIN_L, 0x00},
43218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_RGAIN_L, 0x00},
43228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_BGAIN_L, 0x00},
43238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x81},
43248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_5[] = {
43268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4d, 0x00},
43278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4c, 0xff},
43288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4e, 0xff},
43298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x4f, 0x00},
43308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init_4[] = {
43328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_L, 0xd3},
43338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_EXPO_LINE_H, 0x01},
43348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*fixme: gains, but 00..80 only*/
43358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GRGAIN_L, 0x40},
43368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_GBGAIN_L, 0x40},
43378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_RGAIN_L, 0x40},
43388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAW_BGAIN_L, 0x40},
43398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SYS_CTRL_0, 0x81},
43408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init_5[] = {
43428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_IDLE_CTRL, 0x05},
43438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADCGN, 0x00},
43448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_ADC_CTL, 0x00},
43458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LVRST_BLBIAS, 0x01},
43468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_VTHSEL, 0x0b},
43478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_RAMP_RIV, 0x0b},
43488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_LDOSEL, 0x07},
43498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_L, 0x40},
43508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_SPV_VALUE_H, 0x02},
43518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{CX0342_AUTO_ADC_CALIB, 0x81},
43528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
43538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
43548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, 0x22, gspca_dev->alt);
43558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init_2, ARRAY_SIZE(sensor_init_2));
43568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_2, ARRAY_SIZE(bridge_init_2));
43578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_cx_init_common,
43588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_cx_init_common));
43598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_3, ARRAY_SIZE(bridge_init_3));
43608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->curr_mode) {
43618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4a, 0x7f);
43628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x07, 0x05);
43638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00);	/* vga */
43648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
43658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4a, 0xff);
43668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x07, 0x85);
43678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01);	/* qvga */
43688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
43698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setgamma(gspca_dev);
43708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_bridge_start,
43718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_bridge_start));
43728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setsharpness(gspca_dev);
43738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x03, color_gain[SENSOR_CX0342],
43748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(color_gain[0]));
43758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x87);
43768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init_3, ARRAY_SIZE(sensor_init_3));
43778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_5, ARRAY_SIZE(bridge_init_5));
43788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init_4, ARRAY_SIZE(sensor_init_4));
43798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_5, ARRAY_SIZE(bridge_init_5));
43808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init_5, ARRAY_SIZE(sensor_init_5));
43818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
43828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_led(gspca_dev, 1);
43838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	setquality(gspca_dev); */
43848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
43858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
43868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void soi763a_6800_start(struct gspca_dev *gspca_dev)
43878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
43888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd reg_init[] = {
43898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x04},
43908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x01},
43918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R10_SIF_TYPE, 0x00},	/* i2c 8 bits */
43928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
43938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R50, 0x00},
43948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R51, 0x00},
43958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R52, 0xff},
43968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R53, 0x03},
43978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R54_DARK_CFG, 0x07},
43988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R5C_EDGE_THRLD, 0x40},
43998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x03},
44018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R7A_BLK_THRLD, 0x40},
44028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R2F_TIMING_CFG, 0x46},
44048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R30_SENSOR_CFG, 0x10},	/* BG1..G0R */
44058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R37_FRONT_DARK_ST, 0x00},
44068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R38_FRONT_DARK_END, 0x00},
44078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R39_REAR_DARK_ST_L, 0x00},
44088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3A_REAR_DARK_ST_H, 0x00},
44098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3B_REAR_DARK_END_L, 0x00},
44108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3C_REAR_DARK_END_H, 0x00},
44118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3D_HORIZ_DARK_LINE_L, 0x00},
44128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3E_HORIZ_DARK_LINE_H, 0x00},
44138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R21_ENDP_1_CTL, 0x03},
44148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R3F_FRAME_RATE, 0x04},	/* 15 fps */
44168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R5D_DEMOSAIC_CFG, 0x0e}, /* scale down - medium edge */
44178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R31_PIXEL_START, 0x1b},
44198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R32_PIXEL_END_L, 0x9a},
44208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R33_PIXEL_END_H, 0x02},
44218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R34_LINE_START, 0x0f},
44228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R35_LINE_END_L, 0xf4},
44238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R36_LINE_END_H, 0x01},
44248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R78_FORMAT, 0x01},	/* qvga */
44258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R12_SIF_ADDR_S, 0x21},	/* soi763a i2c addr */
44268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R1A_SIF_TX_DATA2, 0x00},
44278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
44288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd sensor_init[] = {
44298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x12, 0x48},		/* mirror - RGB */
44308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x13, 0xa0},		/* clock - no AGC nor AEC */
44318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x03, 0xa4},		/* saturation */
44328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x04, 0x30},		/* hue */
44338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x05, 0x88},		/* contrast */
44348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x06, 0x60},		/* brightness */
44358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x10, 0x41},		/* AEC */
44368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x11, 0x40},		/* clock rate */
44378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x13, 0xa0},
44388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x14, 0x00},		/* 640x480 */
44398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x15, 0x14},
44408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1f, 0x41},
44418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x20, 0x80},
44428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x23, 0xee},
44438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x24, 0x50},
44448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x25, 0x7a},
44458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x26, 0x00},
44468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x27, 0xe2},
44478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x28, 0xb0},
44488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2a, 0x00},
44498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2b, 0x00},
44508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2d, 0x81},
44518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x2f, 0x9d},
44528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x60, 0x80},
44538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x61, 0x00},
44548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x62, 0x88},
44558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x63, 0x11},
44568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x64, 0x89},
44578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x65, 0x00},
44588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x67, 0x94},
44598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x68, 0x7a},
44608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x69, 0x0f},
44618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6c, 0x80},
44628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6d, 0x80},
44638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6e, 0x80},
44648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x6f, 0xff},
44658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x71, 0x20},
44668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x74, 0x20},
44678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x75, 0x86},
44688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x77, 0xb5},
44698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x17, 0x18},		/* H href start */
44708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x18, 0xbf},		/* H href end */
44718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x19, 0x03},		/* V start */
44728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x1a, 0xf8},		/* V end */
44738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x01, 0x80},		/* blue gain */
44748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x02, 0x80},		/* red gain */
44758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
44768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, reg_init, ARRAY_SIZE(reg_init));
44788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w(gspca_dev, 0x12, 0x80);		/* sensor reset */
44808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	msleep(10);
44818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
44838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R5C_EDGE_THRLD, 0x10);
44858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R54_DARK_CFG, 0x00);
44868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setsharpness(gspca_dev);
44888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x03, color_gain[SENSOR_SOI763A],
44908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(color_gain[0]));
44918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_led(gspca_dev, 1);
44938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setexposure(gspca_dev);
44948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setquality(gspca_dev);
44958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setgamma(gspca_dev);
44968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
44978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
44988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void soi763a_6810_start(struct gspca_dev *gspca_dev)
44998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
45008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_2[] = {
45018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R7A_BLK_THRLD, 0x00},
45028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x04},
45038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R79_QUALITY, 0x01},
45048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
45058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_3[] = {
45068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R31_PIXEL_START, 0x20},
45078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R32_PIXEL_END_L, 0x9f},
45088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R33_PIXEL_END_H, 0x02},
45098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R34_LINE_START, 0x13},
45108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R35_LINE_END_L, 0xf8},
45118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{TP6800_R36_LINE_END_H, 0x01},
45128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
45138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	static const struct cmd bridge_init_6[] = {
45148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x08, 0xff},
45158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x09, 0xff},
45168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0a, 0x5f},
45178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		{0x0b, 0x80},
45188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	};
45198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, 0x22, gspca_dev->alt);
45218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x03, color_null, sizeof color_null);
45228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, 0x59, 0x40);
45238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setexposure(gspca_dev);
45248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_2, ARRAY_SIZE(bridge_init_2));
45258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_ov_init_common,
45268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_ov_init_common));
45278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_3, ARRAY_SIZE(bridge_init_3));
45288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->curr_mode) {
45298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4a, 0x7f);
45308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x07, 0x05);
45318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00);	/* vga */
45328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
45338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4a, 0xff);
45348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x07, 0x85);
45358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01);	/* qvga */
45368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
45378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setgamma(gspca_dev);
45388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, tp6810_bridge_start,
45398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			ARRAY_SIZE(tp6810_bridge_start));
45408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->curr_mode) {
45428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4f, 0x00);
45438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x4e, 0x7c);
45448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
45458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, 0x00, 0x00);
45478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setsharpness(gspca_dev);
45498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	bulk_w(gspca_dev, 0x03, color_gain[SENSOR_SOI763A],
45508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(color_gain[0]));
45518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_led(gspca_dev, 1);
45528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0xf0);
45538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setexposure(gspca_dev);
45548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w_buf(gspca_dev, bridge_init_6, ARRAY_SIZE(bridge_init_6));
45558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
45568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* -- start the camera -- */
45588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_start(struct gspca_dev *gspca_dev)
45598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
45608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
45618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jpeg_define(sd->jpeg_hdr, gspca_dev->height, gspca_dev->width);
45638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_dqt(gspca_dev, sd->quality);
45648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800) {
45658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->sensor == SENSOR_CX0342)
45668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			cx0342_6800_start(gspca_dev);
45678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		else
45688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			soi763a_6800_start(gspca_dev);
45698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
45708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->sensor == SENSOR_CX0342)
45718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			cx0342_6810_start(gspca_dev);
45728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		else
45738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			soi763a_6810_start(gspca_dev);
45748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w_buf(gspca_dev, tp6810_late_start,
45758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				ARRAY_SIZE(tp6810_late_start));
45768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x80, 0x03);
45778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x82, gspca_dev->curr_mode ? 0x0a : 0x0e);
45788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		setexposure(gspca_dev);
45808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		setquality(gspca_dev);
45818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		setautogain(gspca_dev);
45828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
45838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	setframerate(gspca_dev);
45858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return gspca_dev->usb_err;
45878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
45888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void sd_stopN(struct gspca_dev *gspca_dev)
45908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
45918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
45928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6800)
45948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, TP6800_R2F_TIMING_CFG, 0x03);
45958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	set_led(gspca_dev, 0);
45968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
45978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
45988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
45998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void sd_pkt_scan(struct gspca_dev *gspca_dev,
46008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			u8 *data,
46018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			int len)
46028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
46038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
46048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* the start of frame contains:
46068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 *	ff d8
46078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 *	ff fe
46088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 *	width / 16
46098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 *	height / 8
46108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 *	quality
46118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	 */
46128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->bridge == BRIDGE_TP6810) {
46138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (*data != 0x5a) {
46148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*fixme: don't discard the whole frame..*/
46158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if (*data == 0xaa || *data == 0x00)
46168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				return;
46178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if (*data > 0xc0) {
46188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				PDEBUG(D_FRAM, "bad frame");
46198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gspca_dev->last_packet_type = DISCARD_PACKET;
46208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				return;
46218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			}
46228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
46238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		data++;
46248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		len--;
46258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (*data == 0xff && data[1] == 0xd8) {
46268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*fixme: there may be information in the 4 high bits*/
46278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if ((data[6] & 0x0f) != sd->quality)
46288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				set_dqt(gspca_dev, data[6] & 0x0f);
46298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_frame_add(gspca_dev, FIRST_PACKET,
46308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					sd->jpeg_hdr, JPEG_HDR_SZ);
46318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_frame_add(gspca_dev, INTER_PACKET,
46328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					data + 7, len - 7);
46338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		} else if (data[len - 2] == 0xff && data[len - 1] == 0xd9) {
46348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_frame_add(gspca_dev, LAST_PACKET,
46358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					data, len);
46368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		} else {
46378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_frame_add(gspca_dev, INTER_PACKET,
46388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					data, len);
46398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
46408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
46418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
46428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	switch (*data) {
46448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 0x55:
46458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_frame_add(gspca_dev, LAST_PACKET, data, 0);
46468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (len < 8
46488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 || data[1] != 0xff || data[2] != 0xd8
46498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		 || data[3] != 0xff || data[4] != 0xfe) {
46508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			/* Have only seen this with corrupt frames */
46528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->last_packet_type = DISCARD_PACKET;
46538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			return;
46548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
46558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (data[7] != sd->quality)
46568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			set_dqt(gspca_dev, data[7]);
46578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_frame_add(gspca_dev, FIRST_PACKET,
46588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				sd->jpeg_hdr, JPEG_HDR_SZ);
46598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_frame_add(gspca_dev, INTER_PACKET,
46608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				data + 8, len - 8);
46618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
46628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 0xaa:
46638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		gspca_dev->last_packet_type = DISCARD_PACKET;
46648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
46658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 0xcc:
46668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (data[1] != 0xff || data[2] != 0xd8)
46678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_frame_add(gspca_dev, INTER_PACKET,
46688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine					data + 1, len - 1);
46698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		else
46708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			gspca_dev->last_packet_type = DISCARD_PACKET;
46718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
46728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
46738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
46748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* -- do autogain -- */
46768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* gain setting is done in setexposure() for tp6810 */
46778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void setgain(struct gspca_dev *gspca_dev) {}
46788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* !! coarse_grained_expo_autogain is not used !! */
46798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define exp_too_low_cnt bridge
46808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#define exp_too_high_cnt sensor
46818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#include "autogain_functions.h"
46838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void sd_dq_callback(struct gspca_dev *gspca_dev)
46848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
46858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
46868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int ret, alen;
46878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int luma, expo;
46888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
46898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->ag_cnt < 0)
46908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
46918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (--sd->ag_cnt > 5)
46928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		return;
46938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	switch (sd->ag_cnt) {
46948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	case 5: */
46958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	default:
46968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x7d, 0x00);
46978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
46988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 4:
46998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x27, 0xb0);
47008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
47018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 3:
47028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x0c, 0x01);
47038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
47048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 2:
47058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		ret = usb_bulk_msg(gspca_dev->dev,
47068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				usb_rcvbulkpipe(gspca_dev->dev, 0x02),
47078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gspca_dev->usb_buf,
47088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				32,
47098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				&alen,
47108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				500);
47118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (ret < 0) {
47128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			pr_err("bulk err %d\n", ret);
47138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			break;
47148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
47158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		/* values not used (unknown) */
47168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
47178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 1:
47188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x27, 0xd0);
47198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
47208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	case 0:
47218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		ret = usb_bulk_msg(gspca_dev->dev,
47228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				usb_rcvbulkpipe(gspca_dev->dev, 0x02),
47238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				gspca_dev->usb_buf,
47248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				32,
47258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				&alen,
47268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				500);
47278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (ret < 0) {
47288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			pr_err("bulk err %d\n", ret);
47298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			break;
47308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
47318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		luma = ((gspca_dev->usb_buf[8] << 8) + gspca_dev->usb_buf[7] +
47328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[11] << 8) + gspca_dev->usb_buf[10] +
47338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[14] << 8) + gspca_dev->usb_buf[13] +
47348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[17] << 8) + gspca_dev->usb_buf[16] +
47358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[20] << 8) + gspca_dev->usb_buf[19] +
47368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[23] << 8) + gspca_dev->usb_buf[22] +
47378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[26] << 8) + gspca_dev->usb_buf[25] +
47388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			(gspca_dev->usb_buf[29] << 8) + gspca_dev->usb_buf[28])
47398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				/ 8;
47408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (gspca_dev->width == 640)
47418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			luma /= 4;
47428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		reg_w(gspca_dev, 0x7d, 0x00);
47438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		expo = sd->ctrls[EXPOSURE].val;
47458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		ret = auto_gain_n_exposure(gspca_dev, luma,
47468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				60,	/* desired luma */
47478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				6,	/* dead zone */
47488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				2,	/* gain knee */
47498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				70);	/* expo knee */
47508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		sd->ag_cnt = AG_CNT_START;
47518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6810) {
47528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			if ((expo >= 128 && sd->ctrls[EXPOSURE].val < 128)
47538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			 || (expo < 128 && sd->ctrls[EXPOSURE].val >= 128))
47548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine				setframerate(gspca_dev);
47558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		}
47568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		break;
47578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
47588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
47598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* get stream parameters (framerate) */
47618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void sd_get_streamparm(struct gspca_dev *gspca_dev,
47628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			     struct v4l2_streamparm *parm)
47638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
47648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
47658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct v4l2_captureparm *cp = &parm->parm.capture;
47668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct v4l2_fract *tpf = &cp->timeperframe;
47678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int fr, i;
47688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	cp->capability |= V4L2_CAP_TIMEPERFRAME;
47708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	tpf->numerator = 1;
47718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i = get_fr_idx(gspca_dev);
47728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (i & 0x80) {
47738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		if (sd->bridge == BRIDGE_TP6800)
47748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			fr = rates[6 - (i & 0x07)];
47758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		else
47768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			fr = rates_6810[7 - (i & 0x07)];
47778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	} else {
47788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		fr = rates[6 - i];
47798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	}
47808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	tpf->denominator = fr;
47818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
47828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/* set stream parameters (framerate) */
47848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic void sd_set_streamparm(struct gspca_dev *gspca_dev,
47858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			     struct v4l2_streamparm *parm)
47868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
47878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
47888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct v4l2_captureparm *cp = &parm->parm.capture;
47898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct v4l2_fract *tpf = &cp->timeperframe;
47908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	int fr, i;
47918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	sd->framerate = tpf->denominator / tpf->numerator;
47938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (gspca_dev->streaming)
47948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		setframerate(gspca_dev);
47958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
47968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	/* Return the actual framerate */
47978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	i = get_fr_idx(gspca_dev);
47988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (i & 0x80)
47998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		fr = rates_6810[7 - (i & 0x07)];
48008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	else
48018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		fr = rates[6 - i];
48028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	tpf->numerator = 1;
48038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	tpf->denominator = fr;
48048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
48058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
48068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_set_jcomp(struct gspca_dev *gspca_dev,
48078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			struct v4l2_jpegcompression *jcomp)
48088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
48098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
48108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
48118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	if (sd->sensor == SENSOR_SOI763A)
48128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		jpeg_set_qual(sd->jpeg_hdr, jcomp->quality);
48138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine/*	else
48148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		fixme: TODO
48158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine*/
48168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return gspca_dev->usb_err;
48178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
48188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
48198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_get_jcomp(struct gspca_dev *gspca_dev,
48208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			struct v4l2_jpegcompression *jcomp)
48218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
48228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	struct sd *sd = (struct sd *) gspca_dev;
48238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
48248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	memset(jcomp, 0, sizeof *jcomp);
48258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jcomp->quality = jpeg_q[sd->quality];
48268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	jcomp->jpeg_markers = V4L2_JPEG_MARKER_DHT
48278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			| V4L2_JPEG_MARKER_DQT;
48288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return 0;
48298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
48308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
48318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic struct ctrl sd_ctrls[NCTRLS] = {
48328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[EXPOSURE] = {
48338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id = V4L2_CID_EXPOSURE,
48358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type = V4L2_CTRL_TYPE_INTEGER,
48368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name = "Exposure",
48378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0x01,
48388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 0xdc,
48398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step = 1,
48408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 0x4e,
48418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
48428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setexposure
48438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
48448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[QUALITY] = {
48458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id = V4L2_CID_PRIVATE_BASE,
48478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type = V4L2_CTRL_TYPE_INTEGER,
48488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name = "Compression quality",
48498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
48508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 15,
48518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step = 1,
48528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 13,
48538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
48548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setquality
48558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
48568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[RGAIN] = {
48578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id = V4L2_CID_RED_BALANCE,
48598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type = V4L2_CTRL_TYPE_INTEGER,
48608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name = "Red balance",
48618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
48628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 4095,
48638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step = 1,
48648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 256,
48658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
48668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setrgain
48678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
48688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[GAIN] = {
48698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id = V4L2_CID_GAIN,
48718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type = V4L2_CTRL_TYPE_INTEGER,
48728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name = "Gain",
48738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
48748f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 4095,
48758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step = 1,
48768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 256,
48778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
48788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set = sd_setgain
48798f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
48808f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[BGAIN] = {
48818f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48828f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id = V4L2_CID_BLUE_BALANCE,
48838f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type = V4L2_CTRL_TYPE_INTEGER,
48848f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name = "Blue balance",
48858f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
48868f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 4095,
48878f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step = 1,
48888f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 256,
48898f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
48908f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setbgain
48918f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
48928f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[SHARPNESS] = {
48938f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
48948f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id	 = V4L2_CID_SHARPNESS,
48958f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type    = V4L2_CTRL_TYPE_INTEGER,
48968f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name    = "Sharpness",
48978f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
48988f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 3,
48998f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step    = 1,
49008f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 2,
49018f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
49028f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setsharpness
49038f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
49048f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[GAMMA] = {
49058f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
49068f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id      = V4L2_CID_GAMMA,
49078f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type    = V4L2_CTRL_TYPE_INTEGER,
49088f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name    = "Gamma",
49098f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
49108f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = NGAMMA - 1,
49118f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step    = 1,
49128f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = 1,
49138f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
49148f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setgamma
49158f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
49168f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine[AUTOGAIN] = {
49178f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    {
49188f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.id      = V4L2_CID_AUTOGAIN,
49198f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.type    = V4L2_CTRL_TYPE_BOOLEAN,
49208f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.name    = "Auto Gain",
49218f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.minimum = 0,
49228f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.maximum = 1,
49238f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.step    = 1,
49248f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		.default_value = AUTOGAIN_DEF
49258f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    },
49268f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	    .set_control = setautogain
49278f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	},
49288f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
49298f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49308f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct sd_desc sd_desc = {
49318f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.name = KBUILD_MODNAME,
49328f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.ctrls = sd_ctrls,
49338f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.nctrls = NCTRLS,
49348f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.config = sd_config,
49358f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.init = sd_init,
49368f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.isoc_init = sd_isoc_init,
49378f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.start = sd_start,
49388f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.stopN = sd_stopN,
49398f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.pkt_scan = sd_pkt_scan,
49408f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.dq_callback = sd_dq_callback,
49418f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.get_streamparm = sd_get_streamparm,
49428f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.set_streamparm = sd_set_streamparm,
49438f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.get_jcomp = sd_get_jcomp,
49448f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.set_jcomp = sd_set_jcomp,
49458f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
49468f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49478f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic const struct usb_device_id device_table[] = {
49488f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{USB_DEVICE(0x06a2, 0x0003), .driver_info = BRIDGE_TP6800},
49498f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{USB_DEVICE(0x06a2, 0x6810), .driver_info = BRIDGE_TP6810},
49508f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	{}			/* Terminating entry */
49518f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
49528f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49538f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François MoineMODULE_DEVICE_TABLE(usb, device_table);
49548f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49558f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic int sd_probe(struct usb_interface *interface,
49568f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine		    const struct usb_device_id *id)
49578f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine{
49588f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	return gspca_dev_probe(interface, id, &sd_desc, sizeof(struct sd),
49598f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine			       THIS_MODULE);
49608f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine}
49618f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49628f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinestatic struct usb_driver sd_driver = {
49638f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.name = KBUILD_MODNAME,
49648f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.id_table = device_table,
49658f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.probe = sd_probe,
49668f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.disconnect = gspca_disconnect,
49678f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#ifdef CONFIG_PM
49688f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.suspend = gspca_suspend,
49698f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.resume = gspca_resume,
49708f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	.reset_resume = gspca_resume,
49718f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine#endif
49728f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine};
49738f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
4974ecb3b2b35db49778b6d89e3ffd0c400776c20735Greg Kroah-Hartmanmodule_usb_driver(sd_driver);
49758f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine
49768f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moinemodule_param(force_sensor, int, 0644);
49778f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François MoineMODULE_PARM_DESC(force_sensor,
49788f12b1ab2fac0edbc5d8ad64f962fe40662c5b72Jean-François Moine	"Force sensor. 0: cx0342, 1: soi763a");
4979