Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://hpgl2ps-2.2-1.src.rpm:131048/hpgl2ps-2.2.tar.gz  info  downloads

hpgl2ps-2.2/Makefile100644      0      0       14146  6546527545  12523 0ustar  rootroot# dxy2ps and hpgl2ps (Copyright) D McCormick
# Commercial reproduction prohibited.
#
# Obtained from UUCP Newsgroup comp.sources.unix
# Spring 1988
#
# Modified by Gordon Jacobs, July 1989
#
# Modified by Michael L. Brown, June, 1990
#
# Modified by Jeffrey A. Stern, Nov, 1994. Called v2.1.
#
# UNIX and DOS/DJGPP Makefile
# SETUP:
#
# 1) Check that you have the 'ar' and 'install' commands on your
# system, and that CC, INSTALLFLAGS, INSTALLMANFLAGS are set to your
# compiler/preferences.  

CC=		gcc
SHELL=		/bin/sh
FILTER1=	dxy2ps.in
FILTER2=	hpgl2ps.in
FILTER1.C=	dxy2ps.c
FILTER2.C=	hpgl2ps.c
INSTALLFLAGS=	-s -o root -g root -m 755
MANFILTER1=	dxy2ps.1
MANFILTER2=	hpgl2ps.1
INSTALLMANFLAGS=-o root -g root -m 644
TESTFILES=	test1h.ps test2h.ps test3h.ps test1d.ps



# 3) Make sure this is where you want the man pages to go.
# This complies with the Linux FSSTND (File System Standard).

INSDIR=		/usr/local/bin
INSMANDIR=	/usr/local/man/man1


# 4) Find your system below and uncomment the lines.  Default is
# Linux.  So far, Sun, MIPS, Linux supported, but it 'shouldn't"
# be much to adapt these variables to your system.
#
# For the CFLAGS variable below:
#
# Add -DNOTIMP to list the non-implemented HPGL commands out to the stderr.
#
# Add -DDEBUG for listing the HPGL implemented commands and the PostScript
# output that goes with it.
#

# For Sun using GNU, activate the following lines, and deactivate the
# other machines'.

# LOADLIBES=	-lieee -lm 
# CFLAGS=	-O -Wall -DNOTIMP -ansi -pedantic
# FILTER1A=	dxy2ps
# FILTER2A=	hpgl2ps
# ACONVERT1=	cp $(FILTER1) $(FILTER1A); strip $(FILTER1A)
# ACONVERT2=	cp $(FILTER2) $(FILTER2A); strip $(FILTER2A)

# For MIPS or Linux, activate the following lines, and deactivate the
# other machines'.
# I originally needed the -lieee flag for the libraries.  I kept
# getting 'Floating Exception' when I ran hpgl2ps. This was reputedly
# caused by a bug in strtod or floatconv.c (which manifests as _IO_dtoa
# in gdb output).  Apparently strtod will die after too many calls to
# itself, or something like that.  Later, I found that with a lot of
# cleanup using 'gcc -Wall', and no dependence up math.h for rint, and
# a bunch of other stuff to get the programs into strict ANSI
# compliance and compile without error, the -lieee was not needed.  A
# phantom, I guess.  But one heck of an ugly one. :) Anyway, if you get
# the error mentioned above and you're compiling on linux, try adding
# the -lieee back into LOADLIBES.  For reference, I have libc 4.5.26,
# and gcc 2.5.8. -jas. 

CC=		egcs
LOADLIBES=	-lm
CFLAGS=	-O -Wall -DNOTIMP
FILTER1A=	dxy2ps
FILTER2A=	hpgl2ps
ACONVERT1=	cp $(FILTER1) $(FILTER1A); strip $(FILTER1A)
ACONVERT2=	cp $(FILTER2) $(FILTER2A); strip $(FILTER2A)

# For MS-DOS using djgpp compiler, activate these lines and deactivate
# the other machines'. Leave SHELL= /bin/sh as it is above. The linker 
# bombed when I had SHELL=c:\dos\command.com and I don't know what
# blanking it out entirely would do, either.  Also note: There is no
# 'make install': Instead, just copy the *.exe's and *.man's where you want. 
# The 32-bit djgpp compiler (source and bins) can be ftp'd from either
# omnigate.clarkson.edu or oak.oakland.edu.  In both places it's found
# in the directory /pub/msdos/djgpp.  Or, you can send email to the
# FSF (Free Software Foundation) at gnu@prep.ai.mit.edu for information
# on obtaining djgpp on CDROM.
# LOADLIBES=	-lm 
# CFLAGS=		-O -Wall -DNOTIMP -ansi -pedantic
# FILTER1A=	dxy2ps.exe
# FILTER2A=	hpgl2ps.exe
# ACONVERT1=	coff2exe $(FILTER1)
# ACONVERT2=	coff2exe $(FILTER2)

# 5) You're done.  Now just type 'make' and with any luck...

##############################################################################
# YOU SHOULDN'T HAVE TO EDIT BELOW HERE.
##############################################################################

# .c.o:		$(INCLUDE)
#		$(CC) $(CFLAGS) -c $< -o $@

all:		$(FILTER1A) $(FILTER2A) $(TESTFILES)

$(FILTER1A):	$(FILTER1)
		$(ACONVERT1)

$(FILTER2A):	$(FILTER2)
		$(ACONVERT2)

$(FILTER1):	$(FILTER1.C)
		$(CC) $(CFLAGS) $< -o $@ $(LOADLIBES)

$(FILTER2):	$(FILTER2.C)
		$(CC) $(CFLAGS) $< -o $@ $(LOADLIBES)


test1d.ps: $(FILTER1A) test1d.dxy
	$(FILTER1A) test1d.dxy > test1d.ps

test1h.ps: $(FILTER2A) test1h.hpg
	$(FILTER2A) test1h.hpg > test1h.ps

test2h.ps: $(FILTER2A) test2h.hpg
	$(FILTER2A) test2h.hpg > test2h.ps

test3h.ps: $(FILTER2A) test3h.hpg
	$(FILTER2A) test3h.hpg > test3h.ps

install:	install1 install2 installman

install1:	$(FILTER1A)
		install $(INSTALLFLAGS) $(FILTER1A) $(INSDIR)

install2:	$(FILTER2A)
		install $(INSTALLFLAGS) $(FILTER2A) $(INSDIR)

installman:	$(MANFILTER1) $(MANFILTER2)
		install $(INSTALLMANFLAGS) $(MANFILTER1) $(INSMANDIR)
		install $(INSTALLMANFLAGS) $(MANFILTER2) $(INSMANDIR)

clean:
	rm -f *~* *.o *.ps a.out core hpgl2ps dxy2ps *.in

uninstall:
		rm -f $(INSDIR)/$(FILTER1A)
		rm -f $(INSDIR)/$(FILTER2A)
		rm -f $(INSMANDIR)/$(MANFILTER1)
		rm -f $(INSMANDIR)/$(MANFILTER2)


# To be used on Unix to create manuals for dos users and ps printers
dosman:	dosstuff/hpgl2ps.txt dosstuff/dxy2ps.txt dosstuff/hpgl2ps.ps dosstuff/dxy2ps.ps

dosstuff/hpgl2ps.txt:	hpgl2ps.1
	groff -Tascii -mandoc hpgl2ps.1 > dosstuff/hpgl2ps.txt

dosstuff/dxy2ps.txt:	dxy2ps.1
	groff -Tascii -mandoc dxy2ps.1 > dosstuff/dxy2ps.txt

dosstuff/hpgl2ps.ps:	hpgl2ps.1
	groff -Tps -mandoc hpgl2ps.1 > dosstuff/hpgl2ps.ps

dosstuff/dxy2ps.ps:	dxy2ps.1
	groff -Tps -mandoc dxy2ps.1 > dosstuff/dxy2ps.ps

arcps.obj:	arcps.c
	$(CC) -c $.

changesizes.obj: changesizes.c
	$(CC) -c $.

circle.obj: circle.c
	$(CC) -c $.

dxycom.obj: dxycom.c
	$(CC) -c $.

end_draw.obj: end_draw.c
	$(CC) -c $.

getval.obj: getval.c
	$(CC) -c $.

hpglcom.obj: hpglcom.c
	$(CC) -c $.

linesize.obj: linesize.c
	$(CC) -c $.

linetype.obj: linetype.c
	$(CC) -c $.

manualfeed.obj: manualfeed.c
	$(CC) -c $.

plotdot.obj: plotdot.c
	$(CC) -c $.

plotinit.obj: plotinit.c
	$(CC) -c $.

plotps.obj: plotps.c
	$(CC) -c $.

userdefchar.obj: userdefchar.c
	$(CC) -c $.

ps_macros.obj: ps_macros.c
	$(CC) -c $.

rectangle.obj: rectangle.c
	$(CC) -c $.

textps.obj: textps.c
	$(CC) -c $.

viewport.obj: viewport.c
	$(CC) -c $.

plotcoords.obj: plotcoords.c
	$(CC) -c $.

tick.obj: tick.c
	$(CC) -c $.
hpgl2ps-2.2/README.DOS100644      0      0       31604  5745537242  12360 0ustar  rootrootDOS INSTALLATION:
================
A) To install the executables:
  1) Copy the two programs (HPGL2PS.EXE and DXY2PS.EXE) to a directory
     in your PATH, so that they can be executed, no matter where you are
     in the directory tree.  For instance, if you have a directory called
     C:\BIN where you keep utility programs like this, and C:\BIN is on
     your path, and, supposing that this release of the converter programs
     is on a disk in your A: drive, then just type:

       COPY A:\DOSSTUFF\HPGL2PS.EXE C:\BIN
       COPY A:\DOSSTUFF\DXY2PS.EXE C:\BIN

  2) To Print out Documentation:
     If you have a postscript printer, just send your PostScript-formatted
     hpgl2ps or dxy2ps doc files to the printer.  For example:

       COPY A:\DOSSTUFF\HPGL2PS.PS PRN

     Or if you have another kind of printer which just accepts plain
     text: 

       COPY A:\DOSSTUFF\HPGL2PS.TXT PRN

B) If you want to actually recompile the program (in order to modify it):
  1) If you are using djgpp compiler, then
     a) Use the Unix (GNU) makefile:

         cp makefile.unx makefile

     b) Follow the directions in the makefile for djgpp.
     c) Type 'make'.  This should run without warnings or errors, even if
        you've compiled with -Wall.  Upon successful completion of the
        executables, make will construct four test files (with suffix of
        .ps) automatically.  Compare these to their *.ps1 counterparts I
        provide (via 'ls'/'dir' or 'cmp'/'fc' or actual printout): Check
        that your *.ps files are reasonably close the the *.ps1  files. They
        should be only slightly different, owing to decimal point rounding
        variation.  If you use MS-DOS, your file sizes will be even more
        different, owing I believe to the carriage returns in the postscript
        output.  But they should still be in roughly the same ballpark.

  2) If you are using Borland C/C++ 4.5, then
     a) Use the borland makefile:

         copy makefile.bor makefile

     b) Follow the directions in the makefile for borland.

  3) I've also included some pre-formatted manual pages in
     text/backspace form (*.txt) and postscript (*.ps) for you, since
     most dos users won't have t/n/groff to format the *.1 manual
     pages. These are in the dosstuff subdirectory of this archive.  

TO RUN (UNIX and DOS):
=====================
   You can try out your converter programs by running them on the sample
   test HPGL and DXY files.  For instance, test1h.hpg is an hpgl
   file.  Convert it to Postscript and save it in a file called
   test1.ps by running the program this way: 

     hpgl2ps test1h.hpg > test1h.ps

   You can compare your test1h.ps with the postscript version I made,
   'test1h.ps1'.

   Now, if you have a Postscript printer, you can print out your
   file by typing (in UNIX):


     lpr test1h.ps

   or, in DOS:

     copy test1h.ps prn

   Alternatively, if you want to save a step from the above two
   commands, you can omit the step to make a file, and just pipe the
   converter's output right into the printer, instead. In UNIX, you
   would type:

     hpgl2ps test1h.hpg | lpr

   and in DOS:

     hpgl2ps test1h.hpg > prn

NOTES:
=====
/*  hpgl2ps.pckd  - enhanced version */
/*  hpgl2ps.ucb   - Further enhanced version */
/*  hpgl2ps.mlb   - Enhanced even further */
/*  hpgl2ps v2.1  - Cleaned up for warnings, bugs, ported to DOS. */

There are two filters in this package which are based on the Roland
plotter command set.

