asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PK9e[S-88index.plnu[#!/usr/bin/perl ############################################################################### # Copyright 2006-2023, Way to the Web Limited # URL: http://www.configserver.com # Email: sales@waytotheweb.com ############################################################################### # start main use strict; use File::Find; use Fcntl qw(:DEFAULT :flock); use Sys::Hostname qw(hostname); use IPC::Open3; use lib '/usr/local/csf/lib'; use ConfigServer::DisplayUI; use ConfigServer::Config; our ($script, $images, $myv, %FORM, %in); my $config = ConfigServer::Config->loadconfig(); my %config = $config->config; open (my $IN, "<", "/etc/csf/version.txt") or die $!; $myv = <$IN>; close ($IN); chomp $myv; $script = "/nodeworx/configservercsf"; $images = "/configserver/csf"; my $buffer = $ENV{'QUERY_STRING'}; if ($buffer eq "") {$buffer = $ENV{POST}} my @pairs = split(/&/, $buffer); foreach my $pair (@pairs) { my ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } $FORM{action} = $FORM{iworxme}; delete $FORM{iworxme}; print "content-type: text/html\n\n"; #foreach my $key (keys %ENV) { # print "$key = [$ENV{$key}]
\n"; #} my $bootstrapcss = ""; my $jqueryjs = ""; my $bootstrapjs = ""; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < ConfigServer Security & Firewall $bootstrapcss $jqueryjs $bootstrapjs \n"; print <

ConfigServer Security & Firewall - csf v$myv

EOF } my $templatehtml; open (my $SCRIPTOUT, '>', \$templatehtml); select $SCRIPTOUT; ConfigServer::DisplayUI::main(\%FORM, $script, $script, $images, $myv); close ($SCRIPTOUT); select STDOUT; $templatehtml =~ s/\?action\=/?iworxme=/g; $templatehtml =~ s/\&action\=/&iworxme=/g; $templatehtml =~ s/\{action\}/{iworxme}/g; $templatehtml =~ s/\'action'/'iworxme'/g; $templatehtml =~ s/\"action"/"iworxme"/g; print $templatehtml; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < \n"; print "\n"; print "\n"; } 1; PK9e[IGz33 reseller.plnu[#!/usr/bin/perl ############################################################################### # Copyright 2006-2023, Way to the Web Limited # URL: http://www.configserver.com # Email: sales@waytotheweb.com ############################################################################### # start main use strict; use File::Find; use Fcntl qw(:DEFAULT :flock); use Sys::Hostname qw(hostname); use IPC::Open3; use lib '/usr/local/csf/lib'; use ConfigServer::DisplayUI; use ConfigServer::DisplayResellerUI; use ConfigServer::Config; use ConfigServer::Slurp qw(slurp); our ($reseller, %rprivs, $script, $images, $myv, %FORM, %in); my $config = ConfigServer::Config->loadconfig(); my %config = $config->config; my $slurpreg = ConfigServer::Slurp->slurpreg; my $cleanreg = ConfigServer::Slurp->cleanreg; foreach my $line (slurp("/etc/csf/csf.resellers")) { $line =~ s/$cleanreg//g; my ($user,$alert,$privs) = split(/\:/,$line); $privs =~ s/\s//g; foreach my $priv (split(/\,/,$privs)) { $rprivs{$user}{$priv} = 1; } $rprivs{$user}{ALERT} = $alert; } #print "content-type: text/html\n\n"; #foreach my $key (keys %ENV) { # print "ENV $key = [$ENV{$key}]
\n"; #} $reseller = 0; if ($ENV{REMOTE_USER} ne "" and $rprivs{$ENV{REMOTE_USER}}{USE}) { $reseller = 1; } else { print "content-type: text/html\n\n"; print "You do not have access to this feature\n"; exit(); } open (my $IN, "<", "/etc/csf/version.txt") or die $!; $myv = <$IN>; close ($IN); chomp $myv; $script = "/nodeworx/configservercsf"; $images = "/configserver/csf"; my $buffer = $ENV{'QUERY_STRING'}; if ($buffer eq "") {$buffer = $ENV{POST}} my @pairs = split(/&/, $buffer); foreach my $pair (@pairs) { my ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } $FORM{action} = $FORM{iworxme}; delete $FORM{iworxme}; print "content-type: text/html\n\n"; #foreach my $key (keys %ENV) { # print "$key = [$ENV{$key}]
\n"; #} my $bootstrapcss = ""; my $jqueryjs = ""; my $bootstrapjs = ""; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < ConfigServer Security & Firewall $bootstrapcss $jqueryjs $bootstrapjs \n"; print <

ConfigServer Security & Firewall - csf v$myv

EOF } my $templatehtml; open (my $SCRIPTOUT, '>', \$templatehtml); select $SCRIPTOUT; ConfigServer::DisplayResellerUI::main(\%FORM, $script, 0, $images, $myv); close ($SCRIPTOUT); select STDOUT; $templatehtml =~ s/\?action\=/?iworxme=/g; $templatehtml =~ s/\&action\=/&iworxme=/g; $templatehtml =~ s/\{action\}/{iworxme}/g; $templatehtml =~ s/\'action'/'iworxme'/g; $templatehtml =~ s/\"action"/"iworxme"/g; print $templatehtml; unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") { print < \n"; print "\n"; print "\n"; } 1; PK[f[O^^ escp_24.srcnu[name : ESC/P 24 pin pins : 24 minimal_unit : 1 maximal_unit : 180 dpi : 180 upper_position : HIGH_BIT bit_image_mode : \e 3 \x18 \e ?Z' send_bit_image : \e Z \b2,d line_feed : \r \n form_feed : \r \f normal_mode : \r \f \e 2 skip_spaces : \e \ \b2,d PK[f[Յ/L gs_lgx_e.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Adobe "extension" Latin glyph set. % This is not an Encoding strictly speaking, but we treat it like one. /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /AdobeLatinExtensionGlyphEncoding mark /Abreve /Amacron /Aogonek /Cacute /Ccaron /Dcaron /Dcroat /Delta /Ecaron /Edotaccent /Emacron /Eogonek /Gbreve /Gcommaaccent /Idotaccent /Imacron /Iogonek /Kcommaaccent /Lacute /Lcaron /Lcommaaccent /Nacute /Ncaron /Ncommaaccent /Ohungarumlaut /Omacron /Racute /Rcaron /Rcommaaccent /Sacute /Scedilla /Scommaaccent /Tcaron /Tcommaaccent /Uhungarumlaut /Umacron /Uogonek /Uring /Zacute /Zdotaccent /abreve /amacron /aogonek /cacute /ccaron /commaaccent /dcaron /dcroat /ecaron /edotaccent /emacron /eogonek /gbreve /gcommaaccent /greaterequal /imacron /iogonek /kcommaaccent /lacute /lcaron /lcommaaccent /lessequal /lozenge /nacute /ncaron /ncommaaccent /notequal /ohungarumlaut /omacron /partialdiff /racute /radical /rcaron /rcommaaccent /sacute /scedilla /scommaaccent /summation /tcaron /tcommaaccent /uhungarumlaut /umacron /uogonek /uring /zacute /zdotaccent counttomark packedarray exch pop 9 1 index .registerencoding .defineencoding exec PK[f[L7짾 gs_wl2_e.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Windows 3.1 Latin 2 encoding vector (H-P Symbol set 9E). /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /Win32Latin2Encoding ISOLatin1Encoding 0 39 getinterval aload pop /quotesingle ISOLatin1Encoding 40 5 getinterval aload pop /hyphen ISOLatin1Encoding 46 50 getinterval aload pop /grave ISOLatin1Encoding 97 30 getinterval aload pop /graybox % \20x /.notdef /.notdef /quotesinglbase /.notdef /quotedblbase /ellipsis /dagger /daggerdbl /.notdef /perthousand /Scaron /guilsinglleft /Sacute /Tcaron /Zcaron /Zacute /.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash /.notdef /trademark /scaron /guilsinglright /sacute /tcaron /zcaron /zacute /.notdef /caron /breve /Lslash /currency /Aogonek /brokenbar /section /dieresis /copyright /Scedilla /guillemotleft /logicalnot /softhyphen /registered /Zdotaccent /degree /plusminus /ogonek /lslash /acute /mu /paragraph /periodcentered /cedilla /aogonek /scedilla /guillemotright /Lcaron /hungarumlaut /lcaron /zdotaccent % \30x /Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla /Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron /Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply /Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /Tcommaaccent /germandbls /racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla /ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron /dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide /rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /tcommaaccent /dotaccent 256 packedarray .defineencoding exec PK[f[Ugs_s.xpmnu[/* XPM */ static char * gs_s_xpm[] = { /* width height ncolors cpp [x_hot y_hot] */ "24 24 6 1 0 0", /* colors */ " s none m none c none", ". c #808080808080", "X s iconColor1 m black c black", "o c #C0C0C0C0C0C0", "O s iconColor2 m white c white", "+ c #00000000FFFF", /* pixels */ " ", " .. ", " XoOo. ", " X.OoX ", " X.OoX. ", " .XXXXXX.oOoXX ", " ..XXXXXXXX.oOO.XX ", " XXXXXXXX..oOOOo.XX ", " XXXXXXX.OOOOOo.XXXX. ", " XXXXXX.OOOOOOOXXXXXXX ", " .XXXXX.OOOO+OOXXXXXXXX ", " XXXXXXOOO+O+OOXXXXXXXX ", " XXXXXXOOO+OOOOXXXXXXXX ", " XXXXXXOOOOOOOOOXXXXXXX ", " .XXXXXOOOOOOOOOO.XXXXX ", " XXXXXXOOOOO++OOO.XXXX ", " .XXXXX.OOOO++OOOoXXX ", " XXXXXX.OOOOOOOOOXXX ", " .XXXXXXoOOOOOOOoXX ", " .XXXXXXoOOOOOo.X ", " .XXXXXOOOOO.X ", " .XXXXOOOOO.. ", " XXXXXOOOOOOOO ", " "}; PK[f[ gs_l_m.xbmnu[#define gs_l_m.xbm_width 48 #define gs_l_m.xbm_height 48 #define gs_l_m.xbm_x_hot 0 #define gs_l_m.xbm_y_hot 0 static unsigned char gs_l_m.xbm_bits[] = { 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x07, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x0f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x0f, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x03, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00, 0x00, 0xf0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x80, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x01, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; PK[f[Rsvv PM820p.uppnu[-supModel="Epson Stylus Photo PM820, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0260 0.0587 0.1079 0.2109 0.3750 }" -dupCyanTransfer="{ 0.0000 0.0254 0.0620 0.1070 0.2250 0.4125 }" -dupMagentaTransfer="{ 0.0000 0.0233 0.0569 0.0981 0.2063 0.4125 }" -dupYellowTransfer="{ 0.0000 0.0212 0.0516 0.0891 0.2250 0.4125 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[ 2iff traceimg.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % traceimg.ps % Trace the data supplied to the 'image' operator. % This code currently handles only the (Level 2) dictionary form of image, % with a single data source and 8-bit pixels. /traceimage % traceimage - { currentcolorspace == (setcolorspace\n) print (<<) print dup { (\t) print exch ==only ( ) print == } forall (>>\n) print flush begin /i_left Width Height mul store /i_dict currentdict store end { i_left 0 le { exit } if i_dict /DataSource get exec dup type /filetype eq { i_buf 0 i_left 32 .min getinterval readstring pop } if dup (%stdout) (w) file exch writehexstring (\n) print flush i_left exch length sub /i_left exch def } loop } bind odef /image /traceimage load def /i_left 0 def /i_dict null def /i_buf 32 string def PK[f[C 6 bj8pa06n.uppnu[-supModel="Canon BJC 8200, (600DpI)^2, plain paper, normal quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r600x600 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 0258 0258 1b28 63 0300 3000 03 1b28 6c 0200 3400 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[ gs_l.xpmnu[/* XPM */ static char * gs_l_xpm[] = { /* width height ncolors cpp [x_hot y_hot] */ "48 48 4 1 0 0", /* colors */ " s none m none c none", ". s iconColor1 m black c black", "X s iconColor2 m white c white", "o s iconColor5 m black c blue", /* pixels */ " . ", " .X.. ", " .X.. ", " .XX.. ", " .....XX.. ", " .............XXX... ", " ...............XXXX... ", " ..............XXXXXX.... ", " ...........XXXXXXXXX...... ", " ..........XXXXXXXXX......... ", " .........XXXXXXXXXX.......... ", " .........XXXXXoXXX............ ", " .........XXXoXXooXX............ ", " .........XXXooXooXXX........... ", " .........XXXooXXoXXXX.......... ", " .........XXXXoXXXXXXXX......... ", " .........XXXXXXXXXXXXX........ ", " .........XXXXXXooXXXXXX...... ", " .........XXXXXoooXXXXX...... ", " ..........XXXXooXXXXX..... ", " ..........XXXooXXXX.... ", " ........XXXXXXXX.... ", " .........XXXXXX... ", " ..........XXXXXXX ", " ........XXXXXXXXXXXX ", " ........XXXXXXXXXXXXXX ", " ..........XXXXXXXXXXXXXXX ", " ..................XXXXXXXXX ", " ...........................X ", " .............................. ", " ................................ ", " ................................. ", " ................................. ", " ................................ ", " ............................ ", " XXXXXXXXXXXXX.............. ", " ........XXXXXXXXXXXXXXXXXX.......... ", " .......XXXXXXXXXXXXXXXXXXXXX......... ", " .......XXXXXXX......XXXXXXXXXX.......X ", " .......XXXXXX...XXXXXXXXXXXX........XX. ", " .......XXXXXX......XXXXXX..........XX. ", " ........XXXXXX...................XXX. ", " ........XXXXXXX..............XXXX.. ", " ..........XXXXXXXXXXXXXXXXXXX.... ", " .............XXXXXXX........... ", " .......................... ", " ................... ", " "}; PK[f[{B sharp.uppnu[-supModel="SHARP AJ1800, 600x600DpI, Gamma=2" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Pcl -r600x600 -dupMargins="{ 12.0 36.0 12.0 12.0}" -dupBlackTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupBeginJobCommand="< 1b451b451b451b451b451b451b451b451b451b451b451b451b451b451b451b45 >" -dupBeginPageCommand="< 1b45 1b266c304c 1b2f743131323030333230303153 1b266c323641 1b266c304d 1b266c3148 1b2a70314e 1b2a703059 1b2a703058 1b2a723151 1b2f6432303253 1b2a7436303052 1b2a723141 1b2a62324d >" -dupAdjustPageWidthCommand -dupEndPageCommand="(\033*rbC\12\033E)" -dupEndJobCommand="(\033/s0C\033E)" -dupAbortCommand="(\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" -dupYMoveCommand="(\033*b%dY\0)" -dupWriteComponentCommands="{ (\033*b%dV\0) (\033*b%dV\0) (\033*b%dV\0) (\033*b%dW\0) }" PK[f[S4 bjc610a7.uppnu[-supModel="Canon BJC 610, 360x360DpI, high gloss film, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 106110 1b28 64 0200 0168 1b28 6c 0200 1470 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[dd Stc670pl.uppnu[-supModel="Epson Stylus Color 670, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[< sipixa6.uppnu[-supModel="SiPix A6 Pocket Printer" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/Epson -r360x360 -dupMargins="{ 20 0 20 0}" -dupWhiteTransfer="{ 1.0 0.0 }" -dupOutputPins=48 -dupWeaveYPasses=1 -dupFormatXabsolute -dupBeginPageCommand="< 1b40 0d >" -dupEndPageCommand"<0d 0a>" -dupEndJobCommand"<0a 0a 0a>" -dupAbortCommand="(\033\100\15\12\12\12 Printout-Aborted\15\12\12\12)" -dupSetLineFeedCommand="<1b2b>" -dupWriteComponentCommands="{(\033*\111)}" PK[f[ jispaper.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Select JIS B paper sizes for b0...b6. userdict begin /b0 /jisb0 load def /b1 /jisb1 load def /b2 /jisb2 load def /b3 /jisb3 load def /b4 /jisb4 load def /b5 /jisb5 load def /b6 /jisb6 load def end PK[f[, stc2s_h.uppnu[-supModel="Epson Stylus Color IIs, 720x720DpI, Special Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0003 0.0027 0.0056 0.0085 0.0120 0.0156 0.0196 0.0227 0.0260 0.0292 0.0323 0.0354 0.0386 0.0416 0.0450 0.0503 0.0564 0.0630 0.0711 0.0799 0.0905 0.1038 0.1169 0.1321 0.1522 0.1761 0.2011 0.2285 0.2678 0.3102 0.3637 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupFormatYabsolute -dupWeaveYPasses=6 -dupWeaveXPasses=2 -dupOutputPins=20 -dupWeaveYFeeds="{10 10 10 10 10 11 10 10 10 10 10 9}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 0 1 0 1}" -dupWeaveInitialYFeeds="{ 1 1 1 1 1 1 1 1 1 1 1 1}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 2 17 5 20 8 13 6 11 9 14 2 17}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 05 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[4n  stc600p.uppnu[-supModel="Epson Stylus Color 600, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0329 0.0706 0.1160 0.2392 0.7955 }" -dupCyanTransfer="{ 0.0000 0.0602 0.1133 0.1961 0.2945 0.3885 }" -dupMagentaTransfer="{ 0.0000 0.0452 0.0836 0.1215 0.1493 0.1749 }" -dupYellowTransfer="{ 0.0000 0.0350 0.0914 0.1567 0.2430 0.2934 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[YYgs_t.xbmnu[#define gs_t.xbm_width 16 #define gs_t.xbm_height 16 #define gs_t.xbm_x_hot 0 #define gs_t.xbm_y_hot 0 static unsigned char gs.t.bm_bits[] = { 0x00, 0x10, 0x00, 0x20, 0x00, 0x68, 0xf0, 0x67, 0xfc, 0x61, 0x7e, 0x70, 0x1f, 0xf9, 0x4f, 0xfd, 0x4f, 0xfc, 0x0f, 0xf8, 0x1f, 0xf3, 0x1e, 0xe3, 0x3e, 0x60, 0x7c, 0x30, 0x70, 0x0c, 0x1e, 0x00}; PK[f[uK/ gs_wl5_e.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Windows 3.1 Latin 5 encoding vector (H-P Symbol set 5T). /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /Win32Latin5Encoding ISOLatin1Encoding 0 39 getinterval aload pop /quotesingle ISOLatin1Encoding 40 5 getinterval aload pop /hyphen ISOLatin1Encoding 46 50 getinterval aload pop /grave ISOLatin1Encoding 97 30 getinterval aload pop /graybox % \20x /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef /.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /softhyphen /registered /overscore /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % \30x /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Gbreve /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Idotaccent /Scedilla /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /gbreve /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /dotlessi /scedilla /ydieresis 256 packedarray .defineencoding exec PK[f[|~ bjc610a6.uppnu[-supModel="Canon BJC 610, 360x360DpI, glossy paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 105110 1b28 64 0200 0168 1b28 6c 0200 1460 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[/̔L bjc610b7.uppnu[-supModel="Canon BJC 610, 720x720DpI, high gloss paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 106110 1b28 64 0200 02d0 1b28 6c 0200 1470 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[=1W1W mkcidfm.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Generate a cidfmap file for substituting CID fonts with TrueType % fonts, based on fonts found in the directory FONTDIR. % % The directory FONTDIR is searched for fonts whose filename % matches a Path in the cidsubs dictionary. % Any matches are written out as a CID font substitution. % % For each fontname and alias in the fontaliases dictionary, % write out each alias that matches a substituted font. % Where multiple aliases are possible, use the first match. % % Note that the substitutions and aliases in this file were created % by someone who doesn't understand Chinese, Japanese or Korean. % The initial list contains only font files found in Windows XP. % Please submit corrections and additions. % % See the end of file for references and further information. % % Font filenames must match case. % All font filenames are currently lower case. % % Usage: gswin32c -q -dBATCH -sFONTDIR=c:/windows/fonts % -sCIDFMAP=c:/gs/cidfmap mkcidfm.ps systemdict /FONTDIR known not { /FONTDIR (c:/windows/fonts) def } if systemdict /CIDFMAP known { CIDFMAP } { (%stdout) } ifelse /cidfmap exch (w) file def % Directory separator as used by filenameforall /dirsep (/) def % This dictionary contains a list of font substitutions. % The first matching substitution in the array will be used. /fontaliases << % otf's /AdobeMingStd-Light /AdobeHeitiStd-Regular /AdobeSongStd-Light % /KozMinPr6N-Regular /AdobeMyungjoStd-Medium came with Acroread 9 unix CJK pack. % ArialUnicode and a common font are used as a last-resort catch-all % in most cases. % Traditional Chinese % Mingliu and Kaiu are known to use patented TT instructions /MSung-Light [ /MingLiU /ArialUnicodeMS-CNS ] /MSung-Medium [ /MingLiU /ArialUnicodeMS-CNS ] /MHei-Medium [ /MicrosoftJhengHeiRegular /ArialUnicodeMS-CNS /MingLiU ] /MKai-Medium [ /DFKaiShu-SB-Estd-BF /Arial-Unicode-MS /MingLiU /ArialUnicodeMS-CNS ] /AdobeMingStd-Light [ /MingLiU /ArialUnicodeMS-CNS ] % Simplified Chinese /STSong-Light [ /SimSun /SimSun-18030 /ArialUnicodeMS-GB ] /STFangsong-Light [ /FangSong /SimSun /ArialUnicodeMS-GB ] /STHeiti-Regular [ /MicrosoftYaHei /SimHei /ArialUnicodeMS-GB ] /STKaiti-Regular [ /KaiTi /SimHei /ArialUnicodeMS-GB ] /AdobeHeitiStd-Regular [ /MicrosoftYaHei /SimHei /ArialUnicodeMS-GB ] /AdobeSongStd-Light [ /SimSun /ArialUnicodeMS-GB ] % Japanese /Ryumin-Light [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ] /Ryumin-Medium [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ] /GothicBBB-Medium [ /MS-Gothic04 /MS-Gothic /Meiryo /ArialUnicodeMS-JP ] /HeiseiMin-W3 [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ] /HeiseiKakuGo-W5 [ /MS-Gothic04 /MS-Gothic /Meiryo /ArialUnicodeMS-JP ] /KozMinPr6N-Regular [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ] % Korean % Malgun seems to have a full set of Hangu but not much of Kanji glyphs % "Gulim Old Hangul Jamo" has Hangu but no Kanji, and PMmy has Kanji but % no Hangu. Neither are useful for Korean users. /HYSMyeongJo-Medium [ /Batang /NewBatang /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ] /HYRGoThic-Medium [ /Gulim /NewGulim /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ] /HYGoThic-Medium [ /Dotum /NewGulim /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ] /AdobeMyungjoStd-Medium [ /Batang /NewBatang /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ] >> def % This dictionary contains a list of CID substitutions % Many ttc's have an older ttf version - be sure to put the ttf entries later. /cidsubs << % Simplified Chinese /SimHei << /FileType /TrueType /Path (simhei.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /SimSun << /FileType /TrueType /Path (simsun.ttc) /SubfontID 0 /CSI [(GB1) 2] >> /NSimSun << /FileType /TrueType /Path (simsun.ttc) /SubfontID 1 /CSI [(GB1) 2] >> /SimSun-oldttf << /FileType /TrueType /Path (simsun.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /KaiTi << /FileType /TrueType /Path (simkai.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /LiSu << /FileType /TrueType /Path (simli.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /SimSun-18030 << /FileType /TrueType /Path (simsun18030.ttc) /SubfontID 0 /CSI [(GB1) 2] >> /NSimSun-18030 << /FileType /TrueType /Path (simsun18030.ttc) /SubfontID 1 /CSI [(GB1) 2] >> /YouYuan << /FileType /TrueType /Path (simyou.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /FangSong << /FileType /TrueType /Path (simfang.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /MicrosoftYaHei << /FileType /TrueType /Path (msyh.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /MicrosoftYaHeiBold << /FileType /TrueType /Path (msyhbd.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /MS-Song << /FileType /TrueType /Path (mssong.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /MS-Hei << /FileType /TrueType /Path (mshei.ttf) /SubfontID 0 /CSI [(GB1) 2] >> /ArialUnicodeMS-GB << /FileType /TrueType /Path (arialuni.ttf) /SubfontID 0 /CSI [(GB1) 2] >> % Traditional Chinese /MingLiU << /FileType /TrueType /Path (mingliu.ttc) /SubfontID 0 /CSI [(CNS1) 2] >> /PMingLiU << /FileType /TrueType /Path (mingliu.ttc) /SubfontID 1 /CSI [(CNS1) 2] >> % It probably should be ttf (ttc a typo), but we'll keep this entry just in case. /Arial-Unicode-MS << /FileType /TrueType /Path (arialuni.ttc) /SubfontID 0 /CSI [(CNS1) 2] >> /MicrosoftJhengHeiRegular << /FileType /TrueType /Path (msjh.ttf) /SubfontID 0 /CSI [(CNS1) 2] >> /MicrosoftJhengHeiBold << /FileType /TrueType /Path (msjhbd.ttf) /SubfontID 0 /CSI [(CNS1) 2] >> /MingLiU-oldttf << /FileType /TrueType /Path (mingliu.ttf) /SubfontID 0 /CSI [(CNS1) 2] >> /DFKaiShu-SB-Estd-BF << /FileType /TrueType /Path (kaiu.ttf) /SubfontID 0 /CSI [(CNS1) 2] >> /ArialUnicodeMS-CNS << /FileType /TrueType /Path (arialuni.ttf) /SubfontID 0 /CSI [(CNS1) 2] >> % Japanese /MS-Gothic << /FileType /TrueType /Path (msgothic.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /MS-PGothic << /FileType /TrueType /Path (msgothic.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> /MS-UI-Gothic << /FileType /TrueType /Path (msgothic.ttc) /SubfontID 2 /CSI [(Japan1) 3] >> /MS-Mincho << /FileType /TrueType /Path (msmincho.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /MS-PMincho << /FileType /TrueType /Path (msmincho.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> % An XP update ships the Vista (JIS2004) version of msgothic.ttc/msmincho.ttc renamed /MS-Gothic04 << /FileType /TrueType /Path (msgoth04.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /MS-PGothic04 << /FileType /TrueType /Path (msgoth04.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> /MS-UI-Gothic04 << /FileType /TrueType /Path (msgoth04.ttc) /SubfontID 2 /CSI [(Japan1) 3] >> /MS-Mincho04 << /FileType /TrueType /Path (msmin04.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /MS-PMincho04 << /FileType /TrueType /Path (msmin04.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> /MS-Mincho-oldttf << /FileType /TrueType /Path (msmincho.ttf) /SubfontID 0 /CSI [(Japan1) 3] >> /MS-Gothic-oldttf << /FileType /TrueType /Path (msgothic.ttf) /SubfontID 0 /CSI [(Japan1) 3] >> % Newer meiryo.ttc and meiryob.ttc have subfont 2,3. Leave those out for the time being /Meiryo << /FileType /TrueType /Path (meiryo.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /Meiryo-Italic << /FileType /TrueType /Path (meiryo.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> /Meiryo-Bold << /FileType /TrueType /Path (meiryob.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> /Meiryo-BoldItalic << /FileType /TrueType /Path (meiryob.ttc) /SubfontID 1 /CSI [(Japan1) 3] >> /ArialUnicodeMS-JP << /FileType /TrueType /Path (arialuni.ttf) /SubfontID 0 /CSI [(Japan1) 3] >> % Korean /Batang << /FileType /TrueType /Path (batang.ttc) /SubfontID 0 /CSI [(Korea1) 3] >> /BatangChe << /FileType /TrueType /Path (batang.ttc) /SubfontID 1 /CSI [(Korea1) 3] >> /Gungsuh << /FileType /TrueType /Path (batang.ttc) /SubfontID 2 /CSI [(Korea1) 3] >> /GungsuhChe << /FileType /TrueType /Path (batang.ttc) /SubfontID 3 /CSI [(Korea1) 3] >> /Gulim << /FileType /TrueType /Path (gulim.ttc) /SubfontID 0 /CSI [(Korea1) 3] >> /GulimChe << /FileType /TrueType /Path (gulim.ttc) /SubfontID 1 /CSI [(Korea1) 3] >> /Dotum << /FileType /TrueType /Path (gulim.ttc) /SubfontID 2 /CSI [(Korea1) 3] >> /DotumChe << /FileType /TrueType /Path (gulim.ttc) /SubfontID 3 /CSI [(Korea1) 3] >> /MalgunGothicRegular << /FileType /TrueType /Path (malgun.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> /MalgunGothicBold << /FileType /TrueType /Path (malgunbd.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> /NewBatang << /FileType /TrueType /Path (nbatang.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> /NewGulim << /FileType /TrueType /Path (ngulim.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> /GulimChe-oldttf << /FileType /TrueType /Path (gulimche.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> /ArialUnicodeMS-KR << /FileType /TrueType /Path (arialuni.ttf) /SubfontID 0 /CSI [(Korea1) 3] >> >> def % A dictionary for storing the names and paths of found fonts /foundfonts 50 dict def % Get the basename of a path % For example, (c:/windows/fonts/msmincho.ps) --> (msmincho.ps) /basename { % path -- subpath { dirsep search {pop pop} {exit} ifelse } loop } def % Convert string (font file name) to lowercase, take care not to touch % non-upper case letters. There are a few similiar routines elsewhere % for reference: % /.ToLower in lib/pdf2dsc.ps % /toupper in lib/printafm.ps % /.lowerstring in Resource/Init/gs_fonts.ps /lowercase { dup length 1 sub -1 0 { 1 index exch 2 copy get dup dup 65 ge exch 90 le and { 2#00100000 or } if put } for } def % Check if a font basename matches one of the possible cid substitutions. % If it does, add the font and full path to the foundfonts dictionary /checkfont { dup basename lowercase cidsubs { /Path get 2 index eq % Match case only { foundfonts exch 3 index dup length string copy put } { pop } ifelse } forall pop pop } def % Add all matching fonts to foundfonts dictionary /findfonts { % path -- dup length 2 add string dup 3 1 roll copy pop dup dup length 2 sub dirsep 0 get put dup dup length 1 sub (*) 0 get put /checkfont load 256 string filenameforall } def % Write out a cid substition, using the full font path % name is the font name, e.g. /MS-Mincho % path is the full path to the font file, e.g. (c:\windows\fonts\msmincho.ttc) % subs is the dictionary for CID font substition, from cidsubs /emitsubs { % name path subs -- 3 -1 roll cidfmap exch write==only % name cidfmap ( << ) writestring % path subs { 1 index /Path eq {pop 1 index} if % use full path, not basename exch cidfmap exch write==only cidfmap ( ) writestring cidfmap exch write==only cidfmap ( ) writestring } forall cidfmap (>> ;\n) writestring pop } def % Write out all known cid substitutions. /writesubs { % --- cidfmap (% Substitutions\n) writestring foundfonts { 1 index cidsubs exch known { 1 index cidsubs exch get % name path subs emitsubs } { pop pop } ifelse } forall } def % Write out aliases for which the cid substituted font exists. /writealiases { % -- cidfmap (\n% Aliases\n) writestring fontaliases { % name aliasarray { % name alias foundfonts 1 index known { 1 index cidfmap exch write==only cidfmap ( ) writestring cidfmap exch write==only cidfmap ( ;\n) writestring exit % after first match } { pop % didn't find this name } ifelse } forall % name pop } forall } def % Write out a new cidfmap file to stdout /writecidfmap { % path -- cidfmap (%!\n% cidfmap generated automatically by mkcidfm.ps from fonts found in\n) writestring cidfmap (% ) writestring dup cidfmap exch writestring cidfmap (\n\n) writestring findfonts writesubs writealiases } def FONTDIR writecidfmap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % For what fonts ship with which microsoft product, see: % http://www.microsoft.com/typography/Fonts/product.aspx % % A reasonably clean Vista box comes with: % ARIALUNI.TTF meiryob.ttc msjh.ttf simhei.ttf % batang.ttc meiryo.ttc msmincho.ttc simkai.ttf % gulim.ttc mingliub.ttc MSMINCHO.TTF simsunb.ttf % kaiu.ttf mingliu.ttc msyhbd.ttf simsun.ttc % malgunbd.ttf msgothic.ttc msyh.ttf % malgun.ttf msjhbd.ttf simfang.ttf % % Here is a non-exhaustive list of CJK fonts found on various MS systems for reference: % File Size Version Glyphs Charmaps Postscript Name Codepage % ====================================================================================================================== % arialuni.ttf 24172892 0.86 51180 (1,0)(3,1) ArialUnicodeMS % arialuni.ttf 23275812 1.01 50377 (3,1) ArialUnicodeMS 932,936,949,950 % batang.ttc 16258580 2.21 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe % batang.ttc 16265128 2.21 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe % batang.ttc 16264732 5.00 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe 949 % gulimche.ttf 5512432 1.00 20792 (3,1) GulimChe % gulim.ttc 13518660 2.21 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe % gulim.ttc 13525204 2.21 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe % gulim.ttc 13524720 5.00 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe 949 % kaiu.ttf 4282984 2.00 18193 (1,0)(3,1) DFKaiShu-SB-Estd-BF % kaiu.ttf 4279576 2.10 18193 (1,0)(3,1) DFKaiShu-SB-Estd-BF % kaiu.ttf 5172084 3.00 22134 (1,0)(3,1) DFKaiShu-SB-Estd-BF % kaiu.ttf 5178844 5.00 22134 (1,0)(3,1) DFKaiShu-SB-Estd-BF 950 % malgun.ttf 4337480 0.85 12747 (0,3)(3,1) MalgunGothicRegular % malgun.ttf 4337080 1.00 12747 (0,3)(3,1) MalgunGothicRegular % malgun.ttf 4337104 5.00 12747 (0,3)(3,1) MalgunGothicRegular % malgun.ttf 4337296 6.11 12747 (0,3)(3,1) MalgunGothicRegular 949 % malgunbd.ttf 4514980 0.85 12740 (0,3)(3,1) MalgunGothicBold % malgunbd.ttf 4513504 1.00 12740 (0,3)(3,1) MalgunGothicBold % malgunbd.ttf 4513520 5.00 12740 (0,3)(3,1) MalgunGothicBold % malgunbd.ttf 4515044 6.00 12740 (0,3)(3,1) MalgunGothicBold % meiryo.ttc 7682568 0.97 20682 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic 932 % meiryo.ttc 7815292 5.00 20684 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic % meiryo.ttc 9533888 6.02 23942 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic/MeiryoUI/MeiryoUI-Italic % meiryob.ttc 7924644 0.97 20682 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic % meiryob.ttc 8054096 5.00 20684 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic % meiryob.ttc 9749256 6.02 23942 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic/MeiryoUI-Bold/MeiryoUI-BoldItalic % mingliu.ttf 6272080 2.00 18362 (1,0)(3,1) MingLiU % mingliu.ttc 8823308 3.21 22753 (1,0)(3,1) MingLiU/PMingLiU % mingliu.ttc 8829856 3.21 22753 (1,0)(3,1) MingLiU/PMingLiU % mingliu.ttc 27496184 6.02 33987 (3,1) MingLiU/PMingLiU/Ming-Lt-HKSCS-UNI-H % mingliu.ttc 32217124 7.00 34046 (3,1) MingLiU/PMingLiU/Ming-Lt-HKSCS-UNI-H 950 % mingliub.ttc 33791880 5.00 44857 (3,1)(3,10) MingLiU-ExtB/PMingLiU-ExtB/Ming-Lt-HKSCS-ExtB % mingliub.ttc 33805700 7.00 44875 (3,1)(3,10) MingLiU-ExtB/PMingLiU-ExtB/Ming-Lt-HKSCS-ExtB % msgothic.ttf 4170144 2.00 13104 (1,0)(3,1) MS-Gothic % msgothic.ttc 8272028 2.30 20458 (1,0)(3,1) MS-Gothic/MS-PGothic/MS-UIGothic % msgothic.ttc 8278584 2.30 20458 (1,0)(3,1) MS-Gothic/MS-PGothic/MS-UIGothic % msgothic.ttc 9165480 5.00 22213 (3,1)(3,10) MS-Gothic/MS-PGothic/MS-UIGothic % msgothic.ttc 9176636 5.01 22213 (3,1)(3,10) MS-Gothic/MS-PGothic/MS-UIGothic 932 % mshei.ttf 1902464 1.00 26272 (1,0)(3,1) MS Hei % mshei.ttf 1902556 1.00 26272 (1,0)(3,1) MS Hei % msjh.ttf 14698792 0.71 28969 (0,3)(3,1) MicrosoftJhengHeiRegular 950 % msjh.ttf 14713712 0.75 28969 (0,3)(3,1) MicrosoftJhengHeiRegular % msjh.ttf 14713760 5.00 28969 (0,3)(3,1) MicrosoftJhengHeiRegular % msjh.ttf 21663376 6.02 29220 (0,3)(3,1) MicrosoftJhengHeiRegular % msjhbd.ttf 14498048 0.71 28961 (0,3)(3.1) MicrosoftJhengHeiBold % msjhbd.ttf 14509708 0.75 28961 (0,3)(3.1) MicrosoftJhengHeiBold % msjhbd.ttf 14509756 5.00 28961 (0,3)(3.1) MicrosoftJhengHeiBold % msmincho.ttf 5151192 2.00 13104 (1,0)(3,1) MS-Mincho % msmincho.ttc 9136456 2.30 17807 (1,0)(3,1) MS-Mincho/MS-PMincho % msmincho.ttc 9135960 2.31 17807 (1,0)(3,1) MS-Mincho/MS-PMincho % msmincho.ttc 9142516 2.31 17807 (1,0)(3,1) MS-Mincho/MS-PMincho % msmincho.ttc 10056872 5.00 19321 (3,1)(3,10) MS-Mincho/MS-PMincho % msmincho.ttc 10057108 5.01 19321 (3,1)(3,10) MS-Mincho/MS-PMincho 932 % mssong.ttf 2569040 1.00 26304 (1,0)(3,1) MS Song % mssong.ttf 2569116 1.00 26304 (1,0)(3,1) MS Song % msyh.ttf 12263452 6.01 22562 (0,3)(3,1)(3,10) MSYH % msyh.ttf 15067744 0.71 29207 (0,3)(3,1)(3,10) MicrosoftYaHei % msyh.ttf 15043584 0.75 29126 (0,3)(3,1)(3,10) MicrosoftYaHei % msyh.ttf 15044440 5.00 29126 (0,3)(3,1)(3,10) MicrosoftYaHei % msyh.ttf 21767952 6.02 29354 (0,3)(3,1) MicrosoftYaHei 936 % msyhbd.ttf 14707012 0.71 29240 (0,3)(3,1)(3,10) MicrosoftYaHei % msyhbd.ttf 14685876 5.00 29126 (0,3)(3,1)(3,10) MicrosoftYaHei % nbatang.ttf 32472240 3.00 49636 (3,1) New Batang % ngulim.ttf 8862844 2.00 23181 (3,1) New Gulim % ngulim.ttf 25719724 3.10 49284 (3,1) New Gulim % ogulim.ttf 830340 1.00 2921 (3,1) Gulim Old Hangul Jamo % palmm.ttf 13816928 001.003 27560 (3,1) PMmy % simfang.ttf 3996872 2.00 7580 (1,0)(3,1) FangSong_GB2312 % simfang.ttf 10576012 5.01 28562 (3,1) FangSong 936 % simhei.ttf 10044356 3.02 22021 (1,0)(3,1) SimHei % simhei.ttf 10050868 3.02 22021 (1,0)(3,1) SimHei % simhei.ttf 9751960 5.01 28562 (3,1) SimHei 936 % simkai.ttf 4135804 2.00 7580 (1,0)(3,1) KaiTi_GB2312 % simkai.ttf 11785184 5.01 28562 (3,1) KaiTi 936 % simli.ttf 9317908 3.00 21992 (1,0)(3,1) LiSu % simsun.ttc 10500792 3.03 22141 (1,0)(3,1) SimSun/NSimSun % simsun.ttc 10507340 3.03 22141 (1,0)(3,1) SimSun/NSimSun % simsun.ttc 13747080 5.00 28762 (1,0)(3,1) SimSun/NSimSun % simsun.ttc 15323200 5.03 28762 (1,0)(3,1) SimSun/NSimSun 936 % simsun18030.ttc 12642204 2.06 30533 (1,0)(3,1) SimSun-18030/NSimSun-18030 % simsunb.ttf 15406216 0.90 42809 (1,0)(3,1)(3,10) SimSun-ExtB % simsunb.ttf 15406288 5.00 42809 (1,0)(3,1)(3,10) SimSun-ExtB % simyou.ttf 6794984 3.00 21991 (1,0)(3,1) YouYuan % simyou.ttf 6788204 3.00 21991 (1,0)(3,1) YouYuan PK[f[/tt Stc777p.uppnu[-supModel="Epson Stylus Color 777, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0173 0.0391 0.0719 0.1406 0.2500 }" -dupCyanTransfer="{ 0.0000 0.0169 0.0413 0.0713 0.1500 0.2750 }" -dupMagentaTransfer="{ 0.0000 0.0155 0.0379 0.0654 0.1375 0.2750 }" -dupYellowTransfer="{ 0.0000 0.0141 0.0344 0.0594 0.1500 0.2750 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[u"W"Wps2ai.psnu[%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % % ps2ai.ps - a postscript to editable adobe illustrator file filter % /vers {2.14} def % January 31, 1999 % conditional def ( if the key is already defined before, don't % redefine it. This can be used by other programs to overwrite % some settings from externally % /cdef { 1 index where { pop pop pop } { def } ifelse } bind def % %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % % needs a postscript level 2 interpreter, like gnu ghostscript, to work % % Usage: gs -q -dNODISPLAY ps2ai.ps file.ps > file.aips % or (see below) % gs -q -dNODISPLAY ps2ai.ps file.ps % or % cat ps2ai.ps file.ps | lpr (then look in log file) % % or from within gsview via: % Edit->Convert to vector format %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % Options %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % Output Options: directly to a file or standard out % /jout false cdef % true=file false=stdout (default=false) /joutput (ps2ai.out.aips) cdef % Name of Output file % %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % % Other Options % /jtxt3 true cdef % output text in AI3 form (false=ai88) % for coreldraw/photoshop readable output /joutln false cdef % use font outline instead of font /jerr false def % use error handling (ie die gracefully) /jbiterr false def % attempt to handle bitmap fonts (kludge) /jMacGS false def % true if using MacGS (not fully implemented yet) /jMacfix true def % convert filled boxes to lines (only usefull with % laserwriter 8 postscript input) % %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % No options below here %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % % - Notes - % ai uses cmykcolor, so level 1 interpreters don't work % ai doesn't use image/imagemask - so bitmaps don't work correctly % the output file has a header so it is viewable/printable/reconvertable % % Comments, suggestions, bug-fixes, etc send to: % % Jason Olszewski (olszewsk@splash.princeton.edu) % % anonymous ftp: toby.princeton.edu /pub/olszewsk/ps2ai.ps % URL ftp://toby.princeton.edu/pub/olszewsk % % - Fix History - % 2.14 added cdef to allow overwriting of certain values from externally % 2.13 check for bitmap fonts, work better with TeX,WinPS,etc % 2.12 fixed initclip to US letter size page % 2.11 added header support for *u/*U compound paths % 2.1 option of font outline instead of text(gwhite@trevnx.bio.dfo.ca) % 2.0 major change to complex path handling % 1.9 fixed text leaking ascii (,),\ % 1.85 added default font to handle no setfont (Courier) % 1.84 added even-odd fill/clip (D) % 1.83 undefined PPD PageSize printer specific info % 1.82 added kludge to save clipping status through a restore % 1.81 added custom color/gray support to header (x/X, g/G) % 1.8 added newpath if clippath is not consumed correctly(amiga) % 1.79 eliminated scientific notation of numbers less than 0.0001 % 1.78 fixed transposed h & H % 1.77 made laserwriter 8 fixes optional % 1.76 added margin fix for unix AI (brown@wi.extrel.com) % 1.75 added kludge to handle bitmap font errors (TeX, Windows.ps) % 1.74 made grestore a little smarter % 1.73 included header handle encoded fontname (/_fontname) % 1.72 fixed problem with restore/clip info - (not enough Qs problem) % 1.71 filter font names to remove previous encoding (|,_,etc) % 1.7 change text format to AI3, works better with PS & CD % 1.67 deal with weird makefonts % 1.66 handle to many bad stroke/fills (s s s w/o paths) % 1.65 more useable with non-gs interpreters (defaultmatrix fix) % 1.64 fixed "smart grestore" repeat bug % 1.63 fixed ashow/awidthshow bug % 1.62 check if cmykcolor is understood otherwise rgb % 1.61 made grestore smarter (only print if different) % 1.6 add better compatibility to CorelDraw and PhotoShop % 1.53 make it more gs-backward compatible (clarke@lsl.co.uk) % 1.52 handle clipping paths a little better (Posted) % 1.51 improve mac lw8 output (lines instead of filled boxes) % 1.5 handle some level 2 stuff (mac lw8) % 1.4 fixed scaling of linewidth and dash % 1.31 made trailer more AI88 friendly % 1.3 add ablity to output to file directly % 1.21 print matrix cleaner % 1.2 fix rotated fonts, thanks to G.Cameron (g.cameron@biomed.abdn.ac.uk) % 1.1 fix stroke/fill color difference (k vs K) % 1.0 posted to comp.lang.postscript % % - To Do List - % find real %%BoundingBox: llx lly urx ury % make MacGS friendly (line-endings) % handle eps w/o showpage:(append to end) % write out image data to external file % %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % Nothing of Interest below here %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx matrix identmatrix setmatrix % make ctm [1 0 0 1 0 0] /bdef {bind def} bind def /oldgsave {} def /oldgrestore {} def /initgraphics {} def /initmatrix {} def % undefine PPD PageSizes to be more printer independant /letter {} def /legal {} def /a4 {} def /b5 {} def /lettersmall {} def /setpagedevice { pop } bdef % for level 2 PPD PageSizes /Courier findfont 12 scalefont setfont % handle no setfont /initclip {0 0 moveto 0 792 lineto 612 792 lineto 612 0 lineto closepath clip newpath } bdef /xdef {exch def} bdef /trx {transform exch} bdef /cbdef {cvx bind def} bdef /jltz {dup abs 0.0001 lt {pop 0} if} bdef % get rid of scientific notation bug /clstate false def % closepath state /dpth false def % destroy path (ie newpath) /fclp false def % first paint after clip /kscl {1.0} def % default current scale X-factor /gcnt {1} def % graphics state counter /spth {1} def % multiple paths on stack /jeol (\n) def % default end-of-line /jnump {0} def % number of paths on stack /jx {0} def /jy {0} def /j_ax {0} def /j3ftxt true def /clarry 10 array def 0 1 9 {clarry exch false put} for % initilize no clipping path % % handle cmyk color on level 1 interpreters /setcmykcolor where {pop} {/setcmykcolor { /blk exch def /yel exch def /mag exch def /cyan exch def /ccomp {add dup 1 gt {pop 1} if} def /red {1 cyan blk ccomp sub} def /green {1 mag blk ccomp sub} def /blue {1 yel blk ccomp sub} def red green blue setrgbcolor } bdef } ifelse /currentcmykcolor where {pop} {/currentcmykcolor { currentrgbcolor /bval xdef /gval xdef /rval xdef /rawC 1 rval sub def /rawM 1 gval sub def /rawY 1 bval sub def rawC rawM ge { rawY rawM ge { /blk rawM def} if } if rawC rawY ge { rawM rawY ge { /blk rawY def} if } if rawY rawC ge { rawM rawC ge { /blk rawC def} if } if rawY rawC eq { rawM rawC eq { /blk rawC def} if } if /cyan rawC blk sub def /mag rawM blk sub def /yel rawY blk sub def /blk blk def cyan mag yel blk } bdef } ifelse % If using Mac Ghostscript jMacGS { % /jeol {(\r) jp} def /jout true def (%%Note: Loading ps2ai.ps\n) print } if /jstr 40 string def jout {joutput (w) file /joutput xdef} if % % Output % jout {/jp { joutput exch writestring } bdef }{/jp {print} bdef} ifelse /jpnum {jltz ( ) jp =string cvs jp } bdef /jpmat { (\[) jp { jpnum } forall (\]) jp } bdef % % Stack to Paths converters % /ckpnt { % check which paint and clipping to use dpth { % if there are multiple paths on the stack clarry gcnt get fclp and {clstate {(h W\n) jp }{(H W\n) jp } ifelse} if spth 0 eq {clstate {(n\n) jp }{(N\n) jp } ifelse} if spth 1 eq {clstate {(s\n) jp }{(S\n) jp } ifelse} if spth 2 eq {clstate {(f\n) jp }{(F\n) jp } ifelse} if } if } bdef /jpm { ckpnt /dpth true def transform 2 copy /yst xdef /xst xdef exch jpnum jpnum ( m\n) jp } bdef /jpl { trx jpnum jpnum ( l\n) jp } bdef /jpc { 6 4 roll trx jpnum jpnum 4 2 roll trx jpnum jpnum trx jpnum jpnum ( c\n) jp } bdef /jpp {xst jpnum yst jpnum ( l\n) jp /clstate true def} bdef /cntpaths { % count paths on stack oldgsave {pop pop /jnump jnump 1 add def} {pop pop} {6 {pop} repeat}{} pathforall oldgrestore } bdef /ppforall { cntpaths % find out how many paths are on the stack jnump 1 gt { (*u\n) jp } if {jpm}{jpl}{jpc}{jpp} pathforall ckpnt jnump 1 gt { (*U\n) jp } if /jnump 0 def /clstate false def /dpth false def /fclp false def oldnewpath } bdef % % Painting Operators % /oldnewpath [/newpath load] cbdef /newpath { (\n) jp /spth 0 def ppforall} bdef /stroke { (\n) jp /spth 1 def ppforall } bdef /fill {(\n) jp /spth 2 def ppforall } bdef /eofill {(1 D\n) jp fill (0 D\n) jp} bdef /clip {clarry gcnt get {(Q\nq\n) jp}{(q\n) jp} ifelse /fclp true def clarry gcnt true put} bdef /eoclip {(1 D\n) jp clip (0 D\n) jp} bdef % % Text Operators % /oldshow [/show load] cbdef /curpt {stringwidth pop jx add jy} bdef /jNN {dup 0 eq {pop oldgsave currentfont /FontMatrix get setmatrix kscl oldgrestore} if } bdef /curftmatrix { currentfont /FontMatrix get dup 0 get jNN abs /norm exch def dup 0 get norm div exch dup 1 get norm div exch dup 2 get norm div exch dup 3 get norm div exch dup 4 get exch 5 get 6 array astore matrix currentmatrix matrix concatmatrix } bdef % AI does not support negitive font sizes /curftsize {currentfont /FontMatrix get 0 get jNN abs 1000 mul} bdef /hstr (X) def /vbar (|) 0 get def /undsc (_) 0 get def /ftnamefix { % handle font names with |,_ (previously encoded) jstr cvs { %forall dup vbar eq {pop}{ %ifelse dup undsc eq {pop}{ %ifelse hstr exch 0 exch put hstr jp } ifelse } ifelse } forall flush } bdef %/curftname {currentfont /FontName get ftnamefix} bdef /curftname { currentfont /FontName known {currentfont /FontName get} { (Times-Roman)} ifelse ftnamefix } bdef /lftpar (\() 0 get def /rhtpar (\)) 0 get def /bckslsh (\\) 0 get def /handft { % handle strings with (,),\ (\() jp { %forall dup lftpar eq { (\\\() jp }{ %ifelse dup rhtpar eq { (\\\)) jp }{ %ifelse dup bckslsh eq { (\\\\) jp }{ %ifelse hstr exch 0 exch put hstr jp } ifelse } ifelse } ifelse } forall (\)) jp flush } bdef % AI 3 text format pieces jtxt3 { /j3txt { j3ftxt {(0 Ts 100 Tz 0 Tt 0 TA 0 0 5 TC 100 100 200 TW 0 0 0 Ti\n) jp (0 Ta 0 Tq 0 0 TI 0 Tc 0 Tw\n) jp} if } bdef /show {oldgsave (0 To\n) jp currentpoint 2 copy /jy exch def /jx exch def translate curftmatrix /jitm exch def 0 1 5 {jitm exch get jpnum} for ( 0 Tp\n) jp (TP\n) jp (0 Tr\n) jp (\/_) jp curftname curftsize jpnum ( Tf\n) jp (0) jp j_ax curftsize div 100 mul jpnum ( 100 TC\n) jp % percent(?) dup curpt moveto mark exch handft ( Tx\n) jp (TO\n) jp /j3ftxt false def cleartomark currentpoint oldgrestore moveto } bdef /ashow {exch pop exch /j_ax exch def show /j_ax {0} def } bdef } { /show {oldgsave (u\n) jp currentpoint 2 copy /jy exch def /jx exch def translate (\/) jp curftname jstr cvs jp curftsize dup jpnum jpnum ( 0 0 z\n) jp curftmatrix jpmat ( e\n) jp dup curpt moveto mark exch handft ( t T U\n) jp cleartomark currentpoint oldgrestore moveto} bdef /ashow {oldgsave (u\n) jp currentpoint translate (\/) jp curftname jstr cvs jp curftsize dup jpnum jpnum exch kscl mul jpnum ( 0 z\n) jp curftmatrix jpmat ( e\n) jp dup curpt moveto mark exch handft ( t T U\n) jp cleartomark currentpoint oldgrestore moveto} bdef } ifelse /widthshow { show pop pop pop} bdef /awidthshow {ashow pop pop pop} bdef /kshow {show pop} bdef %/show {true charpath fill} bdef % get outline of charactor joutln {/show { true charpath currentpoint /jy exch def /jx exch def fill jx jy moveto} bdef} if %/show {oldshow} bdef % do nothing different % % Color Operators % /oldsetcmykcolor [/setcmykcolor load] cbdef /setcmykcolor {oldsetcmykcolor currentcmykcolor 4 -1 roll jpnum 3 -1 roll jpnum 2 -1 roll jpnum jpnum ( k\n) jp currentcmykcolor 4 -1 roll jpnum 3 -1 roll jpnum 2 -1 roll jpnum jpnum ( K\n) jp } bdef /oldsetgray [/setgray load] cbdef /setgray {0 0 0 4 -1 roll 1 exch sub setcmykcolor} bdef /oldsethsbcolor [/sethsbcolor load] cbdef /sethsbcolor {oldsethsbcolor currentcmykcolor setcmykcolor} bdef /oldsetrgbcolor [/setrgbcolor load] cbdef /setrgbcolor {oldsetrgbcolor currentrgbcolor /bval xdef /gval xdef /rval xdef /rawC 1 rval sub def /rawM 1 gval sub def /rawY 1 bval sub def rawC rawM ge { rawY rawM ge { /blk rawM def} if } if rawC rawY ge { rawM rawY ge { /blk rawY def} if } if rawY rawC ge { rawM rawC ge { /blk rawC def} if } if rawY rawC eq { rawM rawC eq { /blk rawC def} if } if /cyan rawC blk sub def /mag rawM blk sub def /yel rawY blk sub def /blk blk def cyan mag yel blk setcmykcolor } bdef % % State Operators % /oldsetlinewidth [/setlinewidth load] cbdef /setlinewidth {kscl abs mul jltz oldsetlinewidth currentlinewidth jpnum ( w\n) jp } bdef /oldsetlinecap [/setlinecap load] cbdef /setlinecap {dup oldsetlinecap jpnum ( J\n) jp} bdef /oldsetlinejoin [/setlinejoin load] cbdef /setlinejoin {dup oldsetlinejoin jpnum ( j\n) jp} bdef /oldsetmiterlimit [/setmiterlimit load] cbdef /setmiterlimit {dup oldsetmiterlimit jpnum ( M\n) jp}bdef /oldsetdash [/setdash load] cbdef /setdash {exch [ exch {kscl abs mul} forall ] exch kscl abs mul oldsetdash currentdash exch jpmat jpnum ( d\n) jp } bdef /oldsetflat [/setflat load] cbdef /setflat {dup oldsetflat jpnum ( i\n) jp } bdef % % More State Operators % /kscl { % use just the x scale factor oldgsave matrix currentmatrix /jctm exch def jctm 4 0 put jctm 5 0 put jctm setmatrix 1 0 moveto currentpoint transform dup mul exch dup mul add sqrt 10000 mul round 10000 div oldgrestore } bdef /currentstate {currentcmykcolor setcmykcolor currentflat jpnum ( i) jp currentlinecap jpnum ( J) jp currentlinejoin jpnum ( j) jp currentlinewidth jpnum ( w) jp currentmiterlimit jpnum ( M ) jp currentdash exch jpmat jpnum ( d\n) jp } bdef /jdifG { currentcmykcolor /jok xdef /joy xdef /jom xdef /joc xdef currentflat /jof xdef currentlinecap /jolc xdef currentlinejoin /jolj xdef currentlinewidth /jolw xdef currentmiterlimit /joml xdef currentdash /jood xdef /joad xdef oldgrestore currentcmykcolor /jnk xdef /jny xdef /jnm xdef /jnc xdef currentflat /jnf xdef currentlinecap /jnlc xdef currentlinejoin /jnlj xdef currentlinewidth /jnlw xdef currentmiterlimit /jnml xdef currentdash /jnod xdef /jnad xdef % compare old gstate to new gstate joc jnc ne jom jnm ne joy jny ne jok jnk ne jof jnf ne jolc jnlc ne jolj jnlj ne jolw jnlw ne joml jnml ne false joad {true exit} forall {pop pop true}{false} ifelse false jnad {true exit} forall {pop pop true}{false} ifelse ne jood jnod ne 10 {or} repeat {currentstate} if } bdef /oldgsave [/gsave load] cbdef /gsave {oldgsave /gcnt gcnt 1 add def } bdef % clarry gcnt false put} bdef % (%%Note:gsave ) jp gcnt jpnum (\n) jp} bdef /oldgrestore [/grestore load] cbdef /grestore {dpth {newpath} if clarry gcnt get {(Q\n) jp clarry gcnt false put} if jdifG /gcnt gcnt 1 sub def } bdef % oldgrestore currentstate } bdef % (%%Note:grestore ) jp gcnt 1 add jpnum (\n) jp} bdef /oldrestore [/restore load] cbdef % a kludgy way of saving the clipping path status information /restore {clarry aload pop 11 -1 roll oldrestore clarry astore pop} bdef /showpage { 0 1 9 {clarry exch get {(Q\n) jp} if } for (%%Note: If Error, make sure there are matched pairs of 'q's and 'Q's\n) jp (%%Note: in the file. Add 'Q's before '%%Trailer' until equal\n) jp (%%Trailer\n) jp jtxt3 {(Adobe_IllustratorA_AI3 /terminate get exec\n) jp (Adobe_typography_AI3 /terminate get exec\n) jp (Adobe_customcolor /terminate get exec\n) jp (Adobe_cshow /terminate get exec\n) jp (Adobe_cmykcolor /terminate get exec\n) jp (Adobe_packedarray /terminate get exec\n) jp }{ (Adobe_Illustrator881 /terminate get exec\n) jp (Adobe_customcolor /terminate get exec\n) jp (Adobe_cshow /terminate get exec\n) jp (Adobe_cmykcolor /terminate get exec\n) jp (Adobe_packedarray /terminate get exec\n) jp } ifelse ( showpage\n%EOF\n%%EndDocument\n) jp jout {joutput closefile} if jMacGS not {quit} if /j3ftxt true def } bdef % % Error handling % errordict begin % Attempt to handle the error caused by bitmap fonts (TeX,Windows.ps,etc) % this is a big-time kludge jbiterr { /undefined {pop pop (Times-Roman)} bdef /typecheck {pop pop} bdef } if jerr { /handleerror { (%%Note: ps2ai error, aborting rest of conversion\n) jp showpage } bdef } if end % % Mac LW 8 improvements % /jmacimp { % stroked line instead of thin filled boxes /@a { 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch moveto 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll exch sub exch lineto abs setlinewidth stroke pop pop} bdef /@b { 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch moveto pop 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch lineto abs setlinewidth stroke} bdef /endp {showpage pm restore} bdef % because the restore stops clean up } bdef % % Handle (some) PS Level 2 % /rectstroke { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath stroke} bdef /rectfill { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto fill } bdef /rectclip { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath clip newpath jMacfix {jmacimp} if } bdef % % Add a header prolog to the output file so it is still view/print-able % (%!PS-Adobe-2.0 EPSF-1.2\n%%BoundingBox: 0 0 612 792\n) jp (%%Title: Adobe Illustator 3 Editable Document\n) jp (%%Creator: ps2ai.ps vers.) jp vers jpnum ( \(C\) 1993-94 Jason Olszewski\n) jp (%%TemplateBox: 0 0 612 792\n) jp jtxt3 {(%%AI3_Margin:0 0 0 0\n) jp } if (%%EndComments\n) jp (%%BeginProlog\n) jp (/m {moveto} def /l {lineto} def /c {curveto} def\n) jp (/S {stroke} def /F {fill} def\n) jp (/s {closepath S} def /f {closepath F} def\n) jp (/q {gsave} def /Q {grestore} def /W {clip} def /k {setcmykcolor} def\n) jp (/i {setflat} def /J {setlinecap} def /j {setlinejoin} def\n) jp (/w {setlinewidth} def /M {setmiterlimit} def /d {setdash} def\n) jp (/u {gsave} def /U {grestore} def /K {k} def\n) jp (/N {newpath} def /n {closepath N} def\n) jp (/g {setgray} def /G {g} def\n) jp (/x {pop pop k} def /X {x} def\n) jp (/H {} def /h {H closepath} def /D {pop} def\n) jp (/*u { /N {/spth 0 def}def /S{/spth 1 def}def /F {/spth 2 def} def} def\n) jp (/*U { spth 0 eq {newpath} if spth 1 eq {stroke} if spth 2 eq {fill} if\n) jp ( /N {newpath} def /S {stroke} def /F {fill} def } def\n) jp %(\n) jp jtxt3 { (/TC {pop pop pop} def /Tr {pop} def\n) jp (/To {pop gsave} def /TO {grestore} def\n) jp (/Tp {pop matrix astore concat} def /TP {0 0 moveto} def\n) jp (/a_str 40 string def /cnt 0 def /h_str (X) def /undsc (_) 0 get def\n) jp (/fntfix {a_str cvs dup length 1 sub /f_str exch string def\n) jp ( {dup undsc eq {pop}{f_str cnt 3 -1 roll put /cnt cnt 1 add def\n) jp ( } ifelse } forall flush /cnt 0 def f_str cvn } bind def\n) jp (/Tf {exch fntfix findfont exch scalefont setfont} def /Tx {show} def\n) jp }{ (/z {pop pop pop exch findfont exch scalefont setfont} def\n) jp (/e {concat 0 0 m} def /t {show} def /T {} def\n) jp } ifelse (\n) jp jtxt3 { (userdict /Adobe_packedarray 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_cmykcolor 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_cshow 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_customcolor 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_typography_AI3 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_IllustratorA_AI3 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp }{ (userdict /Adobe_packedarray 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_cmykcolor 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_cshow 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_customcolor 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp (userdict /Adobe_Illustrator881 2 dict dup begin put\n) jp (/initialize {} def /terminate {} def\n) jp } ifelse (%%EndProlog\n) jp (%%BeginSetup\n) jp jtxt3 { (Adobe_packedarray /initialize get exec\n) jp (Adobe_cmykcolor /initialize get exec\n) jp (Adobe_cshow /initialize get exec\n) jp (Adobe_customcolor /initialize get exec\n) jp (Adobe_typography_AI3 /initialize get exec\n) jp (Adobe_IllustratorA_AI3 /initialize get exec\n) jp }{ (Adobe_packedarray /initialize get exec\n) jp (Adobe_cmykcolor /initialize get exec\n) jp (Adobe_cshow /initialize get exec\n) jp (Adobe_customcolor /initialize get exec\n) jp (Adobe_Illustrator881 /initialize get exec\n) jp } ifelse (%%EndSetup\n) jp 0 0 0 1 oldsetcmykcolor currentstate jout {(%%Note: Load Postscript file to be converted now\n) print} if PK[f[{# dmp_site.psnu[%! BeginConfig %%%%%%%%%%%%%%%%%%%%%% Standard user cusomizations %%%%%%%%%%%%%%%%%%%%% /printer (escp_24.src) % horizontal / vertical % /resolution [ 180.0 180.0 ] % horizontal / vertical % /offset [ 0.0 0.0 ] % width / height % /defaultsize [ 8.0 in 11.0 in ] % width / height % /maxsize [ 8.0 -1 ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EndConfig PK[f[2_KPllalign.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Print a page that indicates the proper settings of Margins and HWMargins % for a given device. Requires a Level 2 system. % Reset the offset and margins. << /PageOffset [0 0] /Margins [0 0] /.HWMargins [0 0 0 0] >> setpagedevice << /ImagingBBox null >> setpagedevice % Determine the actual page size. clippath pathbbox newpath /y1 exch def /x1 exch def pop pop % Draw lines that should be exactly 1" in from each edge, % and should extend precisely to the edge of the paper. 1 setlinewidth 0 setgray 72 0 moveto 0 y1 rlineto stroke 0 72 moveto x1 0 rlineto stroke % Print the text in the middle of the page. /S 80 string def 108 480 moveto /Helvetica 12 selectfont { currentfile S readline pop dup (%END) eq { pop exit } if gsave show grestore 0 -15 rmoveto } loop Let the distance in inches from the left edge of the page to the vertical line be H, and from the bottom edge to the horizontal line be V; let the lengths of the gaps at the top and bottom of the vertical line be T and B respectively, and the gaps at the left and right of the horizontal line be L and R. For correct alignment of pages, put the following line in a file named (for example) margins.ps, and then mention margins.ps on the gs command line when printing any of your own files: << /.HWMargins [ml mb mr mt] /Margins [x y] >> setpagedevice where ml = L * 72, mb = B * 72, mr = R * 72, mt = T * 72, %END /res currentpagedevice /HWResolution get def ( x = (1 - H) * ) show res 0 get =string cvs show (, y = (V - 1) * ) show res 1 get =string cvs show showpage PK[f[Pzz st640p.uppnu[-supModel="Epson Stylus Color 640, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[L bj8gc12f.uppnu[-supModel="Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r1200x1200 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 04b0 04b0 1b28 63 0300 3005 04 1b28 6c 0200 340d >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[a stocht.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % helper file to simplify use of Stochastic Halftone - uses ht_ccsto.ps % This file sets the /StochasticDefault /Halftone as the current % and the /Default halftoning, loading the Stochastic halftone % if required. % Stochastic halftoning is recommended for inkjet printers, and may % produce output as pleasing as the more computationally expensive % "error diffusion" that *some* device drivers provide. % For printing technologies other than inkjet, Stochastic halftoning % may not look better than standard screening. In particular, thermal % transfer and direct thermal tend to be better with standard ordered % screening methods. Some laser printers may produce "smoother" % looking gray shades with Stochastic halftoning. Try it, and if % you like it, use it. % Note that this /Default halftone can be overridden by PostScript % operators that set the screening or halftone (such as setscreen). % To make Stochastic Halftone be "sticky" so that other screening and % halftone setting in the subsequent PostScript will be ignored, use: % -c "<< /HalftoneMode 1 >> setuserparams" % on the command line prior to the file to be processed. For example, % % gs stocht.ps -c "<< /HalftoneMode 1 >> setuserparams" -f examples/tiger.eps % Alternatively, the command to set the /HalftoneMode userparam can be % concatenated to this file (see below). % ===================================================================== % Try to get the previously defined resource { /StochasticDefault /Halftone findresource } stopped { pop pop % Need to load the Stochastic Halftone using the lib file (ht_ccsto.ps) runlibfile } if % If we didn't error out by now, then go ahead and define the /Default /StochasticDefault /Halftone findresource /Default exch /Halftone defineresource sethalftone % Use the halftone % Uncomment the next line to make the Stocahstic halftoning be "sticky" % << /HalftoneMode 1 >> setuserparams PK[f[ ([[ Stp720pl.uppnu[-supModel="Epson Photo 720, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[|b[[ stc600pl.uppnu[-supModel="Epson Stylus Color 600, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0553 0.1158 0.1998 0.4321 1.0000 }" -dupCyanTransfer="{ 0.0000 0.1188 0.2272 0.3745 0.5396 0.6145 }" -dupMagentaTransfer="{ 0.0000 0.0851 0.1512 0.2111 0.2606 0.2818 }" -dupYellowTransfer="{ 0.0000 0.0679 0.1742 0.3129 0.4587 0.5389 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK[f[hgs_l.xbmnu[#define gs_l.xbm_width 48 #define gs_l.xbm_height 48 #define gs_l.xbm_x_hot 0 #define gs_l.xbm_y_hot 0 static unsigned char gs_l.xbm_bits[] = { 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x03, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x07, 0x00, 0x00, 0xe0, 0xff, 0x0f, 0x07, 0x00, 0x00, 0xf8, 0xff, 0x81, 0x07, 0x00, 0x00, 0xfc, 0x1f, 0xc0, 0x0f, 0x00, 0x00, 0xfe, 0x07, 0xf0, 0x1f, 0x00, 0x00, 0xff, 0x01, 0xf8, 0x1f, 0x00, 0x00, 0xff, 0x41, 0xfc, 0x3f, 0x00, 0x80, 0xff, 0xc8, 0xfc, 0x3f, 0x00, 0x80, 0xff, 0xd8, 0xf8, 0x3f, 0x00, 0x80, 0xff, 0x98, 0xf0, 0x3f, 0x00, 0x80, 0xff, 0x10, 0xe0, 0x3f, 0x00, 0x00, 0xff, 0x01, 0xc0, 0x3f, 0x00, 0x00, 0xff, 0x81, 0x81, 0x1f, 0x00, 0x00, 0xfe, 0x83, 0x83, 0x1f, 0x00, 0x00, 0xfc, 0x0f, 0x83, 0x0f, 0x00, 0x00, 0xf8, 0x1f, 0xc3, 0x03, 0x00, 0x00, 0xe0, 0x1f, 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x1f, 0x38, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x01, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x03, 0xc0, 0x3f, 0x00, 0x00, 0xff, 0x03, 0xe0, 0x0f, 0x00, 0x00, 0xfe, 0x03, 0xf0, 0x07, 0xfc, 0x00, 0xfc, 0x01, 0xf0, 0x07, 0x0e, 0x00, 0xff, 0x04, 0xf0, 0x07, 0x7e, 0xe0, 0x7f, 0x02, 0xf0, 0x0f, 0xfc, 0xff, 0x1f, 0x01, 0xe0, 0x1f, 0xf0, 0xff, 0xc3, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x78, 0x00, 0x80, 0xff, 0x0f, 0xf8, 0x3f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; PK[f[O2lines.psnu[%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Test line rendering (stroke). % Exercise the miter limit. The left column of lines should bevel at % 90 degrees, the right column at 60 degrees. gsave 1.8 setlinewidth 0 setgray 15 15 scale -5 5 translate [1.415 2.0] { setmiterlimit 12 0 translate 0 0 moveto 10 30 360 { gsave 5 0 rlineto rotate 2.5 0 rlineto gsave 0 setlinewidth 1 0 0 setrgbcolor stroke grestore strokepath 0 setlinewidth stroke grestore 0 4 rmoveto } for } forall showpage grestore % Exercise all the combinations of cap and join styles % for one-line, two-line, and closed paths. gsave /drawlines { gsave 2.0 setmiterlimit 2.0 setlinewidth 6 6 scale 5 20 translate {0 1 2} % line cap { setlinecap gsave {0 1 2} % line join { setlinejoin gsave { {currentpoint lineto} {3 7 lineto} {3 7 lineto 5 1 lineto} {3 7 lineto 6 3 lineto closepath} } { gsave 0 0 moveto exec gsave stroke grestore 0.5 setlinewidth 1 0 0 setrgbcolor stroke grestore 8 0 translate } forall grestore 35 0 translate } forall grestore 0 20 translate } forall grestore } def /xflip { 8.5 72 mul 0 translate -1 1 scale } def /rot90 { 90 rotate 0 -9.75 72 mul translate } def /rot180 { rot90 rot90 } def /rot270 { rot180 rot90 } def drawlines showpage gsave xflip drawlines grestore showpage gsave rot90 drawlines grestore showpage gsave rot90 xflip drawlines grestore showpage gsave drawlines rot180 showpage gsave rot180 xflip drawlines grestore showpage gsave rot270 drawlines grestore showpage gsave rot270 xflip drawlines grestore showpage grestore % Here are some boundary conditions, contributed by Mark Rawling. gsave 1 setlinecap 2.6 setmiterlimit 3.0 setlinewidth 5 5 scale 10 20 translate % [ 0.5 sqrt dup dup dup neg exch 0 0 ] concat % 45 rotate {0 1 2} % line join { setlinejoin gsave 0 0 moveto 0 10 lineto 10 0 lineto gsave stroke grestore 15 0 translate 0 0 moveto 0 10 lineto 10 20 lineto gsave stroke grestore 15 0 translate 10 0 moveto 10 10 lineto 0 20 lineto gsave stroke grestore 15 0 translate 10 0 moveto 10 10 lineto 0 0 lineto gsave stroke grestore grestore gsave 0 20 translate 0 20 moveto 0 10 lineto 10 20 lineto gsave stroke grestore 15 0 translate 0 20 moveto 0 10 lineto 10 0 lineto gsave stroke grestore 15 0 translate 10 20 moveto 10 10 lineto 0 0 lineto gsave stroke grestore 15 0 translate 10 20 moveto 10 10 lineto 0 20 lineto gsave stroke grestore grestore 60 0 translate } forall showpage grestore % Test narrow lines at a variety of angles. gsave /rad 120 def /ray { gsave rotate 0 0 moveto rad 0 rlineto stroke grestore } def /star { newpath gsave gsave 0.5 setgray 0 0 rad 0 360 arc stroke grestore 0 90 359 { rotate 0 3 14 { ray } for 15 15 89 { ray } for } for grestore } def 0 setgray 150 150 translate [ [ 0 0.5 1 ] [ 1.5 2 2.5 ] [ 3 3.5 4 ] ] { gsave { setlinewidth star 250 0 translate } forall grestore 0 250 translate } forall grestore showpage % End quit PK[f[_M bjc610b3.uppnu[-supModel="Canon BJC 610, 720x720DpI, transparency film, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 102110 1b28 64 0200 02d0 1b28 6c 0200 1420 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK[f[n2 viewmiff.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % viewmiff.ps % Display a MIFF file. You would think the 'display' command would do this, % but many versions of 'display' either core-dump or require unacceptably % large amounts of memory. % FITPAGE is true, it fits the output page size to the image % Recognize MIFF keywords. /miffwords mark /class { cvn /class exch def } /colors { cvi /colors exch def } /columns { cvi /Width exch def } /compression { cvn /compression exch def } /depth { cvi /depth exch def } /packets { cvi /packets exch def } /rows { cvi /Height exch def } .dicttomark readonly def % Recognize MIFF image classes. /miffclasses mark /DirectClass { /DeviceRGB setcolorspace /BitsPerComponent depth def /Decode [ 0 1 0 1 0 1 ] def } /PseudoClass { [ /Indexed % The MIFF documentation lies about the size of pixels % for this case: the pixel size is determined only by % the number of colors, and is not affected by the image % depth. Specifically, if there are 256 or fewer colors % but the depth (of color map entries) is 16, each pixel % is still only 1 byte, not 2. currentdict /colors known { /DeviceRGB colors 1 sub /BitsPerComponent colors 256 le { 8 } { 16 } ifelse def colors 3 mul string depth 8 eq { f exch readstring pop } { % 16-bit color map entries: take only the high-order byte. 0 1 2 index length 1 sub { f read pop 2 index 3 1 roll put f read pop pop } for } ifelse } { /colors 256 def /DeviceGray 255 256 string 0 1 255 { 1 index exch dup put } for } ifelse ] setcolorspace /Decode [ 0 1 BitsPerComponent bitshift 1 sub ] def } .dicttomark readonly def % Recognize MIFF compression methods. /rlstring 768 string def /rlread { % packets is not reliable -- disregard it. dup rlstring 0 3 getinterval readstring { pop read pop 3 mul 3 3 2 index { rlstring exch rlstring 0 3 getinterval putinterval } for rlstring 0 3 -1 roll 3 add getinterval } { pop pop () } ifelse } bind def /miffcompress mark /Uncompressed { f } /RunLengthEncoded { { f rlread } } /Zip { [ f /FlateDecode filter cvlit /rlread cvx ] cvx } .dicttomark readonly def % Read a MIFF file and display the image. /viewmiff { % viewmiff - 50 dict begin /fname 1 index def /f exch (r) file def % Set defaults. /ImageType 1 def /class /DirectClass def /compression /Uncompressed def /depth 8 def /packets 16#7fffffff def % Read and parse the header. { f token pop dup (:) eq { pop exit } if dup type /nametype eq { 1024 string cvs (=) search { exch pop miffwords exch .knownget { exec } { pop } ifelse } { pop % who knows? } ifelse } { pop % probably a comment in braces } ifelse } loop % Read and display the image. miffclasses class get exec /DataSource miffcompress compression get exec def /FITPAGE where { /FITPAGE get { % we've already set the image color space, so % push it on the stack, and set it again after % setting the page size currentcolorspace <> setpagedevice setcolorspace } if } if /ImageMatrix [Width 0 0 Height neg 0 Height] def currentpagedevice /PageSize get dup 0 get exch 1 get scale gsave 0.8 setgray 0 0 1 1 rectfill grestore % provide background currentdict image showpage % Clean up. f closefile end } bind def PK[f[]bPPgslp.psnu[% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % gslp.ps - format and print text % This utility provides functionality approximately equivalent to the Unix % `enscript' program. It prints plain text files using a single font. % It currently handles tabs and formfeeds, but not backspaces. % It will line-wrap when using fixed-pitch fonts. % It will also do kerning and width adjustment. % Standard switches implemented: % -12BclqRr -b
-f -F -L -p % Sun switches implemented: % -T set tab width % Switches ignored: % -GghKkmow -# -C -d -J -n -P -S -s -t -v % Switches added: % --add-to-space % add the given number of 1/72" units to the width of each % space (may be negative) % --add-to-width % add the given number of 1/72" units to the width of each % character (may be negative) % --columns % print in columns % --detect % treat the file as PostScript if it starts with %! % --first-page % --duplex(|-long-edge|-short-edge) % use duplex if available; if not specified, select long edge % for portrait printing, short edge for landscape % start printing at page % --kern % kern using information from the given .AFM file % --last-page % stop printing after page % --(heading|footing)-(left|center|right) % set the heading/footing fields; use -B first to clear % --margin-(top|bottom|left|right) % set a margin % --no-eject-(file|formfeed) % end-of-file/FF only starts a new column, not a new sheet % --spacing % use double (n=2), triple (n=3), etc. spacing % Also, the string %# in a heading or footing is replaced with the page #. /PageNumberString (%#) def /lpdict 150 dict def lpdict begin % build iso-latin-1 version of a font /font-to-iso-latin-1 { % font-to-iso-latin-1 %% reencode for iso latin1; from the 2nd edition red book, sec 5.6.1 dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end dup /FontName get 80 string cvs (-ISOLatin1) concatstrings cvn exch definefont } def /find-latin-font { % find-latin-font findfont font-to-iso-latin-1 } def % Define the initial values of the printing parameters. /AddToSpace 0 def /AddToWidth 0 def /BodyFont null def % use default /defaultBodyFontPortrait /Courier find-latin-font 10 scalefont def /defaultBodyFontLandscape /Courier find-latin-font 7 scalefont def /defaultBodyFont { Landscape { defaultBodyFontLandscape } { defaultBodyFontPortrait } ifelse } def /Columns 1 def /DetectFileType false def /Duplex null def /EjectEOF true def /EjectFF true def /Footers false def /FootingLeft () def /FootingCenter () def /FootingRight () def /Headers true def /HeadingLeft () def /HeadingCenter () def /HeadingRight (page ) PageNumberString concatstrings def /HeadingFont null def % use default /defaultHeadingFont /Courier-Bold find-latin-font 10 scalefont def /Kern 0 dict def % no kerning /Landscape false def /MarginBottom 36 def % 1/2" /MarginLeft 36 def % 1/2" /MarginRight 36 def % 1/2" /MarginTop 36 def % 1/2" /MaxLines 9999 def % max lines per page /Noisy true def % i.e., not quiet /OutFile null def % null = write directly to device /PageFirst 1 def /PageLast 99999 def /Spacing 1 def /Tab 8 def /Truncate false def % wrap long lines, don't truncate % When writing to a file, we want to write out PostScript; % when writing to the printer, we want to execute it; % some commands should be executed regardless. % lpexec provides for all this. /lpdef { % lpdef - /def 2 true lpexec } def /lpexec { % ... lpexec - OutFile null eq { pop 1 add true } { /t exch def 1 add /n exch def cvx n -1 roll dup wo n 1 sub { n -1 roll dup wosp } repeat (\n) ws n t } ifelse { pop load exec } { { pop } repeat } ifelse } def /lpmoveto { % lpmoveto - % Round the coordinates for smaller output. 2 { exch 100 mul round 100 div dup dup cvi eq { cvi } if } repeat 1 index X eq { neg exch pop /V 1 } { neg /M 2 } ifelse true lpexec } def /lpshow { % lpshow - dup length 0 ne { addspace 0 ne { addspace 0 32 addwidth 0 ne { addwidth 0 6 -1 roll /awidthshow 6 true lpexec } { 4 -1 roll /widthshow 4 true lpexec } ifelse } { addwidth 0 ne { addwidth 0 3 -1 roll /ashow 3 true lpexec } { OutFile null ne { dup dup length =string length gt { /show 1 false lpexec } { (S ) ws ws (\n) ws } ifelse } if show } ifelse } ifelse } { pop } ifelse } def /lpsetmyfont { dup load setfont OutFile null ne { cvx /setfont 1 false lpexec } { pop } ifelse } def % Define some utility procedures. /banner % ypos left center right { /HFont lpsetmyfont /addspace 0 def /addwidth 0 def /pairkern 0 dict def 3 -1 roll bannerstring pop 0 4 index pwidth showline2 pop exch bannerstring pwidth exch sub 2 div 3 index pwidth showline2 pop bannerstring % Prevent the last character of the heading from grazing % the right margin. % ****** WHY DOES IT REQUIRE SO MUCH PADDING? ****** ( ) stringwidth pop 2 mul add pwidth exch sub 3 -1 roll pwidth showline2 pop } def /bannerstring % string -> string width { PageNumberString search { exch pop pindex 4 string cvs concatstrings exch concatstrings } if dup stringwidth pop } def /beginpage { /lindex 0 def /skipping pindex PageFirst ge pindex PageLast le and not def pagex pagey Landscape {/BL} {/B} ifelse 2 true lpexec /pagesave exch def skipping { nulldevice /OutFile null def } if Headers { lheight hdescent add HeadingLeft HeadingCenter HeadingRight banner } if /BFont lpsetmyfont /pairkern Kern def /addspace AddToSpace def /addwidth AddToWidth def pairkern length 0 ne { /addspace AddToSpace lpdef /addwidth AddToWidth lpdef } if } def /endpage { lindex 0 ne { Footers { topskip plength sub hdescent add FootingLeft FootingCenter FootingRight banner } if /E } { /restore } ifelse pagesave exch 0 true lpexec /pindex pindex 1 add def } def /endcolumn { lindex colines 1 sub add colines idiv colines mul dup llength ge { pop endpage beginpage } { /lindex exch def } ifelse } def /fontheight % fontheight { gsave setfont newpath 0 0 moveto (|^_j) false charpath pathbbox exch pop dup 2 index sub 4 -2 roll pop pop grestore exch 1.25 mul exch 1.25 mul } def /wdict { dup length wosp ( dict\n) ws { (dup) ws exch wosp wosp ( put\n) ws } forall } def /wosp { ( ) ws wo } def /wo { dup type /dicttype eq { wdict } { OutFile exch write==only } ifelse } def /ws { OutFile exch writestring } def /outfont { % outfont - OutFile null ne { exch wo dup /FontName get dup wosp (-ISOLatin1) ws wosp ( RE) ws /FontMatrix get 0 get 1000 mul round cvi wosp ( scalefont def\n) ws } { pop pop }ifelse } def /StringFF (\f) def /CharFF StringFF 0 get def /StringTAB (\t) def /CharTAB StringTAB 0 get def /showline % line -> leftover_line (handles \f) { { showline1 dup length 0 eq { exit } if dup 0 get CharFF ne { exit } if EjectFF { endpage beginpage } { endcolumn } ifelse skip1 } loop } def /showline1 % line -> leftover_line (handles page break) { lindex llength eq { endpage beginpage } if lindex colines idiv cowidth mul % x lindex colines mod 1 add lheight mul neg fascent sub % y 1 index cowidth add showline2 /lindex lindex 1 add def } def /setxy { /ty exch def /tx exch def } def /showline2 { % string x y xlimit -> leftover_string (handles tabs) 2 index exch 5 2 roll setxy { % Stack: xinit xlimit string showline3 dup length 0 eq { exit } if dup 0 get CharTAB ne { exit } if tx 3 index sub tabwx div 0.05 add ceiling tabwx mul 3 index add ty setxy skip1 tx 2 index ge { exit } if } loop exch pop exch pop } def /showline3 { % xlimit string -> xlimit leftover_string % (finds line break / tab / formfeed) 1 index tx sub cwx div 0.1 add cvi 0 .max 1 index length .min 1 index 0 3 -1 roll getinterval % look for \f or \t StringFF search { exch pop exch pop } if StringTAB search { exch pop exch pop } if dup length 0 ne { tx ty lpmoveto dup pairkern length 0 eq { lpshow } { { kproc } exch /kshow 2 true lpexec } ifelse currentpoint setxy } if length dup 2 index length exch sub getinterval } def /kproc { % kproc - pairkern currentfont /Encoding get 3 index get 2 copy known { get currentfont /Encoding get 2 index get 2 copy known { get currentfont /FontMatrix get 0 get mul } { pop pop 0 } ifelse } { pop pop 0 } ifelse addwidth add 2 index 32 eq { addspace add } if dup 0 eq { pop } { 0 rmoveto } ifelse pop pop } def /skip1 { dup length 1 sub 1 exch getinterval } def /e== { % e== - -- print an object to stderr (%stderr) (w) file dup 3 -1 roll write==only flushfile } def /eprint { % eprint - -- print a string to stderr (%stderr) (w) file dup 3 -1 roll writestring flushfile } def % Read kerning information from a .AFM file. /readkern { % readkern /mfilename 1 index def (r) file /mfile exch def mfile =string readline pop (StartFontMetrics ) anchorsearch { pop pop /kdict 256 dict def { mfile =string readline pop (EndFontMetrics) anchorsearch { pop pop exit } if (KPX ) anchorsearch { pop token pop cvlit /char1 exch def token pop cvlit /char2 exch def token pop /kern exch def pop kdict char1 .knownget not { 5 dict kdict char1 2 index .growput } if char2 kern .growput } { pop } ifelse } loop kdict } { pop mfilename eprint ( does not begin with StartFontMetrics.\n) eprint 0 dict } ifelse mfile closefile } def % The main printing procedure /doFirst true def /prevBFont null def /prevHFont null def /lpfirst { % - lpfirst - % Define some abbreviating procedures. /B {save 3 1 roll translate /X 0 def} lpdef /BL {save 3 1 roll 90 rotate translate /X 0 def} lpdef /P {/setpagedevice where {pop % P 5 dict begin 2 copy def /Policies 2 dict dup 4 index 1 put def currentdict end setpagedevice } {pop pop} ifelse} lpdef /E {showpage restore} lpdef /V {neg X exch moveto} lpdef /M {/X 2 index def neg moveto} lpdef /S {currentfile =string readline pop show} lpdef /RE { % RE findfont %% reencode for iso latin1; from the 2nd edition red book, sec 5.6.1 dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end definefont } lpdef } def /lp { % file initial_chars -> /lpline exch def /lpfile exch def doFirst { lpfirst /doFirst false def } if % Initialize the device and fonts. /BFont BodyFont null eq { defaultBodyFont } { BodyFont } ifelse def BFont prevBFont ne { /BFont BFont outfont /prevBFont BFont def } if Headers Footers or { /HFont HeadingFont null eq { defaultHeadingFont } { HeadingFont } ifelse def HFont prevHFont ne { /HFont HFont outfont /prevHFont HFont def } if } if save % Get the layout parameters. clippath gsave % for possible rotation Landscape { 90 rotate } if BFont setfont ( ) stringwidth pop /cwx exch def cwx Tab mul /tabwx exch def BFont fontheight /fheight exch def /fascent exch def Headers Footers or { HFont fontheight } { 0 0 } ifelse /hheight exch def /hascent exch def /hdescent hheight hascent sub def fheight Spacing mul /lheight exch def Headers { hheight lheight add } { 0 } ifelse /topskip exch def Footers { hheight lheight add } { 0 } ifelse /botskip exch def /pskip topskip botskip add def % Translate the page so that (0,0) corresponds to % the top of the topmost body line. pathbbox 2 index sub MarginBottom MarginTop add sub /plength exch def 2 index sub MarginLeft MarginRight add sub /pwidth exch def pwidth Columns div /cowidth exch def exch MarginLeft add exch MarginBottom add plength add topskip sub /pagey exch def /pagex exch def plength pskip sub lheight div cvi MaxLines .min dup /colines exch def Columns mul /llength exch def grestore OutFile null ne { nulldevice } if % Print layout Noisy { (Page height = ) eprint llength e== (.\n) eprint flush } if colines 1 lt cowidth 1 lt or { (Page too small, it must be large to hold at least one line of text\n) eprint (please specify a page size using for example -sPAPERSIZE=(a4|letter)\n) eprint /gslp.ps cvx /limitcheck signalerror } if % Set duplex if requested. Duplex null ne { /Duplex true /P 2 false lpexec /Tumble Duplex /P 2 false lpexec } if % Write the kerning table, if relevant. OutFile null ne Kern length 0 ne and { (/kproc) ws /kproc load wosp ( def\n) ws (/pairkern) ws Kern wosp ( def\n) ws } if % Disable stack recording so we can use stopped with readline. $error /recordstacks false put % Initialize for the first page. /lbuf 64000 string def /pindex 1 def beginpage % Iterate through the file. lpline { dup length /pos exch def lbuf exch 0 exch putinterval { lpfile lbuf pos lbuf length pos sub getinterval readline } stopped { % Filled the line before a CR or EOF. exch pop showline } { % Reached CR and/or EOF first. exch length pos add lbuf exch 0 exch getinterval 1 index { showline } if % omit final empty line { dup length 0 eq Truncate or { pop () exit } if showline } loop exch not { exit } if } ifelse pindex PageLast gt { exit } if } loop pop % Wrap up. %**************** WHY IS THIS COMMENTED OUT? **************** % EjectEOF { endpage } { endcolumn } ifelse endpage restore } def end % Usage: lp % prints using the current parameter settings. % Usage: [ ... ] lpcommand % interprets args like a command line. /lp { save lpdict begin () lp end restore } def lpdict begin /splitfn % (FontNN.NN) -> { dup /arg exch def length { dup 0 le { exit } if dup 1 sub arg exch get dup 48 ge 1 index 59 le and exch 46 eq or not { exit } if 1 sub } loop arg exch 0 exch getinterval dup cvn find-latin-font exch arg exch anchorsearch pop pop cvr scalefont } def % Parse the command line switches. /doswitch % argn ... arg1 (-?) restofswitch -> { exch dup cvn lpdict exch known { cvn load exec } { exch pop (Unknown switch: ) eprint eprint (\n) eprint } ifelse } def /more % argn ... arg1 restofswitch -> { dup length 0 ne { (- ) dup 1 3 index 0 get put exch dup length 1 sub 1 exch getinterval doswitch } { pop } ifelse } def /-- { (--) exch concatstrings dup cvn lpdict exch known { cvn load exec } { (Unknown switch: ) eprint eprint (\n) eprint } ifelse } def /--add-to-space { cvr /AddToSpace exch def } def /--add-to-width { cvr /AddToWidth exch def } def /--columns { cvi 1 .max /Columns exch def } def /--detect { /DetectFileType true def } def /--duplex { /Duplex {Landscape} def } def /--duplex-long-edge { /Duplex false def } def /--duplex-short-edge { /Duplex true def } def /--first-page { cvi /PageFirst exch def } def /--footing-center { /FootingCenter exch def /Footers true def } def /--footing-left { /FootingLeft exch def /Footers true def } def /--footing-right { /FootingRight exch def /Footers true def} def /--heading-center { /HeadingCenter exch def /Headers true def } def /--heading-left { /HeadingLeft exch def /Headers true def } def /--heading-right { /HeadingRight exch def /Headers true def } def /--kern { readkern /Kern exch def } def /--last-page { cvi /PageLast exch def } def /--margin-bottom { cvr 72.0 mul /MarginBottom exch def } def /--margin-left { cvr 72.0 mul /MarginLeft exch def } def /--margin-right { cvr 72.0 mul /MarginRight exch def } def /--margin-top { cvr 72.0 mul /MarginTop exch def } def /--no-eject-file { /EjectEOF false def } def /--no-eject-formfeed { /EjectFF false def } def /--spacing { cvr /Spacing exch def } def /-# { pop } def % ignore /-+ { -- } def (-1)cvn { /Columns 1 def more } def (-2)cvn { /Columns 2 def more } def /-b { /HeadingLeft exch def /HeadingCenter () def /HeadingRight PageNumberString def /Headers true def /break true def } def /-B { /HeadingLeft () def /HeadingCenter () def /HeadingRight () def /Headers false def /FootingLeft () def /FootingCenter () def /FootingRight () def /Footers false def /break true def more } def /-C { pop } def % ignore /-c { /Truncate true def more } def /-d { pop } def % ignore /-f { splitfn /BodyFont exch def } def /-F { splitfn /HeadingFont exch def } def /-G { more } def % ignore /-g { more } def % ignore /-h { more } def % ignore /-J { pop } def % ignore /-K { more } def % ignore /-k { more } def % ignore /-l { 66 -L -B } def /-L { cvi /MaxLines exch def } def /-m { more } def % ignore /-n { pop } def % ignore /-o { more } def % ignore /-p { (w) file /OutFile exch def OutFile (%!\n) writestring } def /-P { pop } def % ignore /-q { /Noisy false def more } def /-r { /Landscape true def more } def /-R { /Landscape false def more } def /-S { pop } def % ignore /-s { pop } def % ignore /-T { cvi /Tab exch def } def /-v { pop } def % ignore /-w { more } def % ignore /lp1 % filename -> { break not { dup /HeadingLeft exch def } if Noisy { (Printing ) eprint dup eprint (\n) eprint } if (r) file % If requested, check for a PostScript file. DetectFileType { dup 2 string readstring pop dup (%!) eq { % Yes, it's a PostScript file. pop dup 80 string readline pop pop cvx exec } { lp } ifelse } { () lp } ifelse } bind def /lpcstring 8192 string def end /lpcommand % <[arg1 ... argn]> lpcommand { % Push the commands on the stack in reverse order mark exch dup length 1 sub -1 0 { 1 index exch get exch } for pop lpdict begin /any false def /break false def { dup mark eq { pop exit } if dup length 2 ge { dup 0 get (-) 0 get eq } { false } ifelse { dup 0 2 getinterval exch dup length 2 sub 2 exch getinterval doswitch } { dup /matched false def { /matched true def /any true def lp1 } lpcstring filenameforall matched { pop } { lp1 } ifelse % let the error happen } ifelse } loop OutFile null ne { OutFile (%stdout) (w) file ne { OutFile closefile } if /OutFile null def } if any end } def [ .shellarguments { ] dup length 0 ne { lpcommand } { false } ifelse not { (%stderr) (w) file [ (Usage: ) /PROGNAME where { pop PROGNAME } { (gslp) } ifelse ( [-12BclqRr] [-b
] [-f] [-F]\n) ( [-L] [-p] [-T]\n) ( [--add-to-(space|width) ] [--columns ]\n) ( [--detect] [--first-page ] [--last-page ]\n) ( [--(heading|footing)-(left|right|center) ]\n) ( [--kern ] [--margin-(top|bottom|left|right) ]\n) ( [--no-eject-(file|formfeed)] [--spacing ] file1 ... filen\n) ] { 2 copy writestring pop } forall dup flushfile closefile } if } { pop } ifelse PK[f[@OZZ image-qa.psnu[%!PS % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % % Tests for the image operators % Specifications for Image operator testing. % % 1. All 8 standard orientations (0, 90, 180, 270 degree rotations with % and without reflection); ditto those orientations perturbed by +/- % 10 degrees, and by 45 degrees. % % Enough space is provided around images on a test page to allow % these permutations to use the same page layout. This will make % test page construction easier and simplify page checking. % % 2. All 9 image types (ImageType 1 mask, ImageType 1 opaque, % ImageType 3 with all 3 InterleaveTypes and with unequal scaling % for InterleaveType 2 and 3, ImageType 4 with both range and % single-point matching). % % 3. DeviceGray, DeviceRGB, and DeviceN color, both direct and Indexed. % Indexed color will use the common pallete size of 256 colors. % % 4. For simple masks, both colored and uncolored Patterns. % % 5. CombineWithColor true and false; several different colors for the % true case (including black, white, other solid colors, halftones, % and patterns). % % 6. Source transparency true and false. % % 7. Texture transparency true and false. % % 8. Different RasterOp values. % % 9. For ImageType 4, different color keys (out-of-range, specific % color other than white, range without white). % % 10. String, file, and procedure data sources; for multi-component % color spaces, MultipleDataSources = true. This is tested by % constructing string data sources that are used as input to % SubFileDecode filter to create a filetype data source. These % filters are read into scratch strings for the procedure data % source case. The procedure data source scratch string length % does not match the raster width, and the width x height is % not an integer multiple of the string length. % % Also for the File case, the number of bytes consumed is % checked after the image operator to verify that the exact % amount of data is used. This is particularly important when % the currentfile is used as a source (possibly through a % filter. % % Image bytes per line are < 500 bytes to exercise direct and % buffer copy gs_image_next_planes mode with the default stream % buffer size of 512 bytes. Procedure string size is greater % than the image bytes per line for the same reason (sM and sD). % % Total string size is kept below 65535. /WidthRGB 83 def /HeightRGB 89 def % % 11. Banded and non-banded rendering. This can be tested by running % test files throuch with different page device parameters to % force banding vs. page mode. % % ------------------------------------------------------------------------- % % Testing the RasterOp-related functions (5/6/7/8) is not necessary at this % time. They are well isolated logically. % % Testing orientation (1) and color masking (9) would be a good idea at some % point, because this code has broken many times in the past and has had a % long bug tail. % % The really important things to test are 2 (image type), 3/4 (color space -- % but only with regard to number of components, plus DeviceN and simple masks % with a Pattern, which exercise special control paths), 10 (data source), % and 11 (banding modes). % % ========================================================================== % % Procedure to generate test mask data % % WM and HM must be defined prior to invocation % MaskGen - % % The mask data is stored into a string named /MaskData % % The mask consists of a "target". Bits past width WM are % filled with 1's to make sure that pad bits are ignored. % /MaskGen { /H8 HM 8 div def /X0 WM 2 div def /Y0 HM 2 div def /WB WM 7 add 8 div cvi def /MaskData WB HM mul string def /MB [ 128 64 32 16 8 4 2 1 ] def 0 1 HM 1 sub { /Y exch def 0 1 WB 1 sub { /B exch def % byte within the row /C B Y WB mul add def /P 0 def 0 1 7 { /b exch def % bit within the character /X b B 8 mul add def X WM lt { X Y eq X HM 1 sub Y sub eq or Y Y0 gt X X0 sub abs 2 le and or X X0 sub WM div dup mul Y Y0 sub HM div dup mul add sqrt 9 mul cvi 2 mod 1 eq or } { true } % pad bits are always set ifelse % stack: true if pixel is set { MB b get P or /P exch def } if } for % Bits within a byte MaskData C P put } for % Bytes within the row } for % Rows in the mask } bind def % MaskGen % % WM and HM must be defined prior to invocation % BPC MaskGenBPC - % % The mask data is stored into a string named /MaskData % % The mask consists of a "target". BPC is the size of the elements % in the MaskData string (must be 4, 8 or 12) % /MaskGenBPC { /BPC exch def /X0 WM 2 div def /Y0 HM 2 div def /WB WM BPC mul 7 add 8 div cvi def % Width in Bytes /MaskData WB HM mul string def 0 1 HM 1 sub { /Y exch def 0 1 WM 1 sub { /X exch def MaskData % Target string X Y eq X HM 1 sub Y sub eq or Y Y0 gt X X0 sub abs 2 le and or X X0 sub WM div dup mul Y Y0 sub HM div dup mul add sqrt 9 mul cvi 2 mod 1 eq or X BPC mul 8 div Y WB mul add exch [ { } % BPC = 0 { { 1 } { 0 } ifelse put4bit } % BPC = 4 { { 255 } { 0 } ifelse exch cvi exch put } % BPC = 8 { { 1 } { 0 } ifelse put12bit } % BPC = 12 ] BPC 4 div cvi get exec } for } for % Rows in the mask } bind def % ----------------------------------------------------------------------- % Procedure to generate image data % % WD and HD must be defined prior to invocation % { proc } ImageGen - % % The procedure is called once for each pixel % Local definitions are R, G, B, X and Y % Example: Generate RGB Chunky pixel data (single data source) BPC = 8 % /WD WidthRGB def % /HD HeightRGB def % /RGBData WD HD mul 3 mul string def % { X Y WD mul add 3 mul RGBData % dup 2 index R 255 mul cvi put % dup 2 index 1 add G 255 mul cvi put % exch 2 add B 255 mul cvi put % } ImageGen /ImageGen { gsave 0 1 HD 1 sub { /Y exch def 0 1 WD 1 sub { /X exch def /D X WD 2 div sub WD div dup mul Y HD 2 div sub HD div dup mul add sqrt def /D D .6 div def /A X WD 2 div sub Y HD 2 div sub atan 360 div def A % Hue .7 D .3 sub .60 div sub % Saturation dup 0.05 lt { .95 D .8 sub 3 mul sub 3 mul cvi 3 div sqrt } % Level once Saturation < 0 { .7 D .25 sub .75 div add } % Level inside ifelse X WD 2 div gt Y HD 2 div sub abs 2 le and { pop 0 } if % asymmetric marker sethsbcolor currentrgbcolor /B exch def /G exch def /R exch def dup exec } for } for pop % discard the procedure grestore } bind def % ----------------------------------------------------------------------- % % Procedures for ImageMatrix creation /IMLRTB { [ WD 0 0 HD neg 0 HD ] } def /IMLRBT { [ WD 0 0 HD 0 0 ] } def /IMRLTB { [ WD neg 0 0 HD neg WD HD ] } def /IMRLBT { [ WD neg 0 0 HD WD 0 ] } def % ----------------------------------------------------------------------- % % Procedure to make invocation of image operators more concise % % YY, SX, SY, WD and HD should be defined prior to invocation % X matrix source decode DoImageMask - % /DoImageMask { gsave /D exch def /S exch def /M exch def /XX 1 index def YY translate SX SY scale 0 setlinewidth 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto 0 0 lineto stroke .5 .5 translate IR rotate -.5 -.5 translate << /ImageType 1 /Width WM /Height HM /ImageMatrix M /MultipleDataSources false /DataSource S /Decode D /BitsPerComponent 1 >> imagemask grestore } bind def % YY, SX, SY, WD and HD should be defined prior to invocation % X Y BPC matrix source multi decode DoImage1 - % /DoImage1 { gsave CSpace setcolorspace /D exch def /MS exch def /S exch def % May be an array of sources /M exch def /BPC exch def /XX 1 index def YY translate SX SY scale 0 setlinewidth 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto 0 0 lineto stroke .5 .5 translate IR rotate -.5 -.5 translate << /ImageType 1 /Width WD /Height HD /ImageMatrix M /MultipleDataSources MS /DataSource S /BitsPerComponent BPC /Decode D >> image grestore } bind def % YY, SX, SY, WD and HD should be defined prior to invocation % X Y BPC matrix source multi decode MaskColor DoImage4 - % /DoImage4 { gsave CSpace setcolorspace /MC exch def /D exch def /MS exch def /S exch def % May be an array of sources /M exch def /BPC exch def /XX 1 index def YY translate SX SY scale 0 setlinewidth 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto 0 0 lineto stroke .5 .5 translate IR rotate -.5 -.5 translate << /ImageType 4 /Width WD /Height HD /ImageMatrix M /MultipleDataSources MS /DataSource S /BitsPerComponent BPC /Decode D /MaskColor MC >> image grestore } bind def % YY, SX, SY, W, HD (Data) WM, HM (Mask) should be defined prior to invocation % (IT is InterleaveType) % X Y BPC matrix source multi MaskDecode DataDecode IT DoImage3 - % /DoImage3 { gsave CSpace setcolorspace /IT exch def /DD exch def /DM exch def /MS exch def /S exch def % May be an array of sources - For InterleaveType 3 % S[0] is the Mask DataSource /M exch def /BPC exch def /XX 1 index def YY translate SX SY scale 0 setlinewidth 0 0 moveto 1 0 lineto 1 1 lineto 0 1 lineto 0 0 lineto stroke .5 .5 translate IR rotate -.5 -.5 translate /DataImage << /ImageType 1 /Width WD /Height HD /ImageMatrix M /MultipleDataSources MS /DataSource IT 3 ne { S } { S 1 get exec } ifelse /BitsPerComponent BPC /Decode DD >> def /MaskImage << /ImageType 1 /Width WM /Height HM /ImageMatrix % construct the mask matrix using signs from the DataImage matrix /M0 M 0 get WD abs div cvi def /M3 M 3 get HD abs div cvi def /M4 M 4 get WD abs div cvi def /M5 M 5 get HD abs div cvi def [ WM M0 mul 0 0 HM M3 mul WM M4 mul HM M5 mul ] IT 3 eq { /DataSource S 0 get exec % DataSource only allowed for InterleaveType 3 } if /BitsPerComponent IT 1 eq { BPC } { 1 } ifelse /Decode DM >> def << /ImageType 3 /DataDict DataImage /MaskDict MaskImage /InterleaveType IT >> image grestore } bind def % ----------------------------------------------------------------------- % /Helvetica-Bold findfont 20 scalefont /TitleFont exch def /FontSize 10 def /Helvetica-Narrow findfont FontSize scalefont /LegendFont exch def /blockshow { % like "show" but '\n' causes new-line dup = flush %DEBUG currentpoint /showY exch def /showX exch def { dup 10 ne { 1 string dup 0 4 -1 roll put show } { pop showX showY FontSize sub dup /showY exch def moveto } ifelse } forall } bind def /TX 013 def % Title left X /SX 036 def /XA 060 def /XB XA SX 1.5 mul add def /XC XA SX 3.0 mul add def /XD XA SX 4.5 mul add def /XE XA SX 6.0 mul add def /XF XA SX 7.5 mul add def /XG XA SX 9.0 mul add def /XH XA SX 10.5 mul add def /XI XA SX 12.0 mul add def /XJ XA SX 13.5 mul add def /BY 036 def % Bottom Title Top line /SY 037 def /YA 050 def /YB YA SY 1.8 mul add def /YC YA SY 3.6 mul add def /YD YA SY 5.4 mul add def /YE YA SY 7.2 mul add def /YF YA SY 9.0 mul add def /YG YA SY 10.8 mul add def /YH YA SY 12.6 mul add def /YI YA SY 14.4 mul add def /YJ YA SY 16.2 mul add def /YK YA SY 18.0 mul add def % ----------------------------------------------------------------------- % % Utility procedures to support storing 4 and 12 bit elements in % strings. % % put##bit - % % will have a fractional part ( .5 ) if the element % starts on a 4-bit boundary. % % is between 0 and 1 and is scaled 0 to 15 (4bit) or % 0 to 4095 (12 bit) /put4bit { 15 mul cvi exch dup cvi dup 3 1 roll eq 3 -1 roll exch { % integer index means high nibble. 16 mul put } { % low nibble -- combine with high nibble 2 index 2 index get or put } ifelse } bind def /put12bit { 1 index cvi /I exch def 2 index /S exch def 4095 mul cvi exch dup dup cvi eq { % integer index means high byte is aligned cvi exch 3 copy 16 div cvi put exch 1 add exch 15 and 16 mul put } { % low nibble -- combine with high nibble cvi exch 3 copy 2 index 2 index get exch 256 div cvi or put 255 and exch 1 add exch put } ifelse } bind def % ----------------------------------------------------------------------- % % Procedures to use generated string data as procedure or files /WD WidthRGB def /HD HeightRGB def /sM WidthRGB 2 mul 1 sub string def % long enough to hold more than one mask line /sD WidthRGB 7 mul 1 sub string def % long enough to hold more than one 12 bit RGB line % worst case is 12bit ImageType3 InterleaveType 1 == 48 bits /MaskDProc { /FM MaskData dup length () /SubFileDecode filter def { { FM sM readstring pop } } } bind def /FileTailString (12345) def % Marker string to check file data usage /AppendFileTail { % AppendFileTail dup length FileTailString length add string dup 0 3 index putinterval dup 2 index length FileTailString putinterval exch length } bind def /MaskDFile { MaskData dup length () /SubFileDecode filter /MDF 1 index def } bind def /RGBDProc { /FD RGBData dup length () /SubFileDecode filter def { { FD sD readstring pop } } } bind def /RGBDFile { RGBData dup length () /SubFileDecode filter /RGBDF 1 index def } bind def /sR WidthRGB 2 mul 1 sub string def % long enough to hold more than one line of 12 bit data /sG WidthRGB 2 mul 1 sub string def /sB WidthRGB 2 mul 1 sub string def /RDProc { /FR RData dup length () /SubFileDecode filter def { FR sR readstring pop } } bind def /GDProc { /FG GData dup length () /SubFileDecode filter def { FG sG readstring pop } } bind def /BDProc { /FB BData dup length () /SubFileDecode filter def { FB sB readstring pop } } bind def /RDFile { RData dup length () /SubFileDecode filter /RDF 1 index def } bind def /GDFile { GData dup length () /SubFileDecode filter /GDF 1 index def } bind def /BDFile { BData dup length () /SubFileDecode filter /BDF 1 index def } bind def % ----------------------------------------------------------------------- % % Procedure to handle fileposition. Ghostscript has a private % operator .fileposition that works when fileposition does not % % tryfilepos % Returns: fileposition true if successful % 0 false if not /tryfilepos { /.fileposition where { pop /.fileposition load } % most likely to succeed { /fileposition load } ifelse stopped { pop 0 false } { true } ifelse } bind def % ----------------------------------------------------------------------- % % Procedure to provide =only operator if not present. Suggested % by Alex Cherepanov to use =print operator present on some Adobe % implementations. /=only where { pop } { /=print where { pop /=print load } { /print load } ifelse /=only exch def } ifelse % ----------------------------------------------------------------------- % % Procedure to make sure that the file is at the EOF. % added above (string == FileTailString. % % If not, it will mark the image area with a red "F" % % <file> CheckFileTail - XX is the horizontal position % YY is the vertical position % SX,SY determine size of "F" if fail /CheckFileTail { dup status not dup % status false says no longer valid { (Unexpected EOF: XX,YY=) print XX =only (,) print YY = false } { 1 index tryfilepos not exch 5 index length ne or dup { 3 index print ( fileposition = ) print 2 index tryfilepos pop =only ( doesn't match expected = ) print 4 index length = flush } if } ifelse or { gsave .8 0 0 setrgbcolor SX 4 div setlinewidth XX YY moveto 0 SY rlineto SX 0 rlineto stroke XX YY SY .5 mul add moveto SX .5 mul 0 rlineto stroke grestore } if pop pop pop } bind def /CSpaceName { % - CSpaceName <string> CSpace dup type /arraytype eq { 0 get } if 15 string cvs } bind def % ----------------------------------------------------------------------- % % tests /CheckImage { /IR 0 def /CSpace /DeviceRGB def % Use an unusual (unpleasant?) underlying color .6 .95 .4 setrgbcolor clippath fill 0 0 0 setrgbcolor TitleFont setfont 200 760 moveto (Image Type 3 Tests) show 200 740 moveto (Rotation Angle = ) show IR 3 string cvs show 170 720 moveto (Colorspace = ) show CSpaceName show LegendFont setfont .4 .1 .7 setrgbcolor % contrasting color for stencil masking /SX SX 2 mul def /SY SY 2 mul def /YY 780 SY sub def MaskGen TX IMLRTB MaskData [1 0] DoImageMask /RGBData WD HD mul 3 mul string def { X Y WD mul add 3 mul RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi decode XI 8 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 /SX SX 2 div def /SY SY 2 div def showpage } def % ----------------------------------------------------------------------- % % Type 1 and Type 4 Tests % /CSpace and /IR are defined in order to generate various pages /T1T4Tests { % % Use an unusual (unpleasant?) underlying color .6 .95 .4 setrgbcolor clippath fill 0 0 0 setrgbcolor TitleFont setfont 120 760 moveto (Image Type 1 and ImageType 4 Tests) show 200 740 moveto (Rotation Angle = ) show IR 3 string cvs show 170 720 moveto (Colorspace = ) show CSpaceName show LegendFont setfont XA BY moveto (Decode\nInverted) blockshow XB BY moveto ( IMLRTB\nDS=string) blockshow XC BY moveto ( IMLRBT\nDS=string) blockshow XD BY moveto ( IMRLTB\nDS=string) blockshow XE BY moveto ( IMRLBT\nDS=string) blockshow XF BY moveto (IMLRTB\nDS=proc) blockshow XG BY moveto (IMLRTB\nDS=file) blockshow XH BY moveto ( Multi\nDS=string) blockshow XI BY moveto ( Multi\nDS=proc) blockshow XJ BY moveto ( Multi\nDS=file) blockshow .4 .1 .7 setrgbcolor % contrasting color for stencil masking /WM WD def /HM HD def /SX SX 2 mul def /SY SY 2 mul def /YY 780 SY sub def MaskGen TX IMLRTB MaskData [1 0] DoImageMask /RGBData WD HD mul 3 mul string def { X Y WD mul add 3 mul RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi decode XI 8 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 /SX SX 2 div def /SY SY 2 div def % ---------------------------------------------------------------------- % Type 1 Stencil Mask Images /YY YA def TX YA SY add moveto (\nType 1\nStencil\nMask) blockshow MaskGen % X matrix source decode XA IMLRTB MaskData [0 1] DoImageMask XB IMLRTB MaskData [1 0] DoImageMask XC IMLRBT MaskData [1 0] DoImageMask XD IMRLTB MaskData [1 0] DoImageMask XE IMRLBT MaskData [1 0] DoImageMask XF IMLRTB MaskDProc [1 0] DoImageMask XG IMLRTB MaskDFile [1 0] DoImageMask MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Single Data Sources, BPC==8 /YY YB def TX YY SY add moveto (\nType 1\nRGB\nBPC=8) blockshow /RGBData WD HD mul 3 mul string def { X Y WD mul add 3 mul RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi decode XA 8 IMLRTB RGBData false [1 0 1 0 1 0] DoImage1 XB 8 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 XC 8 IMLRBT RGBData false [0 1 0 1 0 1] DoImage1 XD 8 IMRLTB RGBData false [0 1 0 1 0 1] DoImage1 XE 8 IMRLBT RGBData false [0 1 0 1 0 1] DoImage1 XF 8 IMLRTB RGBDProc false [0 1 0 1 0 1] DoImage1 XG 8 IMLRTB RGBDFile false [0 1 0 1 0 1] DoImage1 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Multiple Data Sources, BPC==8 WD HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X Y WD mul add RData 1 index R 255 mul cvi put GData 1 index G 255 mul cvi put BData exch B 255 mul cvi put } ImageGen % X BPC matrix source multi decode XH 8 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] DoImage1 XI 8 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] DoImage1 XJ 8 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] DoImage1 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==8, mask black /YY YE def TX YY SY add moveto (\nType 4\nBPC=8\nmask=black) blockshow % X BPC matrix source multi decode MaskColor XA 8 IMLRTB RGBData false [1 0 1 0 1 0] [ 000 000 000 ] DoImage4 XB 8 IMLRTB RGBData false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XC 8 IMLRBT RGBData false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XD 8 IMRLTB RGBData false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XE 8 IMRLBT RGBData false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XF 8 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XG 8 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==8, mask black % X BPC matrix source multi decode MaskColor XH 8 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XI 8 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 XJ 8 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 000 000 000 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==8, mask white /YY YF def TX YY SY add moveto (\nType 4\nBPC=8\nmask=white) blockshow % X BPC matrix source multi decode MaskColor XA 8 IMLRTB RGBData false [1 0 1 0 1 0] [ 255 255 255 ] DoImage4 gsave .5 .2 .2 setrgbcolor XB YY SX 13 mul SY rectfill grestore XB 8 IMLRTB RGBData false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XC 8 IMLRBT RGBData false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XD 8 IMRLTB RGBData false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XE 8 IMRLBT RGBData false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XF 8 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XG 8 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==8, mask white % X BPC matrix source multi decode MaskColor XH 8 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XI 8 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 XJ 8 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 255 255 255 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==8, mask gray /YY YG def TX YY SY add moveto (\nType 4\nBPC=8\nmask=gray) blockshow % X BPC matrix source multi decode MaskColor XA 8 IMLRTB RGBData false [1 0 1 0 1 0] [ 147 147 147 ] DoImage4 XB 8 IMLRTB RGBData false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XC 8 IMLRBT RGBData false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XD 8 IMRLTB RGBData false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XE 8 IMRLBT RGBData false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XF 8 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XG 8 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==8, mask gray % X BPC matrix source multi decode MaskColor XH 8 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XI 8 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 XJ 8 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 147 147 147 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==8, mask range /YY YH def TX YY SY add moveto (\nType 4\nBPC=8\nmask range) blockshow % X BPC matrix source multi decode MaskColor XA 8 IMLRTB RGBData false [1 0 1 0 1 0] [ 020 200 020 200 020 200 ] DoImage4 XB 8 IMLRTB RGBData false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XC 8 IMLRBT RGBData false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XD 8 IMRLTB RGBData false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XE 8 IMRLBT RGBData false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XF 8 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XG 8 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==8, mask range % X Y SX SY BPC matrix source multi decode MaskColor XH 8 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XI 8 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 XJ 8 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 020 200 020 200 020 200 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Single Data Sources, BPC==12 /YY YC def TX YY SY add moveto (\nType 1\nRGB\nBPC=12) blockshow /RGBData WD 36 mul 7 add 8 div cvi HD mul string def { X 36 mul 8 div Y WD 36 mul 7 add 8 div cvi mul add RGBData 1 index R put12bit RGBData 1 index 1.5 add G put12bit RGBData exch 3 add B put12bit } ImageGen % X BPC matrix source multi decode XA 12 IMLRTB RGBData false [1 0 1 0 1 0] DoImage1 XB 12 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 XC 12 IMLRBT RGBData false [0 1 0 1 0 1] DoImage1 XD 12 IMRLTB RGBData false [0 1 0 1 0 1] DoImage1 XE 12 IMRLBT RGBData false [0 1 0 1 0 1] DoImage1 XF 12 IMLRTB RGBDProc false [0 1 0 1 0 1] DoImage1 XG 12 IMLRTB RGBDFile false [0 1 0 1 0 1] DoImage1 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Multiple Data Sources, BPC==12 WD 3 mul 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 3 mul 2 div Y WD 3 mul 1 add 2 div cvi mul add RData 1 index R put12bit GData 1 index G put12bit BData exch B put12bit } ImageGen % X BPC matrix source multi decode XH 12 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] DoImage1 XI 12 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] DoImage1 XJ 12 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] DoImage1 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==12, mask range /YY YI def TX YY SY add moveto (\nType 4\nBPC=12\nmask range) blockshow % X BPC matrix source multi decode MaskColor XA 12 IMLRTB RGBData false [1 0 1 0 1 0] [ 300 3000 300 3000 300 3000 ] DoImage4 XB 12 IMLRTB RGBData false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XC 12 IMLRBT RGBData false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XD 12 IMRLTB RGBData false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XE 12 IMRLBT RGBData false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XF 12 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XG 12 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==12, mask range % X BPC matrix source multi decode MaskColor XH 12 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XI 12 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 XJ 12 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 300 3000 300 3000 300 3000 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Single Data Sources, BPC==4 /YY YD def TX YY SY add moveto (\nType 1\nRGB\nBPC=4) blockshow /RGBData WD 12 mul 7 add 8 div cvi HD mul string def { X 12 mul 8 div Y WD 12 mul 7 add 8 div cvi mul add RGBData 1 index R put4bit RGBData 1 index 0.5 add G put4bit RGBData exch 1.0 add B put4bit } ImageGen % X BPC matrix source multi decode XA 4 IMLRTB RGBData false [1 0 1 0 1 0] DoImage1 XB 4 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 XC 4 IMLRBT RGBData false [0 1 0 1 0 1] DoImage1 XD 4 IMRLTB RGBData false [0 1 0 1 0 1] DoImage1 XE 4 IMRLBT RGBData false [0 1 0 1 0 1] DoImage1 XF 4 IMLRTB RGBDProc false [0 1 0 1 0 1] DoImage1 XG 4 IMLRTB RGBDFile false [0 1 0 1 0 1] DoImage1 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 1 RGB Multiple Data Sources, BPC==4 WD 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 2 div Y WD 1 add 2 div cvi mul add RData 1 index R put4bit GData 1 index G put4bit BData exch B put4bit } ImageGen % X BPC matrix source multi decode XH 4 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] DoImage1 XI 4 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] DoImage1 XJ 4 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] DoImage1 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Single Data Sources, BPC==4, mask range /YY YJ def TX YY SY add moveto (\nType 4\nBPC=4\nmask range) blockshow % X BPC matrix source multi decode MaskColor XA 4 IMLRTB RGBData false [1 0 1 0 1 0] [ 1 10 1 10 1 10 ] DoImage4 XB 4 IMLRTB RGBData false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XC 4 IMLRBT RGBData false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XD 4 IMRLTB RGBData false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XE 4 IMRLBT RGBData false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XF 4 IMLRTB RGBDProc false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XG 4 IMLRTB RGBDFile false [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % Type 4 RGB Multiple Data Sources, BPC==4, mask range % X BPC matrix source multi decode MaskColor XH 4 IMLRTB [ RData GData BData ] true [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XI 4 IMLRTB [ RDProc GDProc BDProc ] true [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 XJ 4 IMLRTB [ RDFile GDFile BDFile ] true [0 1 0 1 0 1] [ 1 10 1 10 1 10 ] DoImage4 RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed showpage } bind def % T1T4Tests % ----------------------------------------------------------------------- % % Type 3 Tests /T3Tests { % Use an unusual (unpleasant?) underlying color .6 .95 .4 setrgbcolor clippath fill 0 0 0 setrgbcolor TitleFont setfont 200 760 moveto (Image Type 3 Tests) show 200 740 moveto (Rotation Angle = ) show IR 3 string cvs show 170 720 moveto (Colorspace = ) show CSpaceName show LegendFont setfont .4 .1 .7 setrgbcolor % contrasting color for stencil masking /WM WD def /HM HD def /SX SX 2 mul def /SY SY 2 mul def /YY 780 SY sub def MaskGen XA IMLRTB MaskData [1 0] DoImageMask /RGBData WD HD mul 3 mul string def { X Y WD mul add 3 mul RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi decode XH 8 IMLRTB RGBData false [0 1 0 1 0 1] DoImage1 /SX SX 2 div def /SY SY 2 div def % ---------------------------------------------------------------------- % InterleaveType 1, BPC==8, WM=WD, HM=HD % IT 1 is what GS calls "chunky pixel" /YY YA def TX YY SY add moveto (\nIntType 1\nBPC=8) blockshow % Generate the MaskData first 8 MaskGenBPC % Generate the Data Image (uses the MaskData) /RGBData WD HD mul 4 mul string def { X Y WD mul add 4 mul % 4 bytes Mask,Red,Green,Blue RGBData dup 2 index MaskData X Y WB mul add get put dup 2 index 1 add R 255 mul cvi put dup 2 index 2 add G 255 mul cvi put exch 3 add B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 1 DoImage3 XB 8 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 1 DoImage3 XC 8 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 1 DoImage3 XD 8 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XE 8 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XF 8 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XG 8 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XH 8 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 1 DoImage3 XI 8 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 1 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 1, BPC==12, WM=WD, HM=HD % IT 1 is what GS calls "chunky pixel" /YY YB def TX YY SY add moveto (\nIntType 1\nBPC=12) blockshow % Generate the MaskData first 12 MaskGenBPC % Generate the Data Image (uses the MaskData) /RGBData WD HD mul 6 mul string def { X Y WD mul add 6 mul % 6 bytes Mask,Red,Green,Blue RGBData dup 2 index MaskData X 1.5 mul .5 add cvi Y WB mul add get % get the aligned mask byte (hi or lo) 0 eq { 0 } { 1 } ifelse put12bit dup 2 index 1.5 add R put12bit dup 2 index 3.0 add G put12bit exch 4.5 add B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 1 DoImage3 XB 12 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 1 DoImage3 XC 12 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 1 DoImage3 XD 12 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XE 12 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XF 12 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XG 12 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XH 12 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 1 DoImage3 XI 12 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 1 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 1, BPC==4, WM=WD, HM=HD % IT 1 is what GS calls "chunky pixel" /YY YC def TX YY SY add moveto (\nIntType 1\nBPC=4) blockshow % Generate the MaskData first 4 MaskGenBPC % Generate the Data Image (uses the MaskData) /RGBData WD HD mul 2 mul string def { X Y WD mul add 2 mul % 2 bytes Mask,Red,Green,Blue RGBData dup 2 index MaskData X 2 div cvi Y WB mul add get X 1 and 0 eq { 128 div cvi } { 1 and } ifelse put4bit dup 2 index 0.5 add R put4bit dup 2 index 1.0 add G put4bit exch 1.5 add B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 1 DoImage3 XB 4 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 1 DoImage3 XC 4 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 1 DoImage3 XD 4 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XE 4 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XF 4 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XG 4 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 1 DoImage3 XH 4 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 1 DoImage3 XI 4 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 1 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==8, WM=WD, HM=HD % IT 2 is line interleave -- Mask line follwoed by Data line % RGB Image Data must be chunky (MultipleDatasources==false). /YY YD def TX YY SY add moveto (\nIntType 2\nBPC=8) blockshow % Generate the MaskData first MaskGen % Generate the Data Image (uses the MaskData) /BPL WD 3 mul WB add cvi def % BytesPerLine /RGBData BPL HD mul string def { X 3 mul Y BPL mul add WB add % 3 bytes Red,Green,Blue + Mask Bytes X 0 eq { RGBData 1 index WB sub MaskData Y WB mul WB getinterval putinterval } if RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 8 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 8 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 8 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 8 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 8 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 8 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 8 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 8 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==12, WM=WD, HM=HD /YY YE def TX YY SY add moveto (\nIntType 2\nBPC=12) blockshow % Generate the Data Image (uses the MaskData) /BPL WD 36 mul 7 add 8 div cvi WB add def % BytesPerLine /RGBData BPL HD mul string def { X 36 mul 8 div Y BPL mul add WB add X 0 eq { RGBData 1 index WB sub cvi MaskData Y WB mul WB getinterval putinterval } if RGBData dup 2 index R put12bit dup 2 index 1.5 add G put12bit exch 3.0 add B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 12 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 12 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 12 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 12 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 12 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 12 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 12 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 12 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==4, WM=WD, HM=HD /YY YF def TX YY SY add moveto (\nIntType 2\nBPC=4) blockshow % Generate the Data Image (uses the MaskData) /BPL WD 12 mul 7 add 8 div cvi WB add def % BytesPerLine /RGBData BPL HD mul string def { X 12 mul 8 div Y BPL mul add WB add X 0 eq { RGBData 1 index WB sub cvi MaskData Y WB mul WB getinterval putinterval } if RGBData dup 2 index R put4bit dup 2 index 0.5 add G put4bit exch 1.0 add B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 4 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 4 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 4 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 4 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 4 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 4 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 4 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 4 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==8, WM=.6*WD, HM=HD/2 % IT 2 is line interleave -- Mask line follwoed by Data line % RGB Image Data must be chunky (MultipleDatasources==false). /YY YG def TX YY SY add moveto (\nIntType 2\nBPC=8\nWM=.6*WD\nHM=HD/2) blockshow % Generate the MaskData first /WM WD .6 mul cvi def /HM HD 2 div cvi def /saveHD HD def /HD HM 2 mul def % make HD even for this exercise MaskGen % Generate the Data Image (uses the MaskData) /BPL WD 3 mul def % BytesPerLine RGB Data /RGBData BPL HD mul WB HM mul add string def { X 3 mul Y BPL mul add Y 2 div cvi 1 add WB mul add % 3 bytes Red,Green,Blue + Mask X 0 eq Y 1 and 0 eq and { % Do one row of Mask every other image row RGBData 1 index WB sub MaskData Y 2 div cvi WB mul WB getinterval putinterval } if RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen %DEBUG /xx (xx) (w) file def %DEBUG 0 1 HM 1 sub { MaskData exch WB mul WB getinterval xx exch writehexstring xx (\n) writestring } for %DEBUG xx (----------------------------------------------------------------\n) writestring %DEBUG 0 2 HD 1 sub { %DEBUG RGBData 1 index BPL mul 2 index 2 div cvi WB mul add %DEBUG WB getinterval xx exch writehexstring xx (\n) writestring %DEBUG RGBData 1 index BPL mul 2 index 2 div cvi 1 add WB mul add %DEBUG BPL getinterval xx exch writehexstring xx (\n) writestring %DEBUG RGBData 1 index 1 add BPL mul 2 index 2 div cvi 1 add WB mul add %DEBUG BPL getinterval xx exch writehexstring xx (\n) writestring %DEBUG pop %DEBUG } for %DEBUG xx closefile % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 8 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 8 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 8 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 8 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 8 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 8 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 8 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 8 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed /HD saveHD def % put odd HD back % ---------------------------------------------------------------------- % InterleaveType 2, BPC==8, WM=1.3*WD, HM=2*HD % IT 2 is line interleave -- Mask line follwoed by Data line % RGB Image Data must be chunky (MultipleDatasources==false). /YY YH def TX YY SY add moveto (\nIntType 2\nBPC=8\nWM=1.3*WD\nHM=2*HD) blockshow % Generate the MaskData first /WM WD 1.3 mul cvi def /HM HD 2 mul def MaskGen % Generate the Data Image (uses the MaskData) /HR HM HD div cvi def /BPL WD 3 mul WB HR mul add cvi def % BytesPerLine /RGBData BPL HD mul string def { X 3 mul Y BPL mul add WB HR mul add % 3 bytes Red,Green,Blue + Mask Bytes X 0 eq { % Do HM/HD rows of Mask RGBData 1 index WB HR mul sub MaskData Y WB HR mul mul WB HR mul getinterval putinterval } if RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 8 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 8 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 8 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 8 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 8 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 8 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 8 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 8 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==12, WM=1.3*WD, HM=2*HD /YY YI def TX YY SY add moveto (\nIntType 2\nBPC=12\nWM=1.3*WD\nHM=2*HD) blockshow % Generate the Data Image (uses the MaskData) /HR HM HD div cvi def /BPL WD 36 mul 7 add 8 div cvi WB HR mul add def % BytesPerLine /RGBData BPL HD mul string def { X 36 mul 8 div Y BPL mul add WB HR mul add X 0 eq { RGBData 1 index WB HR mul sub cvi MaskData Y WB HR mul mul WB HR mul getinterval putinterval } if RGBData dup 2 index R put12bit dup 2 index 1.5 add G put12bit exch 3.0 add B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 12 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 12 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 12 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 12 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 12 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 12 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 12 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 12 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 2, BPC==4, WM=1.3*WD, HM=2*HD /YY YJ def TX YY SY add moveto (\nIntType 2\nBPC=4\nWM=1.3*WD\nHM=2*HD) blockshow % Generate the Data Image (uses the MaskData) /HR HM HD div cvi def /BPL WD 12 mul 7 add 8 div cvi WB HR mul add def % BytesPerLine /RGBData BPL HD mul string def { X 12 mul 8 div Y BPL mul add WB HR mul add X 0 eq { RGBData 1 index WB HR mul sub cvi MaskData Y WB HR mul mul WB HR mul getinterval putinterval } if RGBData dup 2 index R put4bit dup 2 index 0.5 add G put4bit exch 1.0 add B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB RGBData false [0 1] [1 0 1 0 1 0] 2 DoImage3 XB 4 IMLRTB RGBData false [1 0] [1 0 1 0 1 0] 2 DoImage3 XC 4 IMLRTB RGBData false [0 1] [0 1 0 1 0 1] 2 DoImage3 XD 4 IMLRTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XE 4 IMLRBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XF 4 IMRLTB RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XG 4 IMRLBT RGBData false [1 0] [0 1 0 1 0 1] 2 DoImage3 XH 4 IMLRTB RGBDProc false [1 0] [0 1 0 1 0 1] 2 DoImage3 XI 4 IMLRTB RGBDFile false [1 0] [0 1 0 1 0 1] 2 DoImage3 RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed showpage % ---------------------------------------------------------------------- % Use an unusual (unpleasant?) underlying color .6 .95 .4 setrgbcolor clippath fill 0 0 0 setrgbcolor TitleFont setfont 200 760 moveto (Image Type 3 Tests) show 200 740 moveto (Rotation Angle = ) show IR 3 string cvs show 200 720 moveto (InterleaveType 3) show 170 700 moveto (Colorspace = ) show CSpaceName show LegendFont setfont .4 .1 .7 setrgbcolor % contrasting color for stencil masking % ---------------------------------------------------------------------- % InterleaveType 3, BPC==8, WM=WD, HM=HD % IT 3 is line interleave -- Mask and Data in separate sources % RGB Image Data chunky (MultipleDatasources==false). /YY YA def TX YY SY add moveto (BPC=8\nMulti\nfalse) blockshow % Generate the MaskData first /WM WD def /HM HD def MaskGen % Generate the Data Image /RGBData WD HD mul 3 mul string def { X Y WD mul add 3 mul RGBData dup 2 index R 255 mul cvi put dup 2 index 1 add G 255 mul cvi put exch 2 add B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB [ MaskData RGBData ] false [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 8 IMLRTB [ MaskData RGBData ] false [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 8 IMLRTB [ MaskData RGBData ] false [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 8 IMLRTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 8 IMLRBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 8 IMRLTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 8 IMRLBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 8 IMLRTB [ MaskDProc RGBDProc ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 8 IMLRTB [ MaskDFile RGBDFile ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==12, WM=WD, HM=HD /YY YB def TX YY SY add moveto (BPC=12\nMulti\nfalse) blockshow /RGBData WD 36 mul 7 add 8 div cvi HD mul string def { X 36 mul 8 div Y WD 36 mul 7 add 8 div cvi mul add RGBData 1 index R put12bit RGBData 1 index 1.5 add G put12bit RGBData exch 3 add B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB [ MaskData RGBData ] false [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 12 IMLRTB [ MaskData RGBData ] false [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 12 IMLRTB [ MaskData RGBData ] false [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 12 IMLRTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 12 IMLRBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 12 IMRLTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 12 IMRLBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 12 IMLRTB [ MaskDProc RGBDProc ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 12 IMLRTB [ MaskDFile RGBDFile ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==4, WM=WD, HM=HD /YY YC def TX YY SY add moveto (BPC=4\nMulti\nfalse) blockshow /RGBData WD 12 mul 7 add 8 div cvi HD mul string def { X 12 mul 8 div Y WD 12 mul 7 add 8 div cvi mul add RGBData 1 index R put4bit RGBData 1 index 0.5 add G put4bit RGBData exch 1.0 add B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB [ MaskData RGBData ] false [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 4 IMLRTB [ MaskData RGBData ] false [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 4 IMLRTB [ MaskData RGBData ] false [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 4 IMLRTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 4 IMLRBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 4 IMRLTB [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 4 IMRLBT [ MaskData RGBData ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 4 IMLRTB [ MaskDProc RGBDProc ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 4 IMLRTB [ MaskDFile RGBDFile ] false [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RGBData (RGB) RGBDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==8, WM=WD, HM=HD % IT 3 is line interleave -- Mask and Data in separate sources % RGB Image Data seprate (MultipleDatasources==true). /YY YA def TX YY SY add moveto (BPC=8\nMulti\ntrue) blockshow % Generate the MaskData first MaskGen % Generate the Data Image WD HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X Y WD mul add RData 1 index R 255 mul cvi put GData 1 index G 255 mul cvi put BData exch B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 8 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 8 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 8 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 8 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 8 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==8, WM=WD, HM=HD % IT 3 is line interleave -- Mask and Data in separate sources % RGB Image Data seprate (MultipleDatasources==true). /YY YD def TX YY SY add moveto (BPC=8\nMulti\ntrue) blockshow % Generate the MaskData first MaskGen % Generate the Data Image WD HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X Y WD mul add RData 1 index R 255 mul cvi put GData 1 index G 255 mul cvi put BData exch B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 8 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 8 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 8 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 8 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 8 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==12, WM=WD, HM=HD /YY YE def TX YY SY add moveto (BPC=12\nMulti\ntrue) blockshow WD 3 mul 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 3 mul 2 div Y WD 3 mul 1 add 2 div cvi mul add RData 1 index R put12bit GData 1 index G put12bit BData exch B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 12 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 12 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 12 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 12 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 12 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 12 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 12 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 12 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==4, WM=WD, HM=HD /YY YF def TX YY SY add moveto (BPC=4\nMulti\ntrue) blockshow WD 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 2 div Y WD 1 add 2 div cvi mul add RData 1 index R put4bit GData 1 index G put4bit BData exch B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 4 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 4 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 4 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 4 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 4 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 4 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 4 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 4 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==8, WM=.9*WD, HM=1.1*HD % IT 3 is line interleave -- Mask and Data in separate sources % RGB Image Data seprate (MultipleDatasources==true). /YY YG def TX YY SY add moveto (BPC=8\nMulti\ntrue\nWM=.9*WD\nHM=1.1*HD) blockshow /WM 0.9 WD mul cvi def /HM 1.1 HD mul cvi def % Generate the MaskData first MaskGen % Generate the Data Image WD HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X Y WD mul add RData 1 index R 255 mul cvi put GData 1 index G 255 mul cvi put BData exch B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 8 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 8 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 8 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 8 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 8 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==12, WM=WD, HM=HD /YY YI def TX YY SY add moveto (BPC=12\nMulti\ntrue\nWM=.9*WD\nHM=1.1*HD) blockshow WD 3 mul 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 3 mul 2 div Y WD 3 mul 1 add 2 div cvi mul add RData 1 index R put12bit GData 1 index G put12bit BData exch B put12bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 12 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 12 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 12 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 12 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 12 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 12 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 12 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 12 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 12 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==4, WM=WD, HM=HD /YY YJ def TX YY SY add moveto (BPC=4\nMulti\ntrue\nWM=.9*WD\nHM=1.1*HD) blockshow WD 1 add 2 div cvi HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X 2 div Y WD 1 add 2 div cvi mul add RData 1 index R put4bit GData 1 index G put4bit BData exch B put4bit } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 4 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 4 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 4 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 4 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 4 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 4 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 4 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 4 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 4 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed % ---------------------------------------------------------------------- % InterleaveType 3, BPC==8, WM=1.1*WD, HM=.9*HD % IT 3 is line interleave -- Mask and Data in separate sources % RGB Image Data seprate (MultipleDatasources==true). /YY YH def TX YY SY add moveto (BPC=8\nMulti\ntrue\nWM=1.1*WD\nHM=.9*HD) blockshow /WM 1.1 WD mul cvi def /HM 0.9 HD mul cvi def % Generate the MaskData first MaskGen % Generate the Data Image WD HD mul /RData 1 index string def /GData 1 index string def /BData exch string def { X Y WD mul add RData 1 index R 255 mul cvi put GData 1 index G 255 mul cvi put BData exch B 255 mul cvi put } ImageGen % X BPC matrix source multi MaskDecode DataDecode IT DoImage3 - XA 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [1 0 1 0 1 0] 3 DoImage3 XB 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [1 0 1 0 1 0] 3 DoImage3 XC 8 IMLRTB [ MaskData [RData GData BData] ] true [0 1] [0 1 0 1 0 1] 3 DoImage3 XD 8 IMLRTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XE 8 IMLRBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XF 8 IMRLTB [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XG 8 IMRLBT [ MaskData [RData GData BData] ] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XH 8 IMLRTB [ MaskDProc [RDProc GDProc BDProc]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 XI 8 IMLRTB [ MaskDFile [RDFile GDFile BDFile]] true [1 0] [0 1 0 1 0 1] 3 DoImage3 MaskData (Mask) MDF CheckFileTail % Check that the correct amount of data was consumed RData (Red) RDF CheckFileTail % Check that the correct amount of data was consumed GData (Grn) GDF CheckFileTail % Check that the correct amount of data was consumed BData (Blu) BDF CheckFileTail % Check that the correct amount of data was consumed showpage } bind def % T3Tests % ---------------------------------------------------------------------- % Do the various rotations % /CSpace /DeviceRGB def [ 0 10 -10 45 90 180 270 ] pop [ 0 ] % delete this line to enable tests { /IR exch def T1T4Tests } forall [ 0 10 -10 45 90 180 270 ] pop [ 0 ] % delete this line to enable tests { /IR exch def T3Tests } forall /CSpace [ /DeviceN [/Blue /Red /Green] /DeviceRGB { } ] def [ 0 10 -10 45 90 180 270 ] pop [ 0 ] % delete this line to enable tests { /IR exch def T1T4Tests } forall [ 0 10 -10 45 90 180 270 ] pop [ 0 ] % delete this line to enable tests { /IR exch def T3Tests } forall PK�����[f[};���� ��PM760p.uppnu�[��������-supModel="Epson Stylus Photo PM760, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0260 0.0587 0.1079 0.2109 0.3750 }" -dupCyanTransfer="{ 0.0000 0.0254 0.0620 0.1070 0.2250 0.4125 }" -dupMagentaTransfer="{ 0.0000 0.0233 0.0569 0.0981 0.2063 0.4125 }" -dupYellowTransfer="{ 0.0000 0.0212 0.0516 0.0891 0.2250 0.4125 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[q|��|�� ��bjc6000b1.uppnu�[��������-supModel="Canon BJC 6000, 720x720DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 10.77 20.5 6.24 8.70 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 }" -dupCyanTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupMagentaTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupYellowTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupBeginPageCommand="< 1b5b 4b 0200 00 0f 1b28 62 0100 01 1b28 71 0100 01 1b28 6d 0a00 02 ff ff 00 00 07 00 03 00 00 1b28 64 0400 02 d0 02 d0 1b28 74 0300 01 00 09 1b28 63 0300 30 00 02 1b28 70 0800 02 a6 00 00 01 e0 00 00 1b28 6c 0200 34 00 1b28 65 0200 00 00 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[7U ���� ��bjc610b8.uppnu�[��������-supModel="Canon BJC 610, 720x720DpI, high resolution paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 107110 1b28 64 0200 02d0 1b28 6c 0200 14a0 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[ �� �� ��dnj750c.uppnu�[��������-supModel="HP Designjet 750c, 300x300DpI, Gamma=2.5, CMY" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceRGB -dupRendering=/ErrorDiffusion -dupOutputFormat=/Pcl -r300x300 -dupMargins="{0.0 0.0 0.0 0.0}" -dupRedTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0}" -dupGreenTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0}" -dupBlueTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0}" -dupBeginPageCommand="<1b252d31323334355840504a4c204a4f42204e414d45203d20226773 220d0a40504a4c20534554204d4952524f52203d204f4646200a40504a4c205345542050414c4554 5445534f55524345203d20534f465457415245200a40504a4c205345542052454e4445524d4f4445 203d20434f4c4f52200a40504a4c20534554205245534f4c5554494f4e203d2030200a40504a4c20 534554205052494e5441524541203d2046554c4c53495a45200a40504a4c20534554205041504552 4c454e475448203d2030200a40504a4c205345542050415045525749445448203d2030200a40504a 4c20534554204f5249454e544154494f4e203d20504f525452414954200a40504a4c20534554204d 415247494e53203d204e4f524d414c200a40504a4c20454e544552204c414e4755414745203d2048 50474c32200d0a1b2531424250352c31494e5755304e50384543514c3130301b2531411b2661314e 1b2a7631385700000308080800ff00ff00ff0000000000001b2a7632353561323535623235356330 491b2a763061323535623235356331491b2a763235356130623235356332491b2a76306130623235 356333491b2a763235356132353562306334491b2a76306132353562306335491b2a763235356130 62306336491b2a7630613062306337491b2a74521b2a72531b2a72541b2a7231411b2a62324d>" -dupAdjustPageWidthCommand -dupAdjustPageLengthCommand -dupAdjustResolutionCommand -dupEndPageCommand="<1b2a72431b451b25314250473b1b252d313233343558>" -dupAbortCommand=" (\033*rC\033E\15\12\12\12\12 Printout-Aborted\033%1BPG;\033%-12345X)" -dupWriteComponentCommands="{(\033*b%dV\0) (\033*b%dV\0) (\033*b%dW\0)}" PK�����[f[&7q;��;�� ��pf2afm.psnu�[��������%! % This is a PostScript program for making an AFM file from % PFB / PFA and (optionally) PFM files. % % Written in BOP s.c., Gda\'nsk, Poland % e-mail contact: B.Jackowski@GUST.ORG.PL % version 0.5 (18 XII 1997) % version 0.55 (11 III 1998) -- unlimited number of chars in a font % version 1.00 (27 III 1998) -- scanning PFM subdirectory added, % code improved; version sent to LPD % version 1.01 (1 II 2000) -- message changed % Usage: % gs [-dNODISPLAY] -- pf2afm.ps disk_font_name % % The result is written to the file disk_font_name.afm, provided such % a file does not exist; otherwise program quits. % % The font can be either *.pfa or *.pfb; if no extension is supplied, % first disk_font_name.pfb is examined, then disk_font_name.pfa. % Moreover, if there is a *.pfm file in the same directory or in the % subdirectory PFM, i.e., disk_font_name.pfm or PFM/disk_font_name.pfm, % kern pairs from it are extracted, as well as additional font % parameters, usually absent from Type 1 fonts. % Tribute: % The program is based on James Clark's <jjc@jclark.uucp> printafm.ps % (with alterations by d.love@dl.ac.uk and L. Peter Deutsch) from % Ghostscript 5.10 distribution. /onechar 1 string def /edef {exch def} def /WinAnsiEncoding dup /Encoding findresource def % charnumber print-charname - % prints the name of the encoded character /print-charname { PFMCharSet 0 eq { WinAnsiEncoding } { PFBencoding } ifelse exch get =string cvs dup (.notdef) eq { /was.notdef true def } if print.to.ofi ( ) print.to.ofi } def /printquit {print flush quit} def % redirecting GS output to ``ofi'' file /eolch (\r\n) def /=only.to.ofi {ofi exch write=only} def % replaces GS's `=only' /print.to.ofi {ofi exch writestring} def % replaces `print' /=to.ofi { =only.to.ofi eolch print.to.ofi } def % replaces `=' % read and skip: byte, short, word, double and long /readb-p {currPFMfile read not {(Unexpected EOF\n) printquit} if} def /readw-p {readb-p readb-p 256 mul add} def /reads-p {readw-p dup 32768 ge {65536 sub} if} def /readd-p {readb-p readb-p readb-p readb-p 256 mul add 256 mul add 256 mul add} def /readl-p /readd-p load def % double word is, in fact, long integer in GS /skipb-p {readb-p pop} def /skipw-p {skipb-p skipb-p} def /skips-p /skipw-p load def /skipd-p {skipb-p skipb-p skipb-p skipb-p} def /skipl-p /skipd-p load def /skipa-p { {skipb-p} repeat} def % PFMfile readPFMheader - % defines currPFMfile, PFMExtMetricOffset, PFMPairKernTableOffset /readPFMheader { currPFMfile bytesavailable % --------------- % PFM MAIN HEADER % --------------- skipw-p % PFM: version readd-p % PFM: size (size is dword, not word as the documentation says) ne {(Wrong file size\n) printquit} if 60 skipa-p % PFM: copyright skipw-p % PFM: Type skipw-p % PFM: Points skipw-p % PFM: VertRes skipw-p % PFM: HorizRes skipw-p % PFM: Ascent skipw-p % PFM: InternalLeading skipw-p % PFM: ExternalLeading skipb-p % PFM: Italic skipb-p % PFM: Underline skipb-p % PFM: Stikeout skipw-p % PFM: Weight readb-p % PFM: CharSet /PFMCharSet edef skipw-p % PFM: PixWidth skipw-p % PFM: PixHeight skipb-p % PFM: PitchAndFamily skipw-p % PFM: AvgWidth skipw-p % PFM: MaxWidth skipb-p % PFM: FirstChar skipb-p % PFM: LastChar skipb-p % PFM: DefaultChar skipb-p % PFM: BreakChar skipw-p % PFM: WidthBytes skipd-p % PFM: Device skipd-p % PFM: Face skipd-p % PFM: BitsPointer skipd-p % PFM: BitsOffset % here we assume that it is a PostScript font, i.e., it always uses % the extended width table, therefore the normal width table is empty % ------------- % PFM EXTENSION % ------------- skipw-p % PFMEX: SizeFields readd-p % PFMEX: ExtMetricOffset /PFMExtMetricOffset edef skipd-p % PFMEX: ExtentTable skipd-p % PFMEX: OriginTable readd-p % PFMEX: PairKernTable /PFMPairKernTableOffset edef skipd-p % PFMEX: TrackKernTable skipd-p % PFMEX: DriverInfo skipd-p % PFMEX: Reserved } def % requires that currPFMfile, PFMExtMetricOffset are defined % readPFMExtMetric - % defines PFMNumberofKernPairs /readPFMExtMetric { currPFMfile PFMExtMetricOffset setfileposition skips-p % EXTT: Size skips-p % EXTT: PointSize skips-p % EXTT: Orientation skips-p % EXTT: MasterHeight skips-p % EXTT: MinScale skips-p % EXTT: MaxScale skips-p % EXTT: MasterUnit reads-p % EXTT: CapHeight /PFMCapHeight edef reads-p % EXTT: XHeight /PFMXHeight edef reads-p % EXTT: LowerCaseAscent /PFMLowerCaseAscent edef reads-p % EXTT: LowerCaseDescent neg /PFMLowerCaseDescent edef skips-p % EXTT: Slant skips-p % EXTT: SuperScript skips-p % EXTT: SubScript skips-p % EXTT: SuperScriptSize skips-p % EXTT: SubScriptSize skips-p % EXTT: UnderlineOffset skips-p % EXTT: UnderlineWidth skips-p % EXTT: DoubleUpperUnderlineOffset skips-p % EXTT: DoubleLowerUnderlineOffset skips-p % EXTT: DoubleUpperUnderlineWidth skips-p % EXTT: DoubleLowerUnderlineWidth skips-p % EXTT: StrikeOutOffset skips-p % EXTT: StrikeOutWidth readw-p % EXTT: KernPairs /PFMNumberofKernPairs edef skipw-p % EXTT: KernTracks } def % requires that currPFMfile, PFMPairKernTableOffset, PFMNumberofKernPairs are defined % readPFMExtMetric - % prints kern pairs table in the AFM format /readPFMKernPairs { currPFMfile () ne { PFMdict begin PFMPairKernTableOffset 0 ne { currPFMfile PFMPairKernTableOffset setfileposition readw-p % undocumented kern count (although all remaining structures are % explicitly preceded by their sizes); if it were a stable % feature, EXTTEXTMETRICS could be skipped PFMNumberofKernPairs % 2 copy = = ne { (Inconsistent number of kern pairs\n) printquit } if (StartKernData) =to.ofi (StartKernPairs ) print.to.ofi PFMNumberofKernPairs =to.ofi % --------- % MAIN LOOP % --------- /was.notdef false def PFMNumberofKernPairs { (KPX ) print.to.ofi readb-p % first char print-charname readb-p % second char print-charname reads-p % kern amount =to.ofi } repeat was.notdef { (.notdef character ocurred among kern pairs) = (you'd better check the resulting AFM file.) = } if (EndKernPairs) =to.ofi (EndKernData) =to.ofi } if end } if } def % alias (for ``compatibility'' with J. Clark): /printkernpairs /readPFMKernPairs load def % printcharmetrics - /printcharmetrics { (StartCharMetrics ) print.to.ofi /PFBencoding currfont /Encoding get dup length array copy def /PFBcharstrings currfont /CharStrings get def PFBcharstrings length PFBcharstrings /.notdef known { 1 sub } if =to.ofi currfont 1000 scalefont setfont % checking Encoding array and CharStrings dictionary for % the consistency of names /was.inconsitent false def 0 1 255 { dup PFBencoding exch get PFBcharstrings exch known { pop }{ % dup PFBencoding exch get = PFBencoding exch /.notdef put % fix Encoding array /was.inconsitent true def } ifelse } for was.inconsitent { (Encoding array contains name(s) absent from CharStrings dictionary) = } if % print metric data for each character in PFB encoding vector 0 1 255 { dup PFBencoding exch get dup /.notdef ne { exch dup printmetric }{ pop pop } ifelse } for % xPFBencoding contains an entry for each name in the original % encoding vector /xPFBencoding PFBcharstrings length dict def PFBencoding { xPFBencoding exch true put } forall /fontiter 0 def /TMPFontTemplate (TMP_FONT#000) def { % NewPFBencoding is the new encoding vector /NewPFBencoding 256 array def 0 1 255 { NewPFBencoding exch /.notdef put } for % fill up NewPFBencoding with names from CharStrings dictionary that % are not encoded so far /i 0 def PFBcharstrings { pop i 255 le { dup xPFBencoding exch known not { dup xPFBencoding exch true put NewPFBencoding i 3 -1 roll put /i i 1 add def }{ pop } ifelse }{ pop exit } ifelse } forall i 0 eq {exit} if % define a new font with NewPFBencoding as its encoding vector currfont maxlength dict /NewTMPfont edef currfont { exch dup dup /FID ne exch /Encoding ne and { exch NewTMPfont 3 1 roll put }{ pop pop } ifelse } forall % compute a unique name for a font to be registered /fontiter fontiter 1 add def TMPFontTemplate fontiter (000) cvs dup length TMPFontTemplate length exch sub exch putinterval /TMPFontName TMPFontTemplate cvn def NewTMPfont /FontName TMPFontName put NewTMPfont /Encoding NewPFBencoding put % make this new font the current font TMPFontName NewTMPfont definefont 1000 scalefont setfont % print metric data for each character in the newly created encoding vector 0 1 255 { dup NewPFBencoding exch get dup /.notdef ne { exch -1 printmetric }{ pop pop exit } ifelse } for i 255 lt {exit} if } loop (EndCharMetrics) =to.ofi } def % name actual_code normal_code printmetric - /printmetric { (C ) print.to.ofi =only.to.ofi ( ; WX ) print.to.ofi onechar 0 3 -1 roll put onechar stringwidth pop round cvi =only.to.ofi ( ; N ) print.to.ofi =only.to.ofi ( ; B ) print.to.ofi newpath 0 0 moveto onechar false charpath flattenpath pathbbox newpath round cvi /ury edef round cvi /urx edef round cvi /lly edef round cvi /llx edef ury lly eq {/ury 0 def /lly 0 def} if % normalize degenrated BB urx llx eq {/urx 0 def /llx 0 def} if % llx =only.to.ofi ( ) print.to.ofi lly =only.to.ofi ( ) print.to.ofi urx =only.to.ofi ( ) print.to.ofi ury =only.to.ofi ( ) print.to.ofi (;) =to.ofi } def /printinfoitem { 3 1 roll 2 copy known { get dup type /stringtype ne { =string cvs } if exch print.to.ofi ( ) print.to.ofi =to.ofi }{ pop pop pop } ifelse } def /printfontinfo { (Comment AFM Generated by Ghostscript/pf2afm) =to.ofi currfont /FontName (FontName) printinfoitem % currfont /FontInfo get dup /FullName (FullName) printinfoitem dup /FamilyName (FamilyName) printinfoitem dup /Weight (Weight) printinfoitem dup /Notice (Notice) printinfoitem dup /ItalicAngle (ItalicAngle) printinfoitem dup /isFixedPitch (IsFixedPitch) printinfoitem dup /UnderlinePosition (UnderlinePosition) printinfoitem dup /UnderlineThickness (UnderlineThickness) printinfoitem /version (Version) printinfoitem % (EncodingScheme FontSpecific) =to.ofi % (FontBBox) print.to.ofi currfont /FontBBox get { ( ) print.to.ofi round cvi =only.to.ofi } forall eolch print.to.ofi % currPFMfile () ne { PFMdict dup /PFMCapHeight (CapHeight) printinfoitem dup /PFMXHeight (XHeight) printinfoitem dup /PFMLowerCaseDescent (Descender) printinfoitem /PFMLowerCaseAscent (Ascender) printinfoitem } if } def /readPFBfile { % make a shot of the actual font directory: /oldFontDirectory FontDirectory dup length dict copy def isPFB {% defined in `makeafm' (r) file true /PFBDecode filter cvx % true is better (see gs_type1.ps) mark exch exec }{ (r) file mark exch run } ifelse cleartomark % make a shot of the updated font directory: /newFontDirectory FontDirectory dup length dict copy def % spot the added font: oldFontDirectory {pop newFontDirectory exch undef} forall newFontDirectory length 1 ne { newFontDirectory length = (Weird PFB file?\n) printquit } if newFontDirectory {pop} forall findfont /currfont edef } def /readPFMfile { dup () ne { (r) file /currPFMfile edef 10 dict dup /PFMdict edef begin readPFMheader readPFMExtMetric end }{ pop /currPFMfile () def } ifelse } def % pfmfilename pf[ba]filename filetype printafm - % where filetype=(a) or (b) /printafm { readPFBfile readPFMfile (StartFontMetrics 2.0) =to.ofi printfontinfo printcharmetrics printkernpairs (EndFontMetrics) =to.ofi } def /pfa_pfb_dict << /.pfb /pfbn /.pfB /pfbn /.pFb /pfbn /.pFB /pfbn /.Pfb /pfbn /.PfB /pfbn /.PFb /pfbn /.PFB /pfbn /.pfa /pfan /.pfA /pfan /.pFa /pfan /.pFA /pfan /.Pfa /pfan /.PfA /pfan /.PFa /pfan /.PFA /pfan >> readonly def % Check whether the file name has pfa or pfb extension. /pfa_or_pfb? { % s -> false | /name true dup length 4 lt { pop //false } { dup length 4 sub 4 getinterval //pfa_pfb_dict exch .knownget } ifelse } bind def % pf[ba]filename makeafm - /makeafm { count 0 eq {(Missing font file name\n) printquit} if /ifn edef ifn length 0 eq {(Empty font file name\n) printquit} if % the following piece of the code does, in fact, the job of a system shell, % i.e., it analyses the supplied names, appends extensions if needed, % and check files: /pfbn () def /pfan () def /pfmn () def % initialisation [ t1_glyph_equivalence { pop } forall ] { % disable glyph substitution t1_glyph_equivalence exch undef } forall ifn pfa_or_pfb? { ifn dup length string copy def ifn dup length 4 sub 0 exch getinterval /ifn edef } if pfbn () eq pfan () eq and dup {% no extension was supplied, try ".pfb" /pfbn ifn (.pfb) concatstrings def } if pfbn () ne {% check whether "filename.pfb" exists pfbn status {pop pop pop pop /isPFB true def}{/pfbn () def} ifelse } if pfbn () eq and {% checking "filename.pfb" unsuccessful, try ".pfa" /pfan ifn (.pfa) concatstrings def } if pfan () ne {% check whether "filename.pfa" exists pfan status {pop pop pop pop /isPFB false def}{/pfan () def} ifelse } if pfbn () eq pfan () eq and { (Neither pfa nor pfb found\n) printquit } if /ofn ifn (.afm) concatstrings def ofn status { pop pop pop pop (Resulting file exists\n) printquit } if /ofi ofn (w) file def /pfmn ifn (.pfm) concatstrings def pfmn status { pop pop pop pop }{ () pfmn { (/) search dup not { pop (\\) search } if { 4 -1 roll exch concatstrings exch concatstrings exch }{ exit } ifelse } loop (pfm/) exch concatstrings concatstrings dup status { pop pop pop pop /pfmn edef }{ pop /pfmn () def (pfm file not found -- ignored\n) print } ifelse } ifelse //systemdict /.setsafe known { << /PermitFileReading [ pfmn dup length 0 eq { pop } if isPFB {pfbn}{pfan} ifelse ] /PermitFileWriting [ ] /PermitFileControl [ ] >> setuserparams .locksafe } if pfmn isPFB {pfbn}{pfan} ifelse printafm } def % Check for command line arguments. [ .shellarguments { ] dup length 1 eq { 0 get makeafm }{ (This is PF2AFM -- AFM generator \(ver. 1.00\)\n) print (Usage: gs [-dNODISPLAY] -- pf2afm.ps disk_font_name\n) printquit } ifelse } {pop} ifelse PK�����[f[NX%���� ��gs_ce_e.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Adobe CE (Central European) encoding vector. % We define it by differences from the ISOLatin1Encoding vector. /CEEncoding ISOLatin1Encoding 0 39 getinterval aload pop % 047 /quotesingle ISOLatin1Encoding 40 56 getinterval aload pop % 140 /grave ISOLatin1Encoding 97 31 getinterval aload pop % 20x /.notdef /.notdef /quotesinglbase /.notdef /quotedblbase /ellipsis /dagger /daggerdbl /.notdef /perthousand /Scaron /guilsinglleft /Sacute /Tcaron /Zcaron /Zacute /.notdef /grave /acute /circumflex /tilde /bullet /endash /emdash /.notdef /trademark /scaron /guilsinglright /sacute /tcaron /zcaron /zacute % 24x /space /caron /breve /Lslash /currency /Aogonek /brokenbar /section /dieresis /copyright /Scommaaccent /guillemotleft /logicalnot /hyphen /registered /Zdotaccent /degree /plusminus /ogonek /lslash /acute /mu /paragraph /periodcentered /cedilla /aogonek /scommaaccent /guillemotright /Lcaron /hungarumlaut /lcaron /zdotaccent % 30x /Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla /Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron /Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply /Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /Tcommaaccent /germandbls % 34x /racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla /ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron /dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide /rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /tcommaaccent /dotaccent 256 packedarray .defineencoding PK�����[f[gU8��8�� ��stc200_h.uppnu�[��������-supModel="Epson Stylus Color 200 , 360x720DpI" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r360x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupOutputPins=19 -dupWeaveYPasses=6 -dupWeaveXPasses=1 -dupWeaveYFeeds="{19 19 19 19 19 19}" -dupBlackTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0001 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ eK��K�� ��stc740ih.uppnu�[��������-supModel="Epson Stylus Color 740, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=6 -dupOutputPins=46 -dupWeaveYFeeds="{23 23 23 23 23 23 23 23 23 23 23 23}" -dupWeaveXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}" -dupWeaveYOffset=50 -dupWeaveInitialYFeeds="{ 5 5 5 5 5 5 5 5 5 5 5 23}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 13 16 19 22 25 28 31 34 37 40 43 46}" -dupFormatYabsolute -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2873 0100 02 1b5501 1b2865 0200 0001 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[U������ ��ras32.uppnu�[��������-supModel="SUN rasterfile, 32 Bit, 6+1 Colors (CMYK-Error-Diffusion)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster PK�����[f[S ����� ��Stc670p.uppnu�[��������-supModel="Epson Stylus Color 670, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0173 0.0391 0.0719 0.1406 0.2500 }" -dupCyanTransfer="{ 0.0000 0.0169 0.0413 0.0713 0.1500 0.2750 }" -dupMagentaTransfer="{ 0.0000 0.0155 0.0379 0.0654 0.1375 0.2750 }" -dupYellowTransfer="{ 0.0000 0.0141 0.0344 0.0594 0.1500 0.2750 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[U���� ��cdj690.uppnu�[��������-supModel="HP Deskjet 690 Normal Gamma 2.0" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Pcl -r600x300 -dupMargins="{ 12.0 36.0 12.0 12.0}" -dupBlackTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupBeginPageCommand="< 1b25 2d31 3233 3435 5840 504a 4c20 454e 5445 5220 4c41 4e47 5541 4745 3d50 434c 534c 4545 4b0a 1b45 1b2a 6232 421b 2a6f 3557 040c 0000 001b 2a6f 3144 1b26 6c31 481b 266c 3236 6130 4c1b 2a6f 3557 0103 0000 011b 266c 304d 1b26 6c30 6f30 451b 2a6f 304d 1b26 7533 3030 441b 2a70 3058 1b2a 7030 591b 2a67 3857 0201 0258 012c 0002 1b2a 7234 3830 3053 1b2a 7231 411b 2a62 324d 1b2a 6233 3034 591b 2a62 326d >" -dupAdjustPageWidthCommand -dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" -dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" -dupYMoveCommand="(%dy\0)" -dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" -dupOutputYOffset=10000 PK�����[f[]b��b�� ��uninfo.psnu�[��������%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % uninfo.ps: Utilities for "printing" PostScript items, especially dictionaries % Usage: % (prefix-string) dict unprint % Maximum Print-Width /HSpwidth 80 def % any HScvs string /HScvs { % Number-Syntax dup type % stack: any /anytype dup /integertype eq 1 index /realtype eq or { pop 16 string cvs }{ % Logical-Type dup /booleantype eq { pop 5 string cvs }{ % Identifiers dup /nametype eq { pop dup length 1 add string dup 0 (/) putinterval exch 1 index 1 1 index length 1 sub getinterval cvs pop }{ % Strings dup /stringtype eq { pop % ------- Compute Length 2 1 index { % stack: str len item dup 32 lt 1 index 126 gt or { % need 4 pop 4 add }{ dup 40 eq 1 index 41 eq or 1 index 92 eq or { pop 2 add }{ pop 1 add } ifelse } ifelse } forall % ------- Allocate & Fill String string dup 0 (\() putinterval 1 3 -1 roll { % outstr pos item dup 32 lt 1 index 126 gt or { dup 7 le { 2 index 2 index (\\00) putinterval 8 3 index 3 index 3 add 1 getinterval cvrs }{ dup 63 le { 2 index 2 index (\\0) putinterval 8 3 index 3 index 2 add 2 getinterval cvrs }{ 2 index 2 index (\\) putinterval 8 3 index 3 index 1 add 3 getinterval cvrs } ifelse } ifelse pop 4 add }{ dup 40 eq 1 index 41 eq or 1 index 92 eq or { 2 index 2 index (\\) putinterval exch 1 add exch } if 2 index exch 2 index exch put 1 add } ifelse } forall 1 index exch (\)) putinterval }{ exch pop dup length 1 add string dup 0 (-) putinterval exch 1 index 1 1 index length 1 sub getinterval cvs pop dup dup length 4 sub (-) putinterval 0 1 index length 3 sub getinterval } ifelse } ifelse } ifelse } ifelse } bind def % int HSpindent - indent-spaces /HSpindent { dup 0 gt { 1 1 3 -1 roll { pop ( ) print } for }{ pop } ifelse } bind def % indent array HSaprint -> Print an Array /HSaprint { dup type /arraytype eq { ( [) print exch 1 add dup 1 add 3 -1 roll { % rind pos item HScvs dup length % rind pos str len dup 3 index add HSpwidth ge { (\n) print 3 index HSpindent 3 -1 roll pop 2 index add exch }{ ( ) print 2 index add 1 add 3 -1 roll pop exch } ifelse print } forall ( ]) print pop pop }{ ( ) print HScvs print pop } ifelse (\n) print } bind def % dict HSdnames dict names (creates sorted name-strings) /HSdnames { % Build namelist, stack: dic dup length 0 eq { [] }{ [ 1 index { pop dup type /nametype eq { dup length string cvs }{ pop } ifelse } forall ] % Sort the namelist, stack: dic nam 0 1 2 index length 2 sub { % stack: dic nam I 2 copy get % stack: pre dic nam I nam[I] 1 index 1 add 1 4 index length 1 sub { % stack: dic nam I nam[I] J 3 index 1 index get % dic nam I S[I] J S[J] 2 index 1 index gt { % swap them 4 index 2 index 4 index put 4 index 4 index 2 index put 3 1 roll } if pop pop } for pop pop } for } ifelse } bind def % string:prefix dict:which unprint /unprint { HSdnames % pre dic nam % compute the maximum length 0 1 index { % pre dic nam maxlen nam[I] length 2 copy lt { exch } if pop } forall % Print out all the items, stack: pre dic nam maxlen (\n) print exch { % pre dic maxlen nam[I] % no prefix yet, -> flush right 3 index length 0 eq { dup length 2 index exch sub HSpindent }{ 3 index print (/) print } ifelse % print the name dup print % prefix: fill up with blanks 3 index length 0 ne { dup length 2 index exch sub HSpindent } if % now print the item itself, stack: pre dic maxlen nam[I] 2 index 1 index cvn get dup type % stack: pre dic maxlen nam[i] item typ % Dict-Syntax dup /dicttype eq { pop % stack: pre dic maxlen nam[i] item ( ) print dup HScvs print 4 index length 0 eq { % brand new prefix 2 index string 0 1 5 index 1 sub { 1 index exch 32 put } for dup 4 index 4 index length sub 5 -1 roll putinterval }{ 4 index length 1 add 2 index length add string dup 0 7 index putinterval dup 6 index length (/) putinterval dup 6 index length 1 add 5 -1 roll putinterval } ifelse exch unprint }{ 3 -1 roll pop % tack: pre dic maxlen item typ % Array-Syntax dup /arraytype eq { pop % stack: pre dic maxlen item 3 index length dup 0 ne { 1 add } if 2 index add exch HSaprint }{ pop ( ) print HScvs print (\n) print } ifelse } ifelse } forall pop pop length -1 eq { (\n) print } if } bind def /currentpagedevice where { % check for currentpagedevice /currentpagedevice get exec () exch unprint } if PK�����[f['<y��y�� ��stc_h.uppnu�[��������-supModel="Epson Stylus Color I (and PRO Series), 720x720DpI, Special Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=8 -dupOutputPins=15 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 8}" -dupWeaveInitialPins="{ 15 13 11 9 7 5 3 1}" -dupBlackTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupCyanTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupMagentaTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupYellowTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 05 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[3:-��-�� ��necp2x6.uppnu�[��������-supModel="NEC Prinwriter 2X, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/Epson -r360x360 -dupMargins="{ 9.0 9.0 9.0 67.0}" -dupWhiteTransfer="{ 0.40000 0.36253 0.32747 0.29475 0.26428 0.23599 0.20979 0.18561 0.16336 0.14297 0.12435 0.10741 0.09209 0.07831 0.06597 0.05500 0.04532 0.03684 0.02950 0.02320 0.01787 0.01343 0.00979 0.00687 0.00461 0.00290 0.00168 0.00086 0.00036 0.00011 0.00001 0.00000 }" -dupWeaveXPasses=3 -dupWeaveYPasses=2 -dupOutputPins=24 -dupWeaveYFeeds="{ 7 9 7 9 7 9}" -dupWeaveInitialYFeeds="{ 0 0 1 0 0 9}" -dupWeaveInitialPins="{ 5 21 13 16 8 24}" -dupFormatXabsolute -dupBeginPageCommand="< 1b40 1b40 1b7401 1b5200 1b50 1b54 1b7200 1b32 1b4306 1b5500 0d 1c242000 >" -dupAdjustPageLengthCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\034F\034\063\044\15\12\12\12 Printout-Aborted\15\014)" -dupXMoveCommand="(\015\034$)" -dupSetLineFeedCommand="(\034F\034\063)" -dupWriteComponentCommands="{(\033*\041)}" PK�����[f[r%>o��o�� ��stc500p.uppnu�[��������-supModel="Epson Stylus Color 500, 360x360DpI, not Weaved, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0008 0.0075 0.0155 0.0235 0.0331 0.0430 0.0540 0.0625 0.0714 0.0804 0.0889 0.0973 0.1061 0.1143 0.1239 0.1382 0.1551 0.1732 0.1956 0.2196 0.2488 0.2854 0.3215 0.3633 0.4185 0.4841 0.5529 0.6284 0.7365 0.8529 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0021 0.0152 0.0291 0.0418 0.0552 0.0681 0.0818 0.0947 0.1082 0.1218 0.1347 0.1474 0.1607 0.1732 0.1877 0.2029 0.2208 0.2393 0.2626 0.2866 0.3159 0.3528 0.3873 0.4268 0.4797 0.5417 0.6042 0.6712 0.7692 0.8714 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0021 0.0152 0.0291 0.0418 0.0552 0.0681 0.0818 0.0947 0.1082 0.1218 0.1347 0.1474 0.1607 0.1732 0.1877 0.2029 0.2208 0.2393 0.2626 0.2866 0.3159 0.3528 0.3873 0.4268 0.4797 0.5417 0.6042 0.6712 0.7692 0.8714 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0021 0.0152 0.0291 0.0418 0.0552 0.0681 0.0818 0.0947 0.1082 0.1218 0.1347 0.1474 0.1607 0.1732 0.1877 0.2029 0.2208 0.2393 0.2626 0.2866 0.3159 0.3528 0.3873 0.4268 0.4797 0.5417 0.6042 0.6712 0.7692 0.8714 1.0000 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 0A 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[Ĵy���� ��necp2x.uppnu�[��������-supModel="NEC Prinwriter 2X, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/Epson -r360x360 -dupMargins="{ 9.0 40.0 9.0 67.0}" -dupWhiteTransfer="{ 0.40000 0.36253 0.32747 0.29475 0.26428 0.23599 0.20979 0.18561 0.16336 0.14297 0.12435 0.10741 0.09209 0.07831 0.06597 0.05500 0.04532 0.03684 0.02950 0.02320 0.01787 0.01343 0.00979 0.00687 0.00461 0.00290 0.00168 0.00086 0.00036 0.00011 0.00001 0.00000 }" -dupWeaveXPasses=2 -dupWeaveYPasses=2 -dupOutputPins=24 -dupWeaveYFeeds="{11 12 13 12}" -dupWeaveInitialYFeeds="{ 0 1 0 11}" -dupWeaveInitialPins="{ 6 24 16 5}" -dupFormatXabsolute -dupBeginPageCommand="< 1b40 1b40 1b7401 1b5200 1b50 1b54 1b7200 1b32 1b4306 1b5500 0d 1c242000 >" -dupAdjustPageLengthCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\034F\034\063\044\15\12\12\12 Printout-Aborted\15\014)" -dupXMoveCommand="(\015\034$)" -dupSetLineFeedCommand="(\034F\034\063)" -dupWriteComponentCommands="{(\033*\047)}" PK�����[f[s ���� ��Stc740p.uppnu�[��������-supModel="Epson Stylus Color 740, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[OH��H�� ��font2pcl.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % font2pcl.ps % Write out a font as a PCL bitmap font. /pcldict 60 dict def % Write out the current font as a PCL bitmap font. % The current transformation matrix defines the font size and orientation. /WriteResolution? false def % true=use "resolution bound font" format, % false=use older format /LJ4 false def % true=use LJ4 Typeface code % false=use LJIIP/IID/IIIx Typeface code pcldict begin % internal procedures /findstring % <string> <substring> findstring <bool> { search { pop pop pop true } { pop false } ifelse } def % Determine which set of keywords is present in a string. % The last keyword set must be empty. /keysearch % <string> <array of arrays of keywords> keysearch <index> { 0 1 2 index length 1 sub { 2 copy get true exch { % Stack: <string> <a.a.k.> <index> <bool> <keyword> 4 index exch findstring and } forall { 0 exch getinterval exit } if pop } for exch pop length % invalid index if missing } def % Determine the device height of a string in quarter-dots. /charheight % <string> charheight <int> { gsave newpath 0 0 moveto false charpath pathbbox exch pop exch sub exch pop 0 exch grestore dtransform add abs 4 mul cvi } def % Compute an integer version of the transformed FontBBox. /inflate % <num> inflate <num> { dup 0 gt { ceiling } { floor } ifelse } def /ixbbox % - ixbbox <llx> <lly> <urx> <ury> { /FontBBox load aload pop % might be executable or literal 4 2 roll transform exch truncate cvi exch truncate cvi 4 2 roll transform exch inflate cvi exch inflate cvi } def % Determine the original font of a possibly transformed font. % Since some badly behaved PostScript files construct transformed % fonts "by hand", we can't just rely on the OrigFont pointers. % Instead, if a font with the given name exists, and if its % entries for FontType and UniqueID match those of the font we % obtain by following the OrigFont chain, we use that font. /origfont { { dup /OrigFont known not { exit } if /OrigFont get } loop FontDirectory 1 index /FontName get .knownget { % Stack: origfont namedfont 1 index /FontType get 1 index /FontType get eq { 1 index /UniqueID .knownget { 1 index /UniqueID .knownget { eq { exch } if } { pop } ifelse } if } if pop } if } def % Determine the bounding box of the current device's image. % Free variables: row, zerow. /devbbox % <rw> <rh> devbbox <ymin> <ymax1> <xmin> <xmax1> { % Find top and bottom whitespace. dup { dup 0 eq { exit } if 1 sub dup currentdevice exch row copyscanlines zerow ne { 1 add exit } if } loop % ymax1 0 { 2 copy eq { exit } if dup currentdevice exch row copyscanlines zerow ne { exit } if 1 add } loop % ymin exch % Find left and right whitespace. 3 index 0 % Stack: rw rh ymin ymax1 xmin xmax1 3 index 1 4 index 1 sub { currentdevice exch row copyscanlines .findzeros exch 4 1 roll .max 3 1 roll .min exch } for % xmin xmax1 % Special check: xmin > xmax1 if height = 0 2 copy gt { exch pop dup } if 6 -2 roll pop pop } def % Write values on outfile. /w1 { 255 and outfile exch write } def /w2 { dup -8 bitshift w1 w1 } def /wbyte % <byte> <label> wbyte { VDEBUG { print ( =byte= ) print dup == flush } { pop } ifelse w1 } def /wword % <word16> <label> wword { VDEBUG { print ( =word= ) print dup == flush } { pop } ifelse w2 } def /wdword % <word32> <label> wdword { VDEBUG { print ( =dword= ) print dup == flush } { pop } ifelse dup -16 bitshift w2 w2 } def /style.posture.keys [ { (Italic) } { (Oblique) } { } ] def /style.posture.values <010100> def /style.appearance.width.keys [ { (Ultra) (Compressed) } { (Extra) (Compressed) } { (Extra) (Condensed) } { (Extra) (Extended) } { (Extra) (Expanded) } { (Compressed) } { (Condensed) } { (Extended) } { (Expanded) } { } ] def /style.appearance.width.values <04030207070201060600> def /width.type.keys [ { (Ultra) (Compressed) } { (Extra) (Compressed) } { (Extra) (Condensed) } { (Extra) (Expanded) } { (Compressed) } { (Condensed) } { (Expanded) } { } ] def /width.type.values <fbfcfd03fdfe0200> def /stroke.weight.keys [ { (Ultra) (Thin) } { (Ultra) (Black) } { (Extra) (Thin) } { (Extra) (Light) } { (Extra) (Bold) } { (Extra) (Black) } { (Demi) (Light) } { (Demi) (Bold) } { (Semi) (Light) } { (Semi) (Bold) } { (Thin) } { (Light) } { (Bold) } { (Black) } { } ] def /stroke.weight.values <f907fafc0406fe02ff01fbfd030500> def /vendor.keys [ { (Agfa) } { (Bitstream) } { (Linotype) } { (Monotype) } { (Adobe) } { } ] def /vendor.default.index 4 def % might as well be Adobe /old.vendor.values <020406080a00> def /new.vendor.values <010203040500> def /vendor.initials (CBLMA\000) def currentdict readonly end pop % pcldict % Convert and write a PCL font for the current font and transformation. % Write the font header. We split this off only to avoid overflowing % the limit on the maximum size of a procedure. % Free variables: outfile uury u0y rw rh orientation uh ully /writefontheader { outfile (\033\)s) writestring outfile 64 WriteResolution? { 4 add } if Copyright length add write==only outfile (W) writestring WriteResolution? { 20 68 } { 0 64 } ifelse (Font Descriptor Size) wword (Header Format) wbyte 1 (Font Type) wbyte FullName style.posture.keys keysearch style.posture.values exch get FullName style.appearance.width.keys keysearch style.appearance.width.values exch get 4 mul add PaintType 2 eq { 32 add } if /style exch def style -8 bitshift (Style MSB) wbyte 0 (Reserved) wbyte /baseline uury 1 sub u0y sub def baseline (Baseline Position) wword rw (Cell Width) wword rh (Cell Height) wword orientation (Orientation) wbyte FontInfo /isFixedPitch .knownget not { false } if { 0 } { 1 } ifelse (Spacing) wbyte % Use loop/exit to fake a multiple-exit block. { Encoding StandardEncoding eq { 10 (J) exit } if Encoding ISOLatin1Encoding eq { 11 (J) exit } if Encoding SymbolEncoding eq { 19 (M) exit } if Encoding DingbatsEncoding eq { 10 (L) exit } if % (Warning: unknown Encoding, using ISOLatin1.\n) print flush 11 (J) exit } loop 0 get 64 sub exch 32 mul add (Symbol Set) wword ( ) stringwidth pop 0 dtransform add abs 4 mul /pitch exch def pitch cvi (Pitch) wword uh 4 mul (Height) wword % Height (x) charheight (x-Height) wword FullName width.type.keys keysearch width.type.values exch get (Width Type) wbyte style 255 and (Style LSB) wbyte FullName stroke.weight.keys keysearch stroke.weight.values exch get (Stroke Weight) wbyte FullName vendor.keys keysearch dup vendor.initials exch get 0 eq { % No vendor in FullName, try Notice pop Copyright vendor.keys keysearch dup vendor.initials exch get 0 eq { pop vendor.default.index } if } if /vendor.index exch def 0 (Typeface LSB) wbyte % punt 0 (Typeface MSB) wbyte % punt 0 (Serif Style) wbyte % punt 2 (Quality) wbyte 0 (Placement) wbyte gsave FontMatrix concat rot neg rotate /ulwidth FontInfo /UnderlineThickness .knownget { 0 exch dtransform exch pop abs } { resolution 100 div } ifelse def FontInfo /UnderlinePosition .knownget { 0 exch transform exch pop negY ulwidth 2 div add } { ully ulwidth add } ifelse u0y sub round cvi 1 .max 255 .min (Underline Position) wbyte ulwidth round cvi 1 .max 255 .min (Underline Thickness) wbyte grestore uh 1.2 mul 4 mul cvi (Text Height) wword (average lowercase character) dup stringwidth pop 0 dtransform add abs exch length div 4 mul cvi (Text Width) wword 0 { dup Encoding exch get /.notdef ne { exit } if 1 add } loop (First Code) wword 255 { dup Encoding exch get /.notdef ne { exit } if 1 sub } loop (Last Code) wword pitch dup cvi sub 256 mul cvi (Pitch Extended) wbyte 0 (Height Extended) wbyte 0 (Cap Height) wword % (default) currentfont /UniqueID known { UniqueID } { 0 } ifelse 16#c1000000 add (Font Number (Adobe UniqueID)) wdword FontName length 16 .max string dup FontName exch cvs pop outfile exch 0 16 getinterval writestring % Font Name WriteResolution? { resolution dup (X Resolution) wword (Y Resolution) wword } if outfile Copyright writestring % Copyright } def /writePCL % <fontfile> <resolution> writePCL - { save currentfont begin pcldict begin 80 dict begin % allow for recursion /saved exch def /resolution exch def /outfile exch def matrix currentmatrix dup 4 0 put dup 5 0 put setmatrix % Supply some default values so we don't have to check later. currentfont /FontInfo known not { /FontInfo 1 dict def } if currentfont /FontName known not { /FontName () def } if /Copyright FontInfo /Notice .knownget not { () } if def /FullName FontInfo /FullName .knownget not { FontName dup length string cvs } if def % Determine the original font, and its relationship to this one. /OrigFont currentfont origfont def /OrigMatrix OrigFont /FontMatrix get def /OrigMatrixInverse OrigMatrix matrix invertmatrix def /ScaleMatrix matrix currentfont OrigFont ne { FontMatrix exch OrigMatrixInverse exch concatmatrix } if def /CurrentScaleMatrix matrix currentmatrix matrix defaultmatrix dup 0 get 1 index 3 get mul 0 lt 1 index dup 1 get exch 2 get mul 0 gt or /flipY exch def dup invertmatrix dup concatmatrix def /negY flipY { {neg} } { {} } ifelse def % Print debugging information. /CDEBUG where { pop } { /CDEBUG false def } ifelse /VDEBUG where { pop } { /VDEBUG false def } ifelse CDEBUG { /VDEBUG true def } if DEBUG { (currentmatrix: ) print matrix currentmatrix == (defaultmatrix: ) print matrix defaultmatrix == (flipY: ) print flipY == (scaling matrix: ) print CurrentScaleMatrix == (FontMatrix: ) print FontMatrix == (FontBBox: ) print /FontBBox load == currentfont OrigFont ne { OrigFont /FontName .knownget { (orig FontName: ) print == } if (orig FontMatrix: ) print OrigMatrix == } if currentfont /ScaleMatrix .knownget { (ScaleMatrix: ) print == } if gsave FontMatrix concat (combined matrix: ) print matrix currentmatrix == grestore flush } if % Determine the orientation. ScaleMatrix matrix currentmatrix dup concatmatrix 0 1 3 { 1 index 1 get 0 eq 2 index 2 get 0 eq and 2 index 0 get 0 gt and { exit } if pop -90 matrix rotate exch dup concatmatrix } for dup type /integertype ne { (Only rotations by multiples of 90 degrees are supported:\n) print == flush saved end end end restore stop } if /orientation exch def /rot orientation 90 mul def DEBUG { (orientation: ) print orientation == flush } if dup dup 0 get exch 3 get negY sub abs 0.5 ge { (Only identical scaling in X and Y is supported:\n) print exch flipY 3 array astore == % % .devicename has been deprecated % currentdevice .devicename == % currentpagedevice /Name get == matrix defaultmatrix == flush saved end end end restore stop } if pop % Determine the font metrics, in the PCL character coordinate system, % which has +Y going towards the top of the page. gsave FontMatrix concat 0 0 transform negY round cvi /r0y exch def round cvi /r0x exch def ixbbox negY /rury exch def /rurx exch def negY /rlly exch def /rllx exch def /rminx rllx rurx .min def /rminy rlly negY rury negY .min def /rw rurx rllx sub abs def /rh rury rlly sub abs def gsave rot neg rotate 0 0 transform negY round cvi /u0y exch def round cvi /u0x exch def ixbbox negY /uury exch def /uurx exch def negY /ully exch def /ullx exch def /uw uurx ullx sub def /uh uury ully sub def grestore DEBUG { (rmatrix: ) print matrix currentmatrix == (rFontBBox: ) print [rllx rlly rurx rury] == (uFontBBox: ) print [ullx ully uurx uury] == flush } if grestore % Disable the character cache, to avoid excessive allocation % and memory sandbars. mark cachestatus /upper exch def cleartomark 0 setcachelimit % Write the font header. writefontheader % Establish an image device for rasterizing characters. matrix currentmatrix dup 4 rminx neg put dup 5 rminy neg put % Round the width up to a multiple of 8 % so we don't get garbage bits in the last byte of each row. rw 7 add -8 and rh <ff 00> makeimagedevice /cdevice exch def nulldevice % prevent page device switching cdevice setdevice % Rasterize each character in turn. /raster rw 7 add 8 idiv def /row raster string def /zerow row length string def 0 1 Encoding length 1 sub { /cindex exch def Encoding cindex get /.notdef ne { VDEBUG { Encoding cindex get == flush } if erasepage initgraphics 0 0 moveto currentpoint transform add ( ) dup 0 cindex put show currentpoint transform add exch sub round cvi /cwidth exch abs def rw rh devbbox VDEBUG { (image bbox: ) print 4 copy 4 2 roll 4 array astore == flush } if % Save the device bounding box. % Note that this is in current device coordinates, % not PCL (right-handed) coordinates. /bqx exch def /bpx exch def /bqy exch def /bpy exch def % Re-render with the character justified to (0,0). % This may be either the lower left or the upper left corner. bpx neg bpy neg idtransform moveto erasepage VDEBUG { (show point: ) print [ currentpoint transform ] == flush } if ( ) dup 0 cindex put show % Find the bounding box. Note that xmin and ymin are now 0, % xmax1 = xw, and ymax1 = yh. rw rh devbbox /xw exch def % xmin or ymin can be non-zero only if the character is blank. xw 0 eq { pop } { dup 0 ne { (Non-zero xmin! ) print = } { pop } ifelse } ifelse /yh exch def yh 0 eq { pop } { dup 0 ne { (Non-zero ymin! ) print = } { pop } ifelse } ifelse /xbw xw 7 add 8 idiv def /xright raster 8 mul xw sub def % Write the Character Code command. outfile (\033*c) writestring outfile cindex write==only outfile (E) writestring % Write the Character Definition command. outfile (\033\(s) writestring yh xbw mul 16 add outfile exch write=only % Record the character position for the .PCM file. /cfpos outfile fileposition 1 add def outfile (W\004\000\016\001) writestring orientation (Orientation) wbyte 0 (Reserved) wbyte rminx bpx add r0x sub (Left Offset) wword flipY { rminy bpy add neg } { rminy bqy add } ifelse r0y sub (Top Offset) wword xw (Character Width) wword yh (Character Height) wword cwidth orientation 2 ge { neg } if 4 mul (Delta X) wword % Write the character data. flipY { 0 1 yh 1 sub } { yh 1 sub -1 0 } ifelse { cdevice exch row copyscanlines 0 xbw getinterval CDEBUG { dup { 8 { dup 128 ge { (+) } { (.) } ifelse print 127 and 1 bitshift } repeat pop } forall (\n) print } if outfile exch writestring } for } { /bpx 0 def /bpy 0 def /bqx 0 def /bqy 0 def /cwidth 0 def /cfpos 0 def } ifelse } for % Wrap up. upper setcachelimit outfile closefile nulldevice % prevent page device switching saved end end end restore } def % Provide definitions for testing with older or non-custom interpreters. /.findzeros where { pop (%END) .skipeof } if /.findzeros { userdict begin /zs exch def /zl zs length def 0 { dup zl ge { exit } if dup zs exch get 0 ne { exit } if 1 add } loop zl { dup 0 eq { exit } if dup 1 sub zs exch get 0 ne { exit } if 1 sub } loop exch 3 bitshift exch 3 bitshift 2 copy lt { exch zs 1 index -3 bitshift get { dup 16#80 and 0 ne { exit } if exch 1 add exch 1 bitshift } loop pop exch zs 1 index -3 bitshift 1 sub get { dup 1 and 0 ne { exit } if exch 1 sub exch -1 bitshift } loop pop } if end } bind def %END /write=only where { pop (%END) .skipeof } if /w=s 128 string def /write=only { w=s cvs writestring } bind def %END %**************** Test /PCLTEST where { pop /DEBUG true def /CDEBUG true def /VDEBUG true def /Times-Roman findfont 10 scalefont setfont (t.pcf) (w) file 300 72 div dup scale 300 writePCL flush quit } if PK�����[f[J#���� ��stc_l.uppnu�[��������-supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupComponentBits="{1 1 1 1}" -dupWeaveYPasses=4 -dupOutputPins=15 -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 0A 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[e?���� ��bjc610a0.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 100200 1b28 64 0200 0168 1b28 6c 0200 1400 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[»���� ��bjc610b2.uppnu�[��������-supModel="Canon BJC 610, 720x720DpI, coated paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 101110 1b28 64 0200 02d0 1b28 6c 0200 1410 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[|;&"��"�� ��printafm.psnu�[��������%! % written by James Clark <jjc@jclark.uucp> % print an afm file on the standard output % usage is `fontname printafm' eg `/Times-Roman printafm' % From the `dvitops' distribution, which included this notice: % dvitops is not copyrighted; you can do with it exactly as you please. % I would, however, ask that if you make improvements or modifications, % you ask me before distributing them to others. % Altered by d.love@dl.ac.uk to produce input for Rokicki's afm2tfm, % which groks the format of the Adobe AFMs. % Modified by L. Peter Deutsch 9/14/93: % uses Ghostscript's =only procedure to replace 'buf cvs print'. % Modified by L. Peter Deutsch 9/6/95: % uses Ghostscript's .shellarguments facility to accept the font name % on the command line. % Altered my master@iaas.msu.ru to work with fonts of more than 256 glyphs % and avoid FSType output. Also print a comment with UniqueID of the font. /onechar 1 string def % c toupper - c /toupper { dup dup 8#141 ge exch 8#172 le and { 8#40 sub } if } bind def % print unencoded character metric data lines for glyphs in `v' array % and reset `v' - /printv { % define a new font with v as its encoding vector currentfont maxlength dict /f exch def currentfont { exch dup dup /FID ne exch /Encoding ne and { exch f 3 1 roll put } { pop pop } ifelse } forall f /Encoding v put f /FontName /temp put % make this new font the current font /temp f definefont setfont % print a entry for each character not in old vector /e currentfont /Encoding get def 0 1 255 { dup e exch get dup dup /.notdef ne exch s exch known not and { exch -1 printmetric } { pop pop } ifelse } for 0 1 255 { v exch /.notdef put } for } bind def % printcharmetrics - /printcharmetrics { (StartCharMetrics ) print currentfont /CharStrings get dup length exch /.notdef known { 1 sub } if = currentfont 1000 scalefont setfont 0 0 moveto /e currentfont /Encoding get def 0 1 255 { dup e exch get dup /.notdef ne { exch dup printmetric } { pop pop } ifelse } for % s contains an entry for each name in the original encoding vector /s 256 dict def e { s exch true put } forall % v is the new encoding vector /v 256 array def 0 1 255 { v exch /.notdef put } for % fill up v with names in CharStrings /i 0 def currentfont /CharStrings get { pop i 255 le { v i 3 -1 roll put /i i 1 add def } { printv v 0 3 -1 roll put /i 1 def } ifelse } forall printv (EndCharMetrics) = } bind def % name actual_code normal_code printmetric - /printmetric { /saved save def (C ) print =only ( ; WX ) print onechar 0 3 -1 roll put onechar stringwidth pop round cvi =only ( ; N ) print =only ( ; B ) print onechar false charpath flattenpath mark pathbbox counttomark { counttomark -1 roll round cvi =only ( ) print } repeat pop (;) = saved restore } bind def % fontname printafm - /printafm { findfont gsave setfont (StartFontMetrics 2.0) = % Print the UniqueID currentfont /UniqueID known { (Comment UniqueID ) print currentfont /UniqueID get =only (\n) print } if (FontName ) print currentfont /FontName get = % Print the FontInfo currentfont /FontInfo get { exch dup /FSType ne { =string cvs dup dup 0 get 0 exch toupper put print ( ) print = } { pop pop } ifelse } forall % Print the FontBBox (FontBBox) print currentfont /FontBBox get { ( ) print round cvi =only } forall (\n) print printcharmetrics (EndFontMetrics) = grestore } bind def % Check for command line arguments. [ .shellarguments { ] dup length 1 eq { 0 get printafm } { (Usage: printafm fontname\n) print flush } ifelse } { pop } ifelse PK�����[f[p|��|�� ��bjc6000a1.uppnu�[��������-supModel="Canon BJC 6000, 360x360DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 10.77 20.5 6.24 9.00 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 00 0f 1b28 62 0100 01 1b28 71 0100 01 1b28 6d 0a00 02 ff ff 00 00 07 00 03 00 00 1b28 64 0400 01 68 01 68 1b28 74 0300 01 00 01 1b28 63 0300 30 00 01 1b28 70 0800 02 a6 00 00 01 e0 00 00 1b28 6c 0200 34 00 1b28 65 0200 00 00 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[bH1Y���� ��st640ihg.uppnu�[��������-supModel="Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=8 -dupOutputPins=30 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveYOffset=38 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 15}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 15 9 18 12 6 15 9 18 27 21 30 24 18 27 21 30}" -dupFormatYabsolute -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2843 0200 0000 1b2863 0400 0000 0000 1b5501 1b2865 0200 0002 1b284b 0200 0002 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f["[��[�� ��Stp870pl.uppnu�[��������-supModel="Epson Stylus Photo 870, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{52 46 46}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 33 48}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[;c��c�� ��gs_t_m.xbmnu�[��������#define gs_t_m.xbm_width 16 #define gs_t_m.xbm_height 16 #define gs_t_m.xbm_x_hot 0 #define gs_t_m.xbm_y_hot 0 static unsigned char gs.t_m.bm_bits[] = { 0x00, 0x10, 0x00, 0x30, 0x00, 0x78, 0xf0, 0x7f, 0xfc, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfc, 0x3f, 0xf0, 0x0f, 0xfe, 0x0f}; PK�����[f[`[��[�� ��stc800p.uppnu�[��������-supModel="Epson Stylus Color 800, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0329 0.0706 0.1160 0.2392 0.7955 }" -dupCyanTransfer="{ 0.0000 0.0602 0.1133 0.1961 0.2945 0.3885 }" -dupMagentaTransfer="{ 0.0000 0.0452 0.0836 0.1215 0.1493 0.1749 }" -dupYellowTransfer="{ 0.0000 0.0350 0.0914 0.1567 0.2430 0.2934 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=64 -dupWeaveYFeeds="{63 63 67 63}" -dupWeaveInitialYFeeds="{1 1 1 61}" -dupWeaveInitialPins="{ 16 64 47 31}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[hA���� ��acctest.psnu�[��������%! % Check that operators do their access tests correctly. % proc dotest => . /dotest { dup mark exch stopped not % False if error, true if no error. { (Allowed access: ) print cleartomark == } if clear } def 0 0 moveto % So the show commands don't bomb because of nocurrentpoint. { [1 2] executeonly aload } dotest { (string) executeonly (seek) anchorsearch } dotest { (string) (seek) executeonly anchorsearch } dotest { 100 101 (string) noaccess ashow} dotest { 100 1 array readonly astore } dotest { 100 101 102 103 104 (string) noaccess awidthshow } dotest { 1 dict noacess begin } dotest { 1 array executeonly 1 array copy } dotest { 1 array 1 array readonly copy } dotest { 1 dict noaccess 1 dict copy } dotest { 1 dict 1 dict readonly copy } dotest { 1 string executeonly 1 string copy } dotest { 1 string 1 string readonly copy } dotest { (100) executeonly cvi } dotest { (string) executeonly cvn } dotest { (100.001) executeonly cvr } dotest { 1 10 1 string readonly cvrs } dotest { true 5 string readonly cvs } dotest { 1 dict readonly begin /foo true def } dotest { 10 array readonly dictstack } dotest { 1 string executeonly 1 string eq } dotest { 1 string 1 string executeonly eq } dotest { 10 array readonly execstack } dotest { 1 string noaccess executeonly } dotest { 1 array noaccess executeonly } dotest { 1 array executeonly { pop } forall } dotest { 1 dict noaccess { pop pop } forall } dotest { 1 string executeonly { pop } forall } dotest { (string1) executeonly (string2) ge } dotest { (string1) (string2) executeonly ge } dotest { 1 array executeonly 0 get } dotest { 1 dict noaccess /key get } dotest { 1 string executeonly 0 get } dotest { 1 array executeonly 0 1 getinterval } dotest { 1 string executeonly 0 1 getinterval } dotest { (string1) executeonly (string2) gt } dotest { (string1) (string2) executeonly gt } dotest { 1 dict noaccess /key known } dotest { {} (string) executeonly kshow } dotest { (string1) executeonly (string2) le } dotest { (string1) (string2) executeonly le } dotest { 1 array executeonly length } dotest { 1 dict noaccess length } dotest { 1 string executeonly length } dotest %%{ /foo 1 dict def foo begin /bar foo def bar noaccess pop /key load } dotest { (string1) executeonly (string2) lt } dotest { (string1) (string2) executeonly lt } dotest { 1 dict noaccess maxlength } dotest { 1 string executeonly 1 string ne } dotest { 1 string 1 string executeonly ne } dotest %{ newpath 0 0 moveto (a) false charpath % {} {} {} {} pathforall closepath } dotest { 1 array executeonly 0 put } dotest { 1 dict noaccess /key put } dotest { 1 string executeonly 0 put } dotest { 1 array executeonly 0 1 putinterval } dotest { 1 string executeonly 0 1 putinterval } dotest { (access.ps) (r) file executeonly read } dotest { (access.ps) (r) file executeonly 10 string readhexstring } dotest { (access.ps) (r) file 10 string readonly readhexstring } dotest { (access.ps) (r) file executeonly 100 string readline } dotest { (access.ps) (r) file 100 string readonly readline } dotest { (access.ps) (r) file executeonly 10 string readstring } dotest { (access.ps) (r) file 10 string readonly readstring } dotest % run does not check for no read access? { (string) executeonly (seek) search } dotest { (string) (seek) executeonly search } dotest { (string) executeonly show } %% some test for store. { (string) executeonly stringwidth } dotest { (access.ps) (r) file executeonly token } dotest { (10) executeonly token } dotest { /foo 1 dict def foo begin /bar foo def bar noaccess pop /key where } dotest { 100 101 102 (string) noaccess widthshow } dotest { (/tmp/_.ps) noaccess (w) file closefile } dotest { (/tmp/_.ps) (w) noaccess file closefile } dotest { (/tmp/_.ps) (w) file executeonly 100 write } dotest { (/tmp/_.ps) (w) file executeonly 10 string writehexstring } dotest { (/tmp/_.ps) (w) file 10 string executeonly writehexstring } dotest { (/tmp/_.ps) (w) file executeonly 10 string writestring } dotest { (/tmp/_.ps) (w) file 10 string executeonly writestring } dotest PK�����[f[ vZj��j�� ��stc1520h.uppnu�[��������-supModel="Epson Stylus Color 1520, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=4 -dupOutputPins=62 -dupWeaveYFeeds="{31 31 31 31 31 31 31 31}" -dupWeaveXStarts="{0 1 0 1 1 0 1 0}" -dupWeaveYOffset=18 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 31}" -dupWeaveInitialXStarts="{0 1 0 1 1 0 1 0}" -dupWeaveInitialPins="{ 13 20 27 34 41 48 55 62}" -dupFormatYabsolute -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2873 0100 02 1b5501 1b2865 0200 0001 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[��������ras3.uppnu�[��������-supModel="SUN rasterfile, 3 Bit, 7 Colors (RGB-Ghostscript)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceRGB -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster -dupComponentBits="{1 1 1}" PK�����[f[`į4��������ras4.uppnu�[��������-supModel="SUN rasterfile, 4 Bit, 6+1 Colors (CMYK-Ghostscript)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster -dupComponentBits="{1 1 1 1}" PK�����[f[8,���� ��stcolor.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % stcolor.ps % Epson Stylus-Color Printer-Driver % The purpose of this file is to configure the stcolor-printer driver % % It is useless and dangerous to interpret the following code with anything % else than Ghostscript, so this condition is verified first. If this fails % a message is send to the output. If this message bothers you, remove it, % but I prefer to know why the device-setup failed. statusdict begin product end dup (Ghostscript) eq 1 index (Artifex Ghostscript) eq or exch (AFPL Ghostscript) eq or{ % fetch the current device-parameters this is specific for Ghostscript. /STCold currentdevice getdeviceprops .dicttomark def % Any Ghostscript-Driver has a Name, verify that the selected device is % stcolor, otherwise nothing than another message will be produced. STCold /Name get (stcolor) eq { % % The main thing this file does, is to establish transfer-functions. % Here are two predefined arrays for 360x360Dpi and for 720x720DpI. % If resolution is 360x720 or 720x360 the average is used. You may % want to define other arrays here. % /STCdeftransfer [ 0.0 1.0 ] def /STCKtransfer360 [ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 ] def /STCKtransfer720 [ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 ] def % compute the resolution STCold /HWResolution get dup 0 get exch 1 get mul sqrt /STCdpi exch def % pick the colormodel STCold /ProcessColorModel get /STCcolor exch def mark % prepare stack for "putdeviceprops" % warn for BitsPerPixel=30 with fsrgb STCcolor /DeviceRGB eq STCold /BitsPerPixel get 32 eq and { (%%[ stcolor.ps: inefficient RGB-setup, recommend BitsPerPixel=24 ]%%\n) print } if % if the Dithering-Method is default (gscmyk), change it to fscmyk % this is achieved by pushing a name/value-pair onto the stack % if the selected algorithm uses another ProcessColorModel, it is necessary % to change the Value of STCcolor according to the new algorithm. STCold /Dithering get (gscmyk) eq { /Dithering (hscmyk) % preferred dithering-method } if % might be necessary to change STCcolor too % % select the array according to the resolution % STCdpi 359.0 lt { STCdeftransfer } { STCdpi 361.0 lt { STCKtransfer360 } { STCdpi 719.0 gt { STCKtransfer720 } { STCKtransfer360 length STCKtransfer720 length eq { 0 1 STCKtransfer360 length 1 sub { dup dup STCKtransfer360 exch get exch STCKtransfer720 exch get add 2.0 div STCKtransfer360 3 1 roll put } for }if STCKtransfer360 } ifelse }ifelse } ifelse /STCtransfer exch def % % Add the arrays. With Version 1.17 and above, it seems to be % a good idea, to use the transfer-arrays as coding-arrays too. % % % RGB-Model requires inversion of the transfer-arrays % STCcolor /DeviceRGB eq { /RGBtransfer STCtransfer length array def 0 1 STCtransfer length 1 sub { dup RGBtransfer length 1 sub exch sub exch STCtransfer exch get 1.0 exch sub RGBtransfer 3 1 roll put } for /Rtransfer RGBtransfer /Gtransfer RGBtransfer /Btransfer RGBtransfer /Rcoding RGBtransfer /Gcoding RGBtransfer /Bcoding RGBtransfer }{ /Ctransfer STCtransfer /Mtransfer STCtransfer /Ytransfer STCtransfer /Ktransfer STCtransfer /Ccoding STCtransfer /Mcoding STCtransfer /Ycoding STCtransfer /Kcoding STCtransfer } ifelse counttomark 0 ne {currentdevice putdeviceprops pop}{cleartomark}ifelse % decativate predefined correction {} dup dup currenttransfer setcolortransfer }{ (%%[ stcolor.ps: currentdevice is not stcolor - ignored ]%%\n) print } ifelse }{ (%%[ stcolor.ps: not interpreted by AFPL Ghostscript - ignored ]%%\n) print } ifelse PK�����[f[!���� ��pdf2dsc.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % pdf2dsc.ps % read pdf file and produce DSC "index" file. % % Input file is named PDFname % Output file is named DSCname % % Run using: % gs -dNODISPLAY -sPDFname=pdffilename -sDSCname=tempfilename pdf2dsc.ps % Then display the PDF file with % gs tempfilename % % Modified by Jason McCarty, bug 688071 % Add PageLabels support. % Modified by Geoff Keating <geoffk@ozemail.com.au> 21/12/98: % Add DocumentMedia, PageMedia comments % Use inherited BoundingBox and Orientation % Reformat, add new macro 'puts', generally clean up % Modified by Johannes Plass <plass@dipmza.physik.uni-mainz.de> 1996-11-05: % Adds BoundingBox and Orientation if available. % Modified by rjl/lpd 9/19/96 % Updates for compatibility with modified pdf_*.ps code for handling % page ranges (i.e., partial files) better. % Modified by Geoff Keating <Geoff.Keating@anu.edu.au> 7/3/96: % include Title and CreationDate DSC comments (these are displayed by % Ghostview); % reduce the size of typical output files by a factor of about 3. % Modified by L. Peter Deutsch 3/18/96: % Removes unnecessary and error-prone code duplicated from pdf_main.ps % Modified by L. Peter Deutsch for GS 3.33 % Originally by Russell Lang 1995-04-26 /PDFfile PDFname (r) file def /DSCfile DSCname (w) file def systemdict /.setsafe known { .setsafe } if /puts { DSCfile exch writestring } bind def /DSCstring 255 string def /MediaTypes 10 dict def PDFfile runpdfbegin /FirstPage where { pop } { /FirstPage 1 def } ifelse /LastPage where { pop } { /LastPage pdfpagecount def } ifelse % scan through for media sizes, keep them in the dictionary FirstPage 1 LastPage { pdfgetpage /MediaBox pget pop % MediaBox is a required attribute aload pop 3 -1 roll sub 3 1 roll exch sub exch 2 array astore aload 3 1 roll 10 string cvs exch 10 string cvs (x) 3 -1 roll concatstrings concatstrings cvn MediaTypes 3 1 roll exch put } for % write header and prolog (%!PS-Adobe-3.0\n) puts Trailer /Info knownoget { dup /Title knownoget { (%%Title: ) puts DSCfile exch write== } if /CreationDate knownoget { (%%CreationDate: ) puts DSCfile exch write== } if } if % This is really supposed to be sorted by frequency of usage... (%%DocumentMedia: ) MediaTypes { exch pop 1 index puts (y) puts dup 1 get DSCstring cvs puts (x) puts dup 0 get DSCstring cvs puts ( ) puts dup 0 get DSCstring cvs puts ( ) puts 1 get DSCstring cvs puts ( 70 white ()\n) puts pop (%%+ ) } forall pop (%%Pages: ) puts LastPage FirstPage sub 1 add DSCstring cvs puts (\n%%EndComments\n) puts (%%BeginProlog\n) puts (/Page null def\n/Page# 0 def\n/PDFSave null def\n) puts (/DSCPageCount 0 def\n) puts (/DoPDFPage {dup /Page# exch store dup dopdfpages } def\n) puts (%%EndProlog\n) puts (%%BeginSetup\n) puts DSCfile PDFname write==only ( \(r\) file { DELAYSAFER { .setsafe } if } stopped pop\n) puts ( runpdfbegin\n) puts ( process_trailer_attrs\n) puts (%%EndSetup\n) puts /.hasPageLabels false def % see "Page Labels" in the PDF Reference Trailer /Root knownoget { /PageLabels knownoget { /PageLabels exch def /.pageCounter 1 def /.pageCounterType /D def /.pagePrefix () def % (TEXT) .ToLower (text) -- convert text to lowercase -- only letters! /.ToLower { dup length 1 sub -1 0 { 1 index exch 2 copy get 2#00100000 or put } for } def % int .CvAlpha (int in alphabetic base 26) -- convert a positive % integer to base 26 in capital letters, with 1=A; i.e. A..Z, AA..AZ, ... /.CvAlpha { % using cvrs seems futile since this isn't zero-based ... [ exch % construct an array of ASCII values, in reverse { % the remainder stays on the top of stack dup 0 eq { pop exit } if % quit if the value is zero dup 26 mod dup 0 eq { 26 add } if % so that the division is correct dup 64 add 3 1 roll sub 26 idiv % save the ASCII value and iterate } loop ] dup length dup string 3 1 roll dup -1 1 { % put the letters in a string 4 copy sub exch 4 -1 roll 1 sub get put } for pop pop } def % int .CvRoman (int in capital Roman numerals) % convert a positive integer to capital Roman numerals % return a decimal string if >= 4000 /.CvRoman { dup DSCstring cvs % start with the decimal representation exch 4000 lt { % convert only if Roman numerals can represent this dup length [ [ () (I) (II) (III) (IV) (V) (VI) (VII) (VIII) (IX) ] [ () (X) (XX) (XXX) (XL) (L) (LX) (LXX) (LXXX) (XC) ] [ () (C) (CC) (CCC) (CD) (D) (DC) (DCC) (DCCC) (CM) ] [ () (M) (MM) (MMM) ] ] % Roman equivalents () % append the Roman equivalent of each decimal digit to this string 2 index -1 1 { 2 index 1 index 1 sub get 5 index 5 index 4 -1 roll sub get 48 sub get concatstrings } for 4 1 roll pop pop pop } if } def /PageToString << /D { DSCstring cvs } /R { .CvRoman } /r { .CvRoman .ToLower } /A { .CvAlpha } /a { .CvAlpha .ToLower } >> def /.hasPageLabels true def } if } if % process each page FirstPage 1 LastPage { (%%Page: ) puts .hasPageLabels { dup 1 sub PageLabels exch numoget dup null ne { % page labels changed at this page, reset the values dup /S known { dup /S get } { null } ifelse /.pageCounterType exch def dup /P known { dup /P get } { () } ifelse /.pagePrefix exch def dup /St known { /St get } { pop 1 } ifelse /.pageCounter exch def } { pop } ifelse % output the page label (\() .pagePrefix .pageCounterType //null ne dup { PageToString .pageCounterType known and } if { % format the page number .pageCounter dup 0 gt { % don't try to format nonpositive numbers PageToString .pageCounterType get exec } { DSCstring cvs } ifelse } { () } ifelse (\)) concatstrings concatstrings concatstrings puts /.pageCounter .pageCounter 1 add def } { dup DSCstring cvs puts } ifelse ( ) puts dup DSCstring cvs puts (\n) puts dup pdfgetpage dup /MediaBox pget pop (%%PageMedia: y) puts aload pop 3 -1 roll sub DSCstring cvs puts (x) puts exch sub DSCstring cvs puts (\n) puts dup /CropBox pget { (%%PageBoundingBox: ) puts {DSCfile exch write=only ( ) puts} forall (\n) puts } if /Rotate pget { (%%PageOrientation: ) puts 90 div cvi 4 mod dup 0 lt {4 add} if [(Portrait) (Landscape) (UpsideDown) (Seascape)] exch get puts (\n) puts } if DSCfile exch DSCstring cvs writestring ( DoPDFPage\n) puts } for runpdfend % write trailer (%%Trailer\n) puts (runpdfend\n) puts (%%EOF\n) puts % close output file and exit DSCfile closefile quit % end of pdf2dsc.ps PK�����[f[)������ppath.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Redefine pathforall for tracing. % Can't be used recursively. /# {( )print} def /-mat matrix def /-imat matrix def /-smat { //-mat currentmatrix pop //-imat setmatrix } bind def /-rmat { //-mat setmatrix } bind def /-pathforall /pathforall load def /-p2 { ( ) print exch =only ( ) print =only } bind def /-dp2 { 2 copy -p2 2 { exch 4096 mul dup cvi dup ( ) print =only sub dup 0 eq { pop } { (+) print =only } ifelse } repeat } bind def /-tp2 { //-mat itransform -p2 } bind def /-dict 5 dict def /pathforall { -dict begin /-close exch def /-curve exch def /-line exch def /-move exch def end -smat -mat ==only ( setmatrix) = {2 copy -tp2 ( moveto\t%)print 2 copy -dp2 (\n)print flush -dict /-move get -rmat exec -smat} {2 copy -tp2 ( lineto\t%)print 2 copy -dp2 (\n)print flush -dict /-line get -rmat exec -smat} {5 index 5 index -tp2 3 index 3 index -tp2 2 copy -tp2 ( curveto\t%)print 5 index 5 index -dp2 3 index 3 index -dp2 2 copy -dp2 (\n)print flush -dict /-curve get -rmat exec -smat} {(closepath\n)print flush -dict /-close get -rmat exec -smat} -pathforall -rmat } def % Just print the current path /printpath { {pop pop} {pop pop} {pop pop pop pop pop pop} {} pathforall } def PK�����[f[Pf"���� ��bjc610a2.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, coated paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 101110 1b28 64 0200 0168 1b28 6c 0200 1410 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[C��C�� ��s400b1.uppnu�[��������-supModel="Canon S400, 720x720DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.0 0.0 0.0 5.00 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0 0.0082 0.0166 0.0251 0.0339 0.0429 0.0524 0.0623 0.0728 0.0842 0.0966 0.1103 0.1257 0.1433 0.1635 0.1870 0.2144 0.2466 0.2841 0.3277 0.3776 0.4338 0.4958 0.5623 0.6317 0.7020 0.7708 0.8364 0.8970 0.9516 0.9999 1 }" -dupCyanTransfer="{ 0 0.0082 0.0166 0.0251 0.0339 0.0429 0.0524 0.0623 0.0728 0.0842 0.0966 0.1103 0.1257 0.1433 0.1635 0.1870 0.2144 0.2466 0.2841 0.3277 0.3776 0.4338 0.4958 0.5623 0.6317 0.7020 0.7708 0.8364 0.8970 0.9516 0.9999 1 }" -dupMagentaTransfer="{ 0 0.0082 0.0166 0.0251 0.0339 0.0429 0.0524 0.0623 0.0728 0.0842 0.0966 0.1103 0.1257 0.1433 0.1635 0.1870 0.2144 0.2466 0.2841 0.3277 0.3776 0.4338 0.4958 0.5623 0.6317 0.7020 0.7708 0.8364 0.8970 0.9516 0.9999 1 }" -dupYellowTransfer="{ 0 0.0082 0.0166 0.0251 0.0339 0.0429 0.0524 0.0623 0.0728 0.0842 0.0966 0.1103 0.1257 0.1433 0.1635 0.1870 0.2144 0.2466 0.2841 0.3277 0.3776 0.4338 0.4958 0.5623 0.6317 0.7020 0.7708 0.8364 0.8970 0.9516 0.9999 1 }" -dupBeginPageCommand="< 1b5b 4b 0200 00 0f 1b28 62 0100 01 1b28 71 0100 01 1b28 6d 0a00 02 ff ff 00 00 07 00 03 00 00 1b28 64 0400 02 d0 02 d0 1b28 74 0300 01 00 09 1b28 63 0300 30 00 02 1b28 70 0800 02 a6 00 00 01 e0 00 00 1b28 6c 0200 34 00 1b28 65 0200 00 00 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[ �� �� ��traceop.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Trace individual operators or procedures. % <opref> is <opname> or <opname> <dict> % (dict defaults to dict where op is currently defined, if writable; % otherwise uses userdict) % <opref> traceop prints vmem usage before; % <opref> <numargs|preproc> prints arguments or runs proc before; % <opref> <numargs|preproc> <numresults|postproc> % also prints results or runs proc after. % If traceflush is true, flush the output after each printout. /traceflush true def currentpacking true setpacking currentglobal true setglobal % Define the default "before" action /tracebefore { vmstatus 3 traceprint pop pop pop } def % Define the default "after" action /traceafter { } def /traceprint { dup type /integertype eq { 1 sub -1 0 { ( ) print index ==only } for } { exec } ifelse } bind def /traceend { traceflush { flush } if } bind def /traceop { userdict begin dup type dup /nametype eq exch /dicttype eq or { { tracebefore } } if 1 index type dup /nametype eq exch /dicttype eq or { { traceafter } } if /.tpost exch def /.tpre exch def dup type /dicttype ne { dup where not { userdict 1 index {} put userdict } if } if dup dup wcheck not { (Warning: substituting userdict for non-writable dictionary.) = pop userdict } if /.tddict exch def /.tdict exch def /.tname exch cvlit def currentglobal [ .tname /=only cvx ( ) /print cvx /.tpre load /traceprint cvx /traceend cvx .tdict .tname get /.tdef 1 index cvlit def dup xcheck { dup type dup /arraytype eq exch /packedarraytype eq or { /exec cvx } if } if /.tpost load /traceprint cvx () /= cvx /traceend cvx .tdef gcheck /.tpre load gcheck and /.tpost load gcheck and setglobal ] cvx .tdef type /operatortype eq { .tname exch .makeoperator } if exch setglobal .tddict exch .tname exch put end % userdict } bind def /tracebind /bind load def % in case someone wants to put it back /bind { } def % disable setglobal setpacking PK�����[f[Yj���� ��PDFX_def.psnu�[��������%! % This is a sample prefix file for creating a PDF/X-3 document. % Feel free to modify entries marked with "Customize". % This assumes an ICC profile to reside in the file (ISO Coated sb.icc), % unless the user modifies the corresponding line below. systemdict /ProcessColorModel known { systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and } { true } ifelse { (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)= /ProcessColorModel cvx /rangecheck signalerror } if % Define entries to the document Info dictionary : /ICCProfile (ISO Coated sb.icc) def % Customize or remove. [ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires). /Title (Title) % Customize. /Trapped /False % Must be so (Ghostscript doesn't provide other). /DOCINFO pdfmark % Define an ICC profile : currentdict /ICCProfile known { [/_objdef {icc_PDFX} /type /stream /OBJ pdfmark [{icc_PDFX} <</N systemdict /ProcessColorModel get /DeviceGray eq {1} {4} ifelse >> /PUT pdfmark [{icc_PDFX} ICCProfile (r) file /PUT pdfmark } if % Define the output intent dictionary : [/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark [{OutputIntent_PDFX} << /Type /OutputIntent % Must be so (the standard requires). /S /GTS_PDFX % Must be so (the standard requires). /OutputCondition (Commercial and specialty printing) % Customize /Info (none) % Customize /OutputConditionIdentifier (CGATS TR001) % Customize /RegistryName (http://www.color.org) % Must be so (the standard requires). currentdict /ICCProfile known { /DestOutputProfile {icc_PDFX} % Must be so (see above). } if >> /PUT pdfmark [{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark PK�����[f["���� ��PDFA_def.psnu�[��������%! % This is a sample prefix file for creating a PDF/A document. % Feel free to modify entries marked with "Customize". % This assumes an ICC profile to reside in the file (ISO Coated sb.icc), % unless the user modifies the corresponding line below. % Define entries in the document Info dictionary : /ICCProfile (srgb.icc) % Customise def [ /Title (Title) % Customise /DOCINFO pdfmark % Define an ICC profile : [/_objdef {icc_PDFA} /type /stream /OBJ pdfmark [{icc_PDFA} << /N currentpagedevice /ProcessColorModel known { currentpagedevice /ProcessColorModel get dup /DeviceGray eq {pop 1} { /DeviceRGB eq {3}{4} ifelse } ifelse } { (ERROR, unable to determine ProcessColorModel) == flush } ifelse >> /PUT pdfmark [{icc_PDFA} ICCProfile (r) file /PUT pdfmark % Define the output intent dictionary : [/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark [{OutputIntent_PDFA} << /Type /OutputIntent % Must be so (the standard requires). /S /GTS_PDFA1 % Must be so (the standard requires). /DestOutputProfile {icc_PDFA} % Must be so (see above). /OutputConditionIdentifier (sRGB) % Customize >> /PUT pdfmark [{Catalog} <</OutputIntents [ {OutputIntent_PDFA} ]>> /PUT pdfmark PK�����[f[nN[��[�� ��Stc760pl.uppnu�[��������-supModel="Epson Stylus Color 760, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{52 46 46}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 33 48}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[f ������ ��ras24.uppnu�[��������-supModel="SUN rasterfile, 24 Bit, 7 Colors (RGB-Error-Diffusion)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceRGB -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster -dupComponentBits="{8 8 8}" PK�����[f[\e �� �� ��gs_wl1_e.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Windows 3.1 Latin 1 encoding vector (H-P Symbol set 19U). /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /Win31Latin1Encoding ISOLatin1Encoding 0 39 getinterval aload pop /quotesingle ISOLatin1Encoding 40 5 getinterval aload pop /hyphen ISOLatin1Encoding 46 50 getinterval aload pop /grave ISOLatin1Encoding 97 30 getinterval aload pop /graybox % \20x /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef /.notdef /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /softhyphen /registered /overscore /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % \30x /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis 256 packedarray .defineencoding exec PK�����[f[V �� �� ��zeroline.psnu�[��������%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % zeroline.ps % Test file to determine how other PostScript implementations handle % filling zero-width lines under a variety of conditions. % Add a small "fan" of zero-width lines at different angles to the path. /fan { currentpoint 100 0 rlineto 2 copy moveto 100 20 rlineto 2 copy moveto 100 100 rlineto 2 copy moveto 20 100 rlineto moveto 0 100 rlineto } def % Append a rectangle to the current path. /rectappend { 4 -2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } def % Fill a rectangle. /rectfill { gsave newpath rectappend fill grestore } def % Stroke a rectangle. /rectstroke { gsave newpath rectappend stroke grestore } def % Clip to a rectangle. Unlike the real rectclip, % this clear the current path. /rectclip { newpath rectappend clip newpath } def 40 40 translate % Display fans of different colors on different backgrounds. gsave 0 setgray 0 0 120 120 rectstroke 10 10 moveto fan fill 140 0 translate 0 setgray 0 0 120 120 rectstroke 0.8 setgray 10 10 moveto fan fill 140 0 translate 0 setgray 0 0 120 120 rectfill 1 setgray 10 10 moveto fan fill grestore 0 140 translate % Display rectangles with two edges coincident. gsave newpath 0 setgray 0 0 40 40 rectappend 0 0 20 20 rectappend eofill 60 0 translate 0 0 40 40 rectappend 40 0 -20 20 rectappend fill grestore 0 60 translate % Display superimposed lines. gsave /super { currentpoint fan 2 copy moveto 20 0 rmoveto 50 0 rlineto 2 copy moveto 20 4 rmoveto 50 10 rlineto 2 copy moveto 20 20 rmoveto 50 50 rlineto 2 copy moveto 4 20 rmoveto 10 50 rlineto moveto 0 20 rmoveto 0 50 rlineto } def 0 setgray 0 0 moveto super fill 140 0 translate 0 0 moveto super eofill grestore 0 140 translate showpage PK�����[f[^v/{�/{� ��ht_ccsto.psnu�[��������%! % This file is a reformatting of data placed in the public domain by its % author, CalComp Technology, Inc. % % Aladdin Enterprises, Menlo Park, CA reformatted the original data as % PostScript halftone dictionaries, and hereby places this file in the % public domain as well. % This file defines a /StochasticDefault Type 5 Halftone. % Note that the Black array is used for Default, Black, and Gray % (not too surprisingly), as well as for Red, Green, and Blue. % The reason for using the single Black array for the % RGB additive primaries is to make stochastic dither to displays % look better since there is no misalignment between primaries to % a screen (as there often is printing to paper). % The CMY components are decorrelated (90 degree rotations of the % Black data) so that misalignment doesn't cause color shifts. This % is the same reason that conventional ordered screening uses % varying angles for C, M, Y, and K inks. /StochasticDefault << /HalftoneType 5 /Black << /HalftoneType 3 /Width 167 /Height 167 /Thresholds < 00AE10FE266C139427851F4EFD0DB00060AD25D6164400C765227327CB0C5A30 D90786049501CD2D0752018608389F2F159527851A9E07FB00AC12D226A13A15 AD3E00DA0878006B384C0093085834790DBC770133A31E41940CA900510EC834 B02746993E00BC0634D01B43F411C90AAB269616E012B140048600C84B077500 5AFE126B1A40F53903710A8305319C21854011844701B96B00D112790E5A008F 1150296B3F09E563277C4900AD50017109D4013B6C1A87123E6C0D79F626511A A90E86003EED01784629E737630E4778A53F22B65700C94909F5003E5E461258 336C098600E15804F75C13A22FFA1FCA1BB5263FF412CD2F502269C2094DEA1F 7A233AFE60017204852605D460136BA6118607307F2779005A336A017B005A9E 15760D35D825B03404A527CF6C0865AC27DB225AC10F5200D6581FE9610D3088 2749B538CD48246CC404F21F79310DDC0236CD1F3DF122A92B9A10CC5027F401 BE50003285059201F8384A9A1A6A12C6005A19B026F6001DE2660D277F1F793C 2276B901DB37B304F0401F79122E9A1A3476247C0D4704780D5EA500650A9E00 F00F53278A005606D96C0541AB1AEF0EBA5A1933FC27045323B350009D1F4CD6 06A33F25D21F3FEA2BAC5B01790D8F551D76013AB7411B7C00A93B006FEC276C 07970027CB4505E6095A017808FC043A610E8901A4851B58A512860461400D69 1D7D3F00A60D693A1ED05A13DD41305D12D20550BB27409B0D790085503A942F 0173FA069B01AD5A062E851F6E1B772655C707B66C0046B005CF015AB9842DEC 054F279750266F1F7C03D2123DBB64183DB612286C247B2F0078A1014679ED3A 02DA3F12EE3914841FF24F0CA50579005022F827C33900EC2989155300E51140 651996421B9112BD344A8318A45B1F7E27A41F60269E17BA5327CC2600BA4005 6A2ED51A84C300E84A068427529E04862C03984B0BC400862675340086084FDA 1FC23109D0045AC01A3C5512E54012D5520D9F00D10CA8003C6A4021D7601282 27971A49016C24881DD53601E20CB837A72F4996012786004D79D7009E0750E5 3D0F6CC1220065951FA060016CB5005D049234642749CC129B046209498512A7 04DA269C2759CA04F72807C502624104FD0B71013DB400F11242BE4800813E01 980A67385B20EB269C005A0627793616B923DB1840E51266BB3D207C276C1DAD 04E25A1CFC223D68044A75217E12418D00B0316426830036EC2550307B1A9322 FE01920B2AE9015210F127D113AA00700455AE1F8749056B00E51F5AF410C52C 043F5A35CA12631FD02A0949B1410C770530AD0E2850C83C11C100E308316D1B 51B72FE1066C305E0E730A83013D6C0D4DAF5032E115861FB026E0126C334C87 01780DE24E1BE81350F78F0B7901761349F43C9E115A940B63037C0049910853 00EA06AD10F42D940D40A90287009327F216AE29EA054DD20D8501A11DBC6A04 61BD0546E501610E5233B2501D6CBD3B0068098634DF27A3153A7D002AF61BA0 0D850838991F67E712A5014996058801419E6C0D27C91DF95A2274E70B248349 286C1F78B201DB360079219426CD1FB335F825BB1F9E318501268600A82C6701 552F9804D30C2CDC1E683B0585257930041FD927AE33C90A6D014CDA002DF734 AE26CE341BFC259D126C34590178147D21643547D011A00583006025A5203F5F 1ACC0B5A4115900F39981F5A32B439CE046400A439068A44BA4A2260106B08FE 5A12D660113D5A4023BE51007F0A478C26FB1A33C22650F60427E26800853C04 CB003769A501FD0AAF5412397E2386450DAF0259007F0562007905690CD51940 F50E3D5A0DD438A106633F1A9E6C0553A112AA2BCC00B44250007F0E6B20A227 C61F3FAA500176086C0FA15F01792750D404B95023C800DC0BB8075633633949 C9127B018C07E8385033F200AD22FA5A00D70886047112791AF44813E33F126C 04F8009F267E38059E330478B101CE760431DE26B431006F085D8600780D5B3A 7A013EB54719931249B00626701B864000F35E049F11EF6B173BF43E22DD27A4 2D47EB4900A361206CC82677007911F222BF590034C32241F901740F62159CC5 471AEF009204640D81045B128620DF27850438B51FC7003F643C0C84325F2776 267F13E001BA0B2B6C33FD27781498017E0E6C2979013483266C1FED27A42788 3005955001CC1C902F7919C702B44B2064C03F22842C1261A00E6C055FD120AA 3A14EA27B61FA71A8A225A07D9502F841F60DE31BA042799320EC91A5A0127C2 650CA5500F941AC6125A227A3406B5005005EE53238949007727F750157D0032 932452E0350512872F604023FC2AB032EB26CE2F9F00591AEE4809661386229F 1BE4019E089904EB00A5276F265AE4009D0CAD00592DC31FB226DD1249A50DBF 2E9F00490AD90053C63E207E265A06B50B40522F6B00F00D5000E20946FA013A 7927F312397901C457096E048200C60AE7127F2700F405BE00500D774BDB0544 852749B540951241860179420067098601AD11E549167F28A53E12BC0727A646 0B7E03AF0DD85A0BBD0040934D3C01CF05B44F0886006C09780069124EC13F00 A52EDF5008F8027F2E6B15F24936613E1B860E95044385236C1F40DD04603D00 820540CD1850017B1256BB6722790E6100B30DE8339B275BEC01D21493278627 791A68AD1F5AD50CA8009D4C178E0D359E21D630533862329D04B97720523386 17A401391A67B707E4006C0833D6002FE61FB834FD5027D12789037039DD0961 01953450E30437C81D60269538187827802704EAAB5A1B6E12833A1FD823A41B B527F936059D6A10790140AC295A12CD22A92C0EB517C75001F81FC0350DD503 BF79117627EE501B9C63046CF73F24DB0847019D27E21F842E70006B04D80E36 831F6309C301D9069E270086052E8F1C3F5A04EF2550DB00466019F10FA30147 5F3E0C67D31241EE2361C47D102C7721901FFB4E26A7551249049226019A0D79 1A50C00141731BD046008412669D004BDA470165C201F307BA631F00349927E3 01BC5210405D3D04790A925D1533CE279A0D6B00C4400579005A860071057D44 2F5F01914F27623D1A50A5076803C63D1FA22C0D61961B832AF8174E02A026FC 14A81F8224934204AC297935711E603AEC4935C550006BCF22AE278512662EAB 0577006C23C71AFE1FAD340198025087083E00F65001CD375E018604690678C6 6C1052BC385A00F03E1F8213AD325A12FE20AF2F0E79246C09ED1B47861F7445 0C8B56F40C791A3E630077C101E14A1FC82D04E557016D1DF3309F1A8F4B34D3 1A3EFE26AF1FD713A64824EC00A80AF50042D421974A0AE70056BC0433C7006D 0C63B93D1278095738C30B5300C64E12F700A21150BA0A26950D6513E933017F 0B6700B904F7123ECF279C400884006D087D4622C22B13E173266213AD480CA1 2747BF1CED2C0040E21A6806D9345E04A12BF90094047B2770015AF21AB9128F 27790434B3112FD3270840AF004E9E20F62F0B7F19863A0077A43F1BAF0A884A 125E3C0AEF0150920462460B59006B09CE0577422F6C228A2D0D793212AA2784 341A874C148D27A636006CCF04438F01603AF430651F84265B27E600418D4F00 B0237C075ABA1F52D836497C1D5097085A01DE502FB126D51FE95A0DA048003A A504862F007A17DD0E347C0B5BB127048C29A9129B23CA0C6B0E5123DF1AB10A CD3F0584395000AE0ED160005A950179A3136130D0046C079E5426A60DF16911 52008726DA3E00B304D764267F2F12AF219D38E4328B40296812B304CC5401BE 5B00F35F016C08DE4500F13D04D60759EC1D5033B51AD8119903A00CDE019D05 7817862E04FC3D16DC279E3910952705910C33A6006B2CAE3B15941259400490 003679046AC71F4ED41B56EC34B3009B502292360877CA40006D47016C1A8626 78B23B07843143651FC52703DE6021844124E63916FE222EC304870E46B64A15 34D2005A4021BB27FE0D3B661F7A27833500A01AE14207C9008504A50CF201B6 5126820E359A1938851F43C4239E12AE640DA45A227E12308A0D97006A227E27 5E266D2A5A38D130AC02CE5C1FA159046D00F64901E14226EA5322CC1FF90D79 4700F306C26C125EB81CFA4110790B419805681A543A6203CF01F943185412F7 1DC12EEB4000D5051F6ABB4E00E90D860055984006F933019407A64A05670071 3D1FDD266800EB75123C950785024A1679AD04C107E60C50BA107800935A276B 1B6C257A1F973E02F91F50E30648D910A004347E01773B267E1E40B100C44701 E32450F93E00E10ABE00A608771161227D450D79013FBD12891A762F509B006C 04860A5B01861CD26026781A38E2290C822F01B327E80033C30DAE04F013AC27 811F699E0186326001800756A73146F5003E159227A5223BB00B2D791B50BC12 771B8234D7481AF15B00A1127E270360B91DDA2760C46B0150295A401E96226C 2F47BE3B12EF0DBA28D2003C5C19880CA500692F87016127E8521AFB4E05D008 E403683B1F9D5B1582290852A5347912851FEE24AE00F60834BF27E71E614026 AE0DCA083DB315BD2F45953D25A0033689019E5500A547039B5A1E7F12895027 7E226D277E06490DA7002FE0490A963C15BB1061048E502677D20168094FF014 4AD8009F0D6A3648CC019B11B2840433862249C93AAD41057B019C0E4725D61A EF01B76100CE04FA0C600278328101491178BD06D83159387916AD2150B50A6A 00980C2F8F1F5A2C7911F6730A2FB001CB7813640546D1355001802D6C1F5696 0068099E0CD154017C21881E61385A00F211C56A0C51B30EEA320B7F256AD117 3BDE055E26FD0249DA009F2159E46327C65E0627B621D84B2E9D1FE1270AA004 2A48C2377601427D1F6A26C704EE00296C265D4C0D52BC0BFC015A0E791FF824 5933EB008D0B7E316C112686345A1F8827D31FB22357FB641E50276C00C412DF 5304F0123E7727BC3848CA013F9F00B7502700CF411B723604B922ED1A5A04BC 400FDC04B44812D828843270003EEF345E00FD04D612A4277A0034E6162E7422 50BD1AF71240AD006A34C601469414398510CE0047047A0C3DAE790052059000 6C3E0068CE3456E71279059B26D101A508862F53207BB509EA0027D716752740 7728E000650947B513407020B14903A03FF8470A994000A508500097054709B0 01EA129E276C01287E279200D3065A02851260EE0E6A3E049E61126CF00E9B48 2C880095277A19955A2780143779066C01F823B41A6706BF50266F218505641A B456046CD700A804663D0088064F9D12851F96360DBC601C6E30921BBB23EB1F 50126BEE4119FC0CC578204E0EB0005020FC12502F8B12F54100A963133E5A1A 79017C4300AD08C5045738C13086009504C8510536CF27007819B401EC69153E E76112D72A7A22863560420D963FC80DAF1B5134791FE227AD215031C714DD1C 3FBC013C5A00DD1266420DB501FE3E00C4055FEB26B820A412920486279A1235 A30DC34131EE3E072AAF1F3F5A137B26CC5227DA203EF2045A09DA6C002DF50C B1086A3287009E05D03B0D7F355F305106AB01821A3FA06C0064AD045A38601E CF350CE004AE39C63E1DED3665254D911A7F016D21DE276C3412E5700962BD0D 5D2B7A1A3AB7770D308626A200DE4905B900FB4C1A603C0564FE12A8400D6C00 780893017926840D50861FAD274BA605E638692F540D711C9D450C86003F6447 2F5A11C90057E301794A00840E5FCE78008409B63AEE0C771B960185086130BA 285122A549017C2750FA0457376F2E5C019F1ECA01A41A8927F32460DB073ABA 3F1DE222BD0178064977228549126AB55A02890EE33310B827EA14A00D841BA4 5B002B961F5038DF1249CD0450005AC5016B177740138520742E08B300E76F2C 0185005DC226F82AB81F5A35AE01FD3104D70B880332791F9913CD21AE27F235 00CF1A57E408C600DB4926783A1A922E13E7269B014E1B46FB4B2701604300BA 104D26C01479009F0EEB1A863E12D30040A512CE1CF216B328500D8624E8114F 038736129322580D7A006C0E50E52AA201933100F9052E12A5226C009A460094 0A40623C01FB083ED05012F101A4058C00328527F62042AB0DF03403A427CF10 A86822854410C1471FD92F04950B810340E812476217A4492C6A12F96000C307 5B047E0186084F7C26782F1290223C7502F10AB66005D25A046E1ADA27AE125F 0279D80FA5315F37F86C0150E526426C035808C15026831F613C079200406C04 E3642772003DC06918D15204EC01CB319F279134118726F318C45F269550CF06 41C05019F5651F51CA00BD5A2791197804AA2F6A1F7926AD5F1A9D118F05387F 2250C90E50017D3800D530048A265B9A087849395A15CF67009E09CA41007907 C338501A924929F24334DA193DBF109A02AE600154A71B6A29821232841F3FBE 34A1087D009427C43F226C1AE3019F0C2E87203C7305B438D12F5F01A20DE001 B56C2550BD0F9D3F00D213AF79052B98003086276A268208F904B35A006C0B7E 4412831B006A3495012C820527D604792E4E127800B02760410DD44F0BEB4507 DD046634E25B0095066139F55E1AE148145ABD1BEC0C32B31AF000B2334D227C 276C208F26EC541A7700B2390C7800860B6C48A5046133D7183AFA4006C20DA1 0055FB00AE0C6900563F20EC50056B0A870496277E225AD105B200CC50127900 9B1FF3316A22854212DD0479275A1B8C095A40225BF70F62C50D791BAC135A2F 7C153CDB1FB32F00A508DC7816F21F52D30DB144803C11EE05AC21DB480BF600 7934019C36127F2551BA005012D427B41F92002F99046B9E013E77007D400186 276C0E7904F40CBE00E0055F3E019327E2085EDB26AF22C627007727F500499F 05771F84307A27D3224279249427F714B9730D33A31FF32FC0125809C6004067 1293401EFB27650F7A069D04C42F00922C6034F70CC5253BFA0EB60037851F40 A600F10240D4004AC40568400351E93856309F3E0086096835592600A9602274 298504388626A722C66C1B54C200B03E1E86267B1A6901790CD05026BC0B32F5 0F4BB524DA5012BB21DA279B1E503284173BAE22D011A41F852D01820F760151 E712541386243E670FCF00E9046009920437DD014A08922B0141D40162430071 39FE49268E1EEE3256088601A422DA345A27771A5AFE4B0BC800497E0150A201 681F994804E2085F334972A20C8E1A407A26CA79156404BC0F04C24F27E014AC 01FD6C0D30B700E2125ABD016611941543FD04602F6C01F808C50CAE30FA233F 6512921D41782286340775048343015A06840060A40241B969017E0A6338580E AB4A34F03047970641C96A08E301B850276C2050A64617C1651C5AB66C225DC6 79123B8713A64C047901A407790EAD1FE02676127E00AB0BE600AE08391AA426 961334AE166C27CC510BD72F509E12C227053A6124E90DAD003A09A2238F1F5C 276C1298037D22781C3ED1501A6A34791F5030D83F068100349E0DD212992748 623D00830E5AB805EE005ADA00AE05CE5712A31AE4349D3F17CE3512E5265312 F6492FBD15FB4005D300610DC41E3A7E1A409421792F049F12BC300DF4355000 860D4700DF0F492151B206E53D1ED715502BDF38610093045A31CB394D208D1C 3F7942BB6C017905EA5522E5049E0032831F7C00266C017FDD12BA5001752753 FD4C2DDF004FF9A201EA325439CD0A9C055B01900DA101F509930060E82EB652 227E1F406F0E9F04E85027A501356E278135127B276A1846F8276700730CF265 23AE570779009A270684006D04A32750911A9C0350DC00A90434C41659EE3685 017C41019E12CB28F01F77308604FA006C265B01822769BB0D5A01CD2E513AB0 005D05F061046CD226015212DE4836680086103E7845ED06A812C73EFE4D1D3F 6B042B9A1FD3126201760D82380A1D406006BC00613146B41FF727CD2789256C 1AAF2650036908DD014FF000BF412F6C14C91C47861A9F0DBC5009E601863600 9723C426A52F048600399F1FD43450B71FD830891B7A123DBD432E71118427F8 5300AC0B6D0049E11AB55A227906990153A50441AE31980ECF2BB5129F003486 1F8816A611F50C981A940D27B9380E67EF1F7F2909BC1AA82750BF08266C2C58 3670045A0AAF00963BF0085B009E27C426AF1ACF657BD81F8E238512E5004C83 086800770640C4500E7C17CD1F9C263E88153A5A1BD80188065DE400CC043D61 1F9330A51FC35B0D7B0552014EC61249FA0B89490D90003D62124ACB00ED0A5A 01FD1AB7490969108828501FB12708633C12DE2F61267E340BE31B64175A3772 0045620AE94205FB3A660480216D23DA3348820054AC05349400A561267B0DDB 016339CD04B200F21F9F277B22E848127835BE4822841188007929043B00480E F72C6C267A1B3DBE32AE12DD65003CF001A236830D5BB30466A50382106A26A1 3411702751FE00CD04630D6C0244EB1A3EE1791B603883206C3101ED1545E104 B301366C27792486277900319E1FCC4603DB78108040CD049A00AB0EEA19BD47 277900DD05AB0CF21AC72F5099275B00D53449C700405A01C415F82F19834A11 C63E04F5015A1F952285125D1A920E4900D210943102CB500E6C07F5015037F1 0B43BA1A73B35A01A504C206DB0B7104415A3A1FB42278305A1249FA0027E02C 0CCE23B22BF60042BF25AE14772D4A8622F329981433AC690830B500D606AE04 CB64235A9F1A772560980CA104C8079F0D5AE2013E602298330154FB0027752B 801E6A0092027112A43F268E1F50318601792603BC0C931A84270B78A80E8627 640877BF00E42B5B14874531C84206FC0047E44D266CC16022720553AD3E00A6 27811F5CCB1968269850E9074926861F5736932F5321E9159C01870B5D04C509 D6013895451279493363007B1F5795047A014408A3113EB1007A08D15A00279E 41166D275A27781241AF022D860DF53E1CE3224E366520CD391277B30DEC0641 BC1A316CAE0CF60649D639503AFE4B01C655036CCB1349B012E048186C25AD01 E9632C1BEC3A05A44E1F573C0D9E01D8501B98127F33509C187701B604380AAB 2FE21A64237F1ADB00B42F047901D43301229413D10D3FED106001A579006C23 FE2748DF4B278022A66B1A61AD009D07EB500ED2093CF01F5ADB6A26ED055A40 1CA0480F76DB015DF704AA0CEF00BA280C6CD6004057057C015BB400F05001A5 6B34007C1F608E0A689D13503F2095255A10B5055E0C833012EA390079063692 007738F04912793E04BD53016CD53F01E104AB6A207B3700B3096900D10B3DBE 0D427E40EC501F84009B09FA049E39540D763EBC4A108563AD376C014DB0009E 1AC80D4939BB4E0EA800770D8D006F3307E5043DF5216D18359227771A4C8E0C 48008D19A722D76C042FB41F3E92112C861F7B35651A79FE3B1968AE1FCC27AD 30128540117F2904F74827C5003BD82600E604C16001CA05791F9023D21AB16C 095AB222F95E1D3FC1045A00C44F1F9D36138F2656129F25851D40FB07499126 EF2FA4278A21662ED306276A01C612502D6C46325F14962AEF15591FA72A054C 00DE308B2278266B4127F21262048617611FC028F612BB50247D0D4C8601AE5A 04A500BF0532C61EB53360017E103BFC6301850A4CCB4805C44513A14F005408 BE3F0F7100660844CF0532AC1FD54A0D95125086154CA648276C3D1B8C32A729 E70068347A00279D3510842800D0640D811A9B4005DD0E61FD0AB2007431500A C9005F27CB1278016C0D6005EB0092125AB11B912767B804D60CBD01E10A6900 A008E30041FA2785175708FD043BE20086049F1CD33044E33C0194053F5B019E 27C21C3BCB4012E62F6B22986001804B04E4502695005020BE26EB270183345B 00DF0638D126994B01E929A51FFA6C185FDD006A08842F58DA042EF204377809 B300EE0A7C006C1251C01440F15001D84804BB78122D9F26D83012942586002F 791F3EF50DBC65277E179704611FB127DB1A8634521EF431006F07F8003F5A1E 8523794934AE26497B2660980CC00641B9651AA95F12B1502B6A365A008F06A5 52206CAF1AD70F6200910A5A0085269E0FE03E20F92B1182350DBC27C815790B 500069B112E71F80265A9C0E840434AA227E0B853D01B8471F7A279E1AC1003E A1661F9212D7532482275A1FDD269E36089604620EAA1A9333520841E9054901 6AF7005A38C15001CF5B047D4101F008B94134E750088400AE4601A576047B41 D950227B14973A01AF28008A05D83101B70D356B542F9A0027852D05913D09CD 01E80CB41A3A6B13D43100842C41E15022F327B61A6C044162007A085ACF1AAD 6601740640DE34AB791A405600A410BB31026C21F173125000DA4B0D93340196 0CFC02532788125505BE00693C01970D44B84F074101F5492BD91F8B267800F6 22AC6C1658BC791F5033D3086812994422AD2D12954B355A00820D2DC049376C 20DF133C26B911380CA527CF04EE61125AF81F521291501D78D9021FEE1250D1 0D50D84B1584227413822853F900790A48EE500886032F9E01790549FC39B40D C914AC380086243FF01FB1570071052EF90D982F613E0179E114A72F013DC06A 2F14C42661E72E50216AD00B39EB237E2640AB18F82ED301791473BB5D0D8300 6C4404E13A4E0E82022FAE003B09A5048C158426EA3406840050D83D16AF1FD6 26A55B0123F6049B0A4BC960016CB66001850E792640CA390D6CC23A04F43D00 279F7D013E860346960027EB00AC2FBE4101982440BE279E1237C322AE6C1267 31D0115801702749852575450BDB044B890E2F9E23C649046C26D308F36A1F50 3F005FCE8106269D5A0079094F04A8720041A25000AD10E55A0C78227F1A6426 FA004A1B9E22C812B42F5F06BE681FDC5A1F71F15E27CB1F5103A6005AB71BE4 0F6901850573096A0039CD790F3F5A3085002EFD234818E932571FB2006F05A0 40009563146FC85A123449C71939F612407E21794905610DDB4F0F8605650149 79006A0C3AEB25A51E86279D1BD83504EB01BC551FA0310069F20861128037BC 0178225012B205C57D1A491259EB0438F41DB022CE3A17E3270679334977013E CC00B3044BC7460E9227D1035033690085129B3100963701C70B390D98013FE5 6A277D0E3876278E24C027E92FAA14FE77122769BB00E511A941088200944D08 C53E0B8817DB501EE82240BA084504E40A9104A86C2460B501C50834F81E7B26 04CC502BE734B31EFC27C956007F085A00C20C4C00A5551A960E39791261D538 158B28E3009B12503A9F00882B580C26F700A334186BA50F852A770056861161 BD1AFA082BB61F6C314892105B01B52F791261B017FD3F24EB1F50D311477B26 54B56C2350AD3912BB1AF45001C805520B79006B2383330458A302297E26721F 65B413CC3E1B79006BFA2D673D04840977015830A22767B0225F3C00D0053E5A 19A46C003EB747773E1297006B0D83047B0634AD1F4EE73C2162F277122F7E27 60FD00C227057E4501AD1F6D2763E90727CE3904E87548336424D778003F5503 E0129D3004B2380186266294058612F00D38E12799216C04ED38007E0758A401 79045C29EF07A1044800DE0C600093043E630CA3185FF94132B41ADB014AD41E 40EE500B9C05DA0250345D04DF26B2194702B422C6279B2DAC10FC0086180047 F30E831B9F0DF13350129C640127ED00B51956D9274AB913438B04D32D019E77 04470A5DDE05B7012F951747A41ACB5A0C8E05CA0040A86C184EA53D1ABA0798 01410DBA26D249216C0AF65A1F7E490EC7003DDE2750019E5A007A09E615A623 884120C12C0D8C34B90C77198928F9139427851DFE2F4AD1207A27843A009A11 49900D3E98108B006612D3355A248C1AF2109F2F860D3AA05A1081005A12D624 6B1F7938D231851F9827682F6D1F8C00DF2A0BCA5B1B6C277C31088D002460DF 1A650EA76A1A3EC51FB22640641248840958EA006C223DFB345721861D5301FC 0B60018B116C27C4802E65067900BE27A73607CA00EC2F50A51A5E04A6662E14 B41F503482006609DA5A016BD642196338CA500175216B2FC1013D6C098600AD 06DF02BD2651CE032764BC055D21BE26A34A00AF3F00A5277D006C055AD10029 E21C41F33D01940AC44C125CDF095000E005B801CD0C6B2546AF3C10AD08FB01 A64938F17430019A26773606FA005085067F01C836ED21B2263D8610AA036011 B33E0AD60F7E237928DB264FE3045110FD1AAC31600D82004497236B12890940 760DC1401BD46C0463C60148D126A1123993105000F808A20024D90FA9007C0E 50CE13A4227830521F742E7A133E72EF00502FF43D047D082B8614E86B0C471D BF27F7213F9D6C0461980DA453277F3404A901223FBF5A137722792751A70486 5000782E8321600FC702530BC44111F300BC57248D1034E322A10D70006C047C 014FDB27921E8400F050279430C500AC0C9400389E1F78005A4313ED3F1FD56D 0F4DB64721CF00F6345600810840FC3B25861236790154F21EB2279C216E2744 86325A37E31E9C25644100EC450DC35F10A700E407471986209E136CD03348FB 04603A2078D750127F018911531FAD3401733007E70043F12771A06A023CAD34 EB0E9A163FFA3A1AE526D004408E3B1F93269D1F834C278740147927D244006A 287B1F9C33D31FBF2F077701E24B306604AF004812861F5D32C06B0A50B236DA 049501875C052CE4015A02972D681F9012E826AD1A5600AE07F3501FC6320479 006C0653BC04EA4E009208604006ED04B2335A05973F01F227822269B93B0ACB 058400550DAA2253B806C9016105A4386032C300EF0B49D220C26912609E0D82 16062DF9106C00564000D9096501990D7E1F5ABE00E64E08D6006405B1015F09 E201A90C5CB516F601C3450C5B3F0F924913B240089E12792060E56C053FF404 5113F12F03720F7E27B73412A241197E26F313840DAA046B2F77018C277C223F 8400AB0E894623CA2FE0123E673B1AB926CD12B65727771F8612CB50268B1A50 04A331009653277825B01F770185123E922C4F17EB480EDA0746924D27841277 0040B73B1D6C00D994501F8627CA1DB461268720C22F5B00A312376912802E5C 34E74112D5389D2F501A86043791083C591AA500F16800F7375A1F7A26DD28C2 0D3C26CC502285277D0163D01E9F24691754F9006CC306A3395F04DD2550C306 49D712BB13DD5A186D276008E5601281268F00990C87055A026C3C009E0BDA01 6A3B00E20A3EC9630EDC4A12FC0139E8113FE3501ADD006C0AA37A27018E22AA 133804B501FE26961A5704CD26B0366000A504660B7C0236AE043E7813DC344D F2059E3E01AE0E85199233561B6D00C66826F054246CAF12E527792D1B982385 04D100A50589014693007808AA00D41BB526405A08EE00C80B478F1F3B672200 B551279E0139851F3E5C0268052DBD03E01AA03704B301481AC527E2203FFB2F A717F31A642D40A918792155AD0039801D922D409C50008866042F9E27AD1FF4 340068C12F560069E3781F68305A05E0278A1278411A0DC82647D74926F46C12 50EA006C0C8D03406D19D5501BFC046B0BA600F40EAC3D12983100D80D406204 860850BC05660DAD275A346C1F5AEF15B42C561269394B058600AD37487A2284 3304B20CE046783E15791C63EB0DB000F337A545780C95306B0083402175F760 0E7903507F107201854935B500780DFB2793056C2EF7065E01AE08611AC6310C B36B017906632649D61A5009FA751B490C50C80DAE40106D00F64F01E5793280 125A01880631D11F5F27BC5427CA1FB43904862748A022C8278520405A05E702 4E7920A301CD3149CF125E34D74019760CFE11BD2E063B611AFA36B014E6611A E1118B022FB001D85A14850027CC0EFE00C80A317927861F6D2700F7501F7B12 F926D1530A4B00B74935CE00AE22D839047B124CC44801A312D626871F4EC746 23DA27A4055AD9183BF91255C40E9804AC27793E04BA26A20037830163CA22A2 4614962308B201FE27A81F5AA10D9305854101960A5E00974A0DB0003D7A016C 0761CE2695223BD014872D791F9600379D037D0056E901A02586004779D1009E 047901830B339627771FD75C1A6D2640EA315094036134862745BA005A06CC0E B65C123FC900A541057813A527943012851F6C27630B54C022EA075A1C773262 00480CB3036B0C8C007A12762640850D4A9126006E31415F00D01488287D1ADD 571EEC3D0B7B3205AE29526420791A920DE23B005023CE2F15FD223BDF3F17F4 3056DA1D4FEA15B63E0D770063A5084700FB054C12ED5A1AF922A01B33802760 1369E10A406D2F591FC62650BB045A06A6470EFD099600780DBB193C9D065A01 9A5023E14D277D0435910165295617C0326902D7085EEF01A90AE6129E31008C 2A9F26DF04BC1F82E9601A9733ED2A5C36F501AD0053A7043AE343B205EC119E 2F5A01EF076C2F039E4B0087195ED44001F100C72E6700466C1679F03D006CA9 064B79128663017B26089600288E4901FE19C0421D6CBA5A2660BE6B2706902F 500EB94309CB02B53D1E9222BA0DE740079A007627F74025009E2A521FBF2266 0549F11FB812D73F0492380D971956D926AE0FE8049B4700F33E208616397626 5A347704F5431569017F1286276C094101D24A007310C01A448622EE1F3FCC1A 600D2A871F6E400DA53D239512C6791627AF32E100550E863A9B410EDB39B604 C43F0465A1125335B600C4062EA21FCF4934BF690532A4277F3309ED014A0E92 0A450079B84800C86C0162961F79490EA5015A036413884D2FEE1250017DC278 3901A86C043ED5307F00774A35691EFA1266B101EE40007F1A3D6C345B1B850D 51B40048A306C700B525871F5DB20DD3345700F614AD227A3B21B81F49049507 6B3B0B8D004F9D01C86C004CC201DF1868BB005D40085AF7126A26A41FBA5013 5306864C1974275A12B41B45E4017F1A6A2559E60E5200880A5610E05A127002 A05A278225DA29AF1CDC263E0D831540E13B05F03100D94F35F52CA13C01CC12 6037AE6B11340A68D33E12ED58019110C52C0896007927840050326B1CA00A5E CE07B300DF279E226433E01E692F81124700CC063C6E441AB438498C0151C60D 74057CE15A26D816BB5027D5142E783519F62363344992014F34E722A6370093 0477087E2F04DE1BC13004A00CF9008D267D0C319E27EF0D843D016CBC3B23F0 1B783E00B822D93900C60B9F03720686500470E623AD045A257F1B5C9D24078D 12791ADA49279300800427CD4EE81450078E4622A4276B1B5BEA27C913B31ADA 26BF04762FFC401F772780135001CE0978019E0DFA045BE36C27921FEF00930B 790529E4300457FA3450012F9F003F6201790665E9128645089A0C860627FC1F 86057201D54A20BF2CFB124D9640790161EB402D694834D600BD50116E004ED6 1AB241146CA40446C620942D60057949186A305020F63411CC38016A299419D5 00B70B386CB5276705AD00830950C41FEA5A083B009D26B930008509F700AD39 01790B502F60057F114DCC0E5300AF04F00C3DAA6C1F44BA4927792695204E09 BB035A0F6A26DE1FBE5B126CB127129422AB670E70B012FD27B33804A500BF5A 27D01BB86B12520EBF2D9E13853D0B86013ECB002712A32251008509AB055A38 5F04DA218D3402792D07F60150318501670DF818920DAE36F100BD7901427D1F 55B212F70B84326C2750FA044100E63F216626FB330F8743157AAC601D780363 D9125A386F0E48922557E3009E3E1FA73902941484256A2B5AC3042FFE0F5705 E800500BAD1485223EA42FC33D018234009D4400844100DB0B38EB203A500986 0F56942277330482013E500079CB38600C446C04E4652258A5195FEF8B09D21A B324E21A9D21F41D9628AA07C75C0FA163228012D51A3DAA4E036C26E11F8712 643D0D60A9009D0A307C225001A20D8A007726CD521B6CC60C9D01A540022DC1 013805C72DF41F5234B11ABF29DC05B701357412F45A00E46022BD36D3118600 428747008D247D1660C7412DD40149F2007F08599E1169CF270CF01AC2661B85 55009204D0781FCB0040F50A49DB1F61F822A82B049000F31BB8275000C43805 792144366C279304502F79016B0D730162127A4423ED3600C527AB005AE70629 CC319D006004459E1FE2321AEC275DDD0063D03F1FED27C3123D7B0EA104387D 276B1F6FDD651B6CFA4A16860D77019904500C7E1D6D1264A409854226860C31 79015A06A620E62708D66913C52C983A0486006435AE12601FD12540FE3C0450 A732580227A2042DB41D6A4001622C7F1D5A27950EA13604780947E21F6C305A 00970F7E1A69F211B503E600770E61C40149CA27B032CF27FA38009705864712 77268C3412865C00781250B829D1056C01498407760140A33B14AB4B04600A4A AA01642DD74F00E90BBA054D00B4270C853F00B528D01F3EF067049D33FD4020 C53101D11A43B81EF22771346105A3541B389A016C08D9274CEC1A7D0552983F 04A500630D8D1A710ED7794935F46C073EE026AA23E311B405C800792654AE15 D666113EAD0DD73549ED269F013286265A47A826F534127F390A88007B088504 50BB135A1BCE5003FD0569BD401FA726F1340E82163EAE2CC812B122C4105705 790075369A2FDB1F50F3115A23951F603097228512469E01D451269306498300 3ACA46005A087A0050AB0D9E6800800A9400DB177E3412BD5A0DF027A11FAE12 409F0DD93B01F76C14791FB42CEB01462608BD005012CA5A15770D84003E6C2F 653F1AE80030834100BA5B01751A8303405C0CCF4B00C70D3108940043A31FFC 5522E71A4E22A51F6931DD3E0C9D3B1A990E5001E0096B04864A00FD62097D00 5A38851A7727FC29C212E20669009D08328200C20750D21249F3085BE01F3A65 1A7F123FE222AF12581AA526BB27E61F62385015DD35561FAE279E01F678002F 851A4F036A0092055A30771BA90D274DE2470077225DB77F401390219A3200B1 04F9334EA208F001AE5A0D6FC90527983416F826A50ACA14B239531F7A2782DD 671258D006870035770E5AC14001E50A8601714900B95227EB26792140B93C1A C8375122D42650F80449E000A60D7F1A864927BE3F226CB81691277735048600 36912F0079B305EF00BE60016C087926E81187046A0D9A05F803864812C44004 790D50402267DD0160B937E25026FD22BC00683348B9125A26CF129B054C00FC 6127D101468622405A1AC3125D1F811239B5401F53EC024A93057C2F61246C00 9204E009AD011E40BD3C2173275FBB04AC2E006C9E265B27A910F32F61048500 930CA36200599901730C99018E0D2A9E12348C1F4A01AF340085175AEC013E58 04FE1AA94728C15817AB400D552B6C344F0D8827D92D9D01612F41D750237727 AE30017C0863F9265ECD02B50E3D972606870B2F7E01700F50E0067B00850893 036034DF12783C04860D5BEE1268C6009E013B932847DD0469018D0B6D23D327 5010E300B634FD1263266E375FB2006B0C9F01DE1141831465F03D0D7900D21F 8324791ADB205B34CD3E1BF62F12DF27BF1E5E35B16C0065B5045AD86A2456F6 0EA504317D1FD3420D8600E20C7804D3016BE9199612A125F91AA100811F50C8 0BA70132C700860759E822A23301951A3A6E1991044AF4411D54B312CA27A536 169627EC2FC21F3DAE1A5A30C616AD2E751F3C99072A7C2663D706B90050921D F427C0123C7900B45A27861A7920842FA10FF8042B8727EC1C5136980229D505 4F18C73492157505C500A4093FC0065601780A7E46077C0050E5054024E93F25 840F4605CB0A396C2146C70FA400973860264BA01E5026891F503D00DD075A02 68384F0DF50436791F5B9D124A21CF193A6C00D24510B205EC5227CB33006ED3 00633E0984005CBE01730C790150F509770092266600E609BE004FD9490DE81A 467718840E3EAC07610049A60D693E01C40A5006AE02D7005A1777D706490078 BC1547F2512086247A006008FA2F543A63314A7C1C9027DC2A9F22AE5A22922F 1378C508580DC819EF2C7C1F73B305DC60006C26791FD909B32F0169F63C08C5 01B8772340C731B105D561226CB300F73E056BEE700C60A91285248E4B2A653F 007A126BAF10319520F54A1BE5203F6522AC1D3AA2218527D54A04A2511F9626 823304A03C04850032FE27CF22592F8638DB1B50FB137A1F40ED6C276A237C34 9D22106CC45C2E0590006C08B301C22FE025A44901B40DE802B70DEF006A0F86 00D50434F105BA69024686279A013E7700B5500027943415B22EF8115A018519 6CCB4012935B227F300A6AA60084217A132F980F3F268517BE42012797012DFE 055009E300C20DA51E9C042750C0087901873C049E09F15200D867044901A90B 37EE0D347901680EF76C1761B327CB5A057A019F00EE0CA50688032F9505A162 2600CB0DAA08E60161AE254612FB4026CB1F9C355A1288046C0E3987266D1F86 22782746B84926771BA364123F521FF23200D3215ABB0C673C12F25E01794308 830449BE4427EB0D3906BC0034DB0F4AFE1E3E5F12EF0149C3004ADF5A0C732F 0EA14936C34F1D6CCC3B1A83226B30D93848E900664113B026C5552782123092 411579C95A19429B1F50C117D62BAA2700C33F12781D40B11354366B1F792777 22C65A24D93201BB49395D31541D862F009504850AA5550E3E670DF6501FB027 EB6006D000AE355001C7095A01FC0C5A4000759E00840C5FA51284045034DF04 A24724BF0DE75B27952267127F005AAF6F2762A3044187009E04D3285738851A 3EA00530B500E2621BD8005C0D88300075A40450F9015A0D86159E1BDE345A00 750DDA0046C42606FD3C0D28E96C0580005F4008900244864E09F1019D0D6133 E909B95012E000603F0084094F78119704F500C3400BF0791FE14C31640179E5 00A42700840C7900229A125D4112F8611A8314984F37C01FE92F1AD027B21638 6C28FD1C92207B2F03881A9D3B00CF0BAB00E01F9E264801E312522FAE15502C 6C0D8604A908EC6B12638A1A79390486259127E702B75A1F40BC3D1B7B22B305 5F2F6E048611FA306C2850A50458865000B56A002FCE27B212FA6C2351E8391F 9524682FE100861A7A41049B4934B512E91FAD26E43F1F77278312A450270860 3C00B822D31F50327841BD33D93847C44C33DE049E0838B326E332058101790A AC48086A014AE3009F0D6600AC1252CF0C416426901F5A366B335004FA0E7A1A 9800EF0961E11BB8401FDE26792A00CD3501FB2250BD0C4F12AC19674011F108 5F00A30AD14928F501BC52259D490AB403791140D212279735129F4903620C87 3C01BB0B6105D30153BD04436C24C5002FD42701860B6A367F016C0D56D10CB8 053D6901CC41A8198F116C049F08C726026C075A03A52700861B6C294A8B0466 0049B025DA276C128B39FA3F8D1F712749D74726EE005E35FB01BC063FF102C5 09B56C1B4CBC46276E268337017F065A9F00500CB54F22AE5A1094006034F16C 013C9F0584277926DC27923400850E6C3E07CF0037851F3EF42494013FE40450 DC267920F136571D9426781AA42781361A8612A55112945F0769F81D51CC0449 F519B200346E2059E1167F1A7104D82749F3472781144EFB1FB22A79186DF30D 42BF00E6113DCF297C1A64109301E04F006D2604C30AB60158057532861F8019 79124F8212792085263B97006005CE0CAC02CD4912F23B136CCA335E0394063A 7827D3189E0426CB5A23DD14BC019F0C78045AAE1A3AA01F881250E405C66000 552CB567228A0B5E01BB4007A600DA0640E33E006D0EF94A07D23B02FC3F21B4 1338A900299A152F7C24609E0192370049BC37FE510D7E01600CB6013B950D3E 6012E9500C582F96137C2051A3069A0BF400B62F603D1BBF12A550307A158722 C60EA909C900AF2C47D500B32F5701E80B4FD42077327B1F6922A7306401BC3F 018D11F51D57E201A5096B294989410779007D365630611AFD1240DF5300ED4B 2F77217D2D1278DB064F0D771AC731700E9D69277621A154126AC422AB008F2F 6020974F01780C8C5A2481450FD95504D43A12FA26B478105A011A329F21C91F 92285BDB0068D204880035B401D2056630AA016C275B35436C3F07C804793465 06D70141F230691A802777243F6B12931D3A7404D03E1CA42A063DEC004AF80A 86007423924D1CE4266C277B3412822750ED0DB7002EF71BAF490BEC04C45024 8E016A0DAD4202C00B9D0147B20C38871FF300A84915FA3E2302D612862F00B1 04317C136227B800E50B33C327DF4604F008BF740034861FAE520A6C042FEC26 9A5EC200502F6C00EA0945871D3AA71A409920812453EE0B41D012FA00C01EA3 14855029F0169E274A94115A00DC5001EA0450D908E40150F418600D9A64006D B75A1986123F5A34DD15C5052E980E8404A400D04808BC0036821C51980B673D 21951F6C3E007A2FC726891A359426621CD96A225AA2006A2783390880005AC3 49345C05EC6C235AF50A51DB04406C124990057E002FA31B5E3C1F66A6077900 31851FCF5A0079083D126AE706B156277C1230AF014977DA076712B93700941A 5A3147730D5704EC400E97005D0AE70034C5279E123799218F1464275A319605 42A8295022FC124C019E26C300B504439D0D48FB006338D814771A863E1F76C5 0541DA224FC202D90050B116D40D9E085D04D36609F001A74000FE0432CE11BC 0554D526A42F098500AE39500DCA3500972647851BA431CD1A6614BB7701409C 01E10B40E91248EF01A1451BB223D403AD4114843E129C04CE520CF42701532D FE4F048C4623BC008F049E27D5346001CD224DBB421F866305790845B30D602F AE04C000B40D3B7F00E204AF0A952FDA126C29792790225A37781953C007435E 2AB201FD5015593086017A063285267738048627701F3FF93350127E2779340F 92184575267B1C9833017812E2661EF52492017A1B864319B90C36F4017E0451 ED3750115AD12379279322602E9717683D0E9005416C943000BB4D01F7223F6C 2384166BC50E9F0034791DD860126D27E419680086239D2786116C03B14721F9 1BC36B0050FD00426C35762750D322861F794738691D488104E60C6108F000D1 03863312A622EC045527680DA300E60EAC17FA540DBD12F25A0FE501B9500080 26AB00C60550D4275DB908EF015927EA601F900038970E5115DC27AB03D25B04 6C9E124A22B32C00871FF93406AE0D5800B305C90150BE04E54F33DC1E0CF179 1C2A910B52A500E105AE4026791F5BC70FA6013EF705A7093BB53E12DE084800 FC1A79390D9A015A3F26D81F3D790ED00BF71A9F005410BE3005D600AD0539A5 2040CD50127B26A91FE148016A119839C203CE267B1F6027467800A12F820125 A645346818A310E71C5C3146860779013485133FAC004710C22750CF0441C66B 076310793E1FE52E0067DA6E0A60A10D740295651D3AFD41146C258D371A8627 0985005527500766D51A3DC81239622F5A009604D540016C2A84144A7E1F5985 0D79501C75BE612652D000DF4F31900477079302BE275A46016A123AEE70014E 96278516F56400549C01339427610679009E2FD2345A006E304A91043FB304C9 263F631A49B83D76009805D0287801409F0DF716AF20E85022C7630D6DB63C01 840C5B3283002EB422FD4900970F50C23D0627C71639D426B92700C772047F34 DB4A07F95F006CAE2062C48A21B53502709E004B9C1BBA12EE193D65269D1FE8 27AE0134CB0045F601C43A044A0BAE043C653F15B422E51EB8336012861BA433 BA4879064126EA1260246D350DC92F116CB31BE712BF39590E6D05A50DF4219D 073CF069133B6C10D104E505790929C9204912862250C104822575003D690098 0430DD28046BF81FB326EF1C9E40017F370BBD2786015A148F44018548005F08 4A88451251BC01601F9C122BCD3910F437040E6C0049E30D4627FB0475017E33 50A10DF0065300770CDB5E2695132F942166EE1F7A2C781297097E01660C7C49 16EC4000DC07842601CA2DB2630BA500DC07B55A1F74FE3E04670080491AF826 B85025811A6012D92253007FE00199482B6C2741F253136CF76000DA08643D12 A52953C80DB51A488416599B133F5A057E00750AE2501EA360146C30EF22AE00 F7571FE52FAD39EF0B2CE0223F770FB900487915509A0048A750FD27861339BC 61128625DF4708CD007B133ABC622186410E7904AE5A057F00439101E222C326 F328CE27AC38008805A054236C12E8590D7700368D1F79339440008604500DD5 25AD350299086A3D00E60440BB50018411A5471D395A09A700C40C6001B30437 1AAD2F9D1ADE5801E5117B275A36FB00A00836CC00A54212BE462B7905C90032 E601A20877276C340CA4047B116C1B5AAD009A0DEE395632E103A5086726D31A 33047809A168002DAD0A3E5E1C8C22AD2F50964004CB3100A219E8371AD827B0 1235A90D82047600590785015AD1266C1F3DC4049B3F19AB22FA4904C646035A 10E126C11A8E2E6E1550CC284192127927966B002DAF26C7340B72B912EE2088 349B1F862640924D0C7B23750036971F4E00D805911F7925E64F208A22E93460 1AAA12542496461A79258712C819B160226C26D6009E06357B1F640083058625 7F1FEB3077019B65B61BCB223EEA6E1F59D100B404664109D70027801B52F238 60264CA50F5308E35A1850399F1340B83A1FF82C0DA809F10079325D00812769 137D275A1BF027A0184E356B00A806F40C6800DD05C81EB5133BF3790A490378 FA003F6C014564124FD40A6AE500C53B01FC13AE61096BB2412F6C12AE013B6C 04790A65019206DB0039F96C0C5AB304CD375000830540D001932B7D23CE5004 D82FA927C70DB4005B4005BF5312003F5A018F045207BE013A6B432CF61F911A 6AFB0E9E086901B7067000409E772D0171F80027D4690D794F12944E34882963 15F726C10ADA01B408D201830B770168B301ED401F7F279A1F854A27673F0086 08501660E36A1A2E8E1FA330BC07FE002F951A3D5B0F87522784062EF2270B8B 04EE4A2752C412B229DA30B01F4826699E3E03D6133C684106E05D26FC1E793D 0FF2043E5B1F86266C127919652D45D5229E1235E68726DF3046D01F93287812 E70C86005805B733034B26CF1F771245CD2FFE250561BD203EA55B1A3CEC01A2 3E00E204410EB54001831C5434921F513A9E31B921D9311283225FBE015904C1 3C0EA301EB5327D526A301470CB95A0DD70451267C22844101DA06A62547CE04 40BD510272CA1B3B6600D60A604000830D710458C17712501F84267700F32090 17359A005708BE501B6AB400FB09B302EA0150F7049E0A6C004A7D1F0C6C0580 106C3B0DF1269E22AF4F27C772264779B05F0050DE34A20A790250D03F0E7E02 5008940449881ACB60256BC870045A9E0C40A7125B38E00F660045600D924A05 C8094D38DF316001F9502E780BAA046D1CD0279E360180275EEB0049CD04B55A 217927EF0031951F6C129D3F005AB70E861F9625F1551F9E27FC134B01EC05CC 00A92A950D5D01C16B123EE02A5A00A54212841A61384C2495341B7B213DB12F F504A2C522A81FF600B45000820777013198113B01D91B3B12942B0484186327 92126900902FDE12CD23B32D0F6D3108B700491BE3223BD46B00ED05AE008622 F21AA43D00F83E267912860D7A178C441BC312601F852F92067C0050CB1A9B10 369E0D386C1533A300671281500CF700D14B24E021792C44BF017F0831CC015A 0692277B2286325212E92346B5492704B36F0D8621833106C94930A00DD25A12 C14900DF521284175C2E4776015734651A984117CA354ADF035AF082500073F8 0BBA5927F100C31AB327F11EAD266A336D015AD90081451F9A278511AE005024 792A7F16612FAD0A6C04C55C1F6CAC00E826AE00D3340996013ADB4000FC144A 23EF1F664100C16B1963AC0AF54712D726AF05C73444613A16A40F5001FA065B 3D1FB46C123AA7401AC60DB24218A0670483007609F7551F43AA03CC11E96626 00E2056C3F00770486366007C9013ED80013EE3CAE06C64C04DB2F6C0486147B 1F490D27BD42207C390086107A335101860A500483008A0DF52241AA12FC5A0C EA01512F8F1AA312BE2650FE0456368F2A50119E01513C1A772B6C2051B9274B 8604AF570D6CBC5B099505E1335001DC2E007226875508732D7A199701900A81 0065AA3E189412DE690447F66F0ED95B003E6200DE0734BA1DD94E2F800ED500 3277276C0138AD7615509C22AA27E60DB41A98264F87219D4161102D87270E8C 265712FD23AA08C001AC6C3004A00160E01DB6470CE461223DCA5C1FE927A617 85042F9404347B2666D00648F803550795013F7911D000E5077926DE12BB630B FD03A0077800F112653D219E32003CB32F771286207E245AC71CB30036A01FEB 015028E31FBA27EA29056DB626820035A42700449705267EF21F9C27874A0A61 3D12C8014A2566EE0D9C1A94510A27BB3401F4088A1D792777003BFB046C0BB5 04D86F0060F34001A379005E4336672E5207E45A14C82E09792601973E04D86C 1241960878016036C6642050C000B20A3686122F65DA3D21CC1CB85023751F40 BD3A0481460091235635E21A416030A30CD0015ADF0F790146B704F90C9E043C 810D59E1026C0D5EB4066A3D036C1E46D63A004B1BC4570C77BF152D69B93904 500C6C02F82FA70179225DB77A143E5300D3401FF25B046C961269315501ED11 BC6A1E49CD3878274F1ACE0C5112C4471D3CB50EE900CF229D1238862350AF34 4BF5531F7E3007A7002FBF4839D6065000DE0A6C3C13974A00B9762700864D09 6C002C860CA365005A9A1D2FEB143E9512662AB204C6006C2A79173F6A1DE718 5838613143F01247CF3F149926C5341C8B12D6499E0187530C79EC620527E630 0460E400501179B43BCA40126D1FE62A920D4101C105A6365A05AF003AC81A2B 50D200BE47305B400EAE08580015A40185219A27793701E26C05772687168400 60B201EC0567009A3D0EBF009F491AFD74260D8F1F9D2777298F1AF5591FE131 520CD14112E834AC46F601CA3413F2270ECF6C0560CF00B4057D0E75278C1FF3 26AD04C551278300A408BF004F93056001852C780051F3004160083BFD391ABC 2F103FAF6D1750853E1F9027D4215627015FA4008508A500F41A6E278720FE13 7E2369A10748E2133C62189F05D7017C279026E1622FFA346A00DE06B0630D27 CD1AA5045033F83F1A7A12771FDC27058B2D6912C73657014FE4005A10EF1BAE 01603E0585019E238A04A660017E2705663C1A854906AA500037B11F447A224B D64824E7115001860D7E41019E0DD8226D277A1A2AE326AF22F712AD1A762FC4 1FAF24690F970050CE0150099B01CD08AD0B6B019D05FE79153AE03150177927 4CDD470C69019E29D90D51327900810492420C69239D1AF3016C0D98075404BC 50259119309349005A2979D90D7405D42846C149126CD14201ED50007C22AD1C 6734B54003810D50C912A9267811EE18683B1E990D59D912B56900D73073189E 5A0C860231F3015F099A003DBB6022E23812FE26772E8D12E906B45A006D0C7A 043C674504A50B7F008605D047277B1A8722EF336427782240EA4F13781B40BD 045A0DC46221AD045A00CF30780E60008816F820AE27C41FFC33B03F12782D4A C23A43C712A53E0A7C015AF813B237F3124000521FA42592005B07B2005214A5 1E389C14E1099204781286492EDD3F256F00D9395E0147C300FB27C0203F6E04 27960F5701FB4120E627BA59119227C51F528F05308100589F1B4700C4045035 86123FAA2FCA1F5AB905D2285A374BEF163D6004F50DA5276B00A70EFB00BD5F 0331C427A2004D8E227C3800D9127D229319AD26E634B3254101920A5A0D7900 6E0356E300AC075A001F6D295C1AE72EC83F007E0485096AAD32C665015017FA 2795308423790860B7046C2E5A26C922F800BA097100941E8B4908B033792582 125B0486009E41F14724BC7927048401750839A52279013FFB1548D91DAF330B 6CB45A1F69BC014CD50479094994004185127901DC0D2E6CAF227F345A01DC14 7928811B5A3D0D9F6C00620EDA2F0AF001B1502D9D07EA3350018204740858C2 6B2746E94B26B227D209366C1F8023EA9501D9049D4912681EB82F5A20C14704 89270C79B93D047F0DE71AC827F6300F51D000A23F018427791F6032B312FE28 12861BE504AE0B41933C14E42E0A60008A400D50C432A519DB6800E60D4F8304 39A60F7A0565D1014A0DF5310E81233B6621FC1334E00E33EB23922666B60443 00C1129639499E0BD1044CB320DC1938F426931AAD48346A1288053F624412C5 671FA027DD124C02D10560018510781A43B50DDA27A40E38501F7F3700AF0878 440CDC3D002DE61E5AF13A1069AA204D0160069401468A223E650EF0500CBC05 50EC0443620150C9006A2C591F6EE901CA5A236CA814C62E02E11B6C125A3650 1286482EBC18CC6A005027EE3F1383269502409B1AF101B64600A560206CA100 5108C8005028E178275006C8043260238734006C068656056F017D257604CE27 49FB11B400860638F50F5E00982F7912A41FC22FF101A66126840455006714BE 600DF16C2350EA00A01A6CB4600A7F005004CF44006CC539AF491667C000E405 9B335D1977228638139F21D2309A44359E05D43E0027793107B10036791F52A3 389800F805B200C7330496065C3B1F77C3025A08A22ADE1660D30052346C1887 315401C2075027AB5E1F7D1296083D0EE96C1F66F800AE0EEB8026C64211B628 D13906E3541F9E003976276C1F9F5A0149B6451EF02289326C145A226E3900F6 193FC633FE82002E860433BD023B68248B054A15CE279E26843014E22650126F 24EB340C80276E1FCC00AE30DA00C25801790D6D2604F21A50127FB94C17A066 1C51CE08EE047712612749811F6F2561F012418B00F70A359D27C82278008642 206CB30DCF3E05DF108E267F14F43E129E32F9225AB470002FAC124585266D3A 0C760134981F78125A9F3D00850F61BB01D10BF14126C6226C0986005A04E600 8A06990DCA480BA25F117505254ADE18AD5912871AD13E12FC279201780EDE1B A55F098505F600910479411CA611850B3D6C044A7C0E34E326AC00C55A0D6CB5 3A045A0DDC013EFA037B27416029DA01B7083AE10B9E015035D721A326447A12 84015012BA2F05A40A277A005A9E1F6C29E8009D4901D6096C0085024920C641 017F3808D70153BB1BE26100F00AAE004519BF27E9301A84267A35008C058112 CE284BB94726A536D927631F853750019D21B8409F0B634000F8267A04B04F01 A81F5034AF0579003FBC32A31A5C2FB712DC4E02FC2D4DE6129E1B3FB56B1562 2D84183AA3270076F922922984226C4611B400C309487F22945A137D27CF1F87 0C6C0452B500E51F60F33E0468FB3648E914AE2F0D50BC0441623B1A79278A1B BD34DB129E055DF417BC5A1F962A0492482186263F6B27F7650C790446A60E5A 03B8651DD7345C019C0C690D7B0B7701AD04E500B31BEA27840E6C013CCB1F97 2FA611602686390B69EC135D3949FE126C015439D218593D00AE345E00930661 24F901500A9801F6095FDF0153D81F503F00AE0BCB059D2F4E7E21871233EB00 2FA50059076C01AD2DE01B672941950C3471A01A57008E07642575F9003C7812 CC22C10DB1043F60064C7B26851A3292012E7910F05F3000B40850D102920836 A22451C50040E02F500C984817F93D20E027C62AFD2154127C2F6C2779084F01 D21AF05204790C680150EE0040DC772F049D00CA0D2F8726E41F790181089F6B 218213C34127CB3C12A228D8237B1F92381299340C8E02CE6B1E5032631AE10C 3EFD01B2650C42CF1A49F539BE4825740E9305CD014DB800470DCD23B31F50D7 014426921AA555058501662E4FFD1FA22A00ED0EB2470D50E200A54016CC6F12 3A9E135A2CBA5000D80B5E348513A420EA380086069250007E05650046C54923 9F05CD1266C034557F3112B227E127C41A44951F5512B84120762766B4005707 9E0FBD22F1310BD405A4501A79018A5A057F00AD374C03C356086CAF1A622606 79F100B54000A71B5A35501F76AD0E862667175510FD00B13154208A2F1979E9 3A0484277803387CBD094DDC0230F74B36E11079006C12D35035620074CF1F69 355A0683043EFE6C0148E2046C1F7F2F8A1BF6076B00780455BF2C5012AD3F1F 9E3486135C09F4175038860026920521A660006F067B0F9D3507BE0394005AD7 0985055027D037652D4660008B49276A3A00E00EB74626F01F405A06E7691B2F EF27003DEA45AF3D137610895E278500BE07D2033C5C01C508A2007A1B854909 ED6C12DC600727964C14E311C1590527861534986B091F9F0048AD3ACB3E0A9C 05C1274004A308B620D6279C25521AC5227B3C14EC109E017926AB28D3239E12 6C1ADB6104EF5A0FE303A72C810060D80148F94B15DF76083AFC22A3346B00E1 502F6C25F51A47A623EE179B02AB0CF801994012B804ED127726953300840C69 C51A7A3000B675045CC079220A8001BC21EC2B06D90D6D276B278622EF3F1F88 2FDA27BB3515843704A0003EC75201C63D00833218ED6200D15E0026AE5B2782 1B6926019048276C187EE725793E128E004A0DBB00A30C6200B684014826DC15 50018E0A5030FC05A40027853201B2276B1FDB26AF340C9529109E3F0026C458 0D6801D423901F8613CF3D0B82013490003B6C401F7F27711FDB2A507B1F47B3 4B0464D61FA73500950DA45D12409E124A0451C8275B34520150A0349219F410 A4006905AA56046E0C6A015BD300B550277E216B128626AA541FA36C0C479F2B 0F78E73E04CE0CEB04B66111F200D853043D5A00FB50276BEE611F3F5A33F327 50236CAE590465C93C1764B4005E374677BD0A49971A82069301771A79411DB9 69045AB28502298D2F85124609B200490561AA28C7511F63BA0DE75A00C709A5 0586003CC6015D0DF4173F5604EC4F27DD1F46FD0027D5249D166800DC0EAE7A 12650141B0048C36DF1B792640E71E99279E124327621AF60DB100F8400E7608 FC0142B4270640C21B491294226F2F58401F8427793712A01EBD2F6001CA0947 017BDE0596097902D605370EBC410071E64012921BC4260E522FD3125B38C934 560DC301ED5E0038D7270C3549ED00C92558F563276CE9792050007805DF1146 80043C99125634681AFA0F509427792285019D295F0A82017706328650086B01 F739921A770437C526E422543861144A9C0ACA00793D00F1073E7BE402A50650 772D5A05D72F6522962D0077F17A013AA76C0050B301DB08C301B3085AC7006C 07951F832B771CB93012771F40B33C1D5CFD7A291A9C1F3404CE276C017DEA04 91003FF8015011F33D2386460DAD6F196BE70692125D1AAD014905CD0D3701BF 10FA15692D920037AD19652EEE01BB53269C3306D400AD31C60F7815BF2FAF22 CA6311E23AB5357B092CA724F9480079098502D900B70C31841F5A12C14F236B C038134A238E3412C41A9F4B00BA5004D966124E0D61DC0529FE1F3E6A137731 501B86224D30F45012D90CA926900450A400C751126DA80B49006BEF084FB779 4902F14E15583E1FAE6B0D862280006CAB042F7F2705C00153BA1F3D9B500D78 29861B4F93482C6C4234AD1A53F51E4DD8019F1B6C4000840CE34A196744056E 3BE649046B128537019348006D0D48C45A046C0A862B50A51F6C2879275AFD01 3FDB2F5F0EA904510C76CD5C00E84804693F229314397A0F34C825B12F1A8246 0A9B05C735AC0DFB6300E40D9D043477237A00E80D3CF7442D6607EE00338D20 B912533186003A0EA13607B323CB64072AB627D713B8401F5ACC12F64D319E20 0064D70430E422B9013DA609DC00A0088601C40C3E8607417D0D3DB013D82862 04883EBB11FA230160269A1FF4004AAB1A29A022DD27003DE42FB118D41245F7 0DAD08C4003BA16A078601772BDB1FA401460DAC1B8536AE00F1075AE11F8849 008F04439D00BD5E2681195300603E26A829751F44AF009F325A164B792604D4 21922750CF016838A301CA124AFA6C1F61890D750037E4530079053B6008E700 7741008D09487CF7410E6CA4007F125AF81F8424601DE7224826950450B21227 CB5A047723A416BF27006D2F4B80B50DD6003E762BD00A5AF30750047FAD1579 01445F00920630941F502296134826B21AF5259C006932FB257F276C01D51178 277C3201A205EA3E136CF50F6A3C12E10041EE2CA104780A8B02D2671BE44903 BF39AD019B69108202B80C5A2FDF187B2A6626A80127D10030E01EA978113395 265A9E1991265016A32751D1122D0C27AF36156B27CF3400770440B43C0370D0 5F13D93000FA6B0031E00B9100793650EC0DA80227523E1F55C70561188B3512 79BC651F40610ECB1C9F3B23C960003AE7640570EC00397F048D14792688129F 00D80B942761209D12C95426721D5FC03B1F50D101A4275AAF066C1AD922C512 5A3C019209378111710BDC1940C234611E97228604580CE804920D3F9D18AD5B 045027055FC21AFE0047DC016AC43E06DD013CA561C7720150F2049E0862AF12 D56C0C5A9D124E008227A458223EAE791C502DFE41128C226C1F61E300AD7808 7F27A44404C16600470CED03BA50278102E86A0440B76C013ECD0E405AC12252 34BA09E9014E2E5B394F1EB30AEB0160400ED700A90C500092042F831F790E34 92278500974933F918B42C50C721F12760287C065700E44900F8123FBE277834 44D5650579411281B743F23F01790EA72D0D863A0499631D83105500461AD422 793C1F882640563A18FC012FB826EF49016D0A8D05500D63C0035D07C801AF08 CD41127B1132FB145000E52F531FD7279E223A6C00FC0C5A3E0F8B1A50128B1B 4BA52504780AD6015A401F66C704B60EF56500834838AD007F3368299427DF23 B75A09F704C95501E80E603F0786006B430F840065058D00A11BFB27A10E387D 266B9F006007BB005312E12F00F53B24007B16A12F6A226CBD4B1CFA0E32BC27 F123982CAA066600C35B01EA05BC009227794305880933C41BE51FC027F30041 A51F7E2672288235049E27C543016BBC3B109401830D6F01589A12864932A41F B427F101D226AD0B2F7BE12760377612CF79063E6C1A820433C628129223FE1A B108F30279077E41128732623F12781F50BC14DF2753BD04EB1FA5307713D937 5C01852250B209C1044839F54A1F82278B1B50974C096DC02A620BC901E8053A 00962686500079086E047B173E9F540D40AC12852A681CC00EDF611F6CA00D3F 693A017916852F104FE8490FDB015AF11A66006EA52705854C22EB27B034F61F 43D00626C2056C007A3473276800FA6000500FAF19F1500030A912E45022A356 0D6CDE045A09772C861F4921C53400E64A00A520DF2C9F003B6C01A50C3C6D2F 5705CF24AE480DBB4F12D8046C2F5834D9146C23A10FEE013BBF062CD51F5504 DD5026811F4178E20C5402D64414B537E20A6AFD1128DB2170355A15E350057D 3400CC38015A9400AE56279F06D96C057900A21D8F2148990EE12F0A40DC1FB4 3F066B007C08A501306095124EDA480DBD0A9B17854012BA1C9300800526B662 247B002FCD01388B004E2FA03F12CE0158B96A1453A23D1AC40C79018424F91F AE40237B1AD6019D400D86012F93003977279117ED01770C8603C8005C32AA6C 12429401770E9B4000920951B9311369BB3912892F610050C130004387049A00 F20AA60135A22250AC1249FD1927DB4511EA227D351AB124396A3D0BBC003978 1F5AB86300770C5AA71FDB2961136CE41A40EE01601585255A03E2350597316A 39CB2C4997400DF71AB16A1561EA22B4197805E56227810E4600FA0B6C049426 6630B40D60087C0450F0009026641FFD6B185BF41A63E008B2005A1F9727A51D 622D428F195004E85E1DB227FC341AB527F01261019C471A70AF01ED1AA92605 4A78B4126B33571F9126458600F20D602D790FB3620C3186045C00CC40015AC4 04F9572763D002860649189B27FE0137750E8D25C53805860033A022C000F52F A01F50D74701F3065E0CDE032186015D3F049A420F760855C8275000B11AEC26 9B27AB22D11252F0045A37C84F27D20D633E11AC09800027BF42038232138026 46C9490FCE0050E60AB305F80D793C00770B85044E861166017922DA3600F708 3E5A22790F8623EF012750E707B53B016DD91255328604D80097350376AB1D49 B94C126CF20D3B93400087072FA326F428C90D811B50D304AB197900964D27BC 6909552A911A790E82005A1186279D1F863353C54E34A112D72706BD31FA3D01 840D96355D0177097C01612E8A003B9D129526008819A221C94A2AE636B05007 35A820C84704F20B690479307F223E6C1F7D2640AF1FC426E14822CB0144D13A B04A07A96026871FCA4804DC4095523AC80A2D7B1B6AC73E0365B01E41A81C7F 255AD03F07F600680B9C461F86266012AD1AE9550B49008E046031B512642C47 F50B5B1CDF12532078D704406201CE30AC27C51A6401BD4900932708E1006C34 4C8E5000791FA822D94904C9384AD21F50F20543BF1648D7016BE4385A016C0A 9E0071045F12E06C12520089502F951FA825FE05B401D94F00CB600168108134 0098522F9605266C1D86122AA0006C05A1325F00270D821F62A900DE0E502194 2B07E7006A3D08EC005020A326811FE02C00A608DE04CC2479341576C06B2551 EA004379049F00572FC93E04A10CF8003BA511EA50226E087A023BE83F0D28FB 10417E1F57B909F10125A0116B045A3F12841C8605309E1235791F4E86062D83 0D5204B633F427794112D81F9F2C0079EB3C11C30141D40060124E1C892F1095 350CDE2D9F045ABC3E0DED1F5AC100F90450D7183FE43B127E1FB04AD8009D04 3D5A277704FB12C34A149D27CA502282128601602F980350C337531E7F2A9501 5DAC013612D11A3E720CE22640C61A92018049346C2E9319476C3904B415FE22 B5511375B36C2258CB019D2E15851F40D84930E737B400F626AE12E65C006CAF 0EDA013EFD561ABD27771093004907B83150860558B72705639A26770D5A3386 39C76A075BAC227947177C26F92050147900840A3D61412FAE01955B0D6BCD01 FC08871A662FF612BF01B535497D0079375E016C0DB527E334BE1BE6123F8326 0477B3004712D80C3EFC7A41019D08C4344E8A136C3A0DB01FEF01B70750CD01 B20C792A5C00416B079D0039099F006B3C12F64900AF7427018206660F782D67 00793F22C339017F26961B67009B4714EA4E1F6FD35B1A84003BF63F1245AF28 01FA1AAE22E906A40027F13801EC04B557009208A303DB2CA527D7169F0D7D24 6D3403B81B4E2E6238013FAE14476C30601A960D2FAE22D412F62D9F017A0564 0A6F005AD21367FA3D0D6AEF5A278E215105B86027821FAA2600AE07E85A2779 125223861241842653D9019934A31EDD2661D3461CEA26AD6005793652125AC3 1CAD27D421A413C74A03850A4FEF31680CB226CD330686002FC00B3803ED27C4 0D6801CE6C0D844D358300791477275D991153851A6C123DE31F79316C236012 6D017B32E900BF09F449287900A70BC45AE3027E059F0DE94000D05306840145 731A425D1FC7279826853306AF005019C72549057900A50E6C3C1BEF00490569 F931633F00CD0660D63C00E1310DFA1A3E6812E40A49018F2E048650057F0B2F B41AD203EC0A3D8A0079094F026C401FDE27A8155A05CB5100721250DD39AD6A 2159AB79125F1C8E257E2E04E41CBE1242CF325401DC0944BE0533A426C50960 400DCD00AE05F935B14804654512921E8512D95016722110349726D8225B0586 28761AEC4E309A04BA08F13D00790EFC04A545228B2C8501A012BA1FE74533D3 009F0E5AD8791150019E1285209F2F046BA31F995A008106C750246CC25A11F1 4012C03E1FDC4A00862769297C204CFE155AB633EE05920C6A0081249D1937E2 27AE03610A5001FC054D0044B24801DF11AC483367009404600BB73E1F92172E 76D8007A288A00BA5927751F8341005A22CA1EA32D583E00AB0439F627B38D53 0B6D0046BA4B1FAB01643C12CA1E54326A13924A29B0385017EC5C09DA0E6331 80013C6104AE1A70307C23411DA7278623D9286C1040B14809780446CC229D2D 008605442679006699005C9401783F0EC008A400CE0D40A23C0084125131B11E FC2FB901419304791A8524C61D7926971FCD266C099A345A007909A42B4FF31E 8A26814A00F655013F5012FB1A6C3A01F00AC64B19DC0E920B7D01DF07C56724 5A9A067A003A1AEF27A4167801F81146D609A4006BE200A54004DE0C60009D6D 02349527AA1FF72659D5127B278603F406B2007104C80C5C00A404FD6E0027F1 27BA16366D1551B135ED12AC19C53A26F60D32B817FC591F6D336A278504621A E2265BD600633E04790F50E90D5A35F6006C29940DD5347E0D9217F84C1AB926 F05414D5083B6C00E605C436660DAD1D9F690450A8137F2664330D9E266B30F3 385020891334EB0E2F7424D65CB2016908E14F2B68358F20792791370F7C1AC5 2F509F21CC270D40BD0078057C00940A439C00E00F5A228B284DE33A5038F049 1A7C3B1EC35A0E740061AE01F20B61014A790385500A871AA450238304378A01 E60FB21ADD2B75079F01369413C7502796216429BC1549A511F0013C610041E2 04603E009204683A018620A724BC40126C1A79219327EA0C31D0223DE2069700 AB6C0451B4005905AC5E016AA10050C901A60A1336952285410EA208C3005A04 F9195BBB2752008D2601720849DF7913511BCC395022C11A326B264AC24716D0 12600AB6016A08CF5001860B43A51BE83F0D772FA127CE1F3AD83E1BE3014067 00D60C41CD22A5275A017A4800BF50276CBA09426F00DA07C200780287092F8C 1F4AA11BC0225A32BA0FD62752CC0DB53060017E065D9C27A201D20761004985 00920F5C4429D31A3BEC3F1C8B25C6123BFA4021831C6C3E2685FE5704C93000 D11F812644B4490E84015004FD6812D041EF35A13A016AF5345A12E165046CF8 08B301630884017A1F9927861F954122B42ADF3301834C26D1218C047B0D9507 5F007F276CC80879284E970074057F23CA391295350BF612532FEF1F862D6C14 4CE04022D465043EB40E6C078C017C266C2281153D6E4119DD4613F93E00D80D 5A3045B135C812652CBF01A20B5085016008D6017B277100790CCF04B507E350 0046117919509E385A04ED126C22A02FCA239D390885330B6C005A1FB9280686 0098072FB412377727921FEC35AD2FF6005A0FDE3200820D62046BC13D059900 5012EA24672DFD22BB12AE3B1F52B012E8175B30F713920C5FF0054985247B00 9006600EA7268C330D5DAC003BE96C0051E5472DF50C9D00A607FD009E05860C 9734581F822650FD038810782253F20548861FFA3412C2229C2F6212E422B949 276139532D661F9232A527F30D6401AE334E9C05DA007C06750D5AAC1F60B227 C512770D934520C5254D86004B9E00CE0C3F690059054839C54C036CBC1AE627 951F5023DA1F60B43F0155B800488605475A00F30E3D610145B709487700AB1F 5526C401B019D6223FC53B04F401B67705398612541FC62F019912603F1ADC49 366C2648E8226B00CE04B008C5123E6B1AE105AE013D96143869028B49056F43 16A550049408339E00F30DAD00BD04D20686007621E5137A003E602B501FE927 D22F03F3005105793AE84D01E2640D3EEF193DD51F812456A811D91AB96E1379 21A1253F5A017B08F700A50D862E0B78C61E419B126632E12078269304C43397 25851A36DD2778009B4028634404A26C015A8522641E3FF81A50CA0592127941 21B000C4772E039512C02F0150B9492771276B2F7900BD50276E277F0D50E500 C5531FE131AF00FD0A367F1B5AD4126C1F7A2577125D1F6C2240B83D068725F6 1FC00AAE651149009E43267E1BDB4700611AAD2A04B470026BAC0E5306FC012E 762680290BE3005F07FB0EA04630AD136C385C02F96B2708920435D401A70C8C 04CF2F6C1F7A05EE00BF50049F12CF500DF9009932511AE11243CF08AA005097 01277A2AA508DE64143A500558CA275008A57A12611B960FE901A72389360A9E 00D41AB725409B3C09A5006C107E2951BD00EF3E018127A401CC35E840AE01DE 540F61C8276C0D771582380178B766146CC20D942F12A5268510408431139E27 0561A234487BC8009E0941A54A2FC03E168400D21259359819C9344F00DB4931 ED53267F1D5434B1188600E010681B416212752C8006318F1F6C10EA0CAD279E 00316D27831146DA4100FE2287320478EF1D9F0E6900F3621F3DD506F8007C1A 560DE2045AED1F673359018608621179289120D847019226416822A519E00B3F 6419550C268534018F2E009C04B536E00447FB1A3704E3203E5A01B96B09FE04 50D70050F90149DC2F00BB260F543C20ED6C0126940469B33360277904EB0050 067911A51A860E6900C0083FF5005F3E0BA22749AD37D001AE26FB184ADA0454 BC274664007A185DBA0FE81FBE310AA65C0F73004FBA3E018227E320793904C5 00763140AD3445923B1F9B2B0040B304F7411FD127ED22CA053E651AC84B0D9F 04CD085C314D870E99007BFB085ABD16EE491B644200602795084B8F410D9B04 F036501F8648349B21881E6736941A8A41126CE405B366033ACE6A12F126440A EF05B4491F69B827E52F5A3C04BD1A77144B93229F12EB56267E015A06703B0D 90013D86207935019E05CB3449FD04398105660190691535B527D71A5A23CE12 460154B7179F264C12A2025A0ADF00C0611472AD5E127713A35A0484005A1678 F300860732E71F7227439600C504ED22B82E247E1F3F680CA234E312AC1AC751 26BC00CE5A2774247905DF0027C601570AC70DB0096001F178043B5C40188710 5105864F00789E1B3D5D0E9E3E126E009107CE792340AA2FDA0161066C4101C3 0DFD19B526E7531F60C700B308E44116751D860D28904A24AF2DD42604EB5401 6C0C7E00860662B5840A3B6C0C79E75F27CD26871C794110FB023D07D9269200 31BB1240AE350D553A23B16C0052B801FB126C422761400377B200D704AD5000 7E03852479012F86126A3B19B200D2129E32548C123EEE6327742651C927501F C425AB00F926B51FDE411FCC2C016CBE00DC5001D124B2206441005BF3016E11 3EB82DD1229A1F5A2F6C400E7B00BA40157C2E641279BF2BEB01B46812E20078 0B6E47A13C1F8C22A438F6329C1A4E26FA12D6500048049D0D6801B83005972F 4FC7277B3B1ADF6E265086036CD504BD600D3F9D133A63472EAF1A8513D05311 1E4F2F6C0E26CE195839F40C49DB053FEA01800C6C1F83490CAE044D902605B2 00E5043C7907A200850D793299007D3001A40C5BE03922812F1A8627790D3BFC 1EA52C1286269F570C7F0085083CAF00D304AB472D6C05EE4A0CA43C00580461 38500297275A35F23E0E7900BC09E44A04630B49DE0077045F3F1BAE21842646 F749216AD44700860B6900BB500E400AFE1AC03E1F814001F51B4FDC0AA70480 08F6009F0938925FEC12C23D78462FBA125B349314A65A208E26F932A7012AF1 1E3BD4007847348412771AEB402C6615DE470462460DBF61278D174904990847 AF05F5014C95046B09D44D06DF0033FB1F5029E56A12834D287801E00F9D3301 D52450F61A9C12A522D3480CC4045900C91A602A6E401F9D26C327113EA92FC7 019A30F312C000750890015122C11F3EF2245A047FB27900395F019E4D149026 82022F8626D322613476275ADE002705834901F9058F007B08D0007A3300B706 4061124ABF6A045B9919A512DE1B4FC1229E00720ED6345A1BC612E8365312FE 003CC36F12F46515405A32C3133E8939169D3F1F5A890467BC0F4301C73F1AF2 13672185265BA81B86126C3248DA007B08377E25871C842650F905A800D00781 006CB35A0D8122860D6B007C2F5214B12AED15820D54A804992BE93D012768B6 0DEB2F05E0286A12AE5E00780D9300A50DC10133A16CB3320B86276C22DC279F 1F5026F16A1A6ECC0099093D22D8400A6C257D01990C40801455B85004850B8F 246C0197077926A66A0140AB3B0078CB109F005EDC01B6630073B20A27A43800 709F265C0DA60253C13C07D0003F6A05B300C30727941F56F700A811D72FAE12 406C1559346812ED47043AE8005418DC27B53906E3641F7A0D9F34E7016C3253 0D771F62DA12457F1D5DB30FA200D84118F3385831E81F6A21865A0D380162D7 1BB811A50C770463C00142279D0B39521FEA77008027BB00FB39602DF30030D5 02381CAD26F30041B75022D11A86052FE821571FA12B04721F7F2F1A7A2641F0 3B1269E91B52D5133DF8048F227E2F00944E1A7512F02F44621F8A5030BE1278 2C48600177089401C42DE30DB4502D1A8D226733BD4101791A50A54003C4003B 6104477913E01BB300C3083E970127A000347926773104964D06C701499B05E2 3E1BF449C71540560060395533EB123AA278074CE51EB45F0528B24911613654 06BE0443A6540D6BFD7B003E60319C042882004E36BB500A8B01C80C50ED34B8 0DE94705C60C5A03C6350181063086016C4727E607A04412FC29B55503880ADE 3B01F20C6A3C04B50AEB3F1FDE2751258601933D0178BA00CE0692095DA90EF0 01601088264DDD25B91F9E450060376B258A164CF4540CD75004FA0A52BD3D1D 8412791A3C7045009606842277049C30E307C400458F045422D8300479013CA5 6C0D34E602A31985229113661FB52549146CBC12D71F5DED0F69E0026211D027 6E27822260014566028E50208627952250AD12E16122C51AB100603E17D95E04 800134CB2679209949177800E1501D81229157006AA4045A37621BFC0C40572F 6C1FFB263C67209A27D0193F950586005A0FCC2FA212FA5001CE2C04AD3A1A93 3E1F98226801ED27AF2CDB00AE12BF5027> >> /Gray 1 index /Default 1 index % See the beginning of this file regarding the following. /Red 1 index /Green 1 index /Blue 1 index /Cyan << /HalftoneType 3 /Width 167 /Height 167 /Thresholds < 8449386C275F1EB224FB26AE1FD23246FE135C3A8D105A01874A27952305C10A 7B2C46C70CF700BA0635852676217F1A6C4025821438951F4398621578B54113 47C50C87006533500E8A270C94033D5E1AFE7141087900AE10D72BB21EDD3147 E6368B12791B539B006408790D609406A022DF3100B00A347D1F54C0274CAD22 E91A3B7B1DA227049F7800502EB53E01274CB248002EA3085600AB3C12C5501F 8F3800850D630022C701B305EC4F007E0885016C06A5115736B21A5334E33F1A D80D52EF4A306A17AA1A722741641F924902C408A631F0019F4A00BE50016DC7 072FA4270461EE76226C263FB604FD6C2150F130AD12C2325104A8601F95256C 068700406708A8006C09A301C10641C720B232C800502D6A3F09854722914901 EE2F0685003794077300D840016CC23E166ACF125A1D7CD70D841A71C31340F4 345A01874700D90B5BBA1BDC27AE7715623283122FD71F5A34DE228627790495 01EF0B9702AE6600823A017800FD3E06D401AF0ED73D12ED29583A6012523C0B DE2E601FD9291254FA014FD8103C01A805DF5A1B782700B5077900416A009F0D D8193CE10446C449276BBD1294267727D2226130860E2E79018026A51FF902BF 501FF35F04C73E129A4117DE6C1349B3481F60EA124F00F23406A502ED431652 04F13D0461AF0C991BCF2F1A7F2779204058027C100440D70B49C26C043FBD01 544000F319C92269276D267E142F9D1FC827B443119F662250366C049B5D008D 0DFC00B204CB6318860D7F045CA50434851A6F2DAE571F803001CB0986493566 1CBB14E750217E278F004C85125C00EC0C3C5800F50E931A51EB044CDB671AFE 12470486103C5A00980E3CA819865000B9573001D1265A0E8E06329827861F95 412289360075BC335B1F87300079276E0560EF0EAE01EB05A53649FE9C561B86 013D0EAD68168F0FB8760D50308508A400D80547F604620A50128728540079F2 15A430501AC92F68226F27791F40AD04F1379D1A3EBC6A21CE00870634F61046 8F22A113E302D52A4D84062FC9014911B8310AFB2E781C9F21D043346104B300 40A019390092275AD766276CAD13E02783006C3903D12765088B4D0D8601F723 BC5403E0095201C06C0E65AD270B8600DD0ED04E1AE312B440006B3376266A12 CD00263000B827F97826500CEE2E613D21649E0041E11646229F6C123DA92DE7 6B04DB0DC33C046B00E40DAD258501A306E10C970059336C0049E70A50009A0C 6027C665006CD0043E68390D701A91013EB16C1F60F36C2264A54005BC510173 06A312C45024852D0C74B6460DA801490BCA00347705681BD024F6460D851AFD 22B03F1FA52C8500397D1468D32C5000E3250840FC22A12646049E3E01834F23 9220C9139C2E861FAD6CE360116C0546CE00A24900C806E50138D10E4F78BA5B 0D30BF5A007B07339A21405B1F9E277F2278015812D4347B27682FF812BD23AF 122E7C25DE2751F30E4C1AB43B1F52EA00BC469E3D0BF7125600920C4704D301 5526901536DE27871F7F012FE20969F927046CE21F88267C1D56EB22B82F9F05 601296502DA9047800ED57046C1261CD22AC350D82199A334DC57701491268B6 6C2063BC3A08FC04A20A4900D5043D50130739A5228F2F197E341B9C278713AE 5A1FA22B014B05E9600127DE1BB5570070AC018808CF12B92949F546236B0FC4 01A6268702500868C80191067912408C0498500D93076E2D612700C852229C27 EA28B6279F1F790ECB004798115F00FC3949791AAB48005AC4163B5A06F402B4 400E79016D0D3EB54000D8055F3B269E1036C226E5310A780159B105F5461091 04285AC97E004A07F600521F862A64276DF45A1A61F10194C4550CDC00BA5803 E364046C257A3304810868F81F86401AB5770E6A3B1FF23512EA2662345A0186 05630990009D1A50117A1A3BEA781E3F5A19B037C40126DB4100F128BE1FAD12 FB4B12A53F047C095B01810850E53E1F6CF20241BB35550ACA019D05348D123F 7900A1316C3661009A27CD1FF15A017E274B9112E26B1A6093067A00469C1CFD 2644276500B81A57E00E3A27EB159E2F7710D800B00DC6013C06844022712700 3377277B1239851242B50DF6004EED26C33511AB280096350450C701910A5A85 0540AF00F83D1BCD27B21FE13544EE6004D1680044B800F830630147A3572F17 82267801590A86049C39006CCE1245DB3B14C73200679C085129830477228827 6B215AD626B404F0500DD112AE26D916510C8C3319C521EB153DB10041C8012F DB1B4CB4053E6C0080D61F94277F380079AD037534540BC140236C32811F4C9E 27C30DA9098545EB049F085BF424AC0036771F3E9C1244008F460176D00D49FB 213E6D26A6152ABC5612771FA64F0D6C00865007950026B03E24A00C2F7E1393 0DE21D79126CCA079E123AD13E25751B62E12352308700954E2678A40D35B320 D514AC0EE700B00DF438007D1B653D23931F500487093FA76B0050A408790084 095086270DA5530B3D831F5BD10DA93C04510AEA01C1651F416012D2267F015D A409EB043FDA117900692BD41F8F12631FD0340C791A60E015C060056CB45A20 D6641A532F7D129403D94501E368003AD50484099337E949132FBE1F40864F12 8B1ADC5A04B249276C3C00FD04357722E76B005EDF01BA2F05840CAF1D680DFB 024127F65A018605652E5A1A7B32731D5FBD0C45A100CE055FEA3E2065FA0425 DF126C3449AC22CD2B04F249792171BE08F7015030601179CA40146D3009F805 B93C00A619E13D1B78265BAA005A36E81D9A014E043AC05000934901C7270482 0A2BDA22490479093CEC06AE00C32B65128635501C92186C4024DC48017905CF 6C0355DC3901FC056C3D20853700CD05B55E23864A01AF0C43B41C477E125AAE 16F4013AD23E1F6CBD005012C2244FF000C14E08CF0196045031E4126C2F8527 0078C2013A86462A9C00F8052F74016A9F123900E904326827901AB722EE2E00 62A0218647247B1D955A0D864A04B500CE12502D94164A7D103BFD54A201267A 14DB2F51954738AE5000A00EF927A4124E8422794A07B05500A205C027FC0CB4 60002CBF20613D259412770BA8274AB400C109F35A1A770E43AA14DF314F862C 048C0833EE00406B2749A70460B20733841F882F7A183D6C402285276228DA11 9E0153A91541BC6C132F991A50AF0B643E1E61BE13E8361C62BB6C1541AE00CD 0D6A0074054EBD3C0DDE00B55901DA0740F13A1F7927692F8601F70BB9063FCC 6C0D227842F133A605862608FB01651F7C2F84199100CA3001D43714E71E32F2 227D0E79015A3C1DA06C1050AA0BF500B82F691F9215602D476A1229A526E936 087B03982700F66622CD50199626C501771A88122A5AD90CB004E000C70D9E01 A504FA12AA216E277F3506FD01540CDC5B0DE5003CCA01B77B0D41820C5AD304 4E239C5A127727A134E229AC125A0184279513339C2785216900C80AF9129F20 763463238400501AB0D807276A005A3F12BC4B1A7811E906CA015B376B1E9A45 125E9D0041860D5034DF432F9D03E70842FA0028821A5A4104EC5001CE0AE604 AD407904870067C01F5A11C7581F41AD00A13D04790E53DA4000E97903387927 6C2560347926E51F50387A078D00EF1AB64B2296278D34007E2678105B274726 DB0128B40030860EFE013ADD068901791285217827FB1B6C0440EB0E6002BB11 772D92364E00DF08AE03DB27A6278700304C9D1AB720EA6A008F37B749277523 50BB0FE2540473F601276AA80460AC006105B812702286341578C70147D7209D 133478277F1E893200D95016CF2E0149F03B720591092F7B0D65D51F9F2D0799 355018A54700EB0EA40892005B0A69BB0044C7344E0D6A00793B0ACA034DA31F D02EAD1BED77044F98531A8F4417A827871F654025F51F5A04DB009108A434C8 700047C44A2752A4045D05C159276C267C18520DF4126004E50B6E068E013BCE 41046600D20D9D04277C0032BA1A2D6CCA3D1CD82D12CC1F88264ED04801AD69 055134A60976005DAF0E9E005A27C6520D33842252AC0D820126B71AD75013F0 26405B00FE6720B40C6D27C422603949FA15D22786311397235C02D68425C412 DF5E1F40F2125A0483086C003ECC0F24F93A06E36100480BB400C46C0950BD38 48B0193E5B1251208D256B16FE003FE5159D3F1A850FCE00409E69013EAD791E 39CC402680195A0DE3149E2F5A39FD521AA56A08429F0D50087F007949386C09 EF005F26C41A2DDF1F90238527CA3905DE2650F10C651F74F8009D076C2750D9 47336A00963A069D01C7344F12810158F3004C9A0687012F751FA901DD5A05ED 0F791A3D5906863F00B46D0537BE4021FB27B512508640006BA53C1F77DF5D22 3C501A933001860B2778D000E505B10BD601790D871B57336A00EE04A13449E5 043ABE6C2501B4520061F90CB2279B206C4303AC086800C54013F15D01B522EC 25970FFD01A033498213950C5392116300EE05660D49791B84043A7901A4053F 6012E430BD001B7903FB2740BC531F6C0F7904B924D22F0D863312D026B45405 8310713E1B8636A12DB201E62E63179739199E69008E60017C19972B05BE7913 5201C00D4B0478F00EAF00D86626F66004502B7036497E1A50AD3B26AF01CE10 A548385F1B9112861E500DD63C5F1F9912326C0074043EC226F31F85128D2F04 923D1F7A2782005A35B3195A0DC40127D9043EF50046BA3B1750B42FFE00A530 CF10B95025D41AB2385A0442733BB04B0E80046200E82AA61D8C37530596421B DE5D006D0D3AC524F3490CCE47006307416C0EA201F44A04D53E12E63B0FA631 5600E765270AD42094288D27C530017C26603F11A70041AA129609CF0331EF29 0466DA0A6D27792E09B501FC08662CD0007916A505EA094AA71FD224F05A0D7E 006033D02650DE4A00C705E31250D0036227943F1B6DA43050861E37800D6C9B 270087123F5F1444693D1792287A018614A020F8125F269E1BCB2177278401D8 4600EE6613BF6C0441AE1FE86300792F009D5012C522F614BC521F7B300D8650 01804E1FC74908D96B34019E48316C05F60080095AA21750E8069422790D2FF1 1F6227A06C015AC11F3E881D9A01DF661F792553BB035A32F6446C28773DBF01 8312793601941B51B20B41019F0C297927643486203F760CDB0069E50A5800B2 074DAD04E74002D057266CBC09E200AA04FA004612EC23C8017C0B9400CF0852 31860CAE143E6023940B307C00299E1235860231A41A61B93B03772780016C3B 00CF2656B0271BAE2E089302388D270DB34912EE00AF3F126F22D61236CD032E 8115C634D46A0150BD003F11B740077A004AF30D405013C7279D003D98138526 000DB200226A2A499E0550B92FDB05276CEF722160B00E980ABE01A307AB3145 AE3A1F8D22FA1241D8193C5A1FAB3707E4013285266C207F275BC17705502E60 39BA2B501F69F20041DB014AF712BC1A41AA20E64A08F85022B74A09DB04521A FD26AB1250A423884908DA0048FC0E5CD62653F1004A831E793750841A5BBB33 A60149831F69B600436C014F1FA4380D78F826611EE627B312306BAC08860050 12EA204BDD0551C7344980D804F10C32DF1F6B124779C5003508CC0038FC266F 1B6026F61D86115601C0053E6B277D016599007F0C659E1F54A30550C54D0D95 07491F67AF09E0005904DE770138A20E5E347E056D005AD00151118B38610178 0D7C3F20852799058C00D53104F00A34961D3DA0048534009D0B7424B904FC00 C3082CD70150076B38FA0D9C085234FD1B9C0B7905DF5D19478600960C83045E 9F0029F8223FD46C067C0B41921A65E61127405B1EAE54008609A5003A125AA1 49279D50048500E62F81004904EA27792750AE00CB0D9F2E12C727F82D0F7939 1AF6123901E730B212DC0034791D8627843412B760197926CB1FA7278F31126C A33D04B31AC727EF1CC05B00EB0E69345A1A85461B56BF004F7A226B19E7641F C43060137B276A2286410F9E24E51A95005B26DD229E045436EB268C122BB40A 34CE225035D73C1AC45A029F640434AD27C43001A9220261BB0A993B048C2748 FE2661E8771F3ADF0D6D17A5335A12981F68B95C229F16F30D79315A3D1BEE56 09710146BD01D25C006FAF601A84006C279A4B26B610F118A2450626E8049500 5909E40447FA2706CF662683094600900634932650BD12E73D01C678106928EA 01C80B924105834101DF4306C90CAE03E162277D04614527B33E017E0D60C212 45AD00497A01995A046CBA00640A8F40127F1B3CB959106C005DF80E73A33600 6C19D44D12C63404851A4D0DB901794002EC4506D23F03E00B4C007D06850063 1CE004B06C0134A51F99602281182F91244906C82352D1053DF501477A00630A CD704C37AE1345853B199E73005B9A2900E3145AB86A2756CD0C7901408606AA 67203EE0058E156C27A63312B14C119A1A8B34563A6C2F5000C20D3DAD12E004 884F1FD22F007F075F32CD1AEC401FFA2F10A026EF4B05CD2EE40C5001F41D86 123886271954FB25A500903E019B5010AD0193286A13BD345C22AF1383502C9C 12CC35D92F41C0500B771340BB6805DB4000F10859B704EB1694277914428B0E 53970C33C327792F00A51A5A2FF60DB568270DC0350B7C49329801490FDC013E A321E01F5C294E0D94005A3249B607850056D50127F3266504AD00EB129E2291 1C4CF500792C6615F040126CB025DD1A85043A6900880C47781A7F013479226B 018423782DAD26D24A00CB8506397D127826EE5721D7402AE24506F551009509 8B006726C300466C401A6C10A5032D9123D800531A862A128B319F3D12793467 01F608A5012DBF1F3EE4511A9202FE400FD8059401793E00D5571E43F41AB005 4FFC26862A781B624009A700CC03F82DB812A4013E6120F41B385F8700770ED3 1F7F256701F30A3B86219D490CA53A006F99013E51049D2750B715A52760BE00 E12F50D300A9159E32C814940475059A3E0C22BE6001DE4705630A8800840464 2086341B7827DA2C50FA0437A61FF201B1054F1F5DFE00A4288426FA0050B849 0B6B00DC410CC04630601EED69007E046101B31250259E53277F21C450128634 04A36C00642581370C77009F0AF600B96B2678316C1860227027FE0DCE400E6D 9D0940BC36A72D4E08A53179275ACB016D0733CE035ABF0E27F81EBA6611F600 773E08D3023B934212921A5A2CF2085F007D0DE234501AED5A91042D991B34B2 27C71E5031B40DC5005ACC05AA0E85193D775308860D5A2479E87E0741791662 0C9C0F3C7B0427D421AE4E1C80008A0FB73850129F30D822862769D0057708B0 00663A1CDE2360EC143FB610DA01C05A1BD5227E2F593C04F1129D269205D902 7F1977265AAC002FE21457066A01E75A1ED005B60040AE18EB6323821B419F48 088600348F205A0DE7501F78125A07AF043E860E499927DC21405A00BB6A0130 1343F30C4F8400740D67F913703E259812397C1F6301C70DB31EDE263BC43900 4926C81236BF04E33350C61FED6A05823402A627E42251049C00C749076C3D0A F1003F612DE31243EE0475089D014085072F9327791F40A304AE4612991A8634 5000E10D7939A033C00095053DC650017924FA1A9E3C008611491A85125A3550 00B210D82F0462C52650E20542C5306100B232EF27C92162FE00B53604760B64 A91C86271278D966A60040C112E526B036019E02EF4D07E15000F731A0256A00 7F046093046AA20F72018C5027884A06940147123AA4135EFC116E053ED06C14 7C361AA712CA501E900EBD015A35911F4ABE4827CD0E50C860016C0AE9006434 5A07DF01C84A0EB8601FAE49005A09426322E712681AA9278D003E7721C22758 FC6C26E604920E7B2B6A016CE83D0C7B125B38AB0186129723810D6B009D4626 711761EB26B83502FC0840C646071F54308022770451099449276B19862F6522 9426801249EF472ACC1240F93D1DDB28AF22EC003E19D4275DB3770050C3002D 851F9B65002EE12257FD00415C04AD2F7E207118A9017A0B610086229729043D E012AC2F7512F1227C27733700822904873618C627ED1DA53B029826860CD210 50C504620C9D0139049E2FA527D21FF62688145000AE1AD4007F0D6B26D70557 01BA1B85380BAF05C73E007F074787224F9B002986B50DD5149E1A3CC9601ADC 05AC3D00B404C10A5901BA055A129524AD00570B8F0182086C0D6DBB6700790D 4B26E01A41934D0BCC330EA25A09AD01742F961F8326DE023EF8500DE22CAE26 FC114D00F0791B4F8B481A9E3F059200BF0C51FD16D14512F16A0B82016C08D0 4E31F0045C4434851F47F24C1B70B4410F6B0077095700A106C9278330692795 22F017A22A47FB49286C04E4591F7D501BA51356D0003DDA0D5AE704256B0255 00EB7927018A2F610ED54B126C1A43D53C1F7927D801791A8727BC215A35CD1F A82F1144AD22F404950E792706E63D005DF03F26921C4F26BF08E9006A1250A5 003982227804521A6CBB5D1634BF003908D00052BA2F501E9922623E059E6400 309F254ABA471479005437B500E306B20A7700D8270D62E022BF1A3C9542345D 1CA50EFA01B406503477007A096411D225A53200D744018627E0331193681F79 19379549FD38B872400750F14100A2531F9E37F8329C1261E7008E0C5D34E907 630048F1044161024BFA053185176433B701CB61126CAE195001C90467E40D48 78278A33CD085B279F04C3123CD07903420A9E65126DFA6A27841F6913E55E01 D409AE6C1F3DBD5003DA0E5A008720D82491166A227F265D12A53549C9003E98 054CF004BF11E447015A23791F61C90340DE22B01E78007A0C8B6B132FF80E6F 0163A02704C200B06301147B1C500E2CA21F7812BB3406810077086B007B0445 A5213EAC15552FD039991A9E12E32780236EC6013FD600468A3C249E0430770C 84227834008F3901A60D6D23941AD413762697650039B11FE72706A5263F01B2 0CF2027805358E267D2C01E20D792072299226FB2DA30D6C08F628A10140DE2F 550485147A2060328E1F7A2570008635B83F0C92390EA41349860150BD3C1FF2 4009A65F1F9526BA3905F24A3185260ECD6C00AD04D66600C4046C2648FC24CE 27B326E027AE330E51FC01760BA302780E66277B0052B5013B0F9D561F84265A 12F91B4ADA22BC27F812B55A1FD66017F501B3043C694000F3093FDF0D478600 4AD750048D4A165F3246C540B10D5000C849326001F606AF0A6005790140AF3C 017B0DC864057E1AEB25AC08F901C60C5A01AE27CC1A6E0565D000F550278505 35EA27065C970129CE4801C0045A0B498316750950F6472DBC3E268534158525 3BE40F7B01560C92014A0F861AD36C057A36C04926861FE100C511AD3E0D60E6 782904A70CF005A2013F7C00860579008640109D063685225A2D49EC0DB85928 7E154F9A216334940130C31FE338A5008608246C2AF85A12841AA94234861C45 BE4C1FCD621259C31F703612B727960175385A2B801E48DB441451049F27EE12 502F5E01CF20B960126CD8193EB6680524913543E42BC900AE21D03A00780712 60F30B5ADE0DAB5C0554C82EA83F1F63C25A0370003CB841126B00F4065A2F6E 4332781FD62649155FEC35691F7F2850B50EC238501FBA4903EF2750C60441D9 0F8801793A07CE01B43101F905C511417A0A71006C12D32758E9009E0438B107 EC007D1150DC006B12963104E51A459C00ED4801600EBC4500CF114BB5006A08 77FE3D0D81009226991A7D107400429E00318802511277EC4F0D85006C126029 7E04941DA552D731008F1B47790040B33C00761169EC084722F4309F1B6001D1 258E2849B80AA501FB0855009A04BF0A4F00C54000D80A6B345813EC60092E81 1B7700642FAA006D1AA24F1F85276622905A1B79275AF215B6279F2884219A0D 3F651249852276279D1FCC04267927ED00498627A50C336C21842FFD39550B86 1A8204338D26A32D0061BC355A1DBC04E138A82EFB0D27C4590CF926B3420027 D5239D337B25EA125A2FE23F011F9C4124C60432F91866209E26D9003584168B 067C0EEF279D1A5104C9186340276B147FC73E1F6B2F8227951A5AAD239815E3 019F043271DD0DAE29DE2094128131CB3E12F801AC0CE5043FC3089E00308701 490DFD045A01C825B534E01AC4015D0A5538703EB8065A37CF0879005BD304B2 099500791FDB24AD35E46019ED114ACD1F5012DA410B6B480068084C966C1238 A51F82042FA862036C0CFD01A50541C0016622865D04B76C126299268703ED09 801A59AD01D028B2235A0082083EEA600D9B00DC05BC50270576F412AF01DD0D 7A06377B016226792143B3003F50018F0A5004FC45086000942C5A387C1E7726 6B4512DC692258D7661C50BB3E1984048C00771040DD30B201E60D48901A9D12 502DF13F1F7C265817C212A0043F660D5001A7053E860493097B0078329E14D5 22B31A3F01DF7900500ECC6C0A3DBF1FAD278C204D8D1A730DB608ED285001E8 4600B5103A6C4129B9052F7A124D0041D8491FC47200318127771F853B00A461 2B008522771FA430E74C1FF62DAC0DD262129425C9601A6CC0345A1FB725E24E 0DD10049B807D800B337501AC605470092340C77EF0F5A1FA62757A3007C126A 2383002FF9035EBC1B680FBF013DEA472761314BF001BC267E225AB1226330E6 27AE22F5015A30850060C828531669E3355422F51A79400078073FD2003CFA27 57380F822297360D7D1F51CE01A50B6E48F61F60E3711D7905AA340C43B51BFE 0CB44C10E54418D04A37CA06465D006903920984006D3001FE1E6F123EF53C00 7B0C9A006B0434A826881633931F500D9901800E7526AC20DF67002C46D84A0D FC053B6322F729AD15C850227D34059800922F4F8600A405D500891F74279510 D74000F30DA5016A05860F3EBD0444E73C0D7E04AD2F069A018A005011DD5914 E85F0DB055067F009F6900D10753BF30DE056A264AE3133900990A3A04A71169 264EE2791250015A3F22942F048B0AAB016332FD12B61BC3385F18C5269A5028 8B00A9055913B226EA2749C84188096C05EC60023DFD6021EA27A932EE127B04 3CB57C056A017F297914D0500B9404406C0EA000D76623F74907DB106C1A7E38 690EB106C8003B6C1C7A296C1F8618CE344B771B8A106F05AF27F021874819BE 2D42A576042D98381A8531129B1FC92FE04E1A79126101418612942F0079C55A 27B650C82750F9008A260464D337A706EB0153C1355A1A9311860040752F5612 DF3A5A0444C91249D926851F970A6601851B700E29F11FA04012BE79002F8F04 77098600522FA212501FCB24AF1AC200AB3F0184195AE101B91B56400D853713 7727AA22CB4515F22F57401550FC04A0089802C336465707B500EC26C12C641B 92125001D9385B0DD4072760C30150CC0164E50179491502368626FE27A41F4F F104C05F214C0F8601380C860131AE13409F2C04751F6B27831F6612F32948E2 50279E04EF089901A30DF235008608397801E14A36D05111E304B563003D5400 86270E42AE145024C91F5ECF0347F200730A56348612754B1FA232D5253B6243 33E919AD045AB20192033D5A018B089E00DE7920632F48D114445B00F8127524 7D0C5B4701FE51003EB561108500792168EE3D1F7E330BA12640AD3C099562BB 05A6008D0CCC0026693E07A103DE1F6AF05C239E63076CC60047AB0EDB00B00D D7007907A0003A08D5125C276C3453276C1A9E6A1BB05E119E310086062FAE22 5A401579C423DC1B5AD06C0464D93F0080350C88245E27B339F60049E23604ED 0D6C007F05960980017627D11F40E21E60FB0CAD28612371340BBE01B40F5A33 EB0D9727A304DA40329A1F851234D3770A27A01FF33297035000B20EF25A1D83 125A22F52711502F6A3C175B2C7844B316FB256C3295084900D9123FE83A1A57 F5198D297C346F2747BC50226DB56B244AC000AF0CD800B550052CE53301EE23 52B912488F003B9E01F732046C07A4460B35C027086BAF19FB411ABF0194056C 0E8527069A60278A27B71BF01FCB27A00C5A007A084B8411348E1FE312C605AB 5026851F7600AC1A7B23671A835001B308D900A87906276AE804435F124AC61B 82266C0041BC00D506760085D00AE801C349E0019E0A33840E3FBC0041CF1AA4 2885005A0D922F0B79256108F6019E0C6504DD0D35019D04793D1A8E1F763A12 D459047947188A0C762FF81A50D40C83265D9B12843301F776005AE4122C7901 649D0D7934DC21A517BE692F0AC300500B5C3179026025FE34A5269E3000B357 056D0080492E7900EB0A3EDB27693E05C400E44312861A782F5D401F5ABC0052 34C401AA0A3D9C05DD29AD156A36522EB93E1A278B21406F04396C1BEF6000A0 5A1A8222507C046C20CD27B001C95B00C513A51F5822ED1F7F27487BF7165122 EA620250F9047F3E1FAE25C36804D1276503A3246B401CC1003FE826BA6A1A27 B43101934712BC263BE743156046045A3F00DB4A1277FA389D0049B51386116C 05DD1266F03E21CA279B3704F91A69274C92019E08E15226733401BB27F04904 C20DE20238981A7E236C27E71F63401279229004EC0D85015E9E6E0157AB1299 22BE3D0527D24601E60DB4013BFD109F06791F803E1C96386C01439A3A0340AD 00C4093968C80A4526CE3F225AB9006E0B82003BA64100DA55127900A7540A81 19590148129F500D96501DD54F0690005B08B200C731EC229D1FAA3D26046C24 D90E3D6900BD1F89287904500A86006312BC6C0D40B101CB115D41307901A50C 9D5A216C003995266C2785480CFB019E088400A204CD4901FA0F61259F1FDB46 0727C81F3BF40881005DB47912307B27622A861E6E402F6012EF4904DF4D05E4 30D0126CBA61153D5A2C92002780AF066B00920D4C27E94112FB1E6012863D07 BE2AED1234DA27AB0DCA793A00D33B05F43A00823F1FCF27832E6C0F7D016C08 50017BCD41B5074FA51EE1472E5A01C220AF27D61D40E950012698561283482C F716B51B4E2FF23F06DA0EB25A0BF800AD12CA2F4E7712DE34562C6C18A5345A 39BD50006E3712FB820CA10065472FDC0E490459AD089504DF0BC300B104D652 0134A11227861A60068600500E79E404A71ADC5B013D791EAE29DC177901935B 279901E84D2195267F055B92016922772D06EE54227F421874B312F15A0B9504 F826A41F3EB832F3640E5200278D3501920A7906EF460D6000940F53A8073A78 D32F00E7340586046D0060C60465178427793315812A782160018F053BAE451A BC0DF7500D8300980530D11BB3580022502B7815AF1A509E1FEB3513F71F6B33 435A27486B3C23B76C0C53BC0040952649FC27CB012F6C24770E34BC13F1500B 8401A031CA3C04C00D7E3409CC015016AE381FB413FA00B24170108600A86004 2F790236AB2249117900D3581682112DA11BE66712F55A2240D13B15933CE548 307E016C279F220861A41F5BC41FAA27D638128623CE009B044DCF03B80850EE 3F1FD02664008704613F01BF26D71F467B0C770433AC60ED04CB400586013E69 00986C0050C101A50EF109A30086072EF8206933EE12C2320C811C44B10AF904 AE5221760032CB223E66075A1486205927AC6C1C3FFE6100E051087D49366326 01BE1FE2290DD05720C56B0067BE5A1F97420491005AD7046C3F05792C03BA6D 0061B400266C12C523FC18CE0050F33E108000457B0C5A06834900AE35601EF4 2267401F93310E9F5A087E0DF14C3396247B2E6C085AE51AA826F06C12013472 105AF527D112B8501938A5233D831B7427781FE1125093007809A0014E05A45A 029F5F188648377A01EC10B563056CFA1CB123E4003FD9054600B879042F860F 3AD227048D0BEA4E307904509A3E01850933E0124401D9380DFE27C2234F38C6 21AD1AA1640D2F9E1A2C78CC058600790B4E3988126A01BB26DF1335EF27AE20 FA395712A4500C7C00E85A01C76A002CE41EA43D14C71BDB129F1F8632019300 554009D245B81F9F320179246E2706C95C0DDA054CE800BA04993141CD193BD7 552260DA6C1F3EE83B00D42B00C512502B89401A9D460351006C2E9E6E1266F6 2C501156AD22669E015AC61FA512960547AF22641CE826B5501F7F2785096086 1A770795007D0C6600DA3C13E75904FA5608503F1FAC2860A5042BB21F79315A 06A1650078046C0B9F07E50232BE279E123579143EB77903405A048D00830856 00ED04B461223CC71F8626660D7F00C34C0DB200E5793402861F99263F611646 5A0D840147A5042AC0154800B40F6A23921250792665A0065E00E12F117BCE36 A80A4104B53C018623D0360AF20031831B4679006027D6380AFC00A40B3B6C04 9E00EB19B32600A935501FE9279D2683490188401F793612AA22F45D0CDB013D E8580550E1029C384F1ABA12CB31891F79264184006C0947AE26DD04501168B1 22D6276D2A47BB492771390EFE6A077900A102E92F5E13953B20912F114FF92E 6000D10DAE36CC00FA26B26C11409100850D7A278B04C90645A509E40134D927 A70C4EB42708791460F127691ACA0C75008F6C1A45B90BF00333DC2485006995 126D2A4F971BFA265A0D6C2F4BE24704D2600B6B01FB0927CC4D07C601B06900 85043294268B1A750CC53F146C0ED100792841640149D40053B917E020CA6201 841C9E27F63B007E07A60CF801670AA412CE520140B612E13A8E471ADC3E04FC 64075AA5006B0BB4502177016D22811A530C39EA621AF525BD34F11A406030F7 1F852241920D851B3E7E0041EE1FC6004796008534A31FE52A04A4602177275A 94076D16AD1D2F4CB706D4004C0E48AF39CB01A00C28861230BA1FA533509312 2F9A26831439D42751C0004F11BA48267D00A721842654FE0CAF23ED0D349A12 693B058F4117FD0D3F6100731FC412593663179D22D92779043392216C2E5815 50057A01896B1E41CE3C1ADB27783F128C2FF2159D063ED979045001792F5A0A 730150B700940D6C0254B0196D005AFD21C36004522E8A240FD7491365400750 C53D0DD901A01040B535F50548DA015A3D2060BC7A016F0640691E78C1004997 056F400FC40060EE00500BE64B1B7D136B38E36C0733F71A5F2FF10499083B6C 025A15905027F601AE5F2600A43150BC12CF0A9D4730EC00B94E277900881A64 B20BD7009A04AD20C626B63909A5007904864908C601EA04A10B512DC768012A B422CE0EA0039B27D2126C3A1FAD28D93804F427BE350187092977A30240BC57 3006F200BD79115C0092316818E1005A0D643981129E19EC7705461AE327BC12 F650045836F3224DDD02871F80371276BB336105B501F10A9E042798640049CE 0173344BBE19D62D9F4500B706497E223EEC79490486016C412F5B018A1D6C3D 02E20E5330F400502A60461AF73E860C416316D42C5B23BD0E31921E55247B27 61B1005012995C156E30821FE21768268B01E750087900618C106B0750B21248 DA1238E10D790173AA275A3A269E1FF84A12B34E26861FC900A5046C26860032 CE2798126200933C26D31791088500652D43EA04AE502704961A8626632F501F 51C40124A312813D12AA013F6800861AE13D1F842F0AD00154072CD71F3CF01B B015E30D50CF12A01F61C60548A41DE912B0345C00275AF0009D4D12F3401A69 ED0441B8670DCE01358624E43400FE08AC0050358500AD1B3E6422C427B71436 A427D21F65337F0161981B5027FB18500E9A04DE016C3E05830135C104742F54 20E629C3124A7B0C6E0052A3345B088901AB2F5B12B41BC1155A276B01F75A27 E10040D003B278108041D7345906C05022E90FAE400D770462D800BD6311931A C36A0BAD5A0E72018224973304782684003E9513396C0182057613DA95033B73 3F068601AA770053359B002D951F4AED056C0AA341227A275AD70540FA0B4BCD 0596005A0C4ADF008603760CEB22B727006CC404419E00CF1D811251AC26C822 ED6B1A50FE119C400C79003FF81FAC26EF2F04DB22C51F6B4000E046276C017A 08CD117D40067711AD5A1E723600FD2E0D7818EB266A007E29711F57F525B312 306D1538A4277738128827009B36CB295000B54309FC2EB32050E306BD5227CF 24A20822C612B21FDF266E2F14C026D41248FD073A791244C2491E6BB502C511 479712602FA50E70133BFD319C1B69223CAD4200940849F8123284205A376C2F 46BB3C0079095F40008E0D3E6C01CD6127B55A0A69028309AE410F7F0150E90D 791F9E0CFA38AC3B4E34C225A61F8B37089F0FDA5A1A65BA006B049D2FDA0BA5 00CC053E60014A8904FB581FE20050F9034BDD48047808F96A1A8F5714700D7E 013F8A3B1097017C2F785035690A5A009F11DA4B087F016686225FD803AC265A 01DD07513B1A860131BA007B2540EC48A101840A7905EF5C0ECF2F5A3A81055A A501E60CB105EB00631AE8124DBE1FA82ED504B33350089004348622CD376115 874A30B83D1955B33A01854A056000E80A780047D70248EE247E0443AC06263F A5385A144B851F66277C1C9836CB1BA3400E8508B21A6032A6122CB913523E22 D80138A800E826CC124400F11A5A0DFA00AD01E9278933573E01933F1DA73205 BB003E851979118F269D13E86427F36A1C50E1045A00266A3F1FCA26AA3F0186 1AA513E11FB236197527861F6014910B77268638017F066E25671B9412F02243 DD00A74901E15000FE0A7700962B0565D43F16C71D9D1468399E0E5C2F7A0069 2795133179D2550FF400C40D3DFA08AD01E30C6C007A2705AB2D5E3992007905 66882264A5007E1160C31F6B335A1C6CBA682749B9471F6B12811BA404FB0CB8 6122F5540CE147127F1B50C500F12E6100753F019D0639930F2778C139B207DB 5A0040561FC52649007D0B6F0050DB08BA0244CF3E23FD2BAE0DDF5927F415AD 00E7277B005A9D157430127F1B2C9E1E6A23DD126CEF1A5100862D782650D301 2AFD1AB022C817B701ED60004903851D792693016C44305B22A127ED1250D34A 01DB0C49C31FE64200ED0534E127993A0B82049B0690044A09D1018404CA38E1 065238671F7F2D069F00348C205AAE27E30A3A664004D339B30DBD1F5ECB00AF 600A227F1A862F1279E704880867F559279E25C712683959317A009556036C00 7A31049A0C503580126126D1370DC52364F206B86C043EA64007A134007F26B5 0DF403B9073EA852096D01840B5434873F0DBE21E02AB0096134B818CF12B44E 04790A3D910034822678290799380D951A46790A5E03F45324D827B52FF82286 136C2D781B4C6130D500BC5000D16C125FB10478003B6C01872699128646096C 2849860C2C801937D65204F5015FC13D1E6E2FA2173907CF0161338600A511F3 22B41235A020D31760C11F68CC0249BF06A90378480592013B5A400DD35F00C7 5A254FBE129328771F63308E126C1F9626D83347F9125C1F82276C1277224FE7 01475F05850036C8245ABD1A61F00FAF00F25B1369B5275AD112BE26A0300093 0E5B0B79006034AA24EC0DB500228613700F29852241EB3E18CF26F31FC8401A F600C0501C9F22FB0033DE4905F17601348D25770E4F00990CDA0055BE6C1F50 F00448E62292014B0566E20751348C013C850028991A39791F8619FB2E4DBC13 9F1F862812843102F90D603F06D00152D90046ED04BF00405A048F00A205D500 A70A9D00CE042E961FDD3240F065078601439C0D307622864304CD2F017A0435 85006D0C65C64236EC40199F10DF0088055E2693C5013D9F43E5089A01560B86 2F930E520867A40D5C3E05EA005810935303972650125ABA149C2BA923F1276A 277A104801873512962E0D79275FD67D2A1A78B90944F90E4ADD4108F85900E1 335300981C3F6C00DE0457EF21B1681A8801E2491F9934128522583E2278EA14 B21F6C412C6D4436F630563AA8500C7A00AC1150209F27FD2E03C44701C60B34 7E2154FE19BC501FA62ADE1F4E04830152C7266B27701D4FA53F081A6CF82601 6A3C1FC326A2006C043DB079005032941F7F266BCB4127C52140B600CF400979 00DB046B079E01BB1BFD25AD0CD74106BC4F01C509480EB2410027961B50A327 05926A260E9E4812C0630EE401CA5026A938017A0538A1276C22833E04B15A09 A401D5660D31850C3BC319E40F97075A0486177221FC276A1F7F01CD0D791A71 501E9751276CDA01AE0D3E954001EE085A018412AC1FD22F027E08A304D52700 F458B147045CC712AF5A0D7E27E01FC4611228D623B801DC0BAD3C017E084E86 0D6230791FE926691F51C03E125B358500742D6C218B5C18833F1F9A24750460 F14B01C32E0167C8123DB86D2F01A6073884268D330C7908854913D54F00D908 AF00F0501A38F727913005BB5000E067067E014D23CA1FB211E3006A029E08D5 29A5395A00B711DC3A06E7004819862771005A0F802477389D26F72963146BB4 38FE1555369765123400278F0D3F83002FFD0149107A3301E84E0C8317784A2F 60129D1FE13401F724A90666018832A40C387B43D31549B10EE004A3003BCC04 FB5200E727C63012863A1278EB3F1E79005005D26A2243D8046C115EB52AEC1A C32F610D812D79123A670CBF6F006B107F491994274622A3265AB66B007E3861 2741D0531A844A046B12E2314984007E411277A53D08F21CC427DC2DAE11D105 5B00790993004B055A3AAE01500ACD7960E622A61A4DD36C195AAD6805974517 974104FC3F00B405F62E5700A15D1A7B123EC74E12FB017613E4270084093193 1B5226F71F6A39158F3D118C00A36504DB600B5300B527E625A53411EC5E14A4 27F5034F006B3E009822F51F9D2658CA047E290EAD1BC500F13C03CC780039F3 024712EC4901BD06A20B27C12F0DF73477019E0927A91AC9542704BF4F359D05 80046C0061307827A235C327F0209E127D1FE2269E2F0D3E077E02F2280440B5 06371BEE25B75B00CD37590E861A794915B96C123FB100E46C042E9F2546CD4A 0262B537ED540567B5440A7700A64805BB501F6C0C3DAF401FAA278613960481 0D5A98042A77007B1D9422CD12A04A0F6C045001E81A469D1DDC48395B2C771F 9D610E3EB55F139721892F0E861A795039880058954800B33E1F69F804406A13 F561107C00455F14B41FF622AC17E6117101860D6433D600870C6F0050BC17A0 2F531378AB0E2670D0410085093074228A1FC027D23600850934D7046A2F501A B65B007F0D5C23A51A50046C20CD29007A35C3500FD9306001F32AD021570085 04D5083B6B401AF4003955B21AD0345706AE356305DF3FB336C86111A500336D 059201EA084AB80634FE155104842DCF0950C726FA3300EB123EDA12277C0D60 CC10533494088600339A26CF0CEB374856087D028600501ED92750C004602A49 B81FF02277D94400C16701477BE73B0162BF1A48F705A5016D08690352AF1FF1 4C279A15CD22820E39D827AC008E06F627A0128A0141E5129D02277A1D812286 2679019E0DFC2F6D2650F300BB60216EC22701864812E23A5A018A305A260079 0B2F87265AFD12B72579279635125A86007927DD0D680040A500620849AD2355 A10450C51FEC22468800C421E32449D702781A86267912963445CE2E41BA6006 79003F7811F605377C0F69015E12943C21E02D00530DAE12503677137F27E633 A429EC127440018E06426101A304F54F0B6C1BE834500D7E00DC2F4D951F8427 5AEE05AF00E20DAD175A326C14921CA316792D50129D300368FD3E0882017810 FB1AB50C85F71FA74104BB08406401570BC90069D70127C81C9E25AA1FF6761A 3D942B77107E05662E86006006980328AC1679013E9F18AE2F5700B806D800BF 0D5C048D0A3A9E1AE222B13D1B6BA70353C23304FC4E07850F6CBA1F90267504 DD0092235A0F6A007C0A5A27D82550BD0FEA385633651E940185481277B1213E 6019B80C6001C8083F653358387E043FDF00BC4A06D001600AAF01D9074ACE0D 501FBC27A5279422790073173E5B01D76A277A20A435E35013791E3F9A450A63 01500490340D5EDE05B601E526BE1FF2153B8E4133DB500B592FB867053A6012 E43F206C286827791FFC4F26EC27680984015AA0002FD22709A380291AD0269D 05406001FB2C9F27AB0CCA01B227CE203DC30149A0003176228B0DC600B327D5 3604C42D006BC707790034F35022A213D10B9F1241C56A0F3C5B237C2747E349 2684223C9126A31576005009D3005039E22FBE059D32500DE600C50974002FB3 27FA0450BA31EB39C36B1256C10427861F3E5A400092044CD80ABC01781F6DEE 04500F77FA01900864A4018409E701A13D00954900AD462CCE400DE549128A4D 1E01B575005B33EE15C73D188012781F5F397A1A850D4C8A1C82301179FA08B4 006C28830A6111AE691A5AF8125227E947713E12782A83016C1BFE01511D79B3 09EF009E0C6A03C71153F0047B0059C536ED6B1860BD04620E426B12C7239A1F 503185129E601A8412922300790D85062FE80040A650126CCC0CAB691237A626 681A5410B100369F27CF1F405422C64712F8329E1E3F5916B00D35861FFA1276 23851F963D00EA413455123FA8014A7C00864A06CF0055F01248DD0440FE00AD 06E76B1F3D55194EDE1248EB2078003F9F05408601963A0DA004BA00DE264AB4 47269E27E7012F951F5036B91A7834A500693F1FE63005820D299E340C861BA1 01EE4A00770562AB0142F43E05DA006638E15A27B01F497726811B6601F03100 78183CD77848009D31FB80274985126C008406A73C002F9223700C61BD04DC23 65C5055A016104BE085A01BB561F94CB03F06A1BD50C2EB320DA31509B260595 002B62A2157927663704A801C8782F049238019D27F1224BD70E26C64C04CD1A 682F8616950D5A00770D831846770566CB015A2EFA0B477F13B3600E86411CB7 4904F14F25D8492770218627F8380DD1265A1F7F2650B10D4D0686003ED701AD 08D42E9E0D48B322F801530927E6136C004008E101BC20E930C21B75DB5A04B4 00D140126D277C13502ED53AA0315138F42764067A0C26882F058624A4640879 048F0D40C44935BF751A3C5A09D40FB45A22842705A05A23AD60127C0793002F 76AA3D14842357FB05426002F51FC42ED80058B712E1411A800D8E00721DE03B 0427AC01DA510089266C12910036970CCF07AE03509E1A8600A711BF32019727 CC1FF35C128C1A406C145A3892047F2E9724B36C0450AE27CD631A7C3050047A 0D6A024911861A3E542689009E07E9008F0C790EDE0099108618D923A9790A44 B312503C12E435541FF92801850B5007E200B64F2178003FD90D50E53F09FE00 40C9325A14BA65085400E327B30036A420D3403169048D22A438048633009B27 D71F3FB939016CC946177A22982E41CB01AC275CC30160195930861568430CE4 394D046BEE197D0E6D3702BB2756FC04B400E1104B1AD30D82003DC13F0C7504 3CB5410DA66027A129F126C92767EF01AE1AF6395A336B1CA8276C267F1FC500 3D6C3A0020DE62006CF600794101BC6C0063B024F6279F26843302A42DF61249 96006212771A7F0E5401E1395022FC1F8311781F8E480A6C009B0EBC50126D08 61F92050C1105E04A36C125A99102678FA064F0BF7075A3C19E70D4F2DA93AE8 0148DD00B8316002CC761C405604B627A568137C003B631F7A275BC764014427 EE1B6020F62B9A125A01F44609D300820A78009A06347C0D764910BA01CF3F00 F305B40A672C4DB605FE51993B1FC3321A58BF169E27109944197B126C015B12 EE6C136726840435B127CE2CB133D726A21F7A049601A332C1035007E927B352 1A810135E927BF310C7E016B36EB513001EE0948D13F005432C2671B79239F67 02881DFE126C227C1235801E7922940E2FA000D9355C004505DD22AE25C65009 9901462679B85A0A8C0195068000DE229E351792225512B63A5712BF5E21CA2F 01951F7F225A9D125F3147E704791241600E49018A07489C042B750546EA3204 D60053BA36D6510540C700AE1CC95D1A8101860868007205880FD92D426C1859 38D764147A0D34F1234C86067A00439E24DC199E0026BC4520A72B0463A10D85 023DAF00DD0540B7306C058500A208C4560AF201BD1453FC0A7F269112F7782D 5A3F07860134E621B50EFA144F1F7C32CA25491EAB2F791250C10442FB32601A E3355000880850E127520BAE044C39D1008C123FD728AB01C817F25027DA1261 EB1DCB640C51A222902F09940031921F4A7912863801EC0E581FF329A91DEA49 346600B40CED057C0125AE00CF6C013BD512B41A4FF0045A2E630D497C076488 006CE51A2FBD26D921497D1484115A00CC5024D23363401F94275A368400405E 1AAE013F500CBD1884F3124882156C2F92007307DD00A7055AD66A0E6106CB00 6537790084059201A326FD1E3D9B4205D86727EF1779206F26A55A006C1A7234 780C309400A53801863400AD1A6C3F06EF421363B10CDE033FE6054A772646B9 4902940C5F3E00C8127727476227BD44752F5A3E18B666043F5A2A93123CC700 AC38CD22FE1234C427054982127700950B36BC27F11F753B098E4501F904AE00 7106D325AF1FCE3D0F65C91F95036D005036D100A60479274ABB41266C297910 3900EA269928861CDD24AE1FD22E790D6F0461B3002691360085258E01AA08FB 01359E24EF04B0006ABE1F7B2250B40D497A27E101C5601F6FC73E1E6A278522 5C30D2099B006A21792750C0138F254EF1069F00860926F90D9E0587462179AA 00E30547811C720A6C0484004F9B0C4179B801F238501FEC5601790840A41AE3 4B1095267927DB34A6116A0477076CE829007B30E027AB1F79266623ED12D11B 5D019E12E71FB55092197E01F00D5A01940C3F5A134AC321D638156CEA0C49B9 12500DC43A5D1A49CA077B0E8527E13C125608D3026828FD189E125A3B0E8600 5004FC00A80AC3009E1F7C27FA14C507DF003B6C04B10D7A402BD1154D920050 1FDF3100FC092F6D2660CF0DB326F515B5412FD41F60F2093D255A04B16C0430 9F265FBC0483002AB21A5E0D9E176120862BF027B3340456A5126B1A600EC601 A109883861039E0DF536510090053A02BD34531F47B64A2769BE04E700418512 5ABD0453337C0466DB35571486339612502FBA2646500478F73748971290045D 00438504A72DDA27792F81154F396C125001AB0B53347E23921FF5432F6101C2 0F5E34DC1A3CBC6C1054A51349CA0CAF013F59008747335A01950A8601532976 A60F86163EC4610CDC003D5022C265053ACD50017E05E6005A0C80005B9B1741 F900A00889325412DA4100B05022834908C068235EFE71470BA577006C08F700 346E26843105A4002F8622A61DF72E009E09EA00C20563E5005A05991DB52C00 7E0C27E24A39BA31CF22F4266C07960FB9245AEF01AF35F261226CA20041B704 500F9D1ADC3A1B78009802A57804298E016034941F7A228514E1365512A321DA 1A6A26B313C90045E527D400501A7827A31BF96B0D3FEC6E0240F634A32742C3 3D13DF1B47C005268337E54604F2395A207E1733C8002B961434D20C4B1227E3 0430DF22921456A11A9B0EEE6427F2450ACC005012AB46216E277826881F3D78 19D43E810A48A825C45A0024810F6D0864018C14C22150019D05317F0E79052E D1043DE6125A2FD16A008205A749E7266B30551241E826C220E0005A04F72C99 02A008D70079063DE540046C20983401700D7A24FD04920A7B0130A5005219B5 22781254088704AA502785003278D140046023791E9301C107FD69126CD90440 7A1A8301A4791B41860F5D2BB93F08DA015F3E1A7A11955B1F6B973E0560D604 B60D5001D00FA133600022EB601187043578AF05E827AA1EB6334C0064E94119 CB6826DA1F438A12941A4A870983013CBD46296C123EAE09F705CC62007F076C 0E41B93C1278266C1F73266727A65B009237F7490568B91F9E2F8E125A34D122 5AD91E7A27910E6700BD1BD6472F6C019E0DF369135321B312CA00B2106B2C58 3F00B4441F62F100B130C63F0064AE0449C60173207D274ECE07B400C53D01F9 2C08CF771930821F5BF6412A6C01FC13BC913F01D71C59F20B2D661F83003F77 0DE078290D9337510C96014EBF005226C40032F71FA4125E0AFE0094045B1F4B 85223B9D1450A133850567AD00C50DEB2DAF12EF250FC54D1A6012D018503F08 C70140AE0049B30D389C12CB043DDD2F5A386900FE1FCE22513E02A50A750181 2F6C2750D60DA424852F048B0E50276C125526DD1731FA2179410DEC00AE1B78 2A56346A25860DAE5A2700F15300A73A049E09C146276B06571F772F84003E6E D401BE1150F8055D4002BC5A04E200B21B3E86163BF0660CA562047927E1269B 1F5022CE279F3601C11A49F42700EB12D2451A51345E017A05810047873B0CAD 008628A300F95D266ADF1A8528058648046B334A9701850D9A138D0F440964B4 20D7274BF74826E0069C00428C01EB125FE126AA019D09EA038E055A98005112 D4335094124600AF04E60CA01C793B019C6C0F38C61A7A276C49227904A63400 DE08AE26C90E4726903146971A39AC228715357927722667FD06489D04307920 3FC90E5A0081053EB36F0C8200E1660D79013EAB512379280476F31CB45019C7 5031CE52017B2FDA227810803304890D533A0EF55F15E927AF00F426601AF001 C52457BA78330086089400601A8F125321F81934791F9B063A781AD8355A396C 1FAB370E6CB23B01A305275FFB841F6C165103D24715DE4023A3620A8A01E20D B100ED5311D06A279412501A79A104690ADA01508600D40949F61AAE12CD0056 2DD7125AB401DF125534AF4119C76A012FEB1B48102EB127D6125E0892015AA5 2F008B062897340C950427FC239D085001E72650D31AAD00A06C012F9E005010 6E4106B94F276C2C7D054901E048165E30B70EC5003EBC6E0863B9045031BE4E 00934810B200CB500C72CF260687621F6BC4024B093FD72EB3366000945008C7 0132E7223E682741653A23861BA4510140F960003CEB15A64127CA123B652FA5 00850350339B1A830195370D842C78019206EE533513DB580469AD794F048A09 9E1FC826DC370BC441126AE30144F71F408413751A64C1401CAB12663542ED1F 3EBC6E1B66C031D31D873703A1089816E8279E1EA339EF1249792799670427A2 380C5CD300680EF633048422791331F2002B5BE51343F30A3F7927B65A00740E 8926F3122F841A479D125AB500C90C9502B307430425C46C052ABC1F54355C00 7A0554E9048C116C2461DD0647BD0D6B26C860249F1FE8276C2C00AC770840B6 263A00FD3F1B6C327D00660D4B7F1F60D63D1F9061006CBD06AE00DE3D049F5C 007E0994024B88075204DE41089500540BE26A1FD93A6000790D690676018535 03E20C3BEA4400CA772911961F822252BB28F90649861A45B5013DA6002F8722 D8013A13A822EA01780659B100FE5F047F0747851D771FDA5030F45A862D15A8 6E098C01B50FFE2A921F6C3E1FF029C60A3986142752E4004F08F900500E851A A1600D31C31F6101CB6C1F60BD00F91250B62EEF00AF084903BA0A3AD112512E 61365812820D31C627F026C02F12CF25863413792063B32F5000AE2704C75026 FA2FC726A91FCE5020871A4E86245019EF4737DC02AC0878005E36B001C76212 821E4C71C0046C0F60EE7B0450329E1AC240266D1F3EB927D9193CF905A03F00 7F113701E3590040E4226C277322A512C600B44A01941D50AD00EA7704388827 7C1F3BBC6000D9043EFB50018411903E12A2063485229628046C1686243B9E6C 2781164B9D02F2099701A525F746057901620B7750009D115AB001F53E127E26 92124C86410B950481005A0A6C007F3F05B90032D90189077B015A2F6C4112D0 1D9212792F0A9F27D7043912961AA5430C2666BD0B55386C04D508AD0C770050 93045A3060129D27C962930D34D01F4AA40CD7008708792F510EA13C0D79016A 2F4E10B65A19D204AE6C143F97227826631BB327F2480AD32A4CDB025A08E143 AF3D0569FD011EEA00A4243F72276B1FE5297516865034A71C9D21E43749FA00 26874A09CA01FD0540EC002DAD205B12B534E627AE10FB5A26925A0F7528A126 C71FAE16E92D643F00E02650E900691579FE5827E3310077CC3D1A7F00E21290 1F7D346720F42F12CB22AD01EE1F790A1B3DB468079D04387E1A4F32DE4101E5 6C1B61D526FC21C01F933301A20D504001DF0749C50AA80086087900279C5000 7B1249B43D78002260D00F39874629650FE000CA0BB24E115300AF07D40F40D9 017D05850A3075C53C1B842770225A9F1A64D4144EE3472577126322722F02CD 0837A921F904540B710058059F0DC1774803994234BB500149097E015FBA1B52 00F725A5295E00E94601D35205844900740E6C394C00ABFC015012812663F600 5ABA046421994707C000349705590B6F00F46C2163F023A5278633128B29E422 5A37D86C0535ED269E20700E27C17F0447971A53D605AA50215A1B8B41007BC8 3D20792792006A472DC61FB46C0D5504E500A50FBC300D7D350185096C008704 9E0BD801A76C1260E3006B1348B539F13BBC492681043818BC2705860D2BA426 C6229F3710962788126A470CB8365A22981233BE1FB037E728B514D65A260C78 2DED00C30B3286233E7814B0122D8C22417E1F4DAB38D349270AC93E007B0C53 00F95A02750D4DC7125318C1620E8505C600E9501234F52700BC0C3A6D3E0179 B73B042FD8270D69E8015D18FE22B212603E0328DA279E205C36500077D905AE 4922BB27CC1FF531543985173CB6401E7C2F94006C0D5E097901D81A5AF06C0C 5BFB1F5ADF078E005A0CF84D01DA0640D103821C790DC2024186006006690B50 008406339640BA1A476C27499C06CE01EF3A0060F5015AE20DCD0079035B0779 9E4A11901A3CBD6B183CD21F9D3000A0047E2700B21A5D412F6C06965A0D7B50 2F7900B618FA2C0E66EE6C055AB5005034B945045A0C7800F479500082093FBE 16E0681B3B5212F23E0392065D4300C00449F30057069C0EC127DE239827A51F 6A309B00492593003A880138791E40D12E6C2685204FAD179B2FFA04A02B50EE 1750DE26A524C85D1FA36A1657008D04B311DE1A6212821D50C43F0C7C320492 264412ED1AB841002AAC26D66D0443B401674404F46C1E3DE740744732F401AC 1FC83901A51ACE10EC4B2694064486004A1291361A982285087532A238DB5524 11A54612F16501960633A901986000A45A1F3CB2158C227B351A9E27ED255001 850C5001CB0450F71240C412AD1AD56616CD610EEE67058701C0083E9D003B5A 01416A48138723A40D317001833C04F23F01E02FCE223A5A3E004EB546279F05 771A9D26BA60176CB25F2784311271E60964012FEB0F2C921BAF345007BD5A25 04CF0D92177F12660449DC2787013F621B82125BBF1FD627AE1FFB4804C713EF 26CE0087062C944004C430522273277B480DF73F1F7F2F0FEF6E0D692AEA12B5 640B770464CE3D1D60AD3F1F8C330094054F7901843404A62E00AD3212B22050 1461F2126ADE1EB310C700E108610177BA1BFD4911924F257B126C0667E80DA9 77268401E30E582EDC006C0F3EF809481CC40050D80436801F9D571F845009E4 007712952F0079A31F5001BC3845F8329E146B2250AF05C400DE3D01960A5201 79008430633F017B116A1F4FB501D258269200AC0CEC00B9276C04D108C36A00 44D3019F074C002DDA1FB241136CFE0039E55115D35A25DD1F3EE92749801151 931F5693003CE57930048534057F27791F3A733EC4394B04860A28C1340CD200 B11F923300812F04FA0A542069CA0349A622D6004C9A018E0D3B861F5FB000FD 4005A500C737499F23D91F60FB3E0869E22E5A088500600B7900EF096D275735 691F7F2560C43B25A016DD0DAC591CBC27F30D673F12860641D81D792F85124D 14A525593D26931A347F265AC4784001863300A4092F93126A03840838860E9D 04630BC721F53A04E00840CC732600BA5A1FC65E12E80B4EA526007D1ADB2740 AF6C0064A51F5A40FB09BD5422C75F123BB77900279536078127921A34DF2568 F6059F1250276B0DCF3065218103327A0C83015012B63500791FD726AE23D128 A7339B17E60CA404B408F140126CE60859286D0027980583007722E42750FD15 673A01C2085AE27900409E01DE0BB45712DF1C480DA96A125AEC22864A04BB27 A62668C1006136BD2C78006D0CB05A26861E5005429F2809960126890041D404 62F61067059900541FE327053F9E04265D411886013FD66C1739F350126CFD15 5204B95A117E013F582CE007BF1886247705F111BF5A00A92BCA278E205AA510 96016D0E8704810E640150307727476C315500B2044F369B04B647EA335439A8 1A8A0497003C7904A2501F9326471F63FE11821F79380086047701FB183BCB05 457800D13E1A7D00EA12502FFD13531BA840239800317601FB12B46C0E51DA36 46FD5033981B8613502CB74432F31278084979EA15863CA901DC0D9A1B500C9F 046208C026003DCC682600AC2ECE12B7006C35425B01AE138D27713916E82677 096B00D60640F02A533AEB344C1BFB27CD8504BF00F612CC1F83297920CC136B 3C106001D50849C70B5035B50DC94921F53D03CF00B40D3C6934BE0549F627BC 32A327790050970D30AD2063F40E5A349901790A8F01EC0E5ADA1A5DCB12A427 793803EB226C0D940227C305562FAD017707850E5E39B231CC002B7600670E79 276B30AE007926C51FA52F489E6E0D3AF07948046C45277912A803F42F48D900 600BAD4B0D901C47EE4A2783165F04BB0C8000B35A0078083E6015446F3A019E 0DDA0A8A003FF801C21F78268015315EDC126A285A018509AE6012772C8D04CF 005B298C146C1F62129321E2263FC352067A0C5038B70644CF1FB2266C3A8601 339405397E226500D1581AA500BC14497E0D68EC0048CD21E427C9047E016D12 50AC0DC820F01AB500F32148E74C003D7A01E80541B501540933E40DAF05EB52 20821A930D37A128DC01793C04B901610D9C04CC30921B76266C203DBD22AD1F E42D970EA75A2771306522A55A1F84279012A400FA7001269F00E919A927771A 349B22EB1A50279D12E401AD098200D605550A8B015F1FDF27A301761B84225B 3E0056D50527C4480DF04D00DA0F9B2F0886492D6039DA22AE1A347A0C379000 491A9F23DB1B9B225B354B9A0150397C1284045F1276D51250228619308614A4 671C8428633C00C8326300BB5C1B7C199B26F750307B1FBB253E6F0048E201C6 06DC0D5F400B90006905D94006FC04B001E94205B30C5000E22F5A3E0EBB7949 2F6C420BD5005ADF055D0171A70C446C30512241E948266CAD3E1AF210740284 18C827E400AD04F574123FA4641582276120AB347A1F5FC13E01F51C85006D04 54B317A15E1F6CB55A1186365104F801D8072760A5062FC0269D27A2310661B9 6B0CDD6020D52B00BE4D019A11894713E0394F01FB0640690444A412DE3F0052 FE12B42161344286199F03EA6B2750B9265B1A9213581F9234127E265BCF3866 09C3239D402003CE059B374A9230124CB7460E32F000B104C67A01600C872E00 C95027A72EBD3A5F058E0F502D7D0D319F014E08F800B9048D0B5A06F3015012 7C0C6E109F27F03A00DD2701FB084001EF4500B76227792575D01040E3520046 0DCD0240F81B4900974601A7084F941235FA26C3500480087712852757C210D4 2D0077055AA31A6C3A088600981156386C314F01D411397E00C6274BC1480660 BE00EF3204971E8549026907F16227801FEE0426C678007F26D7581A8427570D 3BD21AB31FF739630482007A2600F9522469D81241BC5025E11F772F54386C1C E6279D31A226D327B130CE217E13629B0E47864E3395276B0D792F09C30DB000 198803641475F768265AAD009627CE34137E243BF30442831A77012FF226B227 D822A10034822166C71F96330CC5019E5026F01FB605F400C4139D217904F23E 0D7B017726DB1A46751C83410EF50034D627A6360CB200500DA266163CFC4008 7902C24112FA74214A97034E06800EA322E413519A410BC0013D9501650A8504 57BF19AC0ED23F0077046A0D8300500892005906AC035034BF0426D612C217AF 21E149398F345A3F26C41FB1084901870A347C0F710458F906BC6C1E60CF00AE 0D41950B46009104500EE461029207514009F362224813D13F0A78286F266227 780556B4501F62B222EC126900AA2B0A9E00C65124AE5C1276005787125FC134 5100AD046113BD49276600943405B800336BC75E1DDC3169073ECE1132792785 164BF027C91DAB3C008305672679AE1AC422E01F40FA6A1B47E44927CF227C1C 69A70041653B02940685005504FE954D007A2A9021B81CDF451AE927B01F3E5D 40008A0B3279225AD41F69C95A176CB238491EB827EE12B37927007BE25A026B AE12D101930EA21BFE273B0C9C00428605509E391279E2402E6B159239058621 DA1D3CFA4017791FE62E8627900035A21BDB22507C1F73ED0C4601924A00B947 720349B400E905AF35087E00406A0DE44A34EF0142085A2F850161A50432BB04 630D8101920BED06552F860CF459266C12EC1DA51205DD3B0DED016A30790092 56016B0882009C12E626B75414E93300A804491FED2F097D00970C50006D3C02 50B63C042C9227005A397D1ADA00407901CA6C27DE1832CC1F3EF954055001B4 07DC0150EC2FA10694016C08D6019609750DD12150F404850BAB01E149102A8C 23AE2D12963B19EF27901A6B2F731F5AB9175FFB209E2B11941F52BB39FE0042 B53C125787237A27A71FF9365B2C7812E601A53E00CD30A72976276B8625619F 1551D40541C03B0DA72FC526D8276C05813E017706866025790F970158C126F8 225ACF33A81DD62384146CBA08F7459F0625AD2F4DBD155F40028707A0520084 036C24C91E7F2263277A0D6C00544026BB23902B6826BE1F5B019A126C2D5538 672F5A04C05C00DA0840FC530A8600640DDB23AA09D600419727077B015BC600 7F126C1A4B92126C07CE3700EB0CC600694308B100C6491F7950227F1F5E0489 01CF1A00B904348222479710611FE2237912500DA21AC44A1FDC27A43912FE30 CE277734046B12862F018D0B5C056C01EC1F503665193DE376480A8E043AA412 F84A346712A926D60C9600A337FD10AB1BCA23B112E3780B5102AA0E82003CEE 4632CA07B400EB0E9F26951A367A27619C0127CB2050BC3E0183146A26823404 CB4937D8143EA529DE01A40B2CDD25921C6F9E1F3D5E2F9E187727406C04B842 0FDD05B30EDA153A6C405A1F47E70DC1002FFB149B0489003EFD5A0179360092 095D00C74E057F00A50CD9489F3F04DF682049FD37AE48107F00A20CBF005404 34F0225AE0006D2F0ABA04E92A77135A4632600B49790386355A046A3E1A61E8 4427F7334F991286005A3E1D92207000D80744F512A41A503978059E2F05984A 33FE00A50DE7611291005087046109487926C860045000F22E0550AE06E00154 CA04E21092340094276235732653B708F50F9E7901541F864F02722B5A36BD6B 0330D22166F6174499276A1CB422501D86143900BE581838B9007A0E59269E2F D8247927851FCE6A017C0D31851FA7611D832395003CB31AE614BD003ED24300 F531C400A4053986006C04D9076822B115E06A043AB03F166B86017605C600E8 258413F45D10D40477395B2D501F7826B31B45F526BC360596003479BD40165C D0127927498612408C1A5226FD671AA400F80A9C00416539CC45136CA83E0BC7 3DAD00ED0A501A884507930D552EBE11F10789013EE662036CF560270C7BA312 6B29BC04DC018A0B5104E90F9E2712B138C45008E6013DD900460DF368047901 6C27971F5B19970A7C226D27D31F4EC317A0492AC64004772640D0501262BB3B 22AD265A318811B0006C3D218B1E5812CD01C008B101EF099831017B1A68EA13 49F7270F6CB3013B6B00B60A32F7002968BC015009C62D79258327E51BAC032F 00E03204F26927075E401F9E27E110B16127AD01760553385B2FD96C0A2DC823 4A0778E82A0153EF1A416515791B5EC546306100498850006217A52A79124E76 B55D2041CD25A230860FE504B9265113AB0E810195093F613C0D7C005AF90DAA 017809FD01500BEE0040D90C663F1F55D004BE0040A32779234984276C2F6912 C85A0DA80055347E0C5A9D04289F0DEE522196601D6DA906389A2786124705BB 0159117C2771A2601B539924007BD912B367006E05783500EA1D3FD8338501AC 104F1FB34200A11FBB340466CA31089C00C95026F63400A61ABB39FB052DD921 79009222C82F0949019006378708EF01502E6C0C47DB6200F9365324F112B304 E8269E1A338423621F862779278D1F538518B304E3770D337D2666EE02690FF6 3700DB0DA4007F421FDB278622AE01C51B3FE3501E7F4105D83C01C14712D95A 0DD1015AEB691F3DCA4000DB0A1237B30D2B5ABB3B26770433D427AE22C8490C 9F5000A41AEC2295007D058F5C0F820044922612864F1F713C01AB0785400E84 0176113F9D12AD27F40D5D0180F727C117E0501277225AC2009E368504278F4A 1ABD68017827851A6301C34E00E32CCB0FB306D5003FA70D3B6B2F5001AA4808 A3125029BB3F046CAE1A6027D1330695015010E51650258C00640DCA3519904B 15802E019B34007927AD22490C9E6C0465A92283FA6B0077E904501A9213F759 1A7F015312853169127A266C047935CB26F81932EE2753D50DA84A00B734E617 8E286B13E05A26D127B462077D044C1A41B74A0E55046B355D00C827AE143D67 12F41B40B82F0786042F9D1DCB0046D73B12A23E117F00563865144FCC044AF9 019E1A8522FB2B4AD30B7E005A9B204686058A0B50FC2263BF3E046CA23B09D2 2786015FFC002EBB07EB6C235EF01A89117A00D5310DF7193B5A055025C31F3D 7F0EDF00A34101B70D3DF26500D004FB28C512B5470C60400D50AA018B12653F 01FA3A790440640AD300A42F037A0B6C0044EA225ADD6E017A25D51FB3129A26 83196C008F06DA4A01A46C0060D21243E10D405A327706935D086CB41D409404 E92E9D1A3A91127927DD1253048600359C26E5300ADF0134EB213D9C00853908 789E2701FA5A137224A4300C6C9D1056401ACA043E5003E534A319854D289600 C131018A086201B2406E315A1F86255096052C9222501A8A093D5717DE01AF79 046C3B1BE1059D276C0E49CE12B45023782050B835F11F86123393004727C114 6600436F3E00FC05B134F744276E227E3112E5203BA56C0061B105FE18B9281F F02F055AF522A512780160E3265506AD003EB86014AF5A057211854B13A55200 66BE184712CD264500CC680E40AF00E81A51C53E1F61A700860CA11FC0704906 614001AF07426F0F9CCE163EDA27790A26BB04D10840E51448BF0F3DA86C0060 E3007C2D681F3CE812BF502F7918D11FA102279200309E04EA0C6500419F06C5 5019CF0C87053EEE32AA0DE0571E40600C5701C70AB304CD490B970251248633 137A27840047810165C8270A77008635C80D4300C4631F6C92063AE83F24DA1F A900C93C761E922E0D77E45D046CED32511FB622793D1189067800E10431D526 6B2B82013916B520F52650C51BEC52212C4C97126800FE50128427629B003886 015CE2133ABA401F92269F10C4005E4206970041AD006136F16C1B5EFC125538 981D8C265A386701AD306920A6530D7703862A0879D022A41F8516602C511A90 334FFC12C51AE95401CF0E50DD12AE3F00954933BF45196C2AB26E0E26F40A2C C9206B008C0265412E602604F412D342014D1AB22C06830B99005B05C04F27AB 2068278E4605780EF91341DD7F006C0E8632029127008504F40145B6391A8640 00ED113CC5691FA244067F01590D7908F9048126771D942C4CF5125B3089074E 01C437056CBF0048D705C601F51F82267801FE36009C27CC215ABE3D016C04E5 4839A100ED6605C3013F94007A09369F223E9204395A1A790EDB045A08F60087 0531984934A34F01780CA51A50B408FD01B97B315A067EB626920058A81FD748 37F72B6903F3014ECE0A50F51FB25100AD73092850C83D00E162126CD640AD54 277F0D5FC003AE5A2279095302FA0B299726F027CD31A3205A34E10BB201D509 3B8104E00DB3157D2646A41A2C8617348122490FA004E60E9E135AD31A6C1183 00500F93267B2F00D40D8737147E2778215F2F41B96B0059AC1D69B50DE826A1 1F82279A234C1FEC4104D6007A1761D74727F2341382236C114100B12740046C 0EF236127C2F04850F98188724820E34A026006A3B2394321B61A505265AA815 41BD0758113A0CA01DEB013E6C3516CA28A51F8B3450D300640A75006C0350BC 00488527771F6D24B7501E752358EA0E7700DB5006F95C126CB65E2774346029 7E05409401E931A51BF22BD611AD5F26741F50BB00DF0CB407D404501FEE2F07 F401406F0054366101D00C63C26E115FAC1A6827EB05501D7D105DCC0048B638 D96F1B6AEC38C1491F70C70050E21F6200D136601AB05604773EBB07DF045AD0 013EEE770D2C860434971F841AD7005D2F9E1FD50D78059100E14912851AAB33 C61FAE23DB143E982204FC0E55C0004327A900CB3E0452BD276112923D01CE09 4500DD08B300D923AF1F51386606426A047D006C3908B902F911772F468C1369 279B12790C8661278D1FC930AE04F83E1B863401409E002750C10148A412BF00 9F043E9418600C50079101500A60009F043E269E0840C5305212DB3F00E72AD2 154E841A7B124695125300D4671FFD4A00E947935034B3054D810455F33E206C 3105C2013B6C0D4B8305602C790D52CB4E349B042A7BF2057837641F912F0A85 04AD50209C28861E98125825880D6900F20AAD26C912B43E239E1BEF4A279534 5A01A3045A38F80149E027A53800C00B53058315782250B80649DF0D2FD07909 2F8E0E387F276C2FDF1B4DE901A522F827C61FAB22D2275AFE6C125FA60D8604 9307A050124801920031B127FE0034BC23793801B00B832761013E04790FE014 40BD3A0065D810AF6F2260EC049E1941F912A500ED2F01861A40DD62163F5F11 E407AE00D34932EF3F00E00C4B00F02F4CC2411651A13A5B2776004984005BCE 065A0B88006506D1401BF024A91D8634007706DB49126DEC2741D609A8006B27 9218A55A143EFA5622DA6001F705862679083285277B006712842F72107B0A4D 01C233007927EC223A6C2079C26827E9430A70208450078911A155267118CB0D B91FFA26A22890016023861A477E00439C083F5126DC00356D27841F964411B5 00500BA101C233532A6B3F1297015A1F7E2769B95A2279026B01F83207C804BB 15E2301AFB1F5035AD2C45C71DAE239C5E088100510BB56022881BA63C230298 0066472B7912FC01683D0188047500AA073289215A0DB200C5570ECF143FB850 00E2059422AF1D7F2749F11B6A0158BA00FC053709A50D65CD01AF12E32749F2 062FE001A445306B980A77006A26F50DB107C80129FD162FD61CB46B0E5AB101 D70A5A05D166279226C92F791A9500B60DF85B1AB20F9E05C60D47048912D127 922079481A6C345005A0610986047B00E012723A0D79013CBF4529CC6A123FC6 03500D79D34A34BA11E204CB521F4FBB23EF28BA1B691346C3113FD13A196B3E 1F7904975A042D9B1A5331E8003FDD057202AC26CB0D3F64129B764F22861F3F 5A2F6604A600226398123D5B058800225231D812821B3F6C324B92510AA56201 8B00309222487B163DC1263A01F00981016A0EFE2679278601388227E334652A 7B26E632A405460AAE00E22B96019C6C0D38B326D81F9A225104FD5827E11F74 0F9A0436E9005A2FFB69002793165B3E1F90380E86340095077D2649E3389200 539D00A047FA0BB226EE3A1ED66C0964AD0248966B123AA2401382317A1DAD50 2601F03B00C505F20E9D374677BF3F046CB41FE627D168BD0441AE024F9D00E7 0D26BD3650127B2559F30BCA04329F61006CB07912511FE822A7005A05D72250 C9066B038600FD0BA5006C1F60E95A2781135012F4223FD24C026C2F640D3FBC 7F4100930B6600D915497F1F842495133EB45005F801AD6C0060BF05E75D126C 1AA20C78044DEF1F6C295A022D8800406101850C46FA233ECB123B04BA610CD4 5A089F00E2042FD14214B05527841A7900C80B27591AD333007E094912013D96 185E2FDC13521F9F41007F04E427C605387D1E65E90D41F91D4A2261B941056C 2D479E3B13801134931FA713462177368A14C2014B0DC4043CD26908AA005A24 EA12A900EE77013414B32240A634552FF501AD09D9057A015A107C26750D30F3 0C2D722240C62FDD00501FB5270BAD04E210B467176FCA12AF23BD32047F0050 78F02B50248E002FF9276C225A8B017D4A0B980339B9244B1D7EF7009E0C4CF1 275AB579ED1D4DF300860A3AB8720468EF1B94227112AC5001A345007D2F0486 07DA0131783ABD0DDC1960B800F35601DB2C5CC55401D9065A2F8526791F9262 00318A2777129501792783390F60DB6C0560E90786047C196C264F32A11FC427 E32FA51AD75A1B449E01A60879035737C86801844934611C81223DDB05395A28 79015F9E1AA60E35089A01E91A4A7C04910EBD3812A51FD82D40DE50126CDA60 0350346C2C8712A401380E278406387826A7630127CD223E5A08B9003B5E20DF 2D12BF24AE5012A9369C13E2004B86019108406C3D0D772681094912AD279922 F110B200FC4218BE551DE604C1345019C70556B91F4A25C92E12791FD424B20D E4780162400A8600610A833500B86C13D5375A169E1E830D30FE12D201984100 C60450A00DF80049E11439DB276CBE5B1F750D40C415B334500160F5086A0079 0660008F094726AF15C305DC01421F78CD5AAF12C7580DD30447FB4308A501D4 334979FA0189075892096D01D72A600047690C961C3A6A26E71FAB23C31AAF00 F4237C04630D6E0178276E330C9F4701790D86491BF7650D8632009C078D0197 4800AE3A6000563F11BB26ED501AB624CA0349972704854A00F7274BEC01AE5A 267720730DF35A27841E406C1F8A340A96540081074800D327AD7A053C5A11E5 781E4186269F1BF921AE27ED01950D7D22531E78BE600848002C790131932280 2E12965C1981129E270C406A13C53E1EF4349518A026F71ABB5426FA04C45000 5A048601793460179F2FE51FCA39A61AD203B0690530ED27B436007B042DB425 E14812F9375017EF3152129E34D11F9749006C0679346C1440ED0F50E43D2093 12AF003D6340059600C230A43D129B09E800C25205AE692A0DB41FF5229E1253 002668DB00872A06CF002FC70D5033840E791B6538D80041A1680D4826FC248F DB1A49E8006108AF6C0031E0276C0061CF21A13467008549035B3F0087087039 02860E993E1677CC2F46ED410CD850056C00854800614309563F23D75B11771A 60DF219E45007F03792B5F1ABE6801850AFA016E0C770439CB27AE20FD00B25C 267E00650BBF046A32870BCA10E01A4069075301D62D7722953A12D82600EF76 2F5C01842762FD3ACA401F6C26A24935A953046ABC0141D10447C2185A32F912 3BE2009E046C11003C9B1FA534F61A42C54D0BA41FF339048300EB24AB1228B8 0DE46C1F3EAF12D650326306A341127F0D5E1D950138CD27B3370BF626B536E3 129D0140BC009807523D0AD55B1FA515CD0086043DA11F6C269220B827F55D0D 6A02841292390C9F1AC422862C7726E1197B226D2757B712E7279424AC014063 04913149A0153E04CB5011C4014C097903B30BF301770C6320EE361294246034 8601780B9301AA054E81173AC450AE70056A0D7600852704873F017A0D53B51C 500E5A04D9791B6B3B05CA5A01894400BC1DDD2700F627AD00B929488612791B 50A219840D6C00781A7C0E6A3B26C912B16C2240EB0850396C27E50E45CF04B4 375905830031AA23D72F630453CF0169385801FB08A4005E32A2008A043B6000 7F0A6B1058BA14F450017B0859BC7919378826762DA215512F7E189322E0137B 00487707E600B31FF327BD24742B851B3EBA6104291245E221C1279F1361ED0E 64CC25AD2D076CC92F9A3950004ECD12A14822ED2F1479278301518D4D056F38 6910F9006608EA015F3F04DA1FAC2DF327AE1EFB4F01842F009E0530679A10AE 094F901B5A2F7800E13D12C354087C00A126E01F4B32F205A53E127E1F55D405 46F612CD1D9E4334C41FFC30086F3D1DB726E31F4A0168F100AF0DDF2364E900 44C43185043EB529CC1BA6395A1174078000520FCC25E801530EF26BBF003E86 015A09D04022991935770066E33E017406F616A72E017E3204791A61B508F110 3CD10931C019D7049E4B26C04F279D11C6552780074A0190084904873E17F54A 12BF772600F420853305B200EC10491669A4401DE6345A0F6E097A0086117919 CB4D2FBA0E40AE144F78266C0DF1044C7900A245C800780D6000A710D4260B79 1A82008F0438A5125F0049AE5A096C01824A16952F45BA2740E0620079139827 891F3F50961B5A33DE385303B80055E812BD1F5026A6247A27720B62FC1F5FDC 0FA900376E2355A512489E016B275A3F159234018421753300A4235AC26C2658 CD6C21D85C047D355301D348376200DC412379265ABC7F01500B86019D17F837 AD27C726B5215F00960450860129960141B0008227A912388627045A27D93598 412A8533984329CF384F1FBC56088326F912391AEA269B3405FE01D30C630493 3515B430500ACC0179092706F40DA1009211772E7B0C405D049200850AD600B3 21C43808B00040862650E2049800612D7C2053E70CB200DF0555D20EB805FE67 0EEA003A0DE100380B9D002EA21FE6129B1AA704C4551E6CD4089A01371ACC27 F02F612277045F01820D5A0344EF2740DE133AF15223E51A36D91671015CD218 67E4129F026B0CFA05630150BA04650AF95C0F30DC1B95056AC679005D11D767 2279278B1FEA4D059C4204F76726A431E5> >> /Magenta << /HalftoneType 3 /Width 167 /Height 167 /Thresholds < 2750BF12AE00DB2CAF27ED016822981F3E931A3AAD042CCE0150FA12A22FCC0F 5A008605953F19D0279A20673C26FB1F6C2F57400CFC1B62375A04A46A005791 22811D50E10078174999207926CB340180045ED9173E6000B11AC52261E112AD 502295278620508E02664501602282276E27D0116202E0690FED5D1FD712BC6C 144925B51F661391228519A302E6340D6CA53C01790430D82254048F4500C407 E3309C0477228406960045703C1A7912841D3DBD520AFA0450D70C54F44C168A 256B376000459E1FB925DD4D2688106001F00EA95D099206CE00BA78013D9301 86255127DE1F3FEB0AB5043C6A0CF2013BDE0A880355B529FC1244A007E62747 6C01863006810135C6035A0CC60547E90DB834ED500CC8018B0A50BB364E0082 28049C31603E007BFD6B0D54A64304BE065436611149B228055FB41EE54C0778 A23A12EB3355396000564015C749F41B3EE2059B4901C7064D96043177267934 00A02701973E08C300B31BE013794704613B00C40340A5501A790141BD336722 8D1A2D50B40DE32DC4019408770160482C7812BE30508A1F62442FF012751A4E 94002F7E228F04F83D13D5521BE969123BF041267A1A2F7F1F72042BA11F5721 E82F05861AD12250B74100F326AD1C3802D53000F32D6039FB00BB27800077EA 1F52390B9D274201C06304770CA511B81BD76201380D5A86216A1FE8315838F3 1841D800A20FB35D1D7F4512DA621F770D53326C01E7349F0D7A1F64E30639B5 27DC185400E83A0447ED12683459156C4012AE2FD711A800F7561F942707C300 B3056A3F00D0073CC15302A60D5C269F700038A4270AB2730063B601DC5E009F 10CB78003BAB40016AA626790797016C248F0B850450B8551480400C99017D25 6C0A40D8223D099900CC6E1A6AF126501F9F27DC226C27860B32B36CA13301C1 0DA500930D78005EAE126A28E0052FEB0DB66827013DE92B9904A8540D8215ED 2AB114522F7C006B0D8622810D5AB36C008107D000A805F95026841C87257E37 087B00DA48326C12861BA85B2685216713F21A3FC701430FBC6704895A1F3F9D 1639893E13C3325A401565F4126FC33C00FE125336E812C61B5A34D60E72009E 22C14F1BDE12A519995B046ABF4A12614006B700337A00D0087B008F05F90149 83052700DE5A2776346122D326862F02822690144D9E015F390079B27F045A24 F23E1FC122510190087500C012F3309A01C72FA93E1127C3269D1F406E2A601A C9005904C40C48D322A5129C1AF65024D501339D0FE00178284D83126AE52950 1FFB3300DF064DD4096B04954C01F505AF4708990449178D2761BF0D46620447 DE15662C40EB1A77128434477800D43B1EF12A01A732F9268E205AA61493345B 12BA2F46783DC212EC5F9238099F00F6088004A70ADC4F1BF50140811F3EC01A FE0A400E50BB00690B860047D46A2149F746268421AE1B3F5F047700DE490B63 044AE409BC00790E3EF2355A2797025038610458003CA40C4AEE056C2D47AB04 D300AF3C0885007F0C579F2686122CA51EFC3B0D7927861A2F812239E05B0CA4 01307D009932790D8500A207793C04E500B20526904D04AE0C49831F6C0C8001 EA3F05DB490CF4395819CE260E6C2F4F1E1153D013851AAF2E47633A139D3F0D 60BD04D56C038650266EDF1A3B7B27C74F2F970530B801680D9D04480050D612 FA264E1A9C32F638A4228C1F3CA1476E0B7800E21268B401EB2BBF7912642E7C 1540BA007B0E406C2F5A1F9A22D12DB83E116E01F35B00416420B224D10150DC 00BE6C012CCC1F41DE1FB526F900AB25C41F5027C95126742763EE3E128C5432 9E12D200B2193B6A12862F01792485037E0050AD04D700B27703406127426C12 FB01B852006CB1233A550D35AE4012BB31009226D9073D02FB1041791C8726CD 275FE7790C6C3B0A84B5620686007E0C6C0154EB0426D42DAF244A90280D861D 751641E408B300C7601F53E726B519FD0DC301416C066101DA2FAA402379CE07 91006E123E9E0E5D3D1B9E78004F860551108718405C3B0478F1016009B00DC7 0A5701C62700DF05792474275ACE00BC2651C71AAC12E334A20C683F1F7E242E B822ED04C500964327721FE732078600F378165A0084045AA31377125EAD7214 61C000DF0A5A02A2124C269F17B754014612CE235A1AD727B535156990016605 813904FD4934CB059E01357920863D01900D3B70065A017E2656EB129F22934B 14771ABD043C5A2FE527B8691F49B405EF0A4426F1126ACE3A0366B305E46C12 418A1A9436671E88219B3448861F5036F0049B0D418F4B089527600042641B49 EE16BD5A08FB7B00990E874D315C08CD049F0D4BC81A653E05CA22ED27D11F41 F704B340002B9B1F3B924534AD40317600C504397920E32782013EBA4F00730F 5CA60A31BE1FE80FBA5D187A00644627BC5404DA4A18FB26AE01D037AD4927A2 0B3E5F00F53F08C000690E861AA51179065000EB0479276033B369049426016C ED203C540F26BB002FDC4901F95000D75004FE096BB9015A3E20E304371AFB47 04E036B5049C002E8F013485260C5519643F0BE019A522684126920147D82091 287911620886015933671FED5A04E20D561A7C00F806D53D1F62F300690E9F1D EF7804328722FE0041DA461183276D31009E27AD0CEA106C1F8F3106802C7512 62411B6810E0008618B134541D7F2653ED3149DB004F34C91998355912D20084 163EC02F4AA541099E00C87B4834A26105279E13318440108526A5122F940DC2 6C1466B77801388215770D6C27C8610F54DE01AE40E835CC01A42781013EEF00 BD51297E106C00A5093C9B4025B71AD4009E0A368923A701E90F961B61127AA5 085027CA5805503A1464DE08A52A7A2701975000AA08CF4312E11A51329900F9 0D50CF129F0450BF00EE057A1F6C2FCF048C0CA701D435049208276BF9025C38 6C13AD3046A00EFB075F00E30B298026762E01FC06530EAC6B0270B4042AAD1A 610047DB1B7E26439E00491165AE0AC01FF62587063DB840226C1F5D1277257A 1F6C12D45A1B7F360AFD00AF31E11F53C500E5500D7F276E2750BD00792F6B27 712749B950012FC01295032E77C400B0214179129205CA501AF83F1E6422855A 016CA204446328409B007827DD361A85259733C40493267820E13266129B411E C6780B2E860DA500F7087B015A3F25A12179136EB91AD911A85624811FD53D19 EF3E0D64E2014DE83A79055100F3032FD227E91F502B603E007A13E521760086 06D204BD00AD0DF3009E3308940450A516436F05498B02693814963D01AE05E1 1A6B3E12C508B004CE006B22E848266C3649DC1A3F601299012FC61F54128639 0577B601F4043BC53F22D619B001C426551FAB00774809B74501613D0EF3005A 4705864800B855013FB4601FDA23501F9527E61ABC6C034CC53948055900693F 0CCE009E4B00864D25C52045930D7712C527B2601FAC5A0D75067C00DA059C4E 33AE01640DF327A532921F662D5339612749B922E412622F9C22C21234FA1F86 4805F2532278108803FD5026821F5834970C86059E00FD07A6009D0CF52D47E5 51006CE93B00AC5D0D338C26A70E600690007B24854905F05F0C9213F7305B17 E812B0521F3BAE12BB22FD2D6724EA12500099053DC16B04620D820032DE0F5A 00F62FAD35EC1F9227773712B42F079800860628B91F5A006C0B338508399D23 CA2FA0226C12ED045A389E50197911460050E307B504CF0C790071277B01D608 600185500BA201BF2C6512C835B145305A0DD8003EF91346DD19416E3D158122 6C267C018C076C0EB43E0465D42240E04C146C2D861FEF2F5312F60B35951239 CA237F057400974E287908C86C277F005F07950D7B048C21D1264C830133DF2A B42241951F8627991F7A0184086301B308F86C0465E1125A34F56A013AA135EF 41D01268FD045001840E49B44426811FD10030C90457FE85263E6C1C832140FA 3B12C6258B1C3FEC3B1AD329445C0F92008549006107D201A2279C5D067E0160 30B50DCC5227D60FBA325A22C01BA14A1F8C2F0987027800C207DA006F4209BA 6C2750BF00487A015A27A522CD410CD600674001E31B3ED83A1FCE27A12F770D 3FE81BA5430B860150CF086A01B60A6012D01647C24A266B321AC1225039CC1B 511379DF49087201268D005227BB5B19F9045A00C308A20E4185229536130AA6 01C95000A16A015EAC055900B451046CAB009706E23D22D0310CEA279321791A 6C1240BC24A72086013A680492003E6004E24100613C01F011A54915BC296421 962750C7139436019F07752BDD1AB20FE6018A3704832350A41A870A50850379 4A01610BF201AE6100740E5AC31E3B7C1A49F038503AE34D288B225A0FE0009C 430A94007C057800BD400D27CC219F502FC51A7C0F37912779208F35682B4FE1 086901B25CD624742F0EEB341389205038F3306B269E0D3364267F13A8500469 9F1DAD0D6636C405E6006C3B08D51454F026B91A4CF817920D7E34D50D94296C 00F6355A0DE9500F79043E6300D65B26E21A620485276A336D1F59FC17B8320D F6263AC519AC12ED35B151156D3616BA27F127006EFD04A4005C0CC8047100B2 06F40386277B12D55926F71FAA279534026D9D00600CDE0440A500E26B00A409 D64611F8017816A427EF1A3A007A069A5A2467C507DF017D0B920EDC194BC60A F0013A6C1AFB12503F0155F6004A81268A1EF34F2BA40979005A349A096C26CD 1F9726791DC624851A7904934101B92FFC1EB131511284003CA2400DCE00A408 C00E3F7801945C009966007926440586002D9D22CC4604780948B140106C28D9 238627A71D41237C30701AAE04613C018031630EDA095CEC175038B0294A9213 6A32541ECA123C6401AB1F4BBA46006D0B538DB327F63904AB003E582DA31ECA 225A0041831F752759BA008A287A00D8762E17921F3EB70B60049400673348AC 11DF0148B244004D05FC01500A6103AE27E237199D2481006A0C9205EE33B65A 15FE4C207C29692786004ADC1F3EC01240F1115AC26C2450C70681005A991FA3 6B042F9F2085129E01501179D85A0E9F00D33345E71FBA12A001852C8B2245A5 04FC0E79003DF108BA049A304EEC1A762886055B22D82697341021721650D912 851E921245650448B135F905AE00CD0D406009C526A43305BE4409DC015432CF 4212BE1CE4042E7E258E1C5F1279AB59216AAD39DD5012720051CB055A15A827 DE1F406C024F0979008A3D0AEC03D21AB42F0B7F055086042E8F01490AE41268 3E1AFA0D31E1003CD66006CD003F6331F969054900EF1B3C6C0EA50079054925 C7195000AF063385269827C71F5D421A734501840653D00040E90D9F057E02E3 5AC40BA700792849F409BF00E9327B016D1260236C31791FE33D126C1A855311 995D277714790083354D840D6CCE01680DC427ED03380BC02F00860633CD26B2 0C6831EF4F0A85034AC713A421D427AD1CC35A125236790560AD26EA1C46D361 26DD1EA3349901D953268441128623521279275AE807AE0026AA1F822760B805 51218E275AEF6A0D3DFA6713D25A006F0A64057A019F2DF612D422AE2F0D961A 60306C4714AE3F0138622E4E1BB803346D247D0D9F16D727A52CDB03A3089200 57B504EC0138F12700A406E922AE1AFA0128AF45123FF63B00841A5BD36F1F4E EA14479B00671B96267F0139C3223F7900672D780F660682012774AF0049F612 3C6B009F0939009D076B41005C2A790CB201CD5007B701EF1FB00D3A6C138A4E 34C4089D01417AFC3E0CD8124700B3770426833F12E61BBE34E327B50D6C015E 3779007D4935B501BF12F62F661A8708FC01CD6B0D5B9501AE2F41613D0A8400 79145020F9267C17477922AC5B076AC73986335A0D77269A630527B758058650 31B807490093107727BD1A56FD3E01DA0EAF6C005CE612AE26F600B437E73049 D8401F85152E9D01CB58226CB3751351B522FE15B404396C4719932E6C344980 01921AC64026E20C723E1AD1123601AC5D01952A7F1E5337C35003982F600186 12822250CA279D144AC312FB0477275A3D049D00D84AB01F7E123BE43F18D750 04F900C15A1FED0D3EBC5A049F2DDE0C3595102F891C4E126000D44101C3113C EB79002C9F1FD812417927F433B604520D832D06864E1F7935129E3005861C84 123F5A046B11A02501F109B9571F7E4110FB280D3FE83B027A086E2250EA11A5 3B00F80CA1043EC92F57009F04794300EA51256BC07615347924CC04DE08A600 2CE01F8126A3205000EC083D6A00E7072B9421500EDE00A9621F820D27005F32 A1056C00A02A12861D6C2605962F529800348110680160CB004FD901B405FE25 A81F952F50890052126CE0125F0471009E0A6C015A38E46B01D74816BF4305F2 501FD24A38C90449D922A81F7900508E4C346C00E10827930049BD01641AC527 AC30CE01624004D778205312DF1C5B0BF5472C6412B53160048E00490B55E91A AD126026861F469C0B6800F6073FD05A257F1CA8411EB065033EC76A1B7B2D0A C83A529540DC0448CA1F872660A9074AB03AD14401CB2248E126C41FAF40267D 1F6C3E227F307904690BF20447C820A8350750B036E62A4AC921A21988002695 129D3B008A2E61017C0977015D35960D84013DFA31BD0627D712A1344EC55333 861F9D2786115A00820E791A912A550969BC274D96007919AB04D3501B810DC9 28F426A32F07870040933B0DF26C124CB9491DAB7603359700D80486325512D9 6D013BB507E7502701EF23860F79225A3E08F70036DA2279016611864E04850B 77003C790DF805B30AE65000CE0F49C94626801332820342BF27008009AC113E 630DD2274FC8375A04F05212D122AB279B26EC1AB1005027C85508760F429A04 3F5D01862103DE0C5E06F30147D7501FA02FF500C022A03300860538C5258D0E 753701FE279B1849068602D0632757F904C45A0140CC005C0486310C62B30F79 2D600DF200864526911F57336B12B4784A0526A91AED01AF701A479C016112F0 27B51A34FC27B21D5EE80450198F422D621DA527971F5A00B208E0631AF45B18 6BFD1F64269000F050047C08600DB430662694046C0BFA00460E812762E50578 19B422EA61156AB11AF70D4097492CCB396A31970535E2035A2585156001EE40 1AE46C136129DB1FA75A0C770063B85A1F783900BC0B3D6A3924B11A357D22EA 1145DB2719FD4912AC5022A23501A60AF2009A0487430030C15000612F891239 BB691331B951099200409B0E77019442126CAA325C00C803860C7701ED179127 773900932F01860D409D01D61A7B2340AE1FF9248401790CC41A3DA253146AB9 5801CE123FA02F4E008B3801CD2F007B2462B626058000931CBA124085179B0A BD0D48DA4E1295603001A5087C006B063FB41FDC400A2FE10E9948218F1DA200 79056CD9069F2756AE00945A0138CC00347D0550E3155A357021DB2811FD6A0A E237B51444D602540CE278411F812650DD04551FD52C06BF3B01EE0FA1236C14 D934582F6C04D8124FBB0D48AE24CF05572F6D3C0CA5016C3B009F2CDF20A500 4AE60034C521491F862C77095A04DE6C0D56A32250E412A9300050F119AF0F50 0060FA00682773347A006C05C22606D0431FF634B027EB224C850527A56E0066 1AF15A01DB0F49E84F102F851679013A693F0DA06C1F61DF0EC01C682A8512AC 400D549F3E177B046E08790050862696003A05E801C90B622AC06D094C97501B 8B27821F4AF5394804C109B2502285015C37D9137730A51FEB04BD5327DF14BC 501F78123F62328712417E077902F308B11AFE23921228C63304821A6C3E0679 CF1276376027E17B2F0BAD26D201F127B41FA4324986129A58016F0D83019410 3BBC6B0143C5279E0435822872267E1FA54100F327C01FE51BC4330988054379 279200BC05EA015BC3006606AA2C9823F127BC320EFA1C4BBD6C226A2FA1167B 00243BF5002FE1125300BB0760009F6B267D380EA127FB1BA1008D056500840F 436B0086073F600EE80155C904F7095AB723DF27942968337F00AD3848830065 F50EB604C7661F405A01D60A780425A54B1B8B12501A8B0F3E5A0CFC006C3A22 9E27D71F532FE5005014FB32117B1241CD08AF01C8075D03C0630D50058D0A6D 0149EF26B82F01FC183A564026881F3C7922D41A46005510831D6399043A860D 2DA70E79013FF243B7811241790565D544347827BE3F12F80049E40057067C28 6027F121C7502CB418F933499700852792340E791F832F049200500CA900D70E 406001EB0AB31E4F395B2E4E01E909BA345222C15A400ECD3E016CB740046AE8 02812750BA03ED0C470066C10444A4277F0878AD00E3611F6C228C1241FE2D50 1C79AE3E2258A42782004E129D5A0C6CD512AF62089E04F2500172C761A53C01 DD063EC46A01DC4700FE1AC25F052750045BAD189D3F0D9204E80C5804862297 1E6134C24019DC0B711181370992013C5A12C522D91A6C06AF5A27A401D1501F 3BC05F1D722654C9129D206127940BD8009F12882679148D047F3900EC700564 E73A0060C9233B9F1CCB0E61401F65BC7912358B186105C7551F3E522702A80D EC50367900910BE031006BFA0030D9135FD070033CB44004770034CF276B1536 AF270C2D12D15127A316502691199E5A2695331178A91EE03000D12701A82666 2A7B18DF2F5A0CB8028210699B01AD39BF0349E41B67D2028B0A7804A12CEE41 00E1123C6A0FF56C133EEA05A201327C277811D5016C277F25FB3269009C25F5 1AB22648139622501F94300692005F44017915AD7F045007F35A0AD02B763E00 D60DB5804B2F6D0027BF16A42377045ACB2712B2500495264822E71D6024841F F85A127F00A46C0E41F77C48098D00417700E708603B05790053E43700750D89 611F6CFA4A12CA01A3386801CF50279221D40426794B165A329F00AF441F7529 A8263E6000531981265EBD009D43048F0049881FE15A07F100AE36851BAC0D46 01A41FDB2B770186076AA13B00C408AD0DF74512D418B12FE43D0027DD22A029 1AAB4A00F41F9A26600123FA11BB3E88046228D813B03D0D7D4107863E0CC401 8608A000DC09A63D01B922E43004D76400209E314DF612CC5A1F40B813D727B6 2A0764CB23B30736A10E3A0086315312B9208D3300EE07662D44F73C0DE8007A 237734049D0DE40063FB0DAC35C7059B0A46821A2FB125C8340F7A391493223F 690448E8005CCD760C5104A90E5F2FDB3F01FD5A2779286C1FA5502B860A6C04 5AC4480D6D004893013785126B0449E63B6E054467194AE30C8400406C1B9F01 D84D1EF5531AAD34426C2C48934F1B8629780D509B3D1FBA5301C005277F2F04 AB6C008022860D6BAE1F3E58154EF1024979B74F08EF6B00490BA86D1251C700 A450049026A90CD91250F4304D22861B503177136A3E1FFE2905DC610D4E1266 D90450BA004B9F1AC412348E234A1338C06B234FC1125A1F84310CB700D90285 09790048F924A72C097B35B53AE21163CA22AF2FBF15780FC631AD00D406339C 2653BB01EE2E6519AD3700922D6915FA10BF01370DCD054901AD1A5D129206E7 6B196FAD0D4686233DF3115001F83F009104EA7D016C27CE04341F9C1A297AFD 5C1D3CB3401F771230B91C772B831F95076C00C75A08B301C308DB01B350006C A73A017AF177002D9622652FD7055A2D775006A502E47B3E07F1003D7900CA0A 9C4A1461385422E426C53704771A9239F7016B08508632067701820A5F299D01 8522792794500FFA1A68345612993C04804611DF057800502079E96C2763F558 25C900ED49350C27D738005EED01C30D5634C9385B12D32F520E26C41B921240 E6710041BC0E3705D60279099605DE7B014709CA01602FBD1EA012377927841F 40582F6F229412491BC2400627B44201FC08760E40F800B10DF61A622743129E 27991EE74026791BDF368C04B0410165127AAE0EDC0068169D24D52700FD461F DD274FEC04563F17F40D5D01C63C008605A509C7005AE70DBA631F51C728AA61 054900B2094612852F8D290285B25A0469B91D41791A77019306821A97490ABD 7746375E00B464173CC9650459AE6C235027F3335A3F1F61EE6B2750FB005A3D 0453D800F21161B604EB0CCE043EE7780F2B9F470C6CA31F54AA2686126B217E 2750B500D35B016A0C6E0456AA056900A410F4199234A0500152345B27C85104 4A129E40125DA40D950035A71FD664044BB3471F7B502ADB1F71277F1F406C3B 00903401820B3DCF13861F9023D401680D58C426003F9E1029950C34AF26DB1F 6B27B20132852700A405FC30500A8E015015DC26480184B600620CA300BB0D4A 008E123E7925E77E186C2748900126691B82275BAE26005ED10062ED18328300 3DC60152C73E00A00437841535BB27DA2F881F3FEF2286276B276D0DD9062BEC 21BC01800A2279C05C0475B600307A1AC5690C84003395267712ED04B8124099 01F80CAB029B17EE23A6471AF5256C2F50E1006B34A322FC3A0876DF154BF948 01D86000812CA703E30F5AEF0461DB1A6C129E23D328AB2679019E10EC143C7B 22C51A52259C27D620B608A3044027C1059C0A3ECB3AAD48009F1F096B983415 86270559C111E3144C96270760DC126CED0949851B7A00A208C5015C3C03D207 BE0085275E891076133DAF45EA3D0027EF2F1B69E7065A401FF02646B70EE000 3A6A27498B0060462D6537D02750058509D75A009403BE07359D0F7B066F0060 A6210592260086385017F4095C1386349E1F3FAD12502CBF550478006B07F61B 8A2F7F1F6C04E248016CFE3E0483065A35691FCF7400623550D3126C007910E1 364BF73002DC4D09BD7C3803782784043AE979192F8A205431B100FD10551767 26860EAD761F50355A1BA70040B500F1790626621AAF6C0856C3034C37AD007F 055A8A01791A50A405D40B31F122BD0F9E075700B46627762041B812551F9544 1AC427E127B212317F5534C06612CD059F2349C5460065057E00509206860038 EA20A41385345E0BD80050BA2C5A139E3A126FCC1640A500E2500D47B20EED00 2AA21FFD4F2E6601850555A51A92264401D7501FB323CD0D4700B84D01CD0593 0E742548BE39F5491ACF420C65B201FD3E0CE11A6332501E6BCE028E0C349912 38921F7B23D828A2123CCB2741C31382216B9F088101791FE426872F0DCA009D 042F77DC4000EE5001680C790452F01AD2014F0879276C2F7C125421FD2AC627 E0203DF91748980C502FE04000C55124A236089202D15008B400305FF010792E 0192321A85267B4C06603F04B10DC122CC12783C00F9752564078E00571AA071 340C954129671BE02DAD016C075900A52F00EB331287217E4E2F9D05CB0BAE00 3F501FD85301DF5F09F601980A5001F924610693005E34AE003D5918D2395401 6C12FE49395D13EC690B3986266011A62F971FCB3C016C0E8427EA1BB300E504 AD01770B7B0D690C9C015C34D71D65B8035A0EA64604790C65F7276B3F268621 4892042A961F5ABC17F45D059E12DB34BD1B8A27791A3B624104BC500D2FAE14 E94836FB68043EF3601FE500B552046C0C871FCF277D135A94227F4809C300B4 11466C2284299222F9760027A33A18842D62156BB53F1B9E12E64D2DFC024EDC 12B72F5C1AA332BC3F007905AF34501FA8014FB0047A26F80040630B9F40B821 9D015037851F6327D936A52647B94B28CE1281058C00357A26841A30E927BF19 4500AE0AF00061E21BBB5301D708387F0141C620490285006C09D601499D00E8 296C1F9E5A007A270AA4052FBA12500184127A4426A321D73550019E0BE13A08 B701DA296041277B03FA3E01DC0D5A043AB56C0D5AC500AC26E3340E7C4A046C 3D0B8511A61C4179049100F60585095FA51BDE0E78019227FC123ED11A871259 AD18DE4A250575115FA20B48CA0D99068A00E6045A0086096C22C62641F10BD1 01BB610F85003D9F5A12781F983401760C3A6D26854512AC2F0070B45A22F932 9E123EF4147F268E10DF053ECF0DB36C204286007822C8279D350AF7008B4112 F061256F1F81492761127704EE08CE511C66A0174CB97F12501AF204266D0D79 0158C200DA30AE00CC1F6E27800C34EB246F125026E2143084269E27CE154A05 8B24683B02BD3304862E0082FE33C63F19F600396E225A146C328922F01E45B6 49015A9F1F6C277639009E1F54E30639D128B61142C62680EB0EAE00F8661F6C E90E3D0896127D1F5EAB275007C201543187186C345200D36016DE2AA2085A02 C3771F3B5C06960433C700B205F8009838A3521F793600B107317927003ED405 9E35449A30D2219F1338862277195D339B05E400C0671649AF39C56C0044CF04 50007F0A60B46C1AA000EA50236CF10D60BE1467005504842661A601F12FC21F A412792F98005E0FF538068600B411FB4927CE0476257D016F055686066C0034 8723603204C806502778E1285000C8085100A16C2060A50046B601F11A9B4002 952683133FEE2750006ACC18BC2E48861250365A126C1BE1022EC614A86C235A CA01E96E1F592C6A00C95001624304EC5005BC0C50F00E653E228A4601940660 014D20AA69103AF15A1EE62D003DDC0C447808AF00377F1F50380EA427DA0DB5 431A781085016005D1024C12DD27A01F67C51244623F0588126A3448AD1A9326 F43819DC20B34C04D10B9E49399612C1004304B666269223EB330EE03413FC21 663B23810E31F50D4A01D165057A0FA63904834F0DE60068DB19A532C4500D40 8A00600A2EE4143C93410BAE04E51B861228FE12B332601F792784013FA200D0 510F30F627C81AE70D7F043DB9790C27890447C1205A2FB81E6812499D04D901 95EA23801F6C3609D227B2264BE946276BC25808740482015033EA079D2D50B1 01F00A2FDA0E62006C9F0D3D5A1B81287914DC015A347F22AF6C2E0DDC017912 8541009449097904D54C01BC691F5AB46C0B33AF1DD94815FB3F017922A53908 750184042779BC2447F1419E0086045B1282257933B008498B1E94007109BA00 F822C9265A2E6C04B76008792384309527FA17500165C632AD6A0985047E003F C82EE71A5C296D1F005A07AC00E356036E00790D5A0A92014125B334E626AD19 93227D12D900387C228E4D00A227C431035FBD00FB0EA7006B27A50DF504603D 16EF4B375A28D205B95A1FCA2FAA3F1286355004C400471B9F58008130058F52 1FC527921159BA27E62041FB01570F9627046E3F20C027FB00C347015E39D900 6F253FDD2E49861278049209E1149C381EA5145200B2075B009225A41F520040 12F337B213F85A017C0A3EA512C7433AC24A2D78123FB033FC1FC427AE20F816 8800600E7830CF005A04AD2162C40D5A04BD401B78134FEA402278276433EF22 871A7B2747D00586007F0BA50445673C047A0C6D005AB406E9128D2E7726FE12 38E22260BB3D009A095F01F33102860C5A9E187330D70069B512D9590D991E3B 6818EE117826A912C9500D810340B534671CAD227C0050ED0142D16C1249C146 28D405740DD979295A0049933019912550BC045407980D6C01F31A9D23690C42 920481007932510DD9299E01690C47DD4C2779175031E03A1579FE059D016B0B AD08CD019B095001CE5000970F6924AF1FC42F761AAD12F722AF26E32A1A7A27 6D22D80D9E01417E0D86015011E72448D64B227A441FB1370050AA0649851A3C 6605277E0160A6048A239E0185053E6001AE1BEF105A00E44F015736C712692D 8B0527DC1F77127A1A3FF8335004A51ACD270D63B006DE006A34FA2F62E12690 277C01D7059F18623C13E24807A169237E13FE2087276E1AF400A5088500A45F 01275621D427901F3E8550176DAF3F102FBC1A39FD3B08604100F35100782C85 016005934F00BF08A400832751C504AD26F31F8C27750E7D05B400CF60056CCF 0E27F21334CA01F646AC34E81241D10C5231E11F59F51A8F2977279D1F8F0D26 74FD1A499F00BF0E3D9A006705EC01B260008416872677056CE2013779279A21 8501A415005808AE0E405B3047BE00D2502B1AC83A00AF055A36A605C101410D 922AE61F6D1240CA3BB479115000E4600430E6270562EC790C5387019E49D612 8B1C34C52699143FCF4712F0433161385818E71D6A3F17792A6C00C604B22A66 12953E14EB2F1D9A5A0065A30C862C006C094D86002776B9004A97133C6C0ADE 005006D63948BF2F00A707307E1F53F54B34AF50238638129D22CF00E90EB53C 1D47C412510CCE1A4F277838CD491E6ABC11ED0155316912966C045BF21F40D3 00533E147AB75D227901A72FF8026C0C500439B9692D15BF770C57C41B4B003A D6461E6C033D6A06B45E0D6C02E1590D813C049E0CF904B74601790FDF5A01D0 0CA33060411AE235562391004681043ABD401F752350B81CCC213DDA652F1286 360AB200C0502064C636600178089641126CD8043E97012679092EC8145AE407 522E6736435E0079A30140F360006FD804B50B6C04FB3B007727791D8A08F401 34BB270A51941A9C0DEE66254A01C8123D610A4A87279C1FF27E260597440027 A435008226B66D0529EA27BA1FE3285001EB1FA03600B31CC75A247E20861277 2FB33C00329E213D6512F1007807A003FD0B63BB12DE267907E500D011793F01 95075503F84806D066267B3404942F048517A627E91F5CCA3D2261E40C47B61D E06001A004306CAC01C008AA23FD1257268C0E27872D1061419D21874F26981A B40DE627AA229C501576AD38016C27773200D50E802F4ED91DBA3407DE00623E 005BD90E6FF6470469DE1294183EAA6500810A900197197A2D73085587267200 2EDC015033E10595095BBC6C0D57AF04864B27B951206C2B771A3C51019E1150 2A8F365604FE5026BE12A31A8F2F5101EA0C5AFC12AA4122F50D8A008304500A 860151337A108600397C2042BD270D491F7B1486046C2FDB044CC606AE3CEE13 00D83E01C9076036860477003F6C05E2002666E911CC03AA431F55F709760083 0467A01842B20DC61A40A73A126CB41F3D5B06FA01500FA4163A614434C705AF 26D71247F50AAC63196BC10041661FEF234A14FC0040DB3A01960934D300AE26 E800AC6C1F5CC5046C0AAD2F61167F2A79245000AE1185279A1F458100D95A01 6D336A26AD1EF127B31AC300F12759BA0BF873005082F05A03DF4A35CA174198 1A6534570176472E5C17841252DF0049C1125AD20DA03049C906318321860D6F B3042749B54623E912523286227B2792065A01CC31087F01BF442C7921E0244B D100F70C5081126700A333156C380D9E36109B1ACB50007C06922F851F6012C3 1B448C177A0D861279263EF8003DA41AF2228600AE05ED006BD43B22E31B4900 B708316D0F2DB323CD12DE2F900069129227631884042B94123B1BD9013B1198 31017707820050B400F61FA822C5A204F52FB13D217B1B3495244C38611A8412 42A5005A2AE03E126BC1015D0D952AA900CC05EC014B13FC279E1F55F125961F 860EB75A003F9D126C1F953100EF2779215AB504CD4900EB5E278001369E27D0 1C6D04AA0B782E50F9016031DF384D09C8054A920D604500660FE0385B12A740 0C9E5A0470C86B2560CB1A884904940850027E0E3FD05002790AA234DE50005F B079472672C7274FAF229E26F10D3B6C1080056C0C1F7D4A006C0A9E04F75001 EA02B309FB00B46A1B50BE0857009A35179020F3007726841F501277C1580471 0D830040600AD600663B1BCA720251BD4004CE4725A606DA014184227C265104 D70D5AB90C4701A326D52753EB01A30E3CC1045901BE5F22831231D921B9319E 3A511F9234541C830140B50E4104E2003EA201EC3C1A5BA53E20BD610525FE2F CD4512771FCF264B0333B7055800860CE7127828931FD04630DF2687E635129E 22D5452D651979126C26861F5B3E04F20F3D791EFC265DE00641683C13D6033E 9E6926481FB030DA29B212C452274AEE048B0B27F22E06842752870F5B3D1A95 2F00FE07BC30A31F8E2E1A6AE36016500886003F67274A851F9A277F1F40ED01 B36801770B8301D208B401DA0AC126F715632988344E94124F790D69D42700F8 71012D779E40007006B70169089E0EFB6A1A911FF62C436B3A01BE0752048F01 5A3F001253BF05405B00B40DC727A92FD80450CE237D2B9301D0400583005037 CD04B35A0C6CF93900DB069201650A79046C3B01AE126C2F41B26B0961AE13FC 013BC500E56A0AD44F126445016C3F00FA7803490A79F33B13B51EC805DD0068 0CF406A8006B354E18A027F01B5A277D13692781005D327900F109A80D2CF81F 3AB840139F3950185AE308530FA54C266038F2521B802700D709416604B400D1 591F6EEA3E22CB1BB6659B017730EB1F7F2586058300641F7B35069E00D6266C 2260B119C8128725791A4696245412AA1A6034E9228A204FE625791F9105D800 4E1F97360075237B0C4D924026861F9B348820EE12B9720B34C726AF2D006B96 277912924128CC50156E2E8E1AC126E1105A0346C60449FA22AB193F9B04C43D 1F6C26D15A01850759007604820DA93512B027D81A37E819A20031CB04409650 2FAD228C1C5E3E0AAD2D0068A1097804331AD3266708A503E1325639EE0D9A00 AD5A1B6C117B04A40C346C277708A201E63200C905792B46BE1242A500CC3608 A000FB365A277B11E50158DE1A9D2FAD1A3704B301600CC400A7095A391D47A5 11840150BB4004E6003D6A08990235AD25D50D50048600409433791F8D360077 0D59E8126C2354A005880038AC27CE28F326C322E2019143007F055AAE04790E 41862162BC3A137B00CD0847DF25861261BC39138627FD50A748009A50157948 00B90F773F22E02C0BEF39AD2FE51F57F700AE22EF306C1460A31E50E20A7500 7E055A3F139B591684481AB50DC85329A5123D6408DA0060F76C1353F241276C 2B489901E07F005322D912601A812550B826F81A49800067043EFE741F5AB507 DC00A50B63B22DCA01268407DC0040EC16497C0C66017E099712782C7A1FEE66 21942F1395265EDB0C77005306F00DA150337E017504FB27460DE349006C0E04 37F41039CD2B129C1F6001BC511245884A085F00488501448F145A018627BD0B 377F01409E1CEF26B31FF86B0428DD30049800693D0075258204C15022861249 20C929097905E504D1106C3B1369F03C079D21F40DA5056D0E5939BF12E71BB3 6C112FC90D356D246012EA2641067948BA33A41B86126033B81EE522B4153F65 3C04AE0B4A043AC401F64500CB3401AE27E81F9D26653D19EE12BA1B9C4B009E 700235B5218AC46220AE6C005FF9074ADB347F0472C70027B926D43916C72706 3DC2500F970049FD22B42E0083325B0C84013CB66D0D63C72250E820AF16F70D 9F40017828D0059800763DB8491A633F26C904B33F04914A306E005A34D22F9E 00790661279433019C540064F5168527964E0170EE3A126A01465A27BE029307 770490314FDF00D0522661BE751C50790D85591F7E4A14842A6C0140D5049600 5A2F623912C83D1AD5660750275500850927861A378D256C1441FD3A1D659502 740DA1600A6EDA67002EE51F3E791063076BC64104CF5027C2104700AC3F1385 340179078646315C1CE710A318683445A62501822FA100784627601F7B26CE03 C23998116A0148E11FA9267B1250CD4020A53905AD00D60530BE1054009F1AF7 0BD00E793D1FD8263F5A019A0D39791AFC004808DE123EB53B09A705F73E01A6 0FC75B1F792640AE05E100A5520B912A1C79F10C1EDC334FE504BE5001C905B3 00580DAE0634F91F87002CB3224A129E6C045BD203AB27DC15510E973800901F 60EA275901EF08B95D27D45005C600AB26800050B901E50F5AF212BD0D54FA17 AC0EE600A30D68275504EC22A612338603D100F008610CE60481481D69384779 1F8622D3502776356C4200FD50006BC31BF92147B1036C1186279D2386006819 E4276D1260D81D7934009F0EC56B1684236C3F22F7014DBB0030946C4105900E 3D6817972E602293277923D15A115037ED51047E01F4360CB91943861B7A0192 24F51E66E212780133981C7B26754518920F3479277E125033F93F1F70278604 3877268532067A018630591550FD01B22A5E4307C0531978375A22902779296C 12DA2F950AAF04E2007F3B0DB400C004AE2F600DB34508790563861F42BB4D22 CD016034D5279E048F00BC23468C044FFE2D530127F40C52CE049C123E841441 AD03D423B21B45A101EF4812E9400BE1019C400177BB14661ACD31A41B854726 970035CA0D5039AE0085092FA426D55405BC11CE3204FE0040A701F00966D304 5D089E0DD416B15000D902C24F22DA4105C5761F3E861A7714D8386300FB480D 9D4304B500C3269E014C12FC225029A8420596315A2764148F219937129E27C5 3400E70A5D00970E40EC04570D7347315A1A940037B9126707DA774901AF3012 7C2756B106E76A123D0879005ACF1F8531007907A6661F3C5E1BA32F007E0590 49126C4004DB510AF55A236CEC055C3449C35A0080083983276A00A25A226AD9 1C622694351A8926C72F7A003E6C1F95213D670B98511C823600BC0848D000A4 04840E982E05C515DD345A3F1286195AB76D00649A0D6018F45001E408D95004 EA0150DC005A11944A279E16F029508514A31EC000FA12D0410BEE5324812099 401AA73A1D874509EA006C2F5000C25E9A26EC2F046C0A52AE1F86340074BF08 F00446DF27C3330BE500B82762137C3104B1002F8612D602233EFA1549A800F3 1F87380CB247019D0BC00242AD0D6A018E2450C404EC0B49AF1BF72E00B70DED 50278212347B276C26E41C4D92237400860AF84A00EC3D062AA41C3ED004743A 1D93126B3F247727801A6930F24101D70665347904C8073F6C43355B276C01AA 306605D201B435008804D26800DB5B28921FC9219F321A015A1078B426FA123A D40455D90F4581245A8C0C78014F9720602F8F00AB22C46A1254A1217627699D 0E7031C71A770D4F06DB78122D7D21772F4BED0053DF4012FD1A613056367D00 7907418949296B09A501E2571DF5118D013FBC016430A722691F7B327720D44F 0BE801572FB300D5472CAF00C909A90EC62287157A3050A512BF1B3D602FB600 F40B9A06A351207C13962F580C50E912603E0D953B01B60C60017E0D51FE37BC 49003792019E60247C2F159A2900A93813B4213FFC023BD2074AF90E6D003EE3 4006DA00A60740BB015E0B8A2267B52C550060C605E45012881FA03A1AAE5A04 780C9F01BC14DD235ACB26049E18D327783A0694035E33CA6C133BF21249CD02 AC0CCE056000973B2685207912824F127919801F863275055801B60AC304266D 004FE0019310641A7C29CF3D11E600BF420DF36D18792AB21FFB4E14812747F3 4927D804711A7F16E159206E3400B219F54904CC511DF869075F941251A51286 1A368127A41A7826941D5736F1207926DC5004E43F019424F43E1F853700CF07 3E6C0E8500349227DC26792784059F3C016CF134600094105AAE224FB50C5000 9F5A067F013783266E2746BC4C1B6CB509C502F13F06BC01FB355E00EE2647D7 4927711F8D3FFA398B126C27DA25B0490066048B4A296C1B860027A5035A076C 0226C7089F046C118F19A841CC01693D05B80CD1560D6C017F366A0B860127D4 2F00C5246C4304BD5301D305610BBB013C870C6203499F1235972712D2401179 03B40A499D2552BC01F52849D10AA3005F08F111406719AC124F0CBD5022FB01 35CD002A7926DE1F40B81BE16109EF00981A7A0EFA0450336B365A1F90266441 0CCF5212AC00660D9F00E34A016A0848AC0A7901810532E326B338089E04DE33 4CC44738D933BD417832501FD322B8003C60082750A4128327771F3FE426AD1F E912B534499B04417A1A8600E12F6824951F39E851236CFA12B227CE2F006AB5 0050865804A550286C30FA1186046E2F5F05B3227B1B3DBC401F5AB702E72791 25860439791A8A63126BEC08A904860D6C2C5015AE2F5212E30148269E1FE000 AB0BCF003B9D1A88032F7B20921CFD286C3816B227D01A2FE91FC0374F981483 1A61F812415D129A2200790C840027A400E5790164314CE11F79F00B40C300F5 049711784F0984003F6000E01250B909E933610D9D01F1094E8644029008405F 0080056CE9280D3CFD0626C44600DA0D75005A34DE1B9E15860D5A01F95004A4 750030880D5C00D81B62E200B53005A03E1A85385728D3049E00874104A36227 6FAF5A007F12672295275BE70DBF2447A204DF3450048412A55F0C84009E7500 405A0CFC015A09C7015035AE00D00660EB27B01F50F60D673E0E55A50A850495 002F861D54315D3949BB0132D9245AC6227727791F6B365413B1401D78123FC3 0027AA2BD617C1501F9B42195AC9791541923012822755C526B013416600E948 38D9306B22831A3BCC6C1D4FC33649A10E2F730C5ADF4A00C34901EF125F3E1E FE4A0FDB3400BC06390DEB2744BE490483084379015EF2123C670CBB5A21D300 32F21F523F1264A31B772649B846277822861F6D2687390E6C0488125A359C1F CB2640FB124625AE6101E608AA0DCB002662A105952F038806A50CEE009F017A 055ACB27B361176CF70E680179340DEE370BA901490467D80052F1099E043C87 017908C05027049C1EA50DC200E3095005FE2D0197270142BE1785263F0F982F 137A218400A66A0A307F225B931240CB6C1985015A11F82EB2153494270050B5 00773E019A2786460269BA05F13404D500860F6A00EF0DB702E80DB40149A425 E02FC201B3086C0090052E5CC46C10229D347C236A276CED401F7A13FB501BDB 38862F5922CF27FE320085043CA004338226961F51A2044AD5278521A23A1DAC 22653F20E51B4AF520953110AF6B127A003F652A4B8E248512A9600C70EE6B05 3EF700B36C2261D505B131C7402377B801C5083CF669012FB309D91F79266C00 60DC05B3731F7C2CEF19C80D5808C578132F92225AAE229F2ADC27901C7C4A31 633A542FFA0860007A24862051F24715BC78004906D777175A00D702AE06500A C4013E690DA649006107AC3E0E841877461AE80D49D94F00BE09E60066269200 7709F55001790C7301BE5C0084093E6300D36E0033CB2752EC05B21045D2006C 3A19CF214A129D5B1F793604F50D4F3868025A07DD003D501F8926501EA04B26 60389700A40FC746216C390ACB05460F84253FE9244005E550007C07467E0A78 015606C03F09A400C50575159234C7184F05D529029836511CEC27872B04F80F A12F8420791A86275AB400793C12C027F41D925000B906D763267C2A07993C1F 752EAD16C6305A1AAE3D1FC22FEC27961636A527CA12B3541D41F44A0491196E 3A1A950133A222E859078600C73201A70BC8501F8100A11AF925A1129619E96B 01D304780CE200860D42D31F7D3104A50EF656246AD85A04B565006CB1355E1E BF27DF122FF61B3ECD345B20DB1A7924831FD200790D3DF06514834111DE019F 0C6B00B25F376E266312FD34B600E3105027D3236D0B8D016904DD4728933B01 9E00C66812EE5B0D86043C7812DF346003930885007B06E0500F70017E2F0B87 0626973D0EB502CD5E26F963087C0130AE27772350D7412F61019D2DD927880D 4F346C2B550D40AB1758C12847A91AFE04583E01EC5A17850034AF014A1F8C34 129E2A0D8E01990C730199590062A30C93008504612FF310A9275B269E6C002E AC04BB5F2773213CBD401E01AD09E00492006C24612F7C05934A02EC531F40B5 3912811F5D12C31A5A4022864601D12761FC004C059B12CF265A12B948336800 BC22FD2650E237B96001DD672240500D790440C412488603F8059A0D6A048711 E82679086C0160BE00EF05B379002F91360086043577279116B86C223FBE2749 861A7F0DA600E04904F85026D4225137C81A3CB940217926EB2752B900497101 860AE50140C15A0E7735008706D0581267DD82277A1F5339B214CA0AA526F816 34982705C96F0D5AAE01F008A24E33F904B100329A219013407FB75D22770047 E24D270DA91B77305A0592006A034F1A852F0078F6019E27AE1F5635DD155038 621FE627BB26A51A5812AF22E23F127F1A653A1FE05B08F34912D25007C20082 32089D006906E212C229FC27771A85385A007D0962FD004A86046B09E001500E 991A3B9D0C3EDD31691FA5224E1AE72255FC1FA343009408310DC7004BCF0C5C 4003831A75015BBA0041833000E81A3F652F6C3E00840D77155ACA125000BD08 264601EB2CB41F79146CF7013BD90D9F4012AE1FA127F00D5ABD12347E17DB00 940A8000689E0DAB50007A085A0046CA3A00834906932651D4019E4612852297 30601F95235A11F3501FDB2F9A36750079055710C422B112C82CAE3E16820E34 F126A71F40BD6905FD0350CE1B5A13BB500485087B00880A397F1234F526A847 5A268632019F26ED4935D70DAD3E1166D615AE54267900C805B411E323AA26E0 3E076CF4354979D70E711A8D0D6300A5043F9852057D1AEC4C27D9086C019A38 1B54A30561347127F21EB8431AD10131C52040FD339D0467F03E1FD028B5003F 850C27B4004D05BA0BE9004FD72D6401AA4A0A60044BAB143BA3400176078449 016C05D129B8501278005C8612348C267712478605970038FA27CF32B027CA49 01C4610E7700E603B511F2691A7E0F97005A306C1FE24709780436A10E95275A 1D7F2C6201406A1DB42D04A227025832A750043CFE4025D11F6012AE35640086 043A982CC51369D60827E620A6065A0179310C8626428509A464126D1D7E0C50 049901770D86164AFA6C1B65DD6F1F6B277D3804A10E7B3D12C327ED1F3FD063 00DD5D27EC1A32E21F9E450460009D31CC2906E75A00AB27C50036ED23447A12 6201730D6B01792F500493276C364421790538C4005027B81BF30090042BA822 F8611FDB490AF54000CB1F78D004920055851B66C21AF00C27CF69119E59087F 00F24901D42D41C760167D248D00478742008611D336BD2260E4005AF4127435 01B705DC29BF1AB134521FF42DC7053801C12D0240A5019D0CC66C1B52CD2677 008A0DA20150227C300A9D00A9600D3D6412871FE1266C034EAA3D1AD5128022 63A10F5CC707AA28961DF4219D1AE224B31AD2098BEF5F19A5582265E4046C44 0C6038CB7900503E01820433772294560F8609503A20EB380BDB00418400449D 003482013DC32FA43E228514AD0B5000E805570FFE2F04C35A2B6A2584149402 39A71F3E9E00E3572592480E6F385A12D96303781D60AC7A1543870F33FB2666 213FE6004104FA50276C32840BF712B2551F7D420179BD00F136AE0D9218F80D 670185315001F6072D7902348D21DA045F385A05AB0985005122A3122700CB3E 01860B3D85139E2DBF0E52126BB81BD0275ABF00A50438B327FD12B0700E67AB 22941227B16C125BBE1FDE266A0F5A03BB094E209526792749BA441F6CAA3D0C F004AF00530ECC4D117F05602F500B790139AD00F709850030B9269D003B085A EA1FC450098300AD056727B56C380BB700D51994296A0138CC1134F62050306A 18497905602D9420C64604A46C1441B21AD64E006E1150BD00D63448692D40EB 61017940964D12FB2CBF204AD5017205861FFC2706860C9A08458612E9650679 01623F009F2F015034FA570430E42905790B9300EF1F92276CE35B04FA0D9E01 7809CE0150138027771F40FC2F7604BF26DA1AB313C927EA5B1B6B27A422468E 075014E84ECD27048000932749DA1A79128D07249D5C1B7F255A04AD23E67004 50860672039F0BC60039D922B8003E781BF0233BBC6C013D840DEF279E310C7D 268D00F90CA00430C11BDE042F7E087704930037A622E7344F019249346323F6 1935782E14D52750BB16D8265AE17C05740DC651018C4938B41A446E3C06CC00 4712812F691EE03364229E27DF00B307CE5E0AA01C6B3250008427790096082C C510910158ED123ED3680A34116BAE376012CC013CA12CF5354FD90031F0053B E14015830D3E26DC1CAF29DA2582275AA00270125AE010560A8800520EE65925 6A1A7F01E4451BB4125A2774194C8606531350BA1FA4266A12F75A08405D00BB 6818DF01C24C006CC8019D4F008D0B3B6B079504491FB8213B7A22AD14F60057 34D30DB25D1F8725B500C706A34800B4510D851B5B346C3D1A7F0040EE01B166 12FA1E69354A77007F30D53E046CA8013978C27D015012EE2F4D881364035A01 A50E49791F9662016CC80048B87900450A920E4A01ED09337F27A4320569BF34 49CF1FA22E06C400B6355312A165043FC404B639DB0E419B3A860E5500E132AF 271679C61295233DA50D406E1F872A0D601ACC3F1FEE2286441AC01073004AD2 0141096C2786127F01691543F50477345A2676391686203EF300479B04E80FAE 26D95619970D3892043FD712B81FF149056622BF1F522A9E002540F72776009A 0740E70DBA22921E3DB502CB0943B90E502F9006276BBE60265ABA6C1D42C019 FE01498E28009608267B01638612794B06A96C003DF079166C4600672EC700F1 0140D45E1987004B9E032F6C07EF015A2F9E11EC05B243E33A04A75300AD01F5 365C2AED33971A60E9821FBC04DF269F2A8C00319E12E60AA901EF5E08D70269 32C017562965019135047D274DE123509A015A069D3C19BB0D78009609FD0E47 A6065A04BB5026C61F592F6D400AE16913602780331BA022F91A5AED124C05FB 004708A56300770D3EB615EA4F1DDA5630F4173FDF3B22FD152FCE2350003BE2 0D921A7920645229AE05327B0B3DEC1E57DD1A7D288814D0005F41316E002691 4A0D85402676127A008C0C6B03B30C48006232771C5A07EA22C0540B63276C1F 8512309427A513780541A500C93F125CB60ECC065A00BA452786346103945031 EA40266D1A5CD71F772796330B830179049E00D17947008625A001E956007D03 9D3700961F792D8714D03B229526CE61076C017A3D00B00D4A97005E0A960141 8505930DA15A1FA827FE01B20823961446A222CA6301833700A226BA043E7927 AC04980EC45512F93B18D95A05A427DA2346C74E1F8726D612A30148C44C127B 0439D822AE00CE3549B7004B0A53D126F9127B1F50F700276D1F862779310AC8 00FE0ECC270085145AD801B02F028B11E11A61E614B036FA1A613B062EBD11FE 0C761940D7345E12CF4931CD01A320794E02E7055A40208527C822A048278604 39B41FCA2754BC275F1FD1310688015A12803279E5014FF6006D1040AE0DC850 0C491B75FA09501AD64926630679016BB30C31C61A6108AE015E06F72E6C0593 27FB0D7800B53549850172107F5003790E60F775214083006B30950C7845A537 F300B00DEB631C79153E7846E00CB2043384227A4837AD0086054B396912562C B415EF5A1F6C345A27AD0D6605BC5008860462400DD8003198123DAC0EF400A6 0B6B04FC1B50D5196D40038D0C6C00EA50126CF42649D74726C80D1A4178128A 27E0055A30681F78E36900562FC1680034F41FAD279E2F04668800509C402D92 1D803900AD55217918A9402D641AF317A72FFB3F20E227C51A4801B30437A01A E003BD2D0568025C3E1F8539019E2751B50022673B1F8F470BC800EE085A4026 B51BD400AA0878009346018905A500D1048523981B2D7927E512AF6C2454F026 68C6006D1B56339219850EAE013E9E05F24D34DC13783E04AE36027C0B6604A5 006036B026CD04571A9626FE01B5043813AA228E01277AA30A6C00DD1A50E33F 11E83901FC124ADC0E63C93E0AE2003B6A01DA0B9E003C6C025A05870C99008F 26811260E50860276D185ADD13BB12D74906C35025DD045F39A306C36C00F954 1769249F1ED063017D27852250CC263C0DC228DD267A1F5A37F70068F100A51A 593C08913704861A502F9D38D51241E7345C2E8012693712A3005B2FC2208726 61B41DCA27861F5094D9006C1D3BB74000771284274D924607DA0E48EB174F2C 923E128501771FB025782753960031A304501A8B2650CB12861F772757B612CD 26B91A3B673E12E02FCA2346890EAB00843F227C278C01772F6B04AA0D8413F3 267E1941A21234B7277E0F72032FF1135104F43F056CE5602079129E0840B213 49920F3F5B0C45C301F616B55C0CA901E2095F01B1056400D6084EE600BE5A1F 7E0D99016509D9004056006C10F92D0616820D9E601269C220D2490BEF00C332 6038A4056101C906B85322AA0D55008405CB0A3BB969228227F2013F97055A33 B204ED0640600892004EEA04BC53066C00790432C61F50F307AE00561AAD26E8 12901F682D97025A01E42C055C87019504DA36B2500A6BC0325D1F86124800AF 0466304BE20177072FBF1FD3339C1F7B286A0044D22779144087274C831F9D26 931F3B8E4004D026E51A3AFA3F169A0EEB34AD3C026AA07127F14300E7073073 0134AD1F531189017F1250D778203A6004FB4833D06C139E2086194707E400A7 105FC30D45EC004164259C1EE3375A328644276E219C27B21EF2540179361286 253BFC400881005634F600CF2147B64D0F6DD51F3FED13435A00781F9E380094 0CAC00C530942750F000841E9227DB4F017C046C00700DA122E334108D2457BC 00F31141C40B5302C70F6021832E7800508604A75127792277135ABF3F2201A9 04347F2753A40D9861046C9D3F21F727BF1D470C6BE814862B087D043DF42F50 00EF723E137A2E741F52307822A413CE500E7C00A90FD92400A208F800501093 3912A126D14801C663046CD41B40C10D76400989126B23974400820D6031AC1A FD105104E34F26DB2879237E0FD60A3EB3116003AA10863D26B221ED36C8017F 06855000FA063677269A013074F13849A601FB08AD103CAF46256B0CCD01B805 E0005009DF5C124CC40A94013DF3411CE22900D15A056C007D27A5003FAF004A A326BE215D05BC642703CE5126BD02DF06AD0086096C3D01C12F6B21750150CA 38631942D66B015ADA0966008234501FB4142E66A6045E1AA5502FEC00CA0736 A727BE007906652E80C4276C118B01600BFC01531D86215734FB3D226C00EA58 09844812644026B21FC53E1A6AA70E651ADF6024008D08317C276C1B5BCA0B2A DF008C1F6D2F6827981F8531D238791F6B24D6125A0081105AA03A0D862F9F10 F21A8C245A35D31266008B10983E0D9049119A003A84277A20D14A2FFE1D8527 9413F9288919770CB9348C0D2CC120418823A615E6097A005A9E015027DE3D00 C70E497E1F5AF60A6C2149D226BA0D41019807BA1A3DA54E186CA84000CA058E 0C5ACB1AA44717952F01B705DE5D0A4704779E012DD3048B4313B94A27D95619 B500ED2701649C125033F10D9F1B830EF34700188600FC10AC2D9B27C622B402 4719B226DF045D345002DA059C0B50EE401ED44A01DB1AB43241F95F18A30C63 3E049300600CDE004804A107EF295C047901A458077E0038ED046C219927E138 0DF0128605946226860138B204309D12E003553F0078D72464334875E80439CE 2707E963276D1FAD01457E0527C200FD60277E2F1277F262213CE74E1FAD3406 7B04830D6B0097123E7747B73E006CA4195A3E05D0003C5F22B06727A2305801 770984043D672DFA6B00791B3ECC13B4651F72267E2902A358043383236B0079 0B5205C80150F41ABB1239AD50236CB554267B4711D3501FEB243FFD17B06112 792FB5015B109248316C1FB62B08FA1ABD6111865600772A850FA56B1834A300 F7260C582B88009F3A50129B00E3288B1538D5611279390E961A55A5004C0CC2 005A087F0056C927FC1EB334E72B50CC04267B1EF83408C501B560246CA80491 0AE4044508BA4022E81E50DB17880B3EC5084D9400820841A911E500BB692712 77FE14AA2FE927C0248E2776380E7D276AE53F01980D390BC701379600319B12 850069335003D127920E46C74B04B300CC3E01774933790627E3173ACE22B01D F43804EB5912491A7DC505B21250227801BC3780126108F2690031A01F55BC01 EB0435D81B9D27861EA525EB3A0C6A007949016505860F4FDB0D61054979217E 4012F63919C74934125AC86F1463950040A0056F00B21F5732E9184823FD2E00 85305A3F0F79CD39006A0973058501690FE41BB75A00A603511FCB275EF1711F 5ADC1F68BE065F2FB412C8229E1B4A00FA26641A7F22780C5AE510AD0050A241 0072A8044F0979005A9D260681CE5F003F501F6AF308D3266C0449C6239E2F0E 894B04DB0B45752585492770015811D03167126CAE22C337129E27BE40249801 41BE2FAC00EB2700964603863E017D9F27003DF4043AC26C0D39CA4026790E85 0160B66C0160C94B0A9B04F623015BA526D61FAF163DD85000840634EA268415 8C04A5093B00AE2F02820E4E3AE104446C00830D5DBB73147901D32EF818AB40 267E23EB390BD06A21502EE76126C4142F6AC03D012FA714E179013E612F980D F92E05710057B11FF03F24860038AC14C90DB439FC490579019E2F03860850EE 480A7900F953288213742284154BD8500DD15012EE1F02D9781D509112521FF8 5A1261EE04CF27A50C3811B9263C13DF206C3749C02D0D82005A354B95122DAD 224499126808D333501F79BC58166CAC22F60078268B1FD92B49F50141074FB8 440D97013C6900BE05551288275302FC0C960134930D4BDA00501273F1216C02 31BB10A40056401A79AB34DE4006740166AD1ACF5A087A006241046C1AB627F3 2250E1412C840031D4136B3A1AB40CE801CD093D91052D8527009A2F546B350D B70131D8058A0028AF013A97147B2250D9417B0476A50146AE00840850E73441 B908F001417D045BCF0150C1385A00F76A014905E941085233931AAA0E620496 08369E26DD1F5A27822453D712921F66A13E00C11A9E277A1F47B8013D850B7E 22AA3404840E9C5A26801FE712B16900500B7915C827BC0D3582112BF9203EE0 0F9E2685005A0A9100620FD71AAF6C2052A5068F005A366A2B50B1125FA91A65 B94106C00C9860267B4926AE34497923851E5A3F00F8076F0031F41E5234861A DB27B11F610497177E2765BC0DF53E1F792F008625941230D8269F2D1278BB04 48D80150F14014C051126C007C0AEE00B309783704F22E04DA582F84086A00DD 5F186CFA1FA529E9014B9926D13806DF005B34830127EB26BE205000952650E4 044B80016098226B2FE61240CB3B1CC2279E015B3F0594013CE34430D31C9F04 8600E23B04FD0857178527FA4100E308A000690AE101BD0CD604B86727911BB1 5A129200EB05600D6C017812CB275F00C90A50317400B20AFD610EDD05409B1A 810D64D000288410359D27007A346800E729A7328C1B3D6C2748A64C15865012 950D4AD51FAC3205CF44086600710F3FBE0854004FA11345C40548CB4C0A8501 63FC3B107E016033B51EC63205BF00A5045AAE01864C0D7D2450BB12F628C01F 611786046212F227416B2678228B30DE004C052AA71F5915EF2A96145F32466C 2D5012C6016A2706D32E66218A27A42FEF26914907FB401D85259F1256268F13 369D1F4FC4005A04C13F1D5EF922B25A096CB11AD223901F7905CA0160C104E6 0026D83B00C52748F704297F1140851230AD27CC1FAE68193BFE791A65357B1F 862C11923E1FB42F046CD722A7198D00480C8E4C1A77279235186D21F53D04E5 07336F008D0D7700A80E4EBB39490DC81A9E00B04D016C37AD6385104ABC3E76 0D54399E04FA099B00841F50EC407E420DBE3D0BD1006909B300377B206AAB04 E1013FD56C0153BD043E791249F0387700923606790039EA1230830C5E05B510 5A2595203F50139D680A8E601F7C00346BA50150F000B45B017C05574000D66C 0C28BA00EF0CAA04F75D01DB760F48A01C405A05ED266ADB5A1FF03C09D20E50 EB079D00AD611A6BA62280274BDF4827FE236C0079A5016010ED3F0DD1139422 0133D40179042FB400DB1A7F23641AE22FAB0A3804B60177189C50337F12981B 50D8019E0D3C571F4EA4053AEC1B2C63E901AD256C1848E012B04913CB6C0355 C6014BFE3A5039D64906F60CAE6C311ABC4106EC0DB3771239CD2065364E22E3 1C3EF50D862D02AF411278275A276D16419E27005AD1087A00B13E11A3084401 7A0495571F7B00633349791245953801D609C5045D0B87019C15E921532F9336 571F86264907E95098266819CB5C1F8127A6003EAD5305722260C16C264DE447 00FC0642C8314587145B2BE400BF77086427860EA8780B27841A930CBC032679 018631501F8E263FA412710292006A1E802B752700FB5401339822603E01E25A 0D9F07C804A10C986025771A9F5A2364CB04AE06D600B5300869AC33149829F3 22864A2D7714AE25BF4200F62BB223CE0C2CE02700FA49125A307822B41F3A5A 4104710BDB06C204A5015AB3731ABA430BF1375001F5076C0E50CB02319410D2 00490E921A5D128522951F5A01F5043EC6114A83192FF815C4015A4000C74934 D5005B2799502FC71AF20CAB05DD00792747BD19EA0EAB009A04CD40801078DB 0346CC1F9E31007927862479276C3601B304E14515ED01316C208338601B79E1 3E1AEB44026C0D6304CD00FE5127701134A1266A108203A56604B35B0D8336A2 01F03C0065DD12AE32BE3D1B7A266C2CF70E48003B042979008811842248BE35 781248E8227B279F1FF200B204CD396301DB0D7B2661A500943405AC54008248 33DA236D218004663AFB0542E90A62450072375A17641BE30B347E26612FDE12 3C630827B11F50288810690949B71AFD015A0AED00CB4A12623D00900D49890B FA4912C64E0152057B0D5BC31FA530931F613D04CC00E45D068801D81B5A3A15 883E269C1FCD177C0E50C4400677006808834C00E51285238E1FD87B65CF1AAF 26C4279E005B08F03B9600AF0A5A047036582C6C2608BF5027A81ABC09297F1F EF670E38B9270D941A980CF511A616881F8634009F12B52BCF0E9831AE4104A5 5301990679225AB51AE149006D0BAC0053F8278411712E43BD3D127A1B8930D8 1FB75034D41F9F390086042FA526C4239700368601E60950BC0D9F1A86471CC9 146C2F41BF00F04F01DD0869035026AF1A6C258927CD27F71FB446316100BC06 60401D0A38820D76016212D31F9A2B046B3F1D4DFE3EC712A806ED45783E1086 00683648DE12520126D26C0461F0055D00B03A512ECD015A0DBB692782015B26 6C00FA048630771FF028CB129E01417C018536EE5916C43404A900DC50039C1A 915027A3046D008406279A00790757AE2365F20C73006727F846186A277B1235 81276E3501A52750E8049F0E6F401F7E2252B62EE860009309F501A10D90015B 059C0ACD395432EA01A2F94F00DF2D4CFD5327750150BA12DD7F016C26007C1F 8332009E04E52255EA0579016CBB42793F1C8D204D39CB315A0493006138DF2B 5015D71E3DE506B25121490FDF00470D86005035F40D30BC129F042F79219440 1A7E3A1EC40D6100D30540FB15BD2F49F6125326E51235CE173F9D34E41AA312 57CE05AE00DA5A00EE05B85A0E83003D6248279912D20D9E340081063FD83050 1F79346A1A50D13E1C78227D0398126C275C1F8F23A2093A00AD0DE924613A05 27C2129E502FD70B51CC276C16AE34139626A41A3908AE00E60BAB007E127626 E01FAD0E7907A40179044CA613873B1279C65D226CB65A1C65C11746A650206C 2750B801E3086AC94106974730F0344AAB0E5838630A7E0169B94102A4600084 065A01438304750734862278411D9212653F23FA30AE0CC508F8016C2F6004FD 431594116601BD5A12E200B7300D6CFD01AC14E0274FC2040FBC04641579CA26 7A401A8E0CA27249335F08E20448991F6801A250017E4900C80B4BFE5A1A7727 5A34DA22A40186085632EE1E8E2649FE397100436201D441012B92084A01DD37 0492096004E900CF0F673E2486135412E75101760F82012D851FA411D022AE3B 178432501E9B27DA21BB1250DA24B54B0FF5320BBC2650D00C7901691A7B2686 1E3EB000C2541B6CC622A7268638048529742260A900265935680986003E9F30 5638E95103406805C44A00D44002F100A6401F853700B60EFA3B25C50CF73460 2C92002FC4049D067A0F6527FB1E409312674000C6095812C02FF31FA3330D73 B914F7279424794222D3277A30841F77059F4900F527770027C622AF26DB5E08 E22793013E5F05E000BE0CF404790E6C278601407D00773E019E6B04992F0092 1FB427D4125000BA51257F12369C01347900F60B48DB21AC05EE113C8044B10D D3521FF21678DC08A5002FB31FDB3C157C2F5A13AC1B790DC5620FF75B22405A 098C1B5A277904DD124285226A31F31F9B00791250CC00B205D15A227E279604 870A6B0550EC203F5600690CAE00FB5500A10DC20640FA3A18D7336104A5486C 0B8600780C39B200771A54EC268F206C277C224D33B200F01AB3320CEC1BBD5A 1448E11A5EF539610695005BE2346604DD0745EB0B4FD40D416027B00078124E 2E7904D62705822C0195346A001B8312447E0B6C005AB304F90882266A278630 00982B0579AF13D2003F9D0FBD50256CB501E00DA2015F2FD138B405733C2087 2E0C9F01E31A6C223FC42794007D08A134BE3F1F84321282296A1BA7540160AE 029A10BF3D19DA3443F22949921A5038C307790041CA099E0067CF155A394978 089A5B268A0430D500387D01500EC950227F38058F119D1A5FAD26791F6A2FAA 04781991275ABD00CA511F65F51950C04106CF5095265FC418F3268711349127 9F31CB01EC0452D11869C03D00722764E3046C400092073C611F832650C10858 036C4226E550016CF8375F31A50FD879025F12AE27DA1A6E045AD20560B60AF1 02753C2290122F78267C4F0886017E045B07C30060F9126A2C49A417624712E8 4003810B95042FD91F47C11044852268A810CF27A40334F00DAB4220F6278532 008C05A401F11250D03E08FB013C62400A9400469A006C22A5122E05F9003193 01A22AE5500E6C007A0D582293123687034F11E824860D5028B316F21CCE12A5 4000D3123E861AEB0E9F007914C0264D10BA00436001274BFB461B4E019B26E7 132E921A3A782649DB00C608E4571ACF0035F227AE21CD13991F793203880BD7 0431FD01AE355A1FB82AF826C25D0085012C6FE700B3082E742085134077176B 01C55A005004CD4912DF38501F962B005BA41B840DA014EA27B81033E30E8902 5AB56A124985227749067801BD22E21D3FBA3A07DB6024F327891AA401CA1E9F 015C2E6F375704FA50277C0149A5225128BA3061088501961B770CEE3AB60984 0078CE5F0E84004A7901E35700C9115A2F47643F00860C459D1C710D542F6938 E605A64B27AD1F86500D84267901930878006C0D40A812FE64053C601A4CFB00 B90549DE00A22686300D77B73A1A7A2B5D0DBD620970E512346C27DE216D017F 1A914D256536ED1D3EC639AE04E00C35CF1E60385A04AD64006CA03F1A8201AB 0651305F357F0D3BD0059E0087326A08B10CF52D006CDA095A04F23E20DA2752 CC267B135A3F1FAF2A073EEE3141C30DA335129A2786049212A420B826EB5F05 C4003EFE01B50D426612DD005A3C01BC3F1CDD14C7315021AD27E21F7934511B AF0DC83F960D42603586227A2AD71261E73E1569EC01B419780027CF360551C8 0495008630C1385704C508AD00437C01791A5A3E1363A90041F5128B2F5012FC 205000B00E4E2078C50CFC1941EE6B12501FEB23BB1B92306E1C60BC0D36961F 85129D4F0688003D6604A800D76C0456B41A640585216F2650BF06671AB423F8 016C0679371480275A95197A279500882C489B0EF06C12619E043E6A0EEE6012 85025A06D30092277E28016C279E12EA01B009470597005008A50040990A47F8 3FA00349B120704013B547096500E0287740277516D72700EA09B57B20532F86 08A501D1269B057912E75634CE68003E6C009005520079AE3D0C7A044700CE10 853914944601C6346A00AD4012F71ABD5022742E16E634007A27A412D604FD00 5E34EF3E0070328428D81248B404DC0F40BC045A1AED22B90436721B41CF0027 50B7009F3F01CA4838BC27773E12F00453DF12C4006C27501E64FB5723B21FD3 27881F5A348626116C317E0B8D00EB335924F81F790E5A01FC0BBC520D4C5D26 6C2900EE04C7266A1F7D42017637C2482A04A00A27E11F9D2E4BD821B627065E C62763E459219F00DA4902FD265E05DE3B17D16A257F0B32EA0EB3510C6AC511 F2005A38611E88217C0154D10C9E09680096561F6C2D80015035D14605641378 CB01B02F0A73F611792C5A1F8F2F0C98006A0AB55021AD1679385931D806BD78 11490181327802600CFA04CE0061B701EF1AD625470E9C017B0541AD3AC94922 86330484B2119B01CC48366A0D9F00D84A14F04F096801D27726508E046110BB 153C960A49E02F00A70D49067E276D227E275089127F1E5A9B0347A500559E01 893603A0253D95452FBD15B33D08CA0DAE2640611EE727BF3408F600AE24EE1F 85127934A552082982155B9D1F3B6803E408D0054EFB1A52E8276101872F6900 A50C88195C3C00D228BA0DEF123BBE472F6C22961E405A2950016BC46027DA1D B96003277E12A1005BF11A48D734821B7712BC501B792D0BB03B22A52792153E 00F54631A756078001603286019E691F8127AC13F004AE0DC33300E827B3012F 820C29E2381A782660D21C86015B0A86046C009B502F761A8912BD3F01790D45 7D2261117708A600BE0AE1003EF95024E30147C400B1401E7E263B77017E3404 A010D94806E3501FF9023E971F7A256C1B6B275A93007810BA500CE607C104AD 79164A028507953C1275EB006826DD1F3D710067054AA607940133F906409855 00860DE9004EBB6A1F05D50040EB2EC11DF712541843F901CF03623A541A6805 98410B791041FA1CB85E126CC206F30047790DF91FCC2253EA2642E10149F600 6D0459A11F5CCE02AC30D1385A2A6D265E277E226A00970D8A30127E225AA40D 64AE129E23C4431F8538199A350E822651B601F20CA5048500C90742E11AA000 3583277A1F663B0DFE27BB21405A00D234154AB6460E8704C32E22FE1639E624 41842160DE0327C51F65433184073BB27826861A6C01476D0040CA7708369222 509B00B334EC561BD44E1FC76A04793600900440591294153BAE2C6B00A6330C 9105279510399E27DC163DFC042E861778059D01DE0CA0039911D81AB533501D EC5907D6043DF10045DE086C015FF3005BBE0154CC04B3126829408B32E4389D 21AF122F7F2664D704B3003EDA268700521169F10DA626549E076C04D0306113 A37901955A0060D10EAE00503984053FCD0AB11ADF23510E6B0CCA239B12A929 8C0427B15B0B7C340EDD177A002F8604A53A0048A00D5AE91FD526B12F50DE01 5A0897501D7C4936D8521FBA5A077C23B0004F8D4100E6275B26841F6530F43A 60018F4304CF6C0036A6278D144C871A348427AA1232790D2D8A226C2F427705 CE096B00590B466204925001EF0A3C5E124A880AAF1B3FA477003A86197F0B2F F6209E4E00AF400827D32F11B3340479278F12B91AF25A0170277B049400F92B A1045E34D906681AE240002CED1CBF4727A10C48AD13622673E1132BC222467D 086D008408409C27CF3E12F704B900670B7F0133E913650D95260ABA5011A200 F7124EC600530BC338570978123DB9630C6D00C73304BC5600E70A4A9721D442 00F50AA800EC2448A613D71FAF26FE3E1AD3344B8F1A9F30F31D6D0157E5042D C81F4AE101C17700633E1A790CF4568B0C45741F86471BED096C24790E2FAF20 FE125A32AD13821F3EF0005A38BC52106CC67806690486015E37CD0150F6003E 08875002980134AD1FFE1AC7236C007705AB2E66128527AE22CF6B0050C53549 EC3A601E71357929AC04429324821FA814FC26A0024E17F82A831B96610D2CA2 1F3DC6036807A5501A3D62274F91015F2F447D057100865A00790540C4006B0D 9A27CE33155D920A79043D5D401052BC01E3279934001F63BA07F301C2650147 DA4B009D6612840046D01B734101C0501A790D9A01269204491255A7264EFB1F 9021772C107DC46123EE4112D3670C3E5F4701A30FF119604600DB5025EF045A 3F1C8F2E058600279E06D901C309631F83360ED8046B00702E841FE2279D0147 08DB243FF76C04639C1B50EE27761179BF03D50D35C01FF80150C717B50E2CA9 22CD125A29AC400179106A9D0536F927B51BA423D81F3A83126E1B5AABEA0427 80277818389526601DC83704E3503495016109DD3970038927D12750FD34B81F E62F00D633086C00E407B7671A3901A4178633522077B9049D3262385330D621 9E350D8E174C9D00A80CD55A1FAD681A792786279314D201EC5B279B33E80DB3 00610E792267BB56127B015018CD400582003D6004DD401F6C23854304950E86 1B3E613649F2156B2E7F02F80850DF2EA5003FC14E12690078096C0086084FB4 05CF013C4D934000BD0B5AD80DAF037E0B46A62707BC123EA5287F1649E511AD 01860967004279018641129540B54927854405DB4B770D5000BE05F400277F12 E70AC60082046E0957C401793912F327793A01FA4609E200500DF0006B2F5240 0BB5065A267E203EC65300D90A49009F2EBF0DA54912DD26B21FC32D5900AD0C 9D00E45A266F27A500EB0499089E01E41B9F228613660948EE1A59009F2FCE26 EB32B02AFC2340602F87120535E052249332007D1550F727770049892353EE05 5000B506347A225A12C61A940F50A50C65C227015A1AC90E32992704BA31DE60 1F842F50D9075A228A1AA71FB627EA143AAA20D15F056C0EA061122C84223FC0 64204BB402C719792F901CCC01509505308827A427ED1F6C2683340179296C0E 7E0198147827FD336C2B0BBA01E0137F2676275F32840C3C643F00C71FB53804 8527DF2086125B04810D64049200EF1A47C59C15620F7401F94122C3340059BF 22F21179007726C86C2061A30049EB472DA427DD223EF43B176BEF119F045EF3 0040861B702606B04912931947B53E017A3A5B0D7800865D086F0031B426DE31 0476CE01B17804339E05387E269F00F8046C123FE31348F41A791271048608D7 005AFA22AD00F2335038E8078C017B12C9493963335607B80BDC00C82350B904 D4502779015FA10F6C08760150AA3F1FC627A2206B0E7F005042B400CC2BAA12 A153056C9E1A3F6306A138D40D5A3D0EF54019D50C6905790062057F005902AF 0D4586237E391254AF0AFD01A5693700CB043C850068E22704F65026C2331AFB 268C470A7F0051BE23405A3D1160D6125AFE086B1060224ABA448A0639A40064 04CE39B4325A1F98390F9015415A0BCC1A5F3F20A52560008305A011D0473564 217D14780159346C129D25FC1B34CE26AE34F72D00DA4C016D0AC933AE27D91F 0430792585053B681EDC2C0CD304982F5501672CA80086260185319E1FBB25F8 35B31FCD269421790036DB01B2781F6C284983240BE774225AF91DC9270D6C9E 41018805964901A512E7671F993808850DA01BF62A007D3A15A327DF34860968 003BBD6C1D50B233520E6101E54605BD61046ABC1DA101850DD24D05EA29AE16 F22793008702A9400D942DF410AD06EA0053089149007C03630B945A119E3CF4 49137601790B8FF75013E81B4EE20D7801874C336C12E026B01F8615E13250AF 4D0D6C3D01830A730E5E306C06E12FB7511B6D3108E300C1113CC850280EAD30 05770C41B149092AD01F6312CA355A3F042CC510F45A1FE5006B0549871FAE55 047000AA13D127F1105201E92A0B9201FE22931A7B305025EC360083266431B0 008D41127E21754A04683D22FC1C5AE204AD1D6C277C203DBB6612E54018DB23 B916367927065A009C26EB205B38670A98013E810048BE4212F100B43D01710B FD04416202C50728F704CA59279C26DA04A71285490962049B12CC4927643492 045D00B56C0160A01F95650022C16C0F3DE550079E00D7794D0086270196492F A737B80CE20136D51D88246C01491A9727821260D721406A3C00A80CD1009F0D 52D51240E512553C1AC05A04D00931C21FDA4F0886003475268600C40B4B9803 2C86049E522784064AE800C3841AD52E6A0540BA0026CC2753BA179E26601FA4 277E1F5BA418834A34BD12911B429619654011E50053158929EC0039C327F822 50007905A50C4FF21F841439EE123FDA023AED794601A178002F7B246C2812B6 3D1864BB3D12D2037C1F6F265097274F05EC2D84B95A01CF05B046006CB607C7 5526771B6E1F852E065AAD019B06FA73012F943A508500790D9B4027BB5005D2 125D3041DD135AD01E3A690DA6003F7D1D690D4061048612A5581B85A401890E 613A04FC0878015A09E60545CB270097076C27EC6F003BA9007C1B41B73A0176 1D558F0D79015BAC2BEA3F1FD2253FA306D64C1F9D0050B323530427FC33195A BA0EEF1AAB41056CD90656008A27530FF0009E0A6500A55E0D7804470D7C2476 341A9A2E12791F40F004B337DB01B976223C791F7F270D66E21D00F626B0195A 00C6126A1A9A4A38F801920585320050BE01F42750CC109A2BA922F13D1FCD36 02DC0D31791FF204C46C2448CD38B5492788300D61E91F58D600520FC15A22DB 27AC65086CCF27A50434B025D8350D76159E5A007B016A335A0079277F300786 11A66B1360D405268504720160FE3A237A1FEA4D09C26922502FCD12F43F26B5 1BCA1FFA2FA2135CF70458E10086096C335812465E3E00F50949C90057B6223F A578470E6337E729467801ED3E00860EA91A5126F6790D6C3E12871A6C3B01D4 09710150AD00497C2763E5093F6B2950118F005A0E7912D1006BB90147841140 85219C3105830A710339F5401A6B12FE5A0075074BC800860440B112E0169626 AB0AC911F4431BD03406BC003E994627B034C80E5100A90C94411EA3330177BC 0D7934580893004C386B007808DA003EAD153AA126D212AC00FB079E1A852795 152F9F3808860152072DCD0195048607D9305A0CCB27732265C7004416D625AD 6000B00DFD4E1F852794136C26FE10AE00> >> /Yellow << /HalftoneType 3 /Width 167 /Height 167 /Thresholds < E531A42667F704429C054DEA1F8B27792267D7115D0079C66A05951BDC300F5C F90A6504BA50016305FA0C6B029F12E46718D25C017116D9361AE52352F13A13 DE4027EF44035A0D82015F047722612FF027CC1A37019A08D46C1E55C404A71A 9B12E61FA22E009D0B3800E10D3A00EA0E67FE05B80ED25505DF00B20CE75320 7C2D61009804E25026864000B00838C421B300D60A850092045D400C7B2E7711 9200A10DF40627097901CC0A5030B415359304630CD301FE05349B26EA1A3912 F926830856BC1F4F38CF29439833852A419835D9275A0427863812A9278200B0 410196290186500496005F21B526C727AD37F8179D01860B50017FBC5A267923 41DC00623748D30153357D045CD8216CCD58266CC25A23A40033752184013492 153F5A276B019E4812A555236E3700A90FDC5F1FFC620B72277A24A626501FBD 12E85500B8035338DE335A1B96503F1F89279813790062E04027BA452F95164A 82016C095AAE49005F12A538048F00821A790B26D410A700600D7800C845A200 794C04F10D6C26784F14AE400EBA2F4DCB19791186007A096E0F5A34E61D40A4 69164910EC00B205338520F4002677BF124AF5173E8704490890014A07802755 C6119D274FC0264B9E04D719C03109D13C10F108B5611A7904327E012EA716F6 0674013EE36600773519992240D0095A01863E00BF6BF20E5301E825CC0F5200 800774115A39A61BCC29B53E048531C44400E96423DF0DAF00F168014A1FE326 B71D3D6F0830FC1FC434439E1DCD12F64605D4551F7E123EA505F2324B1FE026 A1007C0854C3123DE100782F5A1B904F09AE109A6730059E002F84014FFB1EAE 27F32DAC1FDA043F5F01EA086600F91069386F054D8D5101832779142FED2248 A112CD4E0050399A2FC96C072DAD25CC640EED61139F27C121E24512290461BA 3E1B852B7424BD27F31FB300E6077748007B13E02293187E2F5115A22D762688 371979BC59087B0150F414BA58106B0A7F00603B048A00A2325E00A408FB0158 386901CF5304632FD723AA310083055937B404CF450EE5276C395008EB40226C B112C9263B6A0E7C1A78006C0D8419A2501B7912864829B900AD27F60027DD1D BC004489015ACA053B6B1B79D9045A0E501CB5530D7A013F8704278500760D6A 0570AE50C43A17814E05AA01930B780186346024941236EE20630C7701F30BB3 0379094C01C41150CB043E15A049319104634001AC249427E712B757276D227B 19E126772C8622C41A9F0C39921284026A0D5DF527B82092266C1FA13D048600 CD15A51F5BD50A3D52079800BC40019D12E336B526F60B37B327CD3801951D5E 0D7F1241A306633250D612AF3E1F6CE40DB82812AB24EB00830439F31FA40B4D C5421AF634A51F9B3C00116C049E00E23B12F9325A18C24704D14101BC6A0453 A93549A2266C1F40CA3AFD622784015C2F76EF0026D8123A9522772DD6015307 69401AE010CA0B87326A04BF0B65007E265CB200FD20AE27CB3904770C6E01FA 0A850168BE1A5F2B79037F00459E21DF601A77115BD7233F5609436100488500 6C0550D80C41ED462FCC77163E990E860239700887003F5B034985006734A121 CF61006C27E031006CAF086100E8491ADB8F24FC26480D68A14100D838651B79 0E8433500DC72F00CF062A8700DB68260053129E22F51FB40D2A69AE0552C200 E8099B123DA430C200960540633D00AF1293203DE4500FED40146C3479066C00 49971FD1349E125231EF175037F91248E125B42D047B0036B427ED300569B003 D21AA639CA1FE52F9F176034790186045A0050C404FA2654BB1AF726A0189534 F41E3EC5136A400C279E1281195C96122E8022933101792C00480860BE781E53 227D0D9501ED27AE21F91B9F2686411E78E5115A3C057AAD27D3004807810054 960A348A1F6C401E84275AF30D732077265AAE01EC4B27F7004A850427974903 CA24B61A50ED26BB113F5600603AAE004897018D079C0032860D65F71B49860D 7901479F0C336E2778016E0D63047C23F400AF1AC323AB1FE7266A3A1C960C69 4700602AD7016D099258078901FA794933D401A50843FB4704D30D58C712AF5A CD781F4201DC05C315AF2647098F00600679006A08F560015034B315C4400D75 1F5BBE6C27DB3914E14900F80DA05004C600419801D212FE300D831E9E165A37 D5136CB80035830A6100860A40620178E40DB224D41F79122EC9254A1FB95605 C7195034C104E61D55BE1842FC00B210F1229927AD1249098126770D3D6C4008 9101864B00E2139C36A91250AE24BF122DDF205E3B00B9085A3E22CD270163A7 2678380684270E3801A412872C6C34500360DA6C1250DE402DD81FA51238BD0E 91047C4A1AE9019A08350EA61A9E5F0179285A3905DB3D22811C613449840168 C83757037908A6019E441B5AD71AA52FE327C41FA1324F266C197C048607E960 056CDB600F3983277901951277278A310062921F7926852F5A06D90154C55C2C DB0156F300B86019DC0DBD3A783101DA0786042F7D0045A30150AC127122941B EF680472B83A0A8600F34D1DED79B55A27F14C0C9E00F77E1D4B24B93903980B 4A7D018B5A226C27F92F008E24502BF07850007F0432BD23AF12CA6F1767B410 E204AD0B27B51F5000DD2FC64022722D0CF3300D75267C105A017A05D909AD01 F52F5534A64022B314340177EE00A912EA245A00AA0869D23C04C40D4B01C214 8A3677214613A71F93341180133B9E472D6C0541B961224A1DF9410DE9651E7D 3805C627E4047F00419F1F5213DC2F5E18963D011249097E0033D31A59270BC8 00791A842755B01442D12F04E2009F085AD40C61BA043B12CB3E23FA460C8501 614000882D025A296C1FEF4D04780CA21A6C125DE705BF60006CAD01F80550B4 3E139524841F7F4915D900660B9300417FBC3F0D642F6C024CD23F22F4125013 81275AE9601F6C00A50BFD0086036B06C95022D7055A00A722E81F511279B06C 00619F3204CA0BF359257B125036BD260DE7009D4F02AE4104BD68D127E61FB4 6C043FBF7746379D0EF205C5003BF0012650AD1D7A31821340A23A126B964802 AD64096CD61E3AEE26B20BFA47A0009D53009238E349267D07950034860E3890 1F3E5B1693270069FB2F5A00E936049A0F741FE12758FD0451229A1FD826B338 0D6C9C01962BE200AE0A4605A432E6267B2A6534E32782380186277926FE0E6A 018109F0013A26C13D167B48229230008B0162A50A51924B326C3F1B8212D831 52220088055B3D1298632200A604662F5A3F1F86224F769B12643F0DCB26AC02 7205DD3F00E831531A9B2D045A9704791F3E6B193AD13F11C34613691BBA28EF 23BB4F1F52CB04E211BA344AD3790D5003C63F126ACC2945BF3C01790D3A7212 E0007B04860961A00550346C1A4879209227D1128904470DC6059E0FB21A5BF8 0DB600951A792FC926922766D1055A0AD701B15A0E6BB41CD62F16FD2901C807 B10DF5266A00770A986B3045A401E02F06F24927E312AF01CD650DA5093705FC 00BA58016A1BF149277F1DAF229405E20050B83F14CF0E57C500B20D5A218932 07AA00750488013D6801FC12792B4766009802233CA61B882260B50B51008108 5E9C23AE1DC7452CAD35501FFB1A30E215BB04C80732F8016B0279225AB96927 7E1F5A0197123F6B2A5333C201A10B5000B51144961F84276D3500DC26513F08 9C43007E471A862360019028A226FA1FB90DCB18712655A1118907508420700A 43E92768C279206C3A22EC27790033C2014D0A7B10722F841267007B27853208 79268605F70160DA2256FA3E145AA51892276B00A809D64127EC6D1249DB0677 0034861DA924F01B40D1066500880B5A06CE5B0084490076275B3AA1511641C2 4C2FF0004B0CE0003FEF3249D300AE07E4115F3F1662DD401A86012FED00A512 F941199E04EC60226FAF10D865003ABD4014E00F79043E016127830BB0013879 23BC3400FE27B131009201481250A0079304860DA65F126CFE5A27D222AB1FC6 27F822A501E94D1BDF2F6C277F380E8E2F0979D02F0DDF4906B8502278158305 530BC00038A527E04901F8385A04A3015A3495274AEF1B9E233EB412C926AD0A F200690D88255812981E86289C2050AD04850A2F911F64377805F27B2A049B34 4ECB520D792C6005834B0D6C3B01C205316C203EF35504814D05B334509347E9 004AFD1F67D40053129546127B1A844E15D22AE7003FDB125230C540089E263E 049F00600A50019107500C6018943E049F00BF12A44801C15027009E40013486 1B3EF804AE30C91F8D2761860C79129B2769138C462F7711F902B908396C007D 046A42066638511FAF23D900B308DD004509CE013D92126127BD52043ECB00A9 274300C0550EFC0422983E14DB23AE1FC633AB1A851249E1009105780DD51F9E 2F5D00D71A841F973404862C0D77EE3E01D05A04DF07BB3E770456B01A6036D1 00621FE25000C7701F49C138EC6A1B6FD938B64800CC5D107D1D5005EB27681A AC5F116EC2630CD001613654006F4001F4072FEE1F5004D407B40CDF00BB501F 74265FAD11D62BF21BA531E9019440057E29603474275EB66C125CF90650DB00 770EEA5823751E50B7246D1F7727854800BC50036C00750A6400D350348B1FA5 28CA16356C3E01EB1DA00C3A115807BD4115A85A2605A5611B3294233B6A0026 A0340E82248718980F85042F7C1236F20E6C044027B10041116C23821334F227 47D761177A00D60441EC1F4C239A27821FA126E80DB5691DAC59006BB9412F5F 2178277E1437870DD4002F7B26930F500083116C1AD35A139E0EE604A00F4922 813417862C1AA446267D15B30DE004813B09D501B20BE1345A20A331CD27F026 97290BFA02530979225AAE03C05F0D7F2754AD40D66C1262E1003DC850280973 AD0051B21FF5500ACE4E01F303692BF73748D71FA858009226B67E065A317BB9 01FD08B4501AA50C78014FA334499831058700F6085A04DB0E791A5A3904923E 229F36097A00943F01C30566ED00A13948E5046C013DBE5A21CC279C0036FE01 7826821FF501C605D74800BF6C0537C4014E0789305B12F54C2C941D77268104 F908790D59017F0644A21F69C53C11ED0040861A39B64501F404850027910232 860E6C007FDD4113F90E7805468E276820AB274FC0055B00990B83062CB21A4D 0142D312F40426602E4165028C006B20C92C0AF4260E6EB22A6C1945BF334995 003FAE12DD500ECF0154E91AC512FC4F33901A512C6016851FA422D079082A86 03770D53A6206930AD0167385A268C1D98385512FC5E1B6CF1366100AD410097 06425E00C4109F26921F40BA3A13E25C018638009B6227841250FE006812974C 2C2152EC1BC55026F520B5163901822B6B26D53104E100780689113D7922B61F 5132ED6C045DE4770D2E921E763CC900A91FDA243FE83A06926C1F63C400430D C8358600770A27C8650181470084277A133386245102970B49CD04B30AC70157 0C60401E57E00DAA32EE3E05870CCF1950C5069F4100650CEA049E3000922702 A11FD118792F50BF12E83C1F682D7C00E360006CA83D0FBF4814E54008D104BB 260A7927DA3E16CE9C0F6F4207AF014061064970C01FA10C8600A7611F3EC551 1AE800AF400E68CC004526CD124718BE660052A5134B851172055AAF1460B83E 00AD065526E360017812A522F55A052FF01F28B918FE05B161006CA53B20E512 317E226E2744F734B105FC003E6F43006614C1274700933312861FF135B85020 782350B412CE490E6C279D05E11B3B6C0479AF01DE17573D098A1A5022922C05 965025861F5A316E40B20162088A0131C10096284D8519A334E503503E04CA1A 4056109D6C0C30A42472135AFA01279E78083985009C3D21EB3401DF0A30E526 9C350086045312DD277912913A1A9D2EE90494401DB46C085D930677325A400D E14312D260006CA4014ADA068F006C1983269A12B31FD5257A016EDD5A22EA44 006C0B7A032FA400D30A644004793AFA013F65128B01AA500D40600C47B512C5 28FB04D00065F23D0DB70141A300DF0E7F3D1FC32550055A3B19F70D31D5007A 11891AF05E236CEB07BB2E00FC5F018627D2093BA26C043EBF6322FC500B8A05 8646209B5A007E0BD34A2BFB22851A9E01F94A04CC4F14653856007F113EA212 3BD74600CB1D9D2F0486072FB8401BF412673D14AE27C8005D356B04550E4AB7 411A4C047D0762B427D1265AE0136B288E17E634B7004AA80DD55327EE3219F8 26CB3579046C267A126931851253017F1A59F713921A5004E977006BFA8322A9 65046C9E0C4922AD277900349B012E80154B901935CA0D64008C255016E51050 01950633D127601AAE6C043FBB295012A30848AA01502F6B3B0DA73F00D506B3 0FCB2CE3004EC301631A8527780168BD1A4A8F270485369E00C25A22771250E0 17C127F780015D0DF427AD129D3F117601840E408507AB013C711F4F86122692 4400820F5C8F057D009522EC1AA400509F0C49C822AE27D4330477263BBB5A2B 0DB337120ADB0040CA3D1F69EB5A01D10D5AD91247C1013CD805417F1E50E33F 1BC501AE228627DB1F427F00A40DDB0037F60F6902EE66267D330D77E304B318 85531F8D277927861F622384331A9E26E804B312F1245336F90062DB470C6C2E 5001EF08873706900149092FC82292007921D92D05FB39BB1AA60034F62650C9 009C0831CA660434BB1FA10042B31F4F10AC018533D83F1DEA003578056E0067 B312D97B002499531B60A271277C115901BB05471286279A3806A96D1D609621 52EE0D9F28049D5A0C7E345500A80D5AC812692F6C278449237927A34000BE04 D0551F3F660CD94000EE0B5001FD097801AA0DF95A007C0D3C613F099501810E AB135126B904E50F8630A225CD41205DB5764E12792AA5176200508849006130 46C55E1B791565411AEF53012AE878074A23C82D0A6CD92F5B3853057601AD27 61B110E1279E1F405E072769F20432E0002F03AC1BE5278325792DC6095001BC 682900F7320AB6006B3B01B36C0F27F74913EA681A7B01319809EF01B108C001 CD12581E8B213D6C00B01188315A26AD223BBB621250D04026770440C62A49A0 17C34E1FD3276D227C0A97195B1F97276C01790468F30D4600D93D01E60850C4 38B112279E0FE904510B8A01DC04BC296B12A37B0C2760F56C0362E63E018907 F111BE2E550D930745881A500AED00AD3DC70B3EA86C1345CC396541009C0AF8 00A41A67FD26521A8C40128649277912D05C1640BD793400960536BC26F5451B B326781F502D5B397704D4105DF4138425E800C6057601866B163FB03A046AE0 15B1226807D9046C00863905A400C431F50043D23E00BD14E61AB33C00952383 1D61A71F85310D7C016ACE1F85277924D82F9E26590E7A00B9381858BE003914 861D5022B41C6A27994417F66621D230036BBD365A2B72024F861F5401799E0F F508B75326733562279400349210E204CA5401E006AE50052EF200500460C826 7948096104875000911261E70DA500FE334A98052F9E057839501AA412F54407 D8007020921D3E5A008612994F33F72744E8611A3E6A045A35860379490B6032 465A13772AE904BA0A2F6D00E05A22F034045400BF0CA2007F1048AE37FD4920 68DF043F9F48D90CA5007F054EC7005D0992003679015AFD3E0089049B14FB2F 00C10DE7471F5A406C3A15DA0EB305DD0F42B8046C402777189E2F5E3D1F9E6F 1C9225DD2C0BA401DE29A53E14D83749CB043482266A1483013EBC5020CB2701 9C61277A361A95269F0EEB00B407CA3246EE3C00820EAA02510B78E312B123CA 1BAB10FD37A300960CD626A91267344AF812A43A048E0A4876E33D196536501F EC016C055C0B8D012F86126B04347727CE30FE1239A427DC1F4AC41AA20D5012 7923E21F6110974722823404B9001ACF0189045E1F7F2250791F49C600B10843 6900C60CEB0037CE076C12924B1A6C127F00C65B017B0727974100D609AA23DB 0D6400860A53FC4008DA005CC0045A2F6738552D6C129A015B1FBE26682B9023 BB264054006C0D7A2763227F1EC9246C03840052A0078702405F15BD4D2FAD25 069F45F708BA6C148423D61DA833CF5A22F826C15801970F792560860677013E 81056C27D826C52FA70D3BC04105D451159F6125866B277629A730CD003EA501 E612782C5B36F91FA7277A238757123CB54200FE39BB521F94112B9E20FB5F17 B95A1F732F6B1A9027EF193B96122DAE238C2A1049E101AB0B8504F45021D10D 75099601D6086C019406A12FEC5001DC07B401500554F93E1FCC3218DE276CCA 01794000DA1A7D395A0027922C043CB650023C6D00500C97007D092FED1F4904 A80033E91454B726E6129C0082086B0156920079306A01ED0D3BDD0512A51DEC 126C2659F40C862F5506ED0B9201810D6304BB3204A56101852F5A084201EF34 4AE40D6A40007E0835AF05E900B449037247B9004A9201460CED731F7C5022DB 1BA235009027862EE61F791740FA3C1DDA2186053992156B2E40E27912399E50 058642009C0C3B27FE1BA20E9301D112AE6B025AE27B002779B312EE27B81E49 38B26C175AC9691FD45A2279320B8A00405D3E1FB027E91A45DF1CB821902A7A 004D95FE045500850694023B654100A7691C7C22CF2749E4471B6AFA401FE022 C41AAE7926670583003CAB1DC927F04B168527793211CE3E076931DC1D5EC76B 3300B805349400662749BD136104AD005134C15F1287570076125CAE2451C600 9E0A2BAA006912EC22B2621F50B45605782762266F28780A3FD113482262F309 405107920261E40E50049100460B95410DAE00CF601E6CBC06F95804710F7C34 0A87014908B11FC4263F5A348F3949E121AF17C212D62604BF345003AC065900 92085000830D6A0477003FD20EAC19BF5704850A6501953D01C00B419A5113E4 22A30E80064E03974A2174FA1241C202790840FC3C1666A20D5000B20C36A627 D63400F50E41831C75461ADB2677017B0D3EF20479219D13C400F405B61FF026 509E01C50C33961FC76621823400A122D827B226F22F01771A834204F33B247E 1334CE279600AD5A2668F775146403881900B00DC3092F790D6B2795334E8647 0E9B62137E21CE30B127D326A2319D27E61C6C38542F771FE12550BC4112D869 2452F900267A0082046339F71FB31AD23B0D5727841A58D7267F0078C62604EE 1F802762F107690249851E970432EF00BE600648C14B27C6007E3911D4014F31 6C385611980086083A6C1AA35A0577002DD410C2572785127708800450C326FA 3512944F08A701469700491BF84002CD0D460052E34010D07525792762B70045 EF014008FB0127DD003AF0279F106E0C7C125001F3065A0B8D04B900F8084E01 9F310D7D2D500F8E055F3ABD2EA72750C9002E870C60017AC604B100F0320E46 B74C1230924A379B05CE0320409D23C3096638CF5B267E1234921F5813921A5B 26B950276BEA039F198642346121B412FE52003FDE12A44404694006FB014F39 E0134789119A014DBE002BD52060DD0C6BB9610631A2279D26C02F06A5602707 D801F804513686115AB56C1F5EA117B354046D00851CF5013EC15F1F7A34AB20 6127821564A43F1274F504AD00E427C81884027410F21A3EAD6C2648E9412251 306C440CA771015D05DF5A00D50B426C2F4979BB0E3E5A2FE200500CB30542E9 01B004FC0640D9056900900B405F0DDC06C601E248006F3E25BB1F7B3050F726 9B197C1B5CBB006332C8003C6328841C67A41486301986225012D576125F0484 127C3950019A4B355B229B1BDB239F1A490090370C7A341AAE22DA39602D4986 082F9B0FDA004DF00D48C42705D556003E5B22841B7601A327DF1F5F018B0A55 05D6008209AD01E4129D27501AEB229B341A7727A919E9009F260170FA00A412 9027841F5AA522653071275AA70E972DE41FAD22BD3D206C26761B9230CC049C 0D6101B9043C7901DC28A1370D931A822052EB05AF0DE433095401B54105E801 7A3D004CE74821F300B51AF020C80DAC50126D017E04C927E421CD4800EC680D 7E4914BC00A51A58D10065227E3905943301863A6C26B21FCF4406B738500C7A 0652C33F26E2219312621F6C148C295B00CF048D2C771260AE0985015A286A12 DC5E31158026781FC201F83F008A0ADA0D9E013A6F4415603E0878005AB30080 0CBB045F1683274AEE471C900D4BAD0B6000D9482FF403A8127927456C044879 F03A0D6E9E482FA51FC5267900AE306B27790E6700762B00CC31B2395E0E8507 7701AD2F5605C32702940D6C22EB03387927A412CB5D1ADA5A0EEC018F0A7901 99345A0EF46320AD300D9750007927A332BC27F64905BE34693C0DB400CF033D F52149C90DB535500BC74908D50160103C6B13CC207929831FCC12F600BF0485 CD27FB1B4C34EB3A532AF04006D6006B097726E8163971278D13AE015B42356C 00B712CE2EAC002668CC3D0026C00862049F0C501B9A0DDC01A93C8615EA7949 087812F33244B72C5013861B983350FD4636DA510E6CB412FB01763100982340 A81B5313FD2F5012EA007D1A3ED100784505CB3B18FB017704860038791F8211 FE631F4726931F50A204793C0097048A1AA8395433EA47B6049B364F04B20055 316C472777305001640E8104870E6D019610A55A208E27CA2BA9005ABF11F105 77248618BF07E02C583F017E115AB9045215FD6C1250F339176CD63F01861841 5D26049E3F0527E31F540099056710F66204D441008926019609289F4205501E 86265AB00C6D00782CBD366100C16826A627BB044A8622EC5A126AA90D481CDF 1257B40BDE019E400079E25A08C2013A6715FD5027E422770083059827006D28 5908E66C1240F108B404A40CE6179B33A728D123AE26D71F790035B612500183 0C7A320381216530CF0D6B2750129F05F66825DF341A922781073695270079B7 3B125FC72254BD09FB405A1FA564006CAF4027DB1A7D0026A54E0BE8125EC61F 5ABA002673CC4008E0043AF521C70B63049D0E86380884036A12932F09A40033 86014078C45A267F341A93263D5925A5144D12852F791DD8410686123F670DF3 27BC1C59AC0DDD16A0253BC460257F1F693557276D09EF00790B600085085A2E E269083EFB601FD9239F4937C700A50540FD00B05F1F863B0D8E019A4C00D622 A64903CA6920540AFA042F810033921FB100D20C34C1280A86044B39C43E733A 1F79277F053485043079E53C0093561F935111804927E93E1FDD255AD31551E5 3900FE6C1341B21FDA2D004C079F01D344006AC308D1046C27B900EC0CAC0092 2658D201B54F1F6A117B013F633084007901520A96013DDE00C405AF50226B14 9E32F84538BC01501FA379002F95127700E40950841F579D1F803604D85000C4 1C4809F83E0F6C00DC2E580EE301842677A90DE867066C127B254F921149FD1B BA77016108E100C710B31EDE6A12F261145020B21232AD002EA604348401794F 059400338C1F3FAD601D3DCE6404770B64B512EA2A690D6EEF0F2F7F1F3FF70D 487B2773225230C40440942C068700CE26EF13C70448FB1FAE27D61FBF5B1282 1B623F018727DC490466127F17920DCF04255ABD075034AF1B922C0FEB2F0164 09E671123184275FB26C1760BA269D1A77059F2746B54E003E5A3A22CE2FE001 3FF2043C830170310DA4238713486A41015A3B009D3E08C001870567EE0E61CD 1666D51AAD12C44012F75004CB01500C85015025ED279E1A357B228C15B23C1F 5AA400609801A93306960165F11246A5112455DB38A23275088522981A369112 4A0086440694264BEC10CE1AA50139C81FAC01F432477440E73D1E6CF4044467 01B443046DD626AC2A0041B81AED1244269204327C0C3FC4501D8212621ADE11 B3048D0057166AA31F5DC824A526DE5017EE502BA004FA2F9B17AD4F2085266C 2ED1401E793801883A00932549009B306A1FA5279823DE27C10E9C065700F349 04C000435D0692033EF212523B1B68E016BE3F0982005079F400780C5A0445B9 345000B55A056CEE660E2CFA18B600792F507B0D5A96066C2F415D1AB200277E 04A000309D1FD23C186BBD3C1A90114A9E79075B037900CD0DE25A01F560003A EF01CE069C49276C471ABA409633068400500B69066000864102C20D791C8203 D14006DA014DF80C5A008E07DF5A1FFB5B0C6CF05A1AD80179095E0D6C00942F 7C1E40B63C1785395431F51FCC27BB2249AE05D9770050365C209E27DA28033E 6012B222FE185D01E8690D27D82F043BB779013E6D3A0CBC0027F5341250E900 C605850E62C1185312C74D0D75025AF900530C7B003EC90A2749D338AB4D1F7E 41228C2D12B014783E2386320BC300ED2D780C265AD614B528E737B01FBE3312 98225A36B80C476A1288279610379F22C626A42B0D860527BC183804812649BC 3BF139B548136B00E360126CA701D80B9E0487006C098501357D0D30BC0FA500 E504550D6CB41FC62D476A00922779203DC87B00418B1B5A2150AA05D6531A97 47047FC1270E70209E26ED35056CD8375A22E4298B12338627A523F063216CF4 006F0B5905973400C0074799216404BA5A00F6632681125001FCAB004C396C0E 740049840552D30146E9005E29A525F700521BBA5F017E09490150BB34429903 4877C10D9F055800710B5404F921A93708CD022F72226312772547E34E14D464 1A9F5A227027841B3CC575300A85057D01D9400FD407AF0053114EB20BCA00E0 0F65294687390FD0602200783DB449127B00509C270079088600A80AC54907DF 0140500DA20133931FC021FC26D5611B6CE50141DE324F1A7E38049D0768B43D 1B0A791FEE01AD22CB122FF42067347D1F9012E2007F1A3DCC770031E32758FE 79156900E95026E0003F642DE916AE1FC726A128750F5A92265AFB10AE27E634 B5125B20AD2D00EC4005FD01CA094A872600FA4937E4219D1CA7345086167529 E51F6B27723F24A400EA1E01FD69053DAF43E1085A02DB4C2AD30A48F227B31B 63267822973F146CAE04D2195AB6104E2F6A01790D3CA10E512F79088700D70C A44A1FD0340D9362C9279D1260305A04935000770CAD08D5046C38550BBD6626 0C43A51A96123904D7279F0A2F7912921DD012416C2F5A017B078901D93200B9 053F7F006C0A5A008104950B41864C1292267E123EF501B05A119D0050770B62 01790546F725A5019709F2029D4B1681276C9E3B2486166C04289622853406A2 123E9011840150FB3E04D90060BC3B1F7C2788380477EA00AD501D94014AB400 C612A52273276C22E4400059E30137117F003FA005F93C19D927B93E1F6D2640 C21A9E3250047BEE600F6C04C0714C1E821262C701B0365E007808AC02DC3747 EF195024864E1A872050CE1FA926C72FFA2650C70427AE00502FB36320791334 8625CF122FC026F027C6310D82125836612E5112D13A0ABA034908AF00EF2EB6 5012F900BD601F6CCB01611FC3310D60A11A850E5000F9084F00E45227148639 0AC629F01F3E6C1F922AFE0FB5018C096EA8152D865AF43050DA1F771D854707 7F045FFE00B159067801EA22A8133A01D822872F00A63D01B5451A864906F928 BB5222821F96112977CA0044EA3B0CE2033585017606690D7900603AD91F6AE2 0B5400950841DE045207884B0294097E005C9F043DDE00AE06BD6C0061901F3D D6601F7F4B0D66007D326C1B3FFD003A26B6400877AC002C6C27E81F9F2460C8 266B0DBD4706DD61246C118C04E954057A005C35541FBC2A056CC425044307B3 02950CC900B55A129D471A842F12F326890E74005AB627793F0AF34313E55B2B 00F231137922840433F60E6800D35C0C38A22704679927794912EF39A31E9E27 E8169808A10337871DD331C0661B6EBC3E1FED42356612AB1C40C1641A751384 401FF74401E36A1241C40B37DC26C81F9E098A044F79AD690458DB133553EE06 9201782C840D379501831A9B3350038500A52F653B12CA2741A615EB3C0060F9 400151A41B86233A654127683E22E73201C7085094006036B32ED73F094B02C4 6B1F62870626CF720C50CB00B2104893004EBE315004B963086EBC3E00C50EB7 305E1648E00149057D2C6C274FB906416E1050009E2F016CA000AD1AD35026E7 0150089D23FC2704950C349728068B002FA55A0192085E12D627B12E10481BEB 2F016AC71941AF345512DF01B45A12D72D5600CD12AE1AF64909D400865001DA 0A6904A1791A501294276AD01153ED00B10DE2018A0A62A32340DE1547D20351 166C1F84FB5F2705A3013BB26C0E37AB1F6C395A35D81A783A069B1F793419F8 2153128F1A6000940886003378BA5724C501F01A6026F400AF27E9155FF50E3A 530D89043380107822DA2F7B0152CE3150C71950B41CF3760428792351AB3E01 790D66E100820C6FB33E0581005A0EC93F207930049D4806FD67267227793515 8722AC391A9746319026470EC926AE08DE0034A6047922496C277A1AC6380F6C 9C013B791CA00CE604AF004612945033D4125100985A058E03EA099D01AA26E1 5F12EB018C42009C06E02648F74B27D720B46409440F8D139A0D8501974A336B 0448860528851ADF6A265DF900A3288600AD0C3B87470081057A015E34511A45 D212EB0027F4491AC101369F27CE22501F9B26E127790462A50C66F03B16863E 1BB200E2045ABC02405D05F85011BE01D46E3E00842F771F57066B2746C1099E 043AA70053F100275AAE0D86256A34562A781BAE00EC0D417921FA3117DD2655 126C27500E8B042F8524A40DD650276C2F8101750AA5023E5122CE1FFE006938 5A2FDD3D04CB129C380DB34900AE4001C7083F5018D012601A4DC50F25EF12AF 2DEB0DC500AD67058533A150149D3B22854B1F5B049400FE0A5E12A41FF73200 C4265200BF4E01960C5137930D2978E00D773F00831F662D0BF2591CD7013F91 BC13FC016C2A41F65B1F82301977CF082CF9013DC500B407CE4E277D207301C6 4904AE64003FC630B100F1621F44B4003F582C6B10B200CA12B321531369F30D 9E016C2F47D61BBD00670E91277A1ED95A22D1345A128E2F9E1FB9680549F737 92005BA6276726731F6C2678123CB9410E6C077F0062CC05F709AE3E126C2946 BD3C018309874A1A94128A431FDA2668CB1941E964004C33B61EAA27E805AF78 3504871160EB22006033A10FD001500DB604D660053E976B1F5B95117A1A3E5F 01DA083FB92B5D0F86411B79A401831A7A4004D96C1269FD07C101931E792360 0440D1783200852750AA04870854127822B5195200A530017B0A9204FD247A0D 70013498206C0440E53D067900D708A002992CF7045A00E020C226E841125530 6B26E749A70582006AD12F5A12E63D04D12E05790E7F31059D015021C2148C01 64086D0F8124005AC425A8480A813ED419783D1F882678276E2146AB125000CC 0A45F22764EE0E9B1AA156149222DF3004E327124B0CD23414962B00C833177E 205A39F20446E537832605C0471BDF133DC34227A334F640026EEC3F0D6BF91B A327781A5000D427E54500C913B3266A1ADA21A3125536E11485227A1F943460 018E290478A5029800781B3ADC1A9D0F5004B74100A26C2261F235AF01EF5A24 B90F96076C26F422CF31BA394AE2270C7E002CB51D99055A00E56305C200EA09 9E002EF71DA622862F00A4053184266E3400F7086C0077A50B4771FE5E2368C0 0849832250B00041DA1254328908A000F941179B5B00800C5A00E6057E0150CD 3A0565C222503D00DC0C61C43E16860FA676295301860A95015A33478700593F 01AF0CCA4913A554106CBC3C1ADC345E0FC201612F43F51F92237E34530BAB01 50126C394F15812F7927DA2DA7048543005D049012974837F77804504626BA2F 5012963386145735DB66047C335304BD5A12854100E704BE69274AB6471F5334 BD023A0590005136F50D9E0361388809A101C60E601A6B12A5560434B327F02B 862061179E0D5E1AB22A008304BC5F269F30046CB1045A253D09F2601FD42F41 B515F526B30DCF60266D2F09FC0031DF1F5000924D15D12B407A0DB1046C3B00 DF07C514FA277C1F9E00C30AA800FC045000860E3B5A129E18FD286802D30856 123CE127850E7B07CA491A5D3AC40D5012B9490CEA6C1538D621C34A135A3F0C 94015A0DF0017E199250B51FE7129E015D1BD112ED236626791FAB27E0307B00 29E86C0777046A11A634DB27792695104BE31AA44008790156EC1F5038F201B8 79410C9B4F0084046C0A721C814705E300AA79214687059E0DF9260986009F06 F14E258F13C0502779216A009B09D2305C2285276A1E3EC76F1F60C501E1277A 490DB450227B1FBE6A00B004EF249E3501FB08AA018E25850036912600B36104 6F0D792ED21FAE24DD1C86289926EA00391079296C2641BB4A277904A600D136 50006D03951FC9650F3DCE1FAF25D3067100AE04F901458E093B751FF127BC36 0B9500771282490527C43412FE22CD38AC00C73C12932A5A3F0466B6183E5A2F 7544BD276247277712C8003E5F0C940249B94626774A05E63F03DE0CB1631342 EF063F6C1AAD0034860138A50094300C7834721A6C005AA5266F207917EF2767 D805429B3D1EFD26A3019205840079376500CB06610E6AD65A05A700DD077300 922F6C15824812F38418BD0C503F01AE1A5E400084365A27941F406333D22450 CC005A1184147D4921D926BD2F1AE56C008864077C490D632E5A04F04F1AB412 D53B016CCF00AE25017C05ED0CB400663449EA1DA929F31F580EEC0138861279 4A1F92310094092F9022A2510C64CB1DEB6112DA2750F217C801AB28D73F128C 00D1394C04AE0B5227E1500888005035E31A6032FB4204C15012792FAB1E4925 CA327C1F4F14FA0EB521E6340186073F5A2D78F71291267F0AFC5314BD01F20A 56C408A20085056C30B74005DD00AF3D02850DA163042BA72045BC26009E19DC 249E43007A06864C23F1340D7A1464D73859186C422DD90F8805720068088601 811A5DC91CAE00C7400551D636BA5300D60432EA4605752B049C48078A01490E 6041127904E747315F129D5A227F1F95012FCA215EBF12573AB6125522921735 9E22DE00800695018C0A5AB879264601990950C625AE22DD0545005C35D900A0 2F0E9422791E8035127C226C12FE1D8802679F23791B67C23254003FD14809EE 013051EB366B017E0C31BF27E93501811A52B327E9075003C132A30196047A1F A226D733B12CCE27B13504842667136CEE125B016C127B19449910279E16BF58 1A32C31F3B9951FE05B64D2C670AB405F3003FCF01BA1049760D7C34069A0078 0A8200D30946F4015A129A2BF620601BEE27440164C75B277A1F633B007C1368 A527B60456401C76CC026031B800DD4801E83AA92D4F0DE7193C5A07F70B4F06 FA782610995A126CA3045E10C15020F961086D1250BC0E9B006C0A488E1F7811 831FFC225039E101540E7F1A77126200964912F62DA4023384269F27F624B063 006CBC01417900F66C0062DE20003A6C3D00C51F7F266C27A81C6B335A39F61A AE01EF6727C926F129A12760A60D41B53C04750C3FC13D00820DD31A4B10E100 B404FC5627BB02376D0E7D19EE6B044D39E40C436815863059196001C35C27AC 01CB412E98227A1746C96C0139B93F1FD7279B0033860438A4228D04693140D3 20A43600B327E300540865BA145A32C94000FE093FE5500DD93F0078214FB600 E207500B850128F91F5435E4123C5012B3440A79A923D91886109900DE0E790C 8F00E9079E008926543E1A861149026A0D7A0450307C1A63CD27AE50046CB324 972E7F0492385A146C401A8C125CF31FCC27970132BF11A700861A9E5003AE07 CF0C97360091126C26890051DA01AC27043BE01D72008E0D801A41E112B75800 D82EC41FF502604205FB572384143DAA762F0093077C1260AD235AA005278422 5AB40FD4095A3C1A75BF3549C4400D8F04790864A42486052F88260C7A066427 F4385131A03AD52E50137C276D1240D100B4045ADB751BC230E920BC01E10840 006C13E627095301F822B3480D9E2ED408AD01D73E0086064D0DB150267F1F5A 26D10D38F8278621702749D8254FF10449B71C41860E60B3137F470BFA2E5A01 CB6605774618830D77005A0D9516862F681ACD044CC6260ED74B22F1279D0138 92042F78C801A8043766277915A2622B009505269B5031DA20B32E0CD51B6AF0 03CB941F56BB015A08BE0461015A05C56523DC04BD610C7023922F003CA70684 006C1285492780FB319D004878D73C18780031F001661B812677491FB0275AE1 386600DA053EF44201AB620577004AEE01A11B860C349E290D820530E61F3F69 00A534781AB936501F952F01E7279E2647B44A26DE00BA04A00D3A9601864005 9F3F007820EB4812DE4E19553D1F6BE706AD00FE4004DD4812F05500CF064A86 007C4A01A83F12553441EA003D961F85237612FA1F86350DB016593F1E9E32F8 1247C62254401FCF279F3600B110541A6826A6371269AB0CCC6C1250A64000E8 2F06850D7900239212841A609E128531501F9A23C7126B420E6204BD60186BED 36C559007B04F05311C7036A0C9E00EF09B3791D5101FE1B6C01832A78123E71 47E9275212F85A1A69AE11610A83286C00B408FA791130821C8A4C0D851A7A39 5F1F781280183DC715EE335B0075B5011E4D8A1249E50D40CE2C46AD00499500 3DA101E7098401A464089001FA770F5004EE6D1F7801BC0AD84C049200405A3E 1F862704C156126BC339EB31BA5004FA27B32F007409C500E60D50329D05BE2F E2395000D30950007615A326913C22842649E347277C235B3C0F6AC541129F0B D113A22250F334007907C76B002DC40436D527B300C60D8B22763100A04901C3 3D20CE27B201CA0CAB279F2CFB016040059D26D01A2980A30927D22F00A05A01 84096827EC264FFC1F792768286C203FE412603A0567B82F590B50DB33418E3B 15F21FBE26E501B605DE5E0D3490045001630A459A3F1E791350E335A4207A27 6AD7015B3E17730079229427A527BC1F500DCE4A07D901AF0A6001D0064ABC00 DF3F047E385833653F08C801600CB819603E21B17712488501941E65335638EA 0FBD5025D8275A0A7C006A0F5A239200DD047526901FBA6C0F85074EFC0433C2 5303A76B1B3DB122E21A9E3A0A8D045C0DBF00D806B800572FAE189F3E017916 AC280398066000862E66057E10772B943D1A76F61FAA259E1CC82701D76900C9 0B5701644008BB0441A71FF7850CB51AFB10780182083EFD6803309D12502D79 16A31C92146C325A17AD0DE200AF05EE5A27841F954D2FDC007E0D5034E81B6C 0B4FF504A3016142068E01407412EC29A433E6277F1377365012AE0D53002DE0 213C94125E01690F7C3705F611783F00790660BA412ECE453496127926861A78 02D74924E321C400884622EC1FC55004A15523AD49086200A54000680DDD2779 00865A123596277925B712FD5A26872F0B7900265A308A015A3AE21248860127 C26E2160BB00F350266D2FFC0D9E0179268622811D7A27029D12E541018A12A0 27F6068E00AC27D8390E8222CD159A274CF11FAF520369086D01A505F7481ABF 62013BE77B470167C10044D97722F01FB8492A6004C05027D91E500086027D08 564837EB0CCF269A3300860894345310CC600D7C2712DA3E12EB0033FA26C750 09CF2D84045115FE3406B84A08EA0192056D3300A51161C836B33FDF056335AE 065734D01AB2553900F41A406B3B08D50485005721D02AF3016030D90F50C335 7A0029CD206C04501AA5235C0D7F005BB61A502F6A04D73409850036D227C01F 8A22743009850041D070260EAB7813532FA017BC50006F0C8700D633640D8601 7111E617AC22F61FB4145F45007C1061F5136A4004F8691F3EB3004895580088 3950791A860E2F892197135FB53E0E619D1F772C5B3948DC1D9D461AE8015004 6C0F4AA012CD22941D7B00772A04985A0D810496138627AA1F40AF3D0C6C1F50 BB0548A600770A44B5670554ED37B562024ACD46259F2E046CE400B13F126CB9 1549791A860E5937CD005BB725EE1B3706B5400428F2027E073E0D2F9E26E21F 7D129E20F027C335A227783061006C0480059D354FBF042754C91AA927099E01 7734F70D2FC1270BA206BD0149EC124702F3390078CC033CF100C51BAD0E297E 04CA58269D1FF52298003E6B004F03F527A4145EEC1134A525E627B500530B60 DB0465A3008C113D8F15396A1FF726521B933109840027E4137601FB124EC73E 127B1A5DA100572EF605B4003FFC0441971745970568AD5A196CD34D1AA622E6 6079CD0A5001AE3A5A054B00930979005B05D111AE2DDC27C41CF2083DA57712 417E00844931E2126B044A841A53D0412761387E006BB65A26A3224627941949 7F106B006FBF0C673A12792D810D612FC31AEC2AB55E116C04D843226AD20550 00791E3FEB78123A861230C627E70052FB04CC3B00A304E00EB14915D3437B38 0CA43288016606A924F70134E11F9D12602F4A7817830C4EE801337A104901FD 2F00833F0D8F270034126597365515FE38B46B146329F7269D387724800F5A00 712786194800E7063ADC11B7005A39A529D5089E026A00E311B21FCA234D017E 0667E00050BB05309127F7381A50F000AF08D9004FD513498508790C338D2684 3807A6012F6DB83D12C867012EC3014BF1600475249A1F3F83185C8B216C2D74 0085355B123EC0511F6926E91F7930620D864E087E013CAD0BDC01B823D62812 61C41FE0277E0D5AAF12C75C0447B158F40027D504A3087E022FD21FAC128401 5A08EE0140953E0DAE01DA6C2751971E50711A790DCD017F1F6A27FC21721786 045A07970FE419C33B0C85310D66D501A4095AB1043E83226C27A138057A0138 A92650CA01E40E63C012489E0E266A920527A3501B96270041B20E4809C5014F BC0641D70CAD25FD1BBB019E076B04DB00790940CF00B64021C52741CB6B267F 1F9432500079B03D046C00A226C31F3C6A0126F86C1A083FA54F1D70276B26C7 520183044E1FDE2AA61F50BC19FE54217E340BC60147C4032EFD279F205011AC 007A0C50A83A5630F636446D2C416C1FB214EA78223E5822851234991F49E201 881A68B121EF5704DE006C3F1C98005333E10059F80841DD4A0EF94409B9781A 2A7DD65F27790D2E961235870148107A276A27F123A92B9C14BA5A1250269703 5393105800EA053E5C0DA46708520E932F860B56019A08E5439F3D01C593265E 058800DF109F1940EC3642C6650C6D008535047A012FCD0443862276300D9C43 01860765F04032DD1F962E04CE009D0AA700D505A2008F045A4000BF04ED4600 D95201D0063F600DF90231841228861F9F13BC4D2EFB19861F79391A99280085 3C018C345107E266054B019222E64804F0501F6CBE5500DA0C99004F0E77258D 340176F10549DE3300FB229F1C50C000F61A40C81FF326CF183EEB412285290F 7013862200B50DEC24AA346000790B5B0E930030A026BE12D15A27B569135BF2 00AF0FF0611ABD5A24C8360085055F4701E74F2277126C27821F5C12F94733D8 26961F6C128E30631F77289312BE4F255AC7005FD30D405A3B019205487803A9 06BF4902CC681FC16017D320A03512B422F311A50086336101CF073917A22F6E 1E3DC15F01F50452D63719802C0C8649286C09468612992687016C3B007804B1 5F126CD10050BC00D530614C1B782D6C138622F82FB527D82453F4035E0A7946 1A950D389907297826823400913D0A79044EB412CF18B8346109B02AE021BE0D 3F8734540B84016D0952A83E07B903F40DB5267F0034A10740A63E046CB806F2 6423C50D37D12661128035500C9A04317A006C035695007A3159396812C7259E 2759F567088804E779122F861A7F220A60AF00CB5E1FBD0DB339D30440663A0A E327AE5A208C34009F062D7F1F67385206E138CA048401D1094A0490069B0482 0B3A9927E13405ED0042E61FC3490CDB014AD35012ED27A1225B30446C019326 791D8503490060ED01B717C822B01AFD2A01D35026782D8600511AEF6C12DD23 6A1E9E2C1B7F123074159D5A007B27E700AD15F42759DF0DAE2BFD233ECF4402 BA08DB50006F0B7D004926C51F5640005ADB07B239C178270F9339069D013F75 00612EF100C5501B7F1247E10C54F52261B80CFB04A41B81126B1F47B9492768 BA6C1C5A336B1FC360117E00A56422886605790092395E2DAB05277A006C0CE3 01AD08FA3D0DC400F40F55D2793113952769007A2F5C0E9E3968149D1DC7163F D465052B9600770AFE0050E10149A700DD4322F012941B67256E067F01388626 770B9114601F8627751936B21FE113A51A86013FAA26CA1F3F6A26005A04E150 1C6AF32764E8139D268F117919853E00BB0532A71D3F93013E57338927E901AD 00FA0D5A1AF1004412CC26E800A83801D8223E5213B92C12A632601AB208850E 40A31BCB36981C7C27661F854B145A38A53F2606AC43047E24EE4802D7470078 0AE80060054A85013AB355193DB8304A87156137CD2286340490085033B304D5 2EA81FBE4D12E81A6300EB05B10CE601A55A05813A5A2FCF0E5CEF05790A8401 A148EC40257B00BA3101861A3B5107DD015A26AC03D85F228666017F084BDA11 9F005A0A693550782F7C0197103B8A3F017E0D7014578F1A6AF908780448DD4B 03F95000E21F58FB04894A01603E05CC00A50BDA2F9D046B00BA651A5ADA0F9F 08378B1FA625C2344E3BAC38FA0C9E1F790DE950017F0F41AE098302690A5AB5 2761CD016C3E0D8E00405F0979003CBB462F6C375A20843212F84908940042AD 3C22691B9C31FD3B13700EA52F6012974711C502B56B1E49C24412793A07FD48 12D426C0142F6E26DF1FB212C62208A224CF2752BD06E35020B32EFC0943B500 5029CB369B00278812387727A438156D3012B325F5571F71297E006A26EB1878 0D2EFD0036721E5AAD117706407D11CD087A016C2746E000406B1FC522DB042F EF26AC1FF83F00790C409C11FE501A6BED22C826AC5112811DCF009E4104C46C 0027B722EB0C76038600DF4A0C5A009605CD4B0BFA4005D75A277A2241A30A6C 05ED4A1F952D009B35530077AA0186063F733B0395DA13760582016C3913953E 00842678043397248201720E5AAD0B6AC31A931163BD00D86204770D40AE0FE9 2250C0065934D741801078B203D04000E1275AF7016B275A15C11BB4125B2FAB 0189085B34A352006E0C7B4A12C329E620542F7404C1350183053E6C01DE049A 0E5018FB27501B9861017F33651FD227A43614B727C422643E1BAD0085355000 AC08FE0034E424863501CE0D67B84104ED691A40F3124D9D00F05A27005C34B0 12E91DA44805C6611FA012CF500DE315B01BF03C1FD72C075401D00A2F841F3D E11A8600683F01AA123D8112A32401C4511F502F6326861A96042750AE04EA43 2D650085089117D3263C930062129827CE320086266C04A500C91F86264EB312 4AF81F9E263A5A27AA7301790DE13812DA4812B250076B108C6100790850E701 8B266817E21F82306E155C99125000B161277B24551E92310EBD235B2CD41663 410C863EF71A46602A5000F430530EE2023D6C1D8A015B2F416C0186044979EC 3E227E4906B700459F2DD619BE4B347301CE4900649827049E0AF101B5056133 BB761237801F8702DD4D22F336580450F612BC27E31A460577EC199E12813964 0D5A00E118683192005C1179BD00F2063057BC4002A3772909870135BE27F404 38D928AD1F3A6C12D2279B03A00ECE22B42A0168C72D510BA104EA01C6084986 047900A50939B626C620AD049A00D70BB2641A880079274EB900EC30479D0ACF 12BC5031A400265FAE01F6275090155A026C3B089904F12F5F1AF733076CE338 6B137D1B4BE60B5000EE6000C40F406F05974900C1781E6940066F017ABC6020 3D5A01DA4805F535B54010A001D90D3DC5500740651349D70F248A2E520460C3 21FD5A006D19B054026C0D9400B75001730A5A2F7901500479D93E069D15F22F 8C123F7827DB1A3CCE411E6B89017A055015582E6C219233047927D9229D1763 365912C41F7300613F0DFD17418F053B69129A340DED23AF0CFE54268421A700 7D2648BA114F00C05127D4391483269A2F12935033A51FBA301286280CA001CB 39AF480E4C00D406B74C2F1DAD166D07945A27772160A4042AE51FA334850096 4700C61FEE41007E3E1B850D924122851FF73060401AF134BD25F51A62EA390C 531A81226D01772150B40B6B00A55A0764FC043EDC1A478E3AE112B6400152CE 12A40A6701F80CA6077E003BF6279E1C840162CA20E017B95300D44901644128 7900D10E6C143FC50C751A8B26943204850069B001C6074DCC2709FB016B0B60 D20447E24B2F6C0D5A26FA1B974F2A6D129569008524DC3303F00BB9451A6C8F 00750CCA1A6927F16014790827B44E0CA727D93401E409A54506C9048B277A0D 85009140116CB226FA00CC36AE0DD100602EF94F112F91203B95135E2FE902A1 0079076AFE0E39712749BB472A6D27D622B168115004DD26AE47096C00844126 791F8931CB12BA1A4F389C02E1500558E83D01DB0C5DF422AA1236791F408801 4983269D27E91F5035A90026B319EB009E046C3B0BA400FC0A38D62760007946 1B833100F20A36D02386013CB504410AA836CE7B112FE1005E06A06526795012 92236A0FB4004815C02A04A54701840D5A4616613F26991F86023479E500B20D 4CC3007F0D6626861FC73C2261B404ED00560883008D045A400379B73E147935 129E27BE3202E5079F0B6C04780065A1065A31791FB22B04A56028AC1F3F5008 56FA0459E7133CDA00660C7D009507771A86600985277F1F50B526E81C6422AF 47059612A51FC65A019E6622AD5611502CF666126E9E2E6C005103469D1A4089 2B5012C5002BD4003BE83E1F6CDA602255D73B19CD41319904BA00E84C05DA0D 5CC906276E247901329F1FB845D209405500930132861F9F12DB1BC7143DA41E E42C006AC7015AE8007C0C50A4125739FA20AE27EF3513DF26BB016A1288394E 0B79008605CC782C1A9E2F0D64A11AAD21C6384F23C227FE0D38D9014412E033 0985013E9A500479304EEA0B8D0427D23A0F862F0479B8004605D93F00E423B1 1CFA6C0563B510EC017A374886185F9F025AA4054E01A0097800935012E11F78 27741B833D23A5381950B812D127F55A10723401126CF026A81AE55A086C2E7B 2496334CF10D7E085A9F0E31931F406722F41E6035AE004983065A0C7B450080 103EF35000CE18FC23C5126C2600B461006DBA032C79053F6C04D75A00910442 971F5ABE67006BC52057D00D29E21FBE01266336497D0851E00061FE3F1C6CAC 27592086145A07663E22CB3200762152AE04F90AB1441C810C32C212EE336920 F82E078600A309F10EA501C150006C9800693E01860540CB04ED60AC3304770C 7B461FD726BF013F610487006426D01F3FEE5008B803CF4D049B00CE23861238 D627AA1FC45B1FA46108229F276C017E3048E53C93153BD140225AF51267E61B A12D11821658D30079114922AB3602792F0460A80086107041B200FA13B41F38 AE165001CC09347E0DC0043CCA31A001840B50F113BC340E77246C2F01CB27FC 4926954000BC530C6CB7233C6B48275A43336B1FF71335EB1F9E501AAF15782B 50220058B31BD130059800830D50F70DBC1A45AE3B058F016021782A81153379 2784176504C660006D04860534E7002FD3783A07A8530F9400600D46EF06790A 9201358D2700520E64F332B83E1FA426F804950B5AF112B37418427F2254EE06 2D77226901925B057F2695214DE80199275B93017917DC29AE1E793D015BDC1A A704E4790E50008606601A862712A1340152D604B100C30BDF049508AD590449 0EDC2F476500A10C82FB12376E0050BD395A34A5186C2C5634DE12774E2FCA12 AD00F80B5AB20EDA063FF22F4E1BB516F72C4883125698260150E9401DD627AF 20C2015A2E47E11EA54F07B541CD7B0150086C017D0F6C2E8327CF1F3F82003A F4053BD3003A79CA0DAB27DA3412ED2ABE073D8612601EFB1241E9274C0D9200 6B06AF802700922C5A3D1561BA6C12D030E4054DDF0449EF12602F406E1E862A 62277B301279B45D008108F43B1FC8270746DB1F9F25610FFA0149CD04A20084 089E01FB0C4885276C269539006C215A9D0CA5017930415D11CB01B1400D6CBC 126300860A50047928891FBD00693D0ED9246C04263DAA1F9D22EC31C700B208 5B0090064FD51D50960D509F1248015919810A54A700791255DA0041A63B0082 0B6E00B95A223FCE26450AC8683909C400AD40033A9A43016C38961C3E801F79 069F10FD3B01B40DE60146D227053DBE229912AB57016E9E5E01850DEC049022 791240631FE7276C237E1A983802E20DC20449F027BB0134732652E1089E0192 4C27691AF904379B27CA213EF06612DD056C118613B549009D38FA77124ADB00 3F5A0446601543E73B26BC1247930131B4271A6ABA26E83F00C11C406B24A303 6527D10468C325AE1F3E7F04F9500262EA225116F77B48277F1FED22581FA513 C5005BC901B027CD206C047C5022821A5AA00060EF1B6C39046F40218B271A3E B92E52366A15AD29DD059C3D0AAA01C4345200BC5A1F405D2F781A861243E400 C4053E6927DB3E0AEB00792E4980006D0557B300309E26A534FE25600279315C 0B5000C30A2F69BE17A521DC34790D9D6401792C12E45A0076F7013384129B5D 26830CD4501AF82F760C8A1847790459D4123A761F8E1A3D79049D01350DDD04 650C9E01F6086125790B2F920D5A008528A41ACF4100BC3F0E84330A9E01E049 C301E80AD085007606D500BC41006C26821BC64A125F4304E86A270679A800D9 08B30150831A67237B1AAC00761F852650AB05C612E31F8E3411844B087A005A 0CA027CB1FF01BB7278A27609A0627850E6C059401BF1A41FB19AF6B0827C035 0B46A4076C0432F7019E3B008F4812B95223EE0133E52C0550B500D80CAF00C0 4A246BB56D2250BC47276F347C298D19F5571A3AE83F12D900490895326C25FB 16B344782C5B173C6A2F501127F5225A12831D5AF20EB20050039732F31FA027 0A77D33412851F9A3240DA04A327970DEB335A0FB401BE0B3471236128AD0CFB 601EE2401FD1277601800996057F006C0DED0436E24900F639B3275E24880C35 80003FD964046CD05A1BDC23C47915405A22AE2F068600319E115EB01B6A9E1A 6C2753346C275C12D5083A00A0077900D70DB000DB0EAB4700C66C07639E235C F06A1FDE03A1073E692600CC0C8D00A605BB6295093CAD4026A10B337E1F3DEE 68217900851061B53E0051FE01475B0C7D247512F8005B4414D1482F632079DE 009E088B015A3D039201B25A04AD19E93343623B25D532A21F4B75128634560A 7300F24703CF5E1FC9245014AE420E278600543D0063B504E31151D0364AE101 783908860035F20DA3019908EF049E2750E24829F312661F83276B1F75042C9F 4013AE3101860C3801860F4C215FC004F14F1FA427FE2686360215497901E564 01CC5001C3602707D40D5B38D9015012921B642CC126EC00B507574636C30298 08A004FC501540572FF21545CB22AA27771337850D40561BB901E15A1984013F AB00C21AAF24CB1F5012A22F5200860977048F2F0079BE1240A01FF1290E701B 8501660A971F8526D94912C944045A3ADF12562F7540008611931A5A35C15301 EB06A737D36404268A00F95027C850B6275AC579002F94128641016112791A4E E02FC91F9B1231851A38982D0476A5422DBE19488721F027AF056F108A1B774B 34CE18861F6C297A1C6C3B00C806B10E69387E1A6C10DB0749F72366D700A00E 6C4004940B50D01479297F016A057CB53C047B12EE32A927EA2160FD3D0260EC 056C098841C84927EA26B2135905A9008B28509A26C5185F38C31BB612FD3263 01AB0A8B042F94223F5A01501279E24E266911A7043A0A99003913E34A266A05 DE30BF5307D100699F007F0655B00D5FE81459DD1150008A019A062FAD047E0D 3CE74404BD3E0F86056A01A50DF30040D7109527741F8900D505A400864F2F92 009805347D2250C815AD29F722633B05FC0D4AD8462C0067DF20AC26750E8001 990D501F9333168826A834046B009A0C7B003CF53E126F1EFE01306D00840992 0369005D4606CA374AD01844E5104CB40CFE1BB5430C34AA05791D71E3601FF6 486E0BA501CE511F7D0D369722820F385727FA3C00D23F07780040791AF52254 35E369165328C8600085305A01F522AE27E6306322B15A227E26BC01F04B3161 2747EA3D01BF0F681BBC5E03F92F0083236A127C00A35727A61F5A0FEF770C34 92004705C61A5037B300D807B84900D10D4EE225B71F5A34C06C1A60C9259412 62D20DAC2DF61F4CE730A41F772285002B61A4003B851F772781310072C41F49 D841004D127A2F05B929416C3A10B50046E8015028ED08B60D731A8D4D208C27 AD1FBF3D0A6CCC0E500079DF013F1AB322D5149E3278007B099304863E05A701 500D663F04A012C21758267C1F3FF12D50129D1A90480DE601B230DD40107700 8C0484193EBB501C66D7582269DC12456B26771E7C385A2C9400600845FC0450 0A8F01503F00B34321792662017B37067A0DDD01AF12F476052750BC05DC009B 0D60EA3E0882005A23B228D001AD591A8009ED0387269962126CB7045D862266 01C04105A501FD0C6C0362A82F04821FA538126C964C086800486B0B41DA1250 1FCD4A11ED1960E435AD24DB1F79009509B204D35B007908CF375A06B83E7038 550A5D01C41AE034B525C8015A04FD0D49018730009E08C33F04E50CAC01F812 3ECB3181129420DE29AE0DDD7132049F01E3159823AD5A1A9527822F6B1F3EC7 7F146B27406318C904511A9D27EF0E7C068B16843500D9269E206618F93204C6 24419C1F013FE22F5A12EA257B339D23D5270042B326F90C59C4270DFB2EA838 E104BC1D5A35BC61002DA3268D3304821A860B5539FD2F84216C330CA5278649 00ED27792604CC1F9D277622854912653F0D9A2184289F27B615F25A27791B5A 90226627851F4FA21A6D00AA2F6400771B812E0960EC1358346B0AD80040C500 4F0ABF049A005508FB01A50AB849288E25D101601B9F30F4224708EC69117600 3CB3400079471B8F0031D752A51D94047E2960126C00850D4FEC771251028831 009E420074107D1A99269200810D3DFE77086A00B54B11CF0045BC0E600148ED 009C451AE5043196126B00DC50117D00EC07B138049E00E95827D3126C00710A 7A4111C505F90131B401CE073A7901880FD94104C65027EF0349BA1F5038C20E B550287F1F6935EC5F154926D61F7832436E2F5A06F4006B1241B83C0070035A C2631F3FA82EC854055CAB0DDE5A0BF360120778003AD021AE00C92BE4433591 240568B63E19D86C1260B920CF015E2F5012EE279F04511444DB481E802B5A38 75019627B71236701FC3591262CD1F4CBE451C863442A91A84125AF82A6C2408 8600A538E31FC33001943463219A4F157E2859B80DEC492D5A228536069D1040 8600790586007C3F01A205F00CA7042978E6600D3EAD11C500E11F862649C036 7A056CD31A860F4A01920C56017B0FE43B2585153485263EBC2D47F650097516 83490B5A04C00148CE2901975C0627EA3505852750F500D065056E1ACC27AE01 5A0CC601F908AC25EB1A7E0564C80D7B013CAF40017905600AAF06F601603249 C800500DB140C546325F164A8D0450D74A0086470DDF3F09F30040693C04B301 F51760D61F5AB512F827BC22DA4A1BF9125A26841F569D0F3B01B552007B2766 0E7802A30B7601FC510E33AE27E026B327CE24FC48266C04C40066D604AD006C CD0E2685314AF20539BA26951F5FA60940F21F3CBD5001864913A40E39920C3F B835860070257A1F8E3260207A148504552FDE4001A128F6086C0DA32DFB2692 297220790DE2012C7D268E35057802F20CB2013F26A50627E71FB13900659726 7613D41A94236D0DA601398F00347822840C7730049E243C8A4600D63F01C66E 238027E3129E1A9939D02F5515AC3E21A545047B006B087700810634BB12781F A22C0E501C7B140163B000C20427A063016F0EF82F136B8B0C7A00781EB022DE 4003C9611F79235A0147E411BF04F04C05983E00C94935A5125D267F226A1691 24D82087005A0EDA0350BD3D1F6CAE09D4015EE513691F84276AFA6D12659E0A 420379D03C12C3049F275B08CD338A2778480DE46704C9015019AE6C1261CB01 B7336417853105FA4B02614104F148006307E9345D0C8E00E761129C32F8379E 1F53A20041F150074072B838FD49953719791F68931133E027860144D70032A5 25D21164097A0077345006B401FA0EA51C5D3442953C1ABF22E0620D27D80077 0AB206E300B5375400791447BA4A259F3000649E053E6222991E502FBA5200D0 083900BF34165DBB6C1A52047822823900A550126A00E908BF264F1C92263FF0 5D003DE60627790E9504F422AD44112FA81FCD355A21BC27871A7901D827791F 3CD5431A6C124BD50E612F8A012779EB0055026B2504E75A0DDA3D00D05613A5 1B507D1F59E4046C2849FB472AA217F022952769308327C906A100570977006B 0F41B4701B4CF2471F8534445C04F0314ED0086C01820B6AF11245D116FD510C BF0092053F9E1A488B4F1B79F0004D11FC26AE2CE20D50F83E02DE26831F962F 7401AD095AA20E33CC0B4D93411AE0264B0D790067BB6D0D6C0882018F0B5700 AD2495125A05BA01590AC104B4003DAC05DC1A60C93C1A9E14D50DB58629009B 4F228747077F003EC705AF0B38851BBA015705D7266B0D7F00D41AAE00501488 26F61FD227A52F9E0439019D0C6204C55010D20C862698023BA51DED27C61836 87042982003773277C22F112752FAC12E03D042997228600610B7A01A9187120 7E2FAD045C4100FD5722E12E00659B1F852D00C3500077B35D27D4193E00EC22 AF28DB1D3DF94012CC2A47EF491280269422652F86196B274994095104772280 30541F0746C64008FC0235B826EB61177126469D006B0D812397128601AB385B 127B0C3DE86C016A2B7B0E9204E6266CFC5827C221773E008D27A91A6812E722 6342095A0049AE1F60B80E4AC801DF075A346400E90A6C0160C8500ECD2748BE 4A1F91355A01BD0E901E50CA12A71A367C146CD03E056E11FC5E13A43A124701 94064A8827508C01720FA26A049360047F006A25A031F70050E1074DEF029E01 36B026E512C14000A666D9781227861CA9640B760436B500FE6221C927EF32B2 006130C54205E25026C562042FD810B20050355A12851A491186003C9E1AFA24 790150C63D059500C033A039790DE1005034861A991246AE04A3401F7927932F 078540019D087504EE4312E32D613F00F10A3D6C0749C7009C045122E427A602 3482056AED1FC65033E304BF3612C826490039C43B26DE1EB30DC701631F7C39 1298253E7013F9670D7400844F0CF3431330016ABB005A4021DC2799490E863E 04AF075A12781F50E70D5A208F34008608489F411B822363EB18AE4000B605D0 1E5AE7016A065714E22F00AC5A2677197F02D90592269D12F1043C592F7E22D5 1B5AC001DA10B63F14EC6023DE1C3A6600B0087705D069278622D8309F125038 B70F8A00801C4EAE21D427047B3C0F9C0C62167941077EE879245A0D86085377 3D19850EAA05CC5A00C50DB431501EC727B2341B992D04915AED1A5034E20D7D 005F08F22C5A1A921242933B02D3083E7700F61166BA1EF8270EBF5A03CE3307 6D01CB5A277931A5084E2DA736BC40099D6D0E40CE0DFE27702260186C317826 6BB900F60A9F00770C37812564006CA30434861250C4217F27539E255012B301 61047E0069ED1E603046C00C41DC006B0B49B85000FA268428A400FE5D1F4F05 B101F21FA63704FA502CDA27781B34862064048400880A630547DE0160BE220C 3E9A0575049414C8329E15A900D3502FE100BE6027A515B750279D04513E0199 6F003AA50C499D21863B0AF30167257F1FD30E7700875F381BF420613E01A412 B82DF803CC00A70940621B782A8626FC4F05B01AF4431E57D5003E79019405D8 0F40FE02921A51E43E1FBF2D01A508F601673479123D9F318B122A861A5300D8 23912D03A5106C1A406C4600C32667008B09950051F50645E22A40D72157EE26 78127D390685CB004AD226AD2D782384016B227934017F1A78470C8800693A04 851ADD25B06C1240F015662C7900F54C1C91229E12EB00AD046526F32701D556 008507B649325A00940D4E295C1FE021A33E01DC0F49019832497C0B35C00D27 68B50DF62F5A1AA5002F7927C3330C97530E8B421479279416EB04B75908F100 40DB0568BB4013770B50C0412FD935CC129C2C508313AF225C34BD136A289301 AD10509B013E9000A525FB541927863812861DF401500CE42ECD054BEF26A010 2FFA1F40EC1ACD325F077F002FD21F4F8804E012AD3D0DC200502F6C3A56348B 1A9A114CB11233A6276C158E05E03E2067AA06864001790CCD56276AB85A14E3 00299A5B00739E193B854513AE374C70CD0A63007A4701F53D05D15223C80649 24912F18812260991FA534016CB004E01C630085067D004C0BE0033FD20645EC 02407901B90D4D1A850434C6124DD4196C0036A3730EF85D006C1059B93C1B7F 12408F0A6400BA6C045A99017A4900AD4512C2600D7E013EB3274561047D2762 E103AE0CC90643DF0141830541920BC801EA28691078C6013DE712BD50269334 0690004609832666CF0627FA4704E40959009504E8260645A218F110B6264B9A 276C00841A60AF6F005CD201BD4601710956EE1B3D5A31790DF3169F225CB968 1F98125A33A5176D0DDF3A1F77E86126FE48278C043B990ABB610222A90130C4 27AD3404649F025AC41A3CD7355022CE340AB42B128C26EB3654049E22DD265B 00951AE5249E0F4186226A277B136030C41F64E7196B227A4F00BF561B46851A 5A34690EEB005BC01CEF27C71AB3043DA36C12318F27A71FCB26791960B71234 8427861D793400DC12B230E7013912F61A39790F2DF827C7122E9F0DCB00AE50 277927EA044900812FE6008504509D2749A15A123A00A509860054AE1E5B4027 11E6651A92410B7C066CD43F22F829009F5E04830C96008647195DDF05790B9C 1BFD3452089C0DFA386B075001D72C08C300FC04B924740B9D00348504A03D1D 96340AF00431D5008C05992785203F7C0D780161388B115101D05A006D057E34 5E0EA2380177DE045900E009AF671F4907950D4DC55005A3541F9E650C7F0099 65017D276B3E05C0015611861DF626601B6F26FC3800CC083500C57947126B1F DF320CF104D8804934C75105DD4B20EA1250008608AC6B3012B327E61E6126F8 780D38A41F4F016C4300B6691F834901A633BB5B1A845037791E834A00F15326 D65C0EFC4800DA08498823A45012AB26FD1A5204DB094AB72250F8084AE620AA 411ABC12F74A01DB4100F2691F502BBA39602E500577C15B277F206C26853201 E40737AB1F5A3C19D84112FA228D1F3AAE4531AB07A301BE0A980EB0602172EF 6C2705DB2FB950059E492A6A2200B20D00268513983D009D27C71350400DF34A 007A0740B7113F00BD50016AD434C615812E03CD3612D6226F123FAF00EE1249 B30D278D380293082EAE1B27B05626CF003B6C01802777033BB9611AA4310286 35129E29007C300B9423603E14AE0C86315208CF00940B7C01C823EC124600FA 04AA00E209BC6C2657D00240E704AD4D07B200580AE56900DB0C763F20863464 2779290C9F01410BB2511B94013679128301BF3D77286C44F6325A03BB532579 1F66DF019A1D883E1FC15A016CA027621FF12F0D79229406E85017A25A098000 F6056C31489E01346BD90849C71F4E800150860D307B1F52BC14F622C512509D 002F790063E81FAE41046CBF1366EE0046D80184277721CB1B9E265F12F820A0 1486017A2892173D6944145F3F128700279B6C0D80371E865030A46D1B3F9427 6203D05012E305C7004ADE5026D03360007E0D5AF024D21FA74A09EA05A51679 00D02C6608FC01B5092E79276D0ADA660429EF3103CF099612AA4100A7113F60 267C0130C5278D289420D40A2765E7005631A60F3BE6123ED5044AF401A20E6C 4107630047CE0C49F324C53A0D6D005DDE1B42960553378C1DA62AE800620480 0E4BB03B7342045A38B21AD42550B910CF30A500FE2FB450173BBA4600F53E04 D92701C40D5A19B3355A0082277A1F3D92042F8D12851FF326C23E0474006C32 12991F5F3CD60D501E8612911B5F3848A510CE01AF263BAD501A7E4936702B50 0460F62666D800AF0EF078044B0DC001521379BE052B97197C01608E00699E19 399717632EE601B22DA136861B3E7110830554B426D01233860D2FD224B90479 0F6C1F53BC4027FB03791B00BD30E412603F05A401793A04841B79490D6605EE 00631192530C9513824933A001FD0F9725EC22B5015DF11340C5006808AC0343 6C209B27B20CF9610052B401256CBE3A04E54934A104EE006A33571B870D7901 D60BB105E500D078270B860130931A503C225DDF771F3CA56B0040865012B527 FB2140BE37056DB4003F8606593D1A790FED055ADD01A91F752F0187069A4C00 F3580181124F34C7019D063A96006A3347D950276C079D00F8741F650CF15026 DE0539CA278523901FDF2D1AC4265F00EF096C384979007F08500D9F42086AA5 1A52FD395A2F9E14E30D5A19802640CC391E79AD3E01699E4000CE0F851A3F9D 15E53F00FE166B258D2051125B3E19B04838BD50096CC400B40B480061E3063A F9240FCC3E006C0883045A12F2401F5EDF12C42584D6025C239713318627D215 FA49396022C4276D0CB42067FE005B4026F01350D71AB72601820DAC52228433 0D52C6275A009E0EAF5D007609A634510569AD0148D04E26881FCC122DD81C3D CA6C2D1ABA32007C27049D0DD200660441CE3B018E066E0BE5046012F40D5218 7C266C2759C1055D04A452274AC4470070C834A4089100DB045A1FF52540651F 8727A817448F1A53984F0477ED1BAD2ED01FA34D03CA0A3B79006A0D4E34C744 00BB690A5B009208A40EEB0047A518503599072D9F1FD5650D7B2F099105723B F049012ECF1650D90032891E7F277834139D20D74701C778153486227012B805 6100AC6004A86A2701F6730454E20FBB5023752749B7378F006AEA20B71A9D4C 30008727A627DB03AE08DF004E36922D7711BB02600EEB40046C1BFB27782185 1279018906DD3A01FE0E863000B42801DB2647275B1078267E00348D2796224B B61AEF008D077A38501FE526793460256C2779380379E90040DA530E79043DA1 00AD411F58C7115A1FC0670087047940AD04E60ACE0150EC04415A1A822800FA 4208E7039D2F43DF34500D8641009D5E12459A1E6B375B01CA06E911781A4BBC 123F5A006A2707D8B01A50008423633476209F12F90AC800692185279C331395 2784015A12AC29E234A12777125A9C234E04D35A0C82410D7BB701CA3C00E50D 5BDC0C5401FD06357F276E21AA12FA04A5019E0DC700E004B00CD95A2A12881A 7701C526961950CD2266F6002798037B0836E926A529126A472D6015921F692F B800F50BAA50106CA01D3C5A01790E7D22F2321EE71437D40130CA009119842F 7C1F6501FB08268605A633F14278220D6CCC3F06B90BF701862F6927791F3AF1 4007DA0159B500DE0D3CBD4E0574006A0DCD00AE41156CBB621C36E813BE611E 3E640BAF501A992F136CBC4115A953019E11DA2862278522406C3D187A2F881F 843307B26004A749276B4000EE33088C042C864F31DF14AA430E771A5AF309C1 00B44A27A80B771294253D6120BF2C0060B40CFC27C005A20055B0074A792284 4E12A427F90EA00050AE384795512FDB147A2601A254FD3B107D4A16942D5012 CE00B5044A860D5A951D7B24478621A062002EEE22B71A9027683204E9003912 9F6A01742F05F8009C2A46863A01C2780027852F6C12E43150049601CF084EC1 00F04F24C2125000BD6C1F3ED23A01F416AE5A127E471CB4430CAF014A86235E B505CD003785203D6C05FC0139DC55036CCF05790148DC24406C18921C503586 12652BC300AE06EC3C0979044922DA2B0A820427C70149930050C03A044E019A 1DE8365A00AA5B26781B3DE119A6003CB905F809306D1440CA791160305001F7 08BE71217949F2042BCD22AC49346C12DF2504FA65203EEA5F05CE00A1450CBD 5F1D73327B1A5A2E650586015AF6274102FB0D681DAF0C84052FBA01DF5E006B E722773504FD003C6C2749B2045ADC1A8B124F86401FBE2F1349E93793098404 D53A0068E30145D90394127D2F531A64D6205AB46C0560C015E0601A790C34D0 1F63128F1FD42B69007911DA3F04EB09A45D017F26D21260411F65C101EA0A51 043CA90DD15B1F833D0B53A50D2786500984007908A450006BA73F098704501F 93233D651B7D0038F40DB000E70EAC14D520B3350DA478264E950087305223E1 621B75253ED13A129E07CA6C12791DE20D93137E2F0CA0243EB0260095075086 006C0D4FA61F771256BC2A15A6266D3E21FB490DD07601468F0044129C3E1F77 3600AC24F45B089F04EB458509A90DC3279E4C1F81326C2340C10B54347503AD 7900387F27941FD680006C3E05B44C1BDB2F01C84100B13D15EB21C519338C0C 5116D926AE12D10D50F004B426D65A216B2788227704832951089C670032C714 3BDB4512CE6C00399C04860A5901782682172F57A347016330F800B8440068D1 0460EE4435E11FB227CD1B3DF800AF4005855A0A9101C7500435960028AB1135 C326ED4E00F60DB542128539127B277733002771224084063C01C60DB000D810 772F9E15EB273A0EE0571AB80065274426FD1C9C46007A0693601A6BE212914B 277E015AF11FCD279A0061366C31A100793F128D34059D01CA0A5535BB4102F2 6C1F3EE5500881015B097C043FA5124BFB12AD1FBE28F10041DB2601C437B019 5A3F1E78EA3B1A7A11501A9D009009630586015A346226EA1235F21F3B6A0E77 B51A40861FF868088104337A256C0464E30358BA00DC0C55C49401F1611A5AF4 6D27642A861F5200F6074A007EC95A2804911046F505B15901780A31E526C236 109E263B5F05D80040B53E0D6D01790E40B402F4065A3B16C45A0048AB1A7949 39FC005F11984700CB0E791F9F27B628EA279C2252C80027612D6E07930D5098 048C401279069101C8680850028726A601C40F6B2346F54929B912CF088801AC 700057B51BDE270160E9054B012BA21F5AAE1387279C1B347E192F8F22A53907 13503D04D500490AA204FC083ABC63206CB66812490177C54D339A19820D35AC 22CD61126C0457ED007804A92D50961260059F2FB822EB561D7C26881FE26C04 27F96909E22F017F1F8727DE361590265501D304470C92005612F70B3D9E46BC 00EA521F3BB41A4C0EF35127DE257C2E12AF23BD12F82F68277B34D412580178 227F279E1F5B40219A33077B005ABF300D5BBA784F0ED13801E506C80049A200 CE46056C1160E36CAD1F862E9C13C92092234F83013E9E044626A122FC400825 E300502CD368147D3900852CA51F3FB022FD1A850D46F624D01B6805773400CA 0B4901A80D46B6740C2D852450C412A306730151BC0540A564226CF3601F6CB1 3E01911A700D39683E04D06C0065C627600C9A00500AE749006C335900970CE1 06A3018525AD0DE4006B043CC30DDB046BE72DA93D126C9F224616E141009E64 213D612EEE0C502678F927B800302600CD126A2676336B0040B412E31A4ED00E DD00860B27AD650E6CC0015209E00354BC23F701860D4D8B086527D103396C00 8327E013AD6C2766D75A2792003919A04000B304613443D0219F1C782EFB0A31 B8114901C92F06844D2AD502E313A1228F4610F634068700CE216ABC3E1A9D37 F104AD401F79276F22682FC91A5030A415F2790054288712500A6204F64705D8 00A4088530500D76B80F8F1668AD0E3D01861B569CFE4936A505EB01AE0EEF60 056E27790030871F5B33BC750036892241951F86279832068E0E5A26D1013057 B900508619A83C0E98005A3C1086044712FE1A67DB4C04EB511A930EF500583C 0CEC005C12854C008F277E2150E714BB1C6635498609CB0130801F57AE2D6F1A 853404A55C047F0D861863CB04B200FC0D8D005D9B046C365022669F1143B427 C81F9D2F147E266D276922C919F300405401BD3F046CC2490BD74004107C0258 402079277F1A2FCF1B990CAF61043DF104521643ED02A50634F2004F12EA601F 48B349136CDE17419A123EC7045FF31F50BF02F91FA5268001792E0E86306122 D22777269412BD6B2749C44604E13C19D80D9F006A41007907B50027781B5ADF 05A8013C10D84F01FA541229D91F602EDE0B3C5212603A5829ED123DD70EAF01 D4063EFD0078013A820066AE02970BEF01950479278622DE345A1FD72F128332 621577AE27DC1BBA5B0BD9004787015A34F44013C3711A840DD77C1D5A12CF6A 163EC26C0140D800730794370085062FEE014991224785093F6A2D5000C832B2 20C74106C101A3096C00A80867400087066C25951F60A8045132C212AD30F150 216CFD04B63F266C2276EE610427A42F07C76D0150BE004A9F01F031A608C402 49921F644127721AAA176A304AEF520DD81A3FE334531AB2365711A5066C0185 087E004FEC05B301C72200630D8500388F1F50C5123CAB005608A32E0048B24C 27013EB52E5000789F0427A21D7B3B1AE922AD4C27C0541F7D340AB00031DF22 A00694600D790864009B531B79128B36E64731DD1EB22BD710AE0079084171FE 1A5E3D03940C278A0E50336500870CC5471341B578156298431F953814822540 6C1A7F217626853506BA00F70CC7462C7B0AC1052395274A87015A108D3A5C13 FE4632D21FAE26FB24B21E5F276C384984> >> >> dup /HalftoneName 3 index put /Halftone defineresource pop PK�����[f[JPN��N�� ��dmp_init.psnu�[��������%! % Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved. % % This file is part of Ghostscript. % % Ghostscript is distributed in the hope that it will be useful, but % WITHOUT ANY WARRANTY. No author or distributor accepts responsibility % to anyone for the consequences of using it or for whether it serves any % particular purpose or works at all, unless he says so in writing. Refer % to the Ghostscript General Public License for full details. % % Everyone is granted permission to copy, modify and redistribute % Ghostscript, but only under the conditions described in the Ghostscript % General Public License. A copy of this license is supposed to have been % given to you along with Ghostscript so you can know your rights and % responsibilities. It should be in a file named COPYING. Among other % things, the copyright notice and this notice must be preserved on all % copies. % dmp_init.ps % Initialization file for `dmprt' device driver. % % Written initial version by... ASAYAMA Kazunori 1993 Nov. % Modified for Ghostscript 4.03 by ... ASAYAMA Kazunori 1997 May. %%%%% check version %%%%% 201 % version of this initialization file. /dmprt finddevice { /DmprtParams gsgetdeviceprop /Version get } stopped { pop pop 0 } if 2 copy ne { (\ndmprt: driver version\() print dup 0 eq {pop (unknown) print }{==only}ifelse (\) does not match dmp_init.ps version\() print ==only (\).\n) print flush 1 .quit } { pop pop } ifelse %%%%% BODY %%%%% 40 dict begin % .WorkDict .UserParams % .DmprtDevice % .GetDmprtParam .SetDmprtParam % .DmprtParams .Xdpi .Ydpi .Xdot .Ydot % % in cm mm pt bp dot % BeginMode EndMode % .ModeDataBase .CurrentMode % BeginConfig EndConfig % BeginPrinterProps EndPrinterProps /.WorkDict currentdict def /.ModeDataBase 10 dict def /.dicttomark { counttomark 2 idiv dup dict begin { def } repeat pop currentdict end } bind def %%%%% utilities for user customization. %%%%% /in { } bind def /cm { 2.54 div } bind def /mm { 25.4 div } bind def /pt { 72.27 div } bind def /bp { 72.0 div } bind def /dot { [ exch truncate cvi ] } bind def % the database of user customizations. (not implemented yet.) /BeginMode { % <name> -> <name> mark mark } bind def /EndMode { % <name> mark <item1> <value1> ... <itemN> <valueN> -> -- .dicttomark .ModeDataBase dup dup maxlength exch length eq { % Expand capacity of database dictionaly. dup maxlength 10 add dict copy dup /.ModeDataBase exch def } if 3 1 roll put } bind def % these procedures are undocumented in the user's manual. % these are used in order to specify the propaties directly. /BeginPrinterProps { [ } bind def /EndPrinterProps { ] /printer exch } bind def %%%%% run the user customization file. %%%%% /BeginConfig mark def /EndConfig { .dicttomark /.UserParams exch def } bind def systemdict /DMPCONFIG 2 copy known { get run } % -sDMPCONFIG=<filename> { pop pop (dmp_site.ps) findlibfile { closefile run } if } ifelse %%%%% refer database %%%%% /.UsedMode .ModeDataBase length dict def /.ExpandUserParams { % <dict> -> <param1> <value1> ... <paramN> <valueN> /.InheritMode null def { 1 index /inherit eq { exch pop dup .UsedMode exch known { % check recursive reference. /.ExpandUserParams /rangecheck signalerror } if /.InheritMode exch def } if } forall .InheritMode type /nametype eq { .UsedMode .InheritMode true put .ModeDataBase .InheritMode get .ExpandUserParams } if } bind def systemdict /DMPMODE 2 copy known {get .ModeDataBase exch get} {pop pop .UserParams} ifelse mark exch .ExpandUserParams .dicttomark /.UserParams exch def %%%%% Local variables and procedures. %%%%% /.DmprtDevice /dmprt finddevice def /.SetDmprtParam { % <key> <value> -> -- .DmprtParams 3 1 roll put } bind def /.SetLocalParam { .LocalParams 3 1 roll put } bind def /.GetDmprtParam { % <key> -> <value> .DmprtParams exch get } bind def /.GetUserParam { % <key> <default-value> -> <value> .UserParams 3 -1 roll 2 copy known {get exch pop}{pop pop} ifelse } bind def /.SetUserParam { % <prop-name> <key> <default-value> -> -- .GetUserParam .SetDmprtParam } bind def %%%%% dviprt proparties %%%%% mark .UserParams /printer 2 copy known { get dup type /dicttype ne { mark /FileName 3 -1 roll .dicttomark } if } { pop pop % Default printer is `ESC/P 24 pins'. mark /Name (ESC/P 24 pins) /Transpose true /Reverse false /NonMoving false /Encoding (Null) /HDpi 180 /VDpi 180 /Pins 24 /MinimalUnit 1 /MaximalUnit 180 /Constant 1 /BitImageMode (\007\0333\030\033?Z\047) /NormalMode (\004\015\014\0332) /SendBitImage (\002\033Z\002\001\200) /SkipSpaces (\002\033\\\002\001\200) /LineFeed (\002\015\012) /FormFeed (\002\015\014) /AfterBitImage () /BitRowHeader () .dicttomark } ifelse /DviprtParams exch .DmprtDevice putdeviceprops getdeviceprops .dicttomark /.DmprtParams exch def .DmprtParams /DviprtParams get /.DviprtParams exch def .DmprtParams /DmprtParams get /.LocalParams exch def % calcurate resolutions and define operators converting % from user-coordination to device-coordination(count by dots). /resolution [ .DviprtParams dup /HDpi get exch /VDpi get ] .GetUserParam {} forall /.Ydpi exch def /.Xdpi exch def /.Xdot { dup type /arraytype eq { 0 get } { .Xdpi mul truncate cvi } ifelse } bind def /.Ydot { dup type /arraytype eq { 0 get } { .Ydpi mul truncate cvi } ifelse } bind def %%%%% Standard Ghostscript device propaties. %%%%% /HWSize % default is A4. /defaultsize [8.3 11.7] .GetUserParam [ exch dup 0 get .Xdot exch 1 get .Ydot ] .SetDmprtParam %%%%% dmprt device propaties. %%%%% /MaxSize /maxsize [0.0 0.0] .GetUserParam [ exch dup 0 get .Xdot exch 1 get .Ydot ] .SetLocalParam /Margins /margin [0.0 0.0 0.0 0.0] .GetUserParam [ exch dup 0 get .Xdot exch dup 1 get .Ydot exch dup 2 get .Xdot exch 3 get .Ydot ] .SetLocalParam /Verbose QUIET {false} {/verbose false .GetUserParam} ifelse .SetLocalParam /Debug /debug false .GetUserParam .SetLocalParam %%%%% Page device propaties. %%%%% %%%%% See PostScript Reference Manual 2nd edition. %%%%% /HWResolution [ .Xdpi .Ydpi ] .SetDmprtParam /Offsets /offset [0.0 0.0] .GetUserParam [ exch dup 0 get .Xdot exch 1 get .Ydot ] .SetLocalParam %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mark .DmprtParams {} forall .DmprtDevice putdeviceprops pop end %%%%%%%%%%%%%%%%%%%%%%%%%%%% End of file %%%%%%%%%%%%%%%%%%%%%%%%%%% PK�����[f[=}p��p����stc2.uppnu�[��������-supModel="Epson Stylus Color II / IIs, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=3 -dupOutputPins=20 -dupWeaveYFeeds="{20 20 20}" -dupWeaveInitialYFeeds="{1 1 19}" -dupWeaveInitialPins="{ 7 20 13}" -dupBlackTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 0A 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[d��d�� ��PM760pl.uppnu�[��������-supModel="Epson Stylus Photo PM760, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ݶ~p��p�� ��viewpcx.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % viewpcx.ps % Display a PCX file. % Requires the Level 2 `image' operator (to handle variable pixel widths). % If SCALE is defined, maps input pixels to output pixels with that scale; % if SCALE is undefined, scales the image to fit the page. % If FITPAGE is true it fits the output page size to the image, honouring SCALE % ****NOTE: does not handle multi-plane images with palette. /pcxbytes [ 0 1 255 { 64 string exch 0 1 63 { 3 copy exch put pop } for pop } for ] readonly def /readpcx { % - readpcx <str> f % gets replaced dup read not { pop () } { dup 192 lt { ( ) dup 0 4 -1 roll put exch pop } { 192 sub //pcxbytes 3 -1 roll read pop get exch 0 exch getinterval } ifelse } ifelse } def /get2 % <string> <index> get2 <int> { 2 copy get 3 1 roll 1 add get 8 bitshift add } bind def /dsproc { df s readstring pop % s gets filled in s1 () ne { df s1 readstring pop pop } if % discard padding bytes } def % don't bind, must be writable /viewpcx % <filename> viewpcx - { 100 dict begin /fname 1 index def /f exch (r) file def % Read and unpack the header. /header f 128 string readstring pop def /version header 1 get def /bpp header 3 get def /w header 8 get2 header 4 get2 sub 1 add def /h header 10 get2 header 6 get2 sub 1 add def /FITPAGE where { /FITPAGE get { 5 dict begin /SCALE where { pop /Width w SCALE mul def /Height h SCALE mul def } { /Width w def /Height h def } ifelse % we've already set the image color space, so % push it on the stack, and set it again after % setting the page size <</PageSize [Width Height] >> setpagedevice end } if } { /FITPAGE false def } ifelse /nplanes header 65 get def /bpl header 66 get2 def /palinfo header 68 get2 def /nbits bpp nplanes mul def version 5 eq { nbits 8 le { /cspace [/Indexed /DeviceRGB 1 bpp bitshift 1 sub f fileposition 1 nbits bitshift 3 mul string fname status pop pop pop exch pop 1 index length sub f exch setfileposition f exch readstring pop exch f exch setfileposition ] def /decode [0 cspace 2 get] def } { /cspace /DeviceRGB def /decode [0 1 0 1 0 1] def } ifelse } { /cspace [/Indexed /DeviceRGB 1 bpp bitshift 1 sub header 16 1 nbits bitshift 16 .min 3 mul getinterval ] def /decode [0 cspace 2 get] def } ifelse % Set up scaling. /SCALE where { pop FITPAGE { % Map pixels SCALE-for-1. Assume orthogonal transformation. w SCALE mul h SCALE mul } { % Map pixels SCALE-for-1. Assume orthogonal transformation. w 1 0 dtransform add abs div SCALE mul h 0 1 dtransform add abs div SCALE mul } ifelse } { FITPAGE { w h } { % Scale the image (uniformly) to fit the page. clippath pathbbox pop pop translate pathbbox .min exch pop exch pop ceiling dup h w gt { w mul h div exch } { h mul w div } ifelse } ifelse } ifelse scale % Since the number of bytes per line is always even, % it may not match the width specification. /wbpl w bpp mul 7 add 8 idiv def % Define the data source procedure. /s1 bpl wbpl sub string def /df /readpcx load copyarray dup 0 f put cvx bind readonly 0 () /SubFileDecode filter def /dsource [ nplanes { /dsproc load copyarray dup 1 wbpl string put cvx bind readonly } repeat ] def % Construct the image dictionary. 20 dict begin % image dictionary /ImageType 1 def /Width w def /Height h def /ImageMatrix [w 0 0 h neg 0 h] def /BitsPerComponent bpp def /Decode decode def /DataSource dsource dup length 1 gt { /MultipleDataSources true def } { 0 get } ifelse def currentdict end % Finally, display the image. cspace setcolorspace image showpage df closefile f closefile end } bind def % If the program was invoked from the command line, run it now. [ .shellarguments { counttomark 1 ge { ] { viewpcx } forall } { cleartomark (Usage: gs -- viewpcx.ps filename.pcx ...\n) print ( e.g.: gs -- viewpcx.ps my.pcx another.pcx\n) print flush } ifelse } { pop } ifelse PK�����[f[~���� ��winmaps.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % winmaps.ps - make maps between PostScript encodings and Windows % character sets. % Define the two Windows encodings. /ANSIEncoding ISOLatin1Encoding 256 array copy dup 16#90 /.notdef put 16#93 1 16#9f { 2 copy /.notdef put pop } for def /OEMEncoding [ /.notdef /.notdef /.notdef /heart /diamond /club /spade /bullet 8 { /.notdef } repeat /.notdef /.notdef /.notdef /.notdef /paragraph /section /.notdef /.notdef /arrowup /arrowdown /arrowright /arrowleft /.notdef /arrowboth /.notdef /.notdef StandardEncoding 32 96 getinterval aload pop /Ccedilla /udieresis /eacute /acircumflex /adieresis /agrave /aring /ccedilla /ecircumflex /edieresis /egrave /idieresis /igrave /Adieresis /Aring /Eacute /ae /AE /ocircumflex /odieresis /ograve /ucircumflex /ugrave /ydieresis /Odieresis /Udieresis /cent /sterling /yen /.notdef /florin /aacute /iacute /oacute /uacute /ntilde /Ntilde /ordfeminine /ordmasculine /questiondown /.notdef /logicalnot /onehalf /onequarter /exclamdown /guillemotleft /guillemotright 48 { /.notdef } repeat /alpha /beta /Gamma /Pi /Sigma /sigma /mu /tau /Phi /Theta /Omega /delta /infinity /phi /element /intersection /equivalence /plusminus /greaterequal /lessequal /integraltp /integralbt /divide /.notdef /degree /dotmath /periodcentered /radical /.notdef /twosuperior /.notdef /.notdef ] def % Utility procedures /invertencoding % <array> invertencoding <dict> { 256 dict exch dup length 1 sub -1 0 { % stack: dict array index 2 copy get /.notdef ne { 2 copy get exch 3 index 3 1 roll put } { pop } ifelse } for pop } def /pmarray 256 array def /printmap % <chars> <decode> printmap - { mark 3 1 roll exch { 2 copy known { 1 index exch get } { pop 0 } ifelse exch } forall pop pmarray 0 counttomark 2 sub getinterval astore ([) print dup length =only 0 exch (] = {\n ) exch { exch print =only 1 add 15 and dup 0 eq { (,\n ) } { (, ) } ifelse } forall pop pop (\n};\n) print pop } def /decodeStd StandardEncoding invertencoding def /decodeISO ISOLatin1Encoding % Remove the redundant characters dup length array copy [8#222 8#225 8#230 8#233 8#240] { 2 copy /.notdef put pop } forall invertencoding def /decodeSym SymbolEncoding invertencoding def /decodeANSI ANSIEncoding invertencoding def /decodeOEM OEMEncoding invertencoding def % Construct the map from Symbol to OEM. (\nprivate const byte far_data gs_map_symbol_to_oem) print SymbolEncoding decodeOEM printmap % Construct the map from ISOLatin1 to OEM. (\nprivate const byte far_data gs_map_iso_to_oem) print ISOLatin1Encoding decodeOEM printmap % Construct the map from Standard to ISOLatin1. (\nprivate const byte far_data gs_map_std_to_iso) print StandardEncoding decodeISO printmap % Construct the map from ISOLatin1 to Standard. % The Windows driver doesn't need this, but the X11 driver does. (\nprivate const byte far_data gs_map_iso_to_std) print ISOLatin1Encoding decodeStd printmap quit PK�����[f[-d���� ��landscap.psnu�[��������%! % landscap.ps % % This file can be prepended to most PostScript pages to force % rotation to "landscape" mode. % % There are (at least) four possible ways to reasonably position a % page after rotation. Any of the four old corners (llx,lly e.g.) % can be moved to match the corresonding new corner. % By uncommmenting the appropriate line below (i.e., remove the % leading '%'), any such positioning can be chosen for positive or % negative rotation. The comments at the end of each "rotate" line % indicate the ORIGINAL corner to be aligned. For example, as given % below, the lower left hand corner is aligned. When viewed, this % corner will have moved to the urx,lly corner. % % originally by James E. Burns, 3/8/93, burns@nova.bellcore.com % gsave clippath pathbbox grestore 4 dict begin /ury exch def /urx exch def /lly exch def /llx exch def %90 rotate llx neg ury neg translate % llx,ury 90 rotate llx neg llx urx sub lly sub translate % llx,lly %90 rotate ury lly sub urx sub ury neg translate % urx,ury %90 rotate ury lly sub urx sub llx urx sub lly sub translate % urx,lly %-90 rotate urx neg lly neg translate % urx,lly %-90 rotate urx neg urx llx sub ury sub translate % urx,ury %-90 rotate llx lly add ury sub urx llx sub ury sub translate % llx,ury %-90 rotate llx lly add ury sub lly neg translate % llx,lly end PK�����[f[~EX���� ��bj8hg12f.uppnu�[��������-supModel="Canon BJC 8200, (1200DpI)^2, high gloss photo, high quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r1200x1200 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 04b0 04b0 1b28 63 0300 3006 04 1b28 6c 0200 3406 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[6Ab=��=�� ��stc300bl.uppnu�[��������-supModel="Epson Stylus Color 300, 180x180 dpi, black only, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscNozzleMap -r360x180 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=1 -dupOutputPins=31 -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 0 0 1 0 1 1}" -dupNozzleMapMaskScanOffset="{ 0 0 0 0 1 2 }" -dupWhiteTransfer="{ 1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b7c000900802a2c640316110524 1b285208000052454d4f544531 1b000000 1b2847 0100 01 1b2855 0100 14 1b2843 0200 7210 1b5501 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[&+��+�� ��cbjc600.ppdnu�[��������*PPD-Adobe: "4.1" *% Adobe Systems PostScript(R) Printer Description File *% Copyright 1995 Yves Arrouye for AFPL Ghostscript with Level 2 PS. *% All Rights Reserved. *% This file may be distributed as part of GNU Ghostscript and/or AFPL *% Ghostscript, under the same terms and conditions as Ghostscript. *% End of Copyright statement *FormatVersion: "4.1" *FileVersion: "1.0" *LanguageEncoding: ISOLatin1 *LanguageVersion: English *PCFileName: "CBJC600.PPD" *Product: "(Canon Bubble Jet Color 600)" *PSVersion: "(2010.351) 0" *ModelName: "Canon Bubble Jet Color 600" *NickName: "BJC-600" *ShortNickName: "BJC-600" *Manufacturer: "Canon" *% This file is not complete, and may lack some useful information... *% Note: the default transfer function should be set to Null if Ghostscript *% exhibit a bug making magenta appear while printing in gray levels... *% Note: if you print on A4 paper by default, change *Default values (the *% default is Letter here). *% ==============Constraints ================= *UIConstraints: *BitsPerPixel None *ColorModel DeviceCMYK *UIConstraints: *BitsPerPixel None *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 16 *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 16 *ColorModel DeviceGray *UIConstraints: *BitsPerPixel 24 *ColorModel DeviceGray *UIConstraints: *BitsPerPixel 32 *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 32 *ColorModel DeviceGray *UIConstraints: *ColorModel DeviceCMYK *BitsPerPixel None *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel None *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 16 *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 32 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 16 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 24 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 32 *% =========== Device Capabilities =============== *LanguageLevel: "2" *Protocols: TBCP *FreeVM: "2124600" *ColorDevice: True *DefaultColorSpace: CMYK *FileSystem: True *Throughput: "1" *Password: "()" *% ============Paper Size Information ============== *OpenUI *PageSize: PickOne *OrderDependency: 30 AnySetup *PageSize *DefaultPageSize: Letter *PageSize A4: "1 dict dup /PageSize [595 842] put setpagedevice" *PageSize A5: "1 dict dup /PageSize [421 595] put setpagedevice" *PageSize A6: "1 dict dup /PageSize [297 421] put setpagedevice" *PageSize A7: "1 dict dup /PageSize [210 297] put setpagedevice" *PageSize A8: "1 dict dup /PageSize [148 210] put setpagedevice" *PageSize A9: "1 dict dup /PageSize [105 148] put setpagedevice" *PageSize A10: "1 dict dup /PageSize [74 105] put setpagedevice" *PageSize B5: "1 dict dup /PageSize [501 709] put setpagedevice" *PageSize Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" *CloseUI: *PageSize *OpenUI *PageRegion: PickOne *OrderDependency: 40 AnySetup *PageRegion *DefaultPageRegion: Letter *PageRegion A4: "1 dict dup /PageSize [595 842] put setpagedevice" *PageRegion A5: "1 dict dup /PageSize [421 595] put setpagedevice" *PageRegion A6: "1 dict dup /PageSize [297 421] put setpagedevice" *PageRegion A7: "1 dict dup /PageSize [210 297] put setpagedevice" *PageRegion A8: "1 dict dup /PageSize [148 210] put setpagedevice" *PageRegion A9: "1 dict dup /PageSize [105 148] put setpagedevice" *PageRegion A10: "1 dict dup /PageSize [74 105] put setpagedevice" *PageRegion B5: "1 dict dup /PageSize [501 709] put setpagedevice" *PageRegion Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" *CloseUI: *PageRegion *DefaultImageableArea: Letter *ImageableArea A4: "18.425196 27.096094 576.625183 833.496094" *ImageableArea A5: "18.425196 27.096045 402.625183 586.496033" *ImageableArea A6: "18.425196 27.096045 278.625183 412.496033" *ImageableArea A7: "18.425196 27.096045 191.625198 288.496033" *ImageableArea A8: "18.425196 27.096045 129.625198 201.496048" *ImageableArea A9: "18.425196 27.096045 86.625198 139.496048" *ImageableArea A10: "18.425196 27.096045 55.625195 96.496048" *ImageableArea B5: "18.425196 27.096045 482.625183 700.496033" *ImageableArea Letter/US Letter: "18.425196 27.096045 593.625183 783.496033" *?ImageableArea: " save /cvp {( ) cvs print ( ) print } bind def /upperright {10000 mul floor 10000 div} bind def /lowerleft {10000 mul ceiling 10000 div} bind def newpath clippath pathbbox 4 -2 roll exch 2 {lowerleft cvp} repeat exch 2 {upperright cvp} repeat flush restore " *End *DefaultPaperDimension: Letter *PaperDimension A4: "595 842" *PaperDimension A5: "421 595" *PaperDimension A6: "297 421" *PaperDimension A7: "210 297" *PaperDimension A8: "148 210" *PaperDimension A9: "105 148" *PaperDimension A10: "74 105" *PaperDimension B5: "501 709" *PaperDimension Letter/US Letter: "612 792" *HWMargins: "9.637794495 27.042521 9.637794495 8.503937" *% =============Halftone Information =============== *ScreenFreq: "60.0" *ScreenAngle: "45.0" *DefaultScreenProc: Dot *ScreenProc Dot: " {dup mul exch dup mul add 1.0 exch sub } " *End *ScreenProc Line: "{ pop }" *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }" *DefaultTransfer: Normalized *Transfer Normalized: "{mark 1.0 1.000 0.955 0.915 0.847 0.765 0.683 0.602 0.500 0.311 0.030 0.0 counttomark dup 3 add -1 roll exch 2 sub mul dup floor cvi dup 3 1 roll sub exch dup 3 add index exch 2 add index dup 4 1 roll sub mul add counttomark 1 add 1 roll cleartomark } bind" *End *Transfer Null: "{ }" *Transfer Null.Inverse: "{ 1 exch sub }" *End *%==================Input Slot==================== *OpenUI *InputSlot/Media Source: PickOne *OrderDependency: 20 AnySetup *InputSlot *DefaultInputSlot: Feeder *InputSlot Feeder/Paper Tray: "" *CloseUI: *InputSlot *%=================Manual Feed==================== *OpenUI *ManualFeed/Manual Feed: Boolean *OrderDependency: 20 AnySetup *ManualFeed *DefaultManualFeed: False *ManualFeed True/True: "1 dict dup /ManualFeed true put setpagedevice" *ManualFeed False/False: "1 dict dup /ManualFeed false put setpagedevice" *?ManualFeed: " save currentpagedevice /ManualFeed get {(True)}{(False)}ifelse = flush restore" *End *CloseUI: *ManualFeed *%===================Resolution==================== *OpenUI *Resolution/Resolution: PickOne *OrderDependency: 10 AnySetup *Resolution *DefaultResolution: 360x360dpi *Resolution 90x90dpi/90dpi: " 1 dict dup /HWResolution [ 90 90 ] put setpagedevice" *End *Resolution 180x180dpi/180dpi: " 1 dict dup /HWResolution [ 180 180 ] put setpagedevice" *End *Resolution 360x360dpi/360dpi: " 1 dict dup /HWResolution [ 360 360 ] put setpagedevice" *End *?Resolution: " save currentpagedevice /HWResolution get dup 0 get cvi 10 string cvs print (x) print 0 get cvi 10 string print (dpi) = flush restore" *End *CloseUI: *Resolution *%===================Output Depth==================== *OpenUI *BitsPerPixel/Print Depth: PickOne *OrderDependency: 30 AnySetup *BitsPerPixel *DefaultBitsPerPixel: 24 *BitsPerPixel None/1bpp: " 1 dict dup /BitsPerPixel 1 put setpagedevice" *End *BitsPerPixel 8/8bpp: " 1 dict dup /BitsPerPixel 8 put setpagedevice" *End *BitsPerPixel 16/16bpp: " 1 dict dup /BitsPerPixel 16 put setpagedevice" *End *BitsPerPixel 24/24bpp: " 1 dict dup /BitsPerPixel 24 put setpagedevice" *End *BitsPerPixel 32/32bpp: " 1 dict dup /BitsPerPixel 32 put setpagedevice" *End *?BitsPerPixel: " save currentpagedevice /BitsPerPixel get dup 1 eq { pop (None) } if = flush restore" *End *CloseUI: *BitsPerPixel *%=================Media Type============================ *OpenUI *MediaType/Media Type: PickOne *OrderDependency: 50 AnySetup *MediaType *DefaultMediaType: PlainPaper *MediaType PlainPaper/Plain Paper: " 1 dict dup /MediaType (PlainPaper) put setpagedevice" *End *MediaType CoatedPaper/Coated Paper: " 1 dict dup /MediaType (CoatedPaper) put setpagedevice" *End *MediaType TransparencyFilm/Transparency Film: " 1 dict dup /MediaType (TransparencyFilm) put setpagedevice" *End *MediaType Envelope/Envelope: " 1 dict dup /MediaType (Envelope) put setpagedevice" *End *MediaType Card/Card: " 1 dict dup /MediaType (Card) put setpagedevice" *End *MediaType Other/Other: " 1 dict dup /MediaType (Other) put setpagedevice" *End *?MediaType: " save currentpagedevice /MediaType get dup null eq {pop (Unknown)} if = flush restore " *End *CloseUI: *MediaType *%===================Printing Quality==================== *OpenUI *OutputMode/Print Quality: PickOne *OrderDependency: 50 AnySetup *OuputMode *DefaultOutputMode: Normal *OutputMode Draft/Draft: " 1 dict dup /PrintQuality (Draft) put setpagedevice" *End *OutputMode Normal/Normal: " 1 dict dup /PrintQuality (Normal) put setpagedevice" *End *OutputMode High/High: " 1 dict dup /PrintQuality (High) put setpagedevice" *End *?OutputMode: " save currentpagedevice /PrintQuality get dup null eq {pop (Unknown)} if = flush restore " *End *CloseUI: *OutputMode *%===================Color/Gray Printing==================== *OpenUI *ColorModel/Color Processing: PickOne *OrderDependency: 20 AnySetup *ColorModel *DefaultColorModel: DeviceCMYK *ColorModel DeviceGray/Gray: " 1 dict dup /ProcessColorModel /DeviceGray put setpagedevice" *End *ColorModel DeviceRGB/RGB: " 1 dict dup /ProcessColorModel /DeviceRGB put setpagedevice" *End *ColorModel DeviceCMYK/CMYK: " 1 dict dup /ProcessColorModel /DeviceCMYK put setpagedevice" *End *?ColorModel: " save currentpagedevice /ProcessColorModel get = flush restore " *End *CloseUI: *ColorModel *%===================Media Weight/Thick Media==================== *OpenUI *ThickMedia/Thick Media: PickOne *OrderDependency: 30 AnySetup *ThickMedia *DefaultThickMedia: Thin *ThickMedia Thin/No: " 1 dict dup /MediaWeight 80 put setpagedevice" *End *ThickMedia Thick/Yes: " 1 dict dup /ThickMedia 120 put setpagedevice" *End *?ThickMedia: " save currentpagedevice /MediaWeight get 105 gt { (Thick) } { (Thin) } ifelse = flush restore " *End *CloseUI: *ThickMedia *%===================PrintColors==================== *OpenUI *PrintColors/Print Colors: PickOne *OrderDependency: 20 AnySetup *PrintColors *DefaultPrintColors: "15" *PrintColors 0/None: "1 dict dup /PrintColors 0 put setpagedevice" *End *PrintColors 1/Cyan: "1 dict dup /PrintColors 1 put setpagedevice" *End *PrintColors 2/Magenta: "1 dict dup /PrintColors 2 put setpagedevice" *End *PrintColors 4/Yellow: "1 dict dup /PrintColors 4 put setpagedevice" *End *PrintColors 8/Black: "1 dict dup /PrintColors 8 put setpagedevice" *End *PrintColors 15/All: "1 dict dup /PrintColors 15 put setpagedevice" *End *CloseUI *PrintColors *%===================Monochrome Printing==================== *OpenUI *MonochromePrint/Monochrome Print: Boolean *OrderDependency: 50 AnySetup *MonochromePrint *DefaultMonochromePrint: False *MonochromePrint True/Yes: " 1 dict dup /MonochromePrint true put setpagedevice" *End *MonochromePrint False/No: " 1 dict dup /MonochromePrint false put setpagedevice" *End *?MonochromePrint: " save currentpagedevice /MonochromePrint get {(True)}{(False)}ifelse = flush restore" *End *CloseUI: *MonochromePrint PK�����[f[<s ���� ��bjc610b4.uppnu�[��������-supModel="Canon BJC 610, 720x720DpI, back print film, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupYFlip -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 103110 1b28 64 0200 02d0 1b28 6c 0200 1430 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[P}܄[��[�� ��Stc777pl.uppnu�[��������-supModel="Epson Stylus Color 777, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{52 46 46}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 33 48}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ \!��\!�� ��ps2epsi.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Convert an arbitrary PostScript file to an EPSI file. % % Please do not contact these users if you have questions. They no longer % have the time, interest, or current expertise to keep this code working. % If you find bugs, please send proposed fixes to bug-gs@ghostscript.com. % % Bug fix 2002-04-20 by rayjj: Bounding box was incorrect since it depended % on the dither pattern and gray shade at the boundary. Changed to use % 8-bit grayscale preview image to allow correct bounding box (at the % expense of a 8x larger preview image). Also moved .setsafe until after % the device and file operations are complete (but still before the input % file is processed. % Bug fix 2000-04-11 by lpd: if a font didn't have a FontName (which is the % case for bitmap fonts produced by recent versions of dvips), setfont % caused an error. % Bug fix 8/21/99 by lpd: many of the margin and width computations were % wrong (off by 1). The code only "worked" because the bugs were % (mostly) in conservative directions. % Modified 3/17/98 by lpd to make it possible to run this file without % running the ps2epsi script first, for debugging. % Bug fix 9/29/97 by lpd <ghost@aladdin.com>: if the page size wasn't an % exact multiple of 8 bits, an incorrect bounding box (or a rangecheck % error) could occur. % Patched 7/26/95 by % Greg P. Kochanski <gpk@bell-labs.com> % to add many new DSC comments and make the comments conforming. % Original version contributed by % George Cameron <george@bio-medical-physics.aberdeen.ac.uk> % % Initialize, and redefine copypage and showpage. % ps2edict is normally defined in the pre-loaded code created by the % ps2epsi script. /ps2edict where { pop } { /ps2edict 25 dict def } ifelse ps2edict begin % The main procedure /ps2epsi { % bbox written to outfile by bbox device from ps2epsi command file outfile (r) file /epsifile exch def /BBoxString epsifile 256 string readline pop def /HiresBBoxString epsifile 256 string readline pop def epsifile closefile % Open the file outfile (w) file /epsifile exch def % Get the device parameters currentdevice getdeviceprops .dicttomark /HWSize get aload pop /devheight exch def /devwidth exch def matrix defaultmatrix /devmatrix exch def % Make a corresponding 8-bit deep memory device devmatrix devwidth devheight 256 string 0 1 255 { 1 index exch dup 255 exch sub put } for makeimagedevice /arraydevice exch def arraydevice % Turn on anti-aliasing mark /TextAlphaBits 4 /GraphicsAlphaBits 4 6 -1 roll putdeviceprops setdevice % (does an erasepage) /rowwidth devwidth def /row rowwidth string def /zerorow rowwidth string def % all zero % Replace the definition of showpage userdict /showpage { ps2edict begin epsipage end } bind put userdict /setfont { ps2edict begin epsisetfont end } bind put userdict /setpagedevice /pop load put } bind def /epsifontdict 100 dict def /epsisetfont { % code here keeps a list of font names in dictionary epsifontdict /tmpfont exch def tmpfont /FontName known { /tmpfontname tmpfont /FontName get def epsifontdict tmpfontname known not { epsifontdict tmpfontname 0 put } if epsifontdict tmpfontname 2 copy get 1 add put } if tmpfont setfont } bind def % Get a scan line from the memory device, zeroing any bits beyond % the device width. /getscanline { % <device> <y> <string> getscanline <string> dup 4 1 roll copyscanlines pop 16#ff00 devwidth 7 and neg bitshift 255 and dup 0 ne { 1 index dup length 1 sub 2 copy get 4 -1 roll and put } { pop } ifelse } bind def /margintest { % <y-start> <step> <y-limit> margintest <y-non-blank> % <y-start> <step> <y-limit> margintest - { dup arraydevice exch row getscanline zerorow ne { exit } if pop } for } bind def /epsiNameStr 200 string def /epsiNpages 0 def /epsiNpageStr 20 string def /epsipage { /epsiNpages epsiNpages 1 add def /loopcount devheight 1 sub def % Find top margin -- minimum Y of non-blank scan line. -1 0 1 loopcount margintest dup -1 eq { (blank page!!\n) print quit }{ exch pop } ifelse /tm exch def % Find bottom margin -- maximum Y of non-blank scan line. loopcount -1 0 margintest /bm exch def % Initialise limit variables /loopcount rowwidth 1 sub def /lm loopcount def /rm 0 def % Find left and right boundaries of image tm 1 bm { % Get more data arraydevice exch row getscanline pop % Scan from left to find first non-zero element % We save first the element, then the index -1 0 1 loopcount { dup row exch get 0 ne { exch pop exit }{ pop } ifelse } for % If we found -1, row is blank .. dup -1 ne { % Find the leftmost index dup lm lt % If the new index is less, we save index and element { /lm exch def } { pop } ifelse % Now find the rightmost index loopcount -1 0 { dup row exch get 0 ne { exit }{ pop } ifelse } for dup rm gt % If the new index is greater, we save index and element { /rm exch def } { pop } ifelse } { pop } ifelse } for % Write out the magic string and bounding box information epsifile (%!PS-Adobe-2.0 EPSF-1.2\n) writestring /epsititle where { pop epsifile epsititle writestring } if /epsicreator where { pop epsifile epsicreator writestring } if /epsicrdt where { pop epsifile epsicrdt writestring } if /epsifor where { pop epsifile epsifor writestring } if epsifile flushfile % Write out the page count: epsifile (%%Pages: ) writestring epsifile epsiNpages epsiNpageStr cvs writestring epsifile (\n) writestring epsifile flushfile % Write out the list of used fonts: epsifile (%%DocumentFonts:) writestring epsifontdict { epsifile ( ) writestring pop epsiNameStr cvs epsifile exch writestring } forall epsifile (\n) writestring epsifile flushfile epsifile BBoxString writestring epsifile (\n) writestring epsifile HiresBBoxString writestring epsifile (\n) writestring % Define character and bit widths for the output line buffer: /cwidth rm lm sub 1 add def /out cwidth string def epsifile (%%EndComments\n\n) writestring epsifile (%%BeginProlog\n) writestring epsifile (%%BeginPreview: ) writestring epsifile cwidth write==only epsifile ( ) writestring epsifile bm tm sub 1 add write==only epsifile ( 8 ) writestring epsifile bm tm sub 1 add cwidth 39 add 40 idiv mul write== epsifile flushfile gsave tm 1 bm { % Get a scan line interval from the array device arraydevice exch row copyscanlines lm cwidth getinterval % Write out the hex data as 40 bytes per line (82 chars) 0 40 cwidth { epsifile (% ) writestring epsifile exch 2 index exch dup cwidth exch sub 40 .min getinterval writehexstring epsifile (\n) writestring } for pop } for epsifile (%%EndImage\n) writestring epsifile (%%EndPreview\n) writestring epsifile flushfile grestore erasepage initgraphics DonePage 0 1 put } bind def (outfile) getenv { /outfile exch def ps2epsi /DonePage 1 string def (%stdin) (r) file cvx execute0 DonePage 0 get 0 eq { showpage } if } if end quit PK�����[f['P���� ��dnj750m.uppnu�[��������-supModel="HP Designjet 750m, 600x600DpI, Gamma=2.5, CMY" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/Pcl -r600x600 -dupMargins="{0.0 0.0 0.0 0.0}" -dupWhiteTransfer="{ 1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0 }" -dupBeginPageCommand="< 1b252d313233343558 40504a4c204a4f42204e414d45203d20226773220d0a 40504a4c20534554204d4952524f52203d204f4646200a 40504a4c205345542050414c45545445534f55524345203d20534f465457415245200a 40504a4c205345542052454e4445524d4f4445203d20475241595343414c45200a 40504a4c20534554205245534f4c5554494f4e203d2030200a 40504a4c20534554205052494e5441524541203d2046554c4c53495a45200a 40504a4c205345542050415045524c454e475448203d2030200a 40504a4c205345542050415045525749445448203d2030200a 40504a4c20534554204f5249454e544154494f4e203d20504f525452414954200a 40504a4c20534554204d415247494e53203d204e4f524d414c200a 40504a4c20454e544552204c414e4755414745203d204850474c32200d0a 1b253142 4250352c31 494e 575530 4e5032 4543 514c313030 1b253141 1b2661314e 1b2a763657 00 00 01 080808 1b2a76 32353561 32353562 32353563 3049 1b2a76 3061 3062 3063 3149 1b2a74 33323152 1b2a72 33323153 1b2a72 54 1b2a72 3141 1b2a62 324d >" -dupAdjustPageWidthCommand -dupAdjustPageLengthCommand -dupAdjustResolutionCommand -dupEndPageCommand="(\033*rC\033E\033%1BPG;\033%-12345X)" -dupAbortCommand="(\033*rC\033E\15\12\12\12\12 Printout-Aborted\033%1BPG;\033%-12345X)" -dupWriteComponentCommands="{ (\033*b%dW\0) }" PK�����[f[{W��W�� ��stc2_h.uppnu�[��������-supModel="Epson Stylus Color II, 720x720DpI, Special Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=6 -dupOutputPins=20 -dupWeaveYFeeds="{20 20 19 22 16 23}" -dupWeaveInitialYFeeds="{1 1 1 1 1 19}" -dupWeaveInitialPins="{ 4 20 7 17 10 13}" -dupBlackTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupCyanTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupMagentaTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupYellowTransfer="{ 0.0000 0.0011 0.0079 0.0151 0.0217 0.0287 0.0354 0.0425 0.0492 0.0562 0.0633 0.0700 0.0766 0.0835 0.0900 0.0975 0.1054 0.1147 0.1243 0.1364 0.1489 0.1641 0.1833 0.2012 0.2217 0.2492 0.2814 0.3139 0.3487 0.3996 0.4527 0.5195 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 05 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[%>������gs_m.xbmnu�[��������#define gs_m.xbm_width 32 #define gs_m.xbm_height 32 #define gs_m.xbm_x_hot 0 #define gs_m.xbm_y_hot 0 static unsigned char gs.m.bm_bits[] = { 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0xf8, 0xc7, 0x00, 0x00, 0xff, 0xc1, 0x00, 0x80, 0x3f, 0xf0, 0x00, 0xc0, 0x0f, 0xf8, 0x01, 0xc0, 0x87, 0xfc, 0x03, 0xe0, 0xa7, 0xfc, 0x03, 0xe0, 0x27, 0xf8, 0x03, 0xe0, 0x07, 0xf0, 0x03, 0xc0, 0x0f, 0xe3, 0x01, 0x80, 0x1f, 0xe3, 0x00, 0x00, 0x3f, 0x60, 0x00, 0x00, 0x7c, 0x10, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf0, 0xff, 0x7f, 0x00, 0xf0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x1f, 0xf0, 0x00, 0x80, 0x0f, 0x78, 0x10, 0x80, 0x07, 0x78, 0x10, 0xc0, 0x13, 0x70, 0xe0, 0xff, 0x08, 0xf0, 0x00, 0x00, 0x06, 0xc0, 0x03, 0xe0, 0x01, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00}; PK�����[f[_������pphs.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Print Linearized PDF hint streams % Utilities /read1 { % <file> read1 <value> read not { (**** Unexpected EOF) = flush quit } if } bind def /read2 { % <file> read2 <value> dup read1 8 bitshift exch read1 add } bind def /read4 { % <file> read4 <value> dup read2 16 bitshift exch read2 add } bind def % Free variables: Bits, Bitsleft /readninit { % - <readninit> - /Bits 0 def /Bitsleft 0 def } bind def /pdftoken { % <file> pdftoken <token> dup token pop dup type /nametype eq 1 index xcheck and { dup dup (<<) cvn eq exch ([) eq or { exec exch { dup pdftoken dup dup (>>) cvn eq exch (]) eq or { exch pop exec exit } if exch } loop } { exch pop } ifelse } { exch pop } ifelse } bind def /makemask { % <nbits> makemask <mask> 1 exch bitshift 1 sub } bind def /readn { % <file> <nbits> readn <value> dup Bitsleft le { exch pop /Bitsleft Bitsleft 2 index sub def makemask Bits Bitsleft neg bitshift and } { Bitsleft makemask Bits and exch Bitsleft sub exch 1 index bitshift 3 1 roll /Bits 2 index read1 def /Bitsleft 8 def readn add } ifelse } bind def /sread { % <string> sread <file> 0 () /SubFileDecode filter } bind def /ptag { % <pre-tag> <proc> <post-tag> ptag - 3 -1 roll print (: ) print exch exec ( % ) print = } bind def % Print the linearization parameters dictionary. /plpkeys << /E (end of p. 1 objects) /L (total file length) /H (PHS start + length) /N (# of pages) /O (p. 1 object #) /T (offset of first main xref entry) >> def /plpdict { % <dict> plpdict - (<<) = plpkeys { 2 index 2 index .knownget { % Stack: dict key label value ( ) print 3 -1 roll ===only ( ) print ===only ( % ) print = } { pop pop } ifelse } forall { plpkeys 2 index known { pop pop } { ( ) print exch ===only ( ) print === } ifelse } forall (>>) = } bind def % Print the Page Offset Hint Table. /ppoht { % <npages> <file> ppoht - 20 dict begin /f exch def /npages exch def readninit (1) { f read4 =only } (least # objs/page) ptag (2) { f read4 =only } (offset of p. 1 object (+PHS length if beyond PHS)) ptag (3) { f read2 dup =only /nb3 exch def } (# bits for # objs/page delta) ptag (4) { f read4 =only } (least # bytes/page) ptag (5) { f read2 dup =only /nb5 exch def } (# bits for # bytes/page delta) ptag (6) { f read4 =only } (least content stream offset-in-page) ptag (7) { f read2 dup =only /nb7 exch def } (# bits for content stream offset delta) ptag (8) { f read4 =only } (least content stream length) ptag (9) { f read2 dup =only /nb9 exch def } (# bits for content stream length delta) ptag (10) { f read2 dup =only /nb10 exch def } (# bits for # of shared obj refs) ptag (11) { f read2 dup =only /nb11 exch def } (# bits for shared obj indices) ptag (12) { f read2 dup =only /nb12 exch def } (# bits for shared obj ref pos numerators) ptag (13) { f read2 =only } (shared obj ref pos denominator) ptag (*1) { [ npages { f nb3 readn } repeat ] ==only } (# objs/page deltas (see 1,3)) ptag (*2) { [ npages { f nb5 readn } repeat ] ==only } (# bytes/page deltas (see 4,5)) ptag (*3) { [ npages { f nb10 readn } repeat ] dup ==only /nso exch def } (# of shared obj refs (see 10)) ptag (*4) { [ nso { [ exch { f nb11 readn } repeat ] } forall ] ==only } (shared obj indices (see 11)) ptag (*5) { [ nso { [ exch { f nb12 readn } repeat ] } forall ] ==only } (shared obj ref pos numerators (see 12)) ptag (*6) { [ npages { f nb7 readn } repeat ] ==only } (content stream offset-in-page deltas (see 6,7)) ptag (*7) { [ npages { f nb9 readn } repeat ] ==only } (content stream length deltas (see 8,9)) ptag end % temp dict } bind def % Print the Shared Objects Hint Table. /psoht { % <file> psoht - 20 dict begin /f exch def readninit (1) { f read4 =only } (first shared obj #) ptag (2) { f read4 =only } (first shared obj offset (+PHS length if beyond PHS)) ptag (3) { f read4 dup =only /n3 exch def } (# of p. 1 shared objs) ptag (4) { f read4 dup =only /n4 exch def } (total # of shared objs) ptag (5) { f read2 dup =only /nb5 exch def } (# bits for # of shared objs/group) ptag (6) { f read4 =only } (least shared obj group length) ptag (7) { f read2 dup =only /nb7 exch def } (# bits for shared obj group length delta) ptag /nse n4 def (*1) { [ nse { f nb7 readn } repeat ] ==only } (shared obj group length deltas (see 6,7)) ptag (*2) { [ nse { f 1 readn } repeat ] dup ==only /md5s exch def } (MD5 present?) ptag (*3:) = md5s { 0 ne { ( ) print f 16 string readstring pop (%stdout) (w) file dup 3 -1 roll writehexstring closefile () = } if } forall (*4) { [ nse { f nb5 readn } repeat ] ==only } (# objs/group (see 5)) ptag end % temp dict } bind def % Print the Primary Hint Stream of a PDF file. /pphs { % <file> pphs - /pdf exch def % Read the linearization parameter dictionary. { pdf pdftoken /obj eq { exit } if } loop pdf pdftoken /lpdict exch def /lpdict type /dicttype eq { lpdict /Linearized known } { false } ifelse { (Not a linearized PDF file.) = stop } if lpdict plpdict flush % Read the primary hint stream. null { pdf pdftoken dup /stream eq { pop exit } if exch pop } loop /phsdict exch def % Remove Length if indirect reference. phsdict 0 known { phsdict 0 undef phsdict /Length undef } if (PHS: ) print phsdict === flush pdf 0 (endstream) /SubFileDecode filter dup 64000 string readstring pop exch closefile sread /phsdata exch def % Decode the hint stream data if necessary. phsdict /Filter .knownget { phsdata exch filter dup 5000 string readstring pop exch closefile sread /phsdata exch def } if % Adobe says we can assume /P = 0. (Page Offset Hint Table:) = lpdict /N get phsdata phsdict /S get string readstring pop sread ppoht (Shared Objects Hint Table:) = phsdata psoht } bind def % Check for command line arguments. [ .shellarguments { ] dup length 1 eq { 0 get (r) file dup pphs closefile } { (Usage: pphs filename.pdf\n) print flush } ifelse } { pop } ifelse PK�����[f[Q7Y���� ��gs_kanji.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Scaffolding for Kanji fonts. This is based on the Wadalab free font % from the University of Tokyo; it may not be appropriate for other % Kanji fonts. /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse % Define the encoding for the root font. /KanjiEncoding % \x00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 % \x20 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 % \x40 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 % \x60 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 0 0 0 0 0 0 0 % \x80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 % \xA0 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 % \xC0 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 % \xE0 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 0 0 0 0 0 0 0 0 0 0 0 256 packedarray def % Define a stub for the base font encoding. /KanjiSubEncoding { /KanjiSubEncoding .findencoding } bind def %% Replace 3 (gs_ksb_e.ps) EncodingDirectory /KanjiSubEncoding { (gs_ksb_e.ps) //systemdict begin runlibfile KanjiSubEncoding end } bind put % Support procedures and data. /T1FontInfo 8 dict begin /version (001.001) readonly def /FullName (KanjiBase) readonly def /FamilyName (KanjiBase) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition 0 def /UnderlineThickness 0 def currentdict end readonly def /T1NF % <fontname> T1NF <font> { 20 dict begin /FontName exch def /FontType 1 def /FontInfo T1FontInfo def /FontMatrix [.001 0 0 .001 0 0] def /FontBBox [0 0 1000 1000] def /Encoding KanjiSubEncoding def /CharStrings 150 dict def /PaintType 0 def /Private 2 dict def Private begin /BlueValues [] def /password 5839 def end FontName currentdict end definefont } def /T0NF % <fontname> T0NF <font> { 20 dict begin /FontName exch def /FDepVector exch def /FontType 0 def /FontMatrix [1 0 0 1 0 0] def /FMapType 2 def /Encoding KanjiEncoding def FontName currentdict end definefont } def % Define the composite font and all the base fonts. /CompNF % <fontname> CompNF <font> { /newname1 exch def newname1 dup length string cvs /str exch def str length /len exch def /fdepvector 78 array def /j 1 def 16#21 1 16#74 { /i exch def KanjiEncoding i get 0 gt { len 4 add string /newstr exch def newstr 0 str putinterval newstr len (.r) putinterval newstr len 2 add i 16 2 string cvrs putinterval newstr cvn /newlit exch def newlit T1NF /newfont exch def fdepvector j newfont put /j j 1 add def } if } for fdepvector 0 fdepvector 1 get put /j 0 def fdepvector newname1 T0NF } def % Define an individual character in a composite font. /CompD % <charstring> <(HL)> CompD - { currentfont /Encoding get 1 index 0 get get % FDepVector index currentfont /FDepVector get exch get % base font dup /Encoding get 3 -1 roll 1 get get % base font character name exch /CharStrings get exch 3 -1 roll put } bind def exec PK�����[f[F]��]�� ��PM820pl.uppnu�[��������-supModel="Epson Stylus Photo PM820, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{52 46 46}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 33 48}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[lt��t�� ��Stp870p.uppnu�[��������-supModel="Epson Stylus Photo 870, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0260 0.0587 0.1079 0.2109 0.3750 }" -dupCyanTransfer="{ 0.0000 0.0254 0.0620 0.1070 0.2250 0.4125 }" -dupMagentaTransfer="{ 0.0000 0.0233 0.0569 0.0981 0.2063 0.4125 }" -dupYellowTransfer="{ 0.0000 0.0212 0.0516 0.0891 0.2250 0.4125 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[bd[��[�� ��Stc740pl.uppnu�[��������-supModel="Epson Stylus Color 740, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 50}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 48 31}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ -��-�� ��prfont.psnu�[��������%! %%Creator: Eric Gisin <egisin@waterloo.csnet> %%Title: Print font catalog % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Copyright (c) 1986 Eric Gisin % Copyright (C) 1992 Aladdin Enterprises, Menlo Park, CA % Modified to print all 256 encoded characters. % Copyright (C) 1993 Aladdin Enterprises, Menlo Park, CA % Modified to print unencoded characters. % Copyright (C) 1994 Aladdin Enterprises, Menlo Park, CA % Modified to always create 256-element Encoding vectors. % Copyright (C) 1995 Aladdin Enterprises, Menlo Park, CA % Modified to print more than 128 unencoded characters. % Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA % Modified to leave a slightly wider left margin, because many H-P % printers can't print in the leftmost 1/4" of the page. % Modified to print unencoded characters in any font that has CharStrings. % Copyright (C) 1999 Aladdin Enterprises, Menlo Park, CA % Modified to sort unencoded characters. % Copyright (C) 2000 Aladdin Enterprises, Menlo Park, CA % Modified to print CIDFonts as well as fonts. % O(N^2) sorting replaced with O(N log N). % Copyright transferred 2000/09/15 to Artifex Software, Inc. Send any questions to % bug-gs@ghostscript.com. % Example usages at bottom of file /#copies 1 def /min { 2 copy gt { exch } if pop } bind def /T6 /Times-Roman findfont 6 scalefont def /Temp 64 string def /Inch {72 mul} def /Base 16 def % char code output base /TempEncoding [ 256 { /.notdef } repeat ] def % Sort an array. Code used by permission of the author, Aladdin Enterprises. /sort { % <array> <lt-proc> sort <array> % Heapsort (algorithm 5.2.3H, Knuth vol. 2, p. 146), % modified for 0-origin indexing. */ 10 dict begin /LT exch def /recs exch def /N recs length def N 1 gt { /l N 2 idiv def /r N 1 sub def { l 0 gt { /l l 1 sub def /R recs l get def } { /R recs r get def recs r recs 0 get put /r r 1 sub def r 0 eq { recs 0 R put exit } if } ifelse /j l def { /i j def /j j dup add 1 add def j r lt { recs j get recs j 1 add get LT { /j j 1 add def } if } if j r gt { recs i R put exit } if R recs j get LT not { recs i R put exit } if recs i recs j get put } loop } loop } if recs end } def % do single character of page % output to rectangle ll=(0,-24) ur=(36,24) /DoGlyph { % C, N, W set % print code name, width and char name T6 setfont N /.notdef ne {0 -20 moveto N Temp cvs show} if 0 -12 moveto C Base Temp cvrs show ( ) show W 0.0005 add Temp cvs 0 5 getinterval show % print char with reference lines N /.notdef ne { 3 0 translate 0 0 moveto F24 setfont N glyphshow /W W 24 mul def 0 -6 moveto 0 24 lineto W -6 moveto W 24 lineto -3 0 moveto W 3 add 0 lineto 0 setlinewidth stroke } if } def /DoChar { /C exch def /N F /Encoding get C get def /S (_) dup 0 C put def /W F setfont S stringwidth pop def DoGlyph } def /CIDTemp 20 string def /DoCID { /N exch def /C N def /W F setfont gsave matrix currentmatrix nulldevice setmatrix 0 0 moveto N glyphshow currentpoint pop grestore def DoGlyph } def % print page title /DoTitle { /Times-Roman findfont 18 scalefont setfont 36 10.5 Inch moveto FName Temp cvs show ( ) show ((24 point)) show } def % print one block of characters /DoBlock { % firstcode lastcode /FirstCode 2 index def 1 exch { /I exch def /Xn I FirstCode sub 16 mod def /Yn I FirstCode sub 16 idiv def gsave Xn 35 mul 24 add Yn -56 mul 9.5 Inch add translate I DoCode grestore } for } def % print a line of character /DoCharLine { % firstcode lastcode 1 exch { (_) dup 0 3 index put show pop } for } def /DoCIDLine { % firstcode lastcode 1 exch { glyphshow } for } def % initialize variables /InitDoFont { % fontname font /F exch def % font /FName exch def % font name /F24 F 24 scalefont def /Line0 96 string def /Line1 96 string def /Namestring1 128 string def /Namestring2 128 string def } def % print pages of unencoded characters /DoUnencoded { % glyphs /Unencoded exch def /Count Unencoded length def % Print the unencoded characters in blocks of 128. 0 128 Unencoded length 1 sub { /BlockStart 1 index def dup 128 add Unencoded length min 1 index sub Unencoded 3 1 roll getinterval TempEncoding copy /BlockEncoding exch def /BlockCount BlockEncoding length def save F /Encoding known { F length dict F { 1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse } forall dup /Encoding TempEncoding put /* exch definefont /F exch def /F24 F 24 scalefont def /BlockStart 0 def } if DoTitle (, unencoded characters) show BlockStart dup BlockCount 1 sub add DoBlock F 10 scalefont setfont 36 2.4 Inch moveto 0 32 BlockCount 1 sub { 0 -0.4 Inch rmoveto gsave dup 31 add BlockCount 1 sub min exch BlockStart add exch BlockStart add DoLine grestore } for showpage restore } for } def % print font sample pages /DoFont { dup findfont InitDoFont /DoCode {DoChar} def /DoLine {DoCharLine} def % Display the first 128 encoded characters. DoTitle (, characters 0-127) show 0 127 DoBlock F 10 scalefont setfont 36 2.0 Inch moveto 0 31 DoLine 36 1.6 Inch moveto 32 63 DoLine 36 1.2 Inch moveto 64 95 DoLine 36 0.8 Inch moveto 96 127 DoLine showpage % Display the second 128 encoded characters. DoTitle (, characters 128-255) show 128 255 DoBlock F 10 scalefont setfont 36 2.0 Inch moveto 128 159 DoLine 36 1.6 Inch moveto 160 191 DoLine 36 1.2 Inch moveto 192 223 DoLine 36 0.8 Inch moveto 224 255 DoLine showpage F /CharStrings known { % Find and display the unencoded characters. /Encoded F /Encoding get length dict def F /Encoding get { true Encoded 3 1 roll put } forall [ F /CharStrings get { pop dup Encoded exch known { pop } if } forall ] { exch Namestring1 cvs exch Namestring2 cvs lt } sort DoUnencoded } if } def % print CIDFont sample pages /DoCIDFont { dup /CIDFont findresource InitDoFont /DoCode {DoCID} def /DoLine {DoCIDLine} def [ 0 1 F /CIDCount get 1 sub { } for ] DoUnencoded } def % Do font samples % /Times-Roman DoFont % Test (less than a minute) % /Hershey-Gothic-English DoFont % Test (8 minutes) % Do a complete catalog % FontDirectory {pop DoFont} forall % All fonts (quite a long time) PK�����[f[@&���� ��bjc610a8.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, high resolution paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 107110 1b28 64 0200 0168 1b28 6c 0200 14a0 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[XYDp��p�� ��viewps2a.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Display a file produced by ps2ascii with no switch or with -dCOMPLEX. % This is just a procset to read in before the file to display. /init { 0.1 0.1 scale } bind def init /next { currentfile token pop } bind def /F { next next pop next exch selectfont } bind def /P { showpage init } bind def /S { next next moveto next dup stringwidth pop next exch div gsave 1 scale show grestore } bind def /C { next next next setrgbcolor } bind def /I { next next next next gsave 0.75 setgray rectfill grestore } bind def /R { next next next next rectfill } bind def PK�����[f[/;��;�� ��viewjpeg.psnu�[��������%! viewjpeg.ps Copyright (C) 1994 Thomas Merz <tm@pdflib.com> % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % For more information about licensing, please refer to % http://www.ghostscript.com/licensing/. For information on % commercial licensing, go to http://www.artifex.com/licensing/ or % contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, % Novato, CA 94945, U.S.A., +1(415)492-9861. % View JPEG files with Ghostscript % % This PostScript code relies on level 2 features. % % Only JPEG baseline, extended sequential, and progressive files % are supported. Note that Adobe PostScript level 2 does not include % progressive-JPEG support. Ghostscript with IJG JPEG v6 or later % will decode progressive JPEG, but only if you edit gsjmorec.h to % enable that feature. % % Author's address: % ------------------------------+ % {(pstack exec quit) = flush } | Thomas Merz, Munich % pstack exec quit | voice +49/89/29160728 % ------------------------------+ tm@muc.de http://www.muc.de/~tm/ % % Updated by L. Peter Deutsch 20-May-1997: % move the usage example to the beginning % Updates by Tom Lane 6-Sep-1995 % Usage example: % (jpeg-6/testimg.jpg) viewJPEG /languagelevel where {pop languagelevel 2 lt}{true} ifelse { (JPEG needs PostScript Level 2!\n) print flush stop } if /JPEGdict 20 dict def JPEGdict begin /NoParamMarkers [ % JPEG markers without additional parameters 16#D0 16#D1 16#D2 16#D3 16#D4 16#D5 16#D6 16#D7 16#D8 16#01 ] def /NotSupportedMarkers [ % JPEG markers not supported by PostScript level 2 16#C3 16#C5 16#C6 16#C7 16#C8 16#C9 16#CA 16#CB 16#CD 16#CE 16#CF ] def % Names of color spaces /ColorSpaceNames << /1 /DeviceGray /3 /DeviceRGB /4 /DeviceCMYK >> def % read one byte from file F % - ==> int --or-- stop context /NextByte { F read not { (Read error in ViewJPEG!\n) print flush stop } if } bind def /SkipSegment { % read two bytes and skip that much data NextByte 8 bitshift NextByte add 2 sub { NextByte pop } repeat } bind def % read width, height, and # of components from JPEG markers % and store in dict /readJPEGmarkers { % - ==> dict --or-- stop context 5 dict begin { % loop: read JPEG marker segments until we find SOFn marker or EOF NextByte 16#FF eq { % found marker /markertype NextByte def % Is it S0F0=baseline, SOF1=extended sequential, SOF2=progressive ? markertype dup 16#C0 ge exch 16#C2 le and { NextByte pop NextByte pop % segment length % Ghostscript and Adobe PS accept only data precision 8 NextByte 8 ne { (Error: not 8 bits per component!\n) print flush stop } if % Read crucial image parameters /height NextByte 8 bitshift NextByte add def /width NextByte 8 bitshift NextByte add def /colors NextByte def VJPGDEBUG { currentdict { exch == == } forall flush } if exit } if % detect several segment types which are not compatible with PS NotSupportedMarkers { markertype eq { (Marker ) print markertype == (not supported!\n) print flush stop } if } forall % Skip segment if marker has parameters associated with it true NoParamMarkers { markertype eq {pop false exit} if } forall { SkipSegment } if } if } loop currentdict dup /markertype undef end } bind def end % JPEGdict % read image parameters from JPEG file and display the image /viewJPEG { % <file|string> ==> - save JPEGdict begin /saved exch def /scratch 1 string def dup type /stringtype eq { (r) file } if /F exch def readJPEGmarkers begin F 0 setfileposition % reset file pointer % We use the whole clipping area for the image (at least in one dimension) gsave clippath pathbbox grestore /ury exch def /urx exch def /lly exch def /llx exch def llx lly translate width height scale % use whole width or height, whichever is appropriate urx llx sub width div ury lly sub height div 2 copy gt { exch } if pop % min dup scale ColorSpaceNames colors scratch cvs get setcolorspace % prepare image dictionary << /ImageType 1 /Width width /Height height /ImageMatrix [ width 0 0 height neg 0 height ] /BitsPerComponent 8 % If 4-component (CMYK), assume data is inverted per Adobe Photoshop colors 4 eq { /Decode [ colors { 1 0 } repeat ] } { /Decode [ colors { 0 1 } repeat ] } ifelse /DataSource F /DCTDecode filter >> image end % image parameter dictionary saved end restore } bind def % This lets you do stuff on the command line like: % gs -sDEVICE=pdfwrite -o stuff%03d.pdf viewjpeg.ps -c "(image.jpg) << /PageSize 2 index viewJPEGgetsize 2 array astore >> setpagedevice viewJPEG" % so the output size matches the original image. /viewJPEGgetsize { % <file|string> ==> width height save JPEGdict begin /saved exch def /scratch 1 string def dup type /stringtype eq { (r) file } if /F exch def readJPEGmarkers begin F 0 setfileposition % reset file pointer width height saved end restore } bind def PK�����[f[ns0G ��G �� ��gs_il2_e.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the ISO Latin-2 (8859-2) encoding vector. % The original version of this encoding vector used Unicode names, rather % than Adobe names, for many characters. Here are the names that appeared % in the original version: % \047 /quoteright /apostrophe % \056 /period /fullstop % \137 /underscore /lowline % \140 /quoteleft /grave % \055 is /hyphen in StandardEncoding, but /minus in 8859-1; we follow % 8859-1 here. In addition, the following substitutions were made: % /Lstroke => /Lslash % /Dstroke => /Dcroat % /*diaeresis => /*dieresis % /softhyphen => /hyphen % /*abovedot => /*dotaccent % /*doubleacute => /*hungarumlaut % /division => /divide % /ssharp => /germandbls /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /ISOLatin2Encoding % The first 144 entries are the same as the ISO Latin-1 encoding. ISOLatin1Encoding 0 144 getinterval aload pop % \22x /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % \24x /nbspace /Aogonek /breve /Lslash /currency /Lcaron /Sacute /section /dieresis /Scaron /Scedilla /Tcaron /Zacute /hyphen /Zcaron /Zdotaccent /degree /aogonek /ogonek /lslash /acute /lcaron /sacute /caron /cedilla /scaron /scedilla /tcaron /zacute /hungarumlaut /zcaron /zdotaccent % \30x /Racute /Aacute /Acircumflex /Abreve /Adieresis /Lacute /Cacute /Ccedilla /Ccaron /Eacute /Eogonek /Edieresis /Ecaron /Iacute /Icircumflex /Dcaron /Dcroat /Nacute /Ncaron /Oacute /Ocircumflex /Ohungarumlaut /Odieresis /multiply /Rcaron /Uring /Uacute /Uhungarumlaut /Udieresis /Yacute /Tcedilla /germandbls % \34x /racute /aacute /acircumflex /abreve /adieresis /lacute /cacute /ccedilla /ccaron /eacute /eogonek /edieresis /ecaron /iacute /icircumflex /dcaron /dcroat /nacute /ncaron /oacute /ocircumflex /ohungarumlaut /odieresis /divide /rcaron /uring /uacute /uhungarumlaut /udieresis /yacute /tcedilla /dotaccent 256 packedarray .defineencoding exec PK�����[f[/I ��I �� ��gs_ksb_e.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the KanjiSub encoding vector. /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /KanjiSubEncoding %\x00 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef %\x20 /.notdef /c21 /c22 /c23 /c24 /c25 /c26 /c27 /c28 /c29 /c2A /c2B /c2C /c2D /c2E /c2F /c30 /c31 /c32 /c33 /c34 /c35 /c36 /c37 /c38 /c39 /c3A /c3B /c3C /c3D /c3E /c3F %\x40 /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F %\x60 /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef %\x80 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef %\xA0 /.notdef /c21 /c22 /c23 /c24 /c25 /c26 /c27 /c28 /c29 /c2A /c2B /c2C /c2D /c2E /c2F /c30 /c31 /c32 /c33 /c34 /c35 /c36 /c37 /c38 /c39 /c3A /c3B /c3C /c3D /c3E /c3F %\xC0 /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F %\xE0 /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef 256 packedarray .defineencoding exec PK�����[f[<׏���� ��bjc610b1.uppnu�[��������-supModel="Canon BJC 610, 720x720DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 }" -dupCyanTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupMagentaTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupYellowTransfer="{ 0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 101110 1b28 64 0200 02d0 1b28 6c 0200 1410 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[β0��0�� ��rollconv.psnu�[��������%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Utility program for converting Japanese fonts produced by Macromedia's % Rollup program to Type 0 fonts suitable for use with Ghostscript. % % Rollup produces the following files, where xxx is the font name: % xxx-H, xxx-SA, xxx-SB, xxx-SK, xxx-SR, xxx-UG % JIS83-1_COD % JIS83-1_CSA % The _COD and _CSA files are large files containing the actual % character outline data; they may theoretically be shared between % multiple fonts. % % rollconv.ps converts the above to files named: % fff.ps % fff.COD % fff.CSA % fff.CSR % where fff is a font file name provided by the user at conversion time. % The fff.ps file is the actual font file to be loaded with `run' % or placed in a Fontmap or a directory named by [GS_]FONTPATH; % the other two files must be present at runtime in a directory that is % on Ghostscript's search path (-I, GS_LIB, GS_LIB_DEFAULT). % % The normal way to invoke this program is % gsnd -- rollconv.ps xxx fff InDir CDir OutDir % (assuming that gsnd is an alias for gs -dNODISPLAY), where: % xxx is the font name; % fff is the base part of the output file name; % InDir is the name of the directory containing the xxx-* input files; % CDir is the name of the directory containing the _COD and _CSA % input files (typically the same as InDir); % OutDir is the name of the directory where the output should be written % (OutDir must already exist). % For example: % gsnd -- rollconv.ps HGGothicBPRO gothic /gs/k/rufonts/Gothic \ % /gs/k/rufonts/Gothic /gs/k/gsfonts % To suppress output messages, you may insert -q: % gsnd -q -- rollconv.ps ... % % This program assumes that the files have been FTP'ed from a Macintosh and % therefore have 128 bytes of garbage at the beginning. If you have % transferred them in some manner that avoids this, change true to false % in the following line. /fromMac true def % The FontName of the converted font is xxx-83pv-RKSJ-H. In order to % use a converted font with Ghostscript, you may either load it explicitly % at run time, e.g., % (gothic.ps) run % or you may add an entry to the Fontmap file, in the form: % /HGGothicBPRO-83pv-RKSJ-H (gothic.ps) ; % which will allow the font to be loaded automatically. After % loading the font, by either method, you can select it in the usual way: % /HGGothicBPRO-83pv-RKSJ-H findfont 36 scalefont setfont % or % /HGGothicBPRO-83pv-RKSJ-H 36 selectfont /macrfile % <filename> macrfile <file> { (r) file fromMac { % Get rid of the initial Mac garbage (128 characters). % The garbage at the end is unpredictable, % so we'll just have to hope that it's all nulls. dup =string 0 128 getinterval readstring pop pop } if } bind def /convert % <FName> <OutBase> <InDir> <CDir> <OutDir> convert - { /OutDir exch def /CDir exch def /InDir exch def /OutBase exch def /FName exch def /inprefix InDir (/) concatstrings FName concatstrings (-) concatstrings def /inh inprefix (H) concatstrings def % Open the output file. /OutDot OutDir (/) concatstrings OutBase concatstrings (.) concatstrings def /outname OutDot (ps) concatstrings def QUIET not { (Writing ) print outname = flush } if /cdfromstr (\(pgfonts/) FName concatstrings (-JIS83-1_) concatstrings def /cdstr (\() OutBase concatstrings (.) concatstrings def /out outname (w) file def /buffer 65000 string def % Copy the initial comments from the input file. inh macrfile { dup =string readline pop out 1 index writestring out (\n) writestring (%%EndComments) eq { exit } if } loop % Write out our preamble. out ( currentpacking true setpacking userdict /AltsysCFD3 known { (%END) .skipeof } if userdict /AltsysCFD3 25 dict dup begin /beint { 0 exch { exch 8 bitshift add } forall } bind def /rfile { findlibfile { exch pop } { (r) file } ifelse } bind def /str 500 string def /AltRO { } def /BuildCh % <font> <ccode> <bias> BuildCh - { /bias exch def /ccode exch def begin % font ccode dup 255 and dup bias lt exch 252 gt or { pop 127 } if dup -8 bitshift -67 mul add % subfonts have 189 chars, not 256 bias sub buildch1 } bind def /BuildChr % <font> <ccode> BuildChr - { /ccode exch def begin % font ccode buildch1 } bind def /buildch1 { 6 mul PGOffsets add FileNames 0 get rfile dup dup 4 -1 roll setfileposition (xxxxxx) readstring pop exch closefile dup 1 3 getinterval beint % COD offset exch 4 2 getinterval beint % length dup 0 eq { pop pop currentdict end 1000 0 0 0 1 1 0 -1000 500 1000 setcachedevice2 } { dup str length gt { /str 1 index string store } if FileNames 1 get rfile dup dup % offset length file file file 5 -1 roll setfileposition % length file file str 0 5 -1 roll getinterval readstring pop pop closefile currentdict end ccode str 1183615869 internaldict /CCRun get exec } ifelse } bind def /privates 100 dict def /BuildPr % <stdhw> <stdvw> BuildPr <dict> { 2 copy 1000 mul add privates 1 index known { privates exch get 3 1 roll pop pop } { 7 dict begin /MinFeature{16 16}executeonly def /BlueValues BlueValues def /StdVW 3 -1 roll 1 array astore def /StdHW 3 -1 roll 1 array astore def /password 5839 def /LanguageGroup 1 def /Subrs Subrs def currentdict readonly end privates 2 index 2 index put exch pop } ifelse } bind def /FullEncoding systemdict { pop } forall systemdict length 512 sub 1 255 { (x) dup 0 4 -1 roll put cvn } for 768 packedarray def /BlueValues[-250 -250 1100 1100]readonly def /BuildChar{AltsysCFD3 begin 64 BuildCh end}bind def /CharStrings 1 dict dup /.notdef (1py8) noaccess put readonly def /CDevProc { pop pop pop pop 0 exch -1000 exch 2 div currentfont /FontBBox get 3 get } bind def /FontMatrix[0.001 0.0 0.0 0.001 0.0 0.0]readonly def /Subrs [ (1p|=-D\R) noaccess (1pyUz) noaccess (1pyĞi) noaccess (1p) noaccess (1p|35rI) noaccess ] noaccess def end put %END ) writestring % Locate and copy the definition of NotDefFont. out ( FontDirectory /NotDefFont known { (%END) .skipeof } if ) writestring { dup =string readline pop dup (/NotDefFont) eq { exit } if pop } loop out exch writestring out (\n) writestring { dup =string readline pop (definefont) search { pop pop pop exit } if out exch writestring out (\n) writestring } loop out (definefont pop %END ) writestring % Copy the definitions of the subfonts, moving the % CharStrings of the Roman supplement to an external file. % Stack for pattern procedures: infile line /CSRName OutDot (CSR) concatstrings def /csr CSRName (w) file def QUIET not { (Writing ) print CSRName = flush } if /encoding 256 array def /patterns [ % Patterns specific to the Roman supplement, in which % the outlines are in an eexec section. { (/Encoding 256 array) { pop out (/Encoding ) writestring { dup buffer readline pop dup (dup) search { exit } if pop pop } loop { % Stack: infile dupline postdup (dup) predup pop pop exch pop % The top element of the stack is a string beginning with % an index and value to put into the Encoding. token pop exch token pop exch pop encoding 3 1 roll put dup buffer readline pop dup (dup) search not { pop exit } if } loop out encoding cvx write== out ( cvlit ) writestring out exch writestring out (\n) writestring } } { (/FontType 1 def) { pop out (/FontType 4 def\n) writestring out (/BuildChar{AltsysCFD3 begin BuildChr end}bind def\n) writestring out (/FileNames[) writestring 2 { out OutBase (.CSR) concatstrings write==only } repeat out (]def\n) writestring } } { (currentfile eexec) { pop out (systemdict begin\n) writestring dup //.eexec_param_dict /eexecDecode filter } } { (dup/CharStrings ) { % Copy the individual CharStrings to the CSR file, % recording the lengths and offsets. pop out (dup/CharStrings AltsysCFD3 /CharStrings get put\n) writestring /offsets 256 dict def { dup token pop % char name dup dup type /nametype eq exch xcheck not and not { pop exit } if 1 index token pop % length of binary data 2 index token pop pop % skip RD 2 index buffer 0 3 index getinterval readstring pop % charstring offsets 3 index csr fileposition 16 bitshift 4 index add put csr exch writestring pop pop dup buffer readline pop pop % skip ND } loop % We skipped the 'end'; skip the 'readonly put' as well. 2 { dup token pop pop } repeat out (dup/PGOffsets ) writestring out csr fileposition write=only out ( put\n) writestring encoding { offsets exch .knownget not { 0 } if 2 { csr 0 write } repeat 4 { dup -24 bitshift csr exch write 8 bitshift } repeat pop } forall } } { (/OtherSubrs[) { pop { dup buffer readline pop (]noaccess def) search { pop pop pop exit } if pop } loop } } { (/Subrs 5 array) { pop out (/Subrs AltsysCFD3 /Subrs get def\n) writestring 6 { dup buffer readline pop pop } repeat } } { (currentfile closefile) { pop out (end % systemdict\n) writestring closefile } } % Patterns for other supplements. { (pgfonts/) { { cdfromstr search not { exit } if out exch writestring pop out cdstr writestring } loop out exch writestring out (\n) writestring } } { (/BuildChar{AltsysCFD3 begin 64 BuildCh end}bind def) { pop out (\t/BuildChar AltsysCFD3 /BuildChar get def\n) writestring } } { (/CDevProc{pop pop pop pop 0 exch -1000 exch 2 div ) { pop out (\t/CDevProc AltsysCFD3 /CDevProc get def\n) writestring } } { (/CharStrings 1 dict dup begin) { pop out (\t/CharStrings AltsysCFD3 /CharStrings get def\n) writestring 2 { dup buffer readline pop pop } repeat } } { (/FontMatrix[0.001 0.0 0.0 0.001 0.0 0.0]def) { pop out (\t/FontMatrix AltsysCFD3 /FontMatrix get def\n) writestring } } { (/Private 14 dict dup begin) { pop out (\t/Private) writestring { dup buffer readline pop (end def) search { pop pop pop exit } if (/Std) search { pop pop dup length 3 sub 3 exch getinterval (]) search pop out ( ) writestring out exch writestring pop } if pop } loop out ( AltsysCFD3 begin BuildPr end def\n) writestring } } { (UniqueID) { pop } } { () { out exch writestring out (\n) writestring } } ] def [ (SR) (SA) (SK) (SB) (UG) ] { 0 1 255 { encoding exch /.notdef put } for inprefix exch concatstrings macrfile { dup buffer readline not { pop exit } if /patterns load { 2 copy 0 get search { pop pop pop 1 get exec exit } if pop pop } forall } loop closefile } forall csr closefile % Copy the definition of the root font. dup buffer readstring pop out exch writestring closefile out ( setpacking ) writestring out closefile % Remove the Mac garbage from the outline files. [ (COD) (CSA) ] { CDir (/) concatstrings (JIS83-1_) concatstrings 1 index concatstrings macrfile exch OutDot exch concatstrings QUIET not { (Writing ) print dup = flush } if (w) file % Stack: infile outfile { 1 index buffer readstring exch % Stack: infile outfile noteof substring 2 index exch writestring not { exit } if } loop closefile closefile } forall } bind def % If the program was invoked from the command line, run it now. [ .shellarguments { counttomark 5 eq { convert QUIET not { (Done.\n) print flush } if } { cleartomark (Usage: gsnd -- rollconv.ps FName OutBase InDir CDir OutDir\n) print ( e.g.: gsnd -- rollconv.ps HGMinchoE mincho HGfonts/Mincho HGfonts/Mincho HGfonts/gs\n) print flush mark } ifelse } if pop PK�����[f[ĵ: �� �� ��cdj690ec.uppnu�[��������-supModel="HP Deskjet 690 Econo-Fast Gamma 2.0" -sDEVICE=uniprint -sPAPERSIZE=a4 -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Pcl -r300x300 -dupOutputYOffset=300 -dupMargins="{ 0.0 36.0 12.0 12.0}" -dupBlackTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupBeginPageCommand="< 1b25 2d31 3233 3435 5840 504a 4c20 454e 5445 5220 4c41 4e47 5541 4745 3d50 434c 534c 4545 4b0a 1b45 1b2a 6232 421b 2a6f 3557 040c 0000 001b 2a6f 3144 1b26 6c31 481b 266c 3236 6130 4c1b 2a6f 3557 0103 0000 011b 266c 304d 1b26 6c30 6f30 451b 2a6f 2d31 4d1b 2675 3330 3044 1b2a 7030 581b 2a70 3059 1b2a 6732 3657 0204 012c 012c 0002 012c 012c 0002 012c 012c 0002 012c 012c 0002 1b2a 7232 3430 3053 1b2a 7231 411b 2a62 324d 1b2a 6231 591b 2a62 326d>" -dupAdjustPageWidthCommand -dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" -dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" -dupYMoveCommand="(%dy\0)" -dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" PK�����[f[U)������gs_m.xpmnu�[��������/* XPM */ static char * gs_m_xpm[] = { /* width height ncolors cpp [x_hot y_hot] */ "32 32 6 1 0 0", /* colors */ " s none m none c none", ". s iconColor1 m black c black", "X s iconColor2 m white c white", "o c #C0C0C0C0C0C0", "O c #808080808080", "+ c #00000000FFFF", /* pixels */ " .X ", " .X. ", " .XX. ", " ........XXX.. ", " .........oXXXo.. ", " .......XXXXXXO... ", " ......XXXXXXX...... ", " .....XXXX+XX........ ", " ......XX+X+XX........ ", " ......XX+XXXXX....... ", " ......XXXXXXXXX...... ", " ......XXXX++XXX.... ", " .....OXXX++XXX... ", " ......XXXXXXX.. ", " .....XXXXX. ", " ........XXXXXXX ", " .....XXXXXXXXXXXX ", " .......XXXXXXXXXXXX ", " ...................X ", " ...................... ", " ...................... ", " ...................... ", " ..................... ", " XXXXXXXXXXXX........ ", " ....XXXXXXXXXXXXXXX.....X ", " ....XXXXX.XXXXXXXXXX....XX ", " ....XXXXX.XXXXXXXXX....XX. ", " ...XXXXXX...........XXX. ", " ....XXXXXXXXXXXXXXXXX.. ", " ....XXXXXXXXXXX.... ", " ............. ", " "}; PK�����[f[GК[��[�� ��Stc680pl.uppnu�[��������-supModel="Epson Stylus Color 680, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }" -dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }" -dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{52 46 46}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 33 48}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[iL��������ras1.uppnu�[��������-supModel="SUN rasterfile, 1 Bit, 2 Colors (Ghostscript-Rendering)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster -dupComponentBits={1} PK�����[f[ذ���� ��st640ih.uppnu�[��������-supModel="Epson Stylus Color 640, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=8 -dupOutputPins=30 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveYOffset=38 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 15}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 15 9 18 12 6 15 9 18 27 21 30 24 18 27 21 30}" -dupFormatYabsolute -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2843 0200 0000 1b2863 0400 0000 0000 1b5501 1b2865 0200 0002 1b284b 0200 0002 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ ���� ��gs_m_m.xbmnu�[��������#define gs_m_m.xbm_width 32 #define gs_m_m.xbm_height 32 #define gs_m_m.xbm_x_hot 0 #define gs_m_m.xbm_y_hot 0 static unsigned char gs.m_m.bm_bits[] = { 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x03, 0xc0, 0xff, 0xff, 0x01, 0x80, 0xff, 0xff, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0xc0, 0xff, 0x1f, 0x00, 0xe0, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x7f, 0x00, 0xf0, 0xff, 0xff, 0x00, 0xf0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x1f, 0x00, 0xfe, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x07, 0xc0, 0xff, 0xff, 0x01, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00}; PK�����[f[W*(��*(�� ��viewpbm.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % viewpbm.ps % Display a PBM/PGM/PPM file. % Requires the Level 2 `image' operator (to handle variable pixel widths). % If SCALE is defined, maps input pixels to output pixels with that scale; % if SCALE is undefined, scales the image to fit the page. % If FITPAGE true, it fits the output page size to the image, honouring SCALE % When the input is PAM (P7) RGBTAG from bitrgbtags device, -dTAG will show % the tags is pseudo color: % TEXT=1, IMAGE=2, PATH=4, UNTOUCHED=8 % red green blue gray /s 100 string def /readmaxv { % <file> readmaxv - 10 string readline pop cvx exec /maxv exch def } bind def /readrow { % <file> <row> readrow <row> 0 1 2 index length 1 sub { 1 index exch 3 index token pop put } for exch pop } bind def /read01 { % <file> <count> read01 <byte> 0 exch { 1 index read pop 48 xor dup 1 le { exch dup add add } { pop } ifelse } repeat } bind def /readrow01 { % <file> <row> readrow01 <row> 0 1 w 8 idiv { 1 index exch 3 index 8 read01 put } for wrem 0 ne { dup rsize 1 sub wrem read01 8 wrem sub bitshift put } if exch pop } bind def /readwh { % <file> readwh <w> <h> dup s readline pop % check for comment (#) anchorsearch { pop pop dup s readline pop } if cvx exec } bind def /pbmtypes mark % The procedures in this dictionary are called as % <file> Pn <w> <h> <readproc> /P1 { % ASCII 1-bit white/black /bpc 1 def /maxv 1 def /rsize w 7 add 8 idiv def /wrem w 8 mod def /ncomp 1 def /invert true def /DeviceGray setcolorspace readwh { readrow01 } } bind /P2 { % ASCII 8-bit gray readwh /bpc 8 def 2 index readmaxv /rsize 2 index def /ncomp 1 def /invert false def /DeviceGray setcolorspace { readrow } } bind /P3 { % ASCII 8-bit RGB readwh /bpc 8 def 2 index readmaxv /rsize 2 index 3 mul def /ncomp 3 def /invert false def /DeviceRGB setcolorspace { readrow } } bind /P4 { % Binary 1-bit white/black readwh /bpc 1 def /maxv 1 def /rsize 2 index 7 add 8 idiv def /ncomp 1 def /invert true def /DeviceGray setcolorspace { readstring pop } } bind /P5 { % Binary 8-bit gray readwh /bpc 8 def 2 index readmaxv /rsize 2 index def /ncomp 1 def /invert false def /DeviceGray setcolorspace { readstring pop } } bind /P6 { % Binary 8-bit RGB readwh /bpc 8 def 2 index readmaxv /rsize 2 index 3 mul def /ncomp 3 def /invert false def /DeviceRGB setcolorspace { readstring pop } } bind /P7 { % Assume Binary 8-bit CMYK -- assumes 'pf' is the input file % P7 % WIDTH 612 %% used to set rsize and w % HEIGHT 792 %% used to set h % DEPTH 4 %% if present and not 1 or 4, then bail % MAXVAL 255 %% used to set maxv % TUPLTYPE CMYK | RGB_TAG | RGB_ALPHA | GRAYSCALE %% if present and not one of these, then bail % ENDHDR %% skip everything else up to this /P7KEYS << /WIDTH { /w pf token pop def } /HEIGHT { /h pf token pop def } /DEPTH { /d pf token pop def d 4 eq d 1 eq or not { (*** Only DEPTH 1 or 4 PAM files supported at this time. ***) = quit } if } /MAXVAL { /maxv pf token pop def } /TUPLTYPE { pf token pop dup /CMYK eq 1 index /RGB_TAG eq or 1 index /RGB_ALPHA eq or 1 index /GRAYSCALE eq or not { (*** Only CMYK, RGB_TAG, RGB_ALPHA and GRAYSCALE files supported at this time. ***) = quit } if /T exch def } /ENDHDR { exit } (#) cvn { pf 255 string readline pop pop } >> def { pf token not { exit } if P7KEYS exch .knownget { exec } if } loop /bpc 8 def /rsize w 4 mul def % same bytes per line for CMYK or RGB_TAG /T load /CMYK eq { /ncomp 4 def /invert false def /DeviceCMYK setcolorspace w h { readstring pop } } if /T load /RGB_ALPHA eq { /ncomp 4 def /invert false def /DeviceCMYK setcolorspace w h { readstring pop } } if /T load /GRAYSCALE eq { /ncomp 1 def /invert false def /DeviceGray setcolorspace w h { readstring pop } } if /T load /RGB_TAG eq { % not CMYK, must be RGB_TAG since was checked above /TAG where { pop % show the tags as pseudo-color image /ncomp 1 def /invert false def /maxv 1 def [ /Indexed /DeviceRGB 255 % UNTOUCHED=0, TEXT=1, IMAGE=2, PATH=4 % gray red green blue 768 string dup 0 <cccccc ff0000 00ff00 ffff00 0000ff ff00ff 00ffff ffffff 000000> putinterval ] setcolorspace w h { readstring pop % discard all but the tag dup length 4 div cvi string % destination string 0 1 2 index length 1 sub { 2 index 1 index 4 mul get 2 index exch 2 index exch put pop % done with pixel# } for exch pop } } { % show the image as RGB (ignore tags) /ncomp 3 def /invert false def /DeviceRGB setcolorspace w h { readstring pop % re-pack the RGB, discard the tag dup length 4 div 3 mul cvi string % destination string 0 1 2 index length 3 idiv 1 sub { % stack: RGBTstring destRGBstring pixel# 2 index 1 index 4 mul 4 getinterval 1 3 getinterval % RGB values % stack RGBTstring destRGBstring pixel# RGBstring 2 index exch 2 index 3 mul exch putinterval pop % done with pixel# } for exch pop } } ifelse } if } bind .dicttomark readonly def /pbmsetup { % <file> <w> <h> <readproc> pbmsetup <imagedict> /readproc exch def /h exch def /w exch def /f exch def 20 dict begin % image dictionary /ImageType 1 def /Width w def /Height h def /ImageMatrix [w 0 0 h neg 0 h] def /BitsPerComponent bpc def /Decode [ 0 255 maxv div invert { exch } if ncomp 1 sub { 2 copy } repeat ] def /DataSource [ f rsize string /readproc load /exec load ] cvx def currentdict end } def /imagescale { % <imagedict> imagescale - begin /SCALE where { pop /FITPAGE where {/FITPAGE get}{false} ifelse { Width SCALE mul Height SCALE mul } { % Map pixels SCALE-for-1. Assume orthogonal transformation. Width 1 0 dtransform add abs div SCALE mul Height 0 1 dtransform add abs div SCALE mul } ifelse } { /FITPAGE where {/FITPAGE get}{false} ifelse { % Scale the image (uniformly) to fit the page. clippath pathbbox pop pop translate % offset to the printable origin pathbbox 3 -1 roll sub exch 3 -1 roll sub exch % stack printable_width printable_height 2 copy gt 3 1 roll .min exch % stack: min(printable_w, printable_h) landscape? { % printable height is less than width (landscape) dup Height Width gt { Width mul Height div exch } { Height mul Width div } ifelse } { % printable width is less than height (portrait) dup Height Width lt { Width mul Height div exch } { Height mul Width div } ifelse } ifelse } { 0 0 translate 612 792 } ifelse } ifelse scale end } def % Image a PBM file page by page. /viewpbm { % <filename> viewpbm - 20 dict begin (r) file /pf exch def { pf token not { exit } if pbmtypes exch get pf exch exec pbmsetup currentcolorspace % preserve colorspace around setpagedevice /FITPAGE where { /FITPAGE get { /SCALE where { pop << /PageSize [ 1 1 dtransform h SCALE mul exch abs div exch w SCALE mul exch abs div exch ] >> } { << /PageSize [ 1 1 dtransform h exch abs div exch w exch abs div exch ] >> } ifelse setpagedevice } if } if setcolorspace % restore colorspave in case we did setpagedevice dup imagescale image showpage } loop end } def % Reassemble a composite PBM file from the CMYK separations. /viewpsm { 20 dict begin /fname exch def /sources [ 0 1 3 { /plane exch def /pf fname (r) file def pf pbmtypes pf token pop get exec % Stack: pf w h readproc plane { /readproc exch def /h exch def /w exch def pop /row rsize string def h { pf row readproc pop } repeat pf pbmtypes pf token pop get exec } repeat pbmsetup } for ] def /datas [ sources { /DataSource get 0 get } forall ] def /decode sources 0 get /Decode get dup 0 get exch 1 get add cvi 0 exch 2 copy 4 copy 8 array astore def sources 0 get dup /MultipleDataSources true put dup /DataSource datas put dup /Decode decode put /DeviceCMYK setcolorspace /FITPAGE where { /FITPAGE get { /SCALE where { <</PageSize [w SCALE mul h SCALE mul]>> } { <</PageSize [w h]>> }ifelse setpagedevice } if } if dup imagescale image showpage end } def % If the program was invoked from the command line, run it now. [ .shellarguments { counttomark 1 ge { ] { viewpbm } forall } { cleartomark (Usage: gs [-dSCALE=#.#] [-dFITPAGE] [--] viewpbm.ps filename.p*m ...\n) print ( e.g.: gs [-dSCALE=#.#] [-dFITPAGE] [--] viewpbm.ps my.ppm another.ppm\n) print flush ( also -dTAG option can be used to show the pseudo-color tag image from a\n) print flush ( P7 RGB_TAG PAM file created by the bitrgbtags device.\n) print flush } ifelse } { pop } ifelse PK�����[f[u��u�� ��Stc760p.uppnu�[��������-supModel="Epson Stylus Color 760, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0173 0.0391 0.0719 0.1406 0.2500 }" -dupCyanTransfer="{ 0.0000 0.0169 0.0413 0.0713 0.1500 0.2750 }" -dupMagentaTransfer="{ 0.0000 0.0155 0.0379 0.0654 0.1375 0.2750 }" -dupYellowTransfer="{ 0.0000 0.0141 0.0344 0.0594 0.1500 0.2750 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[B ,��,�� ��cbjc800.ppdnu�[��������*PPD-Adobe: "4.1" *% Adobe Systems PostScript(R) Printer Description File *% Copyright 1995 Yves Arrouye for AFPL Ghostscript with Level 2 PS. *% All Rights Reserved. *% This file may be distributed as part of GNU Ghostscript and/or AFPL *% Ghostscript, under the same terms and conditions as Ghostscript. *% End of Copyright statement *FormatVersion: "4.1" *FileVersion: "1.0" *LanguageEncoding: ISOLatin1 *LanguageVersion: English *PCFileName: "CBJC800.PPD" *Product: "(Canon Bubble Jet Color 800)" *PSVersion: "(2010.351) 0" *ModelName: "Canon Bubble Jet Color 800" *NickName: "BJC-800" *ShortNickName: "BJC-800" *Manufacturer: "Canon" *% This file is not complete, and may lack some useful information... *% Note: the default transfer function should be set to Null if Ghostscript *% exhibit a bug making magenta appear while printing in gray levels... *% Note: if you print on A4 paper by default, change *Default values (the *% default is Letter here). *% ==============Constraints ================= *UIConstraints: *BitsPerPixel None *ColorModel DeviceCMYK *UIConstraints: *BitsPerPixel None *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 16 *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 16 *ColorModel DeviceGray *UIConstraints: *BitsPerPixel 24 *ColorModel DeviceGray *UIConstraints: *BitsPerPixel 32 *ColorModel DeviceRGB *UIConstraints: *BitsPerPixel 32 *ColorModel DeviceGray *UIConstraints: *ColorModel DeviceCMYK *BitsPerPixel None *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel None *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 16 *UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 32 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 16 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 24 *UIConstraints: *ColorModel DeviceGray *BitsPerPixel 32 *% =========== Device Capabilities =============== *LanguageLevel: "2" *Protocols: TBCP *FreeVM: "2124600" *ColorDevice: True *DefaultColorSpace: CMYK *FileSystem: True *Throughput: "1" *Password: "()" *% ============Paper Size Information ============== *OpenUI *PageSize: PickOne *OrderDependency: 30 AnySetup *PageSize *DefaultPageSize: Letter *PageSize A4: "1 dict dup /PageSize [595 842] put setpagedevice" *PageSize A5: "1 dict dup /PageSize [421 595] put setpagedevice" *PageSize A6: "1 dict dup /PageSize [297 421] put setpagedevice" *PageSize A7: "1 dict dup /PageSize [210 297] put setpagedevice" *PageSize A8: "1 dict dup /PageSize [148 210] put setpagedevice" *PageSize A9: "1 dict dup /PageSize [105 148] put setpagedevice" *PageSize A10: "1 dict dup /PageSize [74 105] put setpagedevice" *PageSize B5: "1 dict dup /PageSize [501 709] put setpagedevice" *PageSize Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" *PageSize 11x17/US 11x17: "1 dict dup /PageSize [792 1224] put setpagedevice" *PageSize Ledger/US Ledger: "1 dict dup /PageSize [1224 792] put setpagedevice" *PageSize Legal/US Legal: "1 dict dup /PageSize [612 1008] put setpagedevice" *CloseUI: *PageSize *OpenUI *PageRegion: PickOne *OrderDependency: 40 AnySetup *PageRegion *DefaultPageRegion: Letter *PageRegion A4: "1 dict dup /PageSize [595 842] put setpagedevice" *PageRegion A5: "1 dict dup /PageSize [421 595] put setpagedevice" *PageRegion A6: "1 dict dup /PageSize [297 421] put setpagedevice" *PageRegion A7: "1 dict dup /PageSize [210 297] put setpagedevice" *PageRegion A8: "1 dict dup /PageSize [148 210] put setpagedevice" *PageRegion A9: "1 dict dup /PageSize [105 148] put setpagedevice" *PageRegion A10: "1 dict dup /PageSize [74 105] put setpagedevice" *PageRegion B5: "1 dict dup /PageSize [501 709] put setpagedevice" *PageRegion Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" *PageRegion 11x17/US 11x17: "1 dict dup /PageSize [792 1224] put setpagedevice" *PageRegion Ledger/US Ledger: "1 dict dup /PageSize [1224 792] put setpagedevice" *PageRegion Legal/US Legal: "1 dict dup /PageSize [612 1008] put setpagedevice" *CloseUI: *PageRegion *DefaultImageableArea: Letter *ImageableArea A3: "9.637793 27.096094 832.437805 1181.496094" *ImageableArea A4: "18.425196 27.096094 576.625183 833.496094" *ImageableArea A5: "18.425196 27.096045 402.625183 586.496033" *ImageableArea A6: "18.425196 27.096045 278.625183 412.496033" *ImageableArea A7: "18.425196 27.096045 191.625198 288.496033" *ImageableArea A8: "18.425196 27.096045 129.625198 201.496048" *ImageableArea A9: "18.425196 27.096045 86.625198 139.496048" *ImageableArea A10: "18.425196 27.096045 55.625195 96.496048" *ImageableArea B5: "18.425196 27.096045 482.625183 700.496033" *ImageableArea Letter/US Letter: "18.425196 27.096045 593.625183 783.496033" *ImageableArea 11x17/US 11x17: "9.637793 27.096094 782.437805 1215.496094" *ImageableArea Ledger/US Ledger: "9.637793 27.096045 1214.437744 783.496033" *ImageableArea Legal/US Legal: "9.637793 27.096094 602.437805 999.496094" *?ImageableArea: " save /cvp {( ) cvs print ( ) print } bind def /upperright {10000 mul floor 10000 div} bind def /lowerleft {10000 mul ceiling 10000 div} bind def newpath clippath pathbbox 4 -2 roll exch 2 {lowerleft cvp} repeat exch 2 {upperright cvp} repeat flush restore " *End *DefaultPaperDimension: Letter *PaperDimension A4: "595 842" *PaperDimension A5: "421 595" *PaperDimension A6: "297 421" *PaperDimension A7: "210 297" *PaperDimension A8: "148 210" *PaperDimension A9: "105 148" *PaperDimension A10: "74 105" *PaperDimension B5: "501 709" *PaperDimension Letter/US Letter: "612 792" *PaperDimension 11x17/US 11x17: "792 1224" *PaperDimension Ledger/US Ledger: "1224 792" *PaperDimension Legal/US Legal: "612 1008" *HWMargins: "9.637794495 19.842518 9.637794495 8.503937" *% =============Halftone Information =============== *ScreenFreq: "60.0" *ScreenAngle: "45.0" *DefaultScreenProc: Dot *ScreenProc Dot: " {dup mul exch dup mul add 1.0 exch sub } " *End *ScreenProc Line: "{ pop }" *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }" *DefaultTransfer: Normalized *Transfer Normalized: "{mark 1.0 1.000 0.955 0.915 0.847 0.765 0.683 0.602 0.500 0.311 0.030 0.0 counttomark dup 3 add -1 roll exch 2 sub mul dup floor cvi dup 3 1 roll sub exch dup 3 add index exch 2 add index dup 4 1 roll sub mul add counttomark 1 add 1 roll cleartomark } bind" *End *Transfer Null: "{ }" *Transfer Null.Inverse: "{ 1 exch sub }" *End *%==================Input Slot==================== *OpenUI *InputSlot/Media Source: PickOne *OrderDependency: 20 AnySetup *InputSlot *DefaultInputSlot: Feeder *InputSlot Feeder/Paper Tray: "" *CloseUI: *InputSlot *%=================Manual Feed==================== *OpenUI *ManualFeed/Manual Feed: Boolean *OrderDependency: 20 AnySetup *ManualFeed *DefaultManualFeed: False *ManualFeed True/True: "1 dict dup /ManualFeed true put setpagedevice" *ManualFeed False/False: "1 dict dup /ManualFeed false put setpagedevice" *?ManualFeed: " save currentpagedevice /ManualFeed get {(True)}{(False)}ifelse = flush restore" *End *CloseUI: *ManualFeed *%===================Resolution==================== *OpenUI *Resolution/Resolution: PickOne *OrderDependency: 10 AnySetup *Resolution *DefaultResolution: 360x360dpi *Resolution 90x90dpi/90dpi: " 1 dict dup /HWResolution [ 90 90 ] put setpagedevice" *End *Resolution 180x180dpi/180dpi: " 1 dict dup /HWResolution [ 180 180 ] put setpagedevice" *End *Resolution 360x360dpi/360dpi: " 1 dict dup /HWResolution [ 360 360 ] put setpagedevice" *End *?Resolution: " save currentpagedevice /HWResolution get dup 0 get cvi 10 string cvs print (x) print 0 get cvi 10 string print (dpi) = flush restore" *End *CloseUI: *Resolution *%===================Output Depth==================== *OpenUI *BitsPerPixel/Print Depth: PickOne *OrderDependency: 30 AnySetup *BitsPerPixel *DefaultBitsPerPixel: 24 *BitsPerPixel None/1bpp: " 1 dict dup /BitsPerPixel 1 put setpagedevice" *End *BitsPerPixel 8/8bpp: " 1 dict dup /BitsPerPixel 8 put setpagedevice" *End *BitsPerPixel 16/16bpp: " 1 dict dup /BitsPerPixel 16 put setpagedevice" *End *BitsPerPixel 24/24bpp: " 1 dict dup /BitsPerPixel 24 put setpagedevice" *End *BitsPerPixel 32/32bpp: " 1 dict dup /BitsPerPixel 32 put setpagedevice" *End *?BitsPerPixel: " save currentpagedevice /BitsPerPixel get dup 1 eq { pop (None) } if = flush restore" *End *CloseUI: *BitsPerPixel *%=================Media Type============================ *OpenUI *MediaType/Media Type: PickOne *OrderDependency: 50 AnySetup *MediaType *DefaultMediaType: PlainPaper *MediaType PlainPaper/Plain Paper: " 1 dict dup /MediaType (PlainPaper) put setpagedevice" *End *MediaType CoatedPaper/Coated Paper: " 1 dict dup /MediaType (CoatedPaper) put setpagedevice" *End *MediaType TransparencyFilm/Transparency Film: " 1 dict dup /MediaType (TransparencyFilm) put setpagedevice" *End *MediaType Envelope/Envelope: " 1 dict dup /MediaType (Envelope) put setpagedevice" *End *MediaType Card/Card: " 1 dict dup /MediaType (Card) put setpagedevice" *End *MediaType Other/Other: " 1 dict dup /MediaType (Other) put setpagedevice" *End *?MediaType: " save currentpagedevice /MediaType get dup null eq {pop (Unknown)} if = flush restore " *End *CloseUI: *MediaType *%===================Printing Quality==================== *OpenUI *OutputMode/Print Quality: PickOne *OrderDependency: 10 AnySetup *OuputMode *DefaultOutputMode: Normal *OutputMode Draft/Draft: " 1 dict dup /PrintQuality (Draft) put setpagedevice" *End *OutputMode Low/Low: " 1 dict dup /PrintQuality (Low) put setpagedevice" *End *OutputMode Normal/Normal: " 1 dict dup /PrintQuality (Normal) put setpagedevice" *End *OutputMode High/High: " 1 dict dup /PrintQuality (High) put setpagedevice" *End *CloseUI: *OutputMode *%===================Color/Gray Printing==================== *OpenUI *ColorModel/Color Processing: PickOne *OrderDependency: 20 AnySetup *ColorModel *DefaultColorModel: DeviceCMYK *ColorModel DeviceGray/Gray: " 1 dict dup /ProcessColorModel /DeviceGray put setpagedevice" *End *ColorModel DeviceRGB/RGB: " 1 dict dup /ProcessColorModel /DeviceRGB put setpagedevice" *End *ColorModel DeviceCMYK/CMYK: " 1 dict dup /ProcessColorModel /DeviceCMYK put setpagedevice" *End *?ColorModel: " save currentpagedevice /ProcessColorModel get = flush restore " *End *CloseUI: *ColorModel *%===================Media Weight/Thick Media==================== *OpenUI *ThickMedia/Thick Media: PickOne *OrderDependency: 30 AnySetup *ThickMedia *DefaultThickMedia: Thin *ThickMedia Thin/No: " 1 dict dup /MediaWeight 80 put setpagedevice" *End *ThickMedia Thick/Yes: " 1 dict dup /ThickMedia 120 put setpagedevice" *End *?ThickMedia: " save currentpagedevice /MediaWeight get 105 gt { (Thick) } { (Thin) } ifelse = flush restore " *End *CloseUI: *ThickMedia *%===================PrintColors==================== *OpenUI *PrintColors/Print Colors: PickOne *OrderDependency: 20 AnySetup *PrintColors *DefaultPrintColors: "15" *PrintColors 0/None: "1 dict dup /PrintColors 0 put setpagedevice" *End *PrintColors 1/Cyan: "1 dict dup /PrintColors 1 put setpagedevice" *End *PrintColors 2/Magenta: "1 dict dup /PrintColors 2 put setpagedevice" *End *PrintColors 4/Yellow: "1 dict dup /PrintColors 4 put setpagedevice" *End *PrintColors 8/Black: "1 dict dup /PrintColors 8 put setpagedevice" *End *PrintColors 15/All: "1 dict dup /PrintColors 15 put setpagedevice" *End *CloseUI *PrintColors PK�����[f[Ko��o�� ��stc500ph.uppnu�[��������-supModel="Epson Stylus Color 500, 720x720DpI, not Weaved, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0003 0.0027 0.0056 0.0085 0.0120 0.0156 0.0196 0.0227 0.0260 0.0292 0.0323 0.0354 0.0386 0.0416 0.0450 0.0503 0.0564 0.0630 0.0711 0.0799 0.0905 0.1038 0.1169 0.1321 0.1522 0.1761 0.2011 0.2285 0.2678 0.3102 0.3637 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298 0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683 0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408 0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 05 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[���� ��stc600ih.uppnu�[��������-supModel="Epson Stylus Color 600, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=8 -dupOutputPins=30 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveYOffset=38 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 15}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 15 9 18 12 6 15 9 18 27 21 30 24 18 27 21 30}" -dupFormatYabsolute -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2843 0200 0000 1b2863 0400 0000 0000 1b5501 1b2865 0200 0002 1b284b 0200 0002 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ܧ���� ��stc300bm.uppnu�[��������-supModel="Epson Stylus Color 300, 360x360 dpi, black only, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscNozzleMap -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=2 -dupOutputPins=31 -dupWeaveYFeeds="{31 31}" -dupWeaveInitialYFeeds="{1 31}" -dupWeaveInitialPins="{16 31}" -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 0 0 1 0 1 1}" -dupNozzleMapMaskScanOffset="{ 0 0 0 0 2 4 }" -dupWhiteTransfer="{ 1.0 0.921295345 0.846429467 0.775337517 0.707954228 0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 0.000186894162 0.0 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b7c000900802a2c640316110524 1b285208000052454d4f544531 1b000000 1b2847 0100 01 1b2855 0100 0a 1b2843 0200 7210 1b5501 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[J ��J ����gsnup.psnu�[��������%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Prefix this to very well-behaved PostScript files for n-up printing. /cdef { 1 index where { pop pop } { def } ifelse } def %%%%%%%%%%%%%%%% Begin parameters %%%%%%%%%%%%%%%% % All parameters are also settable from the command line with -d, e.g., % -d.Nx=3 /.Nx 2 cdef % # of pages across the physical page /.Ny 2 cdef % # of pages down the physical page /.Landscape false cdef % if true, rotate page by 90 degrees %%%%%%%%%%%%%%%% End parameters %%%%%%%%%%%%%%%% vmstatus pop pop 0 eq { save pop } if .Landscape { currentpagedevice /PageSize get aload pop exch 2 array astore 1 dict dup /PageSize 4 -1 roll put setpagedevice } if /.BP currentpagedevice /BeginPage get def /.EP currentpagedevice /EndPage get def /.Ps 1 string def % survive save/restore /.Pn { .Ps 0 get } def true setglobal % protect from restore /.ELevel [0] def /.Rmat matrix def false setglobal /.max { 2 copy lt { exch } if pop } cdef % Work around the common save ... showpage ... restore locution. /restore { .Rmat currentmatrix pop restore vmstatus pop pop .ELevel 0 get lt { .Rmat setmatrix } if } bind def << /BeginPage { .Nx .Ny .max gsave initclip clippath pathbbox exch 4 -1 roll sub 3 1 roll exch sub grestore 2 copy exch .Nx div exch .Ny div .Pn dup .Nx mod exch .Nx idiv .Ny 1 sub exch sub % Stack: nmax pw ph pw/nx ph/ny ix iy exch 3 index mul exch 2 index mul translate % Stack: nmax pw ph pw/nx ph/ny 4 -1 roll 4 index div 4 -1 roll 4 index div % Stack: nmax pw/nx ph/ny pw/nmax ph/nmax exch 4 -1 roll exch sub 2 div 3 1 roll sub 2 div translate % Stack: nmax 1 exch div dup scale .BP } /EndPage { dup 2 lt { .ELevel 0 vmstatus pop pop put .Ps 0 .Pn 1 add .Nx .Ny mul mod put .Pn 0 eq { .EP } { pop pop false } ifelse } { pop pop false } ifelse } >> setpagedevice /.EOJ { { .Pn 0 eq { exit } if showpage } loop } def { currentfile cvx exec .EOJ } exec PK�����[f[|���� ��Stp720p.uppnu�[��������-supModel="Epson Stylus Photo 720, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0260 0.0587 0.1079 0.2109 0.3750 }" -dupCyanTransfer="{ 0.0000 0.0254 0.0620 0.1070 0.2250 0.4125 }" -dupMagentaTransfer="{ 0.0000 0.0233 0.0569 0.0981 0.2063 0.4125 }" -dupYellowTransfer="{ 0.0000 0.0212 0.0516 0.0891 0.2250 0.4125 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ I��I�� ��stc800pl.uppnu�[��������-supModel="Epson Stylus Color 800, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0553 0.1158 0.1998 0.4321 1.0000 }" -dupCyanTransfer="{ 0.0000 0.1188 0.2272 0.3745 0.5396 0.6145 }" -dupMagentaTransfer="{ 0.0000 0.0851 0.1512 0.2111 0.2606 0.2818 }" -dupYellowTransfer="{ 0.0000 0.0679 0.1742 0.3129 0.4587 0.5389 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=2 -dupOutputPins=64 -dupWeaveYFeeds="{63 65}" -dupWeaveInitialYFeeds="{1 65}" -dupWeaveInitialPins="{ 33 64}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[/0+d��+d�� ��ghostpdf.ppdnu�[��������*PPD-Adobe: "4.3" *FileVersion: "1.1" *FormatVersion: "4.3" *LanguageEncoding: ISOLatin1 *LanguageVersion: English *Manufacturer: "Ghostscript" *ModelName: "Ghostscript PDF Writer" *ShortNickName: "Ghostscript" *NickName: "Ghostscript" *% PCFileName should be of the form XXNNNNNN.PPD where XX is an assigned *% manufacturer code. *PCFileName: "GHOSTPDF.PPD" *Product: "(Ghostscript)" *Product: "(AFPL Ghostscript)" *Product: "(GNU Ghostscript)" *Product: "(GPL Ghostscript)" *PSVersion: "(3010) 815" *% *DefaultImageableArea: *% *DefaultPageRegion: *% *PageRegion: *% *ImageableArea: *% *DefaultPageSize: *% *PageSize: *% *DefaultPaperDimension: *% *PaperDimension: *% == Above are required *Copyright: "2004-2006 Ghostgum Software Pty Ltd" *% *% Copyright (C) 2004-2006, Ghostgum Software Pty Ltd. All rights reserved. *% *% Permission is hereby granted, free of charge, to any person obtaining *% a copy of this file ("Software"), to deal in the Software without *% restriction, including without limitation the rights to use, copy, *% modify, merge, publish, distribute, sublicense, and/or sell copies of *% this Software, and to permit persons to whom this file is furnished to *% do so, subject to the following conditions: *% *% This Software is distributed with NO WARRANTY OF ANY KIND. No author *% or distributor accepts any responsibility for the consequences of using it, *% or for whether it serves any particular purpose or works at all, unless he *% or she says so in writing. *% *% The above copyright notice and this permission notice shall be included *% in all copies or substantial portions of the Software. *% There is an accompanying file ghostpdf.inf that is used to *% install this PPD on Windows 2k/XP. *% This PPD includes configuration items specific to generating *% PDF files with ghostscript. *% If you are not using the ghostscript pdfwrite device, *% all items in the PDF group should be left as "Default". *% == Basic Capabilities *LanguageLevel: "3" *ColorDevice: True *DefaultColorSpace: RGB *FileSystem: True *Extensions: CMYK FileSystem Composite *TTRasterizer: Type42 *FreeVM: "10000000" *PrintPSErrors: True *ContoneOnly: True *% AccurateScreensSupport: True *% order dependency *% 10 HWResolution *% 20 PageSize and other page device parameters *% 30 PDFSETTINGS *% 40 distiller parameters *% == Resolution *OpenUI *Resolution: PickOne *DefaultResolution: 600dpi *OrderDependency: 10 AnySetup *Resolution *Resolution 72dpi: "<< /HWResolution [72 72] >> setpagedevice" *Resolution 96dpi: "<< /HWResolution [96 96] >> setpagedevice" *Resolution 144dpi: "<< /HWResolution [144 144] >> setpagedevice" *Resolution 150dpi: "<< /HWResolution [150 150] >> setpagedevice" *Resolution 300dpi: "<< /HWResolution [300 300] >> setpagedevice" *Resolution 600dpi: "<< /HWResolution [600 600] >> setpagedevice" *Resolution 720dpi: "<< /HWResolution [720 720] >> setpagedevice" *Resolution 1200dpi: "<< /HWResolution [1200 1200] >> setpagedevice" *Resolution 2400dpi: "<< /HWResolution [2400 2400] >> setpagedevice" *Resolution 3600dpi: "<< /HWResolution [3600 3600] >> setpagedevice" *Resolution 4000dpi: "<< /HWResolution [4000 4000] >> setpagedevice" *CloseUI: *Resolution *% == Paper stuff *% Page sizes taken from ghostscript gs_statd.ps. *% Ghostscript pdfwrite ignores Orientation, so set the *% custom page width/height and then use an Install procedure *% to rotate the image. *HWMargins: 0 0 0 0 *ParamCustomPageSize Width: 1 points 1 5670 *ParamCustomPageSize Height: 2 points 1 5670 *ParamCustomPageSize WidthOffset/Width Margin: 3 points 0 5670 *ParamCustomPageSize HeightOffset/Height Margin: 4 points 0 5670 *ParamCustomPageSize Orientation: 5 int 0 3 *NonUIOrderDependency: 20 AnySetup *CustomPageSize *CustomPageSize True: " 5 -2 roll exch 5 2 roll 3 -2 roll exch 3 2 roll [ {} {90 rotate 0 currentpagedevice /PageSize get 0 get neg translate} {180 rotate currentpagedevice /PageSize get dup 0 get neg exch 1 get neg translate} {270 rotate currentpagedevice /PageSize get 1 get neg 0 translate} ] exch get 4 dict dup begin 6 1 roll /Install exch def 2 array astore /PageOffset exch def 2 array astore /PageSize exch def /ImagingBBox null def end setpagedevice" *End *MaxMediaWidth: "5670" *MaxMediaHeight: "5670" *LandscapeOrientation: Any *OpenUI *PageSize: PickOne *DefaultPageSize: Letter *OrderDependency: 20 AnySetup *PageSize *PageSize Tabloid: "<< /PageSize [792 1224] /ImagingBBox null >> setpagedevice" *PageSize Ledger: "<< /PageSize [1224 792] /ImagingBBox null >> setpagedevice" *PageSize Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice" *PageSize Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice" *PageSize LetterSmall: "<< /PageSize [612 792] /ImagingBBox [25 25 587 767] >> setpagedevice" *PageSize Statement: "<< /PageSize [396 612] /ImagingBBox null >> setpagedevice" *PageSize Note: "<< /PageSize [612 792] /ImagingBBox [25 25 587 767] >> setpagedevice" *PageSize A0: "<< /PageSize [2384 3370] /ImagingBBox null >> setpagedevice" *PageSize A1: "<< /PageSize [1684 2384] /ImagingBBox null >> setpagedevice" *PageSize A2: "<< /PageSize [1191 1684] /ImagingBBox null >> setpagedevice" *PageSize A3: "<< /PageSize [842 1191] /ImagingBBox null >> setpagedevice" *PageSize A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice" *PageSize A4Small: "<< /PageSize [595 842] /ImagingBBox [25 25 570 817] >> setpagedevice" *PageSize A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice" *PageSize A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice" *PageSize A7: "<< /PageSize [210 297] /ImagingBBox null >> setpagedevice" *PageSize A8: "<< /PageSize [148 210] /ImagingBBox null >> setpagedevice" *PageSize A9: "<< /PageSize [105 148] /ImagingBBox null >> setpagedevice" *PageSize A10: "<< /PageSize [73 105] /ImagingBBox null >> setpagedevice" *PageSize ISOB0/ISO B0: "<< /PageSize [2835 4008] /ImagingBBox null >> setpagedevice" *PageSize ISOB1/ISO B1: "<< /PageSize [2004 2835] /ImagingBBox null >> setpagedevice" *PageSize ISOB2/ISO B2: "<< /PageSize [1417 2004] /ImagingBBox null >> setpagedevice" *PageSize ISOB3/ISO B3: "<< /PageSize [1001 1417] /ImagingBBox null >> setpagedevice" *PageSize ISOB4/ISO B4: "<< /PageSize [709 1001] /ImagingBBox null >> setpagedevice" *PageSize ISOB5/ISO B5: "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice" *PageSize ISOB6/ISO B6: "<< /PageSize [354 499] /ImagingBBox null >> setpagedevice" *PageSize B0/JIS B0: "<< /PageSize [2920 4127] /ImagingBBox null >> setpagedevice" *PageSize B1/JIS B1: "<< /PageSize [2064 2920] /ImagingBBox null >> setpagedevice" *PageSize B2/JIS B2: "<< /PageSize [1460 2064] /ImagingBBox null >> setpagedevice" *PageSize B3/JIS B3: "<< /PageSize [1032 1460] /ImagingBBox null >> setpagedevice" *PageSize B4/JIS B4: "<< /PageSize [729 1032] /ImagingBBox null >> setpagedevice" *PageSize B5/JIS B5: "<< /PageSize [516 729] /ImagingBBox null >> setpagedevice" *PageSize B6/JIS B6: "<< /PageSize [363 516] /ImagingBBox null >> setpagedevice" *PageSize EnvC0/Envelope C0: "<< /PageSize [2599 3677] /ImagingBBox null >> setpagedevice" *PageSize EnvC1/Envelope C1: "<< /PageSize [1837 2599] /ImagingBBox null >> setpagedevice" *PageSize EnvC2/Envelope C2: "<< /PageSize [1296 1837] /ImagingBBox null >> setpagedevice" *PageSize EnvC3/Envelope C3: "<< /PageSize [918 1296] /ImagingBBox null >> setpagedevice" *PageSize EnvC4/Envelope C4: "<< /PageSize [649 918] /ImagingBBox null >> setpagedevice" *PageSize EnvC5/Envelope C5: "<< /PageSize [459 649] /ImagingBBox null >> setpagedevice" *PageSize EnvC6/Envelope C6: "<< /PageSize [323 459] /ImagingBBox null >> setpagedevice" *PageSize ARCHE: "<< /PageSize [2592 3456] /ImagingBBox null >> setpagedevice" *PageSize ARCHD: "<< /PageSize [1728 2592] /ImagingBBox null >> setpagedevice" *PageSize ARCHC: "<< /PageSize [1296 1728] /ImagingBBox null >> setpagedevice" *PageSize ARCHB: "<< /PageSize [864 1296] /ImagingBBox null >> setpagedevice" *PageSize ARCHA: "<< /PageSize [648 864] /ImagingBBox null >> setpagedevice" *PageSize FLSA: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice" *PageSize FLSE: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice" *PageSize PA4: "<< /PageSize [595 792] /ImagingBBox null >> setpagedevice" *CloseUI: *PageSize *OpenUI *PageRegion: PickOne *DefaultPageRegion: Letter *OrderDependency: 20 AnySetup *PageRegion *PageRegion Tabloid: "<< /PageSize [792 1224] /ImagingBBox null >> setpagedevice" *PageRegion Ledger: "<< /PageSize [1224 792] /ImagingBBox null >> setpagedevice" *PageRegion Legal: "<< /PageSize [612 1008] /ImagingBBox null >> setpagedevice" *PageRegion Letter: "<< /PageSize [612 792] /ImagingBBox null >> setpagedevice" *PageRegion LetterSmall: "<< /PageSize [612 792] /ImagingBBox [25 25 587 767] >> setpagedevice" *PageRegion Note: "<< /PageSize [612 792] /ImagingBBox [25 25 587 767] >> setpagedevice" *PageRegion Statement: "<< /PageSize [396 612] /ImagingBBox null >> setpagedevice" *PageRegion A0: "<< /PageSize [2384 3370] /ImagingBBox null >> setpagedevice" *PageRegion A1: "<< /PageSize [1684 2384] /ImagingBBox null >> setpagedevice" *PageRegion A2: "<< /PageSize [1191 1684] /ImagingBBox null >> setpagedevice" *PageRegion A3: "<< /PageSize [842 1191] /ImagingBBox null >> setpagedevice" *PageRegion A4: "<< /PageSize [595 842] /ImagingBBox null >> setpagedevice" *PageRegion A4Small: "<< /PageSize [595 842] /ImagingBBox [25 25 570 817] >> setpagedevice" *PageRegion A5: "<< /PageSize [420 595] /ImagingBBox null >> setpagedevice" *PageRegion A6: "<< /PageSize [297 420] /ImagingBBox null >> setpagedevice" *PageRegion A7: "<< /PageSize [210 297] /ImagingBBox null >> setpagedevice" *PageRegion A8: "<< /PageSize [148 210] /ImagingBBox null >> setpagedevice" *PageRegion A9: "<< /PageSize [105 148] /ImagingBBox null >> setpagedevice" *PageRegion A10: "<< /PageSize [73 105] /ImagingBBox null >> setpagedevice" *PageRegion ISOB0/ISO B0: "<< /PageSize [2835 4008] /ImagingBBox null >> setpagedevice" *PageRegion ISOB1/ISO B1: "<< /PageSize [2004 2835] /ImagingBBox null >> setpagedevice" *PageRegion ISOB2/ISO B2: "<< /PageSize [1417 2004] /ImagingBBox null >> setpagedevice" *PageRegion ISOB3/ISO B3: "<< /PageSize [1001 1417] /ImagingBBox null >> setpagedevice" *PageRegion ISOB4/ISO B4: "<< /PageSize [709 1001] /ImagingBBox null >> setpagedevice" *PageRegion ISOB5/ISO B5: "<< /PageSize [499 709] /ImagingBBox null >> setpagedevice" *PageRegion ISOB6/ISO B6: "<< /PageSize [354 499] /ImagingBBox null >> setpagedevice" *PageRegion B0/JIS B0: "<< /PageSize [2920 4127] /ImagingBBox null >> setpagedevice" *PageRegion B1/JIS B1: "<< /PageSize [2064 2920] /ImagingBBox null >> setpagedevice" *PageRegion B2/JIS B2: "<< /PageSize [1460 2064] /ImagingBBox null >> setpagedevice" *PageRegion B3/JIS B3: "<< /PageSize [1032 1460] /ImagingBBox null >> setpagedevice" *PageRegion B4/JIS B4: "<< /PageSize [729 1032] /ImagingBBox null >> setpagedevice" *PageRegion B5/JIS B5: "<< /PageSize [516 729] /ImagingBBox null >> setpagedevice" *PageRegion B6/JIS B6: "<< /PageSize [363 516] /ImagingBBox null >> setpagedevice" *PageRegion EnvC0/Envelope C0: "<< /PageSize [2599 3677] /ImagingBBox null >> setpagedevice" *PageRegion EnvC1/Envelope C1: "<< /PageSize [1837 2599] /ImagingBBox null >> setpagedevice" *PageRegion EnvC2/Envelope C2: "<< /PageSize [1296 1837] /ImagingBBox null >> setpagedevice" *PageRegion EnvC3/Envelope C3: "<< /PageSize [918 1296] /ImagingBBox null >> setpagedevice" *PageRegion EnvC4/Envelope C4: "<< /PageSize [649 918] /ImagingBBox null >> setpagedevice" *PageRegion EnvC5/Envelope C5: "<< /PageSize [459 649] /ImagingBBox null >> setpagedevice" *PageRegion EnvC6/Envelope C6: "<< /PageSize [323 459] /ImagingBBox null >> setpagedevice" *PageRegion ARCHE: "<< /PageSize [2592 3456] /ImagingBBox null >> setpagedevice" *PageRegion ARCHD: "<< /PageSize [1728 2592] /ImagingBBox null >> setpagedevice" *PageRegion ARCHC: "<< /PageSize [1296 1728] /ImagingBBox null >> setpagedevice" *PageRegion ARCHB: "<< /PageSize [864 1296] /ImagingBBox null >> setpagedevice" *PageRegion ARCHA: "<< /PageSize [648 864] /ImagingBBox null >> setpagedevice" *PageRegion FLSA: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice" *PageRegion FLSE: "<< /PageSize [612 936] /ImagingBBox null >> setpagedevice" *PageRegion PA4: "<< /PageSize [595 792] /ImagingBBox null >> setpagedevice" *CloseUI: *PageRegion *DefaultImageableArea: Letter *ImageableArea Tabloid: "0 0 792 1224" *ImageableArea Ledger: "0 0 1224 792" *ImageableArea Legal: "0 0 612 1008" *ImageableArea Letter: "0 0 612 792" *ImageableArea LetterSmall: "25 25 587 767" *ImageableArea Note: "25 25 587 767" *ImageableArea Statement: "0 0 396 612" *ImageableArea A0: "0 0 2384 3370" *ImageableArea A1: "0 0 1684 2384" *ImageableArea A2: "0 0 1191 1684" *ImageableArea A3: "0 0 842 1191" *ImageableArea A4: "0 0 595 842" *ImageableArea A4Small: "25 25 570 817" *ImageableArea A5: "0 0 420 595" *ImageableArea A6: "0 0 297 420" *ImageableArea A7: "0 0 210 297" *ImageableArea A8: "0 0 148 210" *ImageableArea A9: "0 0 105 148" *ImageableArea A10: "0 0 73 105" *ImageableArea ISOB0/ISO B0: "0 0 2835 4008" *ImageableArea ISOB1/ISO B1: "0 0 2004 2835" *ImageableArea ISOB2/ISO B2: "0 0 1417 2004" *ImageableArea ISOB3/ISO B3: "0 0 1001 1417" *ImageableArea ISOB4/ISO B4: "0 0 709 1001" *ImageableArea ISOB5/ISO B5: "0 0 499 709" *ImageableArea ISOB6/ISO B6: "0 0 354 499" *ImageableArea B0/JIS B0: "0 0 2920 4127" *ImageableArea B1/JIS B1: "0 0 2064 2920" *ImageableArea B2/JIS B2: "0 0 1460 2064" *ImageableArea B3/JIS B3: "0 0 1032 1460" *ImageableArea B4/JIS B4: "0 0 729 1032" *ImageableArea B5/JIS B5: "0 0 516 729" *ImageableArea B6/JIS B6: "0 0 363 516" *ImageableArea EnvC0/Envelope C0: "0 0 2599 3677" *ImageableArea EnvC1/Envelope C1: "0 0 1837 2599" *ImageableArea EnvC2/Envelope C2: "0 0 1296 1837" *ImageableArea EnvC3/Envelope C3: "0 0 918 1296" *ImageableArea EnvC4/Envelope C4: "0 0 649 918" *ImageableArea EnvC5/Envelope C5: "0 0 459 649" *ImageableArea EnvC6/Envelope C6: "0 0 323 459" *ImageableArea ARCHE: "0 0 2592 3456" *ImageableArea ARCHD: "0 0 1728 2592" *ImageableArea ARCHC: "0 0 1296 1728" *ImageableArea ARCHB: "0 0 864 1296" *ImageableArea ARCHA: "0 0 648 864" *ImageableArea FLSA: "0 0 612 936" *ImageableArea FLSE: "0 0 612 936" *ImageableArea PA4: "0 0 595 792" *DefaultPaperDimension: Letter *PaperDimension Tabloid: "792 1224" *PaperDimension Ledger: "1224 792" *PaperDimension Legal: "612 1008" *PaperDimension Letter: "612 792" *PaperDimension LetterSmall: "612 792" *PaperDimension Note: "612 792" *PaperDimension Statement: "396 612" *PaperDimension A0: "2384 3370" *PaperDimension A1: "1684 2384" *PaperDimension A2: "1191 1684" *PaperDimension A3: "842 1191" *PaperDimension A4: "595 842" *PaperDimension A4Small: "595 842" *PaperDimension A5: "420 595" *PaperDimension A6: "297 420" *PaperDimension A7: "210 297" *PaperDimension A8: "148 210" *PaperDimension A9: "105 148" *PaperDimension A10: "73 105" *PaperDimension ISOB0/ISO B0: "2835 4008" *PaperDimension ISOB1/ISO B1: "2004 2835" *PaperDimension ISOB2/ISO B2: "1417 2004" *PaperDimension ISOB3/ISO B3: "1001 1417" *PaperDimension ISOB4/ISO B4: "709 1001" *PaperDimension ISOB5/ISO B5: "499 709" *PaperDimension ISOB6/ISO B6: "354 499" *PaperDimension B0/JIS B0: "2920 4127" *PaperDimension B1/JIS B1: "2064 2920" *PaperDimension B2/JIS B2: "1460 2064" *PaperDimension B3/JIS B3: "1032 1460" *PaperDimension B4/JIS B4: "729 1032" *PaperDimension B5/JIS B5: "516 729" *PaperDimension B6/JIS B6: "363 516" *PaperDimension EnvC0/Envelope C0: "2599 3677" *PaperDimension EnvC1/Envelope C1: "1837 2599" *PaperDimension EnvC2/Envelope C2: "1296 1837" *PaperDimension EnvC3/Envelope C3: "918 1296" *PaperDimension EnvC4/Envelope C4: "649 918" *PaperDimension EnvC5/Envelope C5: "459 649" *PaperDimension EnvC6/Envelope C6: "323 459" *PaperDimension ARCHE: "2592 3456" *PaperDimension ARCHD: "1728 2592" *PaperDimension ARCHC: "1296 1728" *PaperDimension ARCHB: "864 1296" *PaperDimension ARCHA: "648 864" *PaperDimension FLSA: "612 936" *PaperDimension FLSE: "612 936" *PaperDimension PA4: "595 792" *% == Fonts *DefaultFont: Courier *% First the standard 35 aliases with the actual fonts commented out. *Font Bookman-Demi: Standard "(1.10)" Standard ROM *% *Font URWBookmanL-DemiBold: Standard "(1.10)" Standard ROM *Font Bookman-DemiItalic: Standard "(1.10)" Standard ROM *% *Font URWBookmanL-DemiBoldItal: Standard "(1.10)" Standard ROM *Font Bookman-Light: Standard "(1.10)" Standard ROM *% *Font URWBookmanL-Ligh: Standard "(1.10)" Standard ROM *Font Bookman-LightItalic: Standard "(1.10)" Standard ROM *% *Font URWBookmanL-LighItal: Standard "(1.10)" Standard ROM *Font Courier: Standard "(1.10)" Standard ROM *% *Font NimbusMonL-Regu: Standard "(1.10)" Standard ROM *Font Courier-Oblique: Standard "(1.10)" Standard ROM *% *Font NimbusMonL-ReguObli: Standard "(1.10)" Standard ROM *Font Courier-Bold: Standard "(1.10)" Standard ROM *% *Font NimbusMonL-Bold: Standard "(1.10)" Standard ROM *Font Courier-BoldOblique: Standard "(1.10)" Standard ROM *% *Font NimbusMonL-BoldObli: Standard "(1.10)" Standard ROM *Font AvantGarde-Book: Standard "(1.10)" Standard ROM *% *Font URWGothicL-Book: Standard "(1.10)" Standard ROM *Font AvantGarde-BookOblique: Standard "(1.10)" Standard ROM *% *Font URWGothicL-BookObli: Standard "(1.10)" Standard ROM *Font AvantGarde-Demi: Standard "(1.10)" Standard ROM *% *Font URWGothicL-Demi: Standard "(1.10)" Standard ROM *Font AvantGarde-DemiOblique: Standard "(1.10)" Standard ROM *% *Font URWGothicL-DemiObli: Standard "(1.10)" Standard ROM *Font Helvetica: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-Regu: Standard "(1.10)" Standard ROM *Font Helvetica-Oblique: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-ReguItal: Standard "(1.10)" Standard ROM *Font Helvetica-Bold: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-Bold: Standard "(1.10)" Standard ROM *Font Helvetica-BoldOblique: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-BoldItal: Standard "(1.10)" Standard ROM *Font Helvetica-Narrow: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-ReguCond: Standard "(1.10)" Standard ROM *Font Helvetica-Narrow-Oblique: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-ReguCondItal: Standard "(1.10)" Standard ROM *Font Helvetica-Narrow-Bold: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-BoldCond: Standard "(1.10)" Standard ROM *Font Helvetica-Narrow-BoldOblique: Standard "(1.10)" Standard ROM *% *Font NimbusSanL-BoldCondItal: Standard "(1.10)" Standard ROM *Font Palatino-Roman: Standard "(1.10)" Standard ROM *% *Font URWPalladioL-Roma: Standard "(1.10)" Standard ROM *Font Palatino-Italic: Standard "(1.10)" Standard ROM *% *Font URWPalladioL-Ital: Standard "(1.10)" Standard ROM *Font Palatino-Bold: Standard "(1.10)" Standard ROM *% *Font URWPalladioL-Bold: Standard "(1.10)" Standard ROM *Font Palatino-BoldItalic: Standard "(1.10)" Standard ROM *% *Font URWPalladioL-BoldItal: Standard "(1.10)" Standard ROM *Font NewCenturySchlbk-Roman: Standard "(1.10)" Standard ROM *% *Font CenturySchL-Roma: Standard "(1.10)" Standard ROM *Font NewCenturySchlbk-Italic: Standard "(1.10)" Standard ROM *% *Font CenturySchL-Ital: Standard "(1.10)" Standard ROM *Font NewCenturySchlbk-Bold: Standard "(1.10)" Standard ROM *% *Font CenturySchL-Bold: Standard "(1.10)" Standard ROM *Font NewCenturySchlbk-BoldItalic: Standard "(1.10)" Standard ROM *% *Font CenturySchL-BoldItal: Standard "(1.10)" Standard ROM *Font Times-Roman: Standard "(1.10)" Standard ROM *% *Font NimbusRomNo9L-Regu: Standard "(1.10)" Standard ROM *Font Times-Italic: Standard "(1.10)" Standard ROM *% *Font NimbusRomNo9L-ReguItal: Standard "(1.10)" Standard ROM *Font Times-Bold: Standard "(1.10)" Standard ROM *% *Font NimbusRomNo9L-Medi: Standard "(1.10)" Standard ROM *Font Times-BoldItalic: Standard "(1.10)" Standard ROM *% *Font NimbusRomNo9L-MediItal: Standard "(1.10)" Standard ROM *Font Symbol: Special "(001.005)" Special ROM *% *Font StandardSymL: Special (001.005)" Special ROM *Font ZapfChancery-MediumItalic: Standard "(1.10)" Standard ROM *% *Font URWChanceryL-MediItal: Standard "(1.10)" Standard ROM *Font ZapfDingbats: Special (001.005)" Special ROM *% *Font Dingbats: Special (001.005)" Special ROM *% Then a few ghostscript extras *Font Charter-Roman: Standard "(2.0-1.0)" Standard ROM *Font CharterBT-Roman: Standard "(2.0-1.0)" Standard ROM *Font Charter-Italic: Standard "(2.0-1.0)" Standard ROM *Font CharterBT-Italic: Standard "(2.0-1.0)" Standard ROM *Font Charter-Bold: Standard "(2.0-1.0)" Standard ROM *Font CharterBT-Bold: Standard "(2.0-1.0)" Standard ROM *Font Charter-BoldItalic: Standard "(2.0-1.0)" Standard ROM *Font CharterBT-BoldItalic: Standard "(2.0-1.0)" Standard ROM *Font Utopia-Regular: Standard "(001.001)" Standard ROM *Font Utopia-Italic: Standard "(001.001)" Standard ROM *Font Utopia-Bold: Standard "(001.001)" Standard ROM *Font Utopia-BoldItalic: Standard "(001.001)" Standard ROM *% == Most of these set distiller parameters *% If the target device is not the Ghostscript pdfwrite device, *% then these should all be left at "Default" *OpenGroup: PDF *% == The pdfwrite device can select different color spaces *OpenUI *ColorModel/PDF Colour Model: PickOne *DefaultColorModel: Default *OrderDependency: 20 AnySetup *ColorModel *ColorModel Default: "" *ColorModel Grey: "<< /ProcessColorModel /DeviceGray >> setpagedevice" *ColorModel RGB: "<< /ProcessColorModel /DeviceRGB >> setpagedevice" *ColorModel CMYK: "<< /ProcessColorModel /DeviceCMYK >> setpagedevice" *CloseUI: *ColorModel *OpenUI *PDFSettings/PDF Settings: PickOne *DefaultPDFSettings: Default *OrderDependency: 30 AnySetup *PDFSettings *PDFSettings Default: "" *PDFSettings Screen: ".distillersettings /screen get setdistillerparams" *PDFSettings Ebook: ".distillersettings /ebook get setdistillerparams" *PDFSettings Printer: ".distillersettings /printer get setdistillerparams" *PDFSettings Prepress: ".distillersettings /prepress get setdistillerparams" *CloseUI: *PDFSettings *OpenUI *ColorImageFilter/PDF Colour Image Compression: PickOne *DefaultColorImageFilter: Default *OrderDependency: 40 AnySetup *ColorImageFilter *ColorImageFilter Default: "" *ColorImageFilter JPEG: "<< /AutoFilterColorImages false /ColorImageFilter /DCTEncode >> setdistillerparams" *ColorImageFilter Flate: "<< /AutoFilterColorImages false /ColorImageFilter /FlateEncode >> setdistillerparams" *CloseUI: *ColorImageFilter *OpenUI *GrayImageFilter/PDF Grey Image Compression: PickOne *DefaultGrayImageFilter: Default *OrderDependency: 40 AnySetup *GrayImageFilter *GrayImageFilter Default: "" *GrayImageFilter JPEG: "<< /AutoFilterGrayImages false /GrayImageFilter /DCTEncode >> setdistillerparams" *GrayImageFilter Flate: "<< /AutoFilterGrayImages false /GrayImageFilter /FlateEncode >> setdistillerparams" *CloseUI: *GrayImageFilter *OpenUI *MonoImageFilter/PDF Monochrome Image Compression: PickOne *DefaultMonoImageFilter: Default *OrderDependency: 40 AnySetup *MonoImageFilter *MonoImageFilter Default: "" *MonoImageFilter FaxG3/Fax G3: "<< /AutoFilterMonoImages false /MonoImageFilter /CCITTFaxEncode >> setdistillerparams" *MonoImageFilter Flate: "<< /AutoFilterMonoImages false /MonoImageFilter /FlateEncode >> setdistillerparams" *CloseUI: *MonoImageFilter *OpenUI *CompatibilityLevel/PDF Compatibility: PickOne *DefaultCompatibilityLevel: Default *OrderDependency: 40 AnySetup *CompatibilityLevel *CompatibilityLevel Default: "" *CompatibilityLevel 1.2: "<< /CompatibilityLevel 1.2 >> setdistillerparams" *CompatibilityLevel 1.3: "<< /CompatibilityLevel 1.3 >> setdistillerparams" *CompatibilityLevel 1.4: "<< /CompatibilityLevel 1.4 >> setdistillerparams" *CloseUI: *CompatibilityLevel *OpenUI *AutoRotatePages/PDF AutoRotatePages: PickOne *DefaultAutoRotatePages: Default *OrderDependency: 40 AnySetup *AutoRotatePages *AutoRotatePages Default: "" *AutoRotatePages None: "<< /AutoRotatePages /None >> setdistillerparams" *AutoRotatePages PageByPage: "<< /AutoRotatePages /PageByPage >> setdistillerparams" *AutoRotatePages All: "<< /AutoRotatePages /All >> setdistillerparams" *CloseUI: *AutoRotatePages *OpenUI *ParseDSCComments/PDF ParseDSCComments: PickOne *DefaultParseDSCComments: Default *OrderDependency: 40 AnySetup *ParseDSCComments *ParseDSCComments Default: "" *ParseDSCComments True: "<< /ParseDSCComments true >> setdistillerparams" *ParseDSCComments False: "<< /ParseDSCComments false >> setdistillerparams" *CloseUI: *ParseDSCComments *OpenUI *EmbedAllFonts/PDF EmbedAllFonts: PickOne *DefaultEmbedAllFonts: Default *OrderDependency: 40 AnySetup *EmbedAllFonts *EmbedAllFonts Default: "" *EmbedAllFonts True: "<< /EmbedAllFonts true >> setdistillerparams" *EmbedAllFonts False: "<< /EmbedAllFonts false >> setdistillerparams" *CloseUI: *EmbedAllFonts *OpenUI *SubsetFonts/PDF SubsetFonts: PickOne *DefaultSubsetFonts: Default *OrderDependency: 40 AnySetup *SubsetFonts *SubsetFonts Default: "" *SubsetFonts True: "<< /SubsetFonts true >> setdistillerparams" *SubsetFonts False: "<< /SubsetFonts false >> setdistillerparams" *CloseUI: *SubsetFonts *OpenUI *CompressPages/PDF Compress Pages: PickOne *DefaultCompressPages: Default *OrderDependency: 40 AnySetup *CompressPages *CompressPages Default: "" *CompressPages True: "<< /CompressPages true >> setdistillerparams" *CompressPages False: "<< /CompressPages false >> setdistillerparams" *CloseUI: *CompressPages *CloseGroup: PDF *% End of Ghostscript PDF Writer PPD file PK�����[f[ZX��X�� ��stc300.uppnu�[��������-supModel="Epson Stylus Color 300, 360x360 dpi, colour, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscNozzleMap -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=6 -dupOutputPins=11 -dupWeaveYFeeds="{11 11 11 11 11 11}" -dupWeaveInitialYFeeds="{1 1 1 1 1 7}" -dupWeaveInitialPins="{ 2 11 9 7 5 3}" -dupWeaveYOffset=0 -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 2 4 1 3 0 0 }" -dupNozzleMapMaskScanOffset="{ 0 1 2 3 0 0 }" -dupBlackTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b7c000900802a2c640316110524 1b285208000052454d4f544531 1b000000 1b2847 0100 01 1b2855 0100 0A 1b2843 0200 7210 1b5501 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ՠn��n�� ��stc800ih.uppnu�[��������-supModel="Epson Stylus Color 800, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=4 -dupOutputPins=62 -dupWeaveYFeeds="{31 31 31 31 31 31 31 31}" -dupWeaveXStarts="{0 1 0 1 1 0 1 0}" -dupWeaveYOffset=18 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 31}" -dupWeaveInitialXStarts="{0 1 0 1 1 0 1 0}" -dupWeaveInitialPins="{ 13 20 27 34 41 48 55 62}" -dupFormatYabsolute -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2873 0100 02 1b5501 1b2865 0200 0001 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[s �� �� ��gs_lgo_e.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Define the Adobe "original" Latin glyph set. % This is not an Encoding strictly speaking, but we treat it like one. /currentglobal where { pop currentglobal { setglobal } true setglobal } { { } } ifelse /AdobeLatinOriginalGlyphEncoding mark /.notdef /A /AE /Aacute /Acircumflex /Adieresis /Agrave /Aring /Atilde /B /C /Ccedilla /D /E /Eacute /Ecircumflex /Edieresis /Egrave /Eth /F /G /H /I /Iacute /Icircumflex /Idieresis /Igrave /J /K /L /Lslash /M /N /Ntilde /O /OE /Oacute /Ocircumflex /Odieresis /Ograve /Oslash /Otilde /P /Q /R /S /Scaron /T /Thorn /U /Uacute /Ucircumflex /Udieresis /Ugrave /V /W /X /Y /Yacute /Ydieresis /Z /Zcaron /a /aacute /acircumflex /acute /adieresis /ae /agrave /ampersand /aring /asciicircum /asciitilde /asterisk /at /atilde /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /breve /brokenbar /bullet /c /caron /ccedilla /cedilla /cent /circumflex /colon /comma /copyright /currency /d /dagger /daggerdbl /degree /dieresis /divide /dollar /dotaccent /dotlessi /e /eacute /ecircumflex /edieresis /egrave /eight /ellipsis /emdash /endash /equal /eth /exclam /exclamdown /f /fi /five /fl /florin /four /fraction /g /germandbls /grave /greater /guillemotleft /guillemotright /guilsinglleft /guilsinglright /h /hungarumlaut /hyphen /i /iacute /icircumflex /idieresis /igrave /j /k /l /less /logicalnot /lslash /m /macron /minus /mu /multiply /n /nine /ntilde /numbersign /o /oacute /ocircumflex /odieresis /oe /ogonek /ograve /one /onehalf /onequarter /onesuperior /ordfeminine /ordmasculine /oslash /otilde /p /paragraph /parenleft /parenright /percent /period /periodcentered /perthousand /plus /plusminus /q /question /questiondown /quotedbl /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase /quotesingle /r /registered /ring /s /scaron /section /semicolon /seven /six /slash /space /sterling /t /thorn /three /threequarters /threesuperior /tilde /trademark /two /twosuperior /u /uacute /ucircumflex /udieresis /ugrave /underscore /v /w /x /y /yacute /ydieresis /yen /z /zcaron /zero counttomark packedarray exch pop 8 1 index .registerencoding .defineencoding exec PK�����[f[sc��c�� ��stcinfo.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % stcinfo.ps % Epson Stylus-Color Printer-Driver % The purpose of this file is to print & show Parameters of the % stcolor-driver. If not run on ghostscript/stcolor, it prints % something like a color-chart. % use either existing STCinfo-dictionary, retrieve new one or create dummy statusdict begin product end dup (Ghostscript) eq 1 index (Artifex Ghostscript) eq or exch (AFPL Ghostscript) eq or{ currentdevice getdeviceprops .dicttomark dup /Name get (stcolor) eq /STCi_onstc exch def /STCinfo where {/STCinfo get exch pop} if /STCinfo exch def }{ /STCinfo 10 dict def STCinfo begin /Name (unknown) def end /STCi_onstc false def }ifelse % Next Block are procedures to generate the color-triangles. % you may wish to separate them, just look ahead for the name % given in the next line to achieve that. % Begin: colortri_procedures % Plot the CIE-XY-triangle (or something like that) % /colortri_mat Conversion matrix RGB -> XYZ % /colortri_bg procedure, that takes X/Y-Values and delivers the % "background color" as RGB-Values, default is: % {pop pop 0.85 dup dup} % The default matrix was taken from: % Color spaces FAQ - David Bourgin % Date: 15/6/94 (items 5.3 and 6 updated) % Last update: 29/6/94 /colortri_mat [ % RGB -> CIE XYZitu601-1 (D65) 0.4306 0.3415 0.1784 0.2220 0.7067 0.0713 0.0202 0.1295 0.9394 ] def /colortri_bg {pop pop 0.85 dup dup} bind def % +---------------------------------------------------------------------+ % | Besides from fixing bugs, nothing should be changed below this line | % +---------------------------------------------------------------------+ % Arbitrary operation on a pair of vectors, *CHANGES* 1st. % invoke: Vaccu Vop op vop /vop { bind 0 1 3 index length 1 sub { 3 index 1 index get 3 index 2 index get 3 index exec 4 index 3 1 roll put } for pop pop } bind def /vsub { {sub} vop } bind def % subtract two vectors /vmul { {mul} vop } bind def % multiply two vectors % Compute sum of vectors elements /vsum {0.0 exch{add}forall} bind def % Sum up products of elements /veqn { [ 3 -1 roll {} forall ] exch vmul vsum } bind def % Find index of |maximum| in array /imax { dup 0 get abs 0 exch % array i v[i] 1 1 4 index length 1 sub { 3 index 1 index get abs dup 3 index gt {4 2 roll}if pop pop } for 3 -1 roll pop } bind def % Procedure to *CHANGE* RGB-Values into XYZ-Values /rgb2xyz { 0 3 6 { colortri_mat exch 3 getinterval 1 index veqn exch } for astore } bind def % Procedure to *CHANGE* transform rgb->xy /rgb2xy { rgb2xyz dup 0 get 1 index 1 get 2 index vsum % XYZ X Y sum dup 0 ne { exch 1 index div 3 1 roll div % XYZ y x 2 index exch 0 exch put % xYZ y 1 index exch 1 exch put % xyZ }{ pop pop pop dup 0 0 put dup 0 1 put } ifelse 0 2 getinterval } bind def % So here we go with our procedure /colortri { %Usage: box #pixels save 1 index type /arraytype eq {exch 8}{3 1 roll} ifelse % Default scale /colortri_scale exch def /colortri_box exch def % Prepare some useful constants for xy -> RGB conversion /colsum [ % Array with column-sums 0 1 2{0 exch 3 1 index 6 add{colortri_mat exch get add}for}for ] def /Xrow colortri_mat 0 3 getinterval def % two rows from colortri_mat /Yrow colortri_mat 3 3 getinterval def % Avoid allocating new arrays /xcoeff 3 array def /ycoeff 3 array def % Procedure to derive RGB-Values form X,Y /xy2rgb{ aload pop dup dup dup ycoeff astore colsum vmul Yrow vsub imax 3 index dup dup xcoeff astore colsum vmul Xrow vsub imax 3 -1 roll 1 index 1 index gt{ xcoeff ycoeff /xcoeff exch def /ycoeff exch def pop 3 -1 roll pop }{ 3 1 roll pop pop } ifelse 1e-6 lt { % No Pivot ? pop colortri_bg xcoeff astore pop }{ % Have a Pivot dup ycoeff exch get neg 0 1 2 { dup ycoeff exch get 2 index div ycoeff 3 1 roll put} for pop ycoeff 1 index 0 put xcoeff 1 index get 0 1 2 { ycoeff 1 index get 2 index mul xcoeff 2 index get add xcoeff 3 1 roll put } for pop xcoeff 1 index 0 put xcoeff imax 1e-6 lt { % no Pivot ? pop pop colortri_bg xcoeff astore pop }{ dup 2 index or 3 exch sub xcoeff 1 index get xcoeff 3 index get div neg xcoeff exch 3 index exch put xcoeff 1 index 1 put ycoeff exch get ycoeff 2 index get xcoeff 4 -1 roll get mul add xcoeff 3 1 roll put 0 1 2 { xcoeff exch get dup -0.0015 lt exch 1.0015 gt or { colortri_bg xcoeff astore dup exit } if } for pop pop xcoeff } ifelse } ifelse } bind def % Compute the displayed range [ 1 1 1 ] rgb2xy dup 0 get /colortri_x0 exch def /colortri_dx colortri_x0 def 1 get /colortri_y0 exch def /colortri_dy colortri_y0 def [[0 0 1][0 1 0][0 1 1][1 0 0][1 0 1][1 1 0]] { rgb2xy dup 0 get dup colortri_x0 lt {/colortri_x0 1 index def}if dup colortri_dx gt {/colortri_dx 1 index def}if pop 1 get dup colortri_y0 lt {/colortri_y0 1 index def}if dup colortri_dy gt {/colortri_dy 1 index def}if pop } forall colortri_dx colortri_x0 sub /colortri_dx exch def colortri_dy colortri_y0 sub /colortri_dy exch def % % determine the scale colortri_box 2 get colortri_box 0 get sub colortri_dx div % fx colortri_box 3 get colortri_box 1 get sub colortri_dy div % fx fy gt { % fy limits colortri_box 3 get colortri_box 1 get sub dup colortri_dx mul colortri_dy div exch }{ % fx limits colortri_box 2 get colortri_box 0 get sub dup colortri_dy mul colortri_dx div } ifelse dtransform abs colortri_scale div cvi /colortri_ny exch def abs colortri_scale div cvi /colortri_nx exch def colortri_nx colortri_scale mul colortri_ny colortri_scale mul idtransform abs exch abs exch colortri_box 0 get colortri_box 2 get 1 index sub 3 index sub 2 div add colortri_box 1 get colortri_box 3 get 1 index sub 3 index sub 2 div add transform .5 add cvi exch .5 add cvi exch itransform translate scale % String & indices /colortri_tmp colortri_nx 3 mul string def /colortri_dx colortri_dx colortri_nx 1 sub div def /colortri_dy colortri_dy colortri_ny 1 sub div def /colortri_xy [ colortri_x0 colortri_y0 ] def /colortri_ie colortri_tmp length 3 sub def colortri_nx colortri_ny 8 [ colortri_nx 0 0 colortri_ny 0 0 ] { colortri_xy 0 colortri_x0 put 0 3 colortri_ie { colortri_tmp exch % buf ir colortri_xy xy2rgb % buf ir rgb buf ib 2 index 2 index 2 add 2 index 2 get 255 mul cvi put 2 index 2 index 1 add 2 index 1 get 255 mul cvi put 0 get 255 mul cvi put colortri_xy dup 0 exch 0 get colortri_dx add put }for colortri_xy dup 1 exch 1 get colortri_dy add put colortri_tmp } bind false 3 colorimage restore } bind def % [ newpath clippath pathbbox ] colortri showpage % standalone usage % End: colortri_procedures % The next section is a group of procedures, that I for myself % do no more fully understand, but they do the Job. % Begin: stcinfo_procedures_1 % fetch a parameter from the dictionary /STCiget { STCinfo exch get } bind def % action upon ProcessColorModel /STCimode { /ProcessColorModel STCiget dup /DeviceCMYK eq{pop 2}{/DeviceRGB eq{1}{0}ifelse}ifelse get exec } bind def % print given number of blanks /STCipspace { dup 0 gt{ 1 exch 1 exch { pop ( ) print}for }{ pop } ifelse } bind def % print right or left-justified text /STCiprint { dup 0 gt { dup 2 index length sub STCipspace } if 1 index print dup 0 lt { neg dup 2 index length sub STCipspace } if pop pop } bind def % floating-point to fixed-length-string conversion /STCicvs { % number -> string % Prepare the result 8 string dup 0 ( ) putinterval exch % Make it unsigned dup 0 lt {neg(-)}{( )}ifelse 0 get exch dup 1000 lt 1 index 0 eq 2 index 0.001 ge or and { % floating point (e+) 0 }{ % engineering 0 { 1 index 1000.0 ge {3 add exch 1000 div exch} {1 index 1 lt {3 sub exch 1000 mul exch}{exit}ifelse} ifelse }loop dup 0 lt {neg(e-)}{(e+)}ifelse exch }ifelse % string sign num esig e % always up to three Integer Digits plus sign 2 index cvi 3 { % string sign num esig e int ind 1 index 10 div cvi dup 10 mul 3 index exch sub cvi (0123456789) exch get 8 index exch 3 index exch put 3 -2 roll 1 sub exch pop dup 0 eq 2 index 0 eq or {exit} if } loop exch pop % string sign num esig e ind 5 index exch 6 -1 roll put % string num esig e % print either fraction or exponent dup 0 eq { pop pop dup cvi sub % String fraction dup 0.0 ne { % Fraction present 0.0005 add 1 index 4 (.) putinterval 5 1 7 { % string frac ind exch 10 mul dup cvi exch 1 index sub % string ind ic nfrac exch (0123456789) exch get 3 -1 roll % string nfrac chr ind exch 3 index 3 1 roll put } for } if pop }{ 3 -1 roll pop % string esig e exch 2 index exch 4 exch putinterval 7 -1 6 { % string n i 1 index 10 div cvi dup 10 mul 3 index exch sub cvi % string n i n/10 (0123456789) exch get 4 index exch 3 index exch put exch pop exch pop } for pop } ifelse } bind def % compute colorvalue-steps from transfer & coding /STCisteps { % xfer, coding => X-values, Y-Values % 2^nbits 2 /BitsPerComponent STCiget dup 11 gt { pop 11 } if exp cvi % X & Y - Arrays (stack: xv:4 yv:3 xfer:2 coding:1 2^ni:0) dup 1 add array 1 index array 5 2 roll % compute GS-Color-Value according to the coding-array 1 index null eq { % no coding present 0 1 2 index 1 sub { dup 6 index exch dup 4 index div put 4 index exch dup 3 index 1 sub div put } for }{ % coding-array given 1.0 1 index 1 sub div % y step 0 % current index 0 1 4 index 1 sub { % over indices dup 3 index mul { dup 3 index 1 add dup 8 index length ge {pop pop exit} if % i y 7 index exch get le {exit} if 2 index 1 add 3 1 roll 4 -1 roll pop } loop 5 index 3 index get sub 5 index 3 index 1 add get 6 index 4 index get sub div 2 index add 5 index length 1 sub div 2 copy exch dup 0 eq { 10 index exch 0.0 put pop }{ dup 10 index exch 1 sub get 3 -1 roll add 2 div 10 index 3 1 roll put }ifelse 7 index 3 1 roll put } for % over indices pop pop } ifelse 4 index 1 index 1.0 put % Replace the raw y-values by those computed from the transfer-array 0 1 2 index 1 sub { % over indices, 2nd dup 5 index exch get dup 5 index length 1 sub mul cvi % -> iy 5 index 1 index get 1 index 1 add 7 index length lt { dup 7 index 3 index 1 add get exch sub 3 index 3 index 9 index length 1 sub div sub mul 7 index length 1 sub mul add } if exch pop exch pop 5 index 3 1 roll put } for % over indices, 2nd pop pop pop } bind def /STCibar { % Window X-Values proc => Window 0 1 3 index length 2 sub { dup 3 index exch get exch 1 add 3 index exch get dup 2 index add 2 div 3 index exec % Color to average 4 index 2 get 5 index 0 get sub exch 1 index mul 5 index 0 get add 3 1 roll mul 4 index 0 get add 4 index 3 get 5 index 1 get newpath 2 index 1 index moveto 3 index 1 index lineto 3 index 2 index lineto 2 index 2 index lineto closepath fill pop pop pop pop } for pop pop 0 setgray newpath dup 0 get 1 index 1 get moveto dup 2 get 1 index 1 get lineto dup 2 get 1 index 3 get lineto dup 0 get 1 index 3 get lineto closepath stroke pop } bind def % End: stcinfo_procedures_1 % Begin: stcinfo_preparation % Compute used area from clippath /STCi_clip [ newpath clippath pathbbox 2 sub 4 1 roll 2 sub 4 1 roll 2 add 4 1 roll 2 add 4 1 roll ] def % % Perpare the texual messages, assume no stcolor if this fails % { /STCi_stopped % A Special Mark % Textual Parameters (an array of pairs of strings) /STCi_l1 0 def /STCi_l2 0 def /STCi_text [ % Driver-Name & Version (Parameters of) /Name STCiget length /Version STCiget length add 1 add string dup 0 /Name STCiget putinterval dup /Name STCiget length (-)putinterval dup /Name STCiget length 1 add /Version STCiget putinterval % Dithering-Algorithm (Dithering) /Dithering STCiget [{( \(Monochrome\))}{( \(RGB\))}{( \(CMYK\))}] STCimode dup length 2 index length add string exch 1 index exch 3 index length exch putinterval dup 3 1 roll exch 0 exch putinterval % Flags for the algorithm (Flag4-0) 5 string dup 0 /Flag4 STCiget {(T)}{(f)} ifelse putinterval dup 1 /Flag3 STCiget {(T)}{(f)} ifelse putinterval dup 2 /Flag2 STCiget {(T)}{(f)} ifelse putinterval dup 3 /Flag1 STCiget {(T)}{(f)} ifelse putinterval dup 4 /Flag0 STCiget {(T)}{(f)} ifelse putinterval % Bits Per Pixel & Bits Per Component (BitsPerPixel) 10 string % (nn -> nxnn) /BitsPerPixel STCiget 1 index cvs length % string used dup 2 index exch ( -> ) putinterval 4 add dup 2 add exch 2 index exch [{(1x)}{(3x)}{(4x)}] STCimode putinterval % String used /BitsPerComponent STCiget 2 index 2 index 2 getinterval cvs length add 0 exch getinterval () () % ColorAdjustMatrix (ColorAdjustMatrix) /ColorAdjustMatrix STCiget dup null eq { pop (default) }{ { STCicvs } forall [{ % Monochrome 26 string dup 0 6 -1 roll putinterval dup 8 ( ) putinterval dup 9 5 -1 roll putinterval dup 17 ( ) putinterval dup 18 4 -1 roll putinterval }{ % RGB 26 string dup 0 12 -1 roll putinterval dup 8 ( ) putinterval dup 9 11 -1 roll putinterval dup 17 ( ) putinterval dup 18 10 -1 roll putinterval () 26 string dup 0 11 -1 roll putinterval dup 8 ( ) putinterval dup 9 10 -1 roll putinterval dup 17 ( ) putinterval dup 18 9 -1 roll putinterval () 26 string dup 0 10 -1 roll putinterval dup 8 ( ) putinterval dup 9 9 -1 roll putinterval dup 17 ( ) putinterval dup 18 8 -1 roll putinterval }{ 35 string dup 0 19 -1 roll putinterval dup 8 ( ) putinterval dup 9 18 -1 roll putinterval dup 17 ( ) putinterval dup 18 17 -1 roll putinterval dup 26 ( ) putinterval dup 27 16 -1 roll putinterval () 35 string dup 0 17 -1 roll putinterval dup 8 ( ) putinterval dup 9 16 -1 roll putinterval dup 17 ( ) putinterval dup 18 15 -1 roll putinterval dup 26 ( ) putinterval dup 27 14 -1 roll putinterval () 35 string dup 0 15 -1 roll putinterval dup 8 ( ) putinterval dup 9 14 -1 roll putinterval dup 17 ( ) putinterval dup 18 13 -1 roll putinterval dup 26 ( ) putinterval dup 27 12 -1 roll putinterval () 35 string dup 0 13 -1 roll putinterval dup 8 ( ) putinterval dup 9 12 -1 roll putinterval dup 17 ( ) putinterval dup 18 11 -1 roll putinterval dup 26 ( ) putinterval dup 27 10 -1 roll putinterval } ] STCimode } ifelse () () % Printer Model (Printer-Model) /Model STCiget % Resolution (Resolution) 15 string % (nnnnnxnnnnn DpI) /HWResolution STCiget 0 get cvi 1 index cvs length dup 2 index exch (x) putinterval 1 add dup 2 index exch 5 getinterval /HWResolution STCiget 1 get cvi exch cvs length add dup 2 index exch ( DpI) putinterval 4 add 0 exch getinterval % HWsize holds entire Page in Pixels, % .HWMargins is [left,bottom,right,top] in Points (Printed Area) 18 string % (nnnnnxnnnnn Pixel) /HWSize STCiget 0 get /.HWMargins STCiget dup 0 get exch 2 get add /HWResolution STCiget 0 get mul 72.0 div sub cvi 1 index cvs length dup 2 index exch (x) putinterval 1 add dup 2 index exch 5 getinterval /HWSize STCiget 1 get /.HWMargins STCiget dup 1 get exch 3 get add /HWResolution STCiget 1 get mul 72.0 div sub cvi exch cvs length add dup 2 index exch ( Pixel) putinterval 6 add 0 exch getinterval () () % WeaveMode (Weave-Mode) /noWeave STCiget { (noWeave) }{ /Microweave STCiget {(Microweave)}{(Softweave)}ifelse }ifelse % Unidirectional (Unidirectional) /Unidirectional STCiget {(ON)}{(off)} ifelse % Output coding (OutputCode) /OutputCode STCiget % number of heads (escp_Band) /escp_Band STCiget 3 string cvs (escp_Width) /escp_Width STCiget 5 string cvs (escp_Height) /escp_Height STCiget 5 string cvs (escp_Top) /escp_Top STCiget 5 string cvs (escp_Bottom) /escp_Bottom STCiget 5 string cvs ] def % % compute the Proper X & Y-Arrays % [{ % Monochrome /Ktransfer STCiget /Kcoding STCiget STCisteps /STCi_yv [ 3 -1 roll ] def /STCi_xv [ 3 -1 roll ] def /STCi_col [[0 0 0]] def /STCi_set [{1.0 exch sub setgray}] def }{ % RGB /Rtransfer STCiget /Rcoding STCiget STCisteps /Gtransfer STCiget /Gcoding STCiget STCisteps /Btransfer STCiget /Bcoding STCiget STCisteps exch 4 -1 roll 6 -1 roll exch 3 -1 roll /STCi_xv [ 5 2 roll ] def /STCi_yv [ 5 2 roll ] def /STCi_col [[1 0 0] [0 1 0] [0 0 1]] def /STCi_set [ {1.0 exch sub 1 exch dup setrgbcolor} {1.0 exch sub dup 1 exch setrgbcolor} {1.0 exch sub dup 1 setrgbcolor} ] def }{ % CMYK /Ctransfer STCiget /Ccoding STCiget STCisteps /Mtransfer STCiget /Mcoding STCiget STCisteps exch 3 1 roll /Ytransfer STCiget /Ycoding STCiget STCisteps exch 4 1 roll /Ktransfer STCiget /Kcoding STCiget STCisteps exch 5 1 roll /STCi_yv [ 6 2 roll ] def /STCi_xv [ 6 2 roll ] def /STCi_col [[0 1 1] [1 0 1] [1.0 0.5 0.0] [0 0 0]] def /STCi_set [ { 0 0 0 setcmykcolor } { 0 exch 0 0 setcmykcolor } { 0 exch 0 exch 0 setcmykcolor } { 0 exch 0 exch 0 exch setcmykcolor } ] def } ]STCimode } stopped { {/STCi_stopped eq {exit}if}loop true} { {/STCi_stopped eq {exit}if}loop false} ifelse % End: stcinfo_preparation % The Next section does the real job % Begin: stcinfo_execution { (%%[ stcinfo.ps: currentdevice is not supported -> colortri ]%%\n) print STCi_clip colortri % The default action }{ % % Print the text % 0 2 STCi_text length 2 sub { dup 1 add exch STCi_text exch get length dup STCi_l1 gt{/STCi_l1 exch def}{pop}ifelse STCi_text exch get length dup STCi_l2 gt{/STCi_l2 exch def}{pop}ifelse } for /STCi_l2 STCi_l2 neg def 0 2 STCi_text length 2 sub { dup 1 add STCi_text exch get exch STCi_text exch get 1 index length 0 gt { dup STCi_l1 STCiprint length 0 gt {(: )}{( )}ifelse print print }{ pop pop } ifelse (\n) print } for % % Deactivate a present ColorAdjust Matrix, if any % /ColorAdjustMatrix STCiget null ne STCi_onstc and { mark /ColorAdjustMatrix null currentdevice putdeviceprops pop } if % % "Show" the text % /Times-Roman findfont 10 scalefont setfont /STCi_l1 0 def 0 2 STCi_text length 2 sub { STCi_text exch get stringwidth pop dup STCi_l1 gt { /STCi_l1 exch def }{ pop } ifelse } for STCi_l1 STCi_clip 0 get add /STCi_l1 exch def STCi_clip 3 get 12 sub 0 2 STCi_text length 2 sub { STCi_text exch get dup length 0 gt { dup stringwidth pop STCi_l1 exch sub 2 index moveto show }{ pop } ifelse 12 sub } for pop /Courier findfont 10 scalefont setfont /STCi_l2 0 def 1 2 STCi_text length 1 sub { STCi_text exch get stringwidth pop dup STCi_l2 gt { /STCi_l2 exch def }{ pop } ifelse } for STCi_clip 3 get 12 sub 1 2 STCi_text length 1 sub { STCi_text exch get dup length 0 gt { STCi_l1 12 add 2 index moveto show }{ pop } ifelse 12 sub } for pop % % compute the space for the graph-window % STCi_l1 12 add STCi_l2 add 12 add dup STCi_clip 2 get exch sub % Extend [ 3 -1 roll dup 3 index add STCi_clip 3 get dup 5 index sub 3 1 roll ] /STCi_win exch def /STCi_l1 exch def % The "Axis" newpath STCi_win 0 get STCi_win 1 get 14 add moveto STCi_win 2 get STCi_win 1 get 14 add lineto stroke STCi_win 0 get 14 add STCi_win 1 get moveto STCi_win 0 get 14 add STCi_win 3 get lineto stroke % The Labels /Times-Roman findfont 10 scalefont setfont (Postscript-color) dup stringwidth pop STCi_win 2 get STCi_win 0 get sub 14 sub 1 index sub 2 div exch pop STCi_win 0 get add 14 add STCi_win 1 get 4 add moveto show gsave STCi_win 0 get 10 add STCi_win 1 get 14 add translate 90 rotate (Device-color) dup stringwidth pop STCi_win 3 get STCi_win 1 get sub 14 sub 1 index sub 2 div exch pop 0 moveto show grestore % The Graphs gsave STCi_win 0 get 14 add STCi_win 1 get 14 add STCi_win 2 get 2 index sub STCi_win 3 get 2 index sub 4 2 roll translate STCi_col 0 1 2 index length 1 sub { 1 index 1 index get aload pop setrgbcolor STCi_xv 1 index get STCi_yv 3 -1 roll get newpath 1 index 0 get 5 index mul 1 index 0 get 5 index mul moveto 1 index 1 get 5 index mul 1 index 0 get 5 index mul lineto 1 1 2 index length 1 sub { 2 index 1 index get 6 index mul 2 index 2 index get 6 index mul lineto 2 index 1 index 1 add get 6 index mul 2 index 2 index get 6 index mul lineto pop } for stroke pop pop } for pop pop pop grestore % % Find lowest Y from Text or graph % STCi_win 1 get STCi_clip 3 get STCi_text length 2 div 12 mul sub dup 2 index gt { pop } { exch pop } ifelse 12 sub % % compute the upper bar-window % /STCi_win [ STCi_clip 0 get 4 -1 roll 36 sub STCi_clip 2 get 1 index 36 add ] def % % Draw the required number of graphs % [{ % Monochrome STCi_win STCi_xv 0 get {setgray} STCibar }{ % RGB STCi_win STCi_xv 0 get {0 0 setrgbcolor} STCibar STCi_win dup 1 exch 1 get 47 sub put STCi_win dup 3 exch 3 get 47 sub put STCi_win STCi_xv 1 get {0 0 3 1 roll setrgbcolor} STCibar STCi_win dup 1 exch 1 get 47 sub put STCi_win dup 3 exch 3 get 47 sub put STCi_win STCi_xv 2 get {0 0 3 2 roll setrgbcolor} STCibar }{ % CMYK STCi_win STCi_xv 0 get {0 0 0 setcmykcolor} STCibar STCi_win dup 1 exch 1 get 47 sub put STCi_win dup 3 exch 3 get 47 sub put STCi_win STCi_xv 1 get {0 0 0 4 1 roll setcmykcolor} STCibar STCi_win dup 1 exch 1 get 47 sub put STCi_win dup 3 exch 3 get 47 sub put STCi_win STCi_xv 2 get {0 0 0 4 2 roll setcmykcolor} STCibar STCi_win dup 1 exch 1 get 47 sub put STCi_win dup 3 exch 3 get 47 sub put STCi_win STCi_xv 3 get {0 0 0 4 3 roll setcmykcolor} STCibar } ] STCimode STCi_win 1 STCi_clip 1 get put STCi_win dup 3 exch 3 get 47 sub put % % Plot either one or two Color-Triangles % /ColorAdjustMatrix STCiget null ne STCi_onstc and { STCi_win 0 get STCi_win 2 get add 2 div [STCi_win 0 get STCi_win 1 get 3 index STCi_win 3 get ] colortri mark /ColorAdjustMatrix dup STCiget currentdevice putdeviceprops pop [1 index STCi_win 1 get STCi_win 2 get STCi_win 3 get ] colortri pop }{ STCi_win colortri } ifelse newpath clippath stroke } ifelse showpage PK�����[f[u���� ��cid2code.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Construct an inverse map from CIDs to codes. % Create an inverse map from CIDs to code values. % We only use this for 16-bit Unicode, so it has some limitations. % After invoking .cmap2code, loading a CMap file prints out the map % instead of doing what it usually does. For example: % % gs -dNODISPLAY -dBATCH lib/cid2code.ps -c .cmap2code\ % -f Resource/CMap/UniJIS-UCS2-H > mapfile /.cmap2codedict 10 dict begin /begincmap { mark } def /endcmap { % Stack: mark code_lo1 code_hi1 cid1 ... 20 dict begin /depth counttomark 3 sub def % Do a first pass to determine the maximum CID. 0 0 3 depth { 1 add /d exch def d index d 2 add index 1 get add d 3 add index 1 get sub .max } for 1 add /ncid exch def /map ncid 2 mul string def % Now fill in the map. 0 3 depth { /d exch def d index 2 mul /cid2 exch def d 1 add index /hi exch def d 2 add index 2 string copy /lo exch def lo 1 get 1 hi 1 get { map cid2 lo 0 get put map cid2 1 add 3 -1 roll put /cid2 cid2 2 add def } for } for % Print the map. (%stdout) (w) file dup (<) print dup /ASCIIHexEncode filter dup map writestring closefile () = flush closefile end } def %/begincodespacerange /endcodespacerange {cleartomark} def %/usecmap %/beginbfchar /endbfchar {cleartomark} def %/beginbfrange /endbfrange {cleartomark} def %/begincidchar /endcidchar { counttomark 2 idiv { dup counttomark 1 add 3 roll } repeat pop } def %/begincidrange /endcidrange { counttomark 1 add -1 roll pop } def %/beginnotdefchar /endnotdefchar {cleartomark} def %/beginnotdefrange /endnotdefrange {cleartomark} def currentdict end readonly def /.cmap2code { % - .cmap2code - /CIDInit /ProcSet findresource dup length dict copy .cmap2codedict { 3 copy put pop pop } forall /CIDInit exch /ProcSet defineresource pop } def % Extract and print reverse mapping information from a cid2code.txt file. /.printhex2 { % <int16> .printhex2 - (<) print 16#10000 add 16 =string cvrs 1 4 getinterval print (>) print } def /.cid2code { % <cmaptemplate> <file> <column> .cid2code - 30 dict begin /column exch def (r) file /f exch def (%!) = (/CIDInit /ProcSet findresource begin 12 dict begin begincmap) = % Print the information from the template. { exch ==only ( ) print dup type /dicttype eq { dup length =only ( dict dup begin) = { ( ) print exch ===only ( ) print ===only ( def) = } forall (end def) = } { ===only } ifelse ( def) = } forall % Read the data from the cid2code.txt file. { f =string readline pop (CID\t) anchorsearch { pop pop exit } if pop } loop /map [ { f =string readline not { pop exit } if column { (\t) search pop pop pop } repeat (\t) search { exch pop exch pop } if (,) search { exch pop exch pop } if dup length 4 ne { pop (*) } if dup (*) eq { pop (0000) } if (16#) exch concatstrings cvi } loop ] def % Print the code space range(s). /maxcid map length 1 sub def mark maxcid dup 255 and 255 eq { 0 exch } { dup 16#ff00 and exch 0 2 index 1 sub } ifelse counttomark 2 idiv dup =only ( begincodespacerange) = { exch .printhex2 .printhex2 () = } repeat (endcodespacerange) = % Print the map data. 0 1 100 maxcid { /lo exch def /hi lo 99 add maxcid .min def 0 lo 1 hi { map exch get 0 ne { 1 add } if } for dup 0 eq { pop } { =only ( begincidchar) = lo 1 hi { map 1 index get dup 0 eq { pop pop } { exch .printhex2 = } ifelse } for (endcidchar) = } ifelse } for % Wrap up. (endcmap CMapName currentdict /CMap defineresource pop end end) = f closefile end } bind def PK�����[f[hƃ������stc.uppnu�[��������-supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=4 -dupOutputPins=15 -dupWeaveYFeeds="{15 15 15 15}" -dupWeaveInitialYFeeds="{1 1 1 13}" -dupWeaveInitialPins="{ 4 15 11 7}" -dupBlackTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0034 0.0185 0.0377 0.0574 0.0769 0.0952 0.1147 0.1337 0.1540 0.1759 0.1985 0.2209 0.2457 0.2706 0.2949 0.3209 0.3496 0.3820 0.4145 0.4505 0.4907 0.5344 0.5840 0.6445 0.7093 0.8154 0.9816 0.9983 0.9988 0.9994 1.0000 }" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 00 1b2855 0100 0A 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[���� ��viewgif.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % viewgif.ps % Display a GIF file. /read1 % <file> read1 <int> { read pop } bind def /read2 % <file> read2 <int> { dup read1 exch read1 8 bitshift add } bind def /readGIFheader % <file> readGIFheader <dict> { 20 dict begin dup 6 string readstring pop dup (GIF87a) eq exch (GIF89a) eq or not { (Not a GIF file.\n) print cleartomark stop } if dup read2 /Width exch def dup read2 /Height exch def dup read1 dup 128 ge /GlobalColor exch def dup -4 bitshift 7 and 1 add /BitsPerPixel exch def %***BOGUS?*** dup 8 and 0 ne /PaletteSorted exch def 7 and 1 add dup /BitsPerPixel exch def 1 exch bitshift /PaletteSize exch def dup read1 /BackgroundIndex exch def dup read1 15 add 64 div /AspectRatio exch def GlobalColor { PaletteSize 3 mul string readstring pop /GlobalPalette exch def } if currentdict end } bind def /readGIFimageHeader % <file> readGIFimageHeader <dict> % Note: GIF header must be on dict stack { 10 dict begin { dup read1 dup (!) 0 get ne { exit } if pop % extension dup read1 pop { dup read1 dup 0 eq { pop exit } if { dup read1 pop } repeat } loop } loop (,) 0 get ne { (Not a GIF image.\n) print stop } if dup read2 /Left exch def dup read2 /Top exch def dup read2 /Width exch def dup read2 /Height exch def dup read1 dup 128 ge /LocalColor exch def dup 64 and 0 ne /Interlaced exch def LocalColor { 7 and 1 add /BitsPerPixel exch def 1 BitsPerPixel bitshift 3 mul string readstring pop /Palette exch def } { pop pop /Palette GlobalPalette def } ifelse currentdict end } bind def /imageGIF % <imagedict> imageGIF { /ImageOut where { pop % We know BitsPerComponent = 8, Decode = [0 255]. % and there is only a single data source which is % either a filter or a string whose size is exactly % the width of the row. dup /DataSource get dup type /stringtype eq { ImageOut exch writestring } { pop dup /Width get string 1 index /Height get { 1 index /DataSource get 1 index readstring pop ImageOut exch writestring } repeat pop pop } ifelse } { image } ifelse } bind def /viewGIF % <file|string> viewGIF - { save 20 dict begin /saved exch def dup type /stringtype eq { (r) file } if /F exch def /ImageOutFile where { /ImageOut ImageOutFile (w) file def } if F readGIFheader /Header exch def currentdict Header end begin begin VGIFDEBUG { Header { exch == == } forall (----------------\n) print flush } if F readGIFimageHeader /ImageHeader exch def currentdict ImageHeader end begin begin VGIFDEBUG { ImageHeader { exch == == } forall (----------------\n) print flush } if /D F << /InitialCodeLength F read1 /FirstBitLowOrder true /BlockData true /EarlyChange 0 >> /LZWDecode filter def [/Indexed /DeviceRGB 1 BitsPerPixel bitshift 1 sub Palette] setcolorspace matrix currentmatrix 0 1 3 { 2 copy get dup 0 ne { dup abs div } if 3 copy put pop pop } for setmatrix << /ImageType 1 /ImageMatrix [1 0 0 -1 0 Height] /BitsPerComponent 8 /Decode [0 255] Interlaced { /Width Width /Height 1 /row Width string def /DataSource row >> /I exch def /inter % <num> <denom> inter - { /denom exch def /num exch def gsave /lines Height denom 1 sub add num sub denom idiv def 0 1 lines 1 sub { Height exch denom mul num add sub I /ImageMatrix get 5 3 -1 roll put D row readstring pop pop I imageGIF } for grestore } bind def 0 8 inter 4 8 inter 2 4 inter 1 2 inter } { /Width Width /Height Height /DataSource D >> imageGIF } ifelse saved end end end restore } bind def % This lets you do stuff on the command line like: % gs -sDEVICE=pdfwrite -o stuff%03d.pdf viewgif.ps -c "(image.gif) << /PageSize 2 index viewGIFgetsize 2 array astore >> setpagedevice viewGIF" % so the output size is influenced by the original image. /viewGIFgetsize % <file|string> ==> [width height] { save 20 dict begin /saved exch def dup type /stringtype eq { (r) file } if /F exch def F readGIFheader /Header exch def currentdict Header end begin begin VGIFDEBUG { Header { exch == == } forall (----------------\n) print flush } if F readGIFimageHeader /ImageHeader exch def currentdict ImageHeader end begin begin F 0 setfileposition % reset file pointer Width Height saved end end end restore } bind def PK�����[f[|t��t�� ��Stc680p.uppnu�[��������-supModel="Epson Stylus Color 680, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 31.0 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0173 0.0391 0.0719 0.1406 0.2500 }" -dupCyanTransfer="{ 0.0000 0.0169 0.0413 0.0713 0.1500 0.2750 }" -dupMagentaTransfer="{ 0.0000 0.0155 0.0379 0.0654 0.1375 0.2750 }" -dupYellowTransfer="{ 0.0000 0.0141 0.0344 0.0594 0.1500 0.2750 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0000 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[qb7���� ��bj8pp12f.uppnu�[��������-supModel="Canon BJC 8200, (1200DpI)^2, professional photo paper, highest quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r1200x1200 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 04b0 04b0 1b28 63 0300 3009 04 1b28 6c 0200 340d >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[�`S\��\�� ��gs_s_m.xbmnu�[��������#define gs_s_m.xbm_width 24 #define gs_s_m.xbm_height 24 #define gs_s_m.xbm_x_hot 0 #define gs_s_m.xbm_y_hot 0 static unsigned char gs.s_m.bm_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3f, 0x00, 0xfe, 0x3f, 0xe0, 0xff, 0x3f, 0xf0, 0xff, 0x3f, 0xf8, 0xff, 0x7f, 0xfc, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0xfc, 0xff, 0x7f, 0xfc, 0xff, 0x3f, 0xf8, 0xff, 0x3f, 0xf8, 0xff, 0x1f, 0xf0, 0xff, 0x0f, 0xc0, 0xff, 0x07, 0xc0, 0xff, 0x03, 0xf0, 0xff, 0x01, 0x00, 0x00, 0x00}; PK�����[f[祚���� ��cdj550.uppnu�[��������-supModel="HP Deskjet 550c, 300x300DpI, Gamma=2" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Pcl -r300x300 -dupMargins="{ 12.0 36.0 12.0 12.0}" -dupBlackTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 }" -dupBeginPageCommand="< 1b2a726243 1b2a7433303052 1b266c33616f6c45 1b2a6f31643251 1b2a703059 1b2a72732d34753041 1b2a62326d >" -dupAdjustPageWidthCommand -dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" -dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" -dupYMoveCommand="(%dy\0)" -dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" PK�����[f[X���� ��pfbtopfa.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % pfbtopfa.ps % Convert a .pfb font to .pfa format. [ .shellarguments { counttomark 2 eq { /pfa exch def /pfb exch def pop /in1 pfb (r) file def /in in1 true /PFBDecode filter def /out pfa (w) file def { in read not { exit } if out exch write } loop out closefile in closefile in1 closefile quit } { cleartomark (Usage: pfbtopfa input.pfb output.pfa) = flush } ifelse } { pop } ifelse PK�����[f[gl2Q��Q�� ��st640plg.uppnu�[��������-supModel="Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[{���� ��bjc610b6.uppnu�[��������-supModel="Canon BJC 610, 720x720DpI, glossy paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r720x720 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 }" -dupCyanTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupMagentaTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupYellowTransfer="{ 0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 105110 1b28 64 0200 02d0 1b28 6c 0200 1460 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[<S]��]����gs_t.xpmnu�[��������/* XPM */ static char * gs_t_xpm[] = { /* width height ncolors cpp [x_hot y_hot] */ "16 16 6 1 0 0", /* colors */ " s none m none c none", ". s iconColor1 m black c black", "X s iconColor2 m white c white", "o c #808080808080", "O c #C0C0C0C0C0C0", "+ c #00000000FFFF", /* pixels */ " . ", " X. ", " .X.o ", " o......XX.. ", " .......OXXX.. ", " ......XXXXXo.. ", "o....XXX+XX.....", "....XX+X+Xo.....", "....XX+XXXo.....", "....XXXXXXX.....", "o...oXXX++XX....", " ....XXX++XXX..o", " ....oXXXXXXX.. ", " .....XXXXX.. ", " ...XXXoo ", " o...XXXXXXX "}; PK�����[f[X���� ��bjc610a3.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, transparency film, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 102110 1b28 64 0200 0168 1b28 6c 0200 1420 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[.!���� ��bjc610a4.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, back print film, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupYFlip -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 103110 1b28 64 0200 0168 1b28 6c 0200 1430 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[`���� ��stcany_h.uppnu�[��������-supModel="Any Epson Stylus Color, 720x720DpI" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupComponentBits="{1 1 1 1}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 05 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[SD������bj8.rpdnu�[�������� StartEntry: U_CanonBJC8200 GSDriver: uniprint Description: {Canon BJC-8200 (UP)} About: { \ Canon BJC-8200 uniprint driver settings.\ } Resolution: {NA} {NA} {} BitsPerPixel: {bj8pp12f} {1200x1200DpI, photo paper pro, color, rendered} BitsPerPixel: {bj8hg12f} {1200x1200DpI, high gloss photo film, color, rendered} BitsPerPixel: {bj8gc12f} {1200x1200DpI, glossy photo cards, color, rendered} BitsPerPixel: {bj8oh06n} {600x600DpI, transparencies, color, rendered} BitsPerPixel: {bj8ts06n} {600x600DpI, t-shirt transfer, color, rendered} BitsPerPixel: {bj8pa06n} {600x600DpI, plain paper, color, rendered} EndEntry # PK�����[f[J/���� ��viewcmyk.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % viewcmyk.ps % Display a raw CMYK file. % Requires the colorimage operator. % If SCALE is defined, maps input pixels to output pixels with that scale; % if SCALE is undefined, scales the image to fit the page. % If BITS is defined, it is the number of bits per sample (1,2,4,8,12); % if BITS is undefined, its default value is 1. /viewcmyk { % <filename> <width> viewcmyk - 20 dict begin /w exch def /fname exch def /bpc /BITS where { pop BITS } { 1 } ifelse def /f fname (r) file def mark fname status pop pop pop /flen exch def cleartomark /h flen w bpc 4 mul mul 7 add 8 idiv idiv def (Dimensions: ) print [w h] == flush % Set up scaling. /SCALE where { pop % Map pixels SCALE-for-1. Assume orthogonal transformation. SCALE 1 0 dtransform add abs div SCALE 0 1 dtransform add abs div } { % Scale the image (uniformly) to fit the page. clippath pathbbox pop pop translate pathbbox 3 -1 roll sub h div 3 1 roll exch sub w div .min dup } ifelse scale w h bpc [1 0 0 -1 0 h] f false 4 colorimage showpage f closefile end } bind def % If the program was invoked from the command line, run it now. [ .shellarguments { counttomark 2 eq { cvi viewcmyk } { cleartomark (Usage: gs -- viewcmyk.ps filename.cmyk width\n) print ( e.g.: gs -- viewcmyk.ps my.cmyk 2550\n) print flush } ifelse } { pop } ifelse PK�����[f[W���� ��bj8ts06n.uppnu�[��������-supModel="Canon BJC 8200, (600DpI)^2, t-shirt transfer, normal quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r600x600 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 0258 0258 1b28 63 0300 3003 03 1b28 6c 0200 3403 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[=J���� ��stcany.uppnu�[��������-supModel="Any Epson Stylus Color, 360x360DpI" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupComponentBits="{1 1 1 1}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 0A 1b5500 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[Da}R��R����gs_s.xbmnu�[��������#define gs_s.xbm_width 24 #define gs_s.xbm_height 24 #define gs_s.xbm_x_hot 0 #define gs_s.xbm_y_hot 0 static unsigned char gs.s.bm_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x80, 0x08, 0x00, 0x00, 0x13, 0x00, 0x00, 0x33, 0x00, 0xfe, 0x31, 0xe0, 0xff, 0x38, 0xf0, 0x3f, 0x38, 0xf8, 0x07, 0x7e, 0xfc, 0x01, 0x7f, 0xfe, 0x90, 0x7f, 0x7e, 0x94, 0x7f, 0x7e, 0x84, 0x7f, 0x7e, 0x00, 0x7f, 0x7e, 0x00, 0x7e, 0xfc, 0x60, 0x7c, 0xfc, 0x61, 0x38, 0xf8, 0x03, 0x38, 0xf8, 0x03, 0x18, 0xf0, 0x07, 0x0c, 0xc0, 0x0f, 0x06, 0xc0, 0x07, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00}; PK�����[f[zV��V�� ��st640pl.uppnu�[��������-supModel="Epson Stylus Color 640, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ƒ^���� ��caption.psnu�[��������%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Add a "caption" to the bottom of each page. /captionsize 20 def /caption { /Helvetica //captionsize selectfont (Printed by Artifex's XXYYZZ) show /Symbol //captionsize selectfont (\324) show % trademarkserif /Helvetica //captionsize selectfont ( product) show } bind def 10 dict begin gsave initgraphics clippath pathbbox pop exch 36 add /by exch def % We can't use stringwidth, so we have to show and measure. gsave 0 0 0 0 rectclip 0 0 moveto caption currentpoint pop /bw exch def grestore add bw sub 2 div /bx exch def % We don't have the font bbox available, so we guess. /bh captionsize 1.05 mul def grestore /showcaption { gsave initgraphics //bx 9 sub //by 9 sub //bw 18 add //bh 18 add 1 setgray 4 copy rectfill 0 setgray 1.5 setlinewidth rectstroke //bx //by moveto //caption exec grestore } bind def << /EndPage [ %% %% Only print the caption if 'reason' is not 2 (device deactivation) %% /dup load /exec load 2 /ne load /exec load [ /showcaption load /exec load ] cvx /if load /exec load currentpagedevice /EndPage get /exec load ] cvx >> setpagedevice end PK�����[f[ ���� ��s400a1.uppnu�[��������-supModel="Canon S400, 360x360DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.0 0.0 0.0 5.00 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0 0.0123 0.0246 0.0371 0.0498 0.0626 0.0757 0.0892 0.1031 0.1177 0.1331 0.1496 0.1676 0.1875 0.2099 0.2354 0.2648 0.2989 0.3384 0.3840 0.4358 0.4934 0.5558 0.6213 0.6876 0.7523 0.8133 0.8691 0.9188 0.9623 0.9999 1 }" -dupCyanTransfer="{ 0 0.0123 0.0246 0.0371 0.0498 0.0626 0.0757 0.0892 0.1031 0.1177 0.1331 0.1496 0.1676 0.1875 0.2099 0.2354 0.2648 0.2989 0.3384 0.3840 0.4358 0.4934 0.5558 0.6213 0.6876 0.7523 0.8133 0.8691 0.9188 0.9623 0.9999 1 }" -dupMagentaTransfer="{ 0 0.0123 0.0246 0.0371 0.0498 0.0626 0.0757 0.0892 0.1031 0.1177 0.1331 0.1496 0.1676 0.1875 0.2099 0.2354 0.2648 0.2989 0.3384 0.3840 0.4358 0.4934 0.5558 0.6213 0.6876 0.7523 0.8133 0.8691 0.9188 0.9623 0.9999 1 }" -dupYellowTransfer="{ 0 0.0123 0.0246 0.0371 0.0498 0.0626 0.0757 0.0892 0.1031 0.1177 0.1331 0.1496 0.1676 0.1875 0.2099 0.2354 0.2648 0.2989 0.3384 0.3840 0.4358 0.4934 0.5558 0.6213 0.6876 0.7523 0.8133 0.8691 0.9188 0.9623 0.9999 1 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 100110 1b28 64 0200 0168 1b28 6c 0200 1400 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[!|���� ��bj8oh06n.uppnu�[��������-supModel="Canon BJC 8200, (600DpI)^2, OHP, normal quality" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/Canon -r600x600 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b 4b 0200 000f 1b28 62 0100 01 1b28 71 0100 01 1b28 64 0400 0258 0258 1b28 63 0300 3002 03 1b28 6c 0200 3402 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[ǂ���� ��bjc610a1.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, plain paper, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 100110 1b28 64 0200 0168 1b28 6c 0200 1400 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f["���� ��bjc610a5.uppnu�[��������-supModel="Canon BJC 610, 360x360DpI, fabric sheet, color, rendered" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/Canon -r360x360 -dupMargins="{ 8.23 20.44 11.05 7.9 }" -dupOutputComponentOrder="{ 3 2 1 0 }" -dupBlackTransfer="{ 0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupMagentaTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupYellowTransfer="{ 0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 }" -dupBeginPageCommand="< 1b5b4b 0200 000f 1b28 62 0100 01 1b28 63 0300 104110 1b28 64 0200 0168 1b28 6c 0200 1850 1b28 67 0100 E5 >" -dupEndJobCommand="(\033\050b\001\000\000\033@)" -dupEndPageCommand="(\014)" PK�����[f[ߗJ��J����docie.psnu�[��������% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % docie.ps % Emulate CIE algorithms in PostScript. % ---------------- Auxiliary procedures ---------------- % /r1default [0 1] def /r3default [0 1 0 1 0 1] def /apply3 % <u> <v> <w> [<pu> <pv> <pw>] apply3 <u'> <v'> <w'> { { 4 -1 roll exch exec } forall } bind def /restrict % <u> <min> <max> restrict <u'> { 3 1 roll .max .min } bind def /restrict3 % <u> <v> <w> [<minu> ... <maxw>] restrict3 <u'> <v'> <w'> { aload pop 7 -1 roll 3 1 roll restrict 7 1 roll 5 -1 roll 3 1 roll restrict 5 1 roll restrict 3 1 roll } bind def /rescale % <u> <min> <max> rescale <u'> { 1 index sub 3 1 roll sub exch div 0 .max 1 .min } bind def /rescale3 % <u> <v> <w> [<minu> ... <maxw>] rescale3 <u'> <v'> <w'> { aload pop 7 -1 roll 3 1 roll rescale 7 1 roll 5 -1 roll 3 1 roll rescale 5 1 roll rescale 3 1 roll } bind def /mmult3 % <u> <v> <w> [<uu> <uv> ... <wv> <ww>] mmult3 % <u'> <v'> <w'> { 4 -1 roll dup dup 6 -1 roll dup dup 8 -1 roll dup dup 10 -1 roll { 10 -1 roll mul } forall % Stack: u1 v1 w1 u2 v2 w2 u3 v3 w3 4 -1 roll add 6 -1 roll add % Stack: u1 v1 u2 v2 u3 v3 w' 7 1 roll 3 -1 roll add 4 -1 roll add % Stack: w' u1 u2 u3 v' 5 1 roll add add 3 1 roll } bind def /minvert3 % [<uu> <uv> ... <wv> <ww>] minvert3 % [<uu'> <uv'> ... <wv'> <ww'>] { 16 dict begin aload pop { I H G F E D C B A } { exch def } forall /coa E I mul F H mul sub def /cob F G mul D I mul sub def /coc D H mul E G mul sub def /det A coa mul B cob mul add C coc mul add def [ coa det div C H mul B I mul sub det div B F mul C E mul sub det div cob det div A I mul C G mul sub det div C D mul A F mul sub det div coc det div B G mul A H mul sub det div A E mul B D mul sub det div ] end } bind def /print1 { print dup == } bind def /print3 { print 3 array astore dup == aload pop } bind def % ---------------- Mapping to XYZ ---------------- % /csmap % <csdict> <l> <m> <n> csmap <csdict> <x> <y> <z> { 3 index /RangeLMN .knownget not { r3default } if restrict3 DOCIEDEBUG { (After RangeLMN Decode: ) print3 } if 3 index /DecodeLMN .knownget { apply3 } if DOCIEDEBUG { (After DecodeLMN Decode: ) print3 } if 3 index /MatrixLMN .knownget { mmult3 } if DOCIEDEBUG { (After MatrixLMN Decode: ) print3 } if } bind def /csciea % <csdict> <a> csciea <csdict> <x> <y> <z> { 1 index /RangeA .knownget not { r1default aload pop } if restrict DOCIEDEBUG { (After RangeA Decode: ) print1 } if 1 index /DecodeA .knownget { exec } if DOCIEDEBUG { (After DecodeA Decode: ) print1 } if 1 index /MatrixA .knownget { { 1 index mul exch } forall pop } { dup dup } ifelse DOCIEDEBUG { (After MatrixA Decode: ) print3 } if csmap } bind def /cscieabc % <csdict> <a> <b> <c> cscieabc <csdict> <x> <y> <z> { 3 index /RangeABC .knownget not { r3default } if restrict3 DOCIEDEBUG { (After RangeABC Decode: ) print3 } if 3 index /DecodeABC .knownget { apply3 } if DOCIEDEBUG { (After DecodeABC Decode: ) print3 } if 3 index /MatrixABC .knownget { mmult3 } if DOCIEDEBUG { (After MatrixABC Decode: ) print3 } if csmap } bind def % ---------------- Rendering from XYZ ---------------- % /lookup3 % <rtable> <a[0..1]> <b[0..1]> <c[0..1]> lookup3 % <rtable> <bytes> { 3 -1 roll 3 index 0 get 1 sub mul 3 -1 roll 3 index 1 get 1 sub mul 3 -1 roll 3 index 2 get 1 sub mul % Stack: rtable ia ib ic DOCIEDEBUG { (RenderTable indices: ) print3 mark 5 1 roll } if 3 -1 roll round cvi 3 index 3 get exch get % Stack: rtable ib ic string 3 -1 roll round cvi 3 index 2 get mul % Stack: rtable ic string ib*nc 3 -1 roll round cvi add 2 index 4 get mul % Stack: rtable string index 2 index 4 get getinterval % Stack: rtable bytes DOCIEDEBUG { (RenderTable values: ) print (<) print (%stdout) (w) file 1 index writehexstring (>) = } if } bind def /bpdefault [0 0 0] def /crmap % <csdict> <crdict> <x> <y> <z> crmap <v1> ... { DOCIEDEBUG { (CIE XYZ = ) print3 } if 3 index /MatrixPQR .knownget { mmult3 } if DOCIEDEBUG { (After MatrixPQR: ) print3 } if 4 index /WhitePoint get 5 index /BlackPoint .knownget not { bpdefault } if 5 index /WhitePoint get 6 index /BlackPoint .knownget not { bpdefault } if 4 { 4 -1 roll aload pop % Stack: csdict crdict x y z pt pt pt px py pz 3 copy 12 index /MatrixPQR .knownget { mmult3 } if 6 array astore } repeat % Stack: csdict crdict x y z wps+ bps+ wpd+ bpd+ 9 -1 roll pop % get rid of csdict 7 4 roll 7 index /TransformPQR get { % Stack: crdict wps+ bps+ wpd+ bpd+ u v w proc 8 copy exch pop exch pop exec exch pop 4 -1 roll pop } forall 7 3 roll pop pop pop pop % get rid of White/BlackPoints DOCIEDEBUG { (After TransformPQR: ) print3 } if 3 index /MatrixPQR .knownget { minvert3 mmult3 } if DOCIEDEBUG { (After MatrixPQR': ) print3 } if 3 index /MatrixLMN .knownget { mmult3 } if DOCIEDEBUG { (After MatrixLMN Encode: ) print3 } if 3 index /EncodeLMN .knownget { apply3 } if DOCIEDEBUG { (After EncodeLMN Encode: ) print3 } if 3 index /RangeLMN .knownget not { r3default } if restrict3 DOCIEDEBUG { (After RangeLMN Encode: ) print3 } if 3 index /MatrixABC .knownget { mmult3 } if DOCIEDEBUG { (After MatrixABC Encode: ) print3 } if 3 index /EncodeABC .knownget { apply3 } if DOCIEDEBUG { (After EncodeABC Encode: ) print3 } if 3 index /RangeABC .knownget not { r3default } if 5 -1 roll /RenderTable .knownget { % Stack: u v w ranges rtable 5 1 roll rescale3 DOCIEDEBUG { (Rescaled ABC: ) print3 } if % Stack: rtable a b c lookup3 % Stack: rtable bytes 0 1 3 index 4 get 1 sub { % Stack: values rtable bytes c 2 copy get 255 div % Stack: values rtable bytes c v 3 index 3 -1 roll 5 add get exec 3 1 roll } for pop pop DOCIEDEBUG { (After RenderTableT: ) print ] dup == aload pop } if } { restrict3 DOCIEDEBUG { (After RangeABC Encode: ) print3 } if } ifelse } bind def % ---------------- Top level control ---------------- % /mapdict mark /CIEBasedA { 1 get exch csciea currentcolorrendering 4 1 roll crmap } bind /DeviceGray { pop /DefaultGray /ColorSpace findresource 1 get exch csciea currentcolorrendering 4 1 roll crmap } bind /CIEBasedABC { 1 get 4 1 roll cscieabc currentcolorrendering 4 1 roll crmap } bind /DeviceRGB { pop /DefaultRGB /ColorSpace findresource 1 get 4 1 roll cscieabc currentcolorrendering 4 1 roll crmap } bind .dicttomark def /mapcie % <a> mapcie <v1> ... % <a> <b> <c> mapcie <v1> ... { currentcolorspace dup 0 get //mapdict exch get exec } bind def PK�����[f[l(A������ ��ras8m.uppnu�[��������-supModel="SUN rasterfile, 8 Bit, 2 Colors (Error-Diffusion)" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/SunRaster -dupComponentBits={8} PK�����[f[;MG��G�� ��stc640p.uppnu�[��������-supModel="Epson Stylus Color 640, 720x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceCMYK -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0 0.04 0.08 0.16 0.20 0.35}" -dupCyanTransfer="{ 0.0 0.06 0.12 0.18 0.24 0.45}" -dupMagentaTransfer="{ 0.0 0.05 0.10 0.15 0.20 0.42}" -dupYellowTransfer="{ 0.0 0.04 0.08 0.16 0.20 0.37}" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�����[f[ u��u�� ��st640pg.uppnu�[��������-supModel="Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -P- -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 24.0 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 00 00 00 1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 0a 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" PK�������9e[S-8��8������������������index.plnu�[��������PK�������9e[IGz3��3�� ������������p��reseller.plnu�[��������PK�������[f[O^��^�� ������������/��escp_24.srcnu�[��������PK�������[f[Յ/L���� ������������w1��gs_lgx_e.psnu�[��������PK�������[f[L7짾 �� �� ������������8��gs_wl2_e.psnu�[��������PK�������[f[U����������������B��gs_s.xpmnu�[��������PK�������[f[���� ������������F��gs_l_m.xbmnu�[��������PK�������[f[Rsv��v�� ������������cN��PM820p.uppnu�[��������PK�������[f[ 2if��f�� ������������S��traceimg.psnu�[��������PK�������[f[C 6���� ������������X��bj8pa06n.uppnu�[��������PK�������[f[ �� ��������������^��gs_l.xpmnu�[��������PK�������[f[{B���� ������������i��sharp.uppnu�[��������PK�������[f[S4���� ������������q��bjc610a7.uppnu�[��������PK�������[f[d��d�� ������������w��Stc670pl.uppnu�[��������PK�������[f[<���� ������������q|��sipixa6.uppnu�[��������PK�������[f[���� ������������~��jispaper.psnu�[��������PK�������[f[,���� ��������������stc2s_h.uppnu�[��������PK�������[f[4n ���� ������������#��stc600p.uppnu�[��������PK�������[f[Y��Y��������������ݏ��gs_t.xbmnu�[��������PK�������[f[uK/ �� �� ������������n��gs_wl5_e.psnu�[��������PK�������[f[|~���� ������������y��bjc610a6.uppnu�[��������PK�������[f[/̔L���� ��������������bjc610b7.uppnu�[��������PK�������[f[=1W��1W�� ������������ϧ��mkcidfm.psnu�[��������PK�������[f[/t��t�� ������������:��Stc777p.uppnu�[��������PK�������[f[u"W��"W���������������ps2ai.psnu�[��������PK�������[f[{#���� ������������C[�dmp_site.psnu�[��������PK�������[f[2_KPl��l��������������I]�align.psnu�[��������PK�������[f[Pz��z�� ������������e�st640p.uppnu�[��������PK�������[f[L����� ������������m�bj8gc12f.uppnu�[��������PK�������[f[a �� �� ������������s�stocht.psnu�[��������PK�������[f[ ([��[�� ������������}�Stp720pl.uppnu�[��������PK�������[f[|b[��[�� ������������g�stc600pl.uppnu�[��������PK�������[f[h�����������������gs_l.xbmnu�[��������PK�������[f[O2����������������ώ�lines.psnu�[��������PK�������[f[_M���� �������������bjc610b3.uppnu�[��������PK�������[f[n2���� ������������ͣ�viewmiff.psnu�[��������PK�������[f[]bP��P���������������gslp.psnu�[��������PK�������[f[@OZ�Z� �������������image-qa.psnu�[��������PK�������[f[};���� ������������i#�PM760p.uppnu�[��������PK�������[f[q|��|�� ������������+(�bjc6000b1.uppnu�[��������PK�������[f[7U ���� ������������.�bjc610b8.uppnu�[��������PK�������[f[ �� �� ������������5�dnj750c.uppnu�[��������PK�������[f[&7q;��;�� ������������I@�pf2afm.psnu�[��������PK�������[f[NX%���� ������������A|�gs_ce_e.psnu�[��������PK�������[f[gU8��8�� ������������&�stc200_h.uppnu�[��������PK�������[f[ eK��K�� �������������stc740ih.uppnu�[��������PK�������[f[U������ ������������!�ras32.uppnu�[��������PK�������[f[S ����� �������������Stc670p.uppnu�[��������PK�������[f[U���� �������������cdj690.uppnu�[��������PK�������[f[]b��b�� �������������uninfo.psnu�[��������PK�������[f['<y��y�� �������������stc_h.uppnu�[��������PK�������[f[3:-��-�� ������������6�necp2x6.uppnu�[��������PK�������[f[r%>o��o�� �������������stc500p.uppnu�[��������PK�������[f[Ĵy���� ������������H�necp2x.uppnu�[��������PK�������[f[s ���� �������������Stc740p.uppnu�[��������PK�������[f[OH��H�� �������������font2pcl.psnu�[��������PK�������[f[J#���� ������������#�stc_l.uppnu�[��������PK�������[f[e?���� ������������:"�bjc610a0.uppnu�[��������PK�������[f[»���� ������������m(�bjc610b2.uppnu�[��������PK�������[f[|;&"��"�� ������������.�printafm.psnu�[��������PK�������[f[p|��|�� ������������A�bjc6000a1.uppnu�[��������PK�������[f[bH1Y���� ������������H�st640ihg.uppnu�[��������PK�������[f["[��[�� ������������N�Stp870pl.uppnu�[��������PK�������[f[;c��c�� ������������cS�gs_t_m.xbmnu�[��������PK�������[f[`[��[�� �������������U�stc800p.uppnu�[��������PK�������[f[hA���� ������������Y�acctest.psnu�[��������PK�������[f[ vZj��j�� ������������}j�stc1520h.uppnu�[��������PK�������[f[������������������#s�ras3.uppnu�[��������PK�������[f[`į4������������������1t�ras4.uppnu�[��������PK�������[f[8,���� ������������Eu�stcolor.psnu�[��������PK�������[f[!���� ������������H�pdf2dsc.psnu�[��������PK�������[f[)�����������������ppath.psnu�[��������PK�������[f[Pf"���� ������������T�bjc610a2.uppnu�[��������PK�������[f[C��C�� ������������}�s400b1.uppnu�[��������PK�������[f[ �� �� �������������traceop.psnu�[��������PK�������[f[Yj���� ������������@�PDFX_def.psnu�[��������PK�������[f["���� �������������PDFA_def.psnu�[��������PK�������[f[nN[��[�� �������������Stc760pl.uppnu�[��������PK�������[f[f ������ ������������]�ras24.uppnu�[��������PK�������[f[\e �� �� ������������q�gs_wl1_e.psnu�[��������PK�������[f[V �� �� ������������k�zeroline.psnu�[��������PK�������[f[^v/{�/{� �������������ht_ccsto.psnu�[��������PK�������[f[JPN��N�� ������������h�dmp_init.psnu�[��������PK�������[f[=}p��p���������������stc2.uppnu�[��������PK�������[f[d��d�� ������������N�PM760pl.uppnu�[��������PK�������[f[ݶ~p��p�� �������������viewpcx.psnu�[��������PK�������[f[~���� �������������winmaps.psnu�[��������PK�������[f[-d���� �������������landscap.psnu�[��������PK�������[f[~EX���� ������������ݹ�bj8hg12f.uppnu�[��������PK�������[f[6Ab=��=�� �������������stc300bl.uppnu�[��������PK�������[f[&+��+�� �������������cbjc600.ppdnu�[��������PK�������[f[<s ���� ������������T�bjc610b4.uppnu�[��������PK�������[f[P}܄[��[�� �������������Stc777pl.uppnu�[��������PK�������[f[ \!��\!�� ������������!�ps2epsi.psnu�[��������PK�������[f['P���� ������������ �dnj750m.uppnu�[��������PK�������[f[{W��W�� ������������% �stc2_h.uppnu�[��������PK�������[f[%>����������������:- �gs_m.xbmnu�[��������PK�������[f[_����������������#1 �pphs.psnu�[��������PK�������[f[Q7Y���� ������������L �gs_kanji.psnu�[��������PK�������[f[F]��]�� ������������[ �PM820pl.uppnu�[��������PK�������[f[lt��t�� ������������` �Stp870p.uppnu�[��������PK�������[f[bd[��[�� ������������?e �Stc740pl.uppnu�[��������PK�������[f[ -��-�� ������������i �prfont.psnu�[��������PK�������[f[@&���� ������������< �bjc610a8.uppnu�[��������PK�������[f[XYDp��p�� ������������n �viewps2a.psnu�[��������PK�������[f[/;��;�� ������������ �viewjpeg.psnu�[��������PK�������[f[ns0G ��G �� ������������ �gs_il2_e.psnu�[��������PK�������[f[/I ��I �� ������������ �gs_ksb_e.psnu�[��������PK�������[f[<׏���� ������������ �bjc610b1.uppnu�[��������PK�������[f[β0��0�� ������������ �rollconv.psnu�[��������PK�������[f[ĵ: �� �� ������������ �cdj690ec.uppnu�[��������PK�������[f[U)����������������. �gs_m.xpmnu�[��������PK�������[f[GК[��[�� ������������ �Stc680pl.uppnu�[��������PK�������[f[iL������������������ �ras1.uppnu�[��������PK�������[f[ذ���� ������������ �st640ih.uppnu�[��������PK�������[f[ ���� ������������ �gs_m_m.xbmnu�[��������PK�������[f[W*(��*(�� ������������ �viewpbm.psnu�[��������PK�������[f[u��u�� ������������&? �Stc760p.uppnu�[��������PK�������[f[B ,��,�� ������������C �cbjc800.ppdnu�[��������PK�������[f[Ko��o�� ������������p �stc500ph.uppnu�[��������PK�������[f[���� ������������x �stc600ih.uppnu�[��������PK�������[f[ܧ���� ������������ā �stc300bm.uppnu�[��������PK�������[f[J ��J �������������� �gsnup.psnu�[��������PK�������[f[|���� ������������ �Stp720p.uppnu�[��������PK�������[f[ I��I�� ������������ٖ �stc800pl.uppnu�[��������PK�������[f[/0+d��+d�� ������������^ �ghostpdf.ppdnu�[��������PK�������[f[ZX��X�� ������������ �stc300.uppnu�[��������PK�������[f[ՠn��n�� ������������W �stc800ih.uppnu�[��������PK�������[f[s �� �� ������������ �gs_lgo_e.psnu�[��������PK�������[f[sc��c�� ������������ �stcinfo.psnu�[��������PK�������[f[u���� ������������ �cid2code.psnu�[��������PK�������[f[hƃ���������������� �stc.uppnu�[��������PK�������[f[���� ������������Q �viewgif.psnu�[��������PK�������[f[|t��t�� ������������ �Stc680p.uppnu�[��������PK�������[f[qb7���� ������������M �bj8pp12f.uppnu�[��������PK�������[f[�`S\��\�� ������������ �gs_s_m.xbmnu�[��������PK�������[f[祚���� ������������% �cdj550.uppnu�[��������PK�������[f[X���� ������������ �pfbtopfa.psnu�[��������PK�������[f[gl2Q��Q�� ������������ �st640plg.uppnu�[��������PK�������[f[{���� ������������ �bjc610b6.uppnu�[��������PK�������[f[<S]��]�������������� �gs_t.xpmnu�[��������PK�������[f[X���� ������������c �bjc610a3.uppnu�[��������PK�������[f[.!���� ������������ �bjc610a4.uppnu�[��������PK�������[f[`���� ������������ �stcany_h.uppnu�[��������PK�������[f[SD���������������� �bj8.rpdnu�[��������PK�������[f[J/���� ������������b �viewcmyk.psnu�[��������PK�������[f[W���� ������������] �bj8ts06n.uppnu�[��������PK�������[f[=J���� ������������ �stcany.uppnu�[��������PK�������[f[Da}R��R��������������n �gs_s.xbmnu�[��������PK�������[f[zV��V�� ������������ �st640pl.uppnu�[��������PK�������[f[ƒ^���� ������������ �caption.psnu�[��������PK�������[f[ ���� ������������ �s400a1.uppnu�[��������PK�������[f[!|���� ������������ �bj8oh06n.uppnu�[��������PK�������[f[ǂ���� ������������ �bjc610a1.uppnu�[��������PK�������[f["���� ������������ �bjc610a5.uppnu�[��������PK�������[f[ߗJ��J��������������! �docie.psnu�[��������PK�������[f[l(A������ ������������> �ras8m.uppnu�[��������PK�������[f[;MG��G�� ������������? �stc640p.uppnu�[��������PK�������[f[ u��u�� ������������D �st640pg.uppnu�[��������PK������L.��H ���