Merge lp:~ubuntu-branches/ubuntu/precise/ghostscript/precise-201111061910 into lp:ubuntu/precise/ghostscript

Proposed by Ubuntu Package Importer
Status: Rejected
Rejected by: James Westby
Proposed branch: lp:~ubuntu-branches/ubuntu/precise/ghostscript/precise-201111061910
Merge into: lp:ubuntu/precise/ghostscript
Diff against target: 5342 lines (+5261/-1) (has conflicts)
15 files modified
base/gscolorbuffer.c.OTHER (+268/-0)
base/gscolorbuffer.h.OTHER (+25/-0)
debian/control.in (+2/-1)
lib/cat.ps.OTHER (+74/-0)
lib/viewrgb.ps.OTHER (+146/-0)
psi/dmmain.c.OTHER (+996/-0)
psi/dmmain.r.OTHER (+2537/-0)
psi/wrfont.c.OTHER (+78/-0)
psi/wrfont.h.OTHER (+42/-0)
psi/write_t1.c.OTHER (+359/-0)
psi/write_t1.h.OTHER (+29/-0)
psi/write_t2.c.OTHER (+466/-0)
psi/write_t2.h.OTHER (+28/-0)
toolbin/extractFonts.ps.OTHER (+100/-0)
toolbin/extractICCprofiles.ps.OTHER (+111/-0)
Contents conflict in base/gscolorbuffer.c
Contents conflict in base/gscolorbuffer.h
Contents conflict in lib/cat.ps
Contents conflict in lib/viewrgb.ps
Contents conflict in psi/dmmain.c
Contents conflict in psi/dmmain.r
Contents conflict in psi/wrfont.c
Contents conflict in psi/wrfont.h
Contents conflict in psi/write_t1.c
Contents conflict in psi/write_t1.h
Contents conflict in psi/write_t2.c
Contents conflict in psi/write_t2.h
Contents conflict in toolbin/extractFonts.ps
Contents conflict in toolbin/extractICCprofiles.ps
To merge this branch: bzr merge lp:~ubuntu-branches/ubuntu/precise/ghostscript/precise-201111061910
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+81414@code.launchpad.net

Description of the change

The package importer has detected a possible inconsistency between the package history in the archive and the history in bzr. As the archive is authoritative the importer has made lp:ubuntu/precise/ghostscript reflect what is in the archive and the old bzr branch has been pushed to lp:~ubuntu-branches/ubuntu/precise/ghostscript/precise-201111061910. This merge proposal was created so that an Ubuntu developer can review the situations and perform a merge/upload if necessary. There are three typical cases where this can happen.
  1. Where someone pushes a change to bzr and someone else uploads the package without that change. This is the reason that this check is done by the importer. If this appears to be the case then a merge/upload should be done if the changes that were in bzr are still desirable.
  2. The importer incorrectly detected the above situation when someone made a change in bzr and then uploaded it.
  3. The importer incorrectly detected the above situation when someone just uploaded a package and didn't touch bzr.

If this case doesn't appear to be the first situation then set the status of the merge proposal to "Rejected" and help avoid the problem in future by filing a bug at https://bugs.launchpad.net/udd linking to this merge proposal.

(this is an automatically generated message)

To post a comment you must log in.

Unmerged revisions

113. By Steve Langasek

releasing version 9.04~dfsg-2ubuntu1

112. By Steve Langasek

run update-maintainer

111. By Steve Langasek

Mark ghostscript Multi-Arch: foreign.

110. By Steve Langasek

push our devlibs changes into control.in*, so regeneration works correctly

109. By Steve Langasek

merge Debian version 9.04~dfsg-2

108. By Steve Langasek