1. DXY: A simple command set which is used with all DXY plotters

2. RD-GL: This command set is a superset of the HP (Hewlet Packard)
   graphics language.

Not all the commands of DXY or RD-GL (HPGL) are implemented (approx 95%
are) and those commands that are not are skipped and a warning given.
It is very easy to add to this filter if a particular unimplemented
command is desired.

If you wish to implement a command go to the relevant portion in the
command switch "dxycom.c" or "hpglcom.c" and call an appropriate user
written procedure.  (You will need a good knowledge of writing
PostScript programs)

The filters use the the procedure "getopt" which is used to interpret
command line options and arguments and is normally available on 4.3 bsd
and Sys V Unix. For those sites running 4.1 or 4.2 it may be available
as a local library and must be written into the Makefile.

IF YOU DONT HAVE GETOPT YOU WILL HAVE REWRITE THE CODE THAT INTERPRETS
COMMAND LINE OPTIONS AND ARGUMENTS.

NOTE 1: The method of writing text is not fully compatible with HPGL
and will be changed at a later date.

NOTE 2: The PostScript macros are written into a C procedure to allow
each filter to be a single stand alone program. These macros can easily
be incorporated into other filter programs.

I have written some test procedures for the testing of each filter they
are "test1.hpgl" for hpgl2ps and "test1.dxy" for dxy2ps.

Don McCormick.

-------------------------
Notes on first enhancement:

Support for user defined characters added by 
Gerald William Kokodyniak B.A.Sc. M.A.Sc.
University of Toronto, Department of Mechanical Engineering

-------------------------
Notes on second enhancement:
Support for Scaling, tickmarks, and better user defined characters
added by Gordon Jacobs, (Ph.D., since we're into titles above)
University of California, Berkeley in July 1989.

Mods were made ONLY for the hpgl2ps program and are not guaranteed
to work for dxy2ps.  HP-GL code from the Tektronix DSA 602
Digitizing Signal Analyzer (scope) were used as a test.
Laserwriter output was compared directly with plots from a
HP7550A plotter reading the same HP-GL file.

Support for scaling was added.
The Scaling involves re-setting the coordinate
system by re-calculating the XSCALE and YSCALE numbers and adding
an offset to the origin.  The offset had to be added to all files
that make use of the scaling parameters.

Tick marks were added with tick.c.  Uses relative draw commands
to make the tick marks and adds two global variables which are
the tick length as a percentage of the overall dimensions.

The parser was changed.  The SIGNED_NUMERIC macro recognized a comma
as a valid character which does not make sense.  The HP-GL code from
the DSA 602 often contains a mnemonic followed by a comma, but with
no parameters.  This is valid code although most sources will not
place a comma unless optional parameters actually follow.  The comma
was removed as a valid SIGNED_NUMERIC character and the function
getval() was modified to read all trailing commas and spaces.  In this way
the parser works for both the standard and odd case mentioned above.

The user defined character routine was modified heavily.  Original
function did not take into account the angle of characters.  The
new function reads the current angle of characters and orients
the user defined character in the same way.  The scaling, which was
originally huge for some reason now is dynamically set to a 
proportion of the size of regular text character.  The linewidth
of the user defined character is arbitrarily set to 0.25mm and
then the restored to the previous value.  This width seems to fit
the "linewidth" of the characters in the postscript helvetica
font sized for the DSA 602 output.

The default paper size is changed to be 8.5 x 11 inch paper with
command line options added to support all others.

The command line options -w and -h were added because the relative
scaling of fonts with the "SR" HP-GL command, while implemented
correctly, gives much smaller character sizes than the HP7550A plotter.
The defaults were set empirically to match plotter output.

The sizes in viewport.c were modified to get correct positioning
on the 8.5 x 11 paper when compared to a plot directly from the
HP7550A on the same type of paper.

The textps() routine was modified to move the position pointers to
the end of a string when a string is drawn.  This was commented out
in the code that I received, but needed to be restored for the
user defined character to be in the correct place.  The results
match the HP plotter for the same code.

----------------------
Notes on third enhancement:
All changes pertain to HPGL stuff only.

The removale of the comma in the SIGNED_NUMBER function was incorrect.
The problem was that some programs put out a comma after the PD command
and before the set of numbers.  This problem was fixed when the parser
was enhanced.  For some reason the change mentioned above in the previous
enhancement didn't work when the comma was followed by valid numbers.

The hpglcom.c parser was changed so that:
     1. All of the known HPGL commands (1984 HP 7580 plotter manual) have
	been added to the parser list, making it easier for someone to
	implement a command.
     2. All unknown commands had the data following that command, up until
	the next command, dumped.  This cleaned up the parser problem that
	I was seeing.
     3. Three new compilable options have been added:
	DEBUG:	When turned on, all PostScript output (after the macros)
		is put out on stderr, along with the HPGL commands.  This
		allows the programmer to see the input HPGL commands and
		the PostScript output.  The new AA command also puts out
		many of its computations.
	NOTIMP: Output all HGPL commands that are unknown.  If you don't
		want this list, turn off this compiler option.
	SYSV:	Many AT&T System V Unix systems don't have rint().  This
		option will use the very simple one that I included.
     4. The HPGL Absolute Arc (AA) command has been implemented.  The Arc
	Relative (AR) one has not (yet).  See the new routine arcps.c for
	further comments on what was done.

The default line sizes have been changed.  See the man page for the complete
list.

Notes on fourth enhancement (hpgl2ps v2.1):
==============================================================================
Basically, I did very little to this version, except some fine tuning to:

1) make printouts of unsupported calls with NOTIMP print out on
   separate lines, for clearer output,
2) change some of the casts to prevent warnings on the stricter 2.5.8 gcc
   compiler, and 
3) Include the ieee library in the Makefile as an option, for those compilers
   which might have the problem with the broken strtod (floatconv.c)
   linux library call.  It looks as if Sun may have the same problem?
4) remove the 'Not implemented: LB' error message. It looks as if hpgl2ps
   does implement LB, but I can't get ahold of the previous enhancer to
   check this.
5) enhance the Makefile a bit, including renaming the man pages from
   *.man to *.1 for easier/clearer installation, adding man installation
   and uninstall, and hinging hpgl2ps from libroland.a, as well as making
   testfiles.
6) add a '-v' flag for version number.  There are so many versions of this
   package floating around that major/minor version numbers should help
   someone who is doing an archie/ftp/WWW search to figure out which is the
   latest.
7) Do general cleanup (insert #include's, extern's, reformat with function
   declarations and new arguments, fix a labelling bug, etc.) so that
   the code will compile with no warnings, even with '-Wall' compiler
   flag on gcc, and so that the code is strictly ansi compatible.
   Basically, I could not get hpgl2ps to reliably produce the same
   printout on one machine as the other (Linux and Ultrix).  It does
   now (at least for me).  Also, it doesn't print out spurious warnings 
   about things which haven't been implemented yet, which have.
8) I also removed the SYSV definition.  That definition was around only
   for SYSV people who needed to have rint() (normally from math.h)
   defined for them.  But theoretically, everyone should use the same
   rint, AND since (as of this date, anyway) I can find no POSIX
   definition for rint, AND our use here is pretty simple, AND I was
   getting error messages about implicit declarations, AND our machine
   returns a double, (instead of just an int, as expected here), AND it
   has this wierd rule about returning an even number if
   |rint(x)-x|=1/2, I just decided to rename this one 'local_rint' and
   that way we all have the same thing. 
9) Moved all the *.c hp modules (arcps.c plotdot.c, etc.) into one module
   (hplib.c) for easier porting (primarily makefile problems with Borland).

Also, the labelling is still not yet completely stable/reliable.  This is
why I put in the -w and -h command-line options, as well as -f option,
so that the user can 'tweek' their output, as desired.

Finally, thanks *very* much to Dan Saunders at the University of Idaho
for helping me after days of frustration by patiently explaining the
broken float conversion call. It's nice to know there are people
around who a)know what they're doing, and b)don't mind talking to
people who don't. :)

=====
Jeff Stern <jstern@eclectic.ss.uci.edu>
95/4/19
hpgl2ps-2.2/README.UNX100644      0      0       26572  5745535244  12415 0ustar  rootrootUNIX INSTALLATION:
=================
1) cp makefile.unx Makefile
2) Follow the instructions in the Makefile for setting your variables
   for your machine and setup.
3) Type 'make'.  This should run without warnings or errors, even if
   you've compiled with -Wall.  Upon successful completion of the
   executables, make will construct four test files (with suffix of
   .ps) automatically.  Compare these to their *.ps1 counterparts I
   provide (via 'ls'/'dir' or 'cmp'/'fc' or actual printout): Check
   that your *.ps files are reasonably close the the *.ps1  files. They
   should be only slightly different, owing to decimal point rounding
   variation.  If you use MS-DOS, your file sizes will be even more
   different, owing I believe to the carriage returns in the postscript
   output.  But they should still be in roughly the same ballpark.
4) If you want to install the 2 executables and the 2 man
   pages somewhere else, then su to root (if you are going to install
   them in some global system area, not just your own bin directory
   under your home directory) and type 'make install'.  You may want to
   run 'makewhatis' (or whatever program your system uses) to update
   your man pages. 

TO RUN:
=====================
   You can try out your converter programs by running them on the sample
   test HPGL and DXY files.  For instance, test1h.hpg is an hpgl
   file.  Convert it to Postscript and save it in a file called
   test1.ps by running the program this way: 

     hpgl2ps test1h.hpg > test1h.ps

   You can compare your test1h.ps with the postscript version I made,
   'test1h.ps1'.

   Now, if you have a Postscript printer, you can print out your
   file by typing:

     lpr test1h.ps

   Alternatively, if you want to save a step from the above two
   commands, you can omit the step to make a file, and just pipe the
   converter's output right into the printer, instead. Type:

     hpgl2ps test1h.hpg | lpr


NOTES:
=====
/*  hpgl2ps.pckd  - enhanced version */
/*  hpgl2ps.ucb   - Further enhanced version */
/*  hpgl2ps.mlb   - Enhanced even further */
/*  hpgl2ps v2.1  - Cleaned up for warnings, bugs, ported to DOS. */

There are two filters in this package which are based on the Roland
plotter command set.

1. DXY: A simple command set which is used with all DXY plotters

2. RD-GL: This command set is a superset of the HP (Hewlet Packard)
   graphics language.

Not all the commands of DXY or RD-GL (HPGL) are implemented (approx 95%
are) and those commands that are not are skipped and a warning given.
It is very easy to add to this filter if a particular unimplemented
command is desired.

If you wish to implement a command go to the relevant portion in the
command switch "dxycom.c" or "hpglcom.c" and call an appropriate user
written procedure.  (You will need a good knowledge of writing
PostScript programs)

The filters use the the procedure "getopt" which is used to interpret
command line options and arguments and is normally available on 4.3 bsd
and Sys V Unix. For those sites running 4.1 or 4.2 it may be available
as a local library and must be written into the Makefile.

IF YOU DONT HAVE GETOPT YOU WILL HAVE REWRITE THE CODE THAT INTERPRETS
COMMAND LINE OPTIONS AND ARGUMENTS.

NOTE 1: The method of writing text is not fully compatible with HPGL
and will be changed at a later date.

NOTE 2: The PostScript macros are written into a C procedure to allow
each filter to be a single stand alone program. These macros can easily
be incorporated into other filter programs.

I have written some test procedures for the testing of each filter they
are "test1.hpgl" for hpgl2ps and "test1.dxy" for dxy2ps.

Don McCormick.

-------------------------
Notes on first enhancement:

Support for user defined characters added by 
Gerald William Kokodyniak B.A.Sc. M.A.Sc.
University of Toronto, Department of Mechanical Engineering

