1 /* This is culled and altered from Xfig 3.2.2  */
2 
3 /*
4  * FIG : Facility for Interactive Generation of figures
5  * Copyright (c) 1985-1988 by Supoj Sutanthavibul
6  * Parts Copyright (c) 1989-1998 by Brian V. Smith
7  * Parts Copyright (c) 1991 by Paul King
8  *
9  * Any party obtaining a copy of these files is granted, free of charge, a
10  * full and unrestricted irrevocable, world-wide, paid up, royalty-free,
11  * nonexclusive right and license to deal in this software and
12  * documentation files (the "Software"), including without limitation the
13  * rights to use, copy, modify, merge, publish, distribute, sublicense,
14  * and/or sell copies of the Software, and to permit persons who receive
15  * copies from any such party to do so, with the only requirement being
16  * that this copyright notice remain intact.
17  *
18  */
19 
20 /* adapted from xfig-3.2.2/w_drawprim.c  */
21 
22 /* see the file Doc/FORMAT3.2 in this distribution for a *correct* description
23 	of the file format used by xfig 3.2.2. */
24 
25 /* bitmaps of patterns */
26 
27 #define NUM_PATTERNS 22
28 
29 /* fill patterns */
30 /* 30 degrees left diagonal */
31 #define left30_width 16
32 #define left30_height 16
33 /* 03 0c 30 c0  */
34 static unsigned char left30_bits[] = {
35    0x03, 0x03, 0x0c, 0x0c, 0x30, 0x30, 0xc0, 0xc0, 0x03, 0x03, 0x0c, 0x0c,
36    0x30, 0x30, 0xc0, 0xc0, 0x03, 0x03, 0x0c, 0x0c, 0x30, 0x30, 0xc0, 0xc0,
37    0x03, 0x03, 0x0c, 0x0c, 0x30, 0x30, 0xc0, 0xc0 };
38 /* 30 degrees right diagonal */
39 #define right30_width  16
40 #define right30_height 16
41 static unsigned char right30_bits[] = {
42    0xc0, 0xc0,0x30,0x30, 0x0c,0x0c, 0x03,0x03,
43    0xc0, 0xc0,0x30,0x30, 0x0c,0x0c, 0x03,0x03,
44    0xc0, 0xc0,0x30,0x30, 0x0c,0x0c, 0x03,0x03,
45    0xc0, 0xc0,0x30,0x30, 0x0c,0x0c, 0x03,0x03};
46 /* 30 degrees crosshatch */
47 #define crosshatch30_width 16
48 #define crosshatch30_height 16
49 static unsigned char crosshatch30_bits[] = {
50    0x81,0x81, 0x66,0x66, 0x18,0x18, 0x66,0x66,
51    0x81,0x81, 0x66,0x66, 0x18,0x18, 0x66,0x66,
52    0x81,0x81, 0x66,0x66, 0x18,0x18, 0x66,0x66,
53    0x81,0x81, 0x66,0x66, 0x18,0x18, 0x66,0x66};
54 /* 45 degrees left diagonal */
55 #define left45_width 16
56 #define left45_height 16
57 static unsigned char left45_bits[] = {
58    0x01,0x01, 0x02,0x02, 0x04,0x04, 0x08,0x08,
59 	0x10,0x10, 0x20,0x20, 0x40,0x40, 0x80,0x80,
60    0x01,0x01, 0x02,0x02, 0x04,0x04, 0x08,0x08,
61 	0x10,0x10, 0x20,0x20, 0x40,0x40, 0x80,0x80};
62 /* 45 degrees right diagonal */
63 #define right45_width 16
64 #define right45_height 16
65 static unsigned char right45_bits[] = {
66    0x80,0x80, 0x40,0x40, 0x20,0x20, 0x10,0x10,
67 	0x08,0x08, 0x04,0x04, 0x02,0x02, 0x01,0x01,
68    0x80,0x80, 0x40,0x40, 0x20,0x20, 0x10,0x10,
69 	0x08,0x08, 0x04,0x04, 0x02,0x02, 0x01,0x01};
70 /* 45 degrees crosshatch */
71 #define crosshatch45_width 16
72 #define crosshatch45_height 16
73 static unsigned char crosshatch45_bits[] = {
74    0x11,0x11, 0x0a,0x0a, 0x04,0x04, 0x0a,0x0a,
75 	0x11,0x11, 0xa0,0xa0, 0x40,0x40, 0xa0,0xa0,
76    0x11,0x11, 0x0a,0x0a, 0x04,0x04, 0x0a,0x0a,
77 	0x11,0x11, 0xa0,0xa0, 0x40,0x40, 0xa0,0xa0};
78 /* horizontal bricks */
79 #define bricks_width 16
80 #define bricks_height 16
81 static unsigned char bricks_bits[] = {
82    0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
83    0x00, 0x80, 0xff, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
84    0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xff, 0xff};
85 /* vertical bricks */
86 #define vert_bricks_width 16
87 #define vert_bricks_height 16
88 static unsigned char vert_bricks_bits[] = {
89    0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
90    0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
91    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80};
92 /* horizontal lines */
93 #define horizontal_width 16
94 #define horizontal_height 16
95 static unsigned char horizontal_bits[] = {
96    0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00,
97    0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00,
98    0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00,
99    0xff,0xff, 0x00,0x00, 0x00,0x00, 0x00,0x00};
100 /* vertical lines */
101 #define vertical_width 16
102 #define vertical_height 16
103 static unsigned char vertical_bits[] = {
104    0x88,0x88, 0x88,0x88, 0x88,0x88, 0x88,0x88,
105 	0x88,0x88, 0x88,0x88, 0x88,0x88, 0x88,0x88,
106    0x88,0x88, 0x88,0x88, 0x88,0x88, 0x88,0x88,
107 	0x88,0x88, 0x88,0x88, 0x88,0x88, 0x88,0x88};
108 /* crosshatch */
109 #define crosshatch_width 16
110 #define crosshatch_height 16
111 static unsigned char crosshatch_bits[] = {
112    0xff,0xff, 0x88,0x88, 0x88,0x88, 0x88,0x88,
113    0xff,0xff, 0x88,0x88, 0x88,0x88, 0x88,0x88,
114    0xff,0xff, 0x88,0x88, 0x88,0x88, 0x88,0x88,
115    0xff,0xff, 0x88,0x88, 0x88,0x88, 0x88,0x88};
116 /* left-pointing shingles */
117 #define leftshingle_width 24
118 #define leftshingle_height 24
119 static unsigned char leftshingle_bits[] = {
120    0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
121    0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0xff, 0xff, 0xff,
122    0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00,
123    0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0xff, 0xff, 0xff,
124    0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00,
125    0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0xff, 0xff, 0xff};
126 /* right-pointing shingles */
127 #define rightshingle_width 24
128 #define rightshingle_height 24
129 static unsigned char rightshingle_bits[] = {
130    0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20,
131    0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff,
132    0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00,
133    0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0xff, 0xff, 0xff,
134    0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00,
135    0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff};
136 /* vertical left-pointing shingles */
137 #define vert_leftshingle_width 24
138 #define vert_leftshingle_height 24
139 static unsigned char vert_leftshingle_bits[] = {
140    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
141    0x80, 0x80, 0x81, 0x80, 0x80, 0x86, 0x80, 0x80, 0x98, 0x80, 0x80, 0xe0,
142    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
143    0x80, 0x81, 0x80, 0x80, 0x86, 0x80, 0x80, 0x98, 0x80, 0x80, 0xe0, 0x80,
144    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
145    0x81, 0x80, 0x80, 0x86, 0x80, 0x80, 0x98, 0x80, 0x80, 0xe0, 0x80, 0x80};
146 /* vertical right-pointing shingles */
147 #define vert_rightshingle_width 24
148 #define vert_rightshingle_height 24
149 static unsigned char vert_rightshingle_bits[] = {
150    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
151    0x80, 0xc0, 0x80, 0x80, 0xb0, 0x80, 0x80, 0x8c, 0x80, 0x80, 0x83, 0x80,
152    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
153    0x80, 0x80, 0xc0, 0x80, 0x80, 0xb0, 0x80, 0x80, 0x8c, 0x80, 0x80, 0x83,
154    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
155    0xc0, 0x80, 0x80, 0xb0, 0x80, 0x80, 0x8c, 0x80, 0x80, 0x83, 0x80, 0x80};
156 /* fish scales */
157 #define fishscales_width 16
158 #define fishscales_height 16
159 static unsigned char fishscales_bits[] = {
160    0x40, 0x02, 0x30, 0x0c, 0x0e, 0x70, 0x01, 0x80, 0x02, 0x40, 0x0c, 0x30,
161    0x70, 0x0e, 0x80, 0x01,
162    0x40, 0x02, 0x30, 0x0c, 0x0e, 0x70, 0x01, 0x80, 0x02, 0x40, 0x0c, 0x30,
163    0x70, 0x0e, 0x80, 0x01};
164 /* small fish scales */
165 #define small_fishscales_width 16
166 #define small_fishscales_height 16
167 static unsigned char small_fishscales_bits[] = {
168    0x01,0x01, 0x01,0x01, 0x82,0x82, 0x6c,0x6c, 0x10,0x10, 0x10,0x10, 0x28,0x28, 0xc6,0xc6,
169    0x01,0x01, 0x01,0x01, 0x82,0x82, 0x6c,0x6c, 0x10,0x10, 0x10,0x10, 0x28,0x28, 0xc6,0xc6};
170 /* circles */
171 #define circles_width 16
172 #define circles_height 16
173 static unsigned char circles_bits[] = {
174    0xe0, 0x0f, 0x18, 0x30, 0x04, 0x40, 0x02, 0x80, 0x02, 0x80, 0x01, 0x00,
175    0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
176    0x02, 0x80, 0x02, 0x80, 0x04, 0x40, 0x18, 0x30};
177 /* hexagons */
178 #define hexagons_width 30
179 #define hexagons_height 18
180 static unsigned char hexagons_bits[] = {
181    0x08, 0x80, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00,
182    0x04, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00,
183    0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0xf8, 0x3f,
184    0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00,
185    0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00,
186    0x08, 0x80, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00};
187 /* octagons */
188 #define octagons_width 16
189 #define octagons_height 16
190 static unsigned char octagons_bits[] = {
191    0xe0, 0x0f, 0x10, 0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01, 0x00,
192    0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
193    0x02, 0x80, 0x04, 0x40, 0x08, 0x20, 0x10, 0x10};
194 /* horizontal sawtooth */
195 #define horiz_saw_width 16
196 #define horiz_saw_height 16
197 static unsigned char horiz_saw_bits[] = {
198    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x14, 0x14, 0x22, 0x22,
199    0x41, 0x41, 0x80, 0x80,
200    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x14, 0x14, 0x22, 0x22,
201    0x41, 0x41, 0x80, 0x80};
202 /* vertical sawtooth */
203 #define vert_saw_width 16
204 #define vert_saw_height 16
205 static unsigned char vert_saw_bits[] = {
206    0x02,0x02, 0x04,0x04, 0x08,0x08, 0x10,0x10, 0x08,0x08, 0x04,0x04, 0x02,0x02, 0x01,0x01, 0x02,0x02, 0x04,0x04, 0x08,0x08, 0x10,0x10,
207    0x08,0x08, 0x04,0x04, 0x02,0x02, 0x01,0x01};
208 
209 /* patterns like bricks, etc */
210 struct pattern {
211 	  int	 width,height;	/* original width/height */
212 	  char	*data;			/* original bytes */
213 	} pattern_images[NUM_PATTERNS] = {
214 		{left30_width, left30_height, (char*)left30_bits},
215 		{right30_width, right30_height, (char*)right30_bits},
216 		{crosshatch30_width, crosshatch30_height,
217 		 (char*)crosshatch30_bits},
218 		{left45_width, left45_height, (char*)left45_bits},
219 		{right45_width, right45_height, (char*)right45_bits},
220 		{crosshatch45_width, crosshatch45_height,
221 		 (char*)crosshatch45_bits},
222 		{bricks_width, bricks_height, (char*)bricks_bits},
223 		{vert_bricks_width, vert_bricks_height,
224 		 (char*)vert_bricks_bits},
225 		{horizontal_width, horizontal_height, (char*)horizontal_bits},
226 		{vertical_width, vertical_height, (char*)vertical_bits},
227 		{crosshatch_width, crosshatch_height, (char*)crosshatch_bits},
228 		{leftshingle_width, leftshingle_height,
229 		 (char*)leftshingle_bits},
230 		{rightshingle_width, rightshingle_height,
231 		 (char*)rightshingle_bits},
232 		{vert_leftshingle_width, vert_leftshingle_height,
233 		 (char*)vert_leftshingle_bits},
234 		{vert_rightshingle_width, vert_rightshingle_height,
235 		 (char*)vert_rightshingle_bits},
236 		{fishscales_width, fishscales_height, (char*)fishscales_bits},
237 		{small_fishscales_width, small_fishscales_height,
238 		 (char*)small_fishscales_bits},
239 		{circles_width, circles_height, (char*)circles_bits},
240 		{hexagons_width, hexagons_height, (char*)hexagons_bits},
241 		{octagons_width, octagons_height, (char*)octagons_bits},
242 		{horiz_saw_width, horiz_saw_height, (char*)horiz_saw_bits},
243 		{vert_saw_width, vert_saw_height, (char*)vert_saw_bits}
244 	};
245 
246 /* grey images for fill patterns (32x32) */
247 #define NUM_SHADES 21
248 #define SHADE_WIDTH 32
249 #define SHADE_HEIGHT 32
250 static unsigned char shade_images[NUM_SHADES][128] = {
251  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
252  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
253  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
254  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
255  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
256  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
257  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
258  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
259  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
260  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88,
261  0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,
262  0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,
263  0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
264  0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
265  0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
266  0x00,0x00,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
267  0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
268  0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08},
269  {0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
270  0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,
271  0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,
272  0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,
273  0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,
274  0x44,0x00,0x00,0x00,0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44,
275  0x44,0x44,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,
276  0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
277  0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00},
278  {0x00,0x00,0x00,0x00,0x11,0x51,0x11,0x51,0x00,0x00,0x00,0x00,0x44,0x44,0x44,
279  0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00,0x44,0x44,
280  0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00,0x00,0x00,0x00,0x44,
281  0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00,
282  0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x11,0x51,0x11,0x51,0x00,0x00,0x00,
283  0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,
284  0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00,
285  0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,
286  0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44},
287  {0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a,0x88,0x8a,
288  0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x88,0x88,
289  0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a,
290  0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,
291  0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,
292  0x00,0x8a,0x88,0x8a,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,
293  0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,
294  0x00,0x00,0x00,0x8a,0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,
295  0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88},
296  {0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,
297  0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,
298  0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,
299  0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,
300  0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,
301  0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,
302  0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,
303  0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,
304  0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00},
305  {0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88,0x88,0x88,
306  0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x80,0x80,
307  0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88,
308  0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,
309  0x88,0x80,0x88,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,
310  0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,
311  0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,
312  0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,
313  0x55,0x55,0x55,0x55,0x88,0x80,0x88,0x80},
314  {0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55,
315  0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08,0x88,0x08,0x55,0x55,
316  0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55,
317  0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x08,0x08,0x08,0x08,
318  0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,
319  0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08,
320  0x88,0x08,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,
321  0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,
322  0x08,0x08,0x08,0x08,0x55,0x55,0x55,0x55},
323  {0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x22,0xa2,0x22,0xa2,0x55,0x55,0x55,
324  0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a,0x55,0x55,
325  0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2,0x22,0xa2,0x22,0x55,
326  0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a,
327  0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x22,0xa2,0x22,
328  0xa2,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,
329  0x2a,0x2a,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2,
330  0x22,0xa2,0x22,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,
331  0x2a,0x2a,0x2a,0x2a,0x55,0x55,0x55,0x55},
332  {0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x54,0x54,0x54,
333  0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44,0x44,
334  0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44,
335  0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,
336  0x44,0x44,0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,
337  0xaa,0x54,0x54,0x54,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,
338  0xaa,0xaa,0x44,0x44,0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,
339  0xaa,0xaa,0xaa,0x44,0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,
340  0xaa,0xaa,0xaa,0xaa,0x44,0x44,0x44,0x44},
341  {0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,
342  0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,
343  0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,
344  0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,
345  0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,
346  0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,
347  0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,
348  0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,
349  0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa},
350  {0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,
351  0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,
352  0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,
353  0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,
354  0xaa,0xaa,0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,
355  0x55,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,
356  0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,
357  0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa,
358  0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa},
359  {0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,
360  0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d,0xdd,0x5d,0xaa,0xaa,
361  0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,
362  0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0x5d,0xdd,0x5d,0xdd,
363  0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,
364  0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d,
365  0xdd,0x5d,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,
366  0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,
367  0x5d,0xdd,0x5d,0xdd,0xaa,0xaa,0xaa,0xaa},
368  {0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,0xfe,0xfe,
369  0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xee,0xef,
370  0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,
371  0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,
372  0xef,0xef,0xef,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,
373  0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,
374  0x55,0x55,0xee,0xef,0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,
375  0x55,0x55,0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,
376  0x55,0x55,0x55,0x55,0xef,0xef,0xef,0xef},
377  {0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,
378  0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f,0x77,0x7f,0xaa,0xaa,
379  0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,
380  0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x7f,0x7f,0x7f,0x7f,
381  0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,
382  0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f,
383  0x77,0x7f,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,
384  0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,
385  0x7f,0x7f,0x7f,0x7f,0xaa,0xaa,0xaa,0xaa},
386  {0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,
387  0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,
388  0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,
389  0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,
390  0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,
391  0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,
392  0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,
393  0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,
394  0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa},
395  {0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff,0xff,0xff,
396  0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd,0x5d,0xdd,0xff,0xff,
397  0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff,
398  0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0x5d,0x5d,0x5d,
399  0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,
400  0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd,
401  0x5d,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,
402  0xdd,0xdd,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,
403  0x5d,0x5d,0x5d,0x5d,0xff,0xff,0xff,0xff},
404  {0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff,0xff,0xff,
405  0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb,0xab,0xbb,0xff,0xff,
406  0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff,
407  0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xab,0xbb,0xab,
408  0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,
409  0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb,
410  0xab,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,
411  0xba,0xba,0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,
412  0xbb,0xab,0xbb,0xab,0xff,0xff,0xff,0xff},
413  {0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,
414  0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbf,0xbb,
415  0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb,
416  0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,
417  0xbf,0xbf,0xbf,0xbf,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,
418  0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,
419  0xff,0xff,0xbf,0xbb,0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,
420  0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,
421  0xff,0xff,0xff,0xff,0xbf,0xbf,0xbf,0xbf},
422  {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0xbb,0xbb,
423  0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfb,
424  0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,
425  0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
426  0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
427  0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
428  0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
429  0xff,0xff,0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
430  0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb},
431  {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
432  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
433  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
434  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
435  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
436  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
437  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
438  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
439  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
440 };
441 
442 
443 
444