earleh@dartvax.UUCP (Earle R. Horton) (10/05/87)
[Serial Printing DA] [Moderator's Note: The source to this desk accessory has been posted to comp.sources.mac.] SerialPrint is a desk accessory written for the purpose of printing text-only files from the Macintosh to printers for which no printer driver currently exists. It's also useful if the printer driver exists and you don't want to pay for it. The desk accessory has a large number of settings, and therefore has the capability of printing with many different brands of printer. I have tested it with the Tandy DMP-110 printer and with the Silver-Reed EX44 with I/F40 Serial Interface. There are enough settings so that a clever person might even be able to configure it to work with the ImageWriter in draft mode! The desk accessory supports CTS flow control when used with 64k ROMs, and both CTS and XOn/XOff flow control when used with 128k ROMs or newer. Baud rates from 300 to 19200 may be used, although you must understand not all combinations of baud rate/flow control have been tested. If you have 128k or newer ROMs, you may set SerialPrint to close the serial driver when you quit. You do not need the ImageWriter driver on your disk when using SerialPrint. A page setup option allows setting of length and width of a page, left margins, and tabstops. All dimensions are in character width/height. If tabstops are set to zero, then tabs are sent raw. Files to be printed should have a carriage return at the end of every line, since text is not wrapped at word boundaries when printed. For best results, there should be no lines in the file longer than the width setting. Bugs may be seen if lines are too long and there are too many tabs (lines are truncated). A future revision will probably include the ability to wrap text in a reasonable manner, and also a "raw" mode. Either sheet feed or continuous feed may be used. The printer settings dialog box includes editable items for setting five control strings. These are: Your printer's line feed string, usually ^M or ^M^J Desired string for top of page, perhaps 5 linefeeds Initialize printer Bottom of page string, often ^L End of file string, perhaps ^L, perhaps a null string A control character is denoted by a caret (^) followed by an alphabetic character. All other characters are taken literally. There is no provision for including a caret in any of these strings, (although there is probably a printer somewhere which uses the caret for some control sequence.) The default printer control strings in this copy of SerialPrint are appropriate for the Tandy DMP-110 dot matrix printer. You will probably want to change "^M" to "^M^J" everywhere if you have a different type of printer. Also, "^[^W" is probably not an appropriate initialization sequence for your printer. Keep in mind that the control strings can be longer than what will fit in the boxes provided to edit them. These strings are edited in the normal manner of editText items in a dialog box. If you want printing to be continuous, then delete the text in the top of page, bottom of page, and end of file items. If you want to print a file double-spaced, put two linefeed strings in place of one, and reduce the number of lines per page by a factor of 1/2. Perhaps the worst part of making a non-Apple printer work with the Macintosh is getting a cable to connect the two. The parts to connect my Mac (a 512KE) to my Tandy cost me $1.38 a year ago. A ready-made cable will probably cost $20 or more. Do not get ripped off when obtaining this item. If the proper cable cannot be found ready-made, then obtain pinout diagrams of your Mac and printer; take them to an electronics technician you trust. Only three wires need be connected when using CTS. XOn/XOff may require more than three, depending upon printer type. The exact number of wires and which pins are to be connected will be found from careful study of your printer manual and the Macintosh pinout diagrams. If you change the settings, they are not saved unless you choose the menu item for saving settings. This is because the settings are saved in the system resource file, and you might not want to rewrite the system file resource map every time you change a setting to fit a particular document. I recommend you determine the most general settings which will work with your printer by experimentation, then save these once. You can always change margins, page length, and so forth temporarily when printing different types of documents. A future revision will include the ability to save settings in a separate file, and also to select from several settings files. This desk accessory was written by me, using Lightspeed C and RMaker. This revision is free. -- ********************************************************************* *Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755 * ********************************************************************* --- (This file must be converted with BinHex 4.0) :"P0PFQPKE!"%4NP-4%e29J#3#$(H5N8!N!3"!*!$,l!!!#k`!!!#,J%!N!ISB3* '8!#3!a8!N!A)!9`!!3#3"3C6CA*TB@aK!J#3!d4'58a%68p@!*!+!EJ!!%4'58a %68p@!*!BR8j*GJ#3"M(H!*!%1`2h!&!%333&4@TPBh3!N!Bl"&)!8!5F"!*25`# 3"4d%*J!Y"35)(84[)(P[G5"hB@jd)(4[)'PZDA4TB@aTHQ8JDA3r!*!'(33T!#d %ma!)9@jdDA4XC@3!N!8("#B!&`8%L"K8D'Pc)'4TFfXJDA-JG@i!!"Yb"!#3!`& U!*!$9J"`!))!P!#Q$!"6CA*TB@a3FQPZG!#3%f!!#R"1qJ&@6[S"CNlk!AC1qJ' 16[S"`%lk!Ga1qJ(k6[S#&Nkk!(*1ZJ$36VS""(!!6VS!FQX!!4"1qJ#i6VS!@%k k!1j`!8kk!&a1qJ"X6VS!4Nkk!0a`!Nkk!%T1qJ"D6VS!0%kk!-T`!dkk!$K1qJ" )6VS!)Nkk!,K`"%kk!#B-32rSC`!!-Ja!!!&Q!!#iF!"1qJ"H)"p)j`!i*%JQ55" !6Y!r!#m,,`T1Z[p56qm!#M9!!""1G3a!!!&R&JJU!!%!"QB3)%SL5dcI(!![1!M m6R9`!#m!)%ZP+#*E#"X!"QB-S#S)%`!'C`3J5D!U)"p-ha`!6R9+U`!8CM!J2!! !J!#J3$!V!"K'31Y)!%$!!&$i#PjCMbmm4%&836m!UD!J(bG!!"4R"#m!UC*1G5! V!"4R$L"!+&#J+8ja6R&1F8ja6R8r!#!V!"4R#%+V!"3J3+!M-"pJQ#"I-KJd'," B9mRrqNT#Crj1m#$m)&mb'$3BX*KAbIrk5N*RrNl`)2SJAc)B0"L`3Qi+N!""E3E 33%(`!!)`%'Iq6[!!!#![!!3[33!%)Lm!##pI!!4)jc`!*!!Q!8K#a--S!#S"5%A )aG4%5%+3!m$"d)*-h`!m)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!R%cI!)` L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ"m)!&-h`#-)Kp1G5![!!3[33!%)Lm !##pI!!4)jc%!6VS!,%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ!-)!& -h`#-)Kp1G8U!DKa+J@S-4)"%J8kk!#"%J8je4)"1ZJ!@4)"%J8je5S&U#N5"6VS !"N5!6R8Z2!!!rrqbJ'-')J"`!%jeX)GL$)$"5%!b!%*!5%"1GE+(BKSZ!%*!5%# !`8K!5%Fq!%K(MX%`"dK(-JG1G53!*J(LL1+*XSGLq)$"`)Fb!m,!,J0)4ml!5%I 5Kf8)NS*L"%5"6R963'$N!*!%)'m!#$mm!!'TlL"[!!3JJ%lk!"!JE`!%)#m!#$m m!!#TlL"I8%p1d#"[!!K`'%*R8FMrr#p)!"*#,`!E)%qJ!$)[!"MHr!!b)'m!"$# "2d!!$#"I8%p1d$![!!5Hr!!H2d!!'#"2S!(Hr!!H2d!!"L"I9%p1d%j@rmj"l[r 1-@i!#!!B-A`!!3!DS!8YD!!F!!T1AL"I9%p1d%j@rmj"l[r1-@i!$J!B-@i!$!! D5Ui!#'F33qJ!(#"Z!!K`&U!Z3HlrcU!%28!!%%jH)Pp3Mdl46PErcN(ZrmiaEJ! 1!"JaEJ!-!"UJ"6e!!"""l[rU)Qi!#(!@S#j1AL*I8)p1d8j@rq""l[rJ-@i!#!! BS!Bp3!!+6PiLAe526Y'J,%lk!G!LAb"IS&G1qJ(%)PmJ6k!Ch[`!$Nlk!EBLAb" IS#e1qJ'X5MJ#MQSU)(J"-%2i!43J#*!!NA3-X)*P&L*4)FJ"&#+!3K%LH!+U)SJ JJY'T!!a1GD"M6R@J0Nlk!A5K'Lp)!!41qJ&U)PmJAk!E6[S"ALpi!UB!"%lk!9` [H!+U!!41qJ&5)PmJ(k%L,SK1qJ%q)PmJAk!M6[S"0#*I)&qJ*5k!DJC#Pdlk!54 1qJ%H)PmJ(b"IS#41qJ%8)PmJAk%Q,SK1qJ%))PmJAk%S,SK1qJ$k)PmJ(b"IS#G 1qJ$`)PmJ(k%H,SK1qJ$N)PmJAk!I6[S!fL*I)&qJ)5k!DJC#Pdlk!-T1qJ$%)Pm J(b"IS#"1qJ#k)PmJAk&),SK1qJ#ZS"`[3!!%6[S!V#*IS4dL##"I))%ZJ%lk!*) LAb!IS%`ZJ%lk!)BLAb!IS%"1qJ"q)PmJ(k"06[S!G#*I)&qJ+dlk!'SLAb"IS#P 1qJ"J)PmJAk!U6[S!9L*I)&qJ58lk!%`LAb"IS%T1qJ"#)PmJAk",6[S!1#pi!bJ !"%je)KmJ(b*I)&qJ,L*"6[S!)#pi!3J!"%lk!"irH!)J!!41G5pi!6!!"%lk!!a `!#m*-F!#)%jeF!"JpL"I)PmbZ!%#)PmbZ!%%6Y"19J!!@8m[2&""9#-r,J!+UD! LEJ!-)"pR(#"!)&!`'$)Z!!K[%,*!EJa63@F%8%KJq(!)S#j1AL"I8)p1d#"I)RJ #VP"*-"%LAd*4$!!!rfF)i&K5!"0!!!(J5#*I-S"1d#"i!Ul3r!!+6Y!LAb)I%"m JAfF#@)P1N6k!)N&1d@(US!"1GD3!6R9Ki+!"6R@N!8jeBGDJ!NjeT!*1G@(-S!0 1GD3$6R9K`U!%6R@N"%jeBELJ"8jeT!91G@'ZS!C1GD3'6R9KT+!(6R@N"djeBCU J&%jeT"41G@'3!+!96R@N&8jeBBDJ%djeT"01G@%!rhbJ#%jeT!K1G@%!rh#J#8j eT!P1G@%!rf5J#NjeT!T1G@%!reLJ#djeT!Y1G@%!rdbJ$%jeT!a1G@%!rd#J$8j eT!e1G@%!rc5J38jeT%&1G@%!rbLJ3NjeT%*1G@%!rabJ3djeT%01G@%!ra#J%%j eT""1G@%!r`5J%8jeT"&1G@%!r[LJ%NjeT"*1G@%!rZbJ'%jeT"K1G@%!rZ#J4%j eT%41G@%!rY5J48jeT%91G5*I)&qJ$ck!6Y%LAb"IS!iqJ%l4)PmJAk!A2S"1d5* I)&qJ06k!6Y&19[r151F`-%*Z!!T+1!+1DJ!!TR6k%Li!#'F#G2K1ZJ%LCPK63Nk k!4TQ8%SS!!GQ!!#'F2m)+!!'!!9Q2Nkk!5"Q1#!i!STZ4R)#)(J#VP")-"!-!!$ rC`EJ5'CDFJ&C6bmm8d954$m"UD!Q&fB3@%m`1!TJCJ3`22p!6[S!G+Q5)%-)d!! ()FJ#LN)i!SSQH!++*P0`k3bV8d954!!%CYS5,J!)!cJ#LQB-6VS!lJ2i!ST`!8k 6G!&"l[r13rS"%NSZ!!KR"%2k!4-K53!53QJ!&N)S!"ZJ!'B@3N%5'G,"8FVrk%c I$!a1AL"I9%p1d$e!!!TJlNj@rmj)jc!`%Li!#%kk!*C+1!+1DYJJ1!++Ep,!Z!- D)%!J8!bS8d954!!%CX!$Z!++F!"1N!"+1!++CV)JH!++S#0`rb(!!STJT%(Zrmi a3J!B-A`!!3!DS!9Q##"S!"`J8'!#F1T1GA!!,`)81!(l5J&Q!ZJ+!J)!$fF)93* R"(#HB"S81!+45J&Q""3i!T!!#))!"fB)#J)!!QF#F*mN(dT!6R9`qNS"C`*`q%( Zrmia3!!BS!&6D!!BS!&+1!+1DKC!`!"m"J!JH!(F%,`!#6kA%,`!#NE!6R8%,N& *EJ8Z38peG!3Z3NPZ"5j#6h9dG!%JAcm#,`LYkR3$6[Vrp(3#6[VrlR3%6[Vrk%j @!!!JEJ!3)Qi!$(!!%"K)3"!C5Li!#'F15Li!#QF%T$aJ%+!mB!a+,J!+C`5Q2'! #SM`+!!!"(8!!&%jH)&rIr!#3!`a1d#*I%KmJAh!!%"J[#8S"C`5J9'!#SP41G8j @!!"C6bmm8e45)cmZ!!UTS#*Z!!a#%5!ICb!J3#"3-"Jb,J!)XN"Z%R!!8d&R"K! BdF"JpK!38N#J,NjH)&p3Mdl36PB!!#"Z!!a+U!!8CKa+EJ!3CJ!"lP@2)'i!$$m S!"K1Z[Lk-"pJ!!(D-#i!%%kkp@S!N!-%!F`!#J()!23"a!'q)'i!$$!S!"K'31Y )!%$!!$P!!d)JEJ!--@`$3J!Q@Bmr,!0#UEmJAbP)!dK+V!0)CKC9Mb"Z!!`r+!! B6VViA$!IF!"J!!&m,b`$5%*RU6@T0eQ25(P6G'jR2b`$3UQJ)&mT5!!!X2`!!'F D@Bp)H9088L-r,!0#UD!JAbP)!(b`r!!!CKC9Mb"Z!!`r+!!B6VVi#$!IF!"J!!% S,b`!!+QL,b`!!%kkqMi[,!"mUD)[,!"m6VVk-#mX!(a1Z[S+5'`$8%KX!e*1Z[V !$'`!G303E!!!l#"X!!!J8%*S!"!JE!!!)&"#D!!1B!!!e#"Z!!J`+!!D6VVdB!" $!%-!`J!#)'i!#$!S!"j1Z[4-!!%!"`#Z!!i!&!!`!%`!8J"B!)T1ZJiDB!!!Q%k k"-"+3'B!!)j9Mb"Z!!`r+!!B6VVh@M!IB!!!HNkk!9T+3'B!!("9Mb"Z!!`r+!! B6VVh2$!IB!!!A%kk!U"J!!"86VS)@'!!!%a+E!0-C`B[,!!!UDT+E!01C`B[,!" mUDT+E!0-CJC+E!01CbC9MbmX!!#TT$!I2`#TQ@!@9BmJEJ!-2bJ!'%kkpZ3`(f! %6VS!%(!!6Pj1G8e"58iJN!4+V!0)Ca)r,!0#U6B[,!0)UD1T0d+X!dJJE!!!)&" +D!!3CaT+E!0'C`C#Cdkkr"*+E!0%C`JI2!!"6VVm"%UX!!"R%LmX!!"1Z[M%,b` !!+QM3U`!!%UX!(aR#LmX!(bTSd+X!(a1G8j@rqa+EJ!1CeJ`,J!18d!p32rmB$S [,J!)2blrr%KZrrj)E[ri5'lrm+Q0,@lrq2rX-#lrr,"Z!!aQ$#mZrq`r2!!"U@0 J##mZrqa#CkPM-#lrr&*Zrr`b,J!3NN"+3@Dd6Pj1G9"98dK5384*6PEqe&Q2-#` $3P*!2`"#TdKirrqTI#"I,8Mrr,$m!!"Q"R!!B!!"-LmZrr`r2!!"5'lqj%KZrZ" )E[lBUBe`"$e!rr4J2LmZrr`r,[rd5'lrmNKZrqj)E[rQUBdJE!!!-#lrp&9!5-$ 3J0#3!#"!-&![#%KZrZC1Z[8k,blrlNKZrZDTMc!Zrr45E[rdFJL53%T"CV*)E[r iU(3[,[rmU(-r2!!$2c`!!kLE5'lqf$mmrr`r22rmU+P)E[lB2c`!%$mm!"#SX%* ZrrCJ!!!@3UG)E[rfUC%`,[rf6VVad!#3!`)-EJ!"rrCQj(!%28$rp'"#,blrr$m Zrr4)E[rb5'lrlNKZrqDTM5mZrqj)E[lQUC!!5'lqjNKZrY41Z[5#)'`!!$!Zrr4 93%M!d)$3N!!J3$#ZrYB`,[rd8Qlrp())NN"+3@DZ,blrr+Q$,blrq+KcF!%j3!0 -F!&1ANje8%&(490&9&919[rS@Bm`,!0#@%!r!%+R5(MrrkPm)&mY52rmX2`!!'B 'F!"J!!'b,blrr$mm!!&)E[rd5'lrm%KZrqLTM8KZrrLSG#mZrrbSFcmm!!-r2!! $U*Y)E[rS2ccrr$mmrrbSU8KZrqJr2!!32c`!%+L`)'`!!#"35QJ!%'FD2c`!"$m m!!3r2!!%,blrr%kkrD"2l`!+B"Br2!!%2c`!"%*R,blrr%kkrBK2l`!+)'`!!#" 35QJ!$QFD2c`!!cmm!!)r2!!#,blrr%kkr@42l`!+B"Jr2!!$2c`!!Mmm!!-[,[r m6VVp5Nr[!!T#E[rfB!!!bN+R5'lrpUQ4$'`!G303E3!!Z$!ZrrC1Z["'!!)!"!# U!!B!,!"1)'`!!#"3F!%a3!!12c`!!cmm!!)r,[rf,blrr%kkr2K2l`!+B!!!I#" X!!!J8%*S!!ir2!!$2c`!!MmZrrB[,[rm6VVmdNr[!!TJ9L"X!!!LE!!!)P&+D3! 39m"%!%L!)&!a3!!3)'`!!#"35QJ!%'FD2c`!"$mm!!3r2!!%,blrr%kkr**2l`! +B"Br2!!%2c`!"%*R,blrr%kkr(T2l`!+$'i!!IrfCJ$r-(!"18!$6#mZrrbTJbm ZrrLSFh!"6Pj1G8e28N9649486PEq`L"X!!!J8%TS!!*Y$L"X!!!J8!aS!!N!!Qm +)'`!!#"33QJ!!PQ22b`$3N+R5(MrrkPm)&mY52rmX2`!!'B'F!"J!!,X,blrr$m m!!K)E[rb5'lrlNKZrqDTM5mZrr`r2!!"5'lrj%KZrq")E[rBUBdJE!!!)&!`+!! #`I`!$%(X!!64`#mZrqj)D!!#UBmJE!"m)&"8L#e)rXC`#Me!rr4J0#mZrr`r,[r d5'lreNKZrp*)E[r+UBd[,[r5,blqaUQ2)'lqaR!!%""53%K!3N")30'ZrXB`,[r d8Qlrp()2NN"+3@Dm5'lrq+Kd,blrr+Kc2c`!!cmm!!1SQdKZrpJr22rm2ccrr+L T5'lrf$mm!"!r2!!3U,!JE!!!)&!r2!!'2c`!"6!3@N!r!#mZrra1Z[X86qm!#L" X!!!J8$mm!"3r2!!6-#J!"!C!!"-r!#mZrra1Z[V`6qm!#N*ZrrCJ!!$#3UG)E[r fUC%`,[rf6VVYlJ!&!"B!"3!5!!B!3!!*!(J!%`"d!"3!QL"X!!!`,[rf@d!J8$# !)'`!!#"32c`!"Mmm!!8`%&T!2`![,[rm6VVkNNr[!!TJ!!"S)'`!!#"38QJ!!Ja S!!S!!QB+)'`!!#"33QJ!!L"X!!!J8$!S!!,"r!!-3H`!"0(!,blrlNKS!!+TMf! U)'`!!$!ZrrB'32rY)&!a3!!%2c`!&$mm!"-r,[rf,blrr%kkqLK2l`!+$'i!!Ir fCJ$r1(!D,8$q`R!+28$rp'!U,blrr$mZrr4)E[r@5'lrdNKZrmUTM5mZrp*)E[l +UC!!F!!3,[l+dDlq`M!Zrr45E[rdFJq53%T"CXB[,!"m6VVbCLmX!(`[,[l#6VV aQPQ2,b`!I%kkmA`J(l#ZrX*R%LmZrrbTJbmZrrLSFh!!B!!!JLmX!(a1Z[*#,b` !I%kkmK`JE!"m)&"8L#e)rXC`#Me!rr4J0#mZrr`r,[rd5'lreNKZrp*)E[r+UBd [,[r5,blqaUQ3!#"ZrXC`!"!38N")3%*!5%$4V[l'-#lrp&*Zrr4b$j*!5N&Q[#m ZrrbTJbmZrrLSFh!"18!$6$P!!dj`!8jH6R938P0&9&93)%j@rqKCMc!X!d*@3$m !3UG)H2rrUA`JAbe)rrb`r!!!CJC`!'!!!'`[,[rm2c`!!8KZrr4)E[r`5'lrk+Q 05'lrq+Kd,blrr+Kc2c`!!cmm!!1SQdKZrqJr22rm2ccrr+LT5'lrk$mm!"!r2!! 3U,"#TdKZrrDTN5mZrrbTJbmZrrLSF`aZ!!,rpQB%F!"J!R!"6Pj1G9G"594149K 86PEraNMR$a""l!#8*NJJE!"m)&"8L#e)rmBY52r@)'lraR!!%""53%K!3N")30' ZrmBYE[r'rp)JE[r'F!!3%&*!5%"#3%K!dDlraLeZrmErcL"ZrmC`!"!38N")3%* !5%$4V[r',@lra[r+)'lraR!!%""53%K!3N")30'ZrmBJE!!!)&!`+!!'8d!i!#" X!!!J8$!36VVUq!#3!`%!CJ!%!$*+E!0%CL*)E!BZ6VS$`&L2F!%j3!0%$'`!G30 3E3T9Md*R6VVbKM!IF2Np32rfB$"+E!0'CL4)E!Bd6VS$N!"BMh!"18!$4JaX!(8 $8'd-9BmI2!!"6VVb9$!IF2Fp32rf0flrpJ!B3UX!$(!)0d!!'Meml!$rq#"X!!! J8$!S!!,"r!!-3H`!"0(!-"$4E[ri0flrq!!F9Bm[#d*R6VV`kM!I$'`!G303E9" #+`!J3LX!)8)V!#0#+`!L)'`!!#"35QJ!$QFBF!%A3!!F3LX!(A!4&d!!(R!6&d! !(f!+3LX!((!"&d!!(A!+0d!!'P@2,`Y#Cdkkm*)`(d*V!#a#U`!ZI!"J$%(X!e6 3aR!J%)"54L"X!!!J8$!S!!U3!%C+3'ENB!!"jLmZrp*1ZJ(i@)p#E[rDIJ"J!!' b5NGQ%#mZrmj1ZJ(J@)p54f!!!CiJE!!!)&!`+!!-9%#q3'Bf,blrbNkk!F"BMhi !)'`!!#"35QJ!"'B!!A41Z[e%5N"Q!!&U9Bp)E!$N3QG1ZZrH-"pJ!!'#)'`!!%K Zrp`J8$mS!!K)E!3F6VS#`Nr[!!T+3'B'F!%p32rDI!"k!'!!!(J`"P*'3H`%(0$ !%"!G32rl5)"1ZZNB!!N!#3"%!!*+4'FL)'`!!$!&8N8J80"S!!T"l!08d-"`)"# !-!A!4%T!CZ"J-L"X!!!`"9*&)&$3D!!+3H`$90$!%+lrqf!B)'`!!$!&8N8J80" S!!T"l!08d-!3V[rl)'`!!#"3ZQJ!#'i)['lrh'm!rhJJE!!!)&!`"G"S!!T)`&1 !,8$riN(X!e3Y52rm8NG9Mcmmrrp)E[rQUA!3(dS!C`!!5$!ZrqC1ZZKU!!-!!`! k!!)J2!#3!rr!V[rS9Bm[!+KV-"mG32rl##i!!2rdCaJ-,J!ZrrYQ%&@25'`!j%* R6VVZVM!IB&*+E[rDCL)RE[rm!#!RE[rL!#49Mbm,3QG1ZZkL-"m[,[r@6VS!2PL 25QlrfQF!rNT9MdKX!14#CdkklQi`(bmZrmC1ZJ!H@)p1ZJ$X5N"Q!2i860m)m%j H6R9'4P"558j8)%j@rr`["d+Zrr`JEJ!)F!!3%$i!IJ"J!!"8F!!`"p#Z!!JJ3(! !%""1ZZHH!&i!AJ!N!!*"l!6NdHlrr&*(F!!`"p#Z!!JL3(!!%"%#3!!I%)"J&%( X"164l[rmF!!`"p#Z!!JL3"#48Ulrr$!(8NFJEJ!)FJ!5%**!5N&QR%(X"13T5!# d+@lrr!#i9Bp)E!#83QG1ZZh%-"mZ(djH6R938NP19&088Nj@!!!TEJ!)!+C#V!# J3L`!Ve@25'`!P%*R6VVYH$!I6Pj1G9"558j*9#!J,`Y"l!$N*NJ[,!#!3UG#Tcm m!!&)E!#%3UG)E!AN6VV`LNSX"H4R4%(X"HiR5!!53UX!$%)V!"T"l!%i*dJ!($G X"HS!&R!"&d!!'cGm$B!!,&@2,`Y#Cdkkl3i`(dTV!""R"(!!B!C`!@!#F!!QAdj e6PB!!%MR!6!QEJ!)3H`!j#4)0A`0J!!X*8X!)$"Z!!`P5!!N9Bm[#N*R6VVXhM! I2LS!+NT(CJSJEJ!13P"`!'!@-%I4b``S!!hrrfB#8dFJEJ!1-)G`!8cI$)"1ANj e4d986%P145"19[l5@Bm`,!0#9%!r!%+R5(MrrkPm)&mY52rd,blrp$mm!!9)E[r k5'lql%KZrZ5TM5mZrr3r2!!"5'lqhNKZrYT)E[l5UBe)E[r`U(3[,[rdU(-r2!! $2c`!!kLE5'lqdMmmrr`r22rmU+P)E[l52c`!%$mm!"#SX&Q25(P69&)M-#`$3P* !2`#TS#"I,8Mqi%UZrZ"Q"R!!B!!!TLmZrZ#TSL"ZrZ!J8$e3rrK#E[rmF!%p32r qB!!!E!aZ!!,rrQB'8flrr'!%8Qlrr!aZ!!(rr'`'2@lrq2rm5'lqm$!X!d*53$m !2blrr%kkldj`!"!Zr["+3'BDF!%p32rm5'lqm$!X!d*53$m!2blrr%kklbS[,[l X5'lqm+Q23UG)E[rqUC%-EJ!$rrjQMLmZrr5TJbmZrr#SFbmZrZ#TSh!"6Pj1G84 238*2993J!!!'1J#3"!&m!c-`-!#3"ld$0M!`!*!(AJ3a-M!`!*!'2J3a1$!`!*! ',J3b0$!`!*!'(J3c0M!`!*!'&J3d1$!`!*!'$J3h-M!`!*!'#J3j0M!`!*!'"!8 a16)`-!#3#9!!8&4&@&3!N2m!N2m!N2m!N2m!N2m!N+X&,N&2GA3&,N*2GA3!!!( J!"-!N!AJ!)m!m!$9"!4%EfjP!*!&P3!(!+8!H!J13QpdG'pY)'pQ)("KCf8!N!8 '!&X!&`$EL"*3FQPZG'9b)&"[FR3J8f9dGA!!N!8H!!B!,J!cL!93Eh*d1ZB!N!8 H!$N!,J#G"JT0Ef4PE5"3Eh*d!*!&(J#P!#i"#3B-8(*TER4PFL"3Eh*d!*!&13! '!%N!8BJ+3Q&eC#"5BA4P1J#3"6N!BJ"*!)m)"h*eER4TE@8R!*!&1J#C!%S!fJ3 &E@pbCFN!N!C6!!8!B`"kL!p-D@jP)&4PFQeTEQ&dEh)$!*!&8`#!!'-"3"!(FR9 ZG'PYC4)!N!9T!)!!H3&!%!GbG@jdD@eP%J#3"Am!J!#2!8!3"h*eER4TE@85!*! &P3#!!+8"3"!(FR9ZG'PYC4`!N!@V!)!!Z`&!%!GbG@jdD@eP6`#3"@N!"J"j!(Z )#NPZDA4TB@aTHQ8!N!9r!!F!M`"mL!Y8Eh!JEfBJF'&RC88!N!@V!!J!Z`"j#!Y &EQ3JEfBJCQPXC3%!N!A&!!J!e3"j"JT6D'9PG#"QC@9N!*!&a3#P!08"#3B+3fp ZG'PZG@peF`#3!bi!+!"3!5J"U!!"rrm!N!E"J"P6CA*TB@`J8'pbG#"$EfjQD@G eFQ&dD@pZ!*!$(`!`!$-!T3("!!(rr`#3"X'"#P"KCf8J8f9dGA!!N!-H!$!!-`" N!5`!!Irr!*!'`B-*6Q9iG#"3B@GP!*!$8J!#!*!&(J!m!#i!M!3%4'pZC3#3"4i !S!!Z!2!%"&0dEh!!N!8)!!J!'!%N#"j6CA*TB@a3FQPZG$SJ5@jcCA*d)%jPH(3 J8fKPCA3!N!2J!!N!N!9J!+8!F!$V"!4%EfjP!*!&3!$*!&)"2!J16'PZCA-JF'9 b)("KCf8!N!8(!+B!'!$c#!T3B@GP)&0PG(9`!*!&)J!&!$)!-JJ%9'&LF`#3"5) !K`!d!+F3"h*eER4TE@AQ!*!&)!&)!$%"F4!(FR9ZG'PYCHB!N!9!!)J!8!#a%!G bG@jdD@ePjJ#3"8)"5`"5!AJ3"h*eER4TE@AQ!*!&3!!&!&!!HJJ,6'9QG#"0BA* RD@i!N!BL!-S!-J%9#!9AD@4dD!#3"")!!3!#!*!$#!"D!!J!0`#3"j!!`B$rN!3 !!&[5rj!%#e0PFQPKE&"bD@jd%N&LEh9d)&0PFQPKE&"bD@jdb3#3""&3FQPZG'9 b)&0PG(4TEQGcb3#3"!Y3B@GP)&0PG(9`b3#3"!e'E'ph)%0[ER4bEfc*!*!%"P" bD@jdb3#3"!e6BACP)&0PG(4TEQGc!*!%"&&eDA3!N!JE!!8#ANd%APYH9`TH69j 0ANeH69j0!Pj-!Pj-!!!(8`!-M90PFQPKE&"bD@jd,#"&C'Pd)'pQ)%&eCh9cG#! a0b`J-6Ni0`e&BA*XC5"5,L")Eh*dEfi08'pbG'P[ER-J3fp`HA*TCfKd)&4)58j ,)&4PBfKZEfa[CfPPF`e$Efe`D@aPC#"hDA4S)(4SC5"-D@GSG(0`C@9N3b"MEfe `D@aPFL"KEQ3J8NeKDf9b,Se6CA*TB@a3FQPZG#"TFb"KEL"KC'&`G'&LE'8JF(* TER4TEQFJF(*[Ch*KE5"YC@&ZG#"dEb"LC5"eFf9N)'PZ)'4bB@Cd)'e[C'8JGfP dD#"`FQPZG'9bFb"QEh)JGfKTBfJJEQmJ6@&MD@jdEh0S)("bD@jdCA)JC(*TGQ9 b)'Pc)'&fB@PXB@*XC5k,5A3JF(*TER4c)(4PH(3YEfjXH5"QD@aPFb"hD'PMD#" SBACP)'%JBf&bFQPKCf8JFQ9dGA*Z)'&d)(4SC5"PEQ3JEfBJCACPFRNJE'PZC5i 09'KTFb"bCACTFfP[EL"NEf9c)'j[G#"hFQ&`)'a[EQFJE'PZCA-JBA3JGfpbC#" LEh9ZC'&bD@9c,UK8D'8J8(*TER4PFL"6CA4dD@jRFmNJE@9ZG5"KE'a[Gh-JH@p e)(4[)'0SB@jRC5"dD'8JF'pbG#`JBQ&eC#"bBA4P,#"KEQ3JCQPfC5"`FQPZG'9 b)'0[ER4bEf`JFh4bD@jRFbiJ)&P[GA)JF(*TER4PFL"YB@jeB@`JFfK[G@aN)'K KGQ8JG'KP)'&`F(*[F(*TBA4P)(0PG(4TEQGc)(4[)(9cC5kp6QpZ,A"bD@jdD@j R)'0SBA*KBh4PFR-JBA*P)(0PG#"eFfPZCb"MEfjdFQpX)'0SBA*KBh4PFL"ZEh4 KG'P[ELiJ)%C[FL"PH'&YF'aP,#"MBA*bD@&RC5"bCA4eFQiJDA-J)Pj0)L`JE'P ZC5"QC@9N)'Pc)#*H5L)Z$90[E@8JF(*TER4PFR-JFQ9aG@PbC5"H65"KG#"dD'8 JC@jN)'pQ)'%JE'PZC5`JFfpYC5"bCA&eDA*P)&j0ANSZK&4[)(0PG#"dD'8JG'p `)'eKFQGTEL`JF(9d)(4SC5"KF("bEh"bD@&dC5"ZG@eLCA)JEfBJH@peFL"`FQP ZG'9b*h-JE'PZC@CPC@3JBfKKFQ&MG'9b)'0[E@*TEQ&dD@pZFb"TEL"dD'8JBQp i)'eKFQYPC#!L9'p`)'pQ)("KCf8L,RT*CL"jEh9b)("bD@jdCA)JC'pPFb"ZEh3 JFQ9MEfGZDATP)(4SC5"QEh*YCQ9PC#"MD'&bB@0dCA)J+&j-+5`JDR9cG#"`GA3 JFfpYC5"ZCAGXD@jPFb"TEL"dD'8JBQpi)'eKFQYPC#!L3QpdG'pY)'pQ)("KCf8 L,X98D'8J8'&RC5"6CA4eF-NJE@9ZG5"KE'a[Gh-JFf9dG'PZCb"[CL"dB@*cG'p `Fb`JE'9QG#"YBA*RD@iX)#0MEfaeE@jc)'PZ)("KCf8X)'&ZC#"`B@GP)'aPEQG dD#iJ)&"KCf8JE'9ZCh4S)'Pc)(4SC5"ZG@eLCA)JEfBJF(*TER4PC#"bEhGc)'p Z)(4SC5"`B@GP,#"KEQ3JC'pPFb"ZEh3JD@jME(9NC5"dEh!JB@jN)'*[G(4[E5" YBA*RD@jc,V&8D'8JCQa[Gb"MEfjdFQpX)'ePER8JD'&c)'j[)'9QCQ9MG#"hDA4 S)$BdDb"56ddJEh)J6@&M)&K-)(0jFh4PEA-X)(GSCA*P)%088b"QE'ph)'0[ER4 bEf`JEfjXH5"TFb"eFf9N,Je'Eh)JEQ9hCA)JFhPcG'9YFb`JG'KTFb"YC@je)'& XE'phFb"cC@aPBh4TEfiJEfBJC@PdD'9b)&K2ELpB6fCQ)'pb)%088bk29'KP)'C XEhFJBfpZG(*[E#"YC@je)'&XFfmJB@aXEhGc)(P[G5"dEb"cF'9MD@Cj)(GSCA4 SCA)JG'KP)("bD@jdCA)JC(*TGQ9b)(9cC@3JDA-JBfa[Ff9N)(GSC@iJH@pe)(& eDA3J8f9bD@&X8(*TER3Z$5K1Eh3JC'pZC5"hDA4S)$BdDb"56dec,LR"9'KP)'e [Fh3JC'PQCQPMG@ad)("KFR3JEfBJGA0TEQFJ8f9bD@&X8(*TER3JE@&j)'*P)'p LG'&TEQPZCb"dD'8JF(*[F'9b)("bD@jdCA)JBf&LE'8Z)#"2BR4KD@iJF'PZEh9 d)'4TB@GbB@ec)'pQ)(P[GA)J6@&MD@jdEh0S)'&ZC#"`FQPZG'9b1b"dB@YP)(4 SC@dJG'mJB5"bCA0`EfjcD@*XC5"PE'9MG(*[EQPMFb"dC@0SEQPMD@&Z,RG6CA4 dD@jRFb"KFQ8JEQpd)(0KGQ9N)(9ZE'9cFb"dD'8JE@9ZG5"TG'9Y)'Pc)'0SEh0 PELiJ)&4SDA-JC@4TG#"[CL"6CA*TB@a3FQPZG#"cBACPFb"TG(-JFf9dG'PZCh- JD@iJG'KP)(0jFh4PE5"QD@aP,J#3!bB!2!"@!2)"R!!"rrm!N!E"JK&"BQpeG#" 6CA*TB@a3FQPZG!#3!hS!"!#3"CJ!,!#V!'d%"%e[FQ8!N!@B!)%!U`#q"!4-CA0 c!*!&Q!$5!+X"(33'4@j[G@GS!*!&%J"[!"N!jBJ,8f9bD@&X8(*TER58!*!&,J! )!)i"0JJB8h4bD@jR)'aTFh3J2%pA6N952L!V)$)Z!*!$(`!l!)B!d3&3!!(rN!3 !N!6"K!T1CAFJ4'PKE'pR!*!$H!!$!*!&E3"$!)%!I`3%C'pZC3#3"3S!%`!H!-% '&9K2ELpB6fCQ)%CXEhFJBfpZG(*[E0`!N!8S!"-!2!$""K"$9&-J4Qa[Gb"$Efj dFQpX!*!&4J!6!&S!`3883fa[Ff8J4(*TGQ9b)'pZ)&&eDA3!!!%!N!-[X!!!,V! !!!)Z!!&F&J+8!*!$(!%@!!C%8PC5!*!$1N4"9%%!N!0'4%P86!!%!&*%6%p(!!3 !MP0dEQF!N!2+689193#3!pC69&)M!!%!iJ!-!!!J!*!(`B$rr`!!'hB!N!6"J!! 0!!!KY!#3"-'$!&8!!#32!*!%`B%!D!!!*'8!N!6"JJ$A!!!YN`#3"-'%!3)!!#i d!*!%`B!!*3!!)jJ!N!6"J3!i!!!MbJ#3"-'$!%F!!#2Y!*!%`B)!``!!,@N!N!6 "K!$d!!!Z%3#3"-'!!(`!!#9*!*!%`B!!M3!!*9m!N!6"J!#H!!!Pm`#3"-'"!,B !!#B5!*!%$!"6CA*TB@a3FQPZG"G3FQPZG'9b)%4TB@a[Cb"8C@e`E'&dC4*3FQP ZG'9b)%0[EQCTCb"#EhJ18'&RC5"6CA4eF#"#EhJ06Q9iG#"3B@GP)%*[H"*1CAK d)&"KCf8J9'9YF'aKG'868'&RC5"6CA4eF#"8C@e`E'&dC4"3FQPZG'9b)&0PG(4 TEQGc%&0PFQPKE&"bD@jd)'ePER8A8(*TER4PFL"MEfjdFQpX)(0dFQPZCh--5'9 XF#"6G(*TEQGc%d9iG'9ZC'9N)%&LEh9db5"#EhJF4AKdC@jNC@3J3@*[GA6*)%* [H#"8C@e`E'&dC3eYEh*P)(0PG(4TEQGc&@CXEhFJBfpZG(*[E#"dC@e`E'&dCFL !: ---