-------------------------
Notes on second enhancement:
Support for Scaling, tickmarks, and better user defined characters
added by Gordon Jacobs, (Ph.D., since we're into titles above)
University of California, Berkeley in July 1989.

Mods were made ONLY for the hpgl2ps program and are not guaranteed
to work for dxy2ps.  HP-GL code from the Tektronix DSA 602
Digitizing Signal Analyzer (scope) were used as a test.
Laserwriter output was compared directly with plots from a
HP7550A plotter reading the same HP-GL file.

Support for scaling was added.
The Scaling involves re-setting the coordinate
system by re-calculating the XSCALE and YSCALE numbers and adding
an offset to the origin.  The offset had to be added to all files
that make use of the scaling parameters.

Tick marks were added with tick.c.  Uses relative draw commands
to make the tick marks and adds two global variables which are
the tick length as a percentage of the overall dimensions.

The parser was changed.  The SIGNED_NUMERIC macro recognized a comma
as a valid character which does not make sense.  The HP-GL code from
the DSA 602 often contains a mnemonic followed by a comma, but with
no parameters.  This is valid code although most sources will not
place a comma unless optional parameters actually follow.  The comma
was removed as a valid SIGNED_NUMERIC character and the function
getval() was modified to read all trailing commas and spaces.  In this way
the parser works for both the standard and odd case mentioned above.

The user defined character routine was modified heavily.  Original
function did not take into account the angle of characters.  The
new function reads the current angle of characters and orients
the user defined character in the same way.  The scaling, which was
originally huge for some reason now is dynamically set to a 
proportion of the size of regular text character.  The linewidth
of the user defined character is arbitrarily set to 0.25mm and
then the restored to the previous value.  This width seems to fit
the "linewidth" of the characters in the postscript helvetica
font sized for the DSA 602 output.

The default paper size is changed to be 8.5 x 11 inch paper with
command line options added to support all others.

The command line options -w and -h were added because the relative
scaling of fonts with the "SR" HP-GL command, while implemented
correctly, gives much smaller character sizes than the HP7550A plotter.
The defaults were set empirically to match plotter output.

The sizes in viewport.c were modified to get correct positioning
on the 8.5 x 11 paper when compared to a plot directly from the
HP7550A on the same type of paper.

The textps() routine was modified to move the position pointers to
the end of a string when a string is drawn.  This was commented out
in the code that I received, but needed to be restored for the
user defined character to be in the correct place.  The results
match the HP plotter for the same code.

----------------------
Notes on third enhancement:
All changes pertain to HPGL stuff only.

The removale of the comma in the SIGNED_NUMBER function was incorrect.
The problem was that some programs put out a comma after the PD command
and before the set of numbers.  This problem was fixed when the parser
was enhanced.  For some reason the change mentioned above in the previous
enhancement didn't work when the comma was followed by valid numbers.

The hpglcom.c parser was changed so that:
     1. All of the known HPGL commands (1984 HP 7580 plotter manual) have
	been added to the parser list, making it easier for someone to
	implement a command.
     2. All unknown commands had the data following that command, up until
	the next command, dumped.  This cleaned up the parser problem that
	I was seeing.
     3. Three new compilable options have been added:
	DEBUG:	When turned on, all PostScript output (after the macros)
		is put out on stderr, along with the HPGL commands.  This
		allows the programmer to see the input HPGL commands and
		the PostScript output.  The new AA command also puts out
		many of its computations.
	NOTIMP: Output all HGPL commands that are unknown.  If you don't
		want this list, turn off this compiler option.
	SYSV:	Many AT&T System V Unix systems don't have rint().  This
		option will use the very simple one that I included.
     4. The HPGL Absolute Arc (AA) command has been implemented.  The Arc
	Relative (AR) one has not (yet).  See the new routine arcps.c for
	further comments on what was done.

The default line sizes have been changed.  See the man page for the complete
list.

Notes on fourth enhancement (hpgl2ps v2.1):
==============================================================================
Basically, I did very little to this version, except some fine tuning to:

1) make printouts of unsupported calls with NOTIMP print out on
   separate lines, for clearer output,
2) change some of the casts to prevent warnings on the stricter 2.5.8 gcc
   compiler, and 
3) Include the ieee library in the Makefile as an option, for those compilers
   which might have the problem with the broken strtod (floatconv.c)
   linux library call.  It looks as if Sun may have the same problem?
4) remove the 'Not implemented: LB' error message. It looks as if hpgl2ps
   does implement LB, but I can't get ahold of the previous enhancer to
   check this.
5) enhance the Makefile a bit, including renaming the man pages from
   *.man to *.1 for easier/clearer installation, adding man installation
   and uninstall, and hinging hpgl2ps from libroland.a, as well as making
   testfiles.
6) add a '-v' flag for version number.  There are so many versions of this
   package floating around that major/minor version numbers should help
   someone who is doing an archie/ftp/WWW search to figure out which is the
   latest.
7) Do general cleanup (insert #include's, extern's, reformat with function
   declarations and new arguments, fix a labelling bug, etc.) so that
   the code will compile with no warnings, even with '-Wall' compiler
   flag on gcc, and so that the code is strictly ansi compatible.
   Basically, I could not get hpgl2ps to reliably produce the same
   printout on one machine as the other (Linux and Ultrix).  It does
   now (at least for me).  Also, it doesn't print out spurious warnings 
   about things which haven't been implemented yet, which have.
8) I also removed the SYSV definition.  That definition was around only
   for SYSV people who needed to have rint() (normally from math.h)
   defined for them.  But theoretically, everyone should use the same
   rint, AND since (as of this date, anyway) I can find no POSIX
   definition for rint, AND our use here is pretty simple, AND I was
   getting error messages about implicit declarations, AND our machine
   returns a double, (instead of just an int, as expected here), AND it
   has this wierd rule about returning an even number if
   |rint(x)-x|=1/2, I just decided to rename this one 'local_rint' and
   that way we all have the same thing. 
9) Moved all the *.c hp modules (arcps.c plotdot.c, etc.) into one module
   (hplib.c) for easier porting (primarily makefile problems with Borland).

Also, the labelling is still not yet completely stable/reliable.  This is
why I put in the -w and -h command-line options, as well as -f option,
so that the user can 'tweek' their output, as desired.

Finally, thanks *very* much to Dan Saunders at the University of Idaho
for helping me after days of frustration by patiently explaining the
broken float conversion call. It's nice to know there are people
around who a)know what they're doing, and b)don't mind talking to
people who don't. :)

=====
Jeff Stern <jstern@eclectic.ss.uci.edu>
95/4/19

hpgl2ps-2.2/defn.h100644      0      0        7571  6546523043  12121 0ustar  rootroot/*
 *
 *	The following definations allow for the efficient 
 *	translation of DXY and RD-GL codes to PostScript code
 *
 */

#include <stdio.h>
#include <math.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

#define CR	'\015'
#define LF	'\012'
#define SPACE	'\040'

/* the definition below was modified by Gordon Jacobs to remove
 * the validity of a comma in a Signed Numeric quantity. The
 * definition below is more accurate and the comma is now removed
 * after reading the digit in getval()
 */
#define SIGNED_NUMERIC  (ungetc(( ch = getc(stream)),stream) != EOF ) &&\
		(((ch>='0') && (ch<='9')) || (ch=='-') || (ch=='+')\
		|| (ch==' ') || (ch == '.'))

/* The debug stuff was added to trace what is going on during the conversion
 * process to PostScript.
 */

#ifdef DEBUG
#define debugp(x) {fprintf x; (void) fflush(stderr);}
#else
#define debugp(x)
#endif

#ifdef NOTIMP
#define notimp(x) {fprintf x; fprintf(stderr, "\n"); (void) fflush(stderr);}
#else
#define notimp(x)
#endif

#define CIRCLE	21		/* DXY Circle */
#define RCIRCLE 22		/* DXY Relative Circle */
#define CCIRCLE 23		/* DXY Centered Circle */
#define ACIRCLE 24		/* DXY Arc plus Circle */
#define SCIRCLE 25		/* DXY Segment Circle */
#define RDGLCIRCLE 26		/* RD-GL Circle */
#define ARCA 27			/* HPGL Absolute Arc */
#define ARCR 28			/* HPGL Relative Arc */

#define TEXT	31
#define MARK	32

#define LINETYPE	41
#define LINESCALE	42
#define LINE_TYPE_SCALE	43

#define XTICK 0
#define YTICK 1
/*
 *	Files to open if any
 */
FILE	*stream;
FILE	*fopen();
/*
 *	Plotting Parameters that will contain the necessary PostScript
 *	commands to plot (see dxy2ps.c for the initialisation) and
 *	ps_macros.c for the plotting macros).
 */
char	*MOVE;
char	*RMOVE;
char	*DRAW;
char	*RDRAW;
char	*ADRAW;
char	*AARC;
char	*RARC;
/*
 *	Definition of "ch" used in SIGNED_NUMERIC
 */
char	ch;
/*
 *	Define the function getval() which returns a real number.
 */
float	getval();
/*
 *	Scaling parameters used for translation from DXY and RD-GL
 *	coordinate sytem to the PostScript coordinate system which
 *	has been defined in millimeters. (See above)
 */
float	SCALE;
float	XSCALE;
float	YSCALE;
float	xmax, xmin;
float	ymax, ymin;
float   psxmax,psymax;  /* max postscript dimensions */
float   tlp,tln;  	/* HP-GL tick length parameters */
float   FONT_H_MULT;    /* fudge factor for font height */
float   FONT_W_MULT;    /* fudge factor for font width */
/*
 *	End of line terminator (RD-GL / HP-GL)
 */
char	EOL;
/*
 *	PostScript Coordinate parameters
 */
float	lastXmove;
float	lastYmove;
float	absX;
float	absY;
float   offX,offY;   /* used for Scale command */
float	xval;
float	yval;
float	xoffset, yoffset;
/*
 *	Extra parameters
 */
float	char_angle;
float	char_height;
float	char_width;
float	char_space;
float	char_slant;

char	font[40];

char	symbol;

int	dcount;
/*
 *	Degree radian conversion parameter ie: deg_rad = asin(1) / 90.0;
 *	( Defined in dxy2ps.c or rdgl2ps.c )
 */
float	deg_rad;
/*
 *	Line / pen size parameter (max 9 sizes)
 */
float	pen_size[9];
int     pen_number;
/*
 *	Paper size (ie A3 or A4) and Mode (HPGL or DXY)
 */
char	*PaperSize;
char	*Mode;
/*
 *	Flags
 */
int	LANDSCAPE;
int	DRAW_FLAG;
int	PLOTABS;
int	PLOTARC;
int	PENDOWN;
int	SETDOT; 	/* HP-GL commands only */
int	SYMBOL;		/* HP-GL commands only */