Merging shared upstream rev into target branch.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'base/gscolorbuffer.c.OTHER'
--- base/gscolorbuffer.c.OTHER 1970-01-01 00:00:00 +0000
+++ base/gscolorbuffer.c.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,268 @@
1/* Copyright (C) 2001-2009 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* Simple operators and place holding support for doing conversions on buffers
15 of data. These functions perform device (non CIE or ICC color conversions)
16 on buffers of data. Eventually these will be replaced with functions for
17 using the ICC based linked mappings with the external CMS. This is far from
18 efficient at this point, but gets the job done */
19
20#include "string_.h"
21#include "stdpre.h"
22#include "gstypes.h"
23#include "gsmemory.h"
24#include "gxblend.h"
25#include "gscolorbuffer.h"
26
27#define float_color_to_byte_color(float_color) ( \
28 (0.0 < (float_color) && (float_color) < 1.0) ? \
29 ((unsigned char) ((float_color) * 255.0)) : \
30 (((float_color) <= 0.0) ? 0x00 : 0xFF) \
31 )
32
33/* We could use the conversions that are defined in gxdcconv.c,
34 however for now we will use something even easier. This is
35 temporary until we get the proper ICC flows in place */
36
37static void
38rgb_to_cmyk(byte rgb[],byte cmyk[])
39{
40
41 /* Real sleazy min black generation */
42
43 cmyk[0] = 255 - rgb[0];
44 cmyk[1] = 255 - rgb[1];
45 cmyk[2] = 255 - rgb[2];
46
47 cmyk[3] = (cmyk[0] < cmyk[1]) ?
48 min(cmyk[0], cmyk[2]) : min(cmyk[1], cmyk[2]);
49
50}
51
52static void
53rgb_to_gray(byte rgb[], byte gray[])
54{
55
56 float temp_value;
57
58 /* compute a luminance component */
59 temp_value = rgb[0]*0.3 + rgb[1]*0.59 + rgb[2]*0.11;
60 temp_value = temp_value * (1.0 / 255.0 ); /* May need to be optimized */
61 gray[0] = float_color_to_byte_color(temp_value);
62
63}
64
65static void
66cmyk_to_rgb(byte cmyk[], byte rgb[])
67{
68
69 /* real ugly, but temporary */
70
71 rgb[0] = 255 - min(cmyk[0] + cmyk[3],255);
72 rgb[1] = 255 - min(cmyk[1] + cmyk[3],255);
73 rgb[2] = 255 - min(cmyk[2] + cmyk[3],255);
74
75}
76
77static void
78cmyk_to_gray(byte cmyk[], byte gray[])
79{
80
81 float temp_value;
82
83 temp_value = ((255 - cmyk[0])*0.3 +
84 (255 - cmyk[1])*0.59 +
85 (255 - cmyk[2]) * 0.11) * (255 - cmyk[3]);
86 temp_value = temp_value * (1.0 / 65025.0 );
87
88 gray[0] = float_color_to_byte_color(temp_value);
89
90}
91
92static void
93gray_to_cmyk(byte gray[], byte cmyk[])
94{
95
96 /* Just do black. */
97 cmyk[0] = 0;
98 cmyk[1] = 0;
99 cmyk[2] = 0;
100 cmyk[3] = 255 - gray[0];
101
102}
103
104static void
105gray_to_rgb(byte gray[], byte rgb[])
106{
107
108 rgb[0] = gray[0];
109 rgb[1] = gray[0];
110 rgb[2] = gray[0];
111
112}
113
114void
115gs_transform_color_buffer_generic(byte *inputbuffer,
116 int row_stride, int plane_stride,
117 int input_num_color, gs_int_rect rect, byte *outputbuffer,
118 int output_num_color, int num_noncolor_planes)
119
120{
121 int num_rows, num_cols, x, y, z;
122 void (* color_remap)(byte input[],byte output[]) = NULL;
123 byte input_vector[4],output_vector[4];
124 int plane_offset[PDF14_MAX_PLANES],alpha_offset_in,max_num_channels;
125
126 num_rows = rect.q.y - rect.p.y;
127 num_cols = rect.q.x - rect.p.x;
128
129 /* Check for spot + cmyk case */
130
131 if (output_num_color > 4)
132 {
133
134 /* To CMYK always */
135 switch (input_num_color) {
136
137 case 1:
138 color_remap = gray_to_cmyk;
139 break;
140
141 case 3:
142 color_remap = rgb_to_cmyk;
143 break;
144
145 case 4:
146 color_remap = NULL; /* Copy data */
147 break;
148
149 default:
150
151 /* Should never be here. Groups must
152 be gray, rgb or CMYK. Exception
153 may be ICC with XPS */
154
155 break;
156
157 }
158
159 } else {
160
161 /* Pick the mapping to use */
162
163 switch (input_num_color) {
164
165 case 1:
166 if (output_num_color == 3)
167 color_remap = gray_to_rgb;
168 else
169 color_remap = gray_to_cmyk;
170 break;
171
172 case 3:
173 if (output_num_color == 1)
174 color_remap = rgb_to_gray;
175 else
176 color_remap = rgb_to_cmyk;
177 break;
178
179 case 4:
180 if (output_num_color == 1)
181 color_remap = cmyk_to_gray;
182 else
183 color_remap = cmyk_to_rgb;
184 break;
185
186 default:
187
188 /* Should never be here. Groups must
189 be gray, rgb or CMYK. Until we
190 have ICC working here with XPS */
191
192 break;
193
194 }
195
196 }
197
198 /* data is planar */
199
200 max_num_channels = max(input_num_color, output_num_color) +
201 num_noncolor_planes;
202
203 for (z = 0; z < max_num_channels; z++)
204 plane_offset[z] = z * plane_stride;
205
206 if (color_remap == NULL) {
207
208 /* Blending group was CMYK, output is CMYK + spot */
209
210 memcpy(outputbuffer, inputbuffer, 4*plane_stride);
211
212 /* Add any data that are beyond the standard color data (e.g. alpha) */
213
214 if (num_noncolor_planes > 0)
215 memcpy(&(outputbuffer[plane_offset[output_num_color]]),
216 &(inputbuffer[plane_offset[input_num_color]]),
217 num_noncolor_planes*plane_stride);
218
219 } else {
220
221 /* Have to remap */
222
223 alpha_offset_in = input_num_color*plane_stride;
224
225 for (y = 0; y < num_rows; y++) {
226
227 for (x = 0; x < num_cols; x++) {
228
229 /* If the source alpha is transparent, then move on */
230
231 if (inputbuffer[x + alpha_offset_in] != 0x00) {
232
233 /* grab the input */
234
235 for (z = 0; z<input_num_color; z++)
236 input_vector[z] = inputbuffer[x+plane_offset[z]];
237
238 /* convert */
239
240 color_remap(input_vector,output_vector);
241
242 /* store the output */
243
244 for (z = 0; z < output_num_color; z++)
245 outputbuffer[x+plane_offset[z]] = output_vector[z];
246
247 /* Add any that are beyond the standard color data */
248
249 for(z = 0; z < num_noncolor_planes; z++)
250 outputbuffer[x + plane_offset[output_num_color+z]] =
251 inputbuffer[x + plane_offset[input_num_color+z]];
252
253 }
254
255 }
256
257 /* update our positions */
258
259 for (z = 0; z < max_num_channels; z++)
260 plane_offset[z] += row_stride;
261
262 alpha_offset_in += row_stride;
263
264 }
265
266 }
267
268}
0269
=== added file 'base/gscolorbuffer.h.OTHER'
--- base/gscolorbuffer.h.OTHER 1970-01-01 00:00:00 +0000
+++ base/gscolorbuffer.h.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,25 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* Client color structure definition */
15
16/* Simple operators and place holding support for doing conversions on buffers
17 of data. These functions perform device (non CIE or ICC color conversions)
18 on buffers of data. Eventually these will be replaced with functions for
19 using the ICC based linked mappings with the external CMS. */
20
21/* This just does planar data for now */
22void gs_transform_color_buffer_generic(byte *inputbuffer,
23 int rowstride, int planestride,
24 int input_num_color, gs_int_rect rect,byte *outputbuffer,
25 int output_num_color,int num_noncolor_planes);
026
=== modified file 'debian/control.in'
--- debian/control.in 2011-11-06 10:50:36 +0000
+++ debian/control.in 2011-11-06 19:17:26 +0000
@@ -1,7 +1,8 @@
1Source: ghostscript1Source: ghostscript
2Section: text2Section: text
3Priority: optional3Priority: optional
4Maintainer: Debian Printing Team <debian-printing@lists.debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian Printing Team <debian-printing@lists.debian.org>
5Build-Depends: @cdbs@6Build-Depends: @cdbs@
6Standards-Version: 3.9.27Standards-Version: 3.9.2
7Uploaders: Jonas Smedegaard <dr@jones.dk>,8Uploaders: Jonas Smedegaard <dr@jones.dk>,
89
=== added file 'lib/cat.ps.OTHER'
--- lib/cat.ps.OTHER 1970-01-01 00:00:00 +0000
+++ lib/cat.ps.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,74 @@
1% Copyright (C) 1996-2003 Artifex Software, Inc. All rights reserved.
2%
3% This software is provided AS-IS with no warranty, either express or
4% implied.
5%
6% This software is distributed under license and may not be copied,
7% modified or distributed except as expressly authorized under the terms
8% of the license contained in the file LICENSE in this distribution.
9%
10% For more information about licensing, please refer to
11% http://www.ghostscript.com/licensing/. For information on
12% commercial licensing, go to http://www.artifex.com/licensing/ or
13% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
15%
16% $Id: cat.ps 8331 2008-02-05 11:07:00Z kens $
17%
18% Appends one file to another. Primarily used to overcome the
19% 'copy' limitation of Windows command shell for ps2epsi
20%
21% the files to be appended are given by the environament
22% variables %infile% and %outfile%. %infile% is appended to
23% %outfile%
24%
25
26/datastring 1024 string def
27
28{
29 (outfile) getenv
30 {
31 /outfilename exch def
32 (infile) getenv
33 {
34 /infilename exch def
35
36 infilename status
37 {
38 pop pop pop pop outfilename status
39 {
40 pop pop pop pop
41 infilename (r) file /infile exch def
42 outfilename (a+) file /outfile exch def
43 {
44 infile datastring readstring
45 {
46 outfile exch writestring
47 }
48 {
49 dup length 0 gt
50 {outfile exch writestring} {pop} ifelse
51 exit
52 } ifelse
53 } loop
54 infile closefile
55 outfile closefile
56 }
57 {
58 (Failed to find file ) print outfilename ==
59 } ifelse
60 }
61 {
62 (Failed to find file ) print infilename ==
63 } ifelse
64 }
65 {
66 (Couldn't find %infile% environment variable) ==
67 } ifelse
68 }
69 {
70 (Couldn't find %outfile% environment variable) ==
71 }
72 ifelse
73} bind
74exec
075
=== added file 'lib/viewrgb.ps.OTHER'
--- lib/viewrgb.ps.OTHER 1970-01-01 00:00:00 +0000
+++ lib/viewrgb.ps.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,146 @@
1% Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
2%
3% This software is provided AS-IS with no warranty, either express or
4% implied.
5%
6% This software is distributed under license and may not be copied, modified
7% or distributed except as expressly authorized under the terms of that
8% license. Refer to licensing information at http://www.artifex.com/
9% or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
10% San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
11
12% $Id$
13
14% viewrgb.ps
15% Display a raw RGB file created by -sDEVICE=bitrgb.
16% If SCALE is defined, maps input pixels to output pixels with that scale;
17% if SCALE is undefined, scales the image to fit the page.
18% If BITS is defined, it is the number of bits per sample (1,2,8,12).
19% NB: BITS=4 (corresponding to -dGrayValues=16) is not supported.
20% if BITS is undefined, its default value is 1.
21
22/viewrgb { % <filename> <width> viewrgb -
23 20 dict begin
24 /w exch def
25 /fname exch def
26 /bpc /BITS where { pop BITS } { 1 } ifelse def
27 /f fname (r) file def
28 mark fname status pop pop pop /flen exch def cleartomark
29 /h flen
30 w [ 0 4 8 0 0 0 0 0 24 ] bpc get
31 dup 0 eq {
32 (*** -dBITS=) print bpc =print ( is not supported. ***) = flush
33 quit
34 } if
35 mul 7 add 8 idiv idiv def
36 QUIET not { (Dimensions: ) print [w h] == flush } if
37 % Set up scaling.
38 /SCALE where {
39 pop
40 % Map pixels SCALE-for-1. Assume orthogonal transformation.
41 SCALE 1 0 dtransform add abs div
42 SCALE 0 1 dtransform add abs div
43 } {
44 % Scale the image (uniformly) to fit the page.
45 clippath pathbbox pop pop translate
46 pathbbox 3 -1 roll sub h div
47 3 1 roll exch sub w div .min dup
48 } ifelse scale
49 bpc 1 eq {
50 [ /Indexed /DeviceRGB 15 <
51 000000
52 0000FF
53 00FF00
54 00FFFF
55 FF0000
56 FF00FF
57 FFFF00
58 FFFFFF
59 000000
60 0000FF
61 00FF00
62 00FFFF
63 FF0000
64 FF00FF
65 FFFF00
66 FFFFFF
67 >
68 ] setcolorspace
69 /BPC 4 def % change to 4 bit indexed
70 } {
71 bpc 2 eq {
72 [ /Indexed /DeviceRGB 255 <
73 000000 000055 0000AA 0000FF
74 005500 005555 0055AA 0055FF
75 00AA00 00AA55 00AAAA 00AAFF
76 00FF00 00FF55 00FFAA 00FFFF
77 550000 550055 5500AA 5500FF
78 555500 555555 5555AA 5555FF
79 55AA00 55AA55 55AAAA 55AAFF
80 55FF00 55FF55 55FFAA 55FFFF
81 AA0000 AA0055 AA00AA AA00FF
82 AA5500 AA5555 AA55AA AA55FF
83 AAAA00 AAAA55 AAAAAA AAAAFF
84 AAFF00 AAFF55 AAFFAA AAFFFF
85 FF0000 FF0055 FF00AA FF00FF
86 FF5500 FF5555 FF55AA FF55FF
87 FFAA00 FFAA55 FFAAAA FFAAFF
88 FFFF00 FFFF55 FFFFAA FFFFFF
89
90 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
91 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
92 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
93 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
94
95 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
96 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
97 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
98 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
99
100 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
101 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
102 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
103 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
104
105 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
106 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
107 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
108 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
109 >
110 ] setcolorspace
111 /BPC 8 def % change to 4 bit indexed
112 } {
113 /DeviceRGB setcolorspace
114 /BPC bpc def
115 }
116 ifelse
117 }
118 ifelse
119 << /ImageType 1
120 /Width w
121 /Height h
122 /BitsPerComponent BPC
123 /ImageMatrix [1 0 0 -1 0 h]
124 /DataSource f
125 /MultipleDataSources false
126 bpc 4 lt { /Decode [ 0 [ 0 15 255 ] bpc get ] } { /Decode [ 0 1 0 1 0 1 ] } ifelse
127 >> image
128 showpage
129 f closefile
130 end
131} bind def
132
133% If the program was invoked from the command line, run it now.
134[ shellarguments {
135 counttomark 2 eq {
136 cvi viewrgb
137 } {
138 cleartomark
139 (\nUsage: gs -- viewrgb.ps filename.rgb width\n) print
140 ( e.g.: gs -- viewrgb.ps my.rgb 2550\n) print flush
141 ( -dSCALE=### sets specific scaling \(default = 1.0\)) = flush
142 ( -dBITS=# sets the BitsPerComponent \(1, 2, 8, 12] \(default = 1\)) = flush
143 } ifelse
144} {
145 pop
146} ifelse
0147
=== added file 'psi/dmmain.c.OTHER'
--- psi/dmmain.c.OTHER 1970-01-01 00:00:00 +0000
+++ psi/dmmain.c.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,996 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13/* $Id$ */
14
15/* Ghostscript shlib example wrapper for Macintosh (Classic/Carbon) contributed
16 by Nigel Hathaway. Uses the Metrowerks CodeWarrior SIOUX command-line library.
17 */
18
19#if __ide_target("Ghostscript PPC (Debug)") || __ide_target("Ghostscript PPC (Release)")
20#define TARGET_API_MAC_CARBON 0
21#define TARGET_API_MAC_OS8 1
22#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
23#endif
24
25#include <Carbon.h>
26
27#include <stdlib.h>
28#include <string.h>
29#include <stdio.h>
30#include <console.h>
31#include <SIOUX.h>
32#include <SIOUXGlobals.h>
33#include <SIOUXMenus.h>
34
35#include "gscdefs.h"
36#define GSREVISION gs_revision
37#include "ierrors.h"
38#include "iapi.h"
39
40#if DEBUG
41#include "vdtrace.h"
42#endif
43
44#include "gdevdsp.h"
45
46#define kScrollBarWidth 15
47#define MAX_ARGS 25
48
49Boolean gRunningOnX = false;
50Boolean gDone;
51ControlActionUPP gActionFunctionScrollUPP;
52
53const char start_string[] = "systemdict /start get exec\n";
54void *instance;
55
56const unsigned int display_format = DISPLAY_COLORS_RGB | DISPLAY_UNUSED_FIRST |
57 DISPLAY_DEPTH_8 | DISPLAY_BIGENDIAN |
58 DISPLAY_TOPFIRST;
59typedef struct IMAGE_S IMAGE;
60struct IMAGE_S {
61 void *handle;
62 void *device;
63 WindowRef windowRef;
64 ControlRef scrollbarVertRef;
65 ControlRef scrollbarHorizRef;
66 PixMapHandle pixmapHdl;
67 UInt64 update_time;
68 int update_interval;
69 IMAGE *next;
70};
71
72IMAGE *first_image;
73
74static IMAGE *image_find(void *handle, void *device);
75
76static int GSDLLCALL gsdll_stdin(void *instance, char *buf, int len);
77static int GSDLLCALL gsdll_stdout(void *instance, const char *str, int len);
78static int GSDLLCALL gsdll_stderr(void *instance, const char *str, int len);
79static int GSDLLCALL gsdll_poll(void *handle);
80
81static int display_open(void *handle, void *device);
82static int display_preclose(void *handle, void *device);
83static int display_close(void *handle, void *device);
84static int display_presize(void *handle, void *device, int width, int height,
85 int raster, unsigned int format);
86static int display_size(void *handle, void *device, int width, int height,
87 int raster, unsigned int format, unsigned char *pimage);
88static int display_sync(void *handle, void *device);
89static int display_page(void *handle, void *device, int copies, int flush);
90static int display_update(void *handle, void *device,
91 int x, int y, int w, int h);
92
93static size_t get_input(void *ptr, size_t size);
94
95static void window_create (IMAGE *img);
96static void window_invalidate (WindowRef windowRef);
97static void window_adjust_scrollbars (WindowRef windowRef);
98
99void main (void);
100OSErr quitAppEventHandler (AppleEvent *,AppleEvent *,SInt32);
101void doEvents (EventRecord *);
102void doMouseDown (EventRecord *);
103void doUpdate (EventRecord *);
104void doUpdateWindow (EventRecord *);
105void doOSEvent (EventRecord *);
106void doInContent (EventRecord *,WindowRef);
107pascal void actionFunctionScroll (ControlRef,ControlPartCode);
108
109/*********************************************************************/
110/* stdio functions */
111static int GSDLLCALL
112gsdll_stdin(void *instance, char *buf, int len)
113{
114 if (isatty(fileno(stdin)))
115 return get_input(buf, len);
116 else
117 return fread(buf, 1, len, stdin);
118}
119
120static int GSDLLCALL
121gsdll_stdout(void *instance, const char *str, int len)
122{
123 int n = fwrite(str, 1, len, stdout);
124 fflush(stdout);
125 return n;
126}
127
128static int GSDLLCALL
129gsdll_stderr(void *instance, const char *str, int len)
130{
131 return gsdll_stdout(instance, str, len);
132}
133
134/* Poll the caller for cooperative multitasking. */
135/* If this function is NULL, polling is not needed */
136static int GSDLLCALL gsdll_poll(void *handle)
137{
138 EventRecord eventStructure;
139
140 while (WaitNextEvent(everyEvent, &eventStructure, 0, NULL))
141 doEvents(&eventStructure);
142
143 return (gDone ? e_Fatal : 0);
144}
145/*********************************************************************/
146
147/* new dll display device */
148
149/* New device has been opened */
150/* This is the first event from this device. */
151static int display_open(void *handle, void *device)
152{
153 IMAGE *img = (IMAGE *)malloc(sizeof(IMAGE));
154 if (img == NULL)
155 return -1;
156 memset(img, 0, sizeof(IMAGE));
157
158 /* add to list */
159 if (first_image)
160 img->next = first_image;
161 first_image = img;
162
163 /* remember device and handle */
164 img->handle = handle;
165 img->device = device;
166
167 /* create window */
168 window_create(img);
169
170 gsdll_poll(handle);
171 return 0;
172}
173
174/* Device is about to be closed. */
175/* Device will not be closed until this function returns. */
176static int display_preclose(void *handle, void *device)
177{
178 /* do nothing - no thread synchonisation needed */
179 return 0;
180}
181
182/* Device has been closed. */
183/* This is the last event from this device. */
184static int display_close(void *handle, void *device)
185{
186 IMAGE *img = image_find(handle, device);
187 if (img == NULL)
188 return -1;
189
190 gsdll_poll(handle);
191
192 /* remove from list */
193 if (img == first_image)
194 first_image = img->next;
195 else
196 {
197 IMAGE *tmp;
198 for (tmp = first_image; tmp!=0; tmp=tmp->next)
199 {
200 if (img == tmp->next)
201 tmp->next = img->next;
202 }
203 }
204
205 DisposePixMap(img->pixmapHdl); // need to go in doCloseWindow()
206 DisposeWindow(img->windowRef);
207
208 free(img);
209
210 return 0;
211}
212
213/* Device is about to be resized. */
214/* Resize will only occur if this function returns 0. */
215static int display_presize(void *handle, void *device, int width, int height,
216 int raster, unsigned int format)
217{
218 /* Check for correct format (32-bit RGB), fatal error if not */
219 if (format != display_format)
220 {
221 printf("DisplayFormat has been set to an incompatible value.\n");
222 fflush(stdout);
223 return e_rangecheck;
224 }
225
226 return 0;
227}
228
229/* Device has been resized. */
230/* New pointer to raster returned in pimage */
231static int display_size(void *handle, void *device, int width, int height,
232 int raster, unsigned int format, unsigned char *pimage)
233{
234 PixMapPtr pixmap;
235 IMAGE *img = image_find(handle, device);
236 if (img == NULL)
237 return -1;
238
239 /* Check that image is within allowable bounds */
240 if (raster > 0x3fff)
241 {
242 printf("QuickDraw can't cope with an image this big.\n");
243 fflush(stdout);
244 if (img->pixmapHdl)
245 {
246 DisposePixMap(img->pixmapHdl);
247 img->pixmapHdl = NULL;
248 }
249 return e_rangecheck;
250 }
251
252 /* Create the PixMap */
253 if (!img->pixmapHdl)
254 img->pixmapHdl = NewPixMap();
255
256 pixmap = *(img->pixmapHdl);
257 pixmap->baseAddr = (char*)pimage;
258 pixmap->rowBytes = (((SInt16)raster) & 0x3fff) | 0x8000;
259 pixmap->bounds.right = width;
260 pixmap->bounds.bottom = height;
261 pixmap->packType = 0;
262 pixmap->packSize = 0;
263 pixmap->pixelType = RGBDirect;
264 pixmap->pixelSize = 32;
265 pixmap->cmpCount = 3;
266 pixmap->cmpSize = 8;
267
268 /* Update the display window */
269 window_adjust_scrollbars(img->windowRef);
270 window_invalidate(img->windowRef);
271 return gsdll_poll(handle);
272}
273
274/* flushpage */
275static int display_sync(void *handle, void *device)
276{
277 IMAGE *img = image_find(handle, device);
278 if (img == NULL)
279 return -1;
280
281 window_invalidate(img->windowRef);
282 gsdll_poll(handle);
283
284 return 0;
285}
286
287/* showpage */
288/* If you want to pause on showpage, then don't return immediately */
289static int display_page(void *handle, void *device, int copies, int flush)
290{
291 return display_sync(handle, device);
292}
293
294/* Poll the caller for cooperative multitasking. */
295/* If this function is NULL, polling is not needed */
296static int display_update(void *handle, void *device,
297 int x, int y, int w, int h)
298{
299 UInt64 t1;
300 UInt64 t2;
301 int delta;
302 IMAGE *img = image_find(handle, device);
303 if (img == NULL)
304 return -1;
305
306 Microseconds((UnsignedWide*)&t1);
307 delta = (t1 - img->update_time) / 1000000L;
308 if (img->update_interval < 1)
309 img->update_interval = 1; /* seconds */
310 if (delta < 0)
311 img->update_time = t1;
312 else if (delta > img->update_interval)
313 {
314 /* redraw window */
315 window_invalidate(img->windowRef);
316
317 /* Make sure the update interval is at least 10 times
318 * what it takes to paint the window
319 */
320 Microseconds((UnsignedWide*)&t2);
321 delta = (t2 - t1) / 1000;
322 if (delta < 0)
323 delta += 60000; /* delta = time to redraw */
324 if (delta > img->update_interval * 100)
325 img->update_interval = delta/100;
326 img->update_time = t2;
327 }
328
329 return gsdll_poll(handle);
330}
331
332display_callback display = {
333 sizeof(display_callback),
334 DISPLAY_VERSION_MAJOR,
335 DISPLAY_VERSION_MINOR,
336 display_open,
337 display_preclose,
338 display_close,
339 display_presize,
340 display_size,
341 display_sync,
342 display_page,
343 display_update,
344 NULL, /* memalloc */
345 NULL, /* memfree */
346 NULL /* display_separation */
347};
348
349static IMAGE * image_find(void *handle, void *device)
350{
351 IMAGE *img;
352 for (img = first_image; img!=0; img=img->next) {
353 if ((img->handle == handle) && (img->device == device))
354 return img;
355 }
356 return NULL;
357}
358
359/*********************************************************************/
360
361static char *stdin_buf = NULL;
362static size_t stdin_bufpos = 0;
363static size_t stdin_bufsize = 0;
364
365/* This function is a fudge which allows the SIOUX window to be waiting for
366 input and not be modal at the same time. (Why didn't MetroWerks think of that?)
367 It is based on the SIOUX function ReadCharsFromConsole(), and contains an
368 event loop which allows other windows to be active.
369 It collects characters up to when the user presses ENTER, stores the complete
370 buffer and gives as much to the calling function as it wants until it runs
371 out, at which point it gets another line (or set of lines if pasting from the
372 clipboard) from the user.
373*/
374static size_t get_input(void *ptr, size_t size)
375{
376 EventRecord eventStructure;
377 long charswaiting, old_charswaiting = 0;
378 char *text;
379
380#if SIOUX_USE_WASTE
381 Handle textHandle;
382#endif
383
384 /* If needing more input, set edit start position */
385 if (!stdin_buf)
386#if SIOUX_USE_WASTE
387 SIOUXselstart = WEGetTextLength(SIOUXTextWindow->edit);
388#else
389 SIOUXselstart = (*SIOUXTextWindow->edit)->teLength;
390#endif
391
392 /* Wait until user presses exit (or quits) */
393 while(!gDone && !stdin_buf)
394 {
395#if SIOUX_USE_WASTE
396 charswaiting = WEGetTextLength(SIOUXTextWindow->edit) - SIOUXselstart;
397#else
398 if ((*SIOUXTextWindow->edit)->teLength > 0)
399 charswaiting = (*SIOUXTextWindow->edit)->teLength - SIOUXselstart;
400 else
401 charswaiting = ((unsigned short) (*SIOUXTextWindow->edit)->teLength) - SIOUXselstart;
402#endif
403
404 /* If something has happened, see if we need to do anything */
405 if (charswaiting != old_charswaiting)
406 {
407#if SIOUX_USE_WASTE
408 textHandle = WEGetText(SIOUXTextWindow->edit);
409 HLock(textHandle);
410 text = *textHandle + SIOUXselstart;
411#else
412 text = (*(*SIOUXTextWindow->edit)->hText) + SIOUXselstart;
413#endif
414 /* If user has pressed enter, gather up the buffer ready for returning */
415 if (text[charswaiting-1] == '\r')
416 {
417 stdin_buf = malloc(charswaiting);
418 if (!stdin_buf)
419 return -1;
420 stdin_bufsize = charswaiting;
421 memcpy(stdin_buf, text, stdin_bufsize);
422 SIOUXselstart += charswaiting;
423
424 text = stdin_buf;
425 while (text = memchr(text, '\r', charswaiting - (text - stdin_buf)))
426 *text = '\n';
427 }
428#if SIOUX_USE_WASTE
429 HUnlock(textHandle);
430#endif
431 old_charswaiting = charswaiting;
432
433 if (stdin_buf)
434 break;
435 }
436
437 /* Wait for next event and process it */
438 SIOUXState = SCANFING;
439
440 if(WaitNextEvent(everyEvent, &eventStructure, SIOUXSettings.sleep ,NULL))
441 doEvents(&eventStructure);
442 else
443 SIOUXHandleOneEvent(&eventStructure);
444
445 SIOUXState = IDLE;
446 }
447
448 /* If data has been entered, return as much as has been requested */
449 if (stdin_buf && !gDone)
450 {
451 if (size >= stdin_bufsize - stdin_bufpos)
452 {
453 size = stdin_bufsize - stdin_bufpos;
454 memcpy (ptr, stdin_buf + stdin_bufpos, size);
455 free(stdin_buf);
456 stdin_buf = NULL;
457 stdin_bufpos = 0;
458 stdin_bufsize = 0;
459 }
460 else
461 {
462 memcpy (ptr, stdin_buf + stdin_bufpos, size);
463 stdin_bufpos += size;
464 }
465 return size;
466 }
467 else if (stdin_buf)
468 {
469 free(stdin_buf);
470 stdin_buf = NULL;
471 stdin_bufpos = 0;
472 stdin_bufsize = 0;
473 }
474
475 return 0;
476}
477
478/*********************************************************************/
479
480static void window_create(IMAGE *img)
481{
482 WindowRef windowRef;
483 Str255 windowTitle = "\pGhostscript Image";
484 Rect windowRect = {20,4,580,420};//, portRect;
485 Rect scrollbarRect = {0,0,0,0};
486
487#if TARGET_API_MAC_CARBON
488 GetAvailableWindowPositioningBounds(GetMainDevice(),&windowRect);
489#endif
490
491 /* Create a new suitablty positioned window */
492 windowRect.top = windowRect.top * 2 + 2;
493 windowRect.bottom -= 10;
494 windowRect.left += 4;
495 windowRect.right = ((windowRect.bottom - windowRect.top) * 3) / 4 + windowRect.left;
496
497 if(!(windowRef = NewCWindow(NULL, &windowRect, windowTitle, true,
498 zoomDocProc, (WindowRef) -1, false, 0)))
499 ExitToShell();
500
501 img->windowRef = windowRef;
502
503 SetWRefCon(img->windowRef, (SInt32)img);
504
505 /* Create the window's scrollbars */
506#if TARGET_API_MAC_CARBON
507 if(gRunningOnX)
508 ChangeWindowAttributes(windowRef,kWindowLiveResizeAttribute,0);
509
510 CreateScrollBarControl(windowRef, &scrollbarRect, 0, 0, 0, 0,
511 true, gActionFunctionScrollUPP, &(img->scrollbarVertRef));
512
513 CreateScrollBarControl(windowRef, &scrollbarRect, 0, 0, 0, 0,
514 true, gActionFunctionScrollUPP, &(img->scrollbarHorizRef));
515#else
516 img->scrollbarVertRef = NewControl(windowRef,&scrollbarRect,"\p",false,0,0,0,scrollBarProc,0);
517 img->scrollbarHorizRef = NewControl(windowRef,&scrollbarRect,"\p",false,0,0,0,scrollBarProc,0);
518#endif
519
520 window_adjust_scrollbars(windowRef);
521}
522
523static void window_invalidate(WindowRef windowRef)
524{
525 Rect portRect;
526
527 GetWindowPortBounds(windowRef, &portRect);
528 InvalWindowRect(windowRef, &portRect);
529}
530
531static void window_adjust_scrollbars(WindowRef windowRef)
532{
533 IMAGE *img;
534 Rect portRect;
535
536 img = (IMAGE*)GetWRefCon(windowRef);
537 GetWindowPortBounds(windowRef,&portRect);
538
539 /* Move the crollbars to the edges of the window */
540 HideControl(img->scrollbarVertRef);
541 HideControl(img->scrollbarHorizRef);
542
543 MoveControl(img->scrollbarVertRef,portRect.right - kScrollBarWidth,
544 portRect.top - 1);
545 MoveControl(img->scrollbarHorizRef,portRect.left - 1,
546 portRect.bottom - kScrollBarWidth);
547
548 SizeControl(img->scrollbarVertRef,kScrollBarWidth + 1,
549 portRect.bottom - portRect.top - kScrollBarWidth + 1);
550 SizeControl(img->scrollbarHorizRef, portRect.right - portRect.left - kScrollBarWidth + 1,
551 kScrollBarWidth + 1);
552
553 /* Adjust the scroll position showing */
554 if (img->pixmapHdl)
555 {
556 PixMap *pixmap = *(img->pixmapHdl);
557 int visibleHeight = portRect.bottom - portRect.top - kScrollBarWidth;
558 int visibleWidth = portRect.right - portRect.left - kScrollBarWidth;
559
560 if (pixmap->bounds.bottom > visibleHeight)
561 {
562 SetControl32BitMaximum(img->scrollbarVertRef,
563 pixmap->bounds.bottom - visibleHeight);
564 SetControlViewSize(img->scrollbarVertRef,visibleHeight);
565 }
566 else
567 SetControlMaximum(img->scrollbarVertRef, 0);
568
569 if (pixmap->bounds.right > visibleWidth)
570 {
571 SetControl32BitMaximum(img->scrollbarHorizRef,
572 pixmap->bounds.right - visibleWidth);
573 SetControlViewSize(img->scrollbarHorizRef, visibleWidth);
574 }
575 else
576 SetControlMaximum(img->scrollbarHorizRef, 0);
577 }
578
579 ShowControl(img->scrollbarVertRef);
580 ShowControl(img->scrollbarHorizRef);
581}
582
583/*********************************************************************/
584void main(void)
585{
586 int code;
587 int exit_code;
588 int argc;
589 char **argv;
590 char dformat[64], ddevice[32];
591 SInt32 response;
592
593 /* Initialize operating environment */
594#if TARGET_API_MAC_CARBON
595 MoreMasterPointers(224);
596#else
597 MoreMasters();
598#endif
599 InitCursor();
600 FlushEvents(everyEvent,0);
601
602 if (AEInstallEventHandler(kCoreEventClass,kAEQuitApplication,
603 NewAEEventHandlerUPP((AEEventHandlerProcPtr) quitAppEventHandler),
604 0L,false) != noErr)
605 ExitToShell();
606
607 gActionFunctionScrollUPP = NewControlActionUPP(&actionFunctionScroll);
608
609 Gestalt(gestaltMenuMgrAttr,&response);
610 if(response & gestaltMenuMgrAquaLayoutMask)
611 gRunningOnX = true;
612
613 /* Initialize SIOUX */
614 SIOUXSettings.initializeTB = false;
615 SIOUXSettings.standalone = false;
616 SIOUXSettings.asktosaveonclose = false;
617 SIOUXSettings.sleep = GetCaretTime();
618 SIOUXSettings.userwindowtitle = "\pGhostscript";
619
620 /* Get arguments from user */
621 argc = ccommand(&argv);
622
623 /* Show command line window */
624 if (InstallConsole(0))
625 ExitToShell();
626
627 /* Part of fudge to make SIOUX accept characters without becoming modal */
628 SelectWindow(SIOUXTextWindow->window);
629 PostEvent(keyDown, 0x4c00); // Enter
630 ReadCharsFromConsole(dformat, 0x7FFF);
631 clrscr();
632
633 /* Add in the display format as the first command line argument */
634 if (argc >= MAX_ARGS - 1)
635 {
636 printf("Too many command line arguments\n");
637 return;
638 }
639
640 memmove(&argv[3], &argv[1], (argc-1) * sizeof(char**));
641 argc += 2;
642 argv[1] = ddevice;
643 argv[2] = dformat;
644
645 sprintf(ddevice, "-sDEVICE=display");
646 sprintf(dformat, "-dDisplayFormat=%d", display_format);
647
648 /* Run Ghostscript */
649 if (gsapi_new_instance(&instance, NULL) < 0)
650 {
651 printf("Can't create Ghostscript instance\n");
652 return;
653 }
654
655#ifdef DEBUG
656 visual_tracer_init();
657 set_visual_tracer(&visual_tracer);
658#endif
659
660 gsapi_set_stdio(instance, gsdll_stdin, gsdll_stdout, gsdll_stderr);
661 gsapi_set_poll(instance, gsdll_poll);
662 gsapi_set_display_callback(instance, &display);
663
664 code = gsapi_init_with_args(instance, argc, argv);
665 if (code == 0)
666 code = gsapi_run_string(instance, start_string, 0, &exit_code);
667 else
668 {
669 printf("Failed to initialize. Error %d.\n", code);
670 fflush(stdout);
671 }
672 code = gsapi_exit(instance);
673 if (code != 0)
674 {
675 printf("Failed to terminate. Error %d.\n", code);
676 fflush(stdout);
677 }
678
679 gsapi_delete_instance(instance);
680
681#ifdef DEBUG
682 visual_tracer_close();
683#endif
684
685 /* Ghostscript has finished - let user see output before quitting */
686 WriteCharsToConsole("\r[Finished - hit any key to quit]", 33);
687 fflush(stdout);
688
689 /* Process events until a key is hit or user quits from menu */
690 while(!gDone)
691 {
692 EventRecord eventStructure;
693
694 if(WaitNextEvent(everyEvent,&eventStructure,SIOUXSettings.sleep,NULL))
695 {
696 if (eventStructure.what == keyDown)
697 gDone = true;
698
699 doEvents(&eventStructure);
700 }
701 else
702 SIOUXHandleOneEvent(&eventStructure);
703 }
704}
705
706/*********************************************************************/
707
708void doEvents(EventRecord *eventStrucPtr)
709{
710 WindowRef windowRef;
711
712 if (eventStrucPtr->what == mouseDown &&
713 FindWindow(eventStrucPtr->where,&windowRef) == inMenuBar)
714 SelectWindow(SIOUXTextWindow->window);
715
716 SIOUXSettings.standalone = true;
717 if (SIOUXHandleOneEvent(eventStrucPtr))
718 {
719 if (SIOUXQuitting)
720 gDone = true;
721 SIOUXSettings.standalone = false;
722 return;
723 }
724 SIOUXSettings.standalone = false;
725
726 switch(eventStrucPtr->what)
727 {
728 case kHighLevelEvent:
729 AEProcessAppleEvent(eventStrucPtr);
730 break;
731
732 case mouseDown:
733 doMouseDown(eventStrucPtr);
734 break;
735
736 case keyDown:
737 case autoKey:
738 break;
739
740 case updateEvt:
741 doUpdate(eventStrucPtr);
742 break;
743
744 case activateEvt:
745 DrawGrowIcon(windowRef);
746 break;
747
748 case osEvt:
749 doOSEvent(eventStrucPtr);
750 break;
751 }
752}
753
754void doMouseDown(EventRecord *eventStrucPtr)
755{
756 WindowRef windowRef;
757 WindowPartCode partCode, zoomPart;
758 BitMap screenBits;
759 Rect constraintRect, mainScreenRect;
760 Point standardStateHeightAndWidth;
761 long newSize;
762
763 partCode = FindWindow(eventStrucPtr->where,&windowRef);
764
765 switch(partCode)
766 {
767 case inMenuBar:
768 break;
769
770 case inContent:
771 if(windowRef != FrontWindow())
772 SelectWindow(windowRef);
773 else
774 doInContent(eventStrucPtr,windowRef);
775 break;
776
777 case inDrag:
778 DragWindow(windowRef,eventStrucPtr->where,NULL);
779 break;
780
781 case inGoAway:
782 break;
783
784 case inGrow:
785 constraintRect.top = 75;
786 constraintRect.left = 250;
787 constraintRect.bottom = constraintRect.right = 32767;
788 newSize = GrowWindow(windowRef,eventStrucPtr->where,&constraintRect);
789 if (newSize != 0)
790 SizeWindow(windowRef,LoWord(newSize),HiWord(newSize),true);
791 window_adjust_scrollbars(windowRef);
792 window_invalidate(windowRef);
793 break;
794
795 case inZoomIn:
796 case inZoomOut:
797 mainScreenRect = GetQDGlobalsScreenBits(&screenBits)->bounds;
798 standardStateHeightAndWidth.v = mainScreenRect.bottom;
799 standardStateHeightAndWidth.h = mainScreenRect.right;
800
801 if(IsWindowInStandardState(windowRef,&standardStateHeightAndWidth,NULL))
802 zoomPart = inZoomIn;
803 else
804 zoomPart = inZoomOut;
805
806 if(TrackBox(windowRef,eventStrucPtr->where,partCode))
807 {
808 ZoomWindowIdeal(windowRef,zoomPart,&standardStateHeightAndWidth);
809 window_adjust_scrollbars(windowRef);
810 }
811 break;
812 }
813}
814
815void doUpdate(EventRecord *eventStrucPtr)
816{
817 WindowRef windowRef;
818
819 windowRef = (WindowRef) eventStrucPtr->message;
820
821 window_adjust_scrollbars(windowRef);
822
823 BeginUpdate(windowRef);
824
825 SetPortWindowPort(windowRef);
826 doUpdateWindow(eventStrucPtr);
827
828 EndUpdate(windowRef);
829}
830
831void doUpdateWindow(EventRecord *eventStrucPtr)
832{
833 IMAGE *img;
834 WindowRef windowRef;
835 Rect srcRect, destRect, fillRect;
836 PixMapHandle srcPixmapHdl, destPixmapHdl;
837 RGBColor grayColour = { 0xC000,0xC000,0xC000 };
838 SInt32 hScroll, vScroll;
839
840 windowRef = (WindowRef) eventStrucPtr->message;
841 img = (IMAGE*)GetWRefCon(windowRef);
842 srcPixmapHdl = img->pixmapHdl;
843 destPixmapHdl = GetPortPixMap(GetWindowPort(windowRef));
844 hScroll = GetControl32BitValue(img->scrollbarHorizRef);
845 vScroll = GetControl32BitValue(img->scrollbarVertRef);
846
847 if (srcPixmapHdl)
848 {
849 PixMap *pixmap = *srcPixmapHdl;
850 PixPatHandle hdlPixPat = NewPixPat();
851 MakeRGBPat(hdlPixPat, &grayColour);
852
853 GetWindowPortBounds(windowRef,&destRect);
854 destRect.right -= kScrollBarWidth;
855 destRect.bottom -= kScrollBarWidth;
856
857 if (destRect.right > pixmap->bounds.right)
858 {
859 fillRect.top = destRect.top;
860 fillRect.bottom = destRect.bottom;
861 fillRect.left = pixmap->bounds.right;
862 fillRect.right = destRect.right;
863 FillCRect(&fillRect, hdlPixPat);
864 destRect.right = pixmap->bounds.right;
865 }
866 if (destRect.bottom > pixmap->bounds.bottom)
867 {
868 fillRect.top = pixmap->bounds.bottom;
869 fillRect.bottom = destRect.bottom;
870 fillRect.left = destRect.left;
871 fillRect.right = destRect.right;
872 FillCRect(&fillRect, hdlPixPat);
873 destRect.bottom = pixmap->bounds.bottom;
874 }
875 DisposePixPat(hdlPixPat);
876
877 srcRect = destRect;
878 srcRect.left += hScroll;
879 srcRect.right += hScroll;
880 srcRect.top += vScroll;
881 srcRect.bottom += vScroll;
882
883 CopyBits((BitMap*)*srcPixmapHdl, (BitMap*)*destPixmapHdl,
884 &srcRect, &destRect, srcCopy, NULL);
885 }
886
887 DrawGrowIcon(windowRef);
888}
889
890void doOSEvent(EventRecord *eventStrucPtr)
891{
892 switch((eventStrucPtr->message >> 24) & 0x000000FF)
893 {
894 case suspendResumeMessage:
895 if((eventStrucPtr->message & resumeFlag) == 1)
896 SetThemeCursor(kThemeArrowCursor);
897 break;
898 }
899}
900
901void doInContent(EventRecord *eventStrucPtr,WindowRef windowRef)
902{
903 ControlPartCode controlPartCode;
904 ControlRef controlRef;
905
906 SetPortWindowPort(windowRef);
907 GlobalToLocal(&eventStrucPtr->where);
908
909 if(controlRef = FindControlUnderMouse(eventStrucPtr->where,windowRef,&controlPartCode))
910 {
911#if TARGET_API_MAC_CARBON
912 TrackControl(controlRef,eventStrucPtr->where,(ControlActionUPP) -1);
913#else
914 if (controlPartCode == kControlIndicatorPart)
915 TrackControl(controlRef,eventStrucPtr->where,NULL);
916 else
917 TrackControl(controlRef,eventStrucPtr->where,gActionFunctionScrollUPP);
918#endif
919
920 window_invalidate(windowRef);
921 }
922}
923
924pascal void actionFunctionScroll(ControlRef controlRef,ControlPartCode controlPartCode)
925{
926 SInt32 scrollDistance, controlValue, oldControlValue, controlMax;
927
928 if(controlPartCode != kControlNoPart)
929 {
930 if(controlPartCode != kControlIndicatorPart)
931 {
932 switch(controlPartCode)
933 {
934 case kControlUpButtonPart:
935 case kControlDownButtonPart:
936 scrollDistance = 10;
937 break;
938
939 case kControlPageUpPart:
940 case kControlPageDownPart:
941 scrollDistance = 100;
942 break;
943
944 default:
945 scrollDistance = 0;
946 break;
947 }
948
949 if (scrollDistance)
950 {
951 if((controlPartCode == kControlDownButtonPart) ||
952 (controlPartCode == kControlPageDownPart))
953 scrollDistance = -scrollDistance;
954
955 controlValue = GetControl32BitValue(controlRef);
956
957 if(((controlValue == GetControl32BitMaximum(controlRef)) && scrollDistance < 0) ||
958 ((controlValue == GetControl32BitMinimum(controlRef)) && scrollDistance > 0))
959 return;
960
961 oldControlValue = controlValue;
962 controlMax = GetControl32BitMaximum(controlRef);
963 controlValue = oldControlValue - scrollDistance;
964
965 if(controlValue < 0)
966 controlValue = 0;
967 else if(controlValue > controlMax)
968 controlValue = controlMax;
969
970 SetControl32BitValue(controlRef,controlValue);
971 }
972 }
973 }
974}
975
976OSErr quitAppEventHandler(AppleEvent *appEvent,AppleEvent *reply,SInt32 handlerRefcon)
977{
978 OSErr osError;
979 DescType returnedType;
980 Size actualSize;
981
982 osError = AEGetAttributePtr(appEvent,keyMissedKeywordAttr,typeWildCard,&returnedType,NULL,0,
983 &actualSize);
984
985 if(osError == errAEDescNotFound)
986 {
987 gDone = true;
988 osError = noErr;
989 }
990 else if(osError == noErr)
991 osError = errAEParamMissed;
992
993 return osError;
994}
995
996/*********************************************************************/
0997
=== added file 'psi/dmmain.r.OTHER'
--- psi/dmmain.r.OTHER 1970-01-01 00:00:00 +0000
+++ psi/dmmain.r.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,2537 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13/* $Id$ */
14
15/* Resource data (Rez format) for the MacOS Ghostscript shlib example wrapper
16 contributed by Nigel Hathaway. See dmmain.c for rest of this code.
17 */
18
19#include "Types.r"
20
21resource 'BNDL' (128) {
22 'MCGS',
23 0,
24 { /* array TypeArray: 2 elements */
25 /* [1] */
26 'ICN#',
27 { /* array IDArray: 1 elements */
28 /* [1] */
29 0, 128
30 },
31 /* [2] */
32 'FREF',
33 { /* array IDArray: 2 elements */
34 /* [1] */
35 0, 128,
36 /* [2] */
37 1, 129
38 }
39 }
40};
41
42resource 'FREF' (128) {
43 'APPL',
44 0,
45 ""
46};
47
48resource 'FREF' (129) {
49 '****',
50 1,
51 ""
52};
53
54data 'MWBB' (1008) {
55 $"0001 0000" /* .... */
56};
57
58data 'MPSR' (1005) {
59 $"0009 4D6F 6E61 636F 0000 0000 0000 0000" /* .ÆMonaco........ */
60 $"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */
61 $"0000 0003 0004 0030 0004 01CA 027B 0030" /* .......0...Ê.{.0 */
62 $"0004 01CA 027B BA5E B2EF 0000 0000 0000" /* ...Ê.{º^²ï...... */
63 $"0000 0000 0000 0100" /* ........ */
64};
65
66resource 'ICN#' (128, "Application Icon") {
67 { /* array: 2 elements */
68 /* [1] */
69 $"0000 0000 0000 0800 0000 0A00 000B F200"
70 $"007F 4200 00FC 0700 01F0 1F80 03E0 1F80"
71 $"03E5 3FC0 03E0 1FC0 03E0 0FC0 03F0 0780"
72 $"01F8 8300 00FC 4600 003C 0800 00F4 0000"
73 $"03E0 0000 07E0 0000 07FF 6000 07FF FF00"
74 $"07FF FFC0 01FF FFE0 007F FFF0 0000 17F0"
75 $"0780 01F8 0F04 00F0 0E08 03E0 0F07 FFD0"
76 $"0780 D820 03F0 0380 007F FC00 0005 40",
77 /* [2] */
78 $"0000 1800 0000 1E00 0000 1E00 001F FF00"
79 $"00FF FF00 01FF FF00 03FF FF80 03FF FFC0"
80 $"07FF FFC0 07FF FFC0 07FF FFC0 03FF FFC0"
81 $"03FF FF80 01FF FF00 007F FE00 03FF F000"
82 $"07FF F800 07FF FE00 0FFF FF80 0FFF FFE0"
83 $"07FF FFF0 03FF FFF8 01FF FFF8 027F FFFC"
84 $"1FFF FFFC 1FFF FFFC 1FFF FFF8 1FFF FFF8"
85 $"1FFF FFF0 07FF FFC0 01FF FF00 007F FC"
86 }
87};
88
89resource 'ics#' (128, "Application Icon") {
90 { /* array: 2 elements */
91 /* [1] */
92 $"0000 00A0 0F10 1C78 1878 1C18 0E20 0600"
93 $"1800 3FD0 1FF8 057C 300C 3358 18A8 0340",
94 /* [2] */
95 $"0070 07F0 1FF0 1FF8 3FF8 3FF8 1FF8 1FF0"
96 $"3FF0 3FFC 3FFE 1FFE 7FFE 7FFE 7FFC 1FF0"
97 }
98};
99
100resource 'icl8' (128, "Application Icon") {
101 $"0000 0000 0000 0000 0000 0000 0000 0000"
102 $"0000 0000 F600 0000 0000 0000 0000 0000"
103 $"0000 0000 0000 0000 0000 0000 0000 0000"
104 $"0000 0000 5656 0000 0000 0000 0000 0000"
105 $"0000 0000 0000 0000 0000 0000 0000 0000"
106 $"0000 00F6 FCF8 F900 0000 0000 0000 0000"
107 $"0000 0000 0000 0000 0000 00F6 56F9 FCAC"
108 $"FCFC ACFE F600 FFF6 0000 0000 0000 0000"
109 $"0000 0000 0000 0000 F5FA FDFF FFFF FFFF"
110 $"FD81 F800 00F7 FFF7 0000 0000 0000 0000"
111 $"0000 0000 0000 00F6 E0FF FFFF FFFD F92B"
112 $"0000 0000 F6AC FFFA 0000 0000 0000 0000"
113 $"0000 0000 0000 2BFF EAFF FFFE F700 0000"
114 $"0000 0056 FFFF FFFF 8100 0000 0000 0000"
115 $"0000 0000 0000 FCFF FFFF FF56 0000 00F5"
116 $"F500 FAFF FFFF FFFF FFF8 0000 0000 0000"
117 $"0000 0000 00F6 FFFF FFFF FE00 0079 0055"
118 $"F600 FBFF FFFF FFFF FFFD 0000 0000 0000"
119 $"0000 0000 002B FFFF FFFF FC00 007A F6F5"
120 $"4F00 00AC FFFF FFFF FFFF 0000 0000 0000"
121 $"0000 0000 00F6 FFFF FFFF FFF5 0000 F500"
122 $"0000 00F5 ACFF FFFF FFFC 0000 0000 0000"
123 $"0000 0000 0000 FCFF FFFF FF81 0000 0024"
124 $"F600 0000 F5FD FFFF FF2B 0000 0000 0000"
125 $"0000 0000 0000 F5FF FFFF FFFF 8100 0000"
126 $"7A7A 0000 00FA FFFF F800 0000 0000 0000"
127 $"0000 0000 0000 00F6 FDFF FFFF FFFB 0000"
128 $"F579 0000 00FB F4F8 0000 0000 0000 0000"
129 $"0000 0000 0000 0000 0056 FFFF FFFF F800"
130 $"0000 00F6 8181 0000 0000 0000 0000 0000"
131 $"0000 0000 0000 00F8 81FE FFFF FDFA F500"
132 $"0000 2BF7 0000 0000 0000 0000 0000 0000"
133 $"0000 0000 00F5 FCFF FFFF FBF6 0000 0000"
134 $"0000 0000 0000 0000 0000 0000 0000 0000"
135 $"0000 0000 00AC FFFF FFFF FC2B 0000 0000"
136 $"0000 0000 0000 0000 0000 0000 0000 0000"
137 $"0000 0000 2BFF FFFF FFFF FFFF E0FC FC81"
138 $"FAF9 FAF7 2B00 0000 0000 0000 0000 0000"
139 $"0000 0000 F6FF FFFF FFFF FFFF FFFF FFFF"
140 $"FFFF FFFF FFFF ACF9 F600 0000 0000 0000"
141 $"0000 0000 00FC FFFF FFFF FFFF FFFF FFFF"
142 $"FFFF FFFF FFFF FFFF FF81 F600 0000 0000"
143 $"0000 0000 0000 FAFF FFFF FFFF FFFF FFFF"
144 $"FFFF FFFF FFFF FFFF FFFF FE2B 0000 0000"
145 $"0000 0000 0000 0000 F8FB FCFF FFFF FFFF"
146 $"FFFF FFFF FFFF FFFF FFFF FFFD 0000 0000"
147 $"0000 0000 0000 0000 0000 0000 00F5 F7F7"
148 $"2BF7 F8FA FAFD FFFF FFFF FFFF F900 0000"
149 $"0000 0000 F7AC FFFF FCF6 0000 0000 0000"
150 $"0000 0000 0000 F5FE FFFF FFFF F900 0000"
151 $"0000 00F6 FFFF FFFB 0000 0000 2B81 F700"
152 $"0000 0000 0000 00F9 FFFF FFFF 0000 0000"
153 $"0000 002B FFFF FF2B 0000 0000 FAFB 0000"
154 $"0000 0000 00F5 F8FF FFFF FEF6 F500 0000"
155 $"0000 00F5 FEFF FFFC 0000 0000 F5FC FDFC"
156 $"ACFC ACFC FDFF FFFF FF81 F556 F500 0000"
157 $"0000 0000 F8FF FFFF FBF5 0000 0000 F6FA"
158 $"81AC FCFC FCFA 562B F5F8 FCF5 0000 0000"
159 $"0000 0000 002B FCFF FFFE FCF9 F82B 0000"
160 $"0000 0000 2BF7 FAFC FD56 0000 0000 0000"
161 $"0000 0000 0000 00F7 FAFE FFFF FFFF FFFF"
162 $"FFFF FFFF FFAC 812B 0000 0000 0000 0000"
163 $"0000 0000 0000 0000 0000 F52B F9F9 FAF9"
164 $"FAF8 F72B F6"
165};
166
167resource 'icl4' (128, "Application Icon") {
168 $"0000 0000 0000 0000 0000 C000 0000 0000"
169 $"0000 0000 0000 0000 0000 CD00 0000 0000"
170 $"0000 0000 0000 0000 000C ECD0 0000 0000"
171 $"0000 0000 000C DDEE EEEE C0FC 0000 0000"
172 $"0000 0000 0DFF FFFF AEC0 0CFC 0000 0000"
173 $"0000 000C FFFF FEDC 0000 CEFD 0000 0000"
174 $"0000 00CA FFFA C000 000D AFFF D000 0000"
175 $"0000 00EF FFFD 000C 00DF FFFF FD00 0000"
176 $"0000 0CFF FFF0 0D0C C0EF FFFF FE00 0000"
177 $"0000 0CFF FFE0 07C0 C00E FFFF FF00 0000"
178 $"0000 00FF FFF0 0000 0000 EFFF FE00 0000"
179 $"0000 00EF FFFE 0000 C000 CAFF FC00 0000"
180 $"0000 000F FFFF D000 7D00 0DFF C000 0000"
181 $"0000 000C EFFF FE00 0D00 0EFD 0000 0000"
182 $"0000 0000 0DFF FFD0 000C DD00 0000 0000"
183 $"0000 000C EEFF AD00 00CC 0000 0000 0000"
184 $"0000 00EF FFE0 0000 0000 0000 0000 0000"
185 $"0000 0EFF FFEC 0000 0000 0000 0000 0000"
186 $"0000 CFFF FFFF FEED DDDC C000 0000 0000"
187 $"0000 CFFF FFFF FFFF FFFF FFED C000 0000"
188 $"0000 0EFF FFFF FFFF FFFF FFFF FDC0 0000"
189 $"0000 00DF FFFF FFFF FFFF FFFF FFAC 0000"
190 $"0000 0000 CEEF FFFF FFFF FFFF FFFE 0000"
191 $"0000 0000 0000 00CC CCDD DAFF FFFF D000"
192 $"0000 CEFF EC00 0000 0000 000F FFFF D000"
193 $"000C FFFE 0000 CEC0 0000 000D FFFF 0000"
194 $"000C FFFC 0000 DD00 0000 00DF FFF0 C000"
195 $"0000 FFFE 0000 0EFE EEEE FFFF FD0D 0000"
196 $"0000 CFFF E000 00CD DEEE EDDC 0DE0 0000"
197 $"0000 0CEF FFED CC00 0000 CCDD FC00 0000"
198 $"0000 000C DAFF FFFF FFFF FEEC 0000 0000"
199 $"0000 0000 000C DDDD DDCC"
200};
201
202resource 'ics8' (128, "Application Icon") {
203 $"0000 0000 0000 0000 0000 2B00 0000 0000"
204 $"0000 0000 0000 2B56 F8F9 F856 0000 0000"
205 $"0000 0000 FBFF FFFB 56F5 F7FC 0000 0000"
206 $"0000 00FC FFFD F500 00F9 FFFF F900 0000"
207 $"0000 F5FF FF56 2B2A F6FB FFFF FF00 0000"
208 $"0000 00FE FFFB 00F5 0000 FBFF FC00 0000"
209 $"0000 00F8 FFFF FA00 7900 F7FD F500 0000"
210 $"0000 00F5 F9FF FDF6 00F6 F800 0000 0000"
211 $"0000 2BEA FF56 0000 0000 0000 0000 0000"
212 $"0000 81FF FFFF FEFD FCFC FAF8 0000 0000"
213 $"0000 F6FE FFFF FFFF FFFF FFFF FEF7 0000"
214 $"0000 0000 2B56 FA81 81FC FDFF FFFF F600"
215 $"0000 ACFE 2B00 2BF5 0000 00F8 FFFF F500"
216 $"00F5 FFFC 0000 FA56 56F8 F9FD FE56 F500"
217 $"0000 56E0 FBF7 F6F6 F856 56F9 56F6 0000"
218 $"0000 0000 F881 FCAC FC81 FA2B"
219};
220
221resource 'ics4' (128, "Application Icon") {
222 $"0000 0000 00C0 0000 0000 00CD CDCD 0000"
223 $"0000 EFFD D0CE 0000 000E FA00 0DFF D000"
224 $"000F FDCC 0EFF F000 000F FE00 00EF E000"
225 $"000C FFD0 D0CE 0000 0000 DFF0 0CC0 0000"
226 $"00CF FD00 0000 0000 00DF FFFA EEDD 0000"
227 $"00CA FFFF FFFF FC00 0000 CDDE DEEF FFC0"
228 $"00EF C0C0 000C FF00 00FE 00DD CDDF AD00"
229 $"00DF DCC0 DCDD D000 0000 DDEE EDDC"
230};
231
232resource 'icm8' (128, "Application Icon") {
233 $"0000 0000 0000 0000 0000 F800 0000 0000"
234 $"0000 0000 2BFA FBAC 8156 F681 0000 0000"
235 $"0000 00FA FFFD F7F5 0056 FDFF F800 0000"
236 $"0000 F5FF FF56 2B2A F556 FFFF FF00 0000"
237 $"0000 00FB FFFE F600 4F00 56FF F800 0000"
238 $"0000 00F5 81EA FEF5 00F6 F8F6 0000 0000"
239 $"0000 F8FF FFFA 2BF6 F600 0000 0000 0000"
240 $"0000 56FF FFFF FFFF FFFF E0FC F9F5 0000"
241 $"0000 00F6 F981 FBFC FCAC FDFF FFFD F500"
242 $"0000 FDFD F600 F700 0000 0056 FFFE F500"
243 $"0000 ACFE 2B00 F7F9 8181 FBFB 81F7 0000"
244 $"0000 00F7 FAFB FBFA FAF9 56F8 F6"
245};
246
247resource 'icm4' (128, "Application Icon") {
248 $"0000 0000 00C0 0000 0000 CDEE ECCE 0000"
249 $"000D FAC0 0DEF C000 000F FD0C 0DFF F000"
250 $"000E FFC0 C0DF C000 0000 DFEC 00CC 0000"
251 $"00CF FDC0 C000 0000 00DF FFFF FFFE D000"
252 $"000C DDEE EEFF FF00 00AE C0C0 000D FEC0"
253 $"00FE C0CD DEDE DC00 000C DDED DDDC C0"
254};
255
256resource 'icm#' (128, "Application Icon") {
257 { /* array: 2 elements */
258 /* [1] */
259 $"0000 0350 1C30 1C78 1C10 0620 1900 3FF8"
260 $"0B7C 300C 31B0 0720",
261 /* [2] */
262 $"0070 0FF0 1FF8 3FF8 3FF8 1FF0 3FF8 3FFC"
263 $"1FFE 7FFE 7FFE 3FF8"
264 }
265};
266
267resource 'icns' (128, "Application Icon") {
268 { /* array elementArray: 20 elements */
269 /* [1] */
270 'ICN#',
271 $"0000 0000 0000 0800 0000 0A00 000B F200"
272 $"007F 4200 00FC 0700 01F0 1F80 03E0 1F80"
273 $"03E5 3FC0 03E0 1FC0 03E0 0FC0 03F0 0780"
274 $"01F8 8300 00FC 4600 003C 0800 00F4 0000"
275 $"03E0 0000 07E0 0000 07FF 6000 07FF FF00"
276 $"07FF FFC0 01FF FFE0 007F FFF0 0000 17F0"
277 $"0780 01F8 0F04 00F0 0E08 03E0 0F07 FFD0"
278 $"0780 D820 03F0 0380 007F FC00 0005 4000"
279 $"0000 1800 0000 1E00 0000 1E00 001F FF00"
280 $"00FF FF00 01FF FF00 03FF FF80 03FF FFC0"
281 $"07FF FFC0 07FF FFC0 07FF FFC0 03FF FFC0"
282 $"03FF FF80 01FF FF00 007F FE00 03FF F000"
283 $"07FF F800 07FF FE00 0FFF FF80 0FFF FFE0"
284 $"07FF FFF0 03FF FFF8 01FF FFF8 027F FFFC"
285 $"1FFF FFFC 1FFF FFFC 1FFF FFF8 1FFF FFF8"
286 $"1FFF FFF0 07FF FFC0 01FF FF00 007F FC00",
287 /* [2] */
288 'icl4',
289 $"0000 0000 0000 0000 0000 C000 0000 0000"
290 $"0000 0000 0000 0000 0000 CD00 0000 0000"
291 $"0000 0000 0000 0000 000C ECD0 0000 0000"
292 $"0000 0000 000C DDEE EEEE C0FC 0000 0000"
293 $"0000 0000 0DFF FFFF AEC0 0CFC 0000 0000"
294 $"0000 000C FFFF FEDC 0000 CEFD 0000 0000"
295 $"0000 00CA FFFA C000 000D AFFF D000 0000"
296 $"0000 00EF FFFD 000C 00DF FFFF FD00 0000"
297 $"0000 0CFF FFF0 0D0C C0EF FFFF FE00 0000"
298 $"0000 0CFF FFE0 07C0 C00E FFFF FF00 0000"
299 $"0000 00FF FFF0 0000 0000 EFFF FE00 0000"
300 $"0000 00EF FFFE 0000 C000 CAFF FC00 0000"
301 $"0000 000F FFFF D000 7D00 0DFF C000 0000"
302 $"0000 000C EFFF FE00 0D00 0EFD 0000 0000"
303 $"0000 0000 0DFF FFD0 000C DD00 0000 0000"
304 $"0000 000C EEFF AD00 00CC 0000 0000 0000"
305 $"0000 00EF FFE0 0000 0000 0000 0000 0000"
306 $"0000 0EFF FFEC 0000 0000 0000 0000 0000"
307 $"0000 CFFF FFFF FEED DDDC C000 0000 0000"
308 $"0000 CFFF FFFF FFFF FFFF FFED C000 0000"
309 $"0000 0EFF FFFF FFFF FFFF FFFF FDC0 0000"
310 $"0000 00DF FFFF FFFF FFFF FFFF FFAC 0000"
311 $"0000 0000 CEEF FFFF FFFF FFFF FFFE 0000"
312 $"0000 0000 0000 00CC CCDD DAFF FFFF D000"
313 $"0000 CEFF EC00 0000 0000 000F FFFF D000"
314 $"000C FFFE 0000 CEC0 0000 000D FFFF 0000"
315 $"000C FFFC 0000 DD00 0000 00DF FFF0 C000"
316 $"0000 FFFE 0000 0EFE EEEE FFFF FD0D 0000"
317 $"0000 CFFF E000 00CD DEEE EDDC 0DE0 0000"
318 $"0000 0CEF FFED CC00 0000 CCDD FC00 0000"
319 $"0000 000C DAFF FFFF FFFF FEEC 0000 0000"
320 $"0000 0000 000C DDDD DDCC 0000 0000 0000",
321 /* [3] */
322 'icl8',
323 $"0000 0000 0000 0000 0000 0000 0000 0000"
324 $"0000 0000 F600 0000 0000 0000 0000 0000"
325 $"0000 0000 0000 0000 0000 0000 0000 0000"
326 $"0000 0000 5656 0000 0000 0000 0000 0000"
327 $"0000 0000 0000 0000 0000 0000 0000 0000"
328 $"0000 00F6 FCF8 F900 0000 0000 0000 0000"
329 $"0000 0000 0000 0000 0000 00F6 56F9 FCAC"
330 $"FCFC ACFE F600 FFF6 0000 0000 0000 0000"
331 $"0000 0000 0000 0000 F5FA FDFF FFFF FFFF"
332 $"FD81 F800 00F7 FFF7 0000 0000 0000 0000"
333 $"0000 0000 0000 00F6 E0FF FFFF FFFD F92B"
334 $"0000 0000 F6AC FFFA 0000 0000 0000 0000"
335 $"0000 0000 0000 2BFF EAFF FFFE F700 0000"
336 $"0000 0056 FFFF FFFF 8100 0000 0000 0000"
337 $"0000 0000 0000 FCFF FFFF FF56 0000 00F5"
338 $"F500 FAFF FFFF FFFF FFF8 0000 0000 0000"
339 $"0000 0000 00F6 FFFF FFFF FE00 0079 0055"
340 $"F600 FBFF FFFF FFFF FFFD 0000 0000 0000"
341 $"0000 0000 002B FFFF FFFF FC00 007A F6F5"
342 $"4F00 00AC FFFF FFFF FFFF 0000 0000 0000"
343 $"0000 0000 00F6 FFFF FFFF FFF5 0000 F500"
344 $"0000 00F5 ACFF FFFF FFFC 0000 0000 0000"
345 $"0000 0000 0000 FCFF FFFF FF81 0000 0024"
346 $"F600 0000 F5FD FFFF FF2B 0000 0000 0000"
347 $"0000 0000 0000 F5FF FFFF FFFF 8100 0000"
348 $"7A7A 0000 00FA FFFF F800 0000 0000 0000"
349 $"0000 0000 0000 00F6 FDFF FFFF FFFB 0000"
350 $"F579 0000 00FB F4F8 0000 0000 0000 0000"
351 $"0000 0000 0000 0000 0056 FFFF FFFF F800"
352 $"0000 00F6 8181 0000 0000 0000 0000 0000"
353 $"0000 0000 0000 00F8 81FE FFFF FDFA F500"
354 $"0000 2BF7 0000 0000 0000 0000 0000 0000"
355 $"0000 0000 00F5 FCFF FFFF FBF6 0000 0000"
356 $"0000 0000 0000 0000 0000 0000 0000 0000"
357 $"0000 0000 00AC FFFF FFFF FC2B 0000 0000"
358 $"0000 0000 0000 0000 0000 0000 0000 0000"
359 $"0000 0000 2BFF FFFF FFFF FFFF E0FC FC81"
360 $"FAF9 FAF7 2B00 0000 0000 0000 0000 0000"
361 $"0000 0000 F6FF FFFF FFFF FFFF FFFF FFFF"
362 $"FFFF FFFF FFFF ACF9 F600 0000 0000 0000"
363 $"0000 0000 00FC FFFF FFFF FFFF FFFF FFFF"
364 $"FFFF FFFF FFFF FFFF FF81 F600 0000 0000"
365 $"0000 0000 0000 FAFF FFFF FFFF FFFF FFFF"
366 $"FFFF FFFF FFFF FFFF FFFF FE2B 0000 0000"
367 $"0000 0000 0000 0000 F8FB FCFF FFFF FFFF"
368 $"FFFF FFFF FFFF FFFF FFFF FFFD 0000 0000"
369 $"0000 0000 0000 0000 0000 0000 00F5 F7F7"
370 $"2BF7 F8FA FAFD FFFF FFFF FFFF F900 0000"
371 $"0000 0000 F7AC FFFF FCF6 0000 0000 0000"
372 $"0000 0000 0000 F5FE FFFF FFFF F900 0000"
373 $"0000 00F6 FFFF FFFB 0000 0000 2B81 F700"
374 $"0000 0000 0000 00F9 FFFF FFFF 0000 0000"
375 $"0000 002B FFFF FF2B 0000 0000 FAFB 0000"
376 $"0000 0000 00F5 F8FF FFFF FEF6 F500 0000"
377 $"0000 00F5 FEFF FFFC 0000 0000 F5FC FDFC"
378 $"ACFC ACFC FDFF FFFF FF81 F556 F500 0000"
379 $"0000 0000 F8FF FFFF FBF5 0000 0000 F6FA"
380 $"81AC FCFC FCFA 562B F5F8 FCF5 0000 0000"
381 $"0000 0000 002B FCFF FFFE FCF9 F82B 0000"
382 $"0000 0000 2BF7 FAFC FD56 0000 0000 0000"
383 $"0000 0000 0000 00F7 FAFE FFFF FFFF FFFF"
384 $"FFFF FFFF FFAC 812B 0000 0000 0000 0000"
385 $"0000 0000 0000 0000 0000 F52B F9F9 FAF9"
386 $"FAF8 F72B F600 0000 0000 0000 0000 0000",
387 /* [4] */
388 'il32',
389 $"91FF 00DF 9CFF 01A0 909A FF03 D350 AF80"
390 $"91FF 02CF A080 8140 0538 24D5 FF00 DF8D"
391 $"FF02 EF80 2081 0008 0420 60A2 FFFF BF00"
392 $"BF8C FF01 CF10 8100 022C 86BF 81FF 03DF"
393 $"3000 728B FF01 CF10 8000 0110 B083 FF01"
394 $"9410 8000 0066 8AFF 0040 8100 00A2 80FF"
395 $"03E5 E3FF 7C83 0000 A088 FF00 DF81 0008"
396 $"10FF FF82 FF91 C7FF 6083 0000 3088 FF00"
397 $"BF81 0009 40FF FF66 E3D5 BAFF F330 8300"
398 $"88FF 00DF 8200 03EF FFF1 E381 FF01 EF30"
399 $"8100 0044 89FF 004C 8100 006C 80FF 01F1"
400 $"C780 FF05 EF20 0000 04C5 89FF 01DF 1081"
401 $"0000 6C80 FF01 7458 80FF 0380 0000 A08B"
402 $"FF01 D120 8100 0460 FFFF E382 80FF 0254"
403 $"10A2 8EFF 0192 0280 0000 A081 FF03 DB64"
404 $"60EF 8DFF 07AF 6412 0204 2080 EF80 FF01"
405 $"CFBB 8EFF 01EF 4480 0001 50CF 96FF 0040"
406 $"8100 0150 CF95 FF00 CF84 0003 1040 4268"
407 $"8080 01BF D18C FF01 CF02 8D00 0238 92DF"
408 $"89FF 0044 8F00 0204 62DF 88FF 0070 9000"
409 $"0110 CF89 FF02 A060 408D 0001 22EF 8DFF"
410 $"00DF 81BF 04A0 8070 2002 8200 0090 84FF"
411 $"05B4 3600 0046 DB89 FF01 DF20 8100 0090"
412 $"83FF 00DF 8000 0058 81FF 02CF 68BF 85FF"
413 $"0080 8000 0110 EF83 FF00 BF80 0000 BF81"
414 $"FF01 705A 84FF 07EF A410 0000 10CF EF83"
415 $"FF04 EF10 0000 5281 FF02 EF42 2082 4000"
416 $"2681 0003 68E7 96EF 84FF 05A2 0200 0052"
417 $"EF81 FF02 D380 6080 4007 4480 90BF EFA4"
418 $"54EF 86FF 08C3 4000 0010 5080 AFCF 83FF"
419 $"05CF AF80 4C24 A28A FF02 BF70 2086 0004"
420 $"0400 3260 C38F FF02 EFBF 9081 8003 A0BF"
421 $"C7DF 88FF 91FF 00DE 9BFF 02FE A090 9AFF"
422 $"03D3 50AF 8091 FF02 CFA0 8081 4005 3824"
423 $"D4FF 00DF 8DFF 02EF 8020 8100 0804 2060"
424 $"A2FF FFBF 00BF 8CFF 01CF 1081 0002 2C85"
425 $"BF81 FF03 DF30 0072 8BFF 01CF 1080 0001"
426 $"10B0 83FF 0194 1080 0000 668A FF00 4081"
427 $"0000 A280 FF03 ECEB FF7C 8300 00A0 88FF"
428 $"00DF 8100 0810 FFFF A6FF B1D7 FF60 8300"
429 $"002F 88FF 00BF 8100 0940 FFFF 92EB E1CE"
430 $"FFF2 3083 0088 FF00 DE82 0003 EFFF F5EB"
431 $"81FF 01EF 3081 0000 4489 FF00 4C81 0000"
432 $"6B80 FF01 F5D7 80FF 05EF 2000 0004 C589"
433 $"FF01 DF10 8100 006B 80FF 019C 8780 FF03"
434 $"8000 00A0 8BFF 01D1 2081 0004 60FF FFEB"
435 $"A680 FF02 5410 A28E FF01 9202 8000 00A0"
436 $"81FF 03DB 6360 EF8D FF07 AF64 1202 0420"
437 $"80EF 80FF 01CF BB8E FF01 EF44 8000 0150"
438 $"CF96 FF00 3F81 0001 50CF 95FF 00CF 8400"
439 $"0310 4042 6880 8001 BFD1 8CFF 01CF 028D"
440 $"0002 3892 DF89 FF00 448F 0002 0462 DF88"
441 $"FF00 7090 0001 10CF 89FF 02A0 6040 8D00"
442 $"0122 EF8D FF00 DF81 BF04 9F80 7020 0282"
443 $"0000 9084 FF05 B336 0000 46DB 89FF 01DF"
444 $"2081 0000 9083 FF00 DF80 0000 5881 FF04"
445 $"CF68 BFFE FE83 FF00 8080 0001 10EF 83FF"
446 $"00BF 8000 00BF 81FF 0170 5A84 FF07 EFA4"
447 $"1000 0010 CFEE 83FF 04EF 1000 0052 81FF"
448 $"08EF 4220 4040 3F3F 4026 8100 0368 E795"
449 $"EF84 FF05 A102 0000 52EF 81FF 0DD3 8060"
450 $"403F 3F43 8090 BFEF A354 EF86 FF08 C340"
451 $"0000 1050 80AF CF82 FF06 FECF AF7F 4C24"
452 $"A28A FF02 BF70 2086 0004 0400 3260 C38F"
453 $"FF02 EFBF 9081 8003 A0BF C7DF 88FF 90FF"
454 $"01FE DC9B FF03 FCA0 90FE 99FF 03D3 50AF"
455 $"8091 FF02 CFA0 7F81 4005 3C24 D8FF 00DF"
456 $"8DFF 02ED 8020 8100 0804 1E60 A4FF FFBF"
457 $"00BF 8CFF 01CF 0F81 0003 2C80 BEFD 80FF"
458 $"03DF 3000 748B FF01 CF10 8000 0110 B082"
459 $"FF02 FE94 1080 0000 6C8A FF00 4081 0000"
460 $"A480 FF03 F0EF FF7C 8300 00A0 88FF 00DE"
461 $"8100 0810 FFFF B8FF C2DF FF5F 8300 002E"
462 $"88FF 00BF 8100 0940 FFFF A7ED E7D8 FFF0"
463 $"2F83 0088 FF00 DC82 0003 EFFF F6EE 81FF"
464 $"01EE 3081 0000 4489 FF00 4C81 000E 6AFD"
465 $"FFFF F6DE FDFF FFEF 2000 0008 C589 FF01"
466 $"DE10 8100 056A FFFF FEAF 9E80 FF03 8000"
467 $"00A0 8BFF 01D2 2081 0004 60FF FFEF B880"
468 $"FF02 5410 A48E FF01 9404 8000 00A0 81FF"
469 $"03DB 645F EF8C FF08 FDAF 6414 0404 1F80"
470 $"EE80 FF01 CEBB 8EFF 01EF 4680 0002 50CE"
471 $"FE95 FF00 3E81 0001 4ECE 95FF 00CD 8400"
472 $"0310 4044 6880 8001 BFD2 8CFF 01CF 048D"
473 $"0002 3894 DF89 FF00 478F 0002 0464 DF88"
474 $"FF00 6F90 0001 10CF 88FF 03FE A060 408D"
475 $"0001 23ED 86FF 00FE 83FF 00DF 81BF 049C"
476 $"8070 2004 8200 0090 83FF 07FE B23C 0000"
477 $"48DA FD88 FF01 DF20 8100 0090 83FF 00DF"
478 $"8000 0057 81FF 04CF 70BF FCFC 82FF 01FE"
479 $"8080 0001 10ED 83FF 00BF 8000 00BF 81FF"
480 $"0270 58FD 83FF 07EF A410 0000 10CF EC83"
481 $"FF04 EF10 0000 5481 FF08 ED44 2040 403D"
482 $"3D40 2881 0003 68E7 9AEF 83FF 06FE A304"
483 $"0000 53EF 81FF 0DD2 8060 3E3C 3C45 8090"
484 $"BEEE A357 EF86 FF14 C240 0000 1050 80AF"
485 $"CFFF FDFF FFFE FCCF AF7A 4C24 A48A FF02"
486 $"BE70 1E86 0004 0800 3460 C78E FF03 FDEF"
487 $"BF90 8180 04A0 BFCA DFFD 87FF",
488 /* [5] */
489 'l8mk',
490 $"0000 0000 0000 0000 0000 0000 0000 0000"
491 $"0000 0005 FF00 0000 0000 0000 0000 0000"
492 $"0000 0000 0000 0000 0000 0000 0000 0000"
493 $"0000 0005 FFFF 0500 0000 0000 0000 0000"
494 $"0000 0000 0000 0000 0000 0000 0000 0000"
495 $"0000 00FF FFFF FF00 0000 0000 0000 0000"
496 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
497 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
498 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
499 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
500 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
501 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
502 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
503 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
504 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
505 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
506 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
507 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
508 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
509 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
510 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
511 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
512 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
513 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
514 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
515 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
516 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
517 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
518 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
519 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
520 $"0000 0000 0000 05FF FFFF FFFF FFFF FFFF"
521 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
522 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
523 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
524 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
525 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
526 $"0000 0000 FFFF FFFF FFFF FFFF FFFF FFFF"
527 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
528 $"0000 0000 FFFF FFFF FFFF FFFF FFFF FFFF"
529 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
530 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
531 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
532 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
533 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
534 $"0000 0000 0000 0005 FFFF FFFF FFFF FFFF"
535 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
536 $"0000 0000 0000 0500 00FF FFFF FFFF FFFF"
537 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
538 $"0000 0005 FFFF FFFF FFFF FFFF FFFF FFFF"
539 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
540 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
541 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
542 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
543 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
544 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
545 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
546 $"0000 0005 FFFF FFFF FFFF FFFF FFFF FFFF"
547 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
548 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
549 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
550 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
551 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
552 $"0000 0000 0000 0000 0005 FFFF FFFF FFFF"
553 $"FFFF FFFF FF05 0000 0000 0000 0000 0000",
554 /* [6] */
555 'ich#',
556 $"0000 0000 0000 0000 0001 0000 0000 0002"
557 $"8000 0000 0002 4000 0000 000C 4000 0000"
558 $"1FFC 6000 0001 FFE0 6000 0007 FF00 E000"
559 $"000F F801 F000 003F E003 F800 003F 800F"
560 $"FC00 007F 800F FC00 007F 091F FE00 007F"
561 $"010F FE00 00FF 0887 FE00 007F 8003 FE00"
562 $"007F 8001 FC00 003F C000 FC00 003F E0C0"
563 $"F000 001F F020 7000 000F F840 C000 0001"
564 $"F801 8000 0003 FC0E 0000 000F F000 0000"
565 $"007F 0000 0000 007E 0000 0000 00FF 8000"
566 $"0000 01FF F690 0000 01FF FFFF 0000 01FF"
567 $"FFFF F000 00FF FFFF FC00 007F FFFF FF00"
568 $"003F FFFF FF80 0007 FFFF FFC0 0000 5FFF"
569 $"FFC0 0000 0001 FFE0 01FC 0000 1FE0 03F0"
570 $"0000 1FC0 03E0 1800 1FC0 03E0 3000 1F80"
571 $"07E0 1801 FF00 03F0 0FFF FC40 01F8 02FF"
572 $"4100 00FC 0000 0E00 007F C000 F800 000F"
573 $"FFFF C000 0001 FFFE 0000 0000 0480 0000"
574 $"0000 0006 0000 0000 0007 4000 0000 0007"
575 $"8000 0000 0007 C000 0000 100F E000 0000"
576 $"7FFF E000 0003 FFFF E000 000F FFFF E000"
577 $"001F FFFF F000 003F FFFF F800 007F FFFF"
578 $"FC00 007F FFFF FE00 00FF FFFF FE00 00FF"
579 $"FFFF FE00 00FF FFFF FE00 00FF FFFF FE00"
580 $"00FF FFFF FE00 007F FFFF FC00 007F FFFF"
581 $"F800 001F FFFF F000 001F FFFF F000 0007"
582 $"FFFF C000 0003 FFFE 0000 007F FFFC 0000"
583 $"007F FFFE 0000 00FF FFFF 8000 01FF FFFF"
584 $"C000 03FF FFFF F800 01FF FFFF FC00 01FF"
585 $"FFFF FF00 01FF FFFF FF80 00FF FFFF FFC0"
586 $"007F FFFF FFE0 001F FFFF FFF0 0000 FFFF"
587 $"FFF0 0043 FFFF FFF0 03FF FFFF FFF0 07FF"
588 $"FFFF FFF0 07FF FFFF FFF0 07FF FFFF FFE0"
589 $"07FF FFFF FFE0 03FF FFFF FFC0 07FF FFFF"
590 $"FF80 01FF FFFF FF00 01FF FFFF FE00 001F"
591 $"FFFF F000 0007 FFFF 8000 0000 3FE4 0000",
592 /* [7] */
593 'ich4',
594 $"0000 0000 0000 0000 0000 0000 0000 0000"
595 $"0000 0000 0000 0000 0000 0000 0000 0000"
596 $"0000 0000 0000 00CE 0000 0000 0000 0000"
597 $"0000 0000 0000 0000 0000 0000 0000 00DC"
598 $"D000 0000 0000 0000 0000 0000 0000 0000"
599 $"0000 0000 0000 00F0 DD00 0000 0000 0000"
600 $"0000 0000 0000 0000 0000 0000 0000 DAE0"
601 $"CFC0 0000 0000 0000 0000 0000 0000 0000"
602 $"0CDE EFFF FFFF FE00 0FA0 0000 0000 0000"
603 $"0000 0000 0000 00DE FFFF FFFF FFED C000"
604 $"CFF0 0000 0000 0000 0000 0000 0000 CFFF"
605 $"FFFF FFFF C000 0000 EFF0 0000 0000 0000"
606 $"0000 0000 000C FFFF FFFF ECC0 0000 000D"
607 $"FFFD 0000 0000 0000 0000 0000 00DF FFFF"
608 $"FFD0 0000 0000 0CFF FFFF E000 0000 0000"
609 $"0000 0000 0CFF FFFF FD00 0000 0000 EFFF"
610 $"FFFF FE00 0000 0000 0000 0000 0AFF FFFF"
611 $"F000 0000 C00D FFFF FFFF FFC0 0000 0000"
612 $"0000 0000 CFFF FFFF D000 D00D C00D FFFF"
613 $"FFFF FFE0 0000 0000 0000 0000 CFFF FFFF"
614 $"0000 9007 C00C FFFF FFFF FFF0 0000 0000"
615 $"0000 0000 CFFF FFFF 0000 7C00 C000 CAFF"
616 $"FFFF FFF0 0000 0000 0000 0000 CFFF FFFF"
617 $"D000 0C00 0000 00FF FFFF FFE0 0000 0000"
618 $"0000 0000 0FFF FFFF F000 0000 0000 000F"
619 $"FFFF FFC0 0000 0000 0000 0000 0DFF FFFF"
620 $"FD00 0000 CC00 000C FFFF FE00 0000 0000"
621 $"0000 0000 00AF FFFF FFD0 0000 7DD0 0000"
622 $"EFFF E000 0000 0000 0000 0000 000E FFFF"
623 $"FFFE 0000 0690 0000 DFFE 0000 0000 0000"
624 $"0000 0000 000C EFFF FFFF E000 0CC0 000C"
625 $"FFDC 0000 0000 0000 0000 0000 0000 0CDF"
626 $"FFFF FD00 0000 00DF E000 0000 0000 0000"
627 $"0000 0000 0000 00EF FFFF FD00 0000 DED0"
628 $"0000 0000 0000 0000 0000 0000 00CD EFFF"
629 $"FFAE C000 000C C000 0000 0000 0000 0000"
630 $"0000 0000 0DFF FFFE DC00 0000 0000 0000"
631 $"0000 0000 0000 0000 0000 0000 DFFF FFFD"
632 $"0000 0000 0000 0000 0000 0000 0000 0000"
633 $"0000 000C FFFF FFFE DC00 0000 0000 0000"
634 $"0000 0000 0000 0000 0000 000E FFFF FFFF"
635 $"FFFE EDED CCDC C000 0000 0000 0000 0000"
636 $"0000 000F FFFF FFFF FFFF FFFF FFFF FFFD"
637 $"DC00 0000 0000 0000 0000 000E FFFF FFFF"
638 $"FFFF FFFF FFFF FFFF FFED C000 0000 0000"
639 $"0000 000C FFFF FFFF FFFF FFFF FFFF FFFF"
640 $"FFFF FED0 0000 0000 0000 0000 CFFF FFFF"
641 $"FFFF FFFF FFFF FFFF FFFF FFFA 0000 0000"
642 $"0000 0000 0CAF FFFF FFFF FFFF FFFF FFFF"
643 $"FFFF FFFF EC00 0000 0000 0000 0000 DEAF"
644 $"FFFF FFFF FFFF FFFF FFFF FFFF FE00 0000"
645 $"0000 0000 0000 0000 CDDD EFFF FFFF FFFF"
646 $"FFFF FFFF FFC0 0000 0000 0000 0000 0000"
647 $"0000 0000 000C CCDD FFFF FFFF FFE0 0000"
648 $"0000 00CD EFFF FDC0 0000 0000 0000 0000"
649 $"00DF FFFF FFE0 0000 0000 00EF FFFF C000"
650 $"0000 0000 0000 0000 000A FFFF FFC0 0000"
651 $"0000 0CFF FFFC 0000 000F ECC0 0000 0000"
652 $"000E FFFF FF00 0000 0000 0CFF FFF0 0000"
653 $"00DF D000 0000 0000 0CDF FFFF A000 0000"
654 $"0000 0DFF FFFC 0000 00CF AC00 0000 00CD"
655 $"EAFF FFFE 0CC0 0000 0000 00AF FFFE 0000"
656 $"0000 EFFF FFFF FFFF FFFF FED0 CD00 0000"
657 $"0000 00CF FFFF E000 0000 0CDE EFFF FFFE"
658 $"EDDC 00CE D000 0000 0000 000C FFFF FFC0"
659 $"0000 0000 0000 0000 000C DFFC 0000 0000"
660 $"0000 0000 0DFF FFFF EEDC C000 0000 00CC"
661 $"DEEA FD00 0000 0000 0000 0000 000C EFFF"
662 $"FFFF FFFF FFFF FFFF FFDC 0000 0000 0000"
663 $"0000 0000 0000 00CD FFFF FFFF FFFF FEFD"
664 $"0000 0000 0000 0000 0000 0000 0000 0000"
665 $"00CC CCDC CD00 0000 0000 0000 0000 0000",
666 /* [8] */
667 'ich8',
668 $"0000 0000 0000 0000 0000 0000 0000 0000"
669 $"0000 0000 0000 0000 0000 0000 0000 0000"
670 $"0000 0000 0000 0000 0000 0000 0000 0000"
671 $"0000 0000 0000 0000 0000 0000 0000 0000"
672 $"0000 0000 0000 0000 0000 0000 0000 F6AC"
673 $"0000 0000 0000 0000 0000 0000 0000 0000"
674 $"0000 0000 0000 0000 0000 0000 0000 0000"
675 $"0000 0000 0000 0000 0000 0000 0000 81F6"
676 $"FA00 0000 0000 0000 0000 0000 0000 0000"
677 $"0000 0000 0000 0000 0000 0000 0000 0000"
678 $"0000 0000 0000 0000 0000 0000 00F5 FF00"
679 $"5681 0000 0000 0000 0000 0000 0000 0000"
680 $"0000 0000 0000 0000 0000 0000 0000 0000"
681 $"0000 0000 0000 0000 0000 0000 FAAC 8100"
682 $"2BFF 2B00 0000 0000 0000 0000 0000 0000"
683 $"0000 0000 0000 0000 0000 0000 0000 0000"
684 $"00F8 F9FB FBFF FFFF FFFF FFFE FFAC F500"
685 $"00FF FD00 0000 0000 0000 0000 0000 0000"
686 $"0000 0000 0000 0000 0000 0000 0000 F9AC"
687 $"FFFF FFFF FFFF FFFF FFFF ACFA F600 0000"
688 $"2BFF FF00 0000 0000 0000 0000 0000 0000"
689 $"0000 0000 0000 0000 0000 0000 F8FF FFFF"
690 $"FFFF FFFF FFFF FFFF F800 0000 0000 0000"
691 $"FBFF FF00 0000 0000 0000 0000 0000 0000"
692 $"0000 0000 0000 0000 0000 00F8 FFFF FFFF"
693 $"FFFF FFFF FBF7 F600 0000 0000 0000 F5FA"
694 $"FFFF FFFA 0000 0000 0000 0000 0000 0000"
695 $"0000 0000 0000 0000 0000 F9FF FFFF FFFF"
696 $"FFFF FA00 0000 0000 0000 0000 00F8 FEFF"
697 $"FFFF FFFF 8100 0000 0000 0000 0000 0000"
698 $"0000 0000 0000 0000 00F8 FFFF FFFF FFFF"
699 $"FFF9 0000 0000 0000 0000 0000 FCFF FFFF"
700 $"FFFF FFFF FFFC 0000 0000 0000 0000 0000"
701 $"0000 0000 0000 0000 00AC FFFF FFFF FFFF"
702 $"FFF6 0000 0000 00F6 F600 00F9 FFFF FFFF"
703 $"FFFF FFFF FFFF 2B00 0000 0000 0000 0000"
704 $"0000 0000 0000 0000 F5FF FFFF FFFF FFFF"
705 $"F900 0000 7A00 007A 4F00 00FA FFFF FFFF"
706 $"FFFF FFFF FFFF FB00 0000 0000 0000 0000"
707 $"0000 0000 0000 0000 F8FF FFFF FFFF FFFF"
708 $"0000 0000 C800 0079 2B00 00F6 FEFF FFFF"
709 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
710 $"0000 0000 0000 0000 F8FF FFFF FFFF FFFF"
711 $"0000 0000 A5F6 00F5 5500 0000 F6FE FFFF"
712 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
713 $"0000 0000 0000 0000 2BFF FFFF FFFF FFFF"
714 $"FA00 0000 F52A 0000 0000 0000 00F5 FEFF"
715 $"FFFF FFFF FFFF FC00 0000 0000 0000 0000"
716 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
717 $"FF00 0000 0000 0000 0000 0000 0000 F6FF"
718 $"FFFF FFFF FFFF F800 0000 0000 0000 0000"
719 $"0000 0000 0000 0000 00F9 FFFF FFFF FFFF"
720 $"FF81 0000 0000 00F5 4FF5 0000 0000 00F6"
721 $"FFFF FFFF FFFC 0000 0000 0000 0000 0000"
722 $"0000 0000 0000 0000 0000 FDFF FFFF FFFF"
723 $"FFFF 8100 0000 0000 55C9 5500 0000 0000"
724 $"FBFF FFFF FB00 0000 0000 0000 0000 0000"
725 $"0000 0000 0000 0000 0000 00AC FFFF FFFF"
726 $"FFFF FFAC 0000 0000 25A4 C900 0000 0000"
727 $"FBFF FFFD 0000 0000 0000 0000 0000 0000"
728 $"0000 0000 0000 0000 0000 00F5 ACFF FFFF"
729 $"FFFF FFFF FB00 0000 0055 2B00 0000 00F6"
730 $"FEFF 81F5 0000 0000 0000 0000 0000 0000"
731 $"0000 0000 0000 0000 0000 0000 00F6 FAFF"
732 $"FFFF FFFF FFF9 0000 0000 0000 0000 F9FF"
733 $"ACF5 0000 0000 0000 0000 0000 0000 0000"
734 $"0000 0000 0000 0000 0000 0000 0000 FBFE"
735 $"FFFF FFFF FFF9 0000 0000 0000 FAFC F900"
736 $"0000 0000 0000 0000 0000 0000 0000 0000"
737 $"0000 0000 0000 0000 0000 2B56 ACFF FFFF"
738 $"FFFF FEFB 2B00 0000 0000 00F6 F800 0000"
739 $"0000 0000 0000 0000 0000 0000 0000 0000"
740 $"0000 0000 0000 0000 00FA FFFF FFFF FFFD"
741 $"F92B 0000 0000 0000 0000 0000 0000 0000"
742 $"0000 0000 0000 0000 0000 0000 0000 0000"
743 $"0000 0000 0000 0000 FAFF FFFF FFFF FFF8"
744 $"0000 0000 0000 0000 0000 0000 0000 0000"
745 $"0000 0000 0000 0000 0000 0000 0000 0000"
746 $"0000 0000 0000 00F6 FFFF FFFF FFFF FFFE"
747 $"F92B 0000 0000 0000 0000 0000 0000 0000"
748 $"0000 0000 0000 0000 0000 0000 0000 0000"
749 $"0000 0000 0000 00FD FFFF FFFF FFFF FFFF"
750 $"FFFF FFFB FBFB FB56 F8F8 F8F8 F600 0000"
751 $"0000 0000 0000 0000 0000 0000 0000 0000"
752 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
753 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFF9"
754 $"FAF6 0000 0000 0000 0000 0000 0000 0000"
755 $"0000 0000 0000 00AC FFFF FFFF FFFF FFFF"
756 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
757 $"FFFF AC81 2B00 0000 0000 0000 0000 0000"
758 $"0000 0000 0000 00F6 FFFF FFFF FFFF FFFF"
759 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
760 $"FFFF FFFF FFAC 5600 0000 0000 0000 0000"
761 $"0000 0000 0000 0000 F8FF FFFF FFFF FFFF"
762 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
763 $"FFFF FFFF FFFF FFFD 0000 0000 0000 0000"
764 $"0000 0000 0000 0000 00F8 FDFF FFFF FFFF"
765 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
766 $"FFFF FFFF FFFF FFFF FDF5 0000 0000 0000"
767 $"0000 0000 0000 0000 0000 0000 56FB FEFF"
768 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
769 $"FFFF FFFF FFFF FFFF FFAC 0000 0000 0000"
770 $"0000 0000 0000 0000 0000 0000 0000 0000"
771 $"2BFA F9FA FDFF FFFF FFFF FFFF FFFF FFFF"
772 $"FFFF FFFF FFFF FFFF FFFF F800 0000 0000"
773 $"0000 0000 0000 0000 0000 0000 0000 0000"
774 $"0000 0000 0000 0000 0000 00F5 F8F8 F8FB"
775 $"FDFF FFFF FFFF FFFF FFFF FB00 0000 0000"
776 $"0000 0000 0000 F5FA FCFF FFFF FFFA F500"
777 $"0000 0000 0000 0000 0000 0000 0000 0000"
778 $"00F5 FAFF FFFF FFFF FFFF FB00 0000 0000"
779 $"0000 0000 0000 ACFF FFFF FFFF F600 0000"
780 $"0000 0000 0000 0000 0000 0000 0000 0000"
781 $"0000 00FD FFFF FFFF FFFF F800 0000 0000"
782 $"0000 0000 002B FFFF FFFF FF56 0000 0000"
783 $"0000 F5FD FCF8 F600 0000 0000 0000 0000"
784 $"0000 00FB FFFF FFFF FFFE 0000 0000 0000"
785 $"0000 0000 00F8 FFFF FFFF FF00 0000 0000"
786 $"0000 F9FF 5600 0000 0000 0000 0000 0000"
787 $"00F6 F9FF FFFF FFFF FDF5 0000 0000 0000"
788 $"0000 0000 00F8 FFFF FFFF FFF6 0000 0000"
789 $"0000 F6FF FFF8 0000 0000 0000 0000 F6F9"
790 $"FBFF FFFF FFFF FFFC 00F6 F800 0000 0000"
791 $"0000 0000 0000 FEFF FFFF FFFB 0000 0000"
792 $"0000 00F6 FCFF FFFF FFFF FFFF FFFF FFFF"
793 $"FFFF FFFF FFFD 5600 F6FA 0000 0000 0000"
794 $"0000 0000 0000 F7FF FFFF FFFF FBF6 0000"
795 $"0000 0000 002B FAFB ACFF FFFF FFFF FFAC"
796 $"FBFB F8F8 0000 F6AC FA00 0000 0000 0000"
797 $"0000 0000 0000 002B FFFF FFFF FFFF F800"
798 $"0000 0000 0000 0000 0000 0000 0000 0000"
799 $"0000 00F6 F9FF FFF8 0000 0000 0000 0000"
800 $"0000 0000 0000 0000 F581 FFFF FFFF FFFF"
801 $"FBFB F9F8 2B00 0000 0000 0000 0000 2BF8"
802 $"F9FB FBFF FDF9 F500 0000 0000 0000 0000"
803 $"0000 0000 0000 0000 0000 00F9 FBFF FFFF"
804 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
805 $"FFFE 812B 0000 0000 0000 0000 0000 0000"
806 $"0000 0000 0000 0000 0000 0000 0000 F8FA"
807 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFD FDF9"
808 $"0000 0000 0000 0000 0000 0000 0000 0000"
809 $"0000 0000 0000 0000 0000 0000 0000 0000"
810 $"0000 2BF8 F8F8 F8F8 F8F8 F500 0000 0000"
811 $"0000 0000 0000 0000 0000 0000 0000 0000",
812 /* [9] */
813 'ih32',
814 $"CBFF 01D5 40AB FF02 71D5 71A9 FF04 E300"
815 $"FF8E 71A7 FF06 8035 60FF D500 C09B FF03"
816 $"AA8E 5555 8300 070E 0B39 E6FF FF00 2B98"
817 $"FF01 8E39 8700 0239 75D5 80FF 02C6 0000"
818 $"96FF 00AA 8700 010B AA84 FF02 5500 0095"
819 $"FF00 AA85 0002 4EB5 D584 FF01 E380 8000"
820 $"0075 93FF 0080 8400 0071 87FF 01AA 1C82"
821 $"0000 6091 FF00 AA84 0000 8087 FF00 5085"
822 $"0000 4090 FF00 3983 0001 06E3 82FF 04D0"
823 $"CDFF FF87 8700 00C6 8EFF 00E3 8400 0080"
824 $"80FF 076A FFFF 6DB5 FFFF 7187 0000 558E"
825 $"FF00 AA84 0081 FF08 20FF FF6A B5FF FFD5"
826 $"1087 008E FF00 AA84 0081 FF04 39CD FFE6"
827 $"9C80 FF01 D51C 8600 8EFF 00C6 8400 0080"
828 $"80FF 01E6 CE84 FF01 E31C 8400 0040 8FFF"
829 $"000B 8400 8AFF 00D5 8400 00AA 8FFF 007F"
830 $"8400 006A 82FF 02E6 B5DA 82FF 00D5 8200"
831 $"0045 91FF 002B 8400 006A 82FF 0283 2083"
832 $"82FF 0055 8000 0055 93FF 002B 8400 0040"
833 $"81FF 02DA 2020 82FF 0355 0000 2B94 FF01"
834 $"E639 8400 0055 81FF 0190 B581 FF04 D523"
835 $"005B E396 FF01 D571 8300 008E 85FF 0391"
836 $"0639 E399 FF01 600B 8200 0080 83FF 0280"
837 $"4080 98FF 02D5 8E40 8100 0307 1C55 C683"
838 $"FF01 E3AA 99FF 0079 8200 021C 80C6 A3FF"
839 $"0080 8300 00AA A4FF 00D5 8400 021C 80C6"
840 $"A2FF 002B 8800 8055 015B 9C81 AA00 D597"
841 $"FF94 0003 0580 80D5 92FF 0030 9600 0307"
842 $"3575 C68F FF01 DA04 9900 0135 918E FF00"
843 $"AA9B 0000 2B8E FF01 AA2B 9A00 012B E38F"
844 $"FF02 8E55 1C97 0000 3C93 FF00 C080 8000"
845 $"2B92 0000 AA9D FF00 E380 AA02 551C 0485"
846 $"0000 5588 FF02 E380 4380 0002 0B6B EA8F"
847 $"FF01 E380 8400 0055 88FF 0035 8200 00D5"
848 $"93FF 002B 8300 00AA 87FF 00C6 8200 009C"
849 $"83FF 04E3 2B47 AAD5 89FF 0055 8200 001C"
850 $"88FF 00AA 8200 84FF 028E 0098 89FF 01E3"
851 $"8082 0001 2BE3 88FF 00AA 8200 00DA 83FF"
852 $"03D5 000B AA85 FF03 DF88 550B 8200 0340"
853 $"FFD5 AA88 FF00 1C81 0000 5584 FF01 D53C"
854 $"8D00 042B 9CFF DA78 89FF 00AE 8200 0155"
855 $"DA84 FF03 CD80 5539 8300 0935 5555 AAAA"
856 $"FFFF CD40 808B FF01 C80B 8200 00AA 91FF"
857 $"04DF 8000 05AA 8DFF 01E3 7183 0004 5555"
858 $"8EAA C686 FF08 C6AA 8E55 550E 2380 E391"
859 $"FF01 8E55 9000 0304 1C60 C697 FF01 AA80"
860 $"8A00 0220 2B80 9FFF 00C6 84AA 00E3 92FF"
861 $"CAFF 04FE D340 FFFE A9FF 0271 D571 A9FF"
862 $"04E3 00FF 8E71 9EFF 00FE 85FF 0680 355F"
863 $"FFD5 00C0 9BFF 03AA 8E55 5583 0007 0E0B"
864 $"39E5 FFFF 002B 98FF 018E 3987 0002 3975"
865 $"D580 FF02 C600 0096 FF00 A887 0002 0BA9"
866 $"FD83 FF02 5500 0095 FF00 AA85 0002 4EB3"
867 $"D484 FF01 E380 8000 0075 93FF 0080 8400"
868 $"0071 87FF 01AA 1C82 0000 6091 FF00 AA84"
869 $"0000 8087 FF00 4F85 0000 4090 FF00 3983"
870 $"0001 06E3 82FF 04DC DCFF FF87 8700 00C6"
871 $"8EFF 00E2 8400 0080 80FF 0795 FFFF 97CA"
872 $"FFFF 7187 0000 548E FF00 AA84 0081 FF08"
873 $"60FE FF95 CAFF FFD3 1087 008E FF00 AA84"
874 $"0081 FF09 72DC FFED B8FF FFFE D41C 8600"
875 $"8EFF 00C6 8400 0080 80FF 01ED DB84 FF01"
876 $"E31C 8400 0040 8EFF 01FE 0B84 008A FF00"
877 $"D584 0000 A98F FF00 7F84 0001 69FE 81FF"
878 $"03ED C9E5 FE81 FF00 D582 0000 4591 FF00"
879 $"2B84 0000 6982 FF02 A660 A682 FF00 5580"
880 $"0000 5593 FF00 2B84 0000 4081 FF02 E560"
881 $"6082 FF03 5500 002B 94FF 01E6 3984 0000"
882 $"5581 FF01 B0CA 81FF 04D5 2300 5BE3 96FF"
883 $"01D5 7183 0000 8E85 FF03 8F06 38E3 99FF"
884 $"0160 0B82 0000 8083 FF02 8040 8097 FF03"
885 $"FED4 8E40 8100 0307 1C55 C683 FF01 E2AA"
886 $"99FF 0077 8200 021C 7FC6 A3FF 0080 8300"
887 $"00AA A4FF 00D3 8400 021C 7FC6 A2FF 002A"
888 $"8800 8055 015B 9C81 AA02 D5FF FE95 FF94"
889 $"0003 0580 80D5 92FF 0030 9600 0307 3575"
890 $"C68F FF01 D904 9900 0135 918E FF00 AA9B"
891 $"0000 2B8E FF01 AA2B 9A00 012B E38F FF02"
892 $"8E55 1C97 0000 3C93 FF00 C080 8000 2B92"
893 $"0000 A99D FF00 E180 AA02 551C 0485 0000"
894 $"5588 FF02 E280 4380 0003 0B6B E9FE 8EFF"
895 $"01E3 8084 0000 5587 FF01 FE35 8200 00D5"
896 $"87FF 01FE FE87 FF00 2B83 0000 AA87 FF00"
897 $"C682 0000 9C83 FF06 E32B 47AA D5FE FE87"
898 $"FF00 5582 0001 1CFE 87FF 00AA 8200 84FF"
899 $"028E 0098 89FF 01E3 8082 0002 2BE3 FE87"
900 $"FF00 AA82 0000 DA83 FF03 D500 0BAA 81FF"
901 $"07FD FDFF FFDF 8855 0B82 0003 40FF D5AA"
902 $"88FF 001C 8100 0055 83FF 02FE D53C 8D00"
903 $"042B 9CFF D978 89FF 00AD 8200 0155 D984"
904 $"FF03 CD7F 5539 8300 0935 5555 AAAA FFFF"
905 $"CD40 808B FF01 C70B 8200 00AA 88FF 00FE"
906 $"81FD 08FF FFFE FEDF 8000 05AA 8DFF 01E3"
907 $"7183 0007 5555 8EAA C6FF FFFE 81FF 0AFE"
908 $"FEC6 AA8E 5455 0E23 80E3 91FF 018D 5590"
909 $"0003 041C 60C6 96FF 02FD A980 8A00 0320"
910 $"2B7F FE9E FF00 C684 AA03 E3FF FFFE 8FFF"
911 $"9AFF 01FD FDAB FF04 FAD0 40FF FDA8 FF03"
912 $"FD71 D571 A9FF 04E3 00FF 8E71 9EFF 00FC"
913 $"85FF 0680 3568 FFD5 00C0 9BFF 03AA 8E55"
914 $"5583 0007 150B 39E5 FFFF 002B 98FF 018E"
915 $"3987 0002 3978 D580 FF02 C600 0096 FF00"
916 $"A387 0002 0BA5 F883 FF02 5500 0095 FF00"
917 $"AA85 0003 4EAA D2FD 83FF 01E3 8080 0000"
918 $"7893 FF00 8084 0000 7187 FF01 AA1C 8200"
919 $"006A 91FF 00AA 8400 0080 87FF 004C 8500"
920 $"0040 90FF 0039 8300 010B E382 FF04 E4E3"
921 $"FFFF 8787 0000 C68E FF00 DF84 0000 8080"
922 $"FF07 AAFF FFAE D5FF FF70 8700 0052 8EFF"
923 $"00AA 8400 81FF 0880 FAFF AAD5 FFFF D010"
924 $"8700 8EFF 00AA 8400 80FF 0AFD 8EE3 FFEF"
925 $"C6FF FFFC D21C 8600 8EFF 00C3 8400 0080"
926 $"80FF 01EF E183 FF02 FDE3 1C84 0000 408E"
927 $"FF01 FA0B 8400 8AFF 00D5 8400 00A8 8FFF"
928 $"007F 8400 0167 FC81 FF03 EFD2 EAFC 81FF"
929 $"00D5 8200 0053 90FF 01FD 2B84 0000 6781"
930 $"FF03 FDB7 80B5 82FF 0055 8000 0055 93FF"
931 $"002B 8400 0040 81FF 02EA 8080 82FF 0355"
932 $"0000 2B94 FF01 E839 8400 0055 81FF 01C0"
933 $"D581 FF04 D523 0060 E396 FF01 D571 8300"
934 $"008E 85FF 038E 0B37 E399 FF01 6B15 8200"
935 $"0080 83FF 0280 4080 97FF 03FC D28E 4081"
936 $"0004 071C 53C6 FD82 FF02 E1AA FD98 FF00"
937 $"7C82 0004 1C7D C6FF FDA1 FF00 8083 0000"
938 $"AAA4 FF00 D084 0002 1B7D C5A1 FF01 FD28"
939 $"8800 8055 0160 9C81 AA02 D5FF FC95 FF94"
940 $"0003 0B80 80D5 92FF 0035 9600 0307 3578"
941 $"C68F FF01 DD07 9900 0135 958E FF00 AA9B"
942 $"0000 2B8E FF01 A82B 9A00 012B E38E FF03"
943 $"FD8E 551C 9700 013E FD92 FF00 C080 8000"
944 $"2B92 0000 A88B FF00 FD8E FF00 DC80 AA02"
945 $"551C 0785 0000 5588 FF02 E180 4E80 0003"
946 $"0E6B E6FC 8EFF 01E3 8084 0000 5587 FF01"
947 $"FD33 8200 00D5 87FF 01FD FD87 FF00 2B83"
948 $"0000 AA87 FF00 C682 0000 9A83 FF06 E32B"
949 $"55AA D5FC FC85 FF02 FDFF 5582 0001 1CFC"
950 $"87FF 00AA 8200 84FF 038E 0095 FD88 FF01"
951 $"E380 8200 022B E3FA 87FF 00AA 8200 00DF"
952 $"83FF 03D5 000B A881 FF07 F8F8 FFFF DF90"
953 $"550B 8200 0340 FFD5 AA88 FF00 1C81 0000"
954 $"5583 FF02 FCD5 408D 0004 2B9C FFDD 7E88"
955 $"FF01 FDAF 8200 0155 DD84 FF03 CD7D 5539"
956 $"8300 0940 5555 A8AA FDFD CD47 808B FF01"
957 $"CC0B 8200 00AA 88FF 00FA 81F8 08FF FFFA"
958 $"FCDF 8000 0BA8 8CFF 02FD E371 8300 0755"
959 $"558E AAC6 FFFF FC81 FF0A FAFC C6AA 8E52"
960 $"530E 2380 E391 FF01 8C55 9000 0307 1C6B"
961 $"C696 FF02 F8A5 808A 0003 352B 7CFD 9EFF"
962 $"00C6 84AA 03E3 FFFF FC8F FF",
963 /* [10] */
964 'h8mk',
965 $"0000 0000 0000 0000 0000 0000 0000 0000"
966 $"0000 0000 0000 0000 0000 0000 0005 0500"
967 $"0000 0000 0000 0000 0000 0000 0000 0000"
968 $"0000 0000 0000 0000 0000 0000 0000 0000"
969 $"0000 0000 0000 0000 0000 0000 0005 FFFF"
970 $"0005 0000 0000 0000 0000 0000 0000 0000"
971 $"0000 0000 0000 0000 0000 0000 0000 0000"
972 $"0000 0000 0000 0000 0000 0000 0005 FFFF"
973 $"FF00 0000 0000 0000 0000 0000 0000 0000"
974 $"0000 0000 0000 0000 0000 0000 0000 0000"
975 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
976 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
977 $"0000 0000 0000 0000 0000 0000 0000 0000"
978 $"0000 0005 0000 0000 0000 0000 FFFF FFFF"
979 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
980 $"0000 0000 0000 0000 0000 0000 0000 0000"
981 $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
982 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
983 $"0000 0000 0000 0000 0000 0000 0000 FFFF"
984 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
985 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
986 $"0000 0000 0000 0000 0000 0000 FFFF FFFF"
987 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
988 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
989 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
990 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
991 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
992 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
993 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
994 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
995 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
996 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
997 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
998 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
999 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1000 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1001 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1002 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1003 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1004 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1005 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1006 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1007 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1008 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1009 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1010 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1011 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1012 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1013 $"0000 0000 0000 0000 05FF FFFF FFFF FFFF"
1014 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1015 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1016 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1017 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1018 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1019 $"0000 0000 0000 0000 0005 FFFF FFFF FFFF"
1020 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1021 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
1022 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
1023 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1024 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
1025 $"0000 0000 0000 0000 0000 00DB FFFF FFFF"
1026 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1027 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
1028 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
1029 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1030 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
1031 $"0000 0000 0000 0000 0000 0000 0000 FFFF"
1032 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1033 $"0000 0000 0000 0000 0000 0000 0000 0000"
1034 $"0000 0000 0000 0000 0005 FFFF FFFF FFFF"
1035 $"FFFF FFFF FFFF FFFF FFFF FFFF FF05 0000"
1036 $"0000 0000 0000 0000 0000 0000 0000 0000"
1037 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1038 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1039 $"0000 0000 0000 0000 0000 0000 0000 0000"
1040 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1041 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1042 $"FF00 0000 0000 0000 0000 0000 0000 0000"
1043 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1044 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1045 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
1046 $"0000 0000 0000 05FF FFFF FFFF FFFF FFFF"
1047 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1048 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
1049 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1050 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1051 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1052 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1053 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1054 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1055 $"0000 0000 0000 00DB FFFF FFFF FFFF FFFF"
1056 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1057 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
1058 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1059 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1060 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
1061 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1062 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1063 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
1064 $"0000 0000 0000 0000 0000 0005 FFFF FFFF"
1065 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1066 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1067 $"0000 0000 0000 0000 0000 0000 0000 0000"
1068 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1069 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1070 $"0000 0000 0000 0000 0005 0000 0000 FFFF"
1071 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1072 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1073 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
1074 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1075 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1076 $"0000 0000 0005 FFFF FFFF FFFF FFFF FFFF"
1077 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1078 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1079 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
1080 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1081 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1082 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
1083 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1084 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
1085 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
1086 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1087 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
1088 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
1089 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1090 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
1091 $"0000 0000 0005 FFFF FFFF FFFF FFFF FFFF"
1092 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1093 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
1094 $"0000 0000 0000 00DB FFFF FFFF FFFF FFFF"
1095 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1096 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1097 $"0000 0000 0000 0005 FFFF FFFF FFFF FFFF"
1098 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1099 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1100 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
1101 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1102 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
1103 $"0000 0000 0000 0000 0000 0000 0005 FFFF"
1104 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1105 $"0500 0000 0000 0000 0000 0000 0000 0000"
1106 $"0000 0000 0000 0000 0000 0000 0000 0000"
1107 $"0000 FFFF FFFF FFFF FFFF FF00 0005 0000"
1108 $"0000 0000 0000 0000 0000 0000 0000 0000",
1109 /* [11] */
1110 'ics#',
1111 $"0000 00A0 0F10 1C78 1878 1C18 0E20 0600"
1112 $"1800 3FD0 1FF8 057C 300C 3358 18A8 0340"
1113 $"0070 07F0 1FF0 1FF8 3FF8 3FF8 1FF8 1FF0"
1114 $"3FF0 3FFC 3FFE 1FFE 7FFE 7FFE 7FFC 1FF0",
1115 /* [12] */
1116 'ics4',
1117 $"0000 0000 00C0 0000 0000 00CD CDCD 0000"
1118 $"0000 EFFD D0CE 0000 000E FA00 0DFF D000"
1119 $"000F FDCC 0EFF F000 000F FE00 00EF E000"
1120 $"000C FFD0 D0CE 0000 0000 DFF0 0CC0 0000"
1121 $"00CF FD00 0000 0000 00DF FFFA EEDD 0000"
1122 $"00CA FFFF FFFF FC00 0000 CDDE DEEF FFC0"
1123 $"00EF C0C0 000C FF00 00FE 00DD CDDF AD00"
1124 $"00DF DCC0 DCDD D000 0000 DDEE EDDC 0000",
1125 /* [13] */
1126 'ics8',
1127 $"0000 0000 0000 0000 0000 2B00 0000 0000"
1128 $"0000 0000 0000 2B56 F8F9 F856 0000 0000"
1129 $"0000 0000 FBFF FFFB 56F5 F7FC 0000 0000"
1130 $"0000 00FC FFFD F500 00F9 FFFF F900 0000"
1131 $"0000 F5FF FF56 2B2A F6FB FFFF FF00 0000"
1132 $"0000 00FE FFFB 00F5 0000 FBFF FC00 0000"
1133 $"0000 00F8 FFFF FA00 7900 F7FD F500 0000"
1134 $"0000 00F5 F9FF FDF6 00F6 F800 0000 0000"
1135 $"0000 2BEA FF56 0000 0000 0000 0000 0000"
1136 $"0000 81FF FFFF FEFD FCFC FAF8 0000 0000"
1137 $"0000 F6FE FFFF FFFF FFFF FFFF FEF7 0000"
1138 $"0000 0000 2B56 FA81 81FC FDFF FFFF F600"
1139 $"0000 ACFE 2B00 2BF5 0000 00F8 FFFF F500"
1140 $"00F5 FFFC 0000 FA56 56F8 F9FD FE56 F500"
1141 $"0000 56E0 FBF7 F6F6 F856 56F9 56F6 0000"
1142 $"0000 0000 F881 FCAC FC81 FA2B 0000 0000",
1143 /* [14] */
1144 'is32',
1145 $"87FF 00C3 87FF 06F3 C79F 9F8C B598 84FF"
1146 $"08F3 6008 0B53 9FE8 B34C 84FF 0948 002C"
1147 $"EBF8 F884 0400 8182 FF0A E700 0093 B9D2"
1148 $"E061 0000 0C82 FF0A F713 0057 FCF5 F1FB"
1149 $"5000 4383 FF09 B008 0073 FF8C FFB4 2DE7"
1150 $"83FF 08EB 8202 28E3 FFD9 B0FB 83FF 03CB"
1151 $"1100 9089 FF00 6880 0006 142B 4050 75B2"
1152 $"F782 FF01 D01C 8500 011A AF83 FF13 BF90"
1153 $"7860 6048 2401 0009 DFFF FFF7 3B16 C8FF"
1154 $"CDEF 80FF 139F 0004 DFFF FFEB 0444 FFFF"
1155 $"7F97 9F9F 852D 1A97 F780 FF0B 9A10 54B3"
1156 $"DFD4 A79F 9187 96D0 82FF 08EF A36C 4440"
1157 $"4863 84C8 81FF 87FF 00C3 87FF 06F3 C79F"
1158 $"9F8C B598 84FF 08F3 6008 0B52 9FE8 B34C"
1159 $"84FF 0948 002C EBFA FA84 0400 8182 FF0A"
1160 $"E700 0093 CDDF E960 0000 0C82 FF0A F713"
1161 $"0057 FCF8 F5FB 5000 4383 FF09 B008 0072"
1162 $"FFAD FFB4 2DE7 83FF 08EB 8202 28E3 FFD9"
1163 $"B0FB 83FF 03CB 1100 8F89 FF00 6880 0006"
1164 $"142B 4050 74B2 F782 FF01 D01C 8500 011A"
1165 $"AF83 FF13 BF90 7860 6048 2401 0008 DFFF"
1166 $"FFF7 3A16 C8FF CDEF 80FF 139F 0004 DFFF"
1167 $"FFEB 0444 FFFF 7F97 9F9F 852D 1A97 F780"
1168 $"FF0B 9910 54B3 DFD4 A79F 9086 96D0 82FF"
1169 $"08EF A36C 4440 4863 84C8 81FF 86FF 01FE"
1170 $"C287 FF06 F3C7 9F9F 8DB6 9884 FF08 F35F"
1171 $"080B 519F E8B3 4D84 FF09 4800 2DEB FBFB"
1172 $"8304 0083 82FF 0AE7 0000 93D7 E5ED 5F00"
1173 $"000C 82FF 0AF6 1300 56FC F9F6 FB50 0044"
1174 $"83FF 09B0 0800 72FF BDFF B42D E783 FF08"
1175 $"EA83 0328 E3FF D9B0 FB83 FF03 CB12 008F"
1176 $"89FF 0068 8000 0614 2B40 5075 B2F7 82FF"
1177 $"01D1 1C85 0001 1AAF 83FF 2ABF 9078 6060"
1178 $"4724 0100 09DF FFFF F73C 16C8 FFCF EEFE"
1179 $"FFFF 9F00 04DF FFFF EB04 45FF FF7E 979F"
1180 $"9F86 2D1A 98F6 80FF 0B9A 1055 B3DF D3A7"
1181 $"9D91 8596 D182 FF08 EFA3 6C44 4048 6584"
1182 $"C981 FF",
1183 /* [15] */
1184 's8mk',
1185 $"0000 0000 0000 0000 0005 FF05 0000 0000"
1186 $"0000 0000 00FF FFFF FFFF FFFF 0000 0000"
1187 $"0000 00FF FFFF FFFF FFFF FFFF 0000 0000"
1188 $"0000 00FF FFFF FFFF FFFF FFFF FF00 0000"
1189 $"0000 FFFF FFFF FFFF FFFF FFFF FF00 0000"
1190 $"0000 FFFF FFFF FFFF FFFF FFFF FF00 0000"
1191 $"0000 00FF FFFF FFFF FFFF FFFF FF00 0000"
1192 $"0000 00FF FFFF FFFF FFFF FFFF 0000 0000"
1193 $"0000 FFFF FFFF FFFF FFFF FFFF 0000 0000"
1194 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF 0000"
1195 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1196 $"0000 0005 FFFF FFFF FFFF FFFF FFFF FF00"
1197 $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1198 $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1199 $"0005 FFFF FFFF FFFF FFFF FFFF FFFF 0000"
1200 $"0000 00FF FFFF FFFF FFFF FFFF 0000 0000",
1201 /* [16] */
1202 'icm#',
1203 $"0000 0350 1C30 1C78 1C10 0620 1900 3FF8"
1204 $"0B7C 300C 31B0 0720 0070 0FF0 1FF8 3FF8"
1205 $"3FF8 1FF0 3FF8 3FFC 1FFE 7FFE 7FFE 3FF8",
1206 /* [17] */
1207 'icm4',
1208 $"0000 0000 00C0 0000 0000 CDEE ECCE 0000"
1209 $"000D FAC0 0DEF C000 000F FD0C 0DFF F000"
1210 $"000E FFC0 C0DF C000 0000 DFEC 00CC 0000"
1211 $"00CF FDC0 C000 0000 00DF FFFF FFFE D000"
1212 $"000C DDEE EEFF FF00 00AE C0C0 000D FEC0"
1213 $"00FE C0CD DEDE DC00 000C DDED DDDC C000",
1214 /* [18] */
1215 'icm8',
1216 $"0000 0000 0000 0000 0000 F800 0000 0000"
1217 $"0000 0000 2BFA FBAC 8156 F681 0000 0000"
1218 $"0000 00FA FFFD F7F5 0056 FDFF F800 0000"
1219 $"0000 F5FF FF56 2B2A F556 FFFF FF00 0000"
1220 $"0000 00FB FFFE F600 4F00 56FF F800 0000"
1221 $"0000 00F5 81EA FEF5 00F6 F8F6 0000 0000"
1222 $"0000 F8FF FFFA 2BF6 F600 0000 0000 0000"
1223 $"0000 56FF FFFF FFFF FFFF E0FC F9F5 0000"
1224 $"0000 00F6 F981 FBFC FCAC FDFF FFFD F500"
1225 $"0000 FDFD F600 F700 0000 0056 FFFE F500"
1226 $"0000 ACFE 2B00 F7F9 8181 FBFB 81F7 0000"
1227 $"0000 00F7 FAFB FBFA FAF9 56F8 F600 0000",
1228 /* [19] */
1229 'it32',
1230 $"0000 0000 FFFF FFFF FFFF C9FF 0100 00FC"
1231 $"FF01 0000 F8FF 0000 80FF 0100 00F7 FF01"
1232 $"0000 80FF 0100 00F6 FF01 0000 81FF 0100"
1233 $"00F5 FF80 0080 FF80 00F4 FF80 0081 FF80"
1234 $"00F2 FF81 0081 FF80 00F1 FF00 4080 0082"
1235 $"FF81 00ED FF82 0001 2020 83FF 8100 D9FF"
1236 $"8D00 0240 2020 8200 0020 84FF 8100 D3FF"
1237 $"9B00 85FF 8200 CDFF 9C00 0140 0087 FF82"
1238 $"00CA FF9F 0089 FF82 00C7 FF9E 0001 2000"
1239 $"8AFF 8300 C5FF 9E00 8EFF 8300 C3FF 9800"
1240 $"0040 8000 91FF 8400 C1FF 9C00 93FF 8400"
1241 $"C0FF 9700 0160 0096 FF85 00BF FF93 0002"
1242 $"4040 0099 FF88 00BC FF94 0000 4099 FF89"
1243 $"0001 2000 BAFF 9300 9BFF 8C00 0020 B8FF"
1244 $"9300 9AFF 9000 B6FF 9200 9BFF 9000 0120"
1245 $"20B4 FF92 009A FF00 4094 00B3 FF91 009A"
1246 $"FF97 00B1 FF92 0099 FF00 4097 00B1 FF91"
1247 $"0090 FF00 2085 FF01 4040 9800 AFFF 9100"
1248 $"0020 8EFF 023A 2020 85FF 9A00 AFFF 9100"
1249 $"88FF 0020 83FF 8020 85FF 9B00 AEFF 9100"
1250 $"87FF 0120 2083 FF80 2085 FF9B 00AD FF92"
1251 $"0086 FF80 2083 FF02 203A 2086 FF9A 00AD"
1252 $"FF91 0087 FF80 2083 FF80 2086 FF9B 00AC"
1253 $"FF91 0087 FF80 2083 FF80 2087 FF00 4099"
1254 $"00AC FF91 0087 FF80 2084 FF80 2087 FF99"
1255 $"00AC FF91 0087 FF81 2084 FF01 2020 88FF"
1256 $"9800 ACFF 9100 88FF 8020 92FF 9700 ACFF"
1257 $"9200 88FF 8020 92FF 9600 ACFF 9200 A1FF"
1258 $"9200 0140 00AE FF91 00A2 FF93 00AE FF92"
1259 $"00A2 FF91 00AF FF00 4091 00A3 FF90 00B0"
1260 $"FF92 00A3 FF8D 0000 60B1 FF01 4040 9000"
1261 $"0040 A3FF 8B00 0120 00B2 FF91 0001 4040"
1262 $"8CFF 8220 8EFF 8B00 0020 B4FF 9300 8DFF"
1263 $"8220 8DFF 8A00 B5FF 9300 0040 8CFF 8320"
1264 $"8CFF 8900 B7FF 9200 0140 408C FF82 208C"
1265 $"FF88 00B9 FF94 008B FF83 208B FF87 00BB"
1266 $"FF94 008B FF82 208B FF86 00BD FF00 2093"
1267 $"008A FF81 208C FF85 00BF FF94 008A FF01"
1268 $"2020 8CFF 0040 8300 0020 C2FF 9300 99FF"
1269 $"8400 C6FF 9200 97FF 8300 CAFF 9000 96FF"
1270 $"8300 CDFF 8F00 93FF 0500 2000 2000 00CE"
1271 $"FF01 2020 8E00 90FF 8040 8000 CFFF 0300"
1272 $"0020 208D 008F FF01 0000 8040 CFFF 0040"
1273 $"9100 90FF 8000 CFFF 9300 E4FF 8E00 0040"
1274 $"8100 E6FF 9100 E7FF 0120 208E 00E9 FF8F"
1275 $"00EA FF8F 00EA FF90 00E9 FF92 00E8 FF94"
1276 $"00E5 FF98 00E2 FF9C 00DD FFA8 00D2 FFA5"
1277 $"0004 2000 0040 4089 00C4 FFBC 0000 20BD"
1278 $"FFC3 00B7 FFC4 0001 4040 B4FF C800 0020"
1279 $"B2FF 0020 CA00 AFFF 0020 CB00 0040 AEFF"
1280 $"CD00 0020 ACFF 0020 CF00 ABFF D100 ABFF"
1281 $"D000 ABFF D000 ABFF D000 ACFF CF00 AFFF"
1282 $"CB00 0020 B0FF CA00 B4FF C700 B9FF C200"
1283 $"C2FF B800 D6FF A500 DEFF 9C00 E1FF 0200"
1284 $"0020 9600 A2FF 0020 8900 0140 40B1 FF95"
1285 $"009F FF03 0000 2020 8900 0040 B4FF 9300"
1286 $"9DFF 8D00 0060 B7FF 9200 9CFF 0040 8C00"
1287 $"B9FF 9100 9CFF 8D00 BBFF 9000 9CFF 8C00"
1288 $"92FF 0200 2020 8200 9FFF 8F00 9CFF 8B00"
1289 $"0020 92FF 0400 0020 2000 A3FF 8F00 9CFF"
1290 $"8B00 0060 91FF 8100 A5FF 8E00 9DFF 8B00"
1291 $"92FF 8100 A4FF 8E00 9EFF 8B00 91FF 8100"
1292 $"0060 A3FF 8E00 9FFF 8B00 92FF 8200 A0FF"
1293 $"8F00 A0FF 8B00 92FF 8200 0040 9CFF 0100"
1294 $"408F 0082 FF00 009B FF8B 0000 2092 FF84"
1295 $"0095 FF01 4020 9100 0140 4082 FF01 0000"
1296 $"9CFF 8B00 93FF AE00 0240 4000 83FF 0100"
1297 $"009D FF8C 0093 FF01 0020 AC00 84FF 0120"
1298 $"009F FF8C 0094 FFAA 0085 FF01 2020 A0FF"
1299 $"0020 8C00 95FF 0100 40A2 0087 FF80 00A2"
1300 $"FF8D 0097 FF94 0000 2084 008A FF03 0000"
1301 $"2000 A4FF 8D00 0020 9BFF 8E00 0020 8FFF"
1302 $"0400 4000 0020 A6FF 0020 8D00 BBFF 8400"
1303 $"A8FF 0040 8E00 B5FF 0040 8300 0120 00AC"
1304 $"FF91 00AF FF02 0040 4083 00B0 FF95 00A3"
1305 $"FF8A 00B4 FF99 0097 FF8C 0001 4000 B8FF"
1306 $"BC00 0220 0000 BDFF BA00 0020 C3FF B000"
1307 $"0020 8000 C9FF A400 0120 2083 00D3 FF9F"
1308 $"0004 2020 4000 00DC FF92 00FF FFFF FFB3"
1309 $"FFFF FFCA FF00 FBFD FF00 FBFC FF03 FBFB"
1310 $"0000 F6FF 01FB FB81 FF01 0000 80FF 00FB"
1311 $"F4FF 0000 80FF 0100 00F7 FF01 0000 80FF"
1312 $"0100 00F5 FF02 FB00 0081 FF01 0000 F5FF"
1313 $"8000 80FF 8000 F4FF 8000 81FF 8000 F2FF"
1314 $"8100 81FF 8000 F1FF 0040 8000 82FF 8100"
1315 $"D6FF 00FB 93FF 8200 0220 20FB 82FF 8100"
1316 $"D9FF 8D00 0240 2020 8200 0220 FFFB 82FF"
1317 $"8100 D3FF 9B00 01FB FB83 FF82 00CD FF9C"
1318 $"0001 4000 87FF 8200 CAFF 9F00 89FF 8200"
1319 $"C7FF 9E00 0120 008A FF83 00C5 FF9E 008E"
1320 $"FF83 00C0 FF02 FBFB FF98 0000 4080 0001"
1321 $"FBFB 8FFF 8400 C0FF 00FB 9C00 03FF FFFB"
1322 $"FB8F FF84 00C0 FF97 0003 6000 FBFB 94FF"
1323 $"8500 BFFF 9300 0440 4000 FBFB 97FF 8800"
1324 $"BCFF 9400 0440 FFFF FBFB 95FF 8900 0120"
1325 $"00BA FF93 009B FF8C 0000 20B8 FF93 009A"
1326 $"FF90 00B6 FF92 009B FF90 0001 2020 B4FF"
1327 $"9200 99FF 01FB 4094 00B3 FF91 009A FF97"
1328 $"00B1 FF92 008D FF00 FB88 FF00 4097 00B1"
1329 $"FF91 008E FF02 FBFF 6085 FF01 4040 9800"
1330 $"AFFF 9100 0020 8EFF 026E 6060 85FF 9A00"
1331 $"ADFF 01FB FF91 0088 FF00 6083 FF80 6085"
1332 $"FF9B 0000 FBAB FF01 FBFF 9100 87FF 0160"
1333 $"6083 FF80 6085 FF9B 0000 FBAC FF92 0086"
1334 $"FF80 6083 FF02 606E 6084 FF01 FBFF 9A00"
1335 $"ADFF 9100 87FF 8060 83FF 8060 86FF 9B00"
1336 $"ACFF 9100 87FF 8060 01FB FB81 FF80 6085"
1337 $"FF02 FBFB 4099 00AC FF91 0087 FF80 6084"
1338 $"FF80 6084 FF02 FBFB FF99 00AC FF91 0086"
1339 $"FF00 FB81 6082 FF03 FBFF 6060 88FF 9800"
1340 $"ACFF 9100 88FF 8060 90FF 01FB FF97 00AC"
1341 $"FF92 0088 FF80 608F FF02 FBFF FF96 00AC"
1342 $"FF92 0088 FF03 FBFF FFFB 92FF 9200 0140"
1343 $"00AC FF01 FBFB 9100 A2FF 9300 ACFF 01FB"
1344 $"FB92 00A2 FF91 00AF FF00 4091 00A3 FF90"
1345 $"0000 FBAF FF92 0001 FBFB 8CFF 80FB 8FFF"
1346 $"8D00 0060 B1FF 0140 4090 0002 40FF FB91"
1347 $"FF00 FB8C FF8B 0001 2000 B2FF 9100 0240"
1348 $"40FB 8BFF 8260 01FF FB8C FF8B 0001 20FB"
1349 $"B1FF 01FB FF93 0001 FBFB 89FF 01FB FF82"
1350 $"6001 FBFB 8BFF 8A00 B5FF 9300 0040 8CFF"
1351 $"8360 8CFF 8900 B7FF 9200 0140 408B FF00"
1352 $"FB82 608C FF88 00B9 FF94 008B FF83 608B"
1353 $"FF87 00BB FF94 008B FF82 608B FF86 00BD"
1354 $"FF00 2093 008A FF81 608C FF85 00BE FF00"
1355 $"FB94 008A FF01 6060 8CFF 0040 8300 0020"
1356 $"C2FF 9300 99FF 8400 C6FF 9200 94FF 02FB"
1357 $"FBFF 8300 CAFF 9000 94FF 01FB FB83 00CD"
1358 $"FF8F 0093 FF06 0020 0020 0000 FBCD FF01"
1359 $"2020 8E00 90FF 8040 8000 CFFF 0300 0020"
1360 $"208D 008F FF01 0000 8040 CFFF 0040 9100"
1361 $"80FF 00FB 8AFF 01FB FF80 0001 FFFB CAFF"
1362 $"02FB FFFF 9300 E1FF 02FB FBFF 8E00 0040"
1363 $"8100 01FF FBE2 FF01 FBFB 9100 81FF 00FB"
1364 $"E2FF 0120 208E 0000 FBE8 FF8F 00EA FF8F"
1365 $"00EA FF90 00E8 FF00 FB92 0001 FBFB E5FF"
1366 $"00FB 9400 E5FF 9800 00FB DFFF 01FB FB9C"
1367 $"00DD FFA8 008F FF01 FBFB BEFF A500 0420"
1368 $"0000 4040 8900 C4FF BC00 0020 BDFF C300"
1369 $"B7FF C400 0140 40B4 FFC8 0000 20B2 FF00"
1370 $"20CA 00AF FF00 20CB 0000 40AE FFCD 0000"
1371 $"20AB FF01 FB20 CF00 ABFF D100 ABFF D000"
1372 $"ABFF D000 ABFF D000 A8FF 00FB 80FF CF00"
1373 $"AFFF CB00 0220 FBFB AEFF CA00 ABFF 00FB"
1374 $"85FF C700 B9FF C200 00FB C1FF B800 D4FF"
1375 $"01FB FBA5 00D3 FF01 FBFB 86FF 9C00 A3FF"
1376 $"00FB BAFF 0200 0020 9600 A2FF 0020 8900"
1377 $"0440 40FF FBFB AEFF 9500 9FFF 0300 0020"
1378 $"2089 0004 40FF FFFB FBB0 FF93 009C FF00"
1379 $"FB8D 0000 60B7 FF92 009A FF02 FBFB 408C"
1380 $"00B9 FF91 009C FF8D 009C FF01 FBFB 9AFF"
1381 $"9000 9CFF 8C00 92FF 0200 2020 8200 80FF"
1382 $"01FB FB9A FF8F 009C FF8B 0002 20FF FB90"
1383 $"FF04 0000 2020 0084 FF01 FBFB 9AFF 8F00"
1384 $"00FB 9BFF 8B00 0060 91FF 8100 A1FF 00FB"
1385 $"80FF 8E00 80FF 00FB 99FF 8B00 92FF 8100"
1386 $"A4FF 8E00 81FF 00FB 99FF 8B00 91FF 8100"
1387 $"0060 A3FF 8E00 81FF 01FB FB99 FF8B 0092"
1388 $"FF82 0080 FF00 FB9C FF8F 00A0 FF8B 0092"
1389 $"FF82 0003 40FF FFFB 99FF 0100 408F 0082"
1390 $"FF00 009B FF8B 0000 2092 FF84 0088 FF83"
1391 $"FB84 FF01 4020 9100 0140 4082 FF01 0000"
1392 $"9CFF 8B00 90FF 02FB FBFF AE00 0240 4000"
1393 $"81FF 03FB FB00 009D FF8C 0093 FF01 0020"
1394 $"AC00 84FF 0120 009F FF8C 0094 FFAA 0085"
1395 $"FF01 2020 9EFF 02FB FB20 8C00 02FF FFFB"
1396 $"92FF 0100 40A2 0002 FFFF FB84 FF80 00A2"
1397 $"FF8D 0096 FF00 FB94 0000 2084 0001 FFFB"
1398 $"84FF 00FB 80FF 0300 0020 00A4 FF8D 0000"
1399 $"209B FF8E 0000 208F FF04 0040 0000 20A6"
1400 $"FF00 208D 009E FF8A FB8D FF84 0000 FBA6"
1401 $"FF01 FB40 8E00 AFFF 80FB 80FF 0040 8300"
1402 $"0120 00A9 FF02 FBFF FF91 00AB FF80 FB03"
1403 $"FF00 4040 8300 B0FF 9500 89FF 01FB FB89"
1404 $"FF81 FB85 FF8A 00B4 FF99 0097 FF8C 0001"
1405 $"4000 B8FF BC00 0220 0000 BDFF BA00 0020"
1406 $"BFFF 00FB 80FF B000 0020 8000 C7FF 01FB"
1407 $"FBA4 0001 2020 8300 CCFF 01FB FB82 FF9F"
1408 $"0008 2020 4000 00FF FFFB FBD8 FF92 0084"
1409 $"FF01 FBFB FFFF FFFF AAFF FFFF CAFF 00F0"
1410 $"FDFF 00F0 FCFF 03F0 F000 00F6 FF01 F0F0"
1411 $"81FF 0100 0080 FF00 F0F4 FF00 0080 FF01"
1412 $"0000 F7FF 0100 0080 FF01 0000 F5FF 02F0"
1413 $"0000 81FF 0100 00F5 FF80 0080 FF80 00F4"
1414 $"FF80 0081 FF80 00F2 FF81 0081 FF80 00F1"
1415 $"FF00 4080 0082 FF81 00D6 FF00 F093 FF82"
1416 $"0002 4040 F082 FF81 00D9 FF8D 0080 4082"
1417 $"0002 40FF F082 FF81 00D3 FF9B 0001 F0F0"
1418 $"83FF 8200 CDFF 9C00 0140 0087 FF82 00CA"
1419 $"FF9F 0089 FF82 00C7 FF9E 0001 4000 8AFF"
1420 $"8300 C5FF 9E00 8EFF 8300 C0FF 02F0 F0FF"
1421 $"9800 0040 8000 01F0 F08F FF84 00C0 FF00"
1422 $"F09C 0003 FFFF F0F0 8FFF 8400 C0FF 9700"
1423 $"0340 00F0 F094 FF85 00BF FF93 0004 4040"
1424 $"00F0 F097 FF88 00BC FF94 0004 40FF FFF0"
1425 $"F095 FF89 0001 4000 BAFF 9300 9BFF 8C00"
1426 $"0040 B8FF 9300 9AFF 9000 B6FF 9200 9BFF"
1427 $"9000 0140 40B4 FF92 0099 FF01 F040 9400"
1428 $"B3FF 9100 9AFF 9700 B1FF 9200 8DFF 00F0"
1429 $"88FF 0040 9700 B1FF 9100 8EFF 02F0 FF80"
1430 $"85FF 0140 4098 00AF FF91 0000 408E FF02"
1431 $"A580 8085 FF9A 00AD FF01 F0FF 9100 88FF"
1432 $"0080 83FF 8080 85FF 9B00 00F0 ABFF 01F0"
1433 $"FF91 0087 FF01 8080 83FF 8080 85FF 9B00"
1434 $"00F0 ACFF 9200 86FF 8080 83FF 0280 A580"
1435 $"84FF 01F0 FF9A 00AD FF91 0087 FF80 8083"
1436 $"FF80 8086 FF9B 00AC FF91 0087 FF80 8001"
1437 $"F0F0 81FF 8080 85FF 02F0 F040 9900 ACFF"
1438 $"9100 87FF 8080 84FF 8080 84FF 02F0 F0FF"
1439 $"9900 ACFF 9100 86FF 00F0 8180 82FF 03F0"
1440 $"FF80 8088 FF98 00AC FF91 0088 FF80 8090"
1441 $"FF01 F0FF 9700 ACFF 9200 88FF 8080 8FFF"
1442 $"02F0 FFFF 9600 ACFF 9200 88FF 03F0 FFFF"
1443 $"F092 FF92 0001 4000 ACFF 01F0 F091 00A2"
1444 $"FF93 00AC FF01 F0F0 9200 A2FF 9100 AFFF"
1445 $"0040 9100 A3FF 9000 00F0 AFFF 9200 01F0"
1446 $"F08C FF80 F08F FF8D 0000 80B1 FF01 4040"
1447 $"9000 0240 FFF0 91FF 00F0 8CFF 8B00 0140"
1448 $"00B2 FF91 0002 4040 F08B FF82 8001 FFF0"
1449 $"8CFF 8B00 0140 F0B1 FF01 F0FF 9300 01F0"
1450 $"F089 FF01 F0FF 8280 01F0 F08B FF8A 00B5"
1451 $"FF93 0000 408C FF83 808C FF89 00B7 FF92"
1452 $"0001 4040 8BFF 00F0 8280 8CFF 8800 B9FF"
1453 $"9400 8BFF 8380 8BFF 8700 BBFF 9400 8BFF"
1454 $"8280 8BFF 8600 BDFF 0040 9300 8AFF 8180"
1455 $"8CFF 8500 BEFF 00F0 9400 8AFF 0180 808C"
1456 $"FF00 4083 0000 40C2 FF93 0099 FF84 00C6"
1457 $"FF92 0094 FF02 F0F0 FF83 00CA FF90 0094"
1458 $"FF01 F0F0 8300 CDFF 8F00 93FF 0600 4000"
1459 $"4000 00F0 CDFF 0140 408E 0090 FF80 4080"
1460 $"00CF FF03 0000 4040 8D00 8FFF 0100 0080"
1461 $"40CF FF00 4091 0080 FF00 F08A FF01 F0FF"
1462 $"8000 01FF F0CA FF02 F0FF FF93 00E1 FF02"
1463 $"F0F0 FF8E 0000 4081 0001 FFF0 E2FF 01F0"
1464 $"F091 0081 FF00 F0E2 FF01 4040 8E00 00F0"
1465 $"E8FF 8F00 EAFF 8F00 EAFF 9000 E8FF 00F0"
1466 $"9200 01F0 F0E5 FF00 F094 00E5 FF98 0000"
1467 $"F0DF FF01 F0F0 9C00 DDFF A800 8FFF 01F0"
1468 $"F0BE FFA5 0004 4000 0040 4089 00C4 FFBC"
1469 $"0000 40BD FFC3 00B7 FFC4 0001 4040 B4FF"
1470 $"C800 0040 B2FF 0040 CA00 AFFF 0040 CB00"
1471 $"0040 AEFF CD00 0040 ABFF 01F0 40CF 00AB"
1472 $"FFD1 00AB FFD0 00AB FFD0 00AB FFD0 00A8"
1473 $"FF00 F080 FFCF 00AF FFCB 0002 40F0 F0AE"
1474 $"FFCA 00AB FF00 F085 FFC7 00B9 FFC2 0000"
1475 $"F0C1 FFB8 00D4 FF01 F0F0 A500 D3FF 01F0"
1476 $"F086 FF9C 00A3 FF00 F0BA FF02 0000 4096"
1477 $"00A2 FF00 4089 0004 4040 FFF0 F0AE FF95"
1478 $"009F FF03 0000 4040 8900 0440 FFFF F0F0"
1479 $"B0FF 9300 9CFF 00F0 8D00 0080 B7FF 9200"
1480 $"9AFF 02F0 F040 8C00 B9FF 9100 9CFF 8D00"
1481 $"9CFF 01F0 F09A FF90 009C FF8C 0092 FF02"
1482 $"0040 4082 0080 FF01 F0F0 9AFF 8F00 9CFF"
1483 $"8B00 0240 FFF0 90FF 0400 0040 4000 84FF"
1484 $"01F0 F09A FF8F 0000 F09B FF8B 0000 4091"
1485 $"FF81 00A1 FF00 F080 FF8E 0080 FF00 F099"
1486 $"FF8B 0092 FF81 00A4 FF8E 0081 FF00 F099"
1487 $"FF8B 0091 FF81 0000 40A3 FF8E 0081 FF01"
1488 $"F0F0 99FF 8B00 92FF 8200 80FF 00F0 9CFF"
1489 $"8F00 A0FF 8B00 92FF 8200 0340 FFFF F099"
1490 $"FF01 0040 8F00 82FF 0000 9BFF 8B00 0040"
1491 $"92FF 8400 88FF 83F0 84FF 0140 4091 0001"
1492 $"4040 82FF 0100 009C FF8B 0090 FF02 F0F0"
1493 $"FFAE 0002 4040 0081 FF03 F0F0 0000 9DFF"
1494 $"8C00 93FF 0100 40AC 0084 FF01 4000 9FFF"
1495 $"8C00 94FF AA00 85FF 0140 409E FF02 F0F0"
1496 $"408C 0002 FFFF F092 FF01 0040 A200 02FF"
1497 $"FFF0 84FF 8000 A2FF 8D00 96FF 00F0 9400"
1498 $"0040 8400 01FF F084 FF00 F080 FF03 0000"
1499 $"4000 A4FF 8D00 0040 9BFF 8E00 0040 8FFF"
1500 $"0400 4000 0040 A6FF 0040 8D00 9EFF 8AF0"
1501 $"8DFF 8400 00F0 A6FF 01F0 408E 00AF FF80"
1502 $"F080 FF00 4083 0001 4000 A9FF 02F0 FFFF"
1503 $"9100 ABFF 80F0 03FF 0040 4083 00B0 FF95"
1504 $"0089 FF01 F0F0 89FF 81F0 85FF 8A00 B4FF"
1505 $"9900 97FF 8C00 0140 00B8 FFBC 0002 4000"
1506 $"00BD FFBA 0000 40BF FF00 F080 FFB0 0000"
1507 $"4080 00C7 FF01 F0F0 A400 0140 4083 00CC"
1508 $"FF01 F0F0 82FF 9F00 8040 0500 00FF FFF0"
1509 $"F0D8 FF92 0084 FF01 F0F0 FFFF FFFF AAFF",
1510 /* [20] */
1511 't8mk',
1512 $"0000 0000 0000 0000 0000 0000 0000 0000"
1513 $"0000 0000 0000 0000 0000 0000 0000 0000"
1514 $"0000 0000 0000 0000 0000 0000 0000 0000"
1515 $"0000 0000 0000 0000 0000 0000 0000 0000"
1516 $"0000 0000 0000 0000 0000 0000 0000 0000"
1517 $"0000 0000 0000 0000 0000 0000 0000 0000"
1518 $"0000 0000 0000 0000 0000 0000 0000 0000"
1519 $"0000 0000 0000 0000 0000 0000 0000 0000"
1520 $"0000 0000 0000 0000 0000 0000 0000 0000"
1521 $"0000 0000 0000 0000 0000 0000 0000 0000"
1522 $"0000 0000 0000 0000 0000 0000 0000 0000"
1523 $"0000 0000 0000 0000 0000 0000 0000 0000"
1524 $"0000 0000 0000 0000 0000 0000 0000 0005"
1525 $"0000 0000 0000 0000 0000 0000 0000 0000"
1526 $"0000 0000 0000 0000 0000 0000 0000 0000"
1527 $"0000 0000 0000 0000 0000 0000 0000 0000"
1528 $"0000 0000 0000 0000 0000 0000 0000 0000"
1529 $"0000 0000 0000 0000 0000 0000 0000 0000"
1530 $"0000 0000 0000 0000 0000 0000 0000 0000"
1531 $"0000 0000 0000 0000 0000 0000 0000 0000"
1532 $"0000 0000 0000 0000 0000 0000 0000 0000"
1533 $"0500 0000 0000 0000 0000 0000 0000 0000"
1534 $"0000 0000 0000 0000 0000 0000 0000 0000"
1535 $"0000 0000 0000 0000 0000 0000 0000 0000"
1536 $"0000 0000 0000 0000 0000 0000 0000 0000"
1537 $"0000 0000 0000 0000 0000 0000 0000 0000"
1538 $"0000 0000 0000 0000 0000 0000 0000 0000"
1539 $"0000 0000 0000 0000 0000 0000 0000 0000"
1540 $"0000 0000 0000 0000 0000 0000 0000 0000"
1541 $"0505 FFFF 0000 0000 0000 0000 0000 0000"
1542 $"0000 0000 0000 0000 0000 0000 0000 0000"
1543 $"0000 0000 0000 0000 0000 0000 0000 0000"
1544 $"0000 0000 0000 0000 0000 0000 0000 0000"
1545 $"0000 0000 0000 0000 0000 0000 0000 0000"
1546 $"0000 0000 0000 0000 0000 0000 0000 0000"
1547 $"0000 0000 0000 0000 0000 0000 0000 0000"
1548 $"0000 0000 0000 0000 0000 0000 0005 0500"
1549 $"00FF FFFF FF00 0000 0500 0000 0000 0000"
1550 $"0000 0000 0000 0000 0000 0000 0000 0000"
1551 $"0000 0000 0000 0000 0000 0000 0000 0000"
1552 $"0000 0000 0000 0000 0000 0000 0000 0000"
1553 $"0000 0000 0000 0000 0000 0000 0000 0000"
1554 $"0000 0000 0000 0000 0000 0000 0000 0000"
1555 $"0000 0000 0000 0000 0000 0000 0000 0000"
1556 $"0000 0000 0000 0000 0000 0000 0000 0000"
1557 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1558 $"0000 0000 0000 0000 0000 0000 0000 0000"
1559 $"0000 0000 0000 0000 0000 0000 0000 0000"
1560 $"0000 0000 0000 0000 0000 0000 0000 0000"
1561 $"0000 0000 0000 0000 0000 0000 0000 0000"
1562 $"0000 0000 0000 0000 0000 0000 0000 0000"
1563 $"0000 0000 0000 0000 0000 0000 0000 0000"
1564 $"0000 0000 0000 0000 0000 0000 0000 0000"
1565 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1566 $"0000 0000 0000 0000 0000 0000 0000 0000"
1567 $"0000 0000 0000 0000 0000 0000 0000 0000"
1568 $"0000 0000 0000 0000 0000 0000 0000 0000"
1569 $"0000 0000 0000 0000 0000 0000 0000 0000"
1570 $"0000 0000 0000 0000 0000 0000 0000 0000"
1571 $"0000 0000 0000 0000 0000 0000 0000 0000"
1572 $"0000 0000 0000 0000 0000 0000 0000 0005"
1573 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1574 $"0000 0000 0000 0000 0000 0000 0000 0000"
1575 $"0000 0000 0000 0000 0000 0000 0000 0000"
1576 $"0000 0000 0000 0000 0000 0000 0000 0000"
1577 $"0000 0000 0000 0000 0000 0000 0000 0000"
1578 $"0000 0000 0000 0000 0000 0000 0000 0000"
1579 $"0000 0000 0000 0000 0000 0000 0000 0000"
1580 $"0000 0000 0000 0000 0000 0000 0000 0000"
1581 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
1582 $"0000 0000 0000 0000 0000 0000 0000 0000"
1583 $"0000 0000 0000 0000 0000 0000 0000 0000"
1584 $"0000 0000 0000 0000 0000 0000 0000 0000"
1585 $"0000 0000 0000 0000 0000 0000 0000 0000"
1586 $"0000 0000 0000 0000 0000 0000 0000 0000"
1587 $"0000 0000 0000 0000 0000 0000 0000 0000"
1588 $"0000 0000 0000 0000 0000 0000 0000 0000"
1589 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
1590 $"0000 0000 0000 0000 0000 0000 0000 0000"
1591 $"0000 0000 0000 0000 0000 0000 0000 0000"
1592 $"0000 0000 0000 0000 0000 0000 0000 0000"
1593 $"0000 0000 0000 0000 0000 0000 0000 0000"
1594 $"0000 0000 0000 0000 0000 0000 0000 0000"
1595 $"0000 0000 0000 0000 0000 0000 0000 0000"
1596 $"0000 0000 0000 0000 0000 0000 0000 00FF"
1597 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
1598 $"0000 0000 0000 0000 0000 0000 0000 0000"
1599 $"0000 0000 0000 0000 0000 0000 0000 0000"
1600 $"0000 0000 0000 0000 0000 0000 0000 0000"
1601 $"0000 0000 0000 0000 0000 0000 0000 0000"
1602 $"0000 0000 0000 0000 0000 0000 0000 0000"
1603 $"0000 0000 0000 0000 0000 0000 0000 0000"
1604 $"0000 0000 0000 0000 0000 0000 0000 BFFF"
1605 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
1606 $"0000 0000 0000 0000 0000 0000 0000 0000"
1607 $"0000 0000 0000 0000 0000 0000 0000 0000"
1608 $"0000 0000 0000 0000 0000 0000 0000 0000"
1609 $"0000 0000 0000 0000 0000 0000 0000 0000"
1610 $"0000 0000 0000 0000 0000 0000 0000 0000"
1611 $"0000 0000 0500 0000 0000 0000 0000 0000"
1612 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
1613 $"DBFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1614 $"0000 0000 0000 0000 0000 0000 0000 0000"
1615 $"0000 0000 0000 0000 0000 0000 0000 0000"
1616 $"0000 0000 0000 0000 0000 0000 0000 0000"
1617 $"0000 0000 0000 0000 0000 0000 0000 0000"
1618 $"0000 0000 0000 0000 0000 0000 0000 0000"
1619 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1620 $"FFFF FFFF FFFF FFFF BFDB DBFF FFFF FFFF"
1621 $"DBFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
1622 $"0000 0000 0000 0000 0000 0000 0000 0000"
1623 $"0000 0000 0000 0000 0000 0000 0000 0000"
1624 $"0000 0000 0000 0000 0000 0000 0000 0000"
1625 $"0000 0000 0000 0000 0000 0000 0000 0000"
1626 $"0000 0000 0000 0000 0000 0000 0000 0000"
1627 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1628 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1629 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1630 $"0000 0000 0000 0000 0000 0000 0000 0000"
1631 $"0000 0000 0000 0000 0000 0000 0000 0000"
1632 $"0000 0000 0000 0000 0000 0000 0000 0000"
1633 $"0000 0000 0000 0000 0000 0000 0000 0000"
1634 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
1635 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1636 $"FFFF FFFF FFFF FFFF FFFF FFFF BFFF FFFF"
1637 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1638 $"0000 0000 0000 0000 0000 0000 0000 0000"
1639 $"0000 0000 0000 0000 0000 0000 0000 0000"
1640 $"0000 0000 0000 0000 0000 0000 0000 0000"
1641 $"0000 0000 0000 0000 0000 0000 0000 0000"
1642 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
1643 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1644 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1645 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1646 $"0000 0000 0000 0000 0000 0000 0000 0000"
1647 $"0000 0000 0000 0000 0000 0000 0000 0000"
1648 $"0000 0000 0000 0000 0000 0000 0000 0000"
1649 $"0000 0000 0000 0000 0000 0000 0000 0000"
1650 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1651 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1652 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1653 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1654 $"0000 0000 0000 0000 0000 0000 0000 0000"
1655 $"0000 0000 0000 0000 0000 0000 0000 0000"
1656 $"0000 0000 0000 0000 0000 0000 0000 0000"
1657 $"0000 0000 0000 0000 0000 0000 0000 0000"
1658 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
1659 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1660 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1661 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1662 $"0000 0000 0000 0000 0000 0000 0000 0000"
1663 $"0000 0000 0000 0000 0000 0000 0000 0000"
1664 $"0000 0000 0000 0000 0000 0000 0000 0000"
1665 $"0000 0000 0000 0000 0000 0000 0000 0000"
1666 $"0505 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
1667 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF BFFF"
1668 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1669 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1670 $"0000 0000 0000 0000 0000 0000 0000 0000"
1671 $"0000 0000 0000 0000 0000 0000 0000 0000"
1672 $"0000 0000 0000 0000 0000 0000 0000 0000"
1673 $"0000 0000 0000 0000 0000 0000 0000 0000"
1674 $"05FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1675 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1676 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1677 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1678 $"0000 0000 0000 0000 0000 0000 0000 0000"
1679 $"0000 0000 0000 0000 0000 0000 0000 0000"
1680 $"0000 0000 0000 0000 0000 0000 0000 0000"
1681 $"0000 0000 0000 0000 0000 0000 0000 0000"
1682 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1683 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1684 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1685 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
1686 $"0000 0000 0000 0000 0000 0000 0000 0000"
1687 $"0000 0000 0000 0000 0000 0000 0000 0000"
1688 $"0000 0000 0000 0000 0000 0000 0000 0000"
1689 $"0000 0000 0000 0000 0000 0000 0000 00FF"
1690 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1691 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1692 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1693 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1694 $"0000 0000 0000 0000 0000 0000 0000 0000"
1695 $"0000 0000 0000 0000 0000 0000 0000 0000"
1696 $"0000 0000 0000 0000 0000 0000 0000 0000"
1697 $"0000 0000 0000 0000 0000 0000 0000 FFFF"
1698 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1699 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1700 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1701 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF DBFF"
1702 $"0000 0000 0000 0000 0000 0000 0000 0000"
1703 $"0000 0000 0000 0000 0000 0000 0000 0000"
1704 $"0000 0000 0000 0000 0000 0000 0000 0000"
1705 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
1706 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1707 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1708 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1709 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1710 $"DB00 0000 0000 0000 0000 0000 0000 0000"
1711 $"0000 0000 0000 0000 0000 0000 0000 0000"
1712 $"0000 0000 0000 0000 0000 0000 0000 0000"
1713 $"0000 0000 0000 0000 0000 0000 FFFF FFFF"
1714 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1715 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1716 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1717 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1718 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
1719 $"0000 0000 0000 0000 0000 0000 0000 0000"
1720 $"0000 0000 0000 0000 0000 0000 0000 0000"
1721 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
1722 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1723 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1724 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1725 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1726 $"FFDB DB00 0000 0000 0000 0000 0000 0000"
1727 $"0000 0000 0000 0000 0000 0000 0000 0000"
1728 $"0000 0000 0000 0000 0000 0000 0000 0000"
1729 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
1730 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1731 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1732 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1733 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1734 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
1735 $"0000 0000 0000 0000 0000 0000 0000 0000"
1736 $"0000 0000 0000 0000 0000 0000 0000 0000"
1737 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
1738 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1739 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1740 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1741 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1742 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
1743 $"0000 0000 0000 0000 0000 0000 0000 0000"
1744 $"0000 0000 0000 0000 0000 0000 0000 0000"
1745 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1746 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1747 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1748 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1749 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1750 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
1751 $"0000 0000 0000 0000 0000 0000 0000 0000"
1752 $"0000 0000 0000 0000 0000 0000 0000 0000"
1753 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1754 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1755 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1756 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1757 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1758 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1759 $"0000 0000 0000 0000 0000 0000 0000 0000"
1760 $"0000 0000 0000 0000 0000 0000 0000 0000"
1761 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1762 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1763 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1764 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1765 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1766 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1767 $"0000 0000 0000 0000 0000 0000 0000 0000"
1768 $"0000 0000 0000 0000 0000 0000 0000 0000"
1769 $"0000 0000 0000 0500 FFFF FFFF FFFF FFFF"
1770 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1771 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1772 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1773 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1774 $"FFFF FFFF FFFF FF05 0000 0000 0000 0000"
1775 $"0000 0000 0000 0000 0000 0000 0000 0000"
1776 $"0000 0000 0000 0000 0000 0000 0000 0000"
1777 $"0000 0000 0000 0500 FFFF FFFF FFFF FFFF"
1778 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1779 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1780 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1781 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1782 $"FFFF FFFF FFFF FF05 0000 0000 0000 0000"
1783 $"0000 0000 0000 0000 0000 0000 0000 0000"
1784 $"0000 0000 0000 0000 0000 0000 0000 0000"
1785 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1786 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1787 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1788 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1789 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1790 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1791 $"0000 0000 0000 0000 0000 0000 0000 0000"
1792 $"0000 0000 0000 0000 0000 0000 0000 0000"
1793 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1794 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1795 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1796 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1797 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1798 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1799 $"0000 0000 0000 0000 0000 0000 0000 0000"
1800 $"0000 0000 0000 0000 0000 0000 0000 0000"
1801 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1802 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1803 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1804 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1805 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1806 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1807 $"0000 0000 0000 0000 0000 0000 0000 0000"
1808 $"0000 0000 0000 0000 0000 0000 0000 0000"
1809 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1810 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1811 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1812 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1813 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1814 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1815 $"0000 0000 0000 0000 0000 0000 0000 0000"
1816 $"0000 0000 0000 0000 0000 0000 0000 0000"
1817 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1818 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1819 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1820 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1821 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1822 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1823 $"0000 0000 0000 0000 0000 0000 0000 0000"
1824 $"0000 0000 0000 0000 0000 0000 0000 0000"
1825 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1826 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1827 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1828 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1829 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1830 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1831 $"0000 0000 0000 0000 0000 0000 0000 0000"
1832 $"0000 0000 0000 0000 0000 0000 0000 0000"
1833 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1834 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1835 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1836 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1837 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1838 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1839 $"0000 0000 0000 0000 0000 0000 0000 0000"
1840 $"0000 0000 0000 0000 0000 0000 0000 0000"
1841 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
1842 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1843 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1844 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1845 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1846 $"FFFF FFFF FFBF FF00 0000 0000 0000 0000"
1847 $"0000 0000 0000 0000 0000 0000 0000 0000"
1848 $"0000 0000 0000 0000 0000 0000 0000 0000"
1849 $"0000 0000 0000 0505 FFFF FFFF FFFF FFFF"
1850 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1851 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1852 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1853 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1854 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
1855 $"0000 0000 0000 0000 0000 0000 0000 0000"
1856 $"0000 0000 0000 0000 0000 0000 0000 0000"
1857 $"0000 0000 0000 0505 FFFF FFFF FFFF FFFF"
1858 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1859 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1860 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1861 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1862 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
1863 $"0000 0000 0000 0000 0000 0000 0000 0000"
1864 $"0000 0000 0000 0000 0000 0000 0000 0000"
1865 $"0000 0000 0000 0000 BFFF FFFF FFFF FFFF"
1866 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1867 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1868 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1869 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1870 $"FFFF FFFF FFFF 0500 0000 0000 0000 0000"
1871 $"0000 0000 0000 0000 0000 0000 0000 0000"
1872 $"0000 0000 0000 0000 0000 0000 0000 0000"
1873 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
1874 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1875 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1876 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1877 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1878 $"FFFF FFFF 9B00 0000 0000 0000 0000 0000"
1879 $"0000 0000 0000 0000 0000 0000 0000 0000"
1880 $"0000 0000 0000 0000 0000 0000 0000 0000"
1881 $"0000 0000 0000 0000 00BF BFFF FFFF FFFF"
1882 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1883 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1884 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1885 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1886 $"FFFF FFDB FF00 0000 0000 0000 0000 0000"
1887 $"0000 0000 0000 0000 0000 0000 0000 0000"
1888 $"0000 0000 0000 0000 0000 0000 0000 0000"
1889 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
1890 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1891 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1892 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1893 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1894 $"FFFF FFDB 0500 0000 0000 0000 0000 0000"
1895 $"0000 0000 0000 0000 0000 0000 0000 0000"
1896 $"0000 0000 0000 0000 0000 0000 0000 0000"
1897 $"0000 0000 0000 0000 0005 00FF FFFF FFFF"
1898 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1899 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1900 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1901 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1902 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
1903 $"0000 0000 0000 0000 0000 0000 0000 0000"
1904 $"0000 0000 0000 0000 0000 0000 0000 0000"
1905 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
1906 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1907 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1908 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1909 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1910 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
1911 $"0000 0000 0000 0000 0000 0000 0000 0000"
1912 $"0000 0000 0000 0000 0000 0000 0000 0000"
1913 $"0000 0000 0000 0000 0000 0000 FFFF FFFF"
1914 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1915 $"FFBF BFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1916 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1917 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1918 $"FF00 0000 0000 0000 0000 0000 0000 0000"
1919 $"0000 0000 0000 0000 0000 0000 0000 0000"
1920 $"0000 0000 0000 0000 0000 0000 0000 0000"
1921 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
1922 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1923 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1924 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1925 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1926 $"0000 0000 0000 0000 0000 0000 0000 0000"
1927 $"0000 0000 0000 0000 0000 0000 0000 0000"
1928 $"0000 0000 0000 0000 0000 0000 0000 0000"
1929 $"0000 0000 0000 0000 0000 0000 0000 FFFF"
1930 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1931 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1932 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1933 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
1934 $"0000 0000 0000 0000 0000 0000 0000 0000"
1935 $"0000 0000 0000 0000 0000 0000 0000 0000"
1936 $"0000 0000 0000 0000 0000 0000 0000 0000"
1937 $"0000 0000 0000 0000 0000 0000 0000 00DB"
1938 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1939 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1940 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1941 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
1942 $"0000 0000 0000 0000 0000 0000 0000 0000"
1943 $"0000 0000 0000 0000 0000 0000 0000 0000"
1944 $"0000 0000 0000 0000 0000 0000 0000 0000"
1945 $"0000 0000 0000 0000 0000 0000 0000 0005"
1946 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1947 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1948 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1949 $"FFFF FFFF FFBF FFFF FFFF FFFF DB00 0000"
1950 $"0000 0000 0000 0000 0000 0000 0000 0000"
1951 $"0000 0000 0000 0000 0000 0000 0000 0000"
1952 $"0000 0000 0000 0000 0000 0000 0000 0000"
1953 $"0000 0000 0000 0000 0000 0000 0000 0000"
1954 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1955 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1956 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1957 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
1958 $"0000 0000 0000 0000 0000 0000 0000 0000"
1959 $"0000 0000 0000 0000 0000 0000 0000 0000"
1960 $"0000 0000 0000 0000 0000 0000 0000 0000"
1961 $"0000 0000 0000 0000 0000 0000 0000 0000"
1962 $"0000 0000 FFFF FFFF FFFF FFFF FFFF FFFF"
1963 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1964 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1965 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
1966 $"0000 0000 0000 0000 0000 0000 0000 0000"
1967 $"0000 0000 0000 0000 0000 0000 0000 0000"
1968 $"0000 0000 0000 0000 0000 0000 0000 0000"
1969 $"0000 0000 0000 0000 0000 0000 0000 0000"
1970 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
1971 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1972 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1973 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
1974 $"0000 0000 0000 0000 0000 0000 0000 0000"
1975 $"0000 0000 0000 0000 0000 0000 0000 0000"
1976 $"0000 0000 0000 0000 0000 0000 0000 0000"
1977 $"0000 0000 0000 0000 0000 0000 0000 0000"
1978 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
1979 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1980 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1981 $"FFDB FFDB FFFF 0500 0000 0000 0000 0000"
1982 $"0000 0000 0000 0000 0000 0000 0000 0000"
1983 $"0000 0000 0000 0000 0000 0000 0000 0000"
1984 $"0000 0000 0000 0000 0000 0000 0000 0000"
1985 $"0000 0000 0000 0000 0000 0000 0000 0000"
1986 $"0000 0000 0000 00DB DBFF FFFF FFFF FFFF"
1987 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1988 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF BFBF"
1989 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
1990 $"0000 0000 0000 0000 0000 0000 0000 0000"
1991 $"0000 0000 0000 0000 0000 0000 0000 0000"
1992 $"0000 0000 0000 0000 0000 0000 0000 0000"
1993 $"0000 0000 0000 0000 0000 0000 0000 0000"
1994 $"0000 0000 00FF FFDB DBFF FFFF FFFF FFFF"
1995 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
1996 $"FFFF FFFF FFFF FFFF FFFF FFFF FFBF BFBF"
1997 $"0000 0000 0000 0000 0000 0000 0000 0000"
1998 $"0000 0000 0000 0000 0000 0000 0000 0000"
1999 $"0000 0000 0000 0000 0000 0000 0000 0000"
2000 $"0000 0000 0000 0000 0000 0000 0000 0000"
2001 $"0000 0000 0000 0000 0000 0000 0000 0000"
2002 $"0000 BFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2003 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2004 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0500"
2005 $"0000 0000 0000 0000 0000 0000 0000 0000"
2006 $"0000 0000 0000 0000 0000 0000 0000 0000"
2007 $"0000 0000 0000 0000 0000 0000 0000 0000"
2008 $"0000 0000 0000 0000 0000 0000 0000 0000"
2009 $"0000 0000 0000 0000 0000 0000 0500 00FF"
2010 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2011 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2012 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
2013 $"0000 0000 0000 0000 0000 0000 0000 0000"
2014 $"0000 0000 0000 0000 0000 0000 0000 0000"
2015 $"0000 0000 0000 0000 0000 0000 0000 0000"
2016 $"0000 0000 0000 0000 0000 0000 0000 0000"
2017 $"0000 0000 0000 0000 0005 0500 FFFF FFFF"
2018 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2019 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2020 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
2021 $"0000 0000 0000 0000 0000 0000 0000 0000"
2022 $"0000 0000 0000 0000 0000 0000 0000 0000"
2023 $"0000 0000 0000 0000 0000 0000 0000 0000"
2024 $"0000 0000 0000 0000 0000 0000 0000 0000"
2025 $"0000 0000 0000 0000 0005 05FF FFFF FFFF"
2026 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2027 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2028 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
2029 $"0000 0000 0000 0000 0000 0000 0000 0000"
2030 $"0000 0000 0000 0000 0000 0000 0000 0000"
2031 $"0000 0000 0000 0000 0000 0000 0000 0000"
2032 $"0000 0000 0000 0000 0000 0000 0000 0000"
2033 $"0000 0000 0000 0000 00DB DBFF FFFF FFFF"
2034 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2035 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2036 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2037 $"0000 0000 0000 0000 0000 0000 0000 0000"
2038 $"0000 0000 0000 0000 0000 0000 0000 0000"
2039 $"0000 0000 0000 0000 0000 0000 0000 0000"
2040 $"0000 0000 0000 0000 0000 0000 0000 0000"
2041 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
2042 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2043 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2044 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2045 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
2046 $"0000 0000 0000 0000 0000 0000 0000 0000"
2047 $"0000 0000 0000 0000 0000 0000 0000 0000"
2048 $"0000 0000 0000 0000 0000 0000 0000 0000"
2049 $"0000 0000 0000 00FF FFFF FFFF FFFF FFFF"
2050 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2051 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2052 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2053 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2054 $"0000 0000 0000 0000 0000 0000 0000 0000"
2055 $"0000 0000 0000 0000 0000 0000 0000 0000"
2056 $"0000 0000 0000 0000 0000 0000 0000 0000"
2057 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
2058 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2059 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2060 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2061 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
2062 $"0000 0000 0000 0000 0000 0000 0000 0000"
2063 $"0000 0000 0000 0000 0000 0000 0000 0000"
2064 $"0000 0000 0000 0000 0000 0000 0000 0000"
2065 $"0000 0000 05FF FFFF FFFF FFFF FFFF FFFF"
2066 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2067 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2068 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2069 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
2070 $"0000 0000 0000 0000 0000 0000 0000 0000"
2071 $"0000 0000 0000 0000 0000 0000 0000 0000"
2072 $"0000 0000 0000 0000 0000 0000 0000 0000"
2073 $"0000 0000 05FF FFFF FFFF FFFF FFFF FFFF"
2074 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2075 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2076 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2077 $"FFFF FFFF FFFF FFFF FF00 0000 0000 0000"
2078 $"0000 0000 0000 0000 0000 0000 0000 0000"
2079 $"0000 0000 0000 0000 0000 0000 0000 0000"
2080 $"0000 0000 0000 0000 0000 0000 0000 0000"
2081 $"0000 0000 FFFF FFFF FFFF FFFF FFFF FFFF"
2082 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2083 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2084 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2085 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
2086 $"0000 0000 0000 0000 0000 0000 0000 0000"
2087 $"0000 0000 0000 0000 0000 0000 0000 0000"
2088 $"0000 0000 0000 0000 0000 0000 0000 0000"
2089 $"0000 0505 FFFF FFFF FFFF FFFF FFFF FFFF"
2090 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2091 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2092 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2093 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
2094 $"0000 0000 0000 0000 0000 0000 0000 0000"
2095 $"0000 0000 0000 0000 0000 0000 0000 0000"
2096 $"0000 0000 0000 0000 0000 0000 0000 0000"
2097 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2098 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2099 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2100 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2101 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
2102 $"0000 0000 0000 0000 0000 0000 0000 0000"
2103 $"0000 0000 0000 0000 0000 0000 0000 0000"
2104 $"0000 0000 0000 0000 0000 0000 0000 0000"
2105 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2106 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2107 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2108 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2109 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2110 $"FF00 0000 0000 0000 0000 0000 0000 0000"
2111 $"0000 0000 0000 0000 0000 0000 0000 0000"
2112 $"0000 0000 0000 0000 0000 0000 0000 0000"
2113 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2114 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2115 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2116 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2117 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2118 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
2119 $"0000 0000 0000 0000 0000 0000 0000 0000"
2120 $"0000 0000 0000 0000 0000 0000 0000 0000"
2121 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2122 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2123 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2124 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2125 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2126 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2127 $"0000 0000 0000 0000 0000 0000 0000 0000"
2128 $"0000 0000 0000 0000 0000 0000 0000 0000"
2129 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2130 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2131 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2132 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2133 $"FFFF FFFF FFFF FFFF FFFF FFBF FFFF FFFF"
2134 $"FFFF FFFF FFFF FF00 0000 0000 0000 0000"
2135 $"0000 0000 0000 0000 0000 0000 0000 0000"
2136 $"0000 0000 0000 0000 0000 0000 0000 0000"
2137 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2138 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2139 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2140 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2141 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2142 $"FFFF FFFF FFFF FFFF 0000 0000 0000 0000"
2143 $"0000 0000 0000 0000 0000 0000 0000 0000"
2144 $"0000 0000 0000 0000 0000 0000 0000 0000"
2145 $"0000 0000 DBFF FFFF FFFF FFFF FFFF FFFF"
2146 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2147 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2148 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2149 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2150 $"FFFF FFFF FFFF FFFF FFFF 0000 0000 0000"
2151 $"0000 0000 0000 0000 0000 0000 0000 0000"
2152 $"0000 0000 0000 0000 0000 0000 0000 0000"
2153 $"0000 0000 DBFF FFFF FFFF FFFF FFFF FFFF"
2154 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2155 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2156 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2157 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2158 $"FFFF FFFF FFFF FFFF FFFF FF00 0000 0000"
2159 $"0000 0000 0000 0000 0000 0000 0000 0000"
2160 $"0000 0000 0000 0000 0000 0000 0000 0000"
2161 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
2162 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2163 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2164 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2165 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2166 $"FFFF FFFF FFFF FFFF FFFF FFFF 0000 0000"
2167 $"0000 0000 0000 0000 0000 0000 0000 0000"
2168 $"0000 0000 0000 0000 0000 0000 0000 0000"
2169 $"0000 0000 05DB FFFF FFFF FFFF FFFF FFFF"
2170 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2171 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2172 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2173 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2174 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
2175 $"0000 0000 0000 0000 0000 0000 0000 0000"
2176 $"0000 0000 0000 0000 0000 0000 0000 0000"
2177 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
2178 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2179 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2180 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2181 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2182 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0000"
2183 $"0000 0000 0000 0000 0000 0000 0000 0000"
2184 $"0000 0000 0000 0000 0000 0000 0000 0000"
2185 $"0000 0000 0000 0000 FFFF FFFF FFFF FFFF"
2186 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2187 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2188 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2189 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2190 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF00"
2191 $"0000 0000 0000 0000 0000 0000 0000 0000"
2192 $"0000 0000 0000 0000 0000 0000 0000 0000"
2193 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
2194 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2195 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2196 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2197 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2198 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2199 $"0000 0000 0000 0000 0000 0000 0000 0000"
2200 $"0000 0000 0000 0000 0000 0000 0000 0000"
2201 $"0000 0000 0000 0000 0000 FFFF FFFF FFFF"
2202 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2203 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2204 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2205 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2206 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2207 $"FF00 0000 0000 0000 0000 0000 0000 0000"
2208 $"0000 0000 0000 0000 0000 0000 0000 0000"
2209 $"0000 0000 0000 0000 0500 0000 FFFF FFFF"
2210 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2211 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2212 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2213 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2214 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2215 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
2216 $"0000 0000 0000 0000 0000 0000 0000 0000"
2217 $"0000 0000 0000 0000 0000 0000 0000 0000"
2218 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2219 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2220 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2221 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2222 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2223 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
2224 $"0000 0000 0000 0000 0000 0000 0000 0000"
2225 $"0000 0000 0000 0000 0000 0000 0000 0000"
2226 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2227 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2228 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2229 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2230 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2231 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
2232 $"0000 0000 0000 0000 0000 0000 0000 0000"
2233 $"0000 0000 0000 0000 0000 0000 0005 0000"
2234 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
2235 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2236 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2237 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2238 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2239 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2240 $"0000 0000 0000 0000 0000 0000 0000 0000"
2241 $"0000 0000 0000 0000 0000 0000 0000 0000"
2242 $"0000 0000 0000 0000 0000 0000 FFFF FFFF"
2243 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2244 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2245 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2246 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2247 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2248 $"0000 0000 0000 0000 0000 0000 0000 0000"
2249 $"0000 0000 0000 0000 0000 0000 0000 0000"
2250 $"0000 0000 0000 0000 0000 0000 0000 0000"
2251 $"0000 0000 00FF FFFF FFFF FFFF FFFF FFFF"
2252 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2253 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2254 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2255 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2256 $"0000 0000 0000 0000 0000 0000 0000 0000"
2257 $"0000 0000 0000 0000 0000 0000 0000 0000"
2258 $"0000 0000 0000 0000 0000 0000 0000 0000"
2259 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2260 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2261 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2262 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2263 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2264 $"0000 0000 0000 0000 0000 0000 0000 0000"
2265 $"0000 0000 0000 0000 0000 0000 0000 0000"
2266 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
2267 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2268 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2269 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2270 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2271 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2272 $"0000 0000 0000 0000 0000 0000 0000 0000"
2273 $"0000 0000 0000 0000 0500 0000 0000 0000"
2274 $"0000 0000 0000 FFFF FFFF FFFF FFFF FFFF"
2275 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2276 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2277 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2278 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2279 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2280 $"0000 0000 0000 0000 0000 0000 0000 0000"
2281 $"0000 0000 0000 00DB FFFF FFFF FFFF FFFF"
2282 $"FFFF FFFF BFBF FFFF FFFF FFFF FFFF FFFF"
2283 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2284 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2285 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2286 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2287 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2288 $"0000 0000 0000 0000 0000 0000 0000 0000"
2289 $"0000 0000 FFFF DBDB FFFF FFFF FFFF FFFF"
2290 $"FFFF FFFF BFFF FFFF FFFF FFFF FFFF FFFF"
2291 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2292 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2293 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2294 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2295 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2296 $"0000 0000 0000 0000 0000 0000 0000 0000"
2297 $"0005 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2298 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2299 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2300 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2301 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2302 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2303 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2304 $"0000 0000 0000 0000 0000 0000 0000 0005"
2305 $"05BF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2306 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2307 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2308 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2309 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2310 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2311 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2312 $"0000 0000 0000 0000 0000 0000 0000 0000"
2313 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2314 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2315 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2316 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2317 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2318 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2319 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2320 $"0000 0000 0000 0000 0000 0000 0000 0000"
2321 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2322 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2323 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2324 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2325 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2326 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2327 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2328 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2329 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2330 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2331 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2332 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2333 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2334 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2335 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2336 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2337 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2338 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2339 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2340 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2341 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2342 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2343 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2344 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2345 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2346 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2347 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2348 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2349 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2350 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2351 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
2352 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2353 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2354 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2355 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2356 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2357 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2358 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2359 $"FFFF FF00 0000 0000 0000 0000 0000 0000"
2360 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2361 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2362 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2363 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2364 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2365 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2366 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2367 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
2368 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2369 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2370 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2371 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2372 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2373 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2374 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2375 $"FFFF 0000 0000 0000 0000 0000 0000 0000"
2376 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2377 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2378 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2379 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2380 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2381 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2382 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2383 $"FF00 0000 0000 0000 0000 0000 0000 0000"
2384 $"0000 0000 0000 0000 0000 0000 0000 0000"
2385 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2386 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2387 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2388 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2389 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2390 $"FFFF FFFF FFBF BFFF FFFF FFFF FFFF FFFF"
2391 $"0000 0000 0000 0000 0000 0000 0000 0000"
2392 $"0000 0000 0000 0000 0000 0000 0000 0000"
2393 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2394 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2395 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2396 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2397 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2398 $"FFFF FFFF FFFF FFFF FFFF FFFF FFDB FF00"
2399 $"0000 0000 0000 0000 0000 0000 0000 0000"
2400 $"0000 0000 0000 0000 0000 0000 0000 0000"
2401 $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2402 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2403 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2404 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2405 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2406 $"FFFF FFFF FFFF FFFF FFFF FFFF FFDB 0000"
2407 $"0000 0000 0000 0000 0000 0000 0000 0000"
2408 $"0000 0000 0000 0000 0000 0000 0000 0005"
2409 $"05DB FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2410 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2411 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2412 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2413 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2414 $"FFFF FFFF FFFF FFFF FFFF FFFF FF00 0000"
2415 $"0000 0000 0000 0000 0000 0000 0000 0000"
2416 $"0000 0000 0000 0000 0000 0000 0000 0000"
2417 $"0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2418 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2419 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2420 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2421 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2422 $"FFFF FFFF FFFF FFFF FFFF DBFF 0000 0000"
2423 $"0000 0000 0000 0000 0000 0000 0000 0000"
2424 $"0000 0000 0000 0000 0000 0000 0000 0000"
2425 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2426 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2427 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2428 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2429 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2430 $"FFFF FFFF FFFF FFBF FFFF DB00 0000 0000"
2431 $"0000 0000 0000 0000 0000 0000 0000 0000"
2432 $"0000 0000 0000 0000 0000 0000 0000 0000"
2433 $"0000 0000 DBFF FFFF FFFF FFFF FFFF FFFF"
2434 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2435 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2436 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2437 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2438 $"FFFF FFFF FFFF FFFF FFFF 0500 0000 0000"
2439 $"0000 0000 0000 0000 0000 0000 0000 0000"
2440 $"0000 0000 0000 0000 0000 0000 0000 0000"
2441 $"0000 0000 05BF FFFF FFFF FFFF FFFF FFFF"
2442 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2443 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2444 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2445 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFBF"
2446 $"FFFF FFFF FFFF DBFF 0000 0000 0000 0000"
2447 $"0000 0000 0000 0000 0000 0000 0000 0000"
2448 $"0000 0000 0000 0000 0000 0000 0000 0000"
2449 $"0000 0000 0500 00FF FFFF FFFF FFFF FFFF"
2450 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2451 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2452 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2453 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFBF"
2454 $"FFFF FFFF FFFF 0000 0000 0000 0000 0000"
2455 $"0000 0000 0000 0000 0000 0000 0000 0000"
2456 $"0000 0000 0000 0000 0000 0000 0000 0000"
2457 $"0000 0000 0000 0000 00FF FFFF FFFF FFFF"
2458 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2459 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2460 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2461 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2462 $"FFFF FFFF 0000 0000 0000 0000 0000 0000"
2463 $"0000 0000 0000 0000 0000 0000 0000 0000"
2464 $"0000 0000 0000 0000 0000 0000 0000 0000"
2465 $"0000 0000 0000 0000 0000 00FF FFFF FFFF"
2466 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2467 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2468 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2469 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2470 $"BFFF 0000 0000 0000 0000 0000 0000 0000"
2471 $"0000 0000 0000 0000 0000 0000 0000 0000"
2472 $"0000 0000 0000 0000 0000 0000 0000 0000"
2473 $"0000 0000 0000 0000 0000 0000 00FF FFFF"
2474 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2475 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2476 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2477 $"FFFF FFFF FFFF FFFF FFFF FFFF DBFF FF00"
2478 $"0000 0000 0000 0000 0000 0000 0000 0000"
2479 $"0000 0000 0000 0000 0000 0000 0000 0000"
2480 $"0000 0000 0000 0000 0000 0000 0000 0000"
2481 $"0000 0000 0000 0000 0000 0000 0000 00FF"
2482 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2483 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2484 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2485 $"FFFF FFFF FFFF FFFF FFFF FFFF DB00 0000"
2486 $"0000 0000 0000 0000 0000 0000 0000 0000"
2487 $"0000 0000 0000 0000 0000 0000 0000 0000"
2488 $"0000 0000 0000 0000 0000 0000 0000 0000"
2489 $"0000 0000 0000 0000 0000 0000 0000 0005"
2490 $"0000 00FF FFFF FFFF FFFF FFFF FFFF FFFF"
2491 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2492 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2493 $"FFFF FFFF FFFF DBFF FFFF 0000 0000 0000"
2494 $"0000 0000 0000 0000 0000 0000 0000 0000"
2495 $"0000 0000 0000 0000 0000 0000 0000 0000"
2496 $"0000 0000 0000 0000 0000 0000 0000 0000"
2497 $"0000 0000 0000 0000 0000 0000 0000 0000"
2498 $"0000 0000 0505 FFFF FFFF FFFF FFFF FFFF"
2499 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2500 $"FFFF FFFF FFFF FFFF FFFF FFFF FFDB DBFF"
2501 $"FFFF FFFF FF00 0000 0000 0000 0000 0000"
2502 $"0000 0000 0000 0000 0000 0000 0000 0000"
2503 $"0000 0000 0000 0000 0000 0000 0000 0000"
2504 $"0000 0000 0000 0000 0000 0000 0000 0000"
2505 $"0000 0000 0000 0000 0000 0000 0000 0000"
2506 $"0000 0000 0505 0000 0000 00FF FFFF FFFF"
2507 $"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2508 $"FFFF FFFF FFFF FFFF FFFF FFFF FFDB DBBF"
2509 $"FFFF 0000 0505 0000 0000 0000 0000 0000"
2510 $"0000 0000 0000 0000 0000 0000 0000 0000"
2511 $"0000 0000 0000 0000 0000 0000 0000 0000"
2512 $"0000 0000 0000 0000 0000 0000 0000 0000"
2513 $"0000 0000 0000 0000 0000 0000 0000 0000"
2514 $"0000 0000 0000 0000 0000 0000 0000 0000"
2515 $"00FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
2516 $"FFFF FFFF FFFF 0000 0000 0000 0005 0500"
2517 $"0000 0000 0000 0000 0000 0000 0000 0000"
2518 $"0000 0000 0000 0000 0000 0000 0000 0000"
2519 $"0000 0000 0000 0000 0000 0000 0000 0000"
2520 $"0000 0000 0000 0000 0000 0000 0000 0000"
2521 $"0000 0000 0000 0000 0000 0000 0000 0000"
2522 $"0000 0000 0000 0000 0000 0000 0000 0000"
2523 $"0000 0000 0000 0000 0000 0000 0000 0000"
2524 $"0000 0000 0000 0000 0000 0000 0000 0000"
2525 $"0000 0000 0000 0000 0000 0000 0000 0000"
2526 $"0000 0000 0000 0000 0000 0000 0000 0000"
2527 $"0000 0000 0000 0000 0000 0000 0000 0000"
2528 $"0000 0000 0000 0000 0000 0000 0000 0000"
2529 $"0000 0000 0000 0000 0000 0000 0000 0000"
2530 $"0000 0000 0000 0000 0000 0000 0000 0000"
2531 $"0000 0000 0000 0000 0000 0000 0000 0000"
2532 $"0000 0000 0000 0000 0000 0000 0000 0000"
2533 $"0000 0000 0000 0000 0000 0000 0000 0000"
2534 $"0000 0000 0000 0000 0000 0000 0000 0000"
2535 $"0000 0000 0000 0000 0000 0000 0000 0000"
2536 }
2537};
02538
=== added file 'psi/wrfont.c.OTHER'
--- psi/wrfont.c.OTHER 1970-01-01 00:00:00 +0000
+++ psi/wrfont.c.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,78 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* $Id$ */
15/*
16Support functions to serialize fonts as PostScript code that can
17then be passed to FreeType via the FAPI FreeType bridge.
18Started by Graham Asher, 9th August 2002.
19*/
20
21#include "wrfont.h"
22#include "stdio_.h"
23
24#define EEXEC_KEY 55665
25#define EEXEC_FACTOR 52845
26#define EEXEC_OFFSET 22719
27
28void WRF_init(WRF_output* a_output,unsigned char* a_buffer,long a_buffer_size)
29 {
30 a_output->m_pos = a_buffer;
31 a_output->m_limit = a_buffer_size;
32 a_output->m_count = 0;
33 a_output->m_encrypt = false;
34 a_output->m_key = EEXEC_KEY;
35 }
36
37void WRF_wbyte(WRF_output* a_output,unsigned char a_byte)
38 {
39 if (a_output->m_count < a_output->m_limit)
40 {
41 if (a_output->m_encrypt)
42 {
43 a_byte ^= (a_output->m_key >> 8);
44 a_output->m_key = (unsigned short)((a_output->m_key + a_byte) * EEXEC_FACTOR + EEXEC_OFFSET);
45 }
46 *a_output->m_pos++ = a_byte;
47 }
48 a_output->m_count++;
49 }
50
51void WRF_wtext(WRF_output* a_output,const unsigned char* a_string,long a_length)
52 {
53 while (a_length > 0)
54 {
55 WRF_wbyte(a_output,*a_string++);
56 a_length--;
57 }
58 }
59
60void WRF_wstring(WRF_output* a_output,const char* a_string)
61 {
62 while (*a_string)
63 WRF_wbyte(a_output,*a_string++);
64 }
65
66void WRF_wfloat(WRF_output* a_output,double a_float)
67 {
68 char buffer[32];
69 sprintf(buffer,"%f",a_float);
70 WRF_wstring(a_output,buffer);
71 }
72
73void WRF_wint(WRF_output* a_output,long a_int)
74 {
75 char buffer[32];
76 sprintf(buffer,"%ld",a_int);
77 WRF_wstring(a_output,buffer);
78 }
079
=== added file 'psi/wrfont.h.OTHER'
--- psi/wrfont.h.OTHER 1970-01-01 00:00:00 +0000
+++ psi/wrfont.h.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,42 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* $Id$ */
15/*
16Header for support functions to serialize fonts as PostScript code that can
17then be passed to FreeType via the FAPI FreeType bridge.
18Started by Graham Asher, 9th August 2002.
19*/
20
21#ifndef wrfont_INCLUDED
22#define wrfont_INCLUDED
23
24#include "stdpre.h"
25
26typedef struct WRF_output_
27 {
28 unsigned char* m_pos;
29 long m_limit;
30 long m_count;
31 bool m_encrypt;
32 unsigned short m_key;
33 } WRF_output;
34
35void WRF_init(WRF_output* a_output,unsigned char* a_buffer,long a_buffer_size);
36void WRF_wbyte(WRF_output* a_output,unsigned char a_byte);
37void WRF_wtext(WRF_output* a_output,const unsigned char* a_string,long a_length);
38void WRF_wstring(WRF_output* a_output,const char* a_string);
39void WRF_wfloat(WRF_output* a_output,double a_float);
40void WRF_wint(WRF_output* a_output,long a_int);
41
42#endif
043
=== added file 'psi/write_t1.c.OTHER'
--- psi/write_t1.c.OTHER 1970-01-01 00:00:00 +0000
+++ psi/write_t1.c.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,359 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* $Id$ */
15
16/*
17Functions to serialize a type 1 font as PostScript code that can then be
18passed to FreeType via the FAPI FreeType bridge.
19Started by Graham Asher, 26th July 2002.
20*/
21
22#include <stdio.h>
23#include "wrfont.h"
24#include "write_t1.h"
25
26/*
27Public structures and functions in this file are prefixed with FF_ because they are part of
28the FAPI FreeType implementation.
29*/
30
31static void write_word_entry(FAPI_font* a_fapi_font,WRF_output* a_output,const char* a_name,int a_index,int a_divisor)
32 {
33 short x;
34 WRF_wbyte(a_output,'/');
35 WRF_wstring(a_output,a_name);
36 WRF_wbyte(a_output,' ');
37 /* Get the value and convert it from unsigned to signed by assigning it to a short. */
38 x = a_fapi_font->get_word(a_fapi_font,a_index,0);
39 /* Divide by the divisor to bring it back to font units. */
40 x = (short)(x / a_divisor);
41 WRF_wint(a_output,x);
42 WRF_wstring(a_output," def\n");
43 }
44
45static void write_array_entry_with_count(FAPI_font* a_fapi_font,WRF_output* a_output,const char* a_name,int a_index,int a_count,int a_divisor)
46 {
47 int i;
48
49 if (a_count <= 0)
50 return;
51
52 WRF_wbyte(a_output,'/');
53 WRF_wstring(a_output,a_name);
54 WRF_wstring(a_output," [");
55 for (i = 0; i < a_count; i++)
56 {
57 /* Get the value and convert it from unsigned to signed by assigning it to a short. */
58 short x = a_fapi_font->get_word(a_fapi_font,a_index,i);
59 /* Divide by the divisor to bring it back to font units. */
60 x = (short)(x / a_divisor);
61 WRF_wint(a_output,x);
62 WRF_wbyte(a_output,(byte)(i == a_count - 1 ? ']' : ' '));
63 }
64 WRF_wstring(a_output," def\n");
65 }
66
67static void write_array_entry(FAPI_font* a_fapi_font,WRF_output* a_output,const char* a_name,int a_index,int a_divisor)
68 {
69 /* NOTE that the feature index must be preceded by the count index for this to work. */
70 int count = a_fapi_font->get_word(a_fapi_font,a_index - 1,0);
71 write_array_entry_with_count(a_fapi_font,a_output,a_name,a_index,count,a_divisor);
72 }
73
74static void write_subrs(FAPI_font* a_fapi_font,WRF_output* a_output, int raw)
75 {
76 int i;
77 int count = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_Subrs_count,0);
78 if (count <= 0)
79 return;
80
81 WRF_wstring(a_output,"/Subrs ");
82 WRF_wint(a_output,count);
83 WRF_wstring(a_output," array\n");
84
85 for (i = 0; i < count; i++)
86 {
87 long length;
88 long buffer_size;
89 if (raw)
90 length = a_fapi_font->get_raw_subr(a_fapi_font,i,0,0);
91 else
92 length = a_fapi_font->get_subr(a_fapi_font,i,0,0);
93 WRF_wstring(a_output,"dup ");
94 WRF_wint(a_output,i);
95 WRF_wbyte(a_output,' ');
96 WRF_wint(a_output,length);
97 WRF_wstring(a_output," RD ");
98
99 /* Get the subroutine into the buffer and encrypt it in place. */
100 buffer_size = a_output->m_limit - a_output->m_count;
101 if (buffer_size >= length)
102 {
103 if (raw)
104 a_fapi_font->get_raw_subr(a_fapi_font,i,a_output->m_pos,(ushort)length);
105 else
106 a_fapi_font->get_subr(a_fapi_font,i,a_output->m_pos,(ushort)length);
107 WRF_wtext(a_output,a_output->m_pos,length);
108 }
109 else
110 a_output->m_count += length;
111
112 WRF_wstring(a_output," NP\n");
113 }
114
115 WRF_wstring(a_output,"ND\n");
116 }
117
118static void write_charstrings(FAPI_font *a_fapi_font, WRF_output *a_output)
119{
120 long length;
121 long buffer_size;
122 int i, count = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_CharStrings_count,0);
123 char NameBuf[256];
124 if (count <= 0)
125 return;
126
127 WRF_wstring(a_output, "2 index /CharStrings ");
128 WRF_wint(a_output,count);
129 WRF_wstring(a_output, " dict dup begin\n");
130 for (i=0;i< count;i++)
131 {
132 length = a_fapi_font->get_charstring_name(a_fapi_font,i,(byte *)&NameBuf,256);
133 if (length > 0)
134 {
135 length = a_fapi_font->get_charstring(a_fapi_font,i,0,0);
136
137 WRF_wbyte(a_output,'/');
138 WRF_wstring(a_output, (const char*)&NameBuf);
139 WRF_wbyte(a_output,' ');
140 WRF_wint(a_output,length);
141 WRF_wstring(a_output," RD ");
142
143 /* Get the CharString into the buffer and encrypt it in place. */
144 buffer_size = a_output->m_limit - a_output->m_count;
145 if (buffer_size >= length)
146 {
147 a_fapi_font->get_charstring(a_fapi_font,i,a_output->m_pos,(ushort)length);
148 WRF_wtext(a_output,a_output->m_pos,length);
149 }
150 else
151 a_output->m_count += length;
152 WRF_wstring(a_output," ND\n");
153 }
154 }
155 WRF_wstring(a_output, " end");
156}
157
158static int is_MM_font(FAPI_font *a_fapi_font)
159{
160 return a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_DollarBlend,0);
161}
162
163static void write_private_dictionary(FAPI_font* a_fapi_font,WRF_output* a_output, int Write_CharStrings)
164 {
165 a_output->m_encrypt = true;
166
167 /* Write 4 bytes that must encrypt to at least one character that cannot be a valid hexadecimal character. */
168 WRF_wstring(a_output,"XXXX");
169
170 /*+ to do: correct size of dictionary from 8. */
171 WRF_wstring(a_output,"dup /Private 8 dict dup begin\n");
172
173 WRF_wstring(a_output,"/MinFeature {16 16} def\n");
174 WRF_wstring(a_output,"/password 5839 def\n");
175 if (Write_CharStrings)
176 write_word_entry(a_fapi_font,a_output,"lenIV",FAPI_FONT_FEATURE_lenIV,1);
177 else
178 WRF_wstring(a_output,"/lenIV -1 def\n"); /* indicate that /subrs are not encoded. */
179 write_word_entry(a_fapi_font,a_output,"BlueFuzz",FAPI_FONT_FEATURE_BlueFuzz,16);
180
181 WRF_wstring(a_output,"/BlueScale ");
182 WRF_wfloat(a_output,a_fapi_font->get_long(a_fapi_font,FAPI_FONT_FEATURE_BlueScale,0) / 65536.0);
183 WRF_wstring(a_output," def\n");
184
185 write_word_entry(a_fapi_font,a_output,"BlueShift",FAPI_FONT_FEATURE_BlueShift,16);
186 write_array_entry(a_fapi_font,a_output,"BlueValues",FAPI_FONT_FEATURE_BlueValues,16);
187 write_array_entry(a_fapi_font,a_output,"OtherBlues",FAPI_FONT_FEATURE_OtherBlues,16);
188 write_array_entry(a_fapi_font,a_output,"FamilyBlues",FAPI_FONT_FEATURE_FamilyBlues,16);
189 write_array_entry(a_fapi_font,a_output,"FamilyOtherBlues",FAPI_FONT_FEATURE_FamilyOtherBlues,16);
190 write_word_entry(a_fapi_font,a_output,"ForceBold",FAPI_FONT_FEATURE_ForceBold,1);
191 write_array_entry_with_count(a_fapi_font,a_output,"StdHW",FAPI_FONT_FEATURE_StdHW,1,16);
192 write_array_entry_with_count(a_fapi_font,a_output,"StdVW",FAPI_FONT_FEATURE_StdVW,1,16);
193 write_array_entry(a_fapi_font,a_output,"StemSnapH",FAPI_FONT_FEATURE_StemSnapH,16);
194 write_array_entry(a_fapi_font,a_output,"StemSnapV",FAPI_FONT_FEATURE_StemSnapV,16);
195
196 if (is_MM_font(a_fapi_font)) {
197 WRF_wstring(a_output,"3 index /Blend get /Private get begin\n");
198 WRF_wstring(a_output,"|-\n");
199 }
200 if (Write_CharStrings)
201 write_subrs(a_fapi_font,a_output, 1);
202 else
203 write_subrs(a_fapi_font,a_output, 0);
204 if (Write_CharStrings)
205 write_charstrings(a_fapi_font,a_output);
206 }
207
208static void write_blend_dictionary(FAPI_font* a_fapi_font,WRF_output* a_output)
209{
210}
211
212static void write_main_dictionary(FAPI_font* a_fapi_font,WRF_output* a_output, int Write_CharStrings)
213 {
214 int i;
215 WRF_wstring(a_output,"5 dict begin\n");
216
217 WRF_wstring(a_output,"/FontType 1 def\n");
218
219 WRF_wstring(a_output,"/FontMatrix [");
220 for (i = 0; i < 6; i++)
221 {
222 WRF_wfloat(a_output,a_fapi_font->get_float(a_fapi_font,FAPI_FONT_FEATURE_FontMatrix,i));
223 WRF_wbyte(a_output,(byte)(i == 5 ? ']' : ' '));
224 }
225 WRF_wbyte(a_output,'\n');
226
227 /* For now, specify standard encoding - I think GS will pass glyph indices so doesn't matter. */
228 WRF_wstring(a_output,"/Encoding StandardEncoding def\n");
229
230 WRF_wstring(a_output,"/FontBBox {");
231 for (i = 0; i < 4; i++)
232 {
233 short x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_FontBBox,i);
234 WRF_wint(a_output,x);
235 WRF_wbyte(a_output,(byte)(i == 3 ? '}' : ' '));
236 }
237 WRF_wbyte(a_output,'\n');
238 if (is_MM_font(a_fapi_font)) {
239 short x,x2;
240 float x1;
241 uint i, j, entries;
242 char Buffer[255];
243
244 entries = 0;
245 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendAxisTypes_count,0);
246 if (x)
247 entries++;
248 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignPositionsArrays_count,0);
249 if (x)
250 entries++;
251 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignMapArrays_count,0);
252 if (x)
253 entries++;
254
255 sprintf(Buffer, "/FontInfo %d dict dup begin\n", entries);
256 WRF_wstring(a_output, Buffer);
257 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendAxisTypes_count,0);
258 if (x) {
259 WRF_wstring(a_output, "/BlendAxisTypes [");
260 for (i = 0;i < x;i++) {
261 WRF_wstring(a_output," /");
262 a_fapi_font->get_name(a_fapi_font,FAPI_FONT_FEATURE_BlendAxisTypes,i, (char *)&Buffer,255);
263 WRF_wstring(a_output,Buffer);
264 }
265 WRF_wstring(a_output,"] def\n");
266 }
267 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignPositionsArrays_count,0);
268 if (x) {
269 WRF_wstring(a_output, "/BlendDesignPositions [");
270 x2 = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendAxisTypes_count,0);
271 for (i = 0;i < x; i++) {
272 WRF_wstring(a_output,"[");
273 for (j = 0; j < x2; j++) {
274 x1 = a_fapi_font->get_float(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignPositionsArrayValue,i*8+j);
275 sprintf(Buffer, "%f ", x1);
276 WRF_wstring(a_output,Buffer);
277 }
278 WRF_wstring(a_output,"]");
279 }
280 WRF_wstring(a_output, "] def\n");
281 }
282 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignMapArrays_count,0);
283 if (x) {
284 WRF_wstring(a_output, "/BlendDesignMap [");
285 for (i = 0;i < x;i++) {
286 x2 = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignMapSubArrays_count,i);
287 WRF_wstring(a_output,"[");
288 for (j = 0; j < x2; j++) {
289 WRF_wstring(a_output,"[");
290 x1 = a_fapi_font->get_float(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignPositionsArrayValue,i*64+j*64);
291 sprintf(Buffer, "%f ", x1);
292 WRF_wstring(a_output,Buffer);
293 x1 = a_fapi_font->get_float(a_fapi_font,FAPI_FONT_FEATURE_BlendDesignPositionsArrayValue,i*64+j*64 + 1);
294 sprintf(Buffer, "%f ", x1);
295 WRF_wstring(a_output,Buffer);
296 WRF_wstring(a_output,"]");
297 }
298 WRF_wstring(a_output,"]");
299 }
300 WRF_wstring(a_output, "] def\n");
301 }
302 WRF_wstring(a_output,"end readonly def\n");
303 WRF_wstring(a_output,"/$Blend {");
304 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_DollarBlend_length,0);
305 if(a_output->m_count)
306 a_output->m_count += x;
307 x = a_fapi_font->get_proc(a_fapi_font,FAPI_FONT_FEATURE_DollarBlend,0,(char *)a_output->m_pos);
308 if(a_output->m_pos)
309 a_output->m_pos += x;
310 WRF_wstring(a_output,"} def\n");
311 WRF_wstring(a_output,"/$Blend {0.1 mul exch 0.45 mul add exch 0.17 mul add add} def\n");
312 WRF_wstring(a_output,"/WeightVector [");
313 x = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_WeightVector_count,0);
314 for (i = 0;i < x;i++) {
315 x1 = a_fapi_font->get_float(a_fapi_font,FAPI_FONT_FEATURE_WeightVector,i);
316 sprintf(Buffer, "%f ", x1);
317 WRF_wstring(a_output,Buffer);
318 }
319 WRF_wstring(a_output,"] def\n");
320 }
321 WRF_wstring(a_output,"currentdict end\ncurrentfile eexec\n");
322 write_private_dictionary(a_fapi_font,a_output, Write_CharStrings);
323 if (is_MM_font(a_fapi_font)) {
324 write_blend_dictionary(a_fapi_font, a_output);
325 }
326 }
327
328/**
329Write a Type 1 font in textual format and return its length in bytes.
330If a_buffer_size is less than the total length, only a_buffer_size bytes are written, but the total
331length is returned correctly.
332
333The PostScript is non-standard. The main dictionary contains no /Charstrings dictionary. This
334is supplied to FreeType using the incremental interface, There is also no /PaintType entry. This is required
335by PostScript but FreeType doesn't use it.
336*/
337long FF_serialize_type1_font(FAPI_font* a_fapi_font,unsigned char* a_buffer,long a_buffer_size)
338 {
339 WRF_output output;
340 WRF_init(&output,a_buffer,a_buffer_size);
341
342 /* Leading comment identifying a Type 1 font. */
343 WRF_wstring(&output,"%!PS-AdobeFont-1\n");
344
345 write_main_dictionary(a_fapi_font,&output, 0);
346 return output.m_count;
347 }
348
349long FF_serialize_type1_font_complete(FAPI_font* a_fapi_font,unsigned char* a_buffer,long a_buffer_size)
350 {
351 WRF_output output;
352 WRF_init(&output,a_buffer,a_buffer_size);
353
354 /* Leading comment identifying a Type 1 font. */
355 WRF_wstring(&output,"%!PS-AdobeFont-1\n");
356
357 write_main_dictionary(a_fapi_font,&output, 1);
358 return output.m_count;
359 }
0360
=== added file 'psi/write_t1.h.OTHER'
--- psi/write_t1.h.OTHER 1970-01-01 00:00:00 +0000
+++ psi/write_t1.h.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,29 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* $Id$ */
15/*
16Header for functions to serialize a type 1 font as PostScript code that can
17then be passed to FreeType via the FAPI FreeType bridge.
18Started by Graham Asher, 26th July 2002.
19*/
20
21#ifndef write_t1_INCLUDED
22#define write_t1_INCLUDED
23
24#include "ifapi.h"
25
26long FF_serialize_type1_font(FAPI_font* a_fapi_font,unsigned char* a_buffer,long a_buffer_size);
27long FF_serialize_type1_font_complete(FAPI_font* a_fapi_font,unsigned char* a_buffer,long a_buffer_size);
28
29#endif
030
=== added file 'psi/write_t2.c.OTHER'
--- psi/write_t2.c.OTHER 1970-01-01 00:00:00 +0000
+++ psi/write_t2.c.OTHER 2011-11-06 19:17:26 +0000
@@ -0,0 +1,466 @@
1/* Copyright (C) 2001-2006 Artifex Software, Inc.
2 All Rights Reserved.
3
4 This software is provided AS-IS with no warranty, either express or
5 implied.
6
7 This software is distributed under license and may not be copied, modified
8 or distributed except as expressly authorized under the terms of that
9 license. Refer to licensing information at http://www.artifex.com/
10 or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11 San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
12*/
13
14/* $Id: write_t2.c 10782 2010-02-22 11:45:33Z chrisl $ */
15
16/*
17Functions to serialize a type 1 font so that it can then be
18passed to FreeType via the FAPI FreeType bridge.
19Started by Graham Asher, 9th August 2002.
20*/
21
22#include "wrfont.h"
23#include "write_t2.h"
24#include "ghost.h"
25#include "gxfont.h"
26#include "gxfont1.h"
27
28/*
29Public structures and functions in this file are prefixed with FF_ because they are part of
30the FAPI FreeType implementation.
31*/
32
33static void write_4_byte_int(unsigned char* a_output,long a_int)
34 {
35 a_output[0] = (unsigned char)(a_int >> 24);
36 a_output[1] = (unsigned char)(a_int >> 16);
37 a_output[2] = (unsigned char)(a_int >> 8);
38 a_output[3] = (unsigned char)(a_int & 0xFF);
39 }
40
41static void write_type2_int(WRF_output* a_output,long a_int)
42 {
43 if (a_int >= -107 && a_int <= 107)
44 WRF_wbyte(a_output,(unsigned char)(a_int + 139));
45 else if (a_int >= -32768 && a_int <= 32767)
46 {
47 if (a_int >= 108 && a_int <= 1131)
48 a_int += 63124;
49 else if (a_int >= -1131 && a_int <= -108)
50 a_int = -a_int + 64148;
51 else
52 WRF_wbyte(a_output,28);
53 WRF_wbyte(a_output,(unsigned char)(a_int >> 8));
54 WRF_wbyte(a_output,(unsigned char)(a_int & 0xFF));
55 }
56 else
57 {
58 unsigned char buffer[4];
59 WRF_wbyte(a_output,29);
60 write_4_byte_int(buffer,a_int);
61 WRF_wtext(a_output,buffer,4);
62 }
63 }
64
65static void write_type2_float(WRF_output* a_output,double a_float)
66 {
67 char buffer[32];
68 const char* p = buffer;
69 int high = true;
70 char c = 0;
71 sprintf(buffer,"%f",a_float);
72 WRF_wbyte(a_output,30);
73 for (;;)
74 {
75 char n = 0;
76 if (*p >= '0' && *p <= '9')
77 n = (char)(*p - '0');
78 else if (*p == '.')
79 n = 0xA;
80 else if (*p == 'e' || *p == 'E')
81 {
82 if (p[1] == '-')
83 {
84 p++;
85 n = 0xC;
86 }
87 else
88 n = 0xB;
89 }
90 else if (*p == '-')
91 n = 0xE;
92 else if (*p == 0)
93 n = 0xF;
94 if (high)
95 {
96 if (*p == 0)
97 WRF_wbyte(a_output,0xFF);
98 else
99 c = (char)(n << 4);
100 }
101 else
102 {
103 c |= n;
104 WRF_wbyte(a_output,c);
105 }
106
107 if (*p == 0)
108 break;
109
110 high = !high;
111 p++;
112 }
113 }
114
115static void write_header(WRF_output* a_output)
116 {
117 WRF_wtext(a_output,(const unsigned char*)"\x1\x0\x4\x1",4);
118 }
119
120static void write_name_index(WRF_output* a_output)
121 {
122 /* Write a dummy name of 'x'. */
123 WRF_wtext(a_output,(const unsigned char*)"\x0\x1\x1\x1\x2""x",6);
124 }
125
126static void write_word_entry(FAPI_font* a_fapi_font,WRF_output* a_output,int a_feature_id,
127 int a_feature_count,bool a_two_byte_op,int a_op,int a_divisor)
128 {
129 if (a_feature_count > 0)
130 {
131 int i;
132 for (i = 0; i < a_feature_count; i++)
133 {
134 /* Get the value and convert it from unsigned to signed. */
135 short x = a_fapi_font->get_word(a_fapi_font,a_feature_id,i);
136 /* Divide by the divisor to bring it back to font units. */
137 x = (short)(x / a_divisor);
138 write_type2_int(a_output,x);
139 }
140 if (a_two_byte_op)
141 WRF_wbyte(a_output,12);
142 WRF_wbyte(a_output,(unsigned char)a_op);
143 }
144 }
145
146static void write_delta_array_entry(FAPI_font* a_fapi_font,WRF_output* a_output,int a_feature_id,
147 bool a_two_byte_op,int a_op,int a_divisor)
148 {
149 int i;
150 /* NOTE that the feature index (a_feature_id) must be preceded by the count index for this to work. */
151 int count = a_fapi_font->get_word(a_fapi_font,a_feature_id - 1,0);
152 if (count > 0)
153 {
154 short prev_value = 0;
155 for (i = 0; i < count; i++)
156 {
157 /* Get the value and convert it from unsigned to signed. */
158 short value = a_fapi_font->get_word(a_fapi_font,a_feature_id,i);
159 /* Divide by the divisor to bring it back to font units. */
160 value = (short)(value / a_divisor);
161 write_type2_int(a_output,value - prev_value);
162 prev_value = value;
163 }
164 if (a_two_byte_op)
165 WRF_wbyte(a_output,12);
166 WRF_wbyte(a_output,(unsigned char)a_op);
167 }
168 }
169
170static void write_float_entry(FAPI_font* a_fapi_font,WRF_output* a_output,int a_feature_id,int a_feature_count,bool a_two_byte_op,int a_op)
171 {
172 if (a_feature_count > 0)
173 {
174 int i;
175 for (i = 0; i < a_feature_count; i++)
176 {
177 double x = a_fapi_font->get_float(a_fapi_font,a_feature_id,i);
178 write_type2_float(a_output,x);
179 }
180 if (a_two_byte_op)
181 WRF_wbyte(a_output,12);
182 WRF_wbyte(a_output,(unsigned char)a_op);
183 }
184 }
185
186static void write_font_dict_index(FAPI_font* a_fapi_font,WRF_output* a_output,
187 unsigned char** a_charset_offset_ptr,
188 unsigned char** a_charstrings_offset_ptr,
189 unsigned char** a_private_dict_length_ptr)
190 {
191 unsigned char* data_start = 0;
192 WRF_wtext(a_output,(const unsigned char *)"\x0\x1\x2\x0\x1\x0\x0",7); /* count = 1, offset size = 2, first offset = 1, last offset = 0 (to be filled in later). */
193 if (a_output->m_pos)
194 data_start = a_output->m_pos;
195 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_FontBBox,4,false,5,1);
196 write_float_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_FontMatrix,6,true,7);
197 write_type2_int(a_output,0); /* 0 = Standard Encoding. */
198 WRF_wbyte(a_output,16); /* 16 = opcode for 'encoding'. */
199 *a_charset_offset_ptr = a_output->m_pos;
200 WRF_wtext(a_output,(const unsigned char *)"\x1d""xxxx",5); /* placeholder for the offset to the charset, which will be a 5-byte integer. */
201 WRF_wbyte(a_output,15); /* opcode for 'charset' */
202 *a_charstrings_offset_ptr = a_output->m_pos;
203 WRF_wtext(a_output,(const unsigned char *)"\x1d""xxxx",5); /* placeholder for the offset to the Charstrings index, which will be a 5-byte integer. */
204 WRF_wbyte(a_output,17); /* opcode for 'Charstrings' */
205 *a_private_dict_length_ptr = a_output->m_pos;
206 WRF_wtext(a_output,(const unsigned char *)"\x1d""xxxx\x1d""yyyy",10); /* placeholder for size and offset of Private dictionary, which will be 5-byte integers. */
207 WRF_wbyte(a_output,18); /* opcode for 'Private' */
208 if (a_output->m_pos)
209 {
210 int last_offset = a_output->m_pos - data_start + 1;
211 data_start[-2] = (unsigned char)(last_offset >> 8);
212 data_start[-1] = (unsigned char)(last_offset & 0xFF);
213 }
214 }
215
216/**
217Write the character set. Return the number of characters.
218For the moment this is always 1. The number cannot be obtained
219via the FAPI interface, and FreeType doesn't need to know anything more
220than the fact that there is at least one character.
221*/
222static int write_charset(WRF_output* a_output,unsigned char* a_charset_offset_ptr)
223 {
224 const int characters = 1;
225 int i = 0;
226
227 /* Write the offset to the start of the charset to the top dictionary. */
228 if (a_output->m_pos)
229 write_4_byte_int(a_charset_offset_ptr + 1,a_output->m_count);
230
231 /*
232 Write the charset. Write one less than the number of characters,
233 because the first one is assumed to be .notdef. For the moment
234 write all the others as .notdef (SID = 0) because we don't actually
235 need the charset at the moment.
236 */
237 WRF_wbyte(a_output,0); /* format = 0 */
238 for (i = 1; i < characters; i++)
239 {
240 WRF_wbyte(a_output,0);
241 WRF_wbyte(a_output,0);
242 }
243
244 return characters;
245 }
246
247/**
248Write a set of empty charstrings. The only reason for the existence of the charstrings index is to tell
249FreeType how many glyphs there are.
250*/
251static void write_charstrings_index(WRF_output* a_output,int a_characters,unsigned char* a_charstrings_offset_ptr)
252 {
253 /* Write the offset to the charstrings index to the top dictionary. */
254 if (a_output->m_pos)
255 write_4_byte_int(a_charstrings_offset_ptr + 1,a_output->m_count);
256
257 /* Write the index. */
258 WRF_wbyte(a_output,(unsigned char)(a_characters >> 8));
259 WRF_wbyte(a_output,(unsigned char)(a_characters & 0xFF));
260 WRF_wbyte(a_output,1); /* offset size = 1. */
261 while (a_characters-- >= 0)
262 WRF_wbyte(a_output,1); /* offset = 1 */
263 }
264
265static void write_gsubrs_index(FAPI_font* a_fapi_font,WRF_output* a_output)
266 {
267 unsigned char* cur_offset = 0;
268 unsigned char* data_start = 0;
269 int i;
270 int count = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_GlobalSubrs_count,0);
271
272 WRF_wbyte(a_output,(unsigned char)(count >> 8));
273 WRF_wbyte(a_output,(unsigned char)(count & 0xFF));
274
275 if (count <= 0)
276 return;
277
278 WRF_wbyte(a_output,4); /* offset size = 4 bytes */
279 WRF_wtext(a_output,(const unsigned char *)"\x0\x0\x0\x1",4); /* first offset = 1 */
280
281 if (a_output->m_pos)
282 cur_offset = a_output->m_pos;
283
284 /* Write dummy bytes for the offsets at the end of each data item. */
285 for (i = 0; i < count; i++)
286 WRF_wtext(a_output,(const unsigned char *)"xxxx",4);
287
288 if (a_output->m_pos)
289 data_start = a_output->m_pos;
290
291 for (i = 0; i < count; i++)
292 {
293 long buffer_size = a_output->m_limit - a_output->m_count;
294 long length = a_fapi_font->get_gsubr(a_fapi_font,i,a_output->m_pos,(ushort)buffer_size);
295 if (a_output->m_pos)
296 WRF_wtext(a_output,a_output->m_pos,length);
297 else
298 a_output->m_count += length;
299 if (cur_offset)
300 {
301 long pos = a_output->m_pos - data_start + 1;
302 write_4_byte_int(cur_offset,pos);
303 cur_offset += 4;
304 }
305 }
306 }
307
308static void write_subrs_index(FAPI_font* a_fapi_font,WRF_output* a_output)
309 {
310 unsigned char* cur_offset = 0;
311 unsigned char* data_start = 0;
312 int i;
313 int count = a_fapi_font->get_word(a_fapi_font,FAPI_FONT_FEATURE_Subrs_count,0);
314
315 WRF_wbyte(a_output,(unsigned char)(count >> 8));
316 WRF_wbyte(a_output,(unsigned char)(count & 0xFF));
317
318 if (count <= 0)
319 return;
320
321 WRF_wbyte(a_output,4); /* offset size = 4 bytes */
322 WRF_wtext(a_output,(const unsigned char *)"\x0\x0\x0\x1",4); /* first offset = 1 */
323
324 if (a_output->m_pos)
325 cur_offset = a_output->m_pos;
326
327 /* Write dummy bytes for the offsets at the end of each data item. */
328 for (i = 0; i < count; i++)
329 WRF_wtext(a_output,(const unsigned char *)"xxxx",4);
330
331 if (a_output->m_pos)
332 data_start = a_output->m_pos;
333
334 for (i = 0; i < count; i++)
335 {
336 long buffer_size = a_output->m_limit - a_output->m_count;
337 long length = a_fapi_font->get_subr(a_fapi_font,i,a_output->m_pos,(ushort)buffer_size);
338 if (a_output->m_pos)
339 WRF_wtext(a_output,a_output->m_pos,length);
340 else
341 a_output->m_count += length;
342 if (cur_offset)
343 {
344 long pos = a_output->m_pos - data_start + 1;
345 write_4_byte_int(cur_offset,pos);
346 cur_offset += 4;
347 }
348 }
349 }
350
351static void write_private_dict(FAPI_font* a_fapi_font,WRF_output* a_output,unsigned char* a_private_dict_length_ptr)
352 {
353 int count, initial = a_output->m_count;
354 /* Write the offset to the start of the private dictionary to the top dictionary. */
355 unsigned char* start = a_output->m_pos;
356 if (a_output->m_pos)
357 write_4_byte_int(a_private_dict_length_ptr + 6,a_output->m_count);
358
359 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_BlueFuzz,1,true,11,16);
360
361 write_type2_float(a_output,a_fapi_font->get_long(a_fapi_font,FAPI_FONT_FEATURE_BlueScale,0) / 65536.0);
362 WRF_wbyte(a_output,12);
363 WRF_wbyte(a_output,9);
364
365 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_BlueShift,1,true,10,16);
366 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_BlueValues,false,6,16);
367 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_OtherBlues,false,7,16);
368 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_FamilyBlues,false,8,16);
369 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_FamilyOtherBlues,false,9,16);
370 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_ForceBold,1,true,14,1);
371 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_StdHW,1,false,10,16);
372 write_word_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_StdVW,1,false,11,16);
373 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_StemSnapH,true,12,16);
374 write_delta_array_entry(a_fapi_font,a_output,FAPI_FONT_FEATURE_StemSnapV,true,13,16);
375
376 /*
377 Write the default width and the nominal width. These values are not available via
378 the FAPI interface so we have to get a pointer to the Type 1 font structure and
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: