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