void arcps(int type);
void circle(int type);
void changesizes(char sizebuf[50]);
void dxycom(char op);
void end_draw(void);
float getval(void);
void hpglcom(char op1);
void dumpit(int x);
void dumpcomma(void);
void linesize(void);
void linetype(int line);
int local_rint(double x);
void manualfeed(int arg);
void plotcoords(void);
void plotdot(char *type);
void plotinit(void);
void plotps(char *type);
void ps_macros(void);
void rectangle(void);
void textps(int type);
void tick(int type);
void userdefchar(void);
float theMagnitude(float x, float y);
float theAngle(float x, float y);
void viewport(void);
void modify_viewport(void);
hpgl2ps-2.2/dosstuff/ 40755      0      0           0  5745537002  12562 5ustar  rootroothpgl2ps-2.2/dosstuff/dxy2ps.exe100644      0      0      224530  5745522126  14662 0ustar  rootrootMZX@.{>ajrA'
aQfQQQRRRRRFS-t΂ʂĂb6bϒvcoÐmϓvbrbSԖ7(`5zO;mץȥ ںκ9q{sZvld}2%wj&
`SKGZJb.0!.,ڣ.r3؋aC&8ùى+>s>nj!r(>r"G;r>t>u;w
ډ+؎JW!_ҋ3.8!+>"vG>r@w>r7X!r*g"!r H!r@HI!r
X!s艍3URX.,666MP.VW,8_^VW.3&F-tKR؋Z_^ËLF!eRċZP׌5!tv5!xz5!|~5!%ʎں!%t!%x!%|!%!ø׋;t&?t&O2;sӃ;t&?&t&_&Wô׋;t&?t&8gr&gӃ;t&?&t&_&W4VFFFFFFFFFFFFFFFFFFFFF=t=u688|8w
G
68wYHP{=tB>H0|>H9~>H-t>H+t>H t>H.u4N45V5=688|8w
G
68owYHP*{=tB>H0|>H9~>H-t>H+t>H t>H.u94R45V5=688|8w
G
68vYHPz=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68vYHPQz=t3>H0|>H9~>H-t>H+t>H t>H.u	`5^=> t.hnY6:59^59^h=n54f5^54f5^5F5:9~=F֞v 5F5:9~=F֞s
FBF5F5:9~=F֞v 5F5:9~=F֞v
F4CF5F5:9~=F֞s 5F5:9~=F֞v
FCF5F4N܃9^=N7~5F4N؃9^=sN7n:9^=[5^5F5:9~=F֞t5F5:9~=F֞uc5F5:9~=F֞s
FBF5F5:9~=F֞v
F4CF5F5:9~=F֞v
FCF5F܃9^=M7~5F؃9^=M7n:9~=F֞s-5F4v؃9^=iM9^=gM805F4v܃9^=<M9^=:M845^=5F4F5^5F5:9~=F֞s
5F4F5F9^=L4n5^=5F49~=F֞r54n5^=5F5:9~=F֞v54F5^= 5F5:9~=F֞vDD6D5F9^5F9^5F9^5F9^5F9^h=Rk,^VW~FFF3Hހ9,t
ހ9tFPKY5V89~=Fr+5F49~=Fw^VFhhYhހ9uFF=~h4h)h5hjzYF^^F~|FFF߀x,u߀xuހ90|ހ99~ހ9.u5ހ9.u ~uhYhNhgj
YFފ^^hh{hgjYFF=~hhh}gj„YF2}_^(VFFFFFCFFFFFFFFFFFFFFF	^vK	.688|8w
G
68pYHPt=t8>H0|>H9~>H-t>H+t>H t>H.u	4N5^=688|8w
G
68`pYHPt=t3>H0|>H9~>H-t>H+t>H t>H.u	*	5^=VFVFX688|8w
G
68oYHPs=tB>H0|>H9~>H-t>H+t>H t>H.u4N45V5=688|8w
G
68joYHP%s=tB>H0|>H9~>H-t>H+t>H t>H.u44R45V5=688|8w
G
68nYHPr=t8>H0|>H9~>H-t>H+t>H t>H.u4N5^=688|8w
G
68nYHPGr=t3>H0|>H9~>H-t>H+t>H t>H.u	V5^=688|8w
G
68'nYHPq=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68mYHP}q=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68ZmYHPq=t8>H0|>H9~>H-t>H+t>H t>H.u$4N5^=688|8w
G
68lYHPp=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68lYHPFp=t3>H0|>H9~>H-t>H+t>H t>H.u	U5^=688|8w
G
68&lYHPo=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=55F4.:5^5F؃9^=O4N4.5^55F4.:5^5F؃9^=Q4N45^=688|8w
G
68RkYHP
o=t9>H0|>H9~>H-t>H+t>H t>H.u4N5=688|8w
G
68jYHPn=t9>H0|>H9~>H-t>H+t>H t>H.u4R5=VFVF688|8w
G
68_jYHPn=t8>H0|>H9~>H-t>H+t>H t>H.u)4N5^=688|8w
G
68iYHPm=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68iYHPKm=t3>H0|>H9~>H-t>H+t>H t>H.u	Z5^=688|8w
G
68+iYHPl=t3>H0|>H9~>H-t>H+t>H t>H.u	5^==688|8w
G
68hYHP~l=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=688|8w
G
68^hYHPl=t3>H0|>H9~>H-t>H+t>H t>H.u	(5^=688|8w
G
68gYHPk=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=hh]5F9^5F9^5F9^5F9^5F9^5F9^h=_2^
|2+
> t@549~=Fu549~=Fuh8}_YhCv_Y VWF3CG
|38|8w
G
68fY8|8w
G
68fYH>H t؀>H,tO>H.u ~thVhKhn\jyYFHCG8|8w
G
68AfYH>H0|>H9~>H.t>H-t>H+t!8|8w
G
68eYH>H t؀>H,t68HPiFP<>Y5^=5F_^VW3688|8w
G
68eYHPTi=t8>H0|>H9~>H-t>H+t>H t>H.uc5:jM|~3> 54J5^5F9^h}=]
_^$VWFFFFFFFFFFFF3~+t688|8w
G
68dYHP^h=tR>H0|>H9~>H-t>H+t>H t>H.u(m9^==~}  h\Y59^5V4&Z9^=H7~59^5^4&b9^=H7n:5^59^5F9^=mH5^=688|8w
G
68cYHPIg=t8>H0|>H9~>H-t>H+t>H t>H.uX84N	5F84N4J85^=!~*uw688|8w
G
68bYHPf=t?>H0|>H9~>H-t>H+t>H t>H.u464J5^=~)t688|8w
G
68}bYHP8f=tR>H0|>H9~>H-t>H+t>H t>H.u(G9^==~}thhXjLuY߃v.wF@F55V5^=F?FF@@F55V5^=F?F^F@F55V5^=F?F8F@F55V5^=F?FF@FF?F55V5^=F@FF?F55V5^=F?FF`@FF?F@FF @FF@FFFF @F55V5^=F?FaF @F55V5^=F?F<55V5^55V5^=55V5^55V5^=u  hXY  5F5:9~=Fr
LJVF5F4N5^5F4N5^5F4N5^5F4N5^5F9^5F9^5F9^5F9^h=X"_^ñnIqM'9FGFFU~uh&WYhGhnWYhWYhWY]Uh6 Ith6 IuXmFV`(F^h6 bIuX(FV`E^hh6 7IuXFV@`E^=h6 IuXmFV`F^@hhrTjqYCh6 HuXmEV`(E^X(EV`D^55b5Z55555r5n=]UVW~4N5=4R5=;><u"545545=;;>:u"545545=WhhqSjpY>" t6P59^59^59^h=UZ>  tSh/UY6>59^59^=6:59^59^h8=OU&hMFUY688|8w
G
68\YHPp`=t9>H0|
>H9>H-u>H+u>H u>H.u}_^]U:U<W>Y@[D]F` L?J     " x?v|f@zffL<<L==L> >  > 
 ?  ? hchCX~@?3@335555=9^=R>465=]UVW~;>:t	;><t;>:u74N455=4R455=M;><uGe4N45=4R45=688|8w
G
68KZYHP^=t9>H0|
>H93>H-u)>H+u>H u>H.uM=d|7hkURY6:59^59^ht=0R 4N5=4R5=> u4hQY6:59^59^h=Q ;>@uI545545=6@59^59^h=Qb;>>uI545545=6>59^59^h=5QWhhNjkY688|8w
G
68XYHPH\=t9>H0|
>H9p>H-uf>H+u\>H uR>H.uH_^]UhPYhPYhh!PhTPYhqPYhu}PYhxvPYhoPYhhPYhaPYhZPYhSPYhLPYhEPYh>PYh7PYh"0PYh&)PYh)"PYh>PYhSPYhq
PYhxPYh|OYhOYhOYhOYhOYhOYhOYhOYhOYh
OYh#OYh8OYhMOYhOYhOYhOYhOYhOYhOYhzOYhsOYhlOYhBeOYhI^OYhPWOYhSPOYhiIOYhBOYh;OYh4OYh-OYh&OYhOYhOYh	OYh 	
OYhm	OYht	NYh{	NYh~	NYh	NYh	NYh	NYh	NYh	NYh
NYhG
NYhw
NYh
NYh
NYhNYh7NYheNYhNYhNYh~NYh!wNYhCpNYhiNYhbNYh[NYhTNYh
MNYh%
FNYh3
?NYhJ
8NYhQ
1NYhj
*NYh
#NYh
NYh
NYh
NYh
NYh
NYh
MYh!MYh8MYh`MYhMYhMYhMYhMYhMYhMYhMYhMYh)MYh7MYhFMY]VW3FFFFFFFF688|8w
G
68TYHPX=t2>H0|>H9~>H-t>H+t>H t>H.u<688|8w
G
68pTYHP+X=t8>H0|>H9~>H-t>H+t>H t>H.u:4N5^=688|8w
G
68TYHPW=t8>H0|>H9~>H-t>H+t>H t>H.u4R5^=688|8w
G
68SYHPWW=t8>H0|>H9~>H-t>H+t>H t>H.uf4N5^=688|8w
G
682SYHPV=t3>H0|>H9~>H-t>H+t>H t>H.u	5^=59^59^hW=:K5F9^h`=$K
5F9^hh=K
5F9^hp=J
hyJYt_^nVW"~t3CGd|3HCG8|8w
G
68.RYH<t>H
t>H
t	H:~uFP59^59|59th=LJ549^=5~;F4:45549^=7~;F4:45==F688|8w
G
68KQYHPU=uK>H0|>H9~>H-t>H+t>H t>H.u!"9FvvhhFj8dY48F^wR.*hXhShNhIhDh?h:h5h0h+h&h!hhhvhhvFh	FP;FP59^59|59th=H_^D*I*N*S*X*]*b*g**l*q*v*{****5^4&b4n4N5^5^4&b4r4N5^5V4&Z4n4R5^5V4&Z4r4R5^=~t5n5:9~=Ftm5F45=6<5F9^5=9^h!=G6@5F59^5=9^h-=G5r5:9~=Ftm5F4.5=6<5F59^5=9^h9=1G6@5F9^5=9^hE=G5n5:9~=Fti5F45=6<59^5F9^hQ=F6@59^5F59^h]=F5r5:9~=Fti5F4.5=6<59^5F59^hi=,F6@59^5F9^hu=FV 59^h=E
t5^5F49~=Fr R5^=$5F89~=Fw ,5^=5F49~=Frk5F89~=FwS> u{=d|7h>EY6:59^59^h=E 5F4644N5=4644R5=> u4hDY6:59^59^h=D 66665^=66665^544F5^5F9^=/4N55F9^=14N5545545=6@59^59^h=C5F4644N5=Q4644R5=66665^=66665^544F5^5F9^=.4N4555F9^=04N455=85F49~=Fr 5F89~=Fw 688|8w
G
68BJYHPM=t9>H0|
>H9>H-u>H+u>H u>H.u 549^=-58:45549^=/58:45= 59^h=A
^U5F4N5F4N:9^=/]]5F5:9~=Ft5F4v9^=I"$5F5:9~=Fs99FHCFFCFFAFF@F> tx5F85j5V4&Z4j5^4&b:5f55F4F4&f46:555F4F4j46:5h=@Yo5F85f5^4&b4f5V4&Z:5j55F4F4&f46:555F4F4&j46:5=59^59^h=@5V4&Z4>f4J5N5^4&b4>j4J5R=U5V4&Z4>f4J5N5^4&b4>j4J5R5Z54N55b54R5=]VF-A؃8v.I8|8w
G
68FYFFFI.;Ft.g > t~688|8w
G
68FYHPFJ=tL>H0|>H9~>H-t>H+t>H t>H.u">  t
6:FY> tjjYjj>YQ8|8w
G
68EYFF=Lt=lt28|8w
G
68EYH<t	H:~ujY8|8w
G
68EYFFF_I.;Ft.g{yjwpa4N4J54:5^=A4R4J54:5^=6<5F9^5F9^h1=f=
j
Y8|8w
G
68DYFFFI.;Ft.g   "  ~> t45^4&b44R4J55V4&Z44N25V4&Z44N4J55^4&b44R4J5=58E559^59^59^hhM='<j688|8w
G
68CYHPJG=tp>H0|>H9~>H-t>H+t>H t>H.uFY4N5^=K4R5^5F9^5F9^=f&465=688|8w
G
68BYHPF=tu>H0|>H9~>H-t>H+t>H t>H.uK4N5^=4R5^5F9^5F9^=%4645=6.8|8w
G
68%BYH<tH~_j2YE8|8w
G
68AYFFFH.;Ft.g
jY
8|8w
G
68AYFFFH.;Ft.gjY
8|8w
G
68FAYFF=Pt=ptjNYa
8|8w
G
68
AYFFF
H.;Ft.g  "  ~> t45^4&b44R4J55V4&Z44N25V4&Z44N4J55^4&b44R4J5=58E559^59^59^hhc=h8jj
Y8|8w
G
68?YFFFH.;Ft.gj'
j+YjjY8|8w
G
68i?YFF=Rt=rtjqY8|8w
G
68-?YFF-A؃6w!.!H
jY+8|8w
G
68>YFFFG.;Ftv.g , 688|8w
G
68>YHP@B=tW>H0|>H9~>H-t>H+t>H t>H.u->  u>" t
6:9Y> t6>6:Y
 688|8w
G
68=YHPA=tP>H0|>H9~>H-t>H+t>H t>H.u&>  t
6:Y> t6>6@}YHIF 688|8w
G
68\=YHPA=tW>H0|>H9~>H-t>H+t>H t>H.u->  u>" t
6<Y> t6@6<Y4J5^5F9^hy=A5
 688|8w
G
68<YHP]@=tP>H0|>H9~>H-t>H+t>H t>H.u&>  t
6:]Y> t6:6<2Yjj[Yn8|8w
G
68<YFFFG.;Ft
.gjY8|8w
G
68;YFF-A؃2v-.cG#688|8w
G
68;YHPB?=t6>H0|>H9~>H-t>H+t>H t>H.uQ5Z=Z688|8w
G
68;YHP>=t4>H0|>H9~>H-t>H+t>H t>H.u
5V=688|8w
G
68:YHPq>=t4>H0|>H9~>H-t>H+t>H t>H.u
5b=688|8w
G
68P:YHP>=t4>H0|>H9~>H-t>H+t>H t>H.u
5^=z688|8w
G
689YHP==tY>H0|>H9~>H-t>H+t>H t>H.u/444J5=44J5=E8|8w
G
68W9YH<;u 5J855J85=58E559^59^59^hh=688|8w
G
688YHP<=t;>H0|>H9~>H-t>H+t>H t>H.u45=58E559^59^59^hh=0RP8|8w
G
688YH<t%>H;tH؊^~H" " j[688|8w
G
687YHPs;=t=>H0|>H9~>H-t>H+t>H t>H.u4J5^=t544J5^544J5^=> t85^4&b4z4R4N4655V4&Z4v4N,5V4&Z4N4N4655^4&b4R4N465=58E5=59^59^59^hh=JjY8|8w
G
68_6YFF=Lt=lt688|8w
G
68)6YHP9=u>H0|>H9~>H-t>H+t>H t
>H.t85n=688|8w
G
685YHPs9=t;>H0|>H9~>H-t>H+t>H t>H.u85r=tr55n5n=jjgYz8|8w
G
68#5YFFFSG.;Ft
.ghjjY'8|8w
G
684YFF=St=stjY8|8w
G
684YFF=Gt=gtjY8|8w
G
68X4YFF=Tt=tt
j/YjjXYl8|8w
G
684YFF=Tt=tt
jYjjY)8|8w
G
683YFjY^CFcfFFFFk?Dn?DDDADADD%BBDD8CD=CDDDDDDDDDDDDDDk?Dn?DDDADADD%BBDD8CD=CDAORaor#?%?'?#?%?'?ABDGMRTUabdgmrtug<<<===%>M>g<<<===%>M><<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<BOTbott;{;};t;{;};MNPVWmnpvw1:4:$;&;(;1:4:$;&;(;PRSTprst99999999ACPRSWacprswL9N9P9R9T9V9L9N9P9R9T9V9CFILPRSTcfilprstu6x6f788888u6x6f788888ACIMPSTacimpst55555&6(655555&6(6AFHPRSafhprs]444444]44444444k5369a99'G9'G'G3;'G;;%<'G>2?DE)FeFFF'G'G'G'G'G'G'G44k5369a99'G9'G'G3;'G;;%<'G>2?DE)FeFFFUVW~
uu8|8w
G
680YH<t>HA|ʃuu68HPK4_^]UV8|8w
G
68]0YH<t>H,t68HP4^]
VWF-A؃7v..>M76>6:6@6<j)j*ȃ9^=OЃFȃ9^=:ЃFȃ9^=%ЃFjI688|8w
G
68x/YHP33=t@>H0|>H9~>H-t>H+t>H t>H.uBȃ9^=σEF;F84J5E=F;F84J5E=F;F84J5=59^59^59^hh='ǃ9^=
σF^w-.6MB4CCnj bjj
jjjżYJEƋ8|8w
G
68	.YH<t6HYFPh	h#_^ÜLLLLL+KLJLMLJKLL#KKLMxKxLK}KLMMM3KMMMMMLMML+KLJLMLJKLL#KKLMxKxLK}KLMMM3KVW~>u	7!;>>u6^t:t:uF
uz~:tFPvujFހ?:u5?u;>M^$ ?u
$ F,3$ $ >th*S$Y?_^VWF B E	^av.P W6$ h(6$ F 6$ >Y5J5J8Z9~=FsL=J"5J4b9~=FvL@@Jhhqhfhv!hyhuhg!j>Y6$ Y5
6$ Y5=$hhh2!hhh#!jh>YhIvvF=t;Fu88h^7 8u^7hh j>Y{59^hh=#~tj"Y^uW@Y8|8w
G
68\*Y=uh"Y~tjYj=Y_^OOOOOOOOOOOO)OOOOO1O:OOOOOOOP2  XPb?
rXSP.FQ6G.DQ6GX[˓bXVW66663ظ45Q!E@u5!E5!Ebػ&,+&:t&=87u&U=uC߀YuC_^tdTY;u$$tR.LQ.LQt<8>??u>u6Ubۃ>FF
FF
uF?!F
F&F
4%
V!@>%V!%_Q!ۃ>t=u
u%PQ!766F>|NV5n^F6!3]b؃>|(74%Q.!@u%.!%.W!øU3PvYY]UVW~u_^]UVv^]UVvFFPFPPFPSPSPr-7~=~F)F~u"tF7n^]UPvvYY
7~99^=]U9F>]U=f9F]U3ɸC;~u~@j?Vto;t~?9FP5~=FF5n7n~u
5^5F9^9F5n]FFFFt;}5t5"]~t7n9^9F7n5^5F]U_"<Gu
0uK;w8guK]U2VWFF=(v(FFV߀Fu~+F		Eu@FvP^SvVFP~
tt%+I~t@@NF+N~t@@A~t-V_FtEtx|sFu@;g(bf0t	0Cu
tKuFAFN;v
+ذ0KtKt~uVN
ߊf;~
u0mF
u	~t"Ī
u~uVN
ߊf "FE+-K}۪00=cv=v
dĘ
2_^]U]UVWFFFFFFF57~=FFvVY}~ÀuuN
|e<+t<-u1FFN
|RFvVY~u~t<It<NtF:Ft2<9w+<0r',0G4F
u߁tN며eFmu+~늃w
f։FVqw4
fF
fFR
fFR
fÉFVZVZV5F~
|vPVYYN5tށu~v+<Et<euJN
|QFvVY<+t<-uFN
|7FvVY<9w,0r
D~3F0vPVYYNFt^^}5fNǀ~t~u$5FFFFF7nF/Ãv+;nt}PkX}::ɀ~t5~^~^}FvVYN
|f<NubFvVYN
|S<FuO~t5854FvVYN
|,<Au(FvVYN
|<Nu~t5@5<yF[_^]U9]U
Vv7~t)P7n
7~99^=W^<9t
^7n<?&3P7n
7~9D9^=^<=^]U]UVWFF
؎~^&	!N&!.ZZZZ<<&#E=t&%<-3Ӌ~59~=FG@ttt7,'0~N
A(v(~29957~=F-?MꓴMFÃ؃F
|=~+t&}=D~DP(X::ɖ+SX49~=FEtBCw~
~+:vK$HPX49~=FAu
JK~
~:NC|$5;v~W2v=u,t!5_F$00
KtĪ
Ku[uB~
0CE1N
ʃ(v(+F+v0C~^N&		_^]
UVv<u
59\=<u3^]Uv=]UVWv~vFFu599^=~
u5^
99^9F9^=FP|Yu3vLPP	t
tu"!9F_^]UVVvLd9msY554:549~A="ft	xq55
tF;F559:
y5~u5:~wSDDuI9؀~t59؀~tF;F55999F;F559t99Z9^3P=vvPx^]UFPPbP]UFP3PgP]U9FF$^
9Ft.tI=sZs?:>Ft5Ft::]t?r9995s5997.lFt5Ƀs995999v9^=FPFP~PP]U9F#F
=@Cs>|>]999^3P=FPPPB]UV7n#F=@s>LwF
F
u
=rr=rrݾ9؃u599^3PPPV=^]
UVF9FF
#tI;t9FF#t&;t9^%9^F}59^=9995'9ؾ%9؋F>t
99^=	59^=9F9^=FPFPPV/5759~=F tC959~=Fs999^=>8N
7?~t5|-=?r9<r;~Ft5FtF뒋^
ӑAI;u5V^
|4s49F9t5:^]U9F#F
=@Cs>|>]999^3P=FPPP]U9FF
tr5]999^3P=FPPP]UVF=}5=D~56u5}ؾ#5s4uis8s7.:s7.:s7.:s7.:s7.:s7.:s7.":s7.,:Ft4>^]UVV^>x tL3PPx YYPPx YYt+u'3PPx YY^&6PYY'%^&67PP
*^]U
5~=FN5n;~F5nFV]UVWvjYF@PvvFF_^]UVWFv~
D2&M2+_^]UVW~v
NsڋVF_^]UVW~N
Ft	Is_^]UVWv
vvvVF_^]UVW3~
2ыvD&]+Î_^]UVW~vNsF_^]UVW~NFt	Is_^]UVWvvvF_^]UVWF;Fs3v~NtNOtI++s_^]UVWvvvF_^]UVW~2u~+tIs_^]UVWv^t	:t"t:t"t:t"u3FD_^]UVW؎3؋~2ыvD]+_^]UVW~2ы~F_^]UVW؎~3H_^]UVWV~uF& vuPPvDYYPTPvYYF_^]UVWv3P^?u^PFFPvYYt̋F_^]VW%LJ$ڱƇ㉇B;"rՠPYu&Pt3P3PPPYu&Pt3P3PP_^UVWF
vYFF;"r_^]UVWC2V!r	^3Pa_^]UVWCVN!r3PB_^]UVWV|X~WZڊ\;~Z_^]UVWvF_^]UVWD^!%_^]UVW^ہ$BF
^NV!rPq_^]UVW^$tP?^NV!rP@_^]UVWvvv_^]UVWAV!r3P_^]Ê'@'UVWFFPFFW2I_6GNu/SQRj+jPWvV
uFFP~jZY[j~~v
t<%t6GNv<%t~3ɉNNNFF2Ћ؀ `sv.mwNЀwNŀw~+tV뵃fN 맀wMFu)N8~6Fsy؃NFou׉FbsʵFU,0wF|F3uFtFNeNfY

FV3҈V~6
FV~6GGvFt6GG~~uu~u6NRPWǘPFPSV}Vv~^67CC^F t6CC^:Z6FfN+ϋV;vV~6F~26vV~F u
6=F6=FuP;NvNvV~N}WQ^SR#FPFt	F
FP~FtV~&=-uI+~V&=-tF
tO&~~
N}N~^#F=ufou
~FxtXuN@KKn}FNFu yK;F@t0hFbV~'++&<-t< t<+u&CIK08+&6GN+~	˰ Uv~F u6=F6=FP*FF&FtGG&v~%
u~P}~tF_^]oiYiidiiij$j)jiRj0j4j8jj^kk!klllliiUVWV;"r	P*LJ$RgY_^]UVWF~ty^G;Fun^t?}	SeYuW^GtwY^|GPYF^GGGt3PPw	PnY^GF_^]UVW~uv^G;Fuf^?|+GuF9G
uR^F9G
u@GG
8^G@F)PGG
PGP	;Ft^Gu	O3_^]UVWF"FF^GtSHYFFFNuF_^]UVWF"FF?^?}3G@F)PGG
PGP	;Ft
^GuOFFFNuF_^]UVWF^F<ru
F"wuau	FF3x^F+t^?+u$ttbu+u^FFtu@buL%ЋĀtN@<y^^FF_^]UVWvFPFP#^
Gt#}+vFFPv^
G
}^
GGD^
GPpYt^
OP^
Gt3P3Pv
@tv
Y3^
GF
_^]UVWF^|"VF;w^|3F_^]UVWu3
Rvv3P_^]UVWuPvvFPb_^]UVW~tvYFu3 vvvt
^^G_^]UVW^?}
WB^3+‹ЉF^G@u3^O
?}!Iـ?
uFJuA?
uFJuF_^]UVWvYtP~
u^?~Si)FV^g_GG
v
vvGPu
=u3_^]UVWP3PP^GP}VFu=u^?}{G%t]P3PP^GP=VFu=uW3Pvv^GPu
=u.VFVFv|FV
vm)FVVF_^]UVWV;~}>|ۋFF{tڀ?tPSPPPvPP_^]UVWuPPvFP_^]UVWFSFPYY_^]UVWF4 ^?}5w
G
Gu>4 
t
>4 
tvYu^GuGu
^O^OtP?tSYt^G؉w
G
4 Gu>4 
t
>4 
tvYux^G%tP3PP^GPC>4 
u!^G@uPPGPh
=uP4 P^GPM
=t^Gu	O4 _^]UVWPvYY_^]UVWFF^Gt)v^FP}YY=uqFNuh^G@uuG;FsX?tSYt6^G%tP3PP^GP:vv^GPn	;Fu^F|?u
+GvYtvv^w
J^FFG
^G%tP3PP^GPvv^GP;Ftf`^t>0^}w
G
^Fv^F7YY=t%FNuvv^GPf;Ft3F_^]UVW^G;Ft~~~
v>u~u>u
~u^?tP3PPS^Gtw#Y^gGFGG
~tJ~
vDty~uv
YFt	^O^FG
GF
G~uO3_^]UVWvv^7^F_^]UVW^wPFPvFP_^]UVW^wPFPvvv_^]UVWF;"r
PKF@=s3^%tP3PPv^%@uvvv^ہ$FFFFYN^FF<
u
AيFAv+Ё|/+ЉVRPvX;FtuKF+F>v~uv+ЉVv*RvPv;FtuF+FF_^]UVWFF^GtS	YFFF;"r_^]UVWFF^GtSfYNF~u_^]UVWNCFV!rP_^]UVW>^!rLJ$3P_^]UVWvY_^]UVWF;"rP]^%tOD^!rA€u8B3ɋ!r1RPB3ɋ!FVZYrB!r;Vrw;Fr3P
_^]UVWFF^G%=uS^YFFNu_^]UVW^Gt^wGG
PGP<^~g3$^?uG%
 G^O_^]UVWFSY_^]UVW~u^?~9^?|
GuGu	^Ow^OtS=ua^^w
G
n^GtP6 P^GPju.^GP>Y=t	^O^G%
 G>6 
u	^G@t^gߠ6 _^]VWP#Y_^UVWN<V!rPX_^]UVW^++Ҵ@!_^]UVWFu	L%	FF3PvDYYF~u
>Zt6ZZFFtpN!FFuP~u)Ft3FFt,v3PIF}Ft&PPvYvvF}tvvYYF|_3PvkYYFt!N Ft"%
 PPvFFtvFtFtFtPPvB~|6gFt3VPFt3ZЋ^ۉ$F_^]UVWNu
uV"N
=!rFF%
^ۉ$FP_^]UVWvvYY_^]UVWF;"r
POF@=r^%t3vvvF@=r^%@uFbNv<t-<
tSPFPv[F;u SPPQv ^ہ$[+_^]UVWNVt:ڃ?}0ڃg=~O
_
ډG
G_^]UVW^$tP@^NV!rP^ہ$XP_^]UVWvvv_^]UVWVDF^N
!r~uP_^]VW_^YQ3YQYQYQUVWF
V^Nutiteuy
؃y
ۃ W33;rw;r+@[tƋt؃_^]t3[Ssـˀ3Vt^U"VW~
^$wXrSFN}~t-G؃v+F	+FuNN,
s:FF
_^]UVW3Pvv
PPaPh_^]@!'@!|&&&&UVWvY_^]UVWvY_^]UVW9Fu	vYvvYY_^]UVWvvYY_^]ÎU VWˁI3PPPPPP3PPPFP*YYFH؎&&WFPP&_^]UVWFFF_^]UVW~tFFvYFu>uF_^]UVWvvYY^G^G>H؎&&WF_^]ÎbT‚UVWڂGF3PPFPIYYFPPPFPL
v1H_^]VWG؎&/&_3PPdYY_^&.2)6string&.:Ѓ>xalloc
UVW~t,G؎&/&_3PvYYFt	vcY3_^]&,04xmsg.;Et7ڎ>t.G8.;Et.G3P.K#.E.E.G.I.KR3PÎ.;Et.&>u&[&Ў&>u&
&Q&؃>tá&&;t&.I.I.It!Ӝ66ӝ&.IUVW.KVt.;Gu.K_^]P.K3PP%t+3.KPRXP3ۊܱ.KSP[=t.E.Gډ3P3ۊܱ.KSP[=t8%u.G.GډSR3SPLZ[=tB3Ë)ڣۉUVFVW.Kt^rAu;
.Et .Itڎ9s;u03w-.K_^]S.6MV.6OVsu[SJt7@@3ʁvv.KZ.;GtDNj+&6&P&ю&>t&>&>ָS&S3PZUV
F^VW.K.M.Ot:t>r>u8
&;rwӸJRPGSP33.K_^]VW\r;tB_^9
t#wt6 ;6
t
TG
3
S[;
twu?u2?t\ߋ;t>wu|Ë6t|\]wÉ__VWDtRr6%=s>
tt
9s_;uf!397sk_^P3PP[[%t	3RP[[XP3SP[[=t؉
X@[3P3SP[[=tءGX@X3)7@\uËSPQP[tvVF$[^˃;w5;uSP[[]+)|Bˋ7كVWU^F
t7t-IЃs;rwO
PeS3[]_^UVWF@F)FF?F;t:fF;v	+Fv6YYЃuFVF£3_^]UVWVFr VFw
vv@u3_^]UVW3ұFV|U=wPN^VFBr-VF/wVFvvuVF_^]UVWFԁ;s3	_^]UVWFVur
;s	_^]UVWvY_^]UVWFRPYY_^]UVWJ^F!rSPX_^]}у/sЊ%}у+s2+ӊЊ%QЊŊYˊ%;u;UVWvqYPvP_^]Ü[#PX%=tBSX%t/fԃffXff5fPfffXf3ftVWPY_^UVW> uۋF8 3_^]VW_^UVW~u8 >usss~u~uv+sY_^]UVW3PPv_^]UVWP3Pv_^]VW3PP3Px_^VWPP3Ph_^VWPPYY_^UVW5F!_^]UVW%FV!_^]@BD.掉6F>H2&@Ň֓6FF>r2rP@%+r`QI2ً݇ËCwrD<
tw< t<
t<	u2tB
uC2I,"t"<\u<"uI+Y.掉<Cۋ+r.>v6
t3F.掋6F>H6D6B<>&@PSQRVWUb݋^&?btz 7TF=t,~t~uP3YTFP
PPV]_^ZY[XPSQRVWUb݋PF=t,~t~uPYPFPPPV]_^ZY[XPSQRVWUb݋RF=t,~t~uPYRFPPPV]_^ZY[XPSQRVWUb݋RF=t,~t~uP1YRFP~PPV]_^ZY[XPSQRVWUb݋NF=t3~t~uPYN6 6~ #P%PV]_^ZY[XUVW3ҋڊZ;Fu	B|_^]UVW>Lux LvY=uۋNFۋFN~u8>Ku#PyY ~ K~u
6 6~ PeP#j~uPP3PNPPF~u/>Ju@PY| z PPPJ~uPcPPF_^]UVWvY=uVۋNF=tD~u#F=t=u3#L!P7YLJNڊ`PvVYY3_^]VWl_^UVWV6G
Ft6OW
6_F_^]U"VW!7^6G
FF6u6_6GF^Vގ^F^v47_^]VW_^UVWV6GFt6OW6_F_^]UVW6GF6u6_6GF^V'_^]UVWFFt3;Fu	;Vu3:^^&^F^VF&+GVF^&W&GVF^&G_^]UVWFFt3;Fu	;Vu3>^^&W&VF^VF&+GVF^&W&GVF^&G_^]VW666fأzx66G6_^UVW~uPYFtvvYY^FG5؎&&WF_^]ôU"VW43PPPPPP3PPFFPFPYY^ދGF4؎&&WFPP7_^]UVWvvYY^G^GL4؎&&WF_^]&.:>xalloc3UVW~t,3؎&/&_3PvYYFt	v=Y3_^]&,04xmsg- kUVWyX3~uPYFt:PYFt#FvP3YY3؎&/&_FF^2؎&&WvY3F_^]- UVW2~uPYFt<PYFt%F^7P
3YYr2؎&/&_FF^U2؎&&Wv2F_^]UVW12؎&/&_~t+2؎&&WP^7?6YYFtvmY_^]UVW13PPPP2P3PPvFPYYFPPk_^]- MUVW[v1F;FtZ_1؎&&WP^75YYPYFt%F^7P1YY"1؎&/&_FF^FPvp1X_^]&,04xmsg
@string *&.2)6stringVW܉RP_^UVWFFu=^VF&GVF !u^&ڈB^F&?uܸ _^]U
VWVF;V
u;Ft|^&G^&;Gud^&^&;uV^&G^&GuD^VF&GVF^V
F&GVF^&F^&FF;Vt3uڸ_^]U
VW^VF&GVF^&W&VFFFt{^&Guj~t^&G%=u3Fvvv
vt	~t^&Gt"vvvv
vvvctFm^VF&G
VF^&W&VFFFtp~t^&G%=u3Fvvv
v\t~u)^&Gt$vvvv
vvvt	Fx3_^]UVWNVF;V
u;Fu^&GF^&GFF#Ftrf3f3F;FutF%V;t%F%#FtNNF;FtfF
0V0;tFuF#Ftc^&W&G
^&;Wu&;G
t!t^&W&G
^&G
&Wuw^&W&GVF^&W&GV
Fv
vvvt6Ft.Ft(^&GtPvvv
vvvI3_^]UVWvYu*~w6Gtk6O6G_^]UVW6G;Fu6gvY_^]UVWv
v3Pvvvvt^&GF^&GFF tvv
vP^&w&wvvu]^&W&GVF^&GFFtsv
v3PvvvvuF%0V0;uCFt=Ft4Ft,F tF t F@tF%V;u33_^]UVW6GF^F%FFtNFtNFuN F tNFtNFu^v.͢v3PvVgv3Pv^Uv
v3PvvVv
v3Pvv^
)3PvvV3Pvv^3Pv
vvvV3Pv
vvv^V^3S[VV^3S[^v
vvv3Vv
vvv3^vv3PVvv3P^YY|vv
v3PVevv
v3P^Nv3PvVv3Pv^1v3Pv
vVv3Pv
v^	^v.vvVgvv[v
vvvVv
vvv^vvkvvpF^S[VF^v
vvvv
vvvvvVYfvv^YZvv
vVYYHvv
v^YY6vvV+vv^ vv
vVvv
v^_^]âȡݡ$0<N`kv/AUm|ĠԠ砍	1HVeyUVW~t3F6GF^F%FFtNFtNF
uN F tNFtN^v.vvVYYvv^YYvvvVvvv^vvV[vvPvvvVvvv^^FS[V^FS[^vvFVvvF^dvvVYXvv^YLvvVY>vv^Y0vvV%vv^vvV
vv^_^]qģң}}}}%1?MXcpUVW6GF^F%FFtNFtNF tN^wk.lvVY[v^YRvvV	vv^YY:vVv^*^S[V ^S[^vvV	vv^_^]
+3OZ;EOZTUBVW%VFVF6_6 6G^VF&GVЉF6W6G;v^&ڈBF^&?uڋ6FG6FGVFVމF^&F^&GFFt	^&G3FF0t^&W&GVމF܋F6PYVԉF6W^&W&6VԋF҉W^ҋVF&W&G^ҋF&G^ҋF&G^ҋF&G^ҋF&G^ҋVދF&W&G^ҋVF&W
&G^&G"^&G&&G$^&_^&G^ҋF&G*^ҋF&G,^ҋVF&W&G^ҋF&G ^&G5^&G4vv
vF6vP
FtX'#؎&W&V̉FFvvvv
vF6vPF,"^̋Nʎ“&G&~ u:Ft4FP^&w"^&w &wv
vFo6G^FVFVĉF‹VԋF҉VȉFFP3PR3PRPRv"_^]UVWn^GNF3Pvvvvvvvvvvv
vvv_^]U
VWn^GNF6WVFFFuPvvvv^&w^&w ^&w&w^&w
&w^&4tVF6	^&G2RP^&w&w;_^]VW_^UVWF^6GtF6FAFF3PPvvvv^6Wu4~tF6^6F~tF;F
u~tF6_^]ULVWVuFF&FFFV6Ov3PPR8_^]VW_^PQRSTUVWzPYXF>sf`f PvzP
fa|zLJ~PNTRXV\Z`^dbffXfpFndž@>dž<:I33҉db`^\ZXVTRPNLJFdžpndbtr~u~u^$&W&GVn^GNFFdžhfFdžljPUP袷
džHFdžDBdžxv^RZVNJbVFVFVFVFVFVFFF$F&u
F"F ~"rw~ v
F"F F FF)^F؋Fv$&T&6W6FF3;V"ru;F rƸPPFPu2FtKFF%VFVFFFFF붃NPPFP7tk>sr0vً:&>&GB&GF&GLJ&W
&GPN&W&Gdb&W&Gtr&W&GTR&W&GXV&W&G\Z&W"&G `^&W&&G$pn&W*&G(f&G,j&G.vfafrvًB&F&GJ&GN&Gb&Gr&G
R&GV&GZ&G^&Gn&Gf&Gj&Gva_^][[ZYXMUVWFPvv
vvvFvv_^]UVW^&4te^&GtSn؎&W&VF^&_F^&w"^&w &wF6vP_
.^N“&G&^&G4^&5tM^&W0&G.VF^&Gt*^&Gt ^&w"^&w &w^&w2
^&G5_^]UVW6WVF^&W&6W^&G"F^6G^6G
&^6G
vvYY^&_vv^&WYY_^]UVW^&W&VFFFu3^6W6^&GVF~t^&VVFvv
vvuB^&GtM^VF&G
VFFFt2FPvv
3Pvv^t^VF6W6FC_^]UVWFFta^V
F&G
VFFPvv3Pvvu1^V
F&GVFFPvvPvvtVF33_^]UVW^&W&GVF^
&W0&G.FFum^&Gt`^&G%@FVF
6VF^
&G5^&F^
&G2VFVF^&F^&O0t^&W&GVF^&Wt#^
&Gtv3P^
&w2,'u0u t#^&W&VF^
&GtF^FFvv^
&w&wuDVFVFvv^
&w&wvv#VFVF;Vu;FtFvF^
&Gtzvv^
&w&wDu(vv^
&w&wvvVFF^&Gtt^&w^&w
&wvv^
&w2F` tvFP^
&w2蔯
t#^
&G;Ft^&^FPFP	vvv^
&w2Q
~u0^&Gt^&w"^&w &wvv
^
&G4_^]U VWF^6G6GF^6G6G^6W6GVF^F&+GF^6G
DFF^^&FF^^&FF^F6G
^v.P^^&G!^6G^Un&!]^6GF6^#^&G";Fu^&G(;Fu VFVF^&W&VFu^&W&^&W&vvYY^&_vv^&WYYK^^&FF^^&^FFVFVvvFFRPvv	
FFF~tF;Ft_^]4333hUVW6Fvv(YY_^]UVW6F3PvYY^66_^]UVWVFVFU^&W&GVFFFt03P^&wvv^&w
&w^&w&wtVFF^&?u33_^]**BCCxh1U6VWFFFFVF
VF^6W6GVF^6W6GVF^F&+GF^6GF^6G6GF^6G6GF^6Gu3PvYY^6t6?t^&W&VFFFu<P^&w^&w&7^&w
&w^&w&wtPF^&&Gu6Fދ^66܋F6"^6G
FF^^&FF^^&FF^v.^6t6?t^^&W&VډF؃FvvvvVމF܋FFu^F&G"^VދF&W&&G$^F&G(FFҋFF^&FvvYYvv[YY^F6G
~uvvvvvvvvʋF֋v^^N^6u
6?uFF̋VFVЉF΋^6W6^6W6GF̋^6G^^&!؎Vv^Un&!]^F5^6u	6?uf^6W6^6W6G^^&Fʃ~}^6Gt
^F6G
39~u^6GFFFԉF^^FF~t_^]rrr#0UVWºFFv^&w"^&w &wvvF
Fv"_^]UVWN`^VF&GVF~t^&VVF^&W&VF^&Gtv3P3PQvvvv3ɃnF;Fs_^]U*VW~t	^&G^&GFFFFtVF;Vru;Frvv
vvv
cVFVF^V
F&GVFVF~tm^&W&VFFFtU^&GtE^&_3;Fr0u;^r)vPvvvFvPvv)^^F^V
F&G
VFVF^&W&VFFFt]^&GtM^&_3;Fr8u;^r1v3PvvvFvPvv~uM*)^^F^V
F&G$VFVF^&W&VFF^&Gt^&G
F^&W&GVF^&Gn3;Fwr;^s
)^^^VF&GV܉F^&W&V؉Fփ~v!vvv^&w&7vvvPvvvvvvFFnF;Fsv3P3Pvvvvvv~t vP3Pvvvv F_^]UVWV
FVF^&G
F^&W&GVF^&GFFFFu^3ɋVFVFvvvvVFN^VF)FV^&3ɋVFjVFVFFFt@vPvv^VF&+VFvPvvvvvvYFVn^u_^]UVWN6W6VF^&G%P=Pu|^&tr^VF&GVF^&G	t^&W&V	^&^F^VF&+GVF^VF&+GVF^&W&G6W6VF_^]U VWF~u^6W6GVF
؎&W&+FVVFV
F)FV^&G t^&&_&GFF^&Gt
^&&G~,u~w$^&G%=tfVFVFFdVFVF^&&Gun
E^&W&VFVFF^&Gu^&W&GVFVF^&Gu^&G u^&Gu^&Gt^&GFV^&W&GVFVFVF^&Gt^&W&V	^&^F^&G@tFFPvvVFVFVF^&Gt^&G
F^&W&GVF^&GnFF3;Vru;FsF)F^F
^&W&VF^&GFFt^&GFV^&W&GVFFu^&W&GVFVFVFFt^&W&V	^&^FVFVFF%H=@uF^&Gt&^&G tFtFPvvlVF~uF^&Gtvvvvvvv:vPvvvvvvXF%=tF%H=Hun^&GtK^&W&GVF^&G&Gt^&w^&w&w8FtvvսDv虽F^&G&Gt ^&w^&w&wvv
Ft
vvkYYvAYFFFn
;Fv3_^]UVWFF~t+^6GNFPPvv
t^6G
_^]VW6G_^VW6G_^VW6G_^UVW~uPYFt5^G3P3P3P3P3PP3PPFFPPF_^]UVWF_^]UVWFVtGtPY_^]UVWF^wwwwuՃ_^]UVWFvPYY@_^]UVWVNڋGGu3FًGGu7ًGt&DwPڋGt&DwP?}3_^]UVWFwwYY_^]UVWFFFFu$3P3P3P3P3PP3PP!PzPr3;Fu);Vu$3P3P3P3P3PP3PP!PzP@^V
F&+GV
F^&W&GVF^VFWGF_^]U VWFFFFFFtv
vvvӃu
^&Gu33F^V
F&GVF^&W&VFFFu^&Gtt~t^&G%=u3F^VF&GVFV"F VF^&Gt^&VVFVFVFvvvv1Ӄuk^&Guvvvvvvvvvvvvvvvv VFFFuVFVF^6F]FFtVF;Vu};FuxVFFFt43PP3Pv3PP3PPvvvvvvvv; t3~tVF;Vu
;FuF	FFVFVFFFF]~uF^V
F&G
>^F6~t
FFVF_^]UVWVFVFVFVFFFu3;Fu;Vu^VF&+GVF^V
F&+GV
F^&W&GVFFFtvvvv`уt	VFvvvvAуuB3PPPFPvvvvvv3PPvvvv VFFFuD3PPPFP3PP3PPvv3PPvvvv VFFFt~tVF.~t$3P3P3P3P3PP3PP!PfPVރ33_^]
Bad_cast
Bad_typeid
typeinfo *%&s04%8typeinfoҸÌҸÎӋ&_6W6G@@6Gb6G6w6G/6G
6GS[&&W6O6WS[&&6U^&]qUVWyh~uP赶YFt^^6؎&&WvF_^]&.:>xallocQUVW~t,؎&/&_3Pv{YYFt	vY3_^]&,04xmsgiR UVW.~uP{YFtT
PlYFt=F3PPP~t	vΘY3Pvv4؎&/&_FF^؎&&WvF_^]
TStringRef *&:FJstring::lengtherrors&.:6>xallocsUVW~t,؎&/&_3PvYYFt	v:Y3_^]UVW~t,؎&/&_3PvYYYFt	vY3_^]&,04xmsg
&2>BTStringRef&*TReferenceUVW#؎&/&_~t8^u؎&&WP^7YYFtvޱYv_^]lU"VWFFދ^G;Fv3uh3PPPPPP3PPFPFPYYFPFPXYYFPFPYYF؎&&WFPPC؃v_^]l{U"VW(FFދ^G;Fr3uh3PPPPPP3PPFPFPYYFPFPqYYFPFPYYF؎&&WFPP\׃v_^]lbjU"VWAFFދ^G;Fv3uh3PPPPPP3PPFPFPYYFPFPYYFPFPYYF؎&&WFPPwփv_^]UVW~u
PYFty^GFFGGFPY^GG@P衶Y^GuP|Yvv^w藑vv
^GFP脑FF^G؎&&WF_^]UVW؎&/&_~t^w6YFtv-Yv_^]*EUVWQ^OF@PYF^G+F;vF@PwYY^GFGv_^]UVW.^wYF^G+F;vF@Pw薶YY^GFGvY_^]*UVW^FGG@PwEYY^GuPYv_^]dUVWhyFF+FH3FPvX_^]*U"VW,^GF+FFPYFދ^G;FsvS(YYU^G+F;vFGu@F@PYF^uPY~tv^wv
^FމG	^GF^G;FuF;Ft'^G+F+FPGFFPFFFPg~t,~
tvv
FFPHv PFFPю^FG_^^G;FtP}Y^FGvj_^]UVWFFF_^]UVWFFF_^]UVWFFF_^]UVWFFF_^]UVWFF>uF_^]UVWFFF_^]UVWvvoYY$؎&&WF_^]&:F,Jstring::lengtherrorl&.:i>xallocl&,04xmsg&.2)6string&:FJstring::outofrangelUVW~t,؎&/&_3PvcYYFt	vY3_^]UVW~t,u؎&/&_3Pv&YYFt	vʨY3_^]UVW~t,8؎&/&_3PvYYFt	v荨Y3_^]_ZY[^ˠ&7Āt"2|uÁ&uG&E^VSQRWؠ
t4DtЊ@"ЀT$"}t8t@tU$<t<t$<t4>.|
0u&
0u
&zޛ>3I&"uNut8$<u.>?.
>$?,_ZY[^rXXX3ҋBsߛ>&sutr{Û؛Û>.Ѐ怛>2->@2.É>RӀt؆R&R3RԃR\
5h!?5h!?BHJ?d3?Uf~fru.u؛t{؛.ٛ...ɛ"~fzѰ"Ѐu$tٛt)zɛțɛț2t12tzɛ~F@tٛ.]ÛUf~fruLtJ{H؛..5ٛ..*ћ~ftsɛs..t]ÛUf~frtt"t{t2؛.$~~?u~u]+ɛUf~ɛfru)؛t{؛.ɛ.~FAtZ~NnfnVɛɛٛns	..ɛFɛt]UPVFtv63؋D,4<sU=t%=u6>}	~F]DvNF6A6?6666#w& u.vF%4&؉^X]<	w	"&*PVUv&vQ.Y]^Xχ$0<HT`lxRVTTTu t@|WWWuD^ZÃt=@|6WWWt&T;WwrT;WwrT;Ww
r;wWu&_뫊D
FF@:~
SWߋ~\_[r@|֊F
uͻE
2~9r뼋\LT?UfVWv~2E
2D
FD]=@}@};}2M
L
NLN~+=A]MU=F|FĊߊֶ͊}t^Ou~u\LTsw^Fgv+\LTsv^׾
u5Պϊ܊FFnN}FF0NfyfsF~@}"~~$~FF_^]F@F$F+؋șŸ@~NXWߋ~_r}~V~|^r؁|ŋ~ɵT$붵M$UVWv~L
2M
Q@]D;};};~;~H=@}@=~ttt4uuu5:xOssG~X_^]W+ϋFtNvFtNvFtO+ۋFfFtfFfFfFfFt
f+VFfڃFtfڃFfʃFt$fڃFfʃFf֗^_Ë~r,@|-
 ~r"@N~	a"FFu_TUVWf~^G
2E
FuG@}=@}~=~+=@}=~URMQu5FFw㙑O;rzF+^Nsj++vFfFfFfʃFf^^ڃ|;vrFV+~^Nv|fƋvFf+Ff+Ff+ʃFfڃ};Vrn^~^Nv}i++vFfFfʃFfڃFf+^FF|{;NrFFF+~^N|avFf+Ff+ʃFf+ڃFf++}s;VrnFF~^N}U++vfʋFڃF+FFF|d;^rFFF+~^|KËvf+ʋF+ڃF++}_;VrFFF~^}BF؋N++Ӌ^~;s+؊Vs4)++FؙӋ^~N;sVs
F*NssA@}׋~Ff_^]ʋז;r+FG+덋6UVWD=~)=@}(|
u,K7>VWV]WVVL_^]ûE@VW>]UEMsCكsSQʋ؋N;vFދыF;sY[++ɑ_^@BACUu
fVW]MUF}+|}QG=O|fry;Twr;Lw
r;\wr;rF+\LTx
tCOy|W~XF&F~u#._^]Çч˓uч˃uуu++++랋TTTt3HEUUUuUVWv~D]=@}@}ҋ;Ӂ~;L
:M
|I=;|4<D;Eu(".t>D;EuD;EutK;u@w
u
u&_^]+\]\]w	ۃtɃt̋+w	ۀt변t붸@|~|@}|
t&ËTTTtߵ9E@|~|@}|
u
&øTTTt߸ڋDT\L
<u|u	utsC~~2}ڊĊ֊󫒫Á|@}	++ԁ|~+ۋӋ&&TV++t.t$~ڊԊ+EMU]E
^û@ڋt~xKĎWD|LT\"
4utsC~B}I$
NJ
D
_+ҁ|~|@}
T
+ɋًʻ떋&TՈm
tctCU&T
&L&\&$҉]MUû&"\&\&\&@멻&"\&\&\&u&T&L&\&$yP-EX듎=@}?|ث

ø+VٌŽt}
+ЪOt?ŽGG^ø+
dKx
S\);
B5h!
1 
 yrɎٖ󥤃WP=ثX_õW+@_W׎ǃ.>_VW.>_^V6F6^VW6|>ю_^VW6юEE_^&+ə3+t2ّCCu؈U
]EMM
+ɋuѻLp~t\+}ڋT~T

ڱ"t*tL
t	tr!"
ځr|
ty>tQ
+ty&LcVW_^t<~<@}
E
EUVWL+
Dـ|
u؋M~@}=~=@}E_^]õ@ʓʓ&&L+y	ۃU
uٲBu؉U]EM
úL L 3}<~"\
tt+ҋ+Ҹu
+\

\DTw

Ǔ+Ҁ~V#3#3

ي^"t=tL
t0	t+r%"
فy|
u
uti|
u؃&&UUV&&\&L&T|&u"uu3@u
ч˓xNyuUM]E
^]UWL?9}F~"\
t	t+ +ոu+ҋڋlT\<+0w
ĴNjڋ+~t
"t0tL
t#	tr
덱#
x藀|
u_]Ë6UVWN@}1}J~ "N
tt+۾	t +FFF^v8#3ރu+ۋO|
;G#u
tq 33±"ttN
t	t
u#G~u?`
uu;v;r߃|	LjBljBFFRrs^F_^]UVW.F^NV+vt!
Ëً+҃F׉F^NVߋϋFt
^NыFfً+FfFfً+FFfFfF^Nv~F
F_^]UVWf-v#N~xU.F0F
F^NV..M.U.u.E
:F
t4+^NVvs4^NVvF
]^NVv]냋6F6+<uG_^]*$"""""

nK;.@kEE
[[&ܓK{iA.635P=6VV#.6P85h!WUUUUUU23333}I$	q\]ػ:
{d\Gt0ddKFVn	{5[5ۀsUfVWVWVVF~s!@V6=uFك~ume^K.^V>WEP\VWV$!WVVQ6VV"~6VV)_^]VW|">EP.6DFPLWVV_^
@
xUUUUUU&#"""""+؂-3@4R4@l;.LOQv,UVW.~>WWVV.|~W\LTG}G|.>+.6
P4PVV_^]û\);	hUUUUUU433333H$IM]"q$V\t9րzUuVW]MUwҾN+u.>&-xOyVWRQSP{$f6VPVv.>uVWWWvvo_^]UVW6($6VtVV@Vvv6_^]UVW|~F.>EVWWAVWWG|.602Px6WVD_^]ñNj>m
QP}u}@~5E!E
u6l$F^t;^^slVWW>Fz^<FtblVWWU>|FzVPW^~t2^]
>ÎNj6|>D=@}8=~.H|߱o
QYuQMWVVYl
6Ët
XD
LNj6|>"Nj6|>hNj6|>i}
uE=~
=@}"6õw	@uEܸ
Nj6|
Nj6|>VWV6PD=N=~uE6&7P1L|WVWXs]dDD3D[=@u#DDDu|
u&@U`ND@9DDD@DD
uVWV VWVP~ut
6SQR
&""¹
ZY[UVW&D	%E
&D
'瓍t֋瓋փÃV瑋瓇^p'擋文vN؃@u
-t,ׇxHyvL|TD_^]øPQd



ĊYXUVWDLTt=|8-<|3rw+:krw#?vrww,ً΋+gn,}|'^+ґPӑE>

ĪvD
Ȫ_^]ð	q!!!!!!!!t%%Y&[&t"{"""""""3##m###### ##I#$#$##w$ uB$t<r~w~&$=<	u63&DOPQRSUVW6.vN&,4<s""sg@wt+u&ve&&v. F
FHF
F>FF4FF*F#FF
vЎ؎t3F֖uЎts u8". 8"蕀s*>>". юߍй&. .t+t&. PSRQtPSRQ7PSQFPSRQXޓPSRQ# uBuuT>&P. >u	&P. &P. "踉&Pu. . ñ&D&|~+`;rɸ+6&mMt
6Ë>&lMt^
s
r>má+`;rر$
葫Ë>.Ë>.Ë>{.Ë67Ë6Ë6'a$$t$o$$$$$$$$$$$$$.6"݀
."$.>-;t@6Y׋+t>4t/A(>666

M%R%_%_%

_%_%




_%(W%_%_%_%U_%/_%_%t
D
VWz_^õ"Ç%%%%%%".$.h%>.
%>6&P.
%6.
%>>u.
%6>u&P.
%uU	emu>>+۸@Eu
+A?u0u+$
N
6666669r6&_^][ZYXϵ@>>Q/ASPQRSUVW6&vv׎ߘr	&P.&PQ
Ŋ"2t t"< u
YX$YXÚ{S5!666&_^][ZYX6.NULL CHECKBorland C++ - Copyright 1994 Borland Intl.Null pointer assignment
Divide error
!!;u<newpath
  %g %g %s
cܥL@4BCAACAA%g %g %g %g %g %s
{Gz? AWarning: line size too large ignored 
Error: %s
Only 9 line sizes allowedError: %s
Too many decimal points in numberError: %s
line size specification incorrectError: %s
Max no of characters for each line size is 5BWarning: segment and indication lines not available yet
%g %g %g %g %g %g Ellipse
closepath
stroke
Error: %s
Two or more decimal places in a number%g mm setlinewidth
[] 0 setdash
@??Q?BError: Unknown line flag in linetype.c
?@???[] 0 setdash
[%g mm %g mm %g mm %g mm] 0 setdash
statusdict /manualfeed true put
statusdict /manualfeedtimeout 180 put
statusdict /manualfeed false put
usertime 5000 add
{dup usertime lt {pop exit} if} loop
HPGLA3A4ABIllegal paper size
A3
ף;Error: expecting move command not %s
%g %g 5 %g (%c) Text
newpath
  %g %g %s %g %g %s
stroke
MRDIAARACouriernewpath
  %g %g %s
newpath
  %g %g %s
  %g %g %s
  %g %g %s
Error: expecting draw command not %s
%%! PS-Adobe-1.0: For Apple LaserWriter
%% default font is 14 pt. Helvetica
/basefont {/%s findfont 14 scalefont setfont} def
/mm {72.0 mul 25.4 div} def
/M
{
    /Ymove exch def
    /Xmove exch def
    Xmove mm Ymove mm moveto
} def
/R
{
    /Yrmove exch def
    /Xrmove exch def
    Xrmove mm Yrmove mm rmoveto
} def
/D
{
    /Ydraw exch def
    /Xdraw exch def
    Xdraw mm Ydraw mm lineto
} def
/I
{
    /Yrdraw exch def
    /Xrdraw exch def
    Xrdraw mm Yrdraw mm rlineto
} def
/AA
{
    /endangle exch def
    /startangle exch def
    /radius exch def
    /Ydraw exch def
    /Xdraw exch def
    Xdraw mm Ydraw mm radius mm startangle endangle arc
} def
/AAC
{
    /endangle exch def
    /startangle exch def
    /radius exch def
    /Ydraw exch def
    /Xdraw exch def
    Xdraw mm Ydraw mm radius mm startangle endangle arcn
} def
/Font
{
    /Height exch def
    /FontName exch def
    FontName findfont Height mm scalefont setfont
} def
/DefFont
{
    /Slant exch def
    /Height exch def
    /Width exch def
    /FontName exch def
    FontName findfont [ Width mm 0 Slant mm Height mm 0 0] makefont setfont
} def
/Text
{
    /String exch def
    /Angle exch def
    /Position exch def
    /Ymove exch def
    /Xmove exch def
    Position 1 lt {/hpf 0 def /lpf 0 def} if
    Position 1 eq {/hpf 0 def /lpf 0 def} if
    Position 2 eq {/hpf 0 def /lpf 0.5 def} if
    Position 3 eq {/hpf 0 def /lpf 1 def} if
    Position 4 eq {/hpf 0.5 def /lpf 0 def} if
    Position 5 eq {/hpf 0.5 def /lpf 0.5 def} if
    Position 6 eq {/hpf 0.5 def /lpf 1 def} if
    Position 7 eq {/hpf 1 def /lpf 0 def} if
    Position 8 eq {/hpf 1 def /lpf 0.5 def} if
    Position 9 eq {/hpf 1 def /lpf 1 def} if
    Position 9 gt {/hpf 1 def /lpf 1 def} if
    /StrLen String stringwidth pop lpf mul def
    /StrHt Height mm hpf mul def
    /Xdiff StrHt Angle sin mul StrLen Angle cos mul sub def
    /Ydiff StrHt Angle cos mul StrLen Angle sin mul add def
    Xmove mm Xdiff add Ymove mm Ydiff sub moveto
    gsave
        Angle rotate
        String show
    grestore
    /PosterOnly 0 def
} def
/EllipseDict 8 dict def
EllipseDict /mtrx matrix put
/Ellipse 
{   EllipseDict begin
    /endangle exch def
    /startangle exch def
    /yradius exch def
    /xradius exch def
    /ycenter exch def
    /xcenter exch def
    /savematrix mtrx currentmatrix def
    xcenter mm ycenter mm translate
    xradius mm yradius mm div 1 scale
    newpath
        0 0 xradius mm startangle endangle arc
    stroke
    savematrix setmatrix
    end
} def
basefont
1 setlinecap
1 setlinejoin
3 setmiterlimit
%g %g M
%g 0 I
0 %g I
-%g 0 I
closepath stroke
%g %g 1 %g (%s) Text
Error: expecting a symbol number not %c (%d)*+#@%|=&O0YXZSQWarning symbol number is %d
*%g %g 5 %g (%s) Text
  %g %g %s
  %g %g %s
  %g %g %s
  %g %g %s
  %g %g %s
  %g %g %s
  %g %g %s
  %g %g %s
%g mm setlinewidth
>BXnewpath
  %g %g %s
 @@newpath
  %g %g %s
  %g %g %s
%g mm setlinewidth
-DT!?!3|@?90 rotate
%g mm %g mm translate
    %g mm %g mm %s
?/%s %g %g %g DefFont
/%s %g %g %g DefFont
%g mm setlinewidth
@ffffff?/%s %g %g %g DefFont
/%s %g %g %g DefFont
B/%s %g %g %g DefFont
??/%s %g %g %g DefFont
Warning: %c Unknown DXY command
get command line optionA3DXYaf:l:ms:x:y:rA4?@@dxy2ps %s
2.1%s
Usage: dxy2ps [-afmrv] [-f default_ps_font_name] [-l line sizes] [-s scale] [-x offset] [-y offset] [file]
See man page for more help.
dxy2ps %s
2.1%s
Usage: dxy2ps [-afmrv] [-f default_ps_font_name] [-l line sizes] [-s scale] [-x offset] [-y offset] [file]
See man page for more help.
rERROR: cannot open "%s"
/%s %g Font
showpage
0'-DOMAINSINGOVERFLOWUNDERFLOWTLOSSPLOSS%s: %s error
@acosasin5h!?@atan2 cospowpow sin sqrt? ABzD@FPG$tIK L7yACp+ŝi@զIx@GA~QCǑFuuvHM]=];Z R`%
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2008 IT MARUHN