2IMGCdrP@@@ )4   "D}, M ) TiTWiWg2 Ԣ` H i`iK ԩ`GៀL` HK!HKH@L,0 )i/ XA)Lb +)D\]g_ ?/"p@͸  ɜUUɛ`ff  ܪ330 ˩ʙppʙppp˩pwp̺ppwwwwp&Xb0qqwqqwqwqwwqwqwwwwwwwqwqqwqwwwqwwqwqwwqwqqwwwwwqwwqqqqqqqqqqqwqqqqqqqqqwqqqqqqqwqqwqwwqwqwqwwqwqwwwwwqqwqqwwqqwwwqwqwqqwwqqqqqqqqqwqqqqqqqqqwqqqqqqqqqqwwwwqwwqwwwqwwqqwwwwqwqwqqqwqqwwwqwqwwqqqGSINF.44BISq b' @FINDER.ROOT? p5pp5DESKPLAYbbJPEGSbbPARANOIA KWFINDER.DATAKhbpb&SYSFAILLb b ULTRABLACKb b LES.PLUSIIb q MACBINvb8'  'VMACBINKK8N +MACBIN.DOCS2 WpWFINDER.DATA=Ob#pb#DESKPLAYvb' 'XDESKPLAY L&&"]DESKPLAY.DOCSPUsET&8]SHELLPLAY.DOCPp ׺̽ET׺1"SP}%L5G HŽSlŽ}0E ^% F Deskplay \HB@("*""kK /HH"//uHHL$H "h/h/3H1H "/H/HL("᭺/H/H "᭺/H/HL)" /001h11112:20$0$1 $id$:2-b+b$2t6t5$tsh1 tp1tc$ Y$kK #HHm&Hk&H." ;[>>t  lL)-?X*All comments fucked up!<F6:THE VOID  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR +hhm&Hk&H " k Hڢ"`'~nK$ H"h$Y YMHHHH$H "hYhYYHYHH("H"h)&%)@ ["k) k)L( )ɀ :k&L!"("h%(" l$HlH"*""h%*"" l$HlH""HH"h&h&x ;8[X XXXx;i+X HHY "hk&hm&m&Hk&H"HHm&Hk&HoY1"h/h/HHm&Hk&HYV1"hhm&Hk&HK"m&k& "K'kHH$H "h-h / ` i kkHiH"kimoYLd  u x);5" 5L/ "" $  3" 79 e3iZLZLiZe e " L " L" 8 ~oe e 8 " " 7 h8wLi):im ~ ZoȻz::1ȷZz1Zz 3L9H7H"i k "8`Yq ȷ e iYiqiq r)i0ȭq)JJJJi0ȭq)i0ȩ ȗȗȷ m$YɐȌm z"jT E"L\& + j YH/H/H" " "`8`Z`ZLZmommmi k'HHmH$H "hihk4kHiH""mHkHiH"kHiH "ik  z`"  " " "hCHH$H "hh"$HH"H"h` "᭦HH""`ȷ$8`7d`KHZ&+"h k&E"K'k j  !( kHH"h&h&m&Hk&H"`&H&H"`x ;8[X&&&_"h! '4&kK 3m&Hk&H"x;i+Xk: ` j  !(  ֩? ? H A h`? HHH0""`m O [""v:s3 f Y PTLE"d  u )> S ] "] l" q " w V" J " ik e  m " " `Save set of MODs as:UntitledZ15 7 7 Z7   Deskplay MOD Set  +r   `+r   `x ;8[X& O & x;i+Xk$ s$ ` L3Gg Ig i HHm&Hk&H"hm$Z(Z `Y`)ʈ Y LCYL3)Zڭik eڽ8   ȷ Ȍ Ȍ m ΉY m U zL ZLZL%)@Lfd vd Zڠȷ):Z8Z] z hHTKȢ] hz8ẻYLd :Zڠ] i9):8:DK] zỉYL'`L ":: ȷLYJr:0Yr`  ": ȷLYr͉Yr`  TLE" [U [ӝ[ [  1Z  { 111 1 hiȞ0H "h:[Zs&u&[w&y&' {&&&&&H&"h!ۭ 'L#Genesys/H/H%"`-K " )̉Y rt  `Lx,k;,6.8k,0<0)<@>=`0X`6,8.X` `0<0)< >==,->==,0,0<0)< >୏=->୐=0`rL W   ' M*)  ̉Y׭ `K  i *)  ̉Y  : 2  ' )@̉Y  rtr 4 : ȷ  i񈈘JJJJ  i i s`MD ik  H  '"     MD`-g >??<<?<<<<??<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<???????<???,k :HH$H"hh  11)1): /SP2 1 HHHHH1 "Lhhhh  hlhjHHhH "hPh R l\xcegiX ;l[ihn"+K0hH"xceX`hhhhhSLE"K{;[ ȷ - _ [(\ i[(k  @ 3*)@/ *m3 ȷȷ iimLk ZzȷZz LkBYTEWRKSSP -b -t5 -ts -V060 -S070 MDSelect set or MOD files:/1<F66!T E"k%) TLE"cQ E"`S E"Q E"֩HH:VZY"h`/s&u&4Zw&y&' {&%HH0" "%HH0" "&&&&H&"h!ۭ ' |"" ##""""### % $0$ $0$ $1 $id$ $:2-b+b$ $h1 $1 $1 $1 $2t6t5$tsh1 tp1tc$ Y$   #q&Ho&H "L /HH"//001h11112:2/H/HL("""L/$ $$ $$y$$}`<F-btst5H '"  0 `HHH0"h$h $$ ` $H $$h$`K%% _%%H%H"h%:8 &i d 0dH%H%H" %;ik 000 %N*J1 %1H $H% '"h% $ %!1%% 0% H%"8zHڢ:"%"`Zs&u&[w&y& {&H&"h!L#HH"h&h&HHy&Hw&H "ho&hq&q&Ho&H"HHq&Ho&Hu&Hs&H1"hh`Kq&Ho&H" :" ="' %kKm&Hk&H" 'm&Hk&H" !(m&Hk&H"k,"-0"'T"(T"(S".0"'S"'S"`4N3NFFF6L(x ;8[X e,k ,ͺ-*": ȷ )͸-(tt͸-L)-": ȷ )-*-rYͺ-(L)r-Y- ,,"᭸- *----- * 孺- *----8- * ,(r )[ \X"L) ) - --U --H-"8Ji6H :"-"x;i+X`""-0"(T"` Z)) M*)))z`ZJJJ) g*9*g*z`ZJJJ) g**g*z`ZJJJ) g*9*z`@ H &")!/80-`ڠ-J-- .1Z-)-ڢ0"-i->.m-H@.m-H:.m-H<.m-H:"<"z11`+++",<,#(#().*-+,|"~~~  """"!"!)|.~*~-+,|~~~------,H0" o-,H0" o- ,H0" o- ,H0" o-0<0)< >==,->==,0,,H0" ++  HHT"ee `&&(&33333333333333333333333333333333      ........./H"h /$ H"h$H"HH$H""h1h3" //) /" /H3H1H "/" /`/H ""`0(0P0r00000(1J1t11112 0F2 d0I2  2- Y2- )2U3# 'n < 3;n F =zF0P2Dd IRC#3 T]0a2Ss _h0t2Pp js|02Cc js0255 js0266 ~602FfOKCancelChannel DoublingSmart PT/ Constant ProTracker Constant:50Hz60HzFollow Position JumpsJLRFCBDeskplay OptionsJLRFCBVolume:FCBJLRFCBStereo:JLRFCBTempo:???? ?????000000000??000000000??333333333??????????000000000??000000000??333333333??????????000000000??000000000??333333333??????????000000000??000000000??333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333??????????0000000000000??0000000000000??3333333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333?????????0000000000000??0000000000000??0000000000000??0000000000000??3333333333333??????<<???<<?<43~Deskplay 2.0.1 by Jesse Blue & Clue Copyright 1995 Ninjaforce All rights fucked up!~Hellos...~Keys...~^#093~Big hellos to the following people... Brutal Deluxe (thanx for three perfect summer days in Bordeaux!) SPK, Moby (nice interview!), Dizzy and all the other guys at Kalisto Prince Slime, Maxx of Digital Exodus and Michael Lutinsky Blue Jay, our musician Dreamer (alias Dakkar) and Spin~^ OK 0;3~When selecting Deskplay, hold down... Option (Options) Shift (Stops the music) Open Apple (Pause/Continue) Control (Eject/Open)~^ OK 32~Cant find Shellplay! Make sure the file SP is in the same folder as Deskplay.~^#023~No song in memory!~^#023~Deskplay does not support 320 mode!~^ OK 23~Songlist is empty!~^#023~Cant handle more than 400 modules!~^ OK 00,T0~*1Dont underestimate the power of Ninjaforce DeskPlayStation! *1TP5=noalco!*2drm!&Spin BUT... NoBluJ*295end*2i.s.:F*0CKya *1D.E.nizze*2jstGEHtAB with: Harmless!?!*2Moby'SMobile?FUN:) *1BD->Germany(yes!)*2SSis aBUG*2R|U|BrainDead? - Crap'orca *168'MentalHangOVR*206221/781013*2NFC+is+1oo%*2D.T.:nAiV *1Deskplay was sponsored by (c) Reset Productions Corp. in 1995~^ Defend Earth against Deskplay! FVHVSV* - VVV+WWWWX?XmXXXXYAYYYW 20G3  R04Oo R#05Ii #R50=7!! qB08?? 5G0:>> 5GB0}<<< 5BG0G>Ff 5GB0@Pp 5G0A.. 5BGC G\BoE qBG \qBI GB\K \Bq0MSsG  / Deskplay '~'~2N»YK''~nN 'Z[>["t'Z1 0u  i[F d0F2 OKJLRFCBInfo on FCBN '#P@D2 4  W ؂ 0dHO +{B)c +s +hzB)} + + + + + +N! `&  |؂w 23 3 3 Yc'c'c'1d'yd'd' e'Qe'e'e')f'qf'f'g'Ăc'Hd'gd'Yc'/ 3 f' 8-(9*t$$'$;$&&(($ **2$| $3|oo!3i6kGqqqrqqmm\mommikm$ikkimkikiikC$p$ 3 j   B ? v sx 3  i k e m;     9 & ? & S $ V sY $ n g t g x i   C 3 i k e     & ) / 2 8 ; > mH K mS W [ v d { d  ]  ]  d  ] C] wrrrrU <1U1X1rt" (.I6P868r ! $ ' *'-0>I LOR b m p s       ' rtr     &i)i.sIiNkc :$ 7GSW[_ho m  mk=afk""""""""#"#### #####$ $$$$$`$c$f$i$r$u$x${$$y$$}$$$$%$%$ %$%$%%"%%)%%/%%3%%?%%v%%z%%%$%%%%%$%%%%%%&% &% &%'&%*&%i&#&y&&w&&o&&q&&q&&o&&q&&o&&u&&s&'q&'o&B''G'%O'm&S'k&a'm&e'k&v'm&z'k&"((2(j((o(tr(t(r(((r)#)(()rs)U )()() ))))*)*) *)***+1t+1w+1,,,,, ,,-  -,9-,J-,T-,b-,p-+u-+/ //$+/$8/$G/1K/3x/3|/1VG3V4W5EW=7sW8W:W}<WG>+X@YXAXCXoEXGYI3YK[YMYYY ZK'nZ'Z1X[F2['[#P%  FM/c/g///31///////00 1h11 1#&1),2/2:2508$;0>$A1F$M$P:2^$a2o$uh1}1$Y$#m&k& m&k&  *Y-YPYTYWZ]YaYu["( :!ll,/l6lK&O&_jXmXpXYYk&m&m&k&m&k&oYoY//m&k&YVYVm&k&m&k& K'"-(/47i:k?kCiNkQiTmWoZY`gtd yu |;;555/$ 79e3 # 0 7: = @ C F N V Y ^m r y~       7  7  ~1 13$9(7DYMksvYYzjTjTE"& j Y // "| &6Z`, &/ &O &W K'] j c !(f u &y &| m& k& & & & & & & ' & m& k& `  !( ) ? . ? 5 A ` m b O d f ["h "j l vn p r t :v sx 3z | ~  f  Y PT PT E" d  u  >  >  S  S  ]  ]  ]  q  w         ! $ , 6 g 1m 5 s 7 y 7  7          < O b e 3 m& k& $Z (Z Y  Y  Y    E YN U s f     Y   #9V_Ydg'pYYYYTTE"[[$[)[P1a1r0vy[Zs&Zu&[w&[y&'{&&&&&&& '#// Y% 14,,,9M*A[Y~*YY7=@CFX]gj1112111 h!l%j0hEPKRTl[\qcxe{gilhnnhceSSE"3**/1!!T!!T"E""T"T"E""cQ"cQ""E"0"S3"S6"E";"Q>"QA"E"K":VN":V\"/_"s&b"/e"u&h"4Zk"w&n"4Zq"y&w"'z"{&}"%"%"%"%"&"&"&"&"&"&" '""" #"####### #%#$#0#$#$ #0##$)#$,#11#$8#$>#$A#:2O#$U#$X#h1^#$a#1g#$j#1p#$s#1y#$|#2#$#h1#1#$#Y$###q&#o&#/#/#/#0#0#1#h1#1$1$1 $2$:2$/#$/W$/Z$$]$$l$$o$$~$$$$$$$$$$$$%%%%5&Z8&s&;&Z>&u&A&[D&w&G&[J&y&M&{&T&&W&&&&&&^''s'!('-'-'''''('('('('.'.''''''''F(,N(-b()e(-u(-z()(-()(-(-(Y(-()(-(Y(-(,(-(*(-(-(-(-(-(*(-(*)-)-)- )-)-)*-))0)[3)[6) \9) \L))O))\)-h)-k)-v)-})-)-)-)-)-)-)-*M*(*g*+**.*g*B*g*E**H*g*\*g*_***-*-+- +-+.#+-++-.+-9+-A+-D+>.H+-L+@.P+-T+:.X+-\+<.`+-+++++++",+<,,-,-,-,-,-,-,-,o-,-,o-,-,o- ---o-_--.................../S//X//a//i/////////0/(0/P0/r0/0/0/0/0/(1/J1/t1/1/1/1/20F2B0I2j0202031P2B1#3d1a21t21212 22622:VFV>VHVBVSVYVV]VVaVVeV+WiVWmVWqVWuVXyV?X}VmXVXVXVXVYVAYVYVYWZZZ[Z>[ZZ6[i[ T 1:Module:XTD:Deskplay/Copyright 1995 Ninjaforce All rights fucked up!X%k  Deskplay2.0.1 Coding: Jesse Blue Art & Design: Clue Copyright 1995 Ninjaforce All rights fucked up! Deskplay is using Shellplay 0.71 Copyright 1993 Brian C. Bening What it is... Deskplay is a New Desk Accessory that lets you listen to Amiga music module files (also referred to as MOD files) while under the desktop. Deskplay works hand in hand with the famous Shellplay MOD player by Brian C. Bening to provide easy handling and>`>t   p ؖJ<$SW2>V@VYZ[\]^_`abcdefghij excellent playback quality of Amiga MOD files. (Hi Tony Morales: Sonobox? What the hell...) NOTE: If you have an Apple HiSpeed SCSI Card, Deskplay wont be of much use to you. This is because of a bug in Shellplay that causes the GS to crash whenever music is playing and the harddisk is accessed. Turning DMA on the HiSpeed Card off is the only way to prevent this... Installation... Copy the files Deskplay and SP into the Desk.Accs folder of your bootvolume, then reboot. You can, of course, also use IR and doubleclick on Deskplay to use it, but make sure Deskplay and SP are in the same folder. Using Deskplay... If you are familiar using a common CDPlayer, you wont have any problems with Deskplay at all. Deskplays interface is devided into two sections: The playback and the songlist section (more on this later). The playback part along with all its buttons and displays operates like a standard CDPlayer. The four small buttons from top left to down right are: Power (SPACE): Pressing this button enlarges the Deskplay window to allow access to the songlist section. Eject/Open (O): Allows you to load a new set of modules (see below) or just new modules. As the name implies, it removes all songs from the current song list. Deskplay automatically puts itself in playback mode once the songs have been loaded. NOTE: MOD file are loaded independent of their names/suffixes, three filetypes (ASCII, Binary, Unknown) are supported. Only limitation: Deskplay wont load more than 400 MOD files, sorry (ohhh!). Shellplay supports NoiseTracker, ProTracker and StarTrekker (4 channel) formats. Info (I): Gives information on the current song in memory. Normally, the author of a music module has a lot to say about his masterpiece, but it may happen that this place is left completely blank or contains some weird instrument names. NOTE: If you have the Genesys.8 font (comes with Genesys) installed, Deskplay will use it instead of Shaston.8 to display the information of a song. Options (!): Opens a dialog with all options referring to the playback of modules. These are as follows: Volume: Sets the playback volume (in percent from 0 to 100). Stereo: Sets the percentage of stereo. 0 means monophonic, 100 means full stereo. Inbetween values mix channels, so you wont turn dizzy when listening to MODs via headphones. Channel Doubling (D): Allows the percentage of stereo to be set to values from 100 to 200. These values do not affect channel mixing (since it will always be full stereo), but rather make the music sound louder. Value 200 pushes the Ensoniq to its output limits! Beware... Tempo: Smart PT/ Constant (S): Guesses the playback tempo method (Amiga ProTracker or constant) to use by examining each song before playing it (this is the default setting). ProTracker (P): Uses Amiga ProTracker tempo Constant (C): Uses constant speed tempo (otherwise known as VBL timing). Constant tempo may be set to: 50Hz (5) or 60Hz (6) Follow Position Jumps (F): Postion jumps are commands used within MODs to create infinite loops or to hide songs (the default setting is off). The six large buttons are (from left to right): Previous Song (<): Skips to the previous song. Can also be used to select a certain track when no music is playing. Fast Forward (F): Plays the current song back three times as fast (150Hz) as normal. Hit Fast Forward again for normal playback. Next Song (>): Skips to the next song. Can also be used to select a certain track when no music is playing. Play (P): Either plays the song that has been selected by the Previous Song or Next Song buttons or the song selected in the song list. If no songs have been loaded, Play will also let you load songs or a set of songs, and then automatically put Deskplay in playback mode. Playback mode is indicated by a green Play symbol in the large display. NOTE: Once in playback mode, you may close the Deskplay NDA if you want, because Shellplay is capable of real backgroundplaying, i.e. you can switch between applications while the music is playing. However, playing Amiga MODs eats a lot of processer time, so your system may be slowed down significantly. Also, be warned that your system might crash if you start an application that uses the GS Sound Tools while playing an Amiga MOD in the background. And another, very important point: The system WILL CRASH some time while playing a lot of MODs. This is a bug in Shellplay, and theres currently no way around it. Sorry! The best solution is to hit Stop from time to time. Also, do not enter ProDOS 8 while a music is playing. Again, the system WILL crash. Stop (.): Stops playing the current song(s). Also removes Shellplay from memory. Pause (Space): Pauses the current song. Pause mode is indicated by a green Pause symbol in the large display. Pause also frees all processor time, so this is handy if for example you need to print out something quickly but still want to have Deskplay/ Shellplay active. Pressing Pause again continues playing the current song. The Songlist... ...contains all songs that have been loaded. The songlist is much like the contents of a real audio CD, except that you can customize it completely. Note that you cant modify the list while the music is playing. The songlist is also the fastest way to access a certain song: Once the song has been highlighted in the list, it can be played by clicking the Play button. You can also doubleclick on a song name, and it will immediately be played. You can also select multiple songs for playback (using Shift & Open Apple). The small number in the large display then stands for the number of programmed songs. A small PRG will indicate that you are in program mode. All other songs in the songlist will be dimmed. You can leave program mode by pressing Stop. The buttons that directly affect the songlist are: ADD: Adds more MODs or module sets to the songlist. DEL: Deletes selected entries from the songlist. CLR: Clears the songlist. The other three buttons are: RND: Plays all or the selected songs in random order. Random mode is indicated by a small green RND. You can also press this button if the music is already playing (in normal mode) to put Deskplay in random mode. If you are already playing songs in random mode, pressing this button causes the songs to be rerandomized and jumps to a new song. You can leave random mode by pressing Stop. If no songs have been loaded, pressing RND will allow you to load modules and then put Deskplay in random playback mode. SAV (S): Saves the current songlist. We call the result a set of modules. This gives you the ability to create your own MOD CDs. A set is treated like a normal music module. It can be loaded, or appened to the current songlist. About Deskplay (?): Info on Deskplay and hellos from Ninjaforce! (Go and find the easteregg within!) Instantly Shutting Down Deskplay... ...was Clues idiotic idea. When the Deskplay window is frontmost, hit K to stop the current music, clear the songlist and close the NDA. Saving Deskplay Settings... Deskplay automatically saves all its settings (options, current song directory) to disk when you close the NDA. Deskplay writes its settings in its resource fork, so you dont have to mess around with stupid config files... Special NDA Access Keys... ...sind geil! To make Deskplay even easier (and faster) to use, you may hold down the following special keys while choosing Deskplay from the Apple Menu: Option: Brings up the Deskplay options dialog Shift: Stops playing the current music Open Apple: Pauses/continues playing the current music Control: Same as Eject/Open NOTE: The keys will only work if the Deskplay window is not open! Accessing Deskplay in 320 Mode... ...is not possible (yet). However, all of the NDA Special Access Keys work fine; the options dialog is available, too. Some Final Words... Deskplay is dedicated to Brian C. Bening. Brian wrote the very best MOD player for the GS in 1993, the year of GS MOD players. Back then, the Shellplay documentation mentioned a possible full featured music program that might appear in the future and a desktop version of Shellplay. Unfortunately, those two programs never came out. And while there are some NDA MOD players available these days, they are all, and perhaps this is not only our opinion, very poorly done. This (among other reasons) is mainly why we did Deskplay, and we hope you enjoy the result. Have fun with it! (Not bad for our first real desktop program, eh?!) Send comments, praises and flames to: Snail Mail: Ninjaforce Adolf-Rausch-Str. 24 69124 Heidelberg Germany e-Mail: ug0a@rzstud1.rz.uni-karlsruhe.de Wlmno@DDDD$$UUUU$$$$$UU$DDUUx<T 0.  g /70c  0[ bT:TT T TT TcTT TTT}00gxc h   NR  30.  +0   /$% -C    )$ /  ?! y J6%0 0G0!|s zShellplay v0.71 Copyright (c) 1993 by Brian C Bening Freeware Permission is granted to freely redistribute this work as long as the program and this documentation file remain together and unmodified. What is Shellplay? It is a shell program that plays Amiga music MODules. SP can be used under ORCA, GNO, and ECP-16. Once launched, SP will install itself in the background and return control to the shell; thereafter, any program that does not use the Ensoniq or the Sound Toolset can be used in th>l>t  Wp$x8x|Y@qtuvwxye foreground. Usage examples: o multple MODfiles can be specified on the commandline. ex: sp after.the.rain bass.o.drums mod.hiv o ORCA wildcards can be used if shellplay was launched from ORCA. ex: sp mod.= o Filenames containing spaces must be enclosed in quotes. ex: sp "mod.Bass O Matic" o Single quotes will force SP not to use ORCA wildcard parsing. This will load one MOD: sp 'mod.===Blue===' o If only one song is loaded, it will continuously repeat. o The options passed to Shellplay are case sensitive. This will clear the playlist: sp -C This will print the current song: sp -c o Options can be separated or grouped together. These are equivalent: sp -C -S100 -V50 sp -CS100V50 Option List: -?: print a brief option summary. -K: stop shellplay and remove it from memory. -ts: guess the tempo method (Protracker or constant) to use by examining each song before playing it. -tp: force SP to use Protracker tempo. -tc: force SP to use constant speed tempo (otherwise known as VBL timing). -t5: use 50hz timing for constant speed tempo -t6: use 60hz timing for constant speed tempo -b: don't follow position jumps. Postion jumps are commands used within MODs to create infinite loops or to hide songs. +b: follow position jumps. -VX: set the volume to X% of the maximum. Where X is between 0 and 100. -SX: use X% stereo. X can be any value between -200 and 200. -S100 uses no channel mixing. This is how MODs are played on the Amiga. -S0 is Monophonic. -S200 uses channel doubling. Sounds similar to -S100; but, it has slightly better quality. +s: skip to the next song. -s: skip to the previous song. -gX: goto to song number X. +r: play MODs in random order. The playlist will be randomized each time +r is encountered and when songs are added to the playlist. -r: play MODS in the order they were added to the playlist. -C: clear all songs from the playlist. -l: print out the playlist. -c: print the name of the MOD currently being played. +H: use hardware handshaking on the modem port. This will confuse your terminal program unless it is set to 8N1. Also, your terminal program will not be able to control hardware handshaking while this option is enabled. -H: do not use hardware handshaking on the modem port. Bugs: o Random crashes... Blah. o While SP is running, Apple DMA SCSI cards may choke when transfering data from disk. This can be worked around by turning off DMA on your SCSI card. o When running on extremely fast accelerator cards, the sound may be grainy. o lots of spelling and grammatical errors in this documentation. Other stuff that may appear in the future: o a desktop version of Shellplay, for those people that do not have or want shells. o the Xplayer (tm) toolset, featuring all of the great features of Shellplay. o Xplayer. A sixteen channel MOD editor (and player). Please, if you have anything to say about shellplay or life in general, send email. My current address is: vacc0001@student.tc.umn.edu r{|f   <D. +b#G**uE9$34 v+K~,C ~ExpressLoadQ7k,E ~7HZ,E PSEG G0E K  HH"a3! Sound toolset is already active.- "gUnable to allocate DP.` "> g*t HHtH" gkH " h H "" "` "``p ptvHHHHHHH "HHHHHHH " `  - z KB+ z K4"|  ' |  |  Щ`8` ~ȷ~ )` ȷ 0)` ȷ- 3" 3 ZH ("hz `0: `8`) ZKDtNC&sHSnVErbclg?1zȂq`Illegal value. "8` H "h` H "h` H "h`kz+Z "z`MH)s􈘃z+IH "h`"` " 8``Ș)80 spc 56YƮH"h`б Bad option:  ")H ".7 "8`Invalid tempo setting.J "8`z+Z"h`z+Z"h`"`"`  H"h` ` |AMȀ ڭ*8  $rp  rz`% " " " "" " )r) `)/: "  G)m8i0/:0"  r ` |  Unmatched - "|H"K 8` Parameter too long._ "ԭDtt5  "H"`t  `2 0 H "8` HH;["e e H"5  eeH +")[;ikUnable to add songs to list: $ No match: --- Shellplay v0.71 Copyright (c) 1993 by Brian C Bening Freeware (19:45 23 Jun 93) All rights reserved. usage: sp [option(s)] [MODfile(s)] [ [option(s)] [MODfile(s)] [...] ] options: -ts smart PT/constant tempo + -s change current song -tp force protracker tempo -r don't use random play -tc force constant tempo +r random play / re-randomize -t5 constant tempo is PAL 50Hz -C clear playlist -t6 constant tempo is NTSC 60Hz -K kill and remove shellplay -VX set volume percent (0..100) -gX goto song X -SX set percent stereo (-200..200) -l print playlist +|-b follow position jumps -c print current MODfile -? print this option list +|-H modem port hardware handshaking default options: sp -H -r -b -ts -t5 -S70 -V60 send comments, suggestions, bug reports to: vacc0001@student.tc.umn.edu BYTEWRKS"HH"!"k; [ " HHH"z  +hhhhk; [ HHH"z  +hhhhk; [  )8 I"u H HI i " +;i kH( &"L(( ;[  8(I ȗ(  @+hhkHi H ;[ "+hhk R{$'*4Qknvz  C\ 1:KSin=eqy"'.16;@EUb ==)=Ȋ>==)=˯ < @>0)*0), **.0*), *0.=*=ለ(k|kK"$ "HHH H"$ H"k K&[ 8, 0xz /y(+k}0x /{("$$ H"kK""#"*HHH"$kK .,) \-H"h(8H "h$HHHڢ " ;[&+HiH""#hHHHH$HHH "h hHHHH$HHH "hhHH" ;[$+hhrpHHI"h*h""^kH$H!"h8,.*HHI"zhi*ZHHHHHHH "20"2H0H ;[-,ȷ.+hh2H0H"` K&[mHH HHH lHHHH ?HHHHH"HHH H"8hhH H"hh t" +k+"ukHH H H"HH H H"; [eeH"5  eeH)")+;i` K&[ t+kk ";: iʘ8 "`  f`: )8 HHHH AHH "hh 0 z JJJJ"ih` }|||||`.|` K&[":c0 m0"H"$H H "HH "$ H""H 2h " ""  Ș"йhH H""HH""+k : iei`4 "` K&[d"_H H "HH ""H 2hiiHH "H H""HH"" +k K&[5 "ႧH H "HH ">" ڢ "ᭌH"  "ᭌH 2hiiHZH " H H""HH""+k ""uhk8kK" b _ 8II8" "  zkH" h8)? H) ) h`<" < " `8`<*M.,K.T*FL,T4Hi . .HHHH H "1; [+hhi"  >HH H  "j  *" *HmmH *8 0 *H i@=kH H"h8kZڿH0mHHHZ H "z8`; [+hh" Jj IȷI mmH0f" mmJjH H8:hhz`iHiHѭHH). HJi )JJJJ), 뇔eh:Еh:Ѝ`0y{}z0P 4H\p<dɩ} Zx0 / < @>== >== >== >==(h` K&[ x"%X+`  )`X(\:}hS@. xq}@@@@``PP@@00   $  1JaxŴxaJ1%Jo(Mr+X(\:}hS@. xqR"}Y7{eQ>, ~wqLxU3xcO<* }vpFtP/u`L:(}vo@oL+ r^J8&|un: kH'p[H5${tm4fD#mYE3"zsm.b?kVC1 yrlX(\:}hS@. xR"|Y7{eQ>, ~w~LxU3xcO<* }vwFtP/u`L:(}vq@oL+ r^J8&{uk: kH'p[H5${td4fD#mYE3"zs^.b?kVC1 yr K| 88< >~=,>=0[)> Q$ "%6)6 :6 60<>=>=00< >=,>=| 8j8+k""$x0 `==X0 ""k"$k0x<>=?ᢠ>=>=ީ>=(kJ) ` $8L`t0 dھZ0>"^%0z0G< >=0 $8L`t3`< >= >==)=00I0`H6)6:6 6h` H+ `<%+ 8'%08 e:0k  i k k2722Ͳ V+"(ͺA ))  Hm Ͳ0: <<0<0 ʈ"$ << 0 pZ &z "*!k 9,"$"")%) x 1P0<FxH HH0ĝ0<") Zڛ'z0$)&8Z00y >zPd`P0% ݠ<0`'''?('?('''''W(H(o(''#)JJJ|'''''''''''''''''<`#) ` )0و'Hy8:h ` <`<`#A@x`# `#)H)HJJcJc@ `P` )d)`$`t8L)*0), **.0*), *0 <>&=== >'=== @>=.=*= >=ṰI== >= == >0= ==0`=Y= = ` `d& ((8f((&f(&((&F(&((&&&`0x0x0)>8` Q$0: d0`0)>8`Z Q$z0<>=>=0  0I0Z>"^%0%"^%0z 0dXz0뙝dK*I*F*e,,F*e,,F*e,,F*e,,F*e,,F*e,,F*e,,F*e, )mv*`0: گ <<<P >===x0 6)6 :6 6>==0J) <<p x<<<P 0 (0z . *. Z,z0`^,^,^,/^,/^,^,^,^,^,^,-^,_,/0:  Zk,z0`)JJJ|,1--5/:0//400^,^,.^,^,^,_,^,,--h-0^,^,l1^,,--q-1-^,^,`PQ6)` < >===0 (0 H @<d`)Ͱ@<` < >===0 (0`)`)Ͱ`A@)) )H8qqh `) )yXX ҹ)ƹ)JJJJ)IyA@ < @>0)*0), **.0*), *0.=*=` < @>0)0*), **.0*), *0.=*=`0 )0 <>&=== >'===` Pٜ `` ` B/p Mpy٘. Iy0٘  , ` 0 i>20220 0` { y`zd+* e* e* e* e* e* e* e* )* <,>+== >*==~` V0)\)JJ]H|\0b0o0y0IJJ) I I )*\)I,F,e**F,e**F,e**F,e* )IIy .]yII`) H`) I4)JJ5 | 111(1!JJ) ! I4-0)* 1 0! Iy yA@ w.5y!!`) ``G JJJ 00). i>22e.H2000`0,e* ,e* ,e* ,e* ,e* ,e* ,e* ,e*`========= = = = = =================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==================================================================================================================================`"fl "NY\_ju|*6GKU]ak_ehux{'2FILVZcnz~  $38IN !.2=AOUXh !$,/6;>CWZgjqt) #+6>DGQX[^djwz}25:>AFJNv $,/29?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~dl*<,E jpegquant3},E jpeg2'pE ,E jpegdct4_ ,E vgalibe T0E T "w"O"j?"F;8F [ں {i>H"'hhh@fJ.t@hL0v@jNp2x@lP4znRa6|pT[8~rV:tXS<vZ\>x\_@ zX^TB |X``D~bVFdHں{iH" h$ʏ H h3)G)S)V)G)A))    )) I  8pI0ʊ1ttH"hchch~E)1xx~~ں&)"$h h Șں HHH"hHhhCںH{i>HH"hں H"hIfںH{i>HH"hں7hi H"h+;iFkjpeGS1.0rb9:jpeGS.prefs *:System:;8 ["%ں H"hH  hhں H"hH hhHH/"%"|hںH H"hHH"%"|hںH H"hHH{i HHY"%hں H"hں H"h+;ik%i%i;8 [HHHH"%  hh ں "} h ( H "% hh+;ik;8 [HH H"%  +;ik;86 [ںe:H"hH hh<?ں [HFhhhhHFiHFiHFiHFDBhiHhiHhhhhHH"% hhHHHH :Ha"%hhH"%HDBhi&Hh)8 ں {i H"hHhhں HDBhi&Hcc{i H"ghHhhں {i H"hHhhH"%H H:"%{i H"%HHHH0"% hh H"% "%@H?G+;iFkDecompressing ...;8 ["%H "%+;ik;8 [ ں " h H  hhh  Șe i iK hiHhhHHhh hi HhhHHhh hiOHhhHHhh hi&H ں H"C h )  ) ں HH hi&Hcc"' h HH hi&HH5 HH Ha"% hiHhhhh HHhhhN ں ں "} h HH"V h ں H" h _HH hhhh Hh i iim hiHhiH ii)  )  ) ii ii i&H hiHhi HhhhhH iHHH?"%HHH"% ں HH"V h +;ik;8 [hȘںhiH"y hQHOHhhhI QOH"%H "%HHhhhI H"%"H HhhhI " H"% {i HhiH$ں H{i H"hiH"%HHH"%ȘHhn  Ș  HH hhhhںH"h+;ik;8 [{iHhiH$ H hhں H{iH"h+;ik;8D [ JH" H "%HJH" HhchchhHH13hhں H{i H"hں"}h1ںں"}hHH"Vh 57HJHhiEHhhhhJHhi$H JHiںJHH"HhںJHH"aIhXںJHH"hںJHHH"hںJHHH"h  JH" H""% FJEI+;iHk;8 [ںH"?(hH"%{iH "%{iH:"%uں"5 hںH"?hںH"2h-ںH" fhHHH"%hںH"%h+;ik;8r [gmPH2HHfH{iH{i_H"%ں"}h,ںں"}hHH"Vh6_/ik H "% ںT.{iAH"hi8pI0ʊ8pI0ʊh{iAHeHhchchiHhiHHhchch)  ){iAHeHhchch)  )ںW.{iAH"h H""%ں{iAH""!h h Ș%ikH"%oqH"%hikH hiHhhhhoqH hi Hhhhhں H"[*h+;irk ;8  [HHHHHHa"% hhh Ș&芢H HH<"%$H HH<"%!H HH<"% HHhi H:"%HH{iHHd"%  hhʠ  Șʠ  Șʠ  ȘH HH="%h H HH="%h  HHhi H;"%hi H)Hhchch):>hi HHhchch:)  )ں11"$hhȘ2ںHHH"hںH"h"% H "%+;i kwb9:jpeGS.prefs;8  [&$Iں{i H&$H"hں&$H"Oh ں" hں&$H"'hں&$H"aIhں&$H"?h  "&!%+;i$k;8  [ںHH"%"~ h  i wںںHH"%"~ hHH"hYںںHH"%"~ hHH"h 8 q4H`34v4ں H"?h +;ik;8 [  Șoh  ȘhȘh  ȘCH1"%H1"% H1"%HH"%dH iH2"%H0"%H0"% H0"%HH"%*"%MH iH2"%HiH2"% Hh  +;i k;8 [ h Ș I_ iH8I +  h Ș  +;ik;8 [HH"h "ں H"A6hH"% 3ں"Bhں"r+hzںںHH"%"~ hH"%hD;852/,ںHH"%"~ h h  Șcں H"?hں H"2h-ں H" fhHHH"%hں"Z.htq,%}ɸ ɻ zHH,"%+;ik;8  [HHHHC"%  hh H"%9"%H"%H"%hں"4h*"%+;i k;8L [HHں"hHHH "%hhHHH"%ں"}hHHH"%H "%HHHhchchhHhchc!hh#ںHH"VhA!)%HH!)Hhchcں"hHHH "%hhں!)H!cchiHhiH"hhiH!)%ںd?{i/H"hi##8pI0ʊhiHhiH#Hhchch):HhiHhiH#Hhchch)/#G#Hi8))8pI0ʊ))e#)i# hiH  hhں H{iH"hi%#i%')8%pI0ʊh{i/H'HhchchiHhiH%Hhchch)  )%''{i/H'Hhchch)  )ںg?{i/H"hں{i/H""!h-+h+-ȘH"%OH""%-+hi Hhhhhں-+H"[*h!!)iHhchc!hhH"%+;iLk ;8 [HHں"hHHH"%  hhں"}h$ں"}hHA"%ں"hں"59hں"9h"%hiHhhHHhhIںںHH"%"~ hH"4hHHHHk"%hhHHH"%h vں" 7hںںH"~ hH"%hgں(&H H"2h=:8 kAH`@AAAA@AA@AAAAAAA'AAH H"%+;ikCould not start tools: "w"O"j?"F;8 [)Jȷ) eȷ)JJJeZ zԥ +;i k;8 [))JJJJe Z z  ) +;ik;8 [H ɠ eʤJie  ֫+;ik; [H+;ik;8 [ H"Hh#h#h)   Hh#h#h)  ں)HH HH"hں)HH HH"h  +;i k;8  [ 8pI0ʊhiSH Hhchch)  )hiSH Hhchch)  )hiSH Hhchch)  )@ںhiSH"Wh  +;ik;8  [ iL8pI0ʊhiSH HhchciPHNHhHHHhchch))  )hiSH HhchciPHNHcchHHHhchch))  )hiSH HhchciPHNHcchHHHhchch))  )6  +;ik;8 [ںH HH"h+;ik;8 [ں"H HH"h+;ik;8  [ H Hhchch"hchc""+ںHHHH"ܷh8hh hhںH HHH"ܷhں "hchc 8hhH"ܷh  +;ik;8 [ں hiSH"hH hiHhhhh{ hiSHhhhhl| hiSHhiHhhhhں hiH":h  +;i k;8 [ںhiSHhizH"h=ںhiH" hiں$HhiH"nhںHhiH" h?iiiIiII2ii iMIIiMi@ʊ*iʊiMiM=IiMiMiHffMH"hchchzʊ@ںi"ffMH"hchch"1"@"" h"""W iHiH"JJMH"hchchH"" "H" hh H H " [@ں "  ""@"" h"""W ii  8 pI0ʊ  i ii ںhiH"h+;ik;8 [ں hiSHhizH"hXں hiH" h i QOH"%!ں hiH"h  +;i k;8  [ں&$hiSHhizH"h]ں&$hiH" h&$i&$QOH"% ں&$hiH"hJJ&$MH"hchch芢H&$iBHJJ&$MH"hchchH"hchc"hh&$iDH"hh&$ &$QOH"%HHHں"hHHH "%&$hiOHhhhhں"}hz&$hiOHhhHHhhں&$hiH" hںں"}hHH"Vh&$QOں&$hiH"h&$iBH&$iH"\ ںH HH&$hiH&$i HH:H  HSkz JJ&$MH"hchchH-B&$iں&$H"Dh(JJ&$MH"hchchHF&$iں&$H"DhJJ&$MH"hchch AMJJ&$MH"hchch F&$iRH&$iDzʊںH H&$hiH"hں HH hH:H  Ukz"hchchh*&$QHOH""%&$iں&$hiH" h"&!%+;i$k;8( [.,i[8pI0ʊ:{i HH"hchch"+.,iL8pI0ʊ{i HH"hchc.,hiSH"Hhchch)"N"\H.,hiSH"iHhchch)"N"\cH.,hiSH"iHhchch)"Nc.,QOH "%ں{i H.,iDH.,iBH.,QOH"dxh.,QOH""%*.)-+;i,k;8H [ںH..NLMH"hchchH" ha' ںHH"Vh /'ںHH"Vh ffNLMH"hchchHNLiDH"JJNLMH"hchchH""hhffNLMH"hchchHNLMH"hchchH"JJNLMH"hchchH""!#hhNLMH"hchchHNLiDzʊ#!#!"ںHH"h#!8hh!#hh)+ںH"h=8=pI0ʊ4=H"hchch=#!"eں+)HH"AGh+)hchc)+hh#!8hh!#hh!#$ں+)H#!HH"AGhںH"h(ں#!HHH"hJJNLMH"hchch_NLiںNLH"Ch!ںNLhiSH"WhNLiDHNLMH"hchchzʊYNLiDHNLMH"hchch8"N??ffNLMH"hchchHJJNLMH"hchchH""57hhNLiBHJJNLMH"hchchH""9;hhffNLMH"hchchHNLiBzʊ75ʆ'%;9NLiBHffNLMH"hchch8H"JJNLMH"hchchH""%'hh'%ffNLMH"hchchHJJNLMH"hchchH"?H""hchc)+hhNLQHOH "%{i Hں"hH"<CANLMH"hchchHNLiDzʊONLMH"hchchHNLiD8CffNLMH"hchchHNLiBzʊOffNLMH"hchchHNLiB8AHAHHCH"%"%JJNLMH"hchch"E'{iHں"hH"< H8ں HffNLMH"hchch"H"JJNLMH"hchchH"""Ch ںH 8H"h8pI0ʊX H89 HA8I  NLQO31+)/-=NLiD=ʊxں/-HHE"\H31hchc"AGh;931hchc13hh75/-hchc-/hh=d)ʊHHH H"%NLQOH""%ںH`H" hJNIM+;iLk;8 [ M8pI0ʊں H"Xhں H"MVh  +;i k;8  [ d8 pI0ʊb H"hchchHHhhHHH ں " h HHH "% H"hchchhhh H"hchchHHhhIE H"hchch~hhl i) ں HHH:H  uhk z  +;ik;8 [d8pI0ʊH"hchchHHhhIH"hchchȘuH"hchchHH"%H"hchchhHHhh  +;ik;8  [ d8 pI0ʊb H"hchchHHhhHHH ں " h HHH "% H"hchchhhh H"hchchHHhhIE H"hchch~hhl i) ں HHH:H  kk z  +;ik;8 [d8pI0ʊH"hchchHHhhIH"hchchȘuH"hchchHH"%H"hchchhHHhh  +;ik;8  [HH/"%h"?333330""  +;ik;8; [ {i HhiHEC $MKH&(hhں H{i H"hں"}hgA?i?ںA?HA?HH:H  jnkz*{i*HhiHEC IG.0hhQOH24hhں H{i*H"hں"}h(68H24hhIںں"}hH p{iH"hA?i>ںPH{iHA?HHhiH"'hںA?HA?HH:H  pkz=Q@hhں H{i:H"hں"}hںں"}hHxw{i H"hywi=ںPH{i HywHHhiH"'hHhhںywHywHH:H  vkz}{hi H<m}{hhhh1p}{hiHhhhhr}{hiHhhhhut+;ik%ptmp%0.4i. Create error %x.. Open error %x.;8  [ d8 pI0ʊ? H"hchchhHHhh HH/"%h"?333330"" +;ik;8 [  +;i k "w""O"j?"F;8 [8pI0ʊ4{iAHHhchch)  )"%H{i!H"%H"%ں{iAH"Bh{i Hں"hH"<HHH"%H"%@芢 iJ芢@ʊ@ʊ8"NH8"N"\cH8?"NHH8H"%"%{iHں"hH"<ںHHiJH Hi"NH H"hchc" HHhchc"Bh)ʊRH"%H{i!H"%ں{iAH"BhHHH H"%*"%"%9"% +;ik "w#"O"j?"F;8  [HHhh ںH HH:H  .|kzںH hizH"h  +;ik;8 [ں{i HإHإօH H:H  |kzd {i "%HH{iHY"%hԅإӅ+;ik;8 [hiHhhHHhhgiںHHH:H  }kz =ںH"wh ںNH"fh h ȘںH"4xhi4HHhiHhںHHH:H  ~kz hhhhۜ hiHhhhhR hiHhhhh hi Hhhhh hiHhhhhڊ hiHhhhh hiHhhhh hiHhhhhm hi Hhhhh hi$Hhhhh hi(Hhhhh hi,Hhhhh8pI0ʊ hi0HH"hchchhHHhh hi8HH"hchchhHHhh^ hi@HhhHHhh hiDHhhHHhh hiHHhhNHHhh hiHhhhhں"hHhhhIx)  ں{iH{i HH"Sh8pI0ʊ~)m)M "  hh " hi,Hhhhh+;ikJPEGMEM%ld%c;8& [,*HHhh H  hhʆ B@!h!Ș!HHhhh!H!H""V hchc  hh!H!H""Vhchchh!HH!hh FD%#h#%Ș%#HHhhh%#H%#H""V hchc  hh%#H%#H""Vhchchh%#HH#%hhH "@ں JHHH H,*H"3mh" ʅ;= "hhH"ʆ B@!h!Ș#!HHhhh!H8hh!H"hchchh"'!hi H!!hi H!H"hں!H!H""!hiH,*H"sh!iں! H!HH,*H"RhH!hhhh!hi H L!i!i!i!! FD%#h#%Ș#%#HHhhh%#H8hh%#H"hchchh"'%#hi H%#%#hi H%#H"hں%#H%#H""%#hiH,*H"sh%#iں%# H%#HH,*H"hH%#hhhh%#hi H L%#i%#i%#i%#%#(,'++;i*k;8 [HHh h i HHhiHh ں HHH:H  k z ں +HH" h HhhhhHHhhi ii"ii FHDHhiHhhhh hiDHhhhh"!+;i k;8 [HHh h i HHhiHh ں HHH:H  wk z ں +HH" h HhhhhHHhhi ii"ii BH@HhiHhhhh hi@Hhhhh"!+;i k;8 [8pI0ʊ ںH H"hںN H H"hh hiHhhHHhhں H"4xh  +;i k;8 ["e$  ʊ$ $ʊ4 HHhhhgi ں HHH:H  ik z "ʊ6 H  c ʊ IgiC ں HHH:H  Ik z 6 ں H HH" h i "ʊ i"p  H H8hhhhH"Hhh i ں H HH" h  ʊ "ʊu&gi ں HHH:H  k z "   & i   H"Vhh H 8 H 8  ʊY ں H HH H"hchchH"ً h w&Igi ں HHH:H  ~k z & i HH H"8H"hchchh&%+;i$k;8 ["e$  ʊ$ $ʊ4 HHhhhgi ں HHH:H  k z "ʊ6 H  c ʊ IgiC ں HHH:H  ږk z 6 ں H HH"¬ h i "ʊ i"p  H H8hhhhH"Hhh i ں H HH"¬ h  ʊ "ʊu&gi ں HHH:H  k z "   & i   H"Vhh H 8 H 8  ʊY ں H HH H"hchchH"ً h w&Igi ں HHH:H  k z & i HH H"8H"hchchh&%+;i$k;8  [&$HHh h =*H"Vh"|hhH"g&$iD ں &$H&$HH:H  Nk z ,H" , iL ں ,H"V(H&$H" h ,ʊ,8ʊ,8 ں H*"V"V(H&$H"ۜ h HhhfH"hchchhhh*H"hchchh",!++;i*k;8 [ HHh h =&$hh ں H H"j h &$"hhHhh.8hh&$hchc$&hh8"pI0ʊ"8pI0ʊ i  HHhiHh" ں H HH:H  mk z ں &$hchc H"i h HhhhȘ ں H H"j h iH &$hchcHHhchchhhh hi8H"H"hchchHHhhhh&$hiHhhhhHhiHhhhh hi8H"H"hchchhhh cchh&%+;i$k;8  [&$HHh h =*H"Vh"|hhH"g&$iD ں &$H&$HH:H  k z ,H" , iL ں ,H"V(H&$H" h ,ʊ,8ʊ,8 ں H*"V"V(H&$H"ۜ h Hhh\H"hchchhhh*Hhchchh ",!++;i*k;8* [0.HHh h =64hh ں H0.H"j h 64"hhHhh.8hh64hchc46hh82pI0ʊ28pI0ʊ0.i 0.HHhiHh2 ں 0.H0.HH:H  &k z hh hi0H2H"hchchhȘP64 hhhȘ 64hchc!hhhȘ62H"hchch%#:2H"hchchHH#%hh!= 8hh%#hh!= 8hh#%hh ں %#!hchc0.H"f h HhhhȘb%#"|#%hh%#2ʨhh ں H0.H"j h J iH)'%#!hchc)'HHhchc)'hhhhhhHHhhHhiHhhhh%#64hchchiHhhhhhȘD hi0H2H"hchchhhhhhhh cchhHH"Vhchchhi)'64)'HHhchc)'hhhhi)'64)'HH8hh)'hhhh,6+5+;i4k;8 [(&H"V hh(&H "  hhHhh(& H"1(& H8hh(& H"#(& H8hh(& Hhh(&Hhchchh(&H8hh"#(&H8hhhh(&H8hh"#(&H8hhhhH" "hh*ںH H"(&HHhchchHH(&hiH$"H(&iHH:H  ƫkzںH H"(&HHhchchHH(&hiH$"H(&iHH:H  _kz hchc  hh(& Hhchchh *)+;i(k;8 [(&H"V hh(&H "  hhHhh(& H"1(& H8hh(& H"#(& H8hh(& Hhh(&Hhchchh(&H8hh"#(&H8hhhh(&H8hh"#(&H8hhhhH" "hh*ںH H"(&HHhchchHH(&hiH$"H(&iHH:H  kzںH H"(&HHhchchHH(&hiH$"H(&iHH:H  $kz hchc  hh(& Hhchchh *)+;i(k;8* [0.HHhh 82pI0ʊ28pI0ʊ0.i 0.HHhiHh2ں0.H0.HH:H  kkz2 BH@HhhhȘhiںhiH0.Hi HH:H  .kzR hi@HhhHHhh FHDHhhhȘhiںhiH0.Hi HH:H  "kzR hiDHhhHHhh hi8H2H"hchchHHhh hi8H2H"hchchhHHhhhȘHHhh!  HHHHhchchchchhںHH0.H"kh iH%#%#HH8hh%#hhhh! hi0H2H"hchch hi0H2H"hchchhHHhhh  Ș HHh'h)  HH HHhchchchchhںH H0.H"hh iH%#%#HH8hh%#hhhh)' ,2+1+;i0k;8 [ i4 HHhiHhں H HH:H  kz +;i k; [x Ը    Ƹ (  +;i k; [x Ը   Ƹ Ը  Ƹ(+;ik; [x Ը    Ƹ(  +;ik;8 [dx Ը        Ƹ) Ը  Ƹ Ը))d d  Ƹ(+;ik ` ` ɥɦ ` ϸ ` ϸ ` H [  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~+`;8 [x    c௲  GSȷVȷGȷA믲ઇ   (  +;i k; [x Ը  Ƹ (+;ik; [x ԸT Ƹ(+;ikHHHH"%hhhhk; [ʼ̼μ"%+;ikHHH"%hh h kIhkzKhhhhhZ "ڊ)? @H " " "իk ͣL";8 [KH H"H H"tdi i ɥ-1--w    r" p )@ H H" H H" ii d  +;i k;8 [KHH"n)bȷ8ȷ "  HH рHH": )d+;ik;8 [Kdd)awr OHH"!  u &ȷ & M K" G=r U q o" m " G )wIe" c9X4a-IS[" QWaU_" Y""  HH"-/-/ȥ ȩ)+bȷ)+arQIu ȗI H H"+;ik)+O8`bu8``;8 [H H"  )   <   A H" H " "ႩH H ѩ  )    H H"t i ȷ i  8  ȷ :      )  ) H H"t  +;i k;8 [KÜåHH"HH"H HHH"hhí \Üï)""   í Yå å" L À HH ѭHHH H" hhhh íÅÅ+;ik `; [K ŜťHH" HHH H"hh ŭ e,H" ŭ ť ŀ|wH " ŭ ݥť ŀHťHH"tť" HH ѭH H HH" h hhh +;ik;8 [K0ș0" y)0ƞ0ƅ  +;ik;[KLj[k; [HH J     z +;i k; [HH J    z  +;i kȏ ɥ3ɥ*!zhZ(HH " "hkHHH"zhZګk; [iȥ+zhhZګkKzhOhQZګ'ɏ ^hzHګQڮO ;[)+hhKOQɫkKzhhZګɏɏ2 HH ;[)οɩ+zzk οkHH; [  e    +;i kHH; [    +;i k; [  +hhk;8 [   e 0   +;ik;8 [00*  #   +;ik;8 [  0&   ȗ +;ik%k!k; [ & dd ! f f+hhkKˎzHHHHHZګ;i H "k; [{iHHH "+;ik; [+;ikH h\"KzZڭHH; [6Μ8"Wi # " Ȁ " Ȁ  Z8czHHH!H "$ Out of memory̢ "\"h h  ͎m͐  Ȁ  ͅ ͅ )s  "   i  ")0"!)    ͅ ͅ +hhkK8H6H ;[$hHHhk֯/-/H-H"+hh`; [ ȊwHwhȷ+;ik;8    ;[ +hhk; [ & dd  !F f+hhk; [+;ik; [HH"+;ik'H; [*8e쪥+zzkh@k H H; [ L" &&&8 *8 e  +;ik H H; [ L" &&&8 *8 e  +;ikH; [' mЂHJ e effff` mХ Fe jf +;ikKii; [  8+hhzhhZګk; [ +hzzH`;8 [ H H"CH" H H HiH"  +;i kK ;[:ӧ)%H"  +hh:k 2Ӝ$Ӝ.Ӝ0Ӝ(ө ,Ӝ*Ӝ4Ӝ" CҰ ҍ$ӧ). 0 ҍ.ӧ)l(Ӏ Lh  ) < S|ҧ)-*Ӏ,0,Ӏ"+ 4+4Ӏ #" 8``ҧ)* Ҡ )`)0:)Hҭ mc %n'spcX,x$o@udifeEgG:\K ;[՜՜՜w"yw"V)) ( )) "y) "%uu "yu")A%4 )/%"*[ )] )  +hhwk ՜՜է)* Ε ԍէ)lՀh Ο ) @1 |1՜/է)0":)H/խ/ m/c/ ԭ/`diuoxXcLs pnfeEgG%[\H:h\5h!@5h!????@(((((‚Ą;8 [K H H"  ) ) ) m 4""C H H ѩ2    {iةة؀ ȷ ؠ ȷ ؠ " L  ) mؗ ȭmؗ  ȷ  ؗ ȭؗ    i ȷ i )8  ȷ :  )    I   )   +;i k;8 [KHH"HH"tڍڥ "  mڅ m څ HH"e e "   ڐ ڥ " a ڥ " Kg7ȗ Ȋd +;i kHH р;8 [K HH"d HH"tW" HH р8څڅ$8ȥ)  +;ik܀ܜ.Ӏ Ӝܥ I-4ӭ0 8Ӏ.Ӎ{i H "< "᭏0<ӽ:e<ӽ<ӝ=ө0<02 <ܰ0<ӽӠ=T6"10<Ӣ<0 :<<ө.<< 蘼<ӝ<Ӏ04$ӭ<)8$I$ӭ,0 4H",0$0 0"$<)8፿᭟ Ο0  )` ⭝Ν"y) Ν+- ]0H0 h E. 8 3eE% !+-  "ΕՀQW;)0:0 <"H H HΟ  "  "᭗ )` "yΝ`8`<`0: `<ө<Ӡ=T)^ η )] <ӝ<Ӏ "wyȩȗ na i  U GEUS ",F e i  "y "y8  0 E SU ",) i+;iki菜HHHH!H@@H "hh kHH; [OȗQȗȥȥȩOQ OQi+zzzzk;8  [ "{["" && & 8   *8e 8 +;ikHHHHH; ["SU  ȷݠSȷU ȷ+;i k 0 Jk  Jk; [ f fdd  !& +hhkd8d d 8k;iHi H "  ;i kH ;[Fe+kK !猾;i H!H "];[c:zZګH "hHi " kInsufficient bank zero memory "H"\KError occurred at line "H" in procedure """Y  " " Line Name " ---- ----: " x? *8f)6HZ 3!3u FAy}z!gnu|L,;0fno]7=Gnx @Hci:>Dxj.z-0 []_acegikmoqsuwy{}8:<(T^SYqsugkmoqsuwy{}D$qÂfOv%*#Ks;7seEzց Ji "[ g*! %*/49>AD`chmrux  !$0:BIe '*/47:VYl '+/37\v{  ]x !4A@ENSVY\chm%),/PUX[^ej17HRUZw /3FKZ^drH`dkn=Bh .L#V]`evy "*-3GW\fw{ 3KPU߁ !$69C3 4X9PZx"4 ,;J]'-JO38m*]x3m~uY5/49>JOF*Ws#D9d'l6EDSdo,DvVakqy+/ɂ~qˁ"'KZ^:O}:sy'O^͂ۃc@Њz `3Յ2"Ufn 9Ë"PǂVloZ,utLF:n X ]9o!} c6"؅5%Xiq<Ƌ%SʂYor ]/x"w OI=q[ `g??AAH{Hl|>SISS-B)TFTAUFUUkhvhkk`nknLo popqqqrrrsYwtdwpu{uuxwvvvmv1p"wrTx"{#$|/|||}}~~~~ۜ~R Hpڊm8с4mx_j?J tЖۖ𑘜DOcn'ǫU`%al$/#𦼩Ys Ւ_ł~ȇ'kɂyɮڏۓۏۓ!<=>܏ܓB=C<<S=T<<<<ll)1/,H:so'0E ~GLOBALS '-i  -KK1m-)+iegk)ei - i_G@0E ~ARRAYS GOo "6f*Jt!FYn * Y   9 w  # H j 3 Z  : ] { ;bw:d-DQy%G` K $=q@qABogus message code %dSorry, there are legal restrictions on arithmetic codingALIGN_TYPE is wrong, please fixMAX_ALLOC_CHUNK is wrong, please fixBogus buffer control modeInvalid component ID %d in SOSIDCT output block size %d not supportedBogus input colorspaceBogus JPEG colorspaceBogus marker lengthSampling factors too large for interleaved scanInvalid memory pool code %dUnsupported JPEG data precision %dInvalid progressive parameters Ss=%d Se=%d Ah=%d Al=%dInvalid progressive parameters at scan script entry %dBogus sampling factorsInvalid scan script at entry %dImproper call to JPEG library in state %dBogus virtual array accessBuffer passed to JPEG library is too smallSuspension not allowed hereCCIR601 sampling not implemented yetToo many color components: %d, max %dUnsupported color conversion requestBogus DAC index %dBogus DAC value 0x%xBogus DHT countsBogus DHT index %dBogus DQT index %dEmpty JPEG image (DNL not supported)Read from EMS failedWrite to EMS failedDidn't expect more than one scanInput file read errorOutput file write error --- out of disk space?Fractional sampling not implemented yetHuffman code size table overflowMissing Huffman code table entryMaximum supported image dimension is %u pixelsEmpty input filePremature end of input fileInsufficient handle spaceCannot transcode due to multiple use of quantization table %dScan script does not transmit all dataInvalid color quantization mode changeNot implemented yetRequested feature was omitted at compile timeBacking store not supportedHuffman table 0x%02x was not definedJPEG datastream contains no imageQuantization table 0x%02x was not definedNot a JPEG file: starts with 0x%02x 0x%02xInsufficient memory (case %d)Cannot quantize more than %d color componentsCannot quantize to fewer than %d colorsCannot quantize to more than %d colorsInvalid JPEG file structure: two SOF markersInvalid JPEG file structure: missing SOS markerUnsupported JPEG process: SOF type 0x%02xInvalid JPEG file structure: two SOI markersInvalid JPEG file structure: SOS before SOFFailed to create temporary file %sRead failed on temporary fileSeek failed on temporary fileWrite failed on temporary file --- out of disk space?Application transferred too few scanlinesUnsupported marker type 0x%02xVirtual array controller messed upImage too wide for this implementationRead from XMS failedWrite to XMS failedCopyright (C) 1995, Thomas G. Lane6 2-Aug-95Caution: quantization tables are too coarse for baseline JPEGAdobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %dUnknown APP0 marker (not JFIF), length %uUnknown APP14 marker (not Adobe), length %uDefine Arithmetic Table 0x%02x: 0x%02xDefine Huffman Table 0x%02xDefine Quantization Table %d precision %dDefine Restart Interval %uFreed EMS handle %uObtained EMS handle %uEnd Of Image %3d %3d %3d %3d %3d %3d %3d %3dJFIF APP0 marker, density %dx%d %dWarning: thumbnail image size does not match data length %uUnknown JFIF minor revision number %d.%02d with %d x %d thumbnail imageSkipping marker 0x%02x, length %uUnexpected marker 0x%02x %4u %4u %4u %4u %4u %4u %4u %4uQuantizing to %d = %d*%d*%d colorsQuantizing to %d colorsSelected %d colors for quantizationAt marker 0x%02x, recovery action %dRST%dSmoothing not supported with nonstandard sampling ratiosStart Of Frame 0x%02x: width=%u, height=%u, components=%d Component %d: %dhx%dv q=%dStart of ImageStart Of Scan: %d components Component %d: dc=%d ac=%d Ss=%d, Se=%d, Ah=%d, Al=%dClosed temporary file %sOpened temporary file %sUnrecognized component IDs %d %d %d, assuming YCbCrFreed XMS handle %uObtained XMS handle %uUnknown Adobe color transform code %dInconsistent progression sequence for component %d coefficient %dCorrupt JPEG data: %u extraneous bytes before marker 0x%02xCorrupt JPEG data: premature end of data segmentCorrupt JPEG data: bad Huffman codeWarning: unknown JFIF revision number %d.%02dPremature end of JPEG fileCorrupt JPEG data: found marker 0x%02x instead of RST%dInvalid SOS parameters for sequential JPEGApplication transferred too many scanlines@XSBK@I2"X!{sbhXE 0~SsAmTbSAA-BKbhTb~XBK!;(@XSBK@I2"I2EA!;I2'7 " 0A-("7 ~ ?aHP1?oM?lb??;i$? {zQ?]rU? @ @ @ @0 <3?@pL|CsO ,#/ߠ`Pl\cSo_84 ;7HxDtK{Gw($+'רhXdTk[gW2>1 =BrN~AqM}".!-ݢbRn^aQm] :6 95JzFvIyEu*&)%ժjZfViYeU     !(0)" #*1892+$%,3:;4-&'.5<=6/7>????????????????? * )+ (,5  '-46!&.37<"%/28;=#$019:>?@>c) sOV]@F(@  c! `OPT(@  (P@S[i\ap| c) sOV]@FP@  Ȁß >@P@  {7 $(,048<@DHLPTX\`dhlptx|>  $(,048<@DHLPTX\`dhlptx|"&*O.o26:>B F"J6NfRVZ^b*fJjtnrvz~!FYn * Y       9 w     # H j     3 Z      : ] { " & * .2;6b:w>BFJN:RdVZ^bfj-nDrQvyz~%G` K $=q@qA+5QU0E jpeg "w!"O"j?"F;8  [HHhh i"  +;ik;8 [$"HHh h  {i HhiH   HHhhHHhhں H{i H"hں"}hHhhIX "g$"i'ں$"H$"HH:H  kz$"irںH$"H$"HH:H  kz  HHh)  )  HHcch)  )HHhh  HH hhhhH hiHhhhh i" $#+;i"k;8 [HHhh " H"I H8hhhhںH"^h  H"V HHhchc hhhh i H HH8hh hhhh+;ik;8 [  +;i k;8  [HHhhں$HHHH:H  kzHhiHhhhhHH hhںHHHH:H  kzH hiHhhhhHH hh hiHhhhh^ hi Hhhhh hiHhhhhF!F! hiHhhhhV hiHhhhh iH hiHhhhh hhHHhh  +;ik;8 [ں H"h  +;i k;8  [HHh h ںFHH"hHhh hhhhi ںH" }hhiHhhHHhhhiHhhHHhh8pI0ʊHhi`HH"hchchhHHhh8pI0ʊhipHH"hchchhHHhhhiHH"hchchhHHhh\ںH"hںH"hi +;ik;8 [ں H"ňh  +;i k;8 [   *I RH Dzʊg iAں H HH:H  kzں H HH:H  kz i  i  i HHhiH ں H HH:H  kz ,*Idں H ,*HH:H  h kzprں H HH:H  kzں H"h  +;i k;8  [iHHhiHںHHH:H  kzںH"h  gi1ںHHH:H  |kzںH"h   H`  +;ik;8 [iHHhiHںHHH:H  kzDHRzʊvivںHHHH:H  ,kz HHhhhIRH HHhiHhhhhDH HHhiHhhhhںH HH:H  ;kz ںH{i HHH HH:H  kziR e  +;ik;8 [ZںH", h*ii,*Q HHhhhIJںH HH:H  kzںH,*HH:H  gkz c W HHhhhI3   i  HHhchc hh  "b i H HHhchc hhhhhiXHTiHHhiHںHHH:H  kzںH"h+;ik;8  [rںHHH:H  fkziRiRHDzʊ HHhhhIRH HHhiHhhhhDH HHhiHhhhhںH HH:H  kzR ںHhiRHH HH:H  YkzRH 8I)ںHHH:H  kzںHHH:H  kziRZhiH,  +;ik;8  [ںHHHH:H  kzH hh hi*Hhhhh hhhh hiHhhhh hiHhhhh) hi Hhhhh i i i  +;ik;8  [  ,ںH,*HH:H  fkzںH HH:H  kziںH,*HH:H  kz ,ںH""hi  ںH,*HH:H  kz iHHhiHںHHH:H  Bkz. 8  dH`![ccccccc  +;ik;8  [,H*Hhh  hhhh i i iںHHH:H  RkzںH0.HH:H  kzhi\HhhHHhh  +;ik;8 [ں H"@hں H"9hں H 42HH:H  Vkzں H $"HH:H  kz $"HH ,H*Hhhhh  +;i k;8 [,H*Hh h gںH0.HH:H  kz  /ںH"$*h i Igi ںHHH:H  O!kzںH"h, i 0.Rgi9ںHHH:H  "kzXTHXz8pI0ʊ$hiXHT  "H`~" r!" +;ik;8 [wiiii) iiimHHhiH)ںHHHH:H  $kzi  J$H`M#d#{#Y{i HHHh{i HHH.cch{iHHH\cch  iT R GBiHHhiHhhh cch cchijںHHHH:H  &kz ii) iiimHHhiH)ںHHHH:H  'kzi  'H`&'''iiKii : ](H`"("&(ii ?hi"H";i i*i,i.i0i2i4i6i8i:hiNHhhHHhhi<i>i@+;ik;8 [ ,H*Hhhhh  +;i k;8  [H"#H"i&HHhiHhںHHH:H  *kzi HHhiHںHHH:H  +kz8 pI0ʊiHHhiHHHhiHcch ںHHH:H  ,kzii 8pI0ʊ  8pI0ʊ' 8pI0ʊ) 8pI0ʊ' 8pI0ʊgiںHHH:H  1.kzhiH Hz8pI0ʊ  hiH Hz8pI0ʊ    i.  hhi 8pI0ʊ i hiHں"HH H""h hiHں"HH H""h hiHںHH H""h hiHںHH H""h i hi&HhhHHhh  i.  hhhiHں"HH"hHz8pI0ʊ&,*i#,*i +;ik;8 [ںnHHHH:H  2kz  hi"Hhhhh^F hhhhF hiHhhhh hijHhhHHhh  HHhh8 pI0ʊP  " ں HںHH"hhHںHH"hhHHHHHH:H  4kzH hiBH H"hchchhhh i.hhL hiHhhhhQ hi Hhhhh hiBH hiHhhhh_ںHHHH:H  6kzHhh 8pI0ʊfH"hchc hiHH"hchchhhhn hiHhhhhV hi Hhhhh hiHhhHHhh +;ik;8  [ں(HHHH:H  7kzH hh hi:HhhhhG hhhh i hi$HBHF"\V= hiHhhhhLv hi Hhhhhں $H"VHHHH:H  8kzH hiHhhhhx< hiHhhhhn hi Hhhhh hiHhhHHhhںH"Hh  +;ik;8 [8pI0ʊhiHH"hchch (H&HhhhI  8 pI0ʊ 8pI0ʊ\hi`H H"hchchHHhhhi2HHhiHh ںHHH:H  ;kzںHHHH:H  ;kzںhi`H H"hchchHH"h hi&HhhhhK+;ik;8  [<H:Hhh ں" H"hchcHHH  H H:H  #=kz"  $ #+;i"k;8 [<H:Hhh "~ں $HHH,*0.H"hchcH hiH"h i" &ʊ &0.H2822ʊ2,*0.H"hchchHH  hhG,*0.iH"hchchHHhh2  HHhh i"ں{i H&$H" HH  H H:H  ?kz0.e i&H8 "I &$21+;i0k;8 [dhiHh hiH hiH  i i i hi H  i" H "N    i$ ihiHh8pI0ʊ'8pI0ʊiHHhiHHHhiHcchںHHH:H  BkzhiHں"HH"hhiHں"HH"hi8pI0ʊhiHH"hchch  hiH  hiH  hiH H " hi H H " H "N    i"  H "N    i$   e 8 pI0ʊgi ںHHH:H  Ekz 8pI0ʊJhiHi:H"hchch8+;ik;8 [ iVں H" h  +;i k;8  [$H"Hhh HHhhhI2 ںH"Dh+[ hi Hhhhh(Q hi HhhhhiZ  +;ik;8  [<H:Hhh i" hi&HD  +;ik;8 [<H:Hhh ںHHHH:H  HkzH hiHhhhhںHHHH:H  HkzH hiHhhhhںHHHH:H  sIkzH hiHhhhhںHHHH:H  IkzH hiHhhhh H hh8 pI0ʊ HH H"hchchf "hchcH"h HH H"hchch "hchcH"h.I " HH H"hchchhhh "hchc HH H"hchchhhh  hhC+;ik;82 [86$H"Hh h 868pI0ʊ>86hiHH"hchch!ںH!H86VH!"\H hiBH!H"hchchHH86H86"H H:H  AMkzH{i#HH"hchchhhh  8pI0ʊ  86 ʊS868pI0ʊ86hiHH"hchch!! "\!8pI0ʊ {i#HH"hchchHHeH"hchchHHH"hchchh!8pI0ʊTi hiHH"hchchhhhTں hiH86H8642HH:H  OkzI. i i  iE86iVH86zʊ ں86H" hUں86H86,*H H:H  Pkz4837+;i6k;8, [20$H"Hh h {i HH20820TH20Xz8pI0ʊg20TH20X8I/20VH20Zzʊdں20H20,*HH:H  >Rkz20'%208pI0ʊ '%IںH'%H20ZH'%"\H hiBHH"hchchH20H20"H H:H  oSkz20Z ʊ'%C'%H'%"N'%208H6HhiHH"hchch+)64H"hchch!8pI0ʊH"hchch#'%ʊfں#H!HH'%H20H+):H  (Ukzi'%e##}!'%H"hchc!hh'%%i.%'hh20iZH20zʊ.6-5+;i4k;8. [42$H"Hh h {iHH428{iHH428  8pI0ʊ^   ʊ&ں42H"V hiHhH"ًhں hiH42H4242HH:H  dWkzI. i i 428pI0ʊ 42hiHH"hchch)')'I)'e428H6HhiH)'H"hchch-+ ʊ)'" )'86H"hchchHH)'"H"hchc!hh)'  "\#)'8pI0ʊ]42Vʊ/eH)'$z8pI0ʊ#%8pI0ʊں%H!H hiHeH"hchchH)'H42H-+:H  lZkz)'e%%W)'e!)'H"hchc!hh i42iZ42iVH42zʊ ں42H" hUں42H42,*H H:H  [kz08/7+;i6k;8 [$H"Hh h {i HH8THXz8pI0ʊ-,*ITHX8It{iwH芢ZewHVzʊdںH,*HH:H  a]kz318pI0ʊ|31IGZ ʊ"31";L31H31"N31;Z31eںHHHZ8H31"\H hiBHH"hchchHH"H H:H  N_kz31H"hchchh9ںHHH hiBHH"hchchHH"H H:H  %`kz9 lHjH"H"hchc=?hh31(&CACAhGECAcchHIKhhCAcchHQShhCAcchHY[hhCAcchHUWhhCA cchHMOhh8H6HhiHH"hchchHH57hhHHH"hchch-+8pI0ʊ H"hchch!9 !%#:8H"hchch%#;8H8I !)':iH"hchch)'%#heca!hkig)'hqom/H318ʊU ںH{iyH!H"RhʊW%#cche!cchk)'cchq?=cchs{$HGE"g8kH"]_hh_]"_]KIH"hchcKIH""hus8pI0ʊ$s"u8pI0ʊHs"8u_]KIH"8hhKIH""hus8pI0ʊ$s"u8pI0ʊHs"8uuIuu{?=cchs$HGE"c8oH"]_hh_]"_]SQH"hchcSQH""hus8pI0ʊ$s"u8pI0ʊHs"8u_]SQH"8hhSQH""hus8pI0ʊ$s"u8pI0ʊHs"8uuIuu?=cchs HGE"i"Hceo8H"]_hh_]"_][YH"hchc[YH""hus8pI0ʊ$s"u8pI0ʊHs"8u_][YH"8hh[YH""hus8pI0ʊ$s"u8pI0ʊHs"8uuIuu?=cchsHGE"mHa8e8eqH"]_hh_]"_]WUH"hchcWUH""hus8pI0ʊ$s"u8pI0ʊHs"8u_]WUH"8hhWUH""hus8pI0ʊ$s"u8pI0ʊHs"8uuIuu?= cchs} HGE"i"Hgek8H"]_hh_]"_]OMH"hchcOMH""hus8pI0ʊ$s"u8pI0ʊHs"8u_]OMH"8hhOMH""hus8pI0ʊ$s"u8pI0ʊHs"8uuIuu}ں/H-+H{iyH31HH75:H  mkzcaecigkiomqoi!%##i#%hh)''i')hh31e//-+31H"hchc+-hh311i.13hhaiZHzʊ+;ik;8 [  +;i k;8@ [FD<H:Hhh FDHHh)h+ HHh-h/ HHh1h3 HHh5h7 HHh9h;JHhHHLH"hchchHHhhJHcchHHLH"hchchHH!hhJHcchHHLH"hchchHH#%hhPNhHHhhFDBJ''h!!h)%##%h)/-H"hchch H75H"hchchHH;9H"hchchHHhchc=?"?=H" ?=H"h H h31H"hchchh) +) e Hhchch)  )cc+) eHhchch)  )cc+) eHhchch)  )cchhh) +) e Hhchch)  )cc+) eHhchch)  )cc+) eHhchch)  )cchh'FDB)+!)%#)/-H"hchch H75H"hchchHH;9H"hchchHHhchc=?"?=H" ?=H"h H h31H"hchch) +) e Hhchch)  )cc+) eHhchch)  )cc+) eHhchch)  )BPAO+;iNk;8H [NL<H:Hhh NLHHh1h3 HHh5h7 HHh9h; HHh=h? HHhAhCRPhHHT"\H"hchchHH!hhRPhHHT"\iH"hchchHH#%hhRPcchHHTH"hchchHH')hhRPcchHHTH"hchchHH+-hhXVhHHhhXVcchHHhhNLBJ//n)'')h)-++-h)75H"hchch H?=H"hchchHHCAH"hchchHHhchcEG"GEH" GEH"h H h;9H"hchch!!h) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )cchh!!h) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )cchh%##%h) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )cchh%##%h) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )cchh/NLB) )')-+)75H"hchch H?=H"hchchHHCAH"hchchHHhchcEG"GEH" GEH"h H h;9H"hchch!) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )%#) 31 e Hhchch)  )cc31 eHhchch)  )cc31 eHhchch)  )JXIW+;iVk;8" [(&$H"Hh h (&I7(&^H\Hhhh' lHjHhhhں(&H "H(&H(&HH:H  ikzH hijHhhhh lHjH!hh(&(&8pI0ʊ(H&Hhhh8pI0ʊCH"hchchf(&^H\HH"hchchhh8pI0ʊ8pI0ʊ!H"hchcH"hchchH"hchch L! cc!hhi.hh $(#'+;i&k;8  [$H"Hhh 8pI0ʊ iVHH8zʊ@ hiHhiHh= hiHhiHh$ i i  +;ik;8 [ںH" HH"h+;ik;8 [&H"VhhH"hchchh "H"hchc hh$8pI0ʊmih  i h ںH H H"hz&%+;i$k;8  [hchc8hh"hh  +;ik;8 [8pI0ʊUںH H &H$H:H  kkz hiH  d  +;i k;8 [ HHhhhIMں H *H(H:H  Hkz hiHhhHHhh i  +;i k;8  [hhhhhiHhhhhhiHhhhhMhi HhhhhhiHhhhhifHhihHhhhhi  hilHhhhhipw8hirHhhHHhhivix  +;ik;8  [8hhhchchh"zz8hhhh  +;ik;8 [ںHH H"h+;ik;8 [ں{iHԥHԥ҅H H:H  ekzں{iH"vhЅԥυ+;ik%s ;8 [H HHhihHhhhh i  +;i k;8 [HHhh 8pI0ʊ jHhHʠhh% f8pI0ʊ>ںH  HH:H  鍃kz ih  HHhchc hh8hhhh_ f8pI0ʊ>ںH  HH:H  kz+;ik;8 [ں H  HH:H  kzں H"ňhںH"zh  +;i k;8 [HHhh {i H   8pI0ʊ$ p8 pI0ʊI nHlH H"hchch tHrHhhhI( v 8pI0ʊ$ x8 pI0ʊX tHrH vH 8H"hchch h ȘF hiHh  nHlHhHH hh h)  ;)%$)s0ں hiH H!H"hGں hiHcchH hiH cchH hiH cchH hiHcchH hiHcchH hiHcchH hiHcchH hiHhH H!H"h! +;ik;8 [ ں HHHH:H  k z i +;ik;8 [ ں HHHH:H  Tk z i +;ikI @bȃpP2Dj3g;˂Uׁ)Nւ-;Y.p/Xfb/_lTuy*R)A|Qd4|@aHZv -LPy4Pm&*S &Cbf)V<@i0 -EvقEF Wi&Y_ 7`'d5Ym}݃2R!(xdx(7cbU&Ckb >dfhjlnprtvxzNRKJLN]_ace-4Q>f|Ck&N}ׁ9do=:k$`h]J!~egD>aP XJކ:_ eEXk?NZU^%MPuV   ^ i   r}"-1<]h\gOZ# @h)\g8C HSLWy E!P!"" $$}&&'') *+++,,'.2.2213^FN3F44;5Lc5Q6 66n6Vv777G@8V=h8Lv88#9<K9n;;;;=$=w??BBEE6G[aGQyHHHHiItIII7MBMOOPP4R?ReSpSU)UZWeWbZmZ[[W]b]D_O_`&`xmm_jal>I𦉽ÉM;[f~ߍ𚎥JU!E0E jpeg3E;8 [iHHhiHںHHH:H  kz"\H zʊhiBHںH"hhiDHںH"hi"\H zʊhiBHںH"hhiDHںH"hi("\H zʊhiBHںH"hhiDHںH"hi\hiBHhiDHi 8pI0ʊ){i H8 pI0ʊU  ""HH"z8pI0ʊU  ""HH"z8pI0ʊ "  i   i.  hh 8pI0ʊ hiHں"HH H "H""h hiHں"HH H "H""h  i.  hhoiFwiF`iFIhiFH": H`SjjhiHH4FںH"h'hiJHiJ+;ik;8 [ 0 F    F HHh@ HH.cch@ HH\cch9 HHh8pI0ʊ@ HH.cch@ HH\cch HHhH 8N HH.cchH 8N HH\cchH 8  +;i k;8  [ںHHHH:H   kz  hiHhhhhO hhhh/ hiHhhhh iںH"3 h  +;ik;8 [HHhh ںH"hںH" hBHFH" hh  ȘgiDںHHH:H  5 kz i  hi HںH"h hiHhhHHhh hiHhhHHhh4I*I<i<i>i@4g,gi-ںHHH:H  kzFgi<i>i@hiNHhhHHhhPHNHhhhIi>=8i@i<<NںH"hDHBH hiHhhhh@>NںH"hDHBH hiHhhhh,I  ںH"-7h0ںH"hںH"hں@HH" hںH" hjiںHHH:H  kzEںH"hںH"Jh,** ں HH"2h,IںHH"1hںHHH:H  kzںH,* HH:H  bkz HHhhhI*I$,*K"i HHhiHhhHHhhHH" HHhiHhhhh i  HHhiH@ i +;ik;8 [HHhh  iںHHDBHH:H  kzںHH(&HH:H  *kzںHH HH:H  xkz47PHNHhhh.8@M HHhiBHhhhh i<9 HHhiBHhhhhgi,ںHHH:H  kzںH86HH:H  DkzںH$" HH:H  kz,I  IJںH@>HH:H  kzںH<:HH:H  [kz4Xں HHDBHH:H  kzں HH(&HH:H  5kzںHH HH:H  kz HHhhhI7 HHhi H   HHhiH  H c*-,*I^ i H@c+;ik;8  [ںHHHH:H  ]kz  cc hh hiHhhhhںHH" 8hh"hHhh 8 pI0ʊ3  Hhchch )  ) cc hh 8 pI0ʊ4  Hhchch)  ) ںH cc"hںH cc"h +;ik;8  [HHhh 4MںHDB HH:H  kz i   +;ik;8 [ںXH H HH:H  'kzH hi.Hhhhh 5 0H.Hhhhh* 0H.HhiHhhhh2 0H.HhiHhhhh5 0H.Hhi Hhhhh8pI0ʊX5 0H.HhiHH"hchchhhh< 0H.HhiHhhhhG 0H.HhiH8cchhhhں H" 5h  +;i k;8 [{i H itHHhiHh HHhiHcchںHHHH:H  1"kz8 pI0ʊ 8 pI0ʊ 8pI0ʊ i)iH 8I%i)iH 8I _8)iH 8I%8)iH 8I  i_HHhiHh HHhiHcch ںHHHH:H  $kz giiںH"$hI; &! : $H`+$G$$$+;ik;8 [ HHh h HHhh HHhhʠȘں H H H:H  h%kzI|  h) > ) 0.iV hhhh hiHhhhhʠȘں H H H:H  &kzIE  h) >ʠȘں H H H:H  d'kzI  h) > - | 0.iVi hhhh hiHhhhh 0.V io HHhiH 0.V HHhiHcch ںH H HH:H  {)kz 0.iV i  hhhh hiHhhhh +;ik;8  [0.PI1ںH"f9hI).ںH"$hI ںH"ChIںHHH"0thIeںHHH"0thIF,ںHHH"0thI ںHHH"0thIi:HHhiHںHHH:H  y,kzںH" hIiiSںHHHH:H  4-kzibںH"OhI4ںH"VhIںH"chIںH",ohIںH0H.HhiHH8H"hchchHH:H  .kzIںH0.H H:H  /kzIiZHHhiHںHHHH:H  /kzںH"5hIiBHHhiHںHHH:H  0kz : 0H`!///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////++>++-++++w+++X-+++!/!/!/!/!/!/!/!/*,,-/-//................//////////////./ic  +;ik;8 [ .ں H"$hI H 0.Ti8I i` HHhiH 0.TںH H HH:H  4kz iں 0.TH H HH:H  4kzIR 0H.HhiTH 0.Ti)  +;i k;8 [ hiHhhHHhh iT i 0.iP 0.iR 0.iV  +;i k;8 [HHh h HHhh HHhhʠȘںH H H:H  6k  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~zI  h) ʠȘںH H H:H  F7kzI  h)H hchc  hh\iYHHhiHHHhiHcch ںHHHH:H  8kz hhhh hiHhhhhں 8hhHHH:H  B9kz+;ik;8 [HHh h HHhh HHhhʠȘںH H H:H  :kzIb  h) >ʠȘںH H H:H  :kzI  h) >  i3HHhiHh HHhiHcch ںHHH:H  &<kzi  hhhh hiHhhhh+;ik;8, [20HHhhHHhhHHhhʠȘں20HH H:H  B=kzI+ h) ʠȘں20HH H:H  >kzId h)H hchc  hh\H 8hh  hh "p 8 pI0ʊʠȘں20HH H:H  @?kzI-{iH Hhchch)  ) H 8hh  hh)J )F!)I")F#)$)20ir20HHhiH$)20HHhiHcc%)ںH20H20HH:H  lAkz%)20iW20HHhiH$)20HHhiHcc%)ںH20H20HH:H  TBkz20i20hiH&)  )20hiH') H()c20hiH)) H*)c20HHhiHhh20cc20cc20)20iUںH20H20HH:H  Ckz+)H,)20iX20HHhiH+)20HHhiHcc,)ںH20H20HH:H  Dkz+)H,)H""h  Ș20iV20HHhiHh ںH20H20HH:H  Ekz20iK20HHhiHh iںH20H20HH:H  5Fkz20iK20HHhiHh ںH20H20HH:H  FkzhhhhhiHhhhh H"Sں H20H20HH:H  {Gkz.2-1+;i0k;82 [86HHhhHHhhHHhh!ʠ!Șں86HH H:H  CHkzI!!h) ʠ!Șں86HH H:H  IkzI!!h)H hchc  hh\H 8hh  hh " 8 pI0ʊʠ!Șں86HH H:H  AJkzI!!{i'H Hhchch)  ) H 8hh  hh')A()d))o*)b+)e,) H-)c.) H/)c0) H1)c2)86HHhiHh#h%%#h%#cch%#cch%#cch86iJںH86H86HH:H  Lkz86i86i)  )86iL86HHhiHh i ںH86H86HH:H  Mkz86iL86HHhiHh ںH86H86HH:H  @Nkzhhhh!hiHhhhh H"Sں H86H86HH:H  Nkz4837+;i6k;8 [" HHhhHHhhHHhhʠȘں" HH H:H  OkzIh) ʠȘں" HH H:H  |PkzIh)H hchc  hh\H 8hh  hh H"ʠȘں" HH H:H  QkzIh) >ʠȘں" HH H:H  YRkzIh)>H 8hh  hh" iM" HHhiHh " HHhiHcchںH" H" HH:H  Skz8 pI0ʊ 8 pI0ʊ" i" HHhiHh ں" H" HH:H  zTkz 8pI0ʊ;" hiH 8Hhchch)  )i" hiH Hhchch))  )" hiH Hhchch")  )" hiH Hhchch)H" hiH Hhchch)zʊ" i" HHhiHhں" H" HH:H  5VkzhhhhhiHhhhh"!+;i k;8; [?HHhHHhhHHhhHHhh!ʠ!Șں?HHH H:H  KWkzI !!h) ʠ!Șں?HHH H:H  XkzII !!h)H hchc  hhVH 8hh  hh H"U ʠ!Șں?HHH H:H  3YkzI+ !!h);?HHhiN?HHhHHhiHhںH?HH?HHhHH:H  GZkz) + ) 8 pI0ʊʠ!Șں?HHH H:H  ZkzI!!{i+H Hhchch)  ){i+H Hhchch)e H 8hh  hh?HHhHHhiHh#h%%#,)%#cc-)%#cc.)%#cc/)%#cc0)%# cc1)%# cc2)%#cc3)?HHhiTںH?HH?HHhHH:H  P]kz_?HHhHHhiHh'h))'4))'cc5))'cc6))'cc7))'cc8))' cc9))' cc:))'cc;)?HHhiTںH?HH?HHhHH:H  ^kz_8pI0ʊH "x?HHhiں?HH?HHhHH:H  _kz 8 pI0ʊʠ!Șں?HHH H:H  *`kzI4!!{i<H Hhchch)  ) H 8hh  hh)D8?HHhiHH"hchchh9?HHhipHH"hchchh8pI0ʊ8pI0ʊ?HHhi?HHhHHhiHhں?HH?HHhHH:H  LbkzHHhhh4ں?HH"mhHhhhhں{i+HHH"hHhhں{i<HHHhiH"hHhhhhhh!hiHhhhh<@+;i?k;8( [.,HHhhHHhhHHh!h#ʠ!#Șں.,HH H:H  :dkzI #!!#!h) ʠ!#Șں.,HH H:H  ekzI #!!#!h)H hchc  hh\H 8hh  hh H" ʠ!#Șں.,HH H:H  fkzI#!!#!h) > " ) .,iO.,HHhiHh .,HHhiHcchںH.,H.,HH:H  _gkz 8pI0ʊ.,i.,HHhiHh ں.,H.,HH:H  hkz.,hi`H H"hchchHHhhhWں.,H"hH.,hi`H H"hchchhhh.,hi`H H"hchchHHhh@8pI0ʊʠ!#Șں.,HH H:H  uikzI#!!#!h) ʠ!#Șں.,HH H:H  7jkzI#!!#!h)eyʠ!#Șں.,HH H:H  jkzI#!!#!h)>H"hchchf@8pI0ʊ.,HHhiHh%h''%H"hchch'%cciH"hchch'%cciH"hchch'%cciH"hchch'%cciH"hchch'% cciH"hchch'% cciH"hchch'%cciH"hchch.,i[ںH.,H.,HH:H  `nkzKi'AH 8hh  hh%@H 8hh  hhhhhh#!hiHhhhh*.)-+;i,k;8 [ HHhhHHhhHHhhʠȘں HH H:H  okzI.h) ʠȘں HH H:H  pkzIgh)H hchc  hh\ʠ  Șg i ں H HH:H  qkzʠȘں HH H:H  qkzIh) ʠȘں HH H:H  rkzIEh)e y iP HHhiHh ںH H HH:H  skz i hhhhhiHhhhh +;ik;8, [20HHhhHHhhHHhh20i420i6ʠȘں20HH H:H  tkzIh) ʠȘں20HH H:H  ukzIPh)H hchc  hh\ʠȘں20HH H:H  vkzIs 20hiHh))ʠȘں20HH H:H  uwkzI 20hiHh) ʠȘں20HH H:H  LxkzI 20i#!#!#!Hh)c?ʠȘں20HH H:H  6ykzI 20hiHh) ʠȘں20HH H:H  zkzI 20i#!#!#!Hh)c?ʠȘں20HH H:H  zkzI 20hiHh))H 8hh  hh20HHhiHh%h''%20'%cc20'%cc20'%cc2020ibںH20H20HH:H  |kz200.Rg20i8ں20H20HH:H  J}kz20ʊ#20ʊ)208pI0ʊg20iں20H20HH:H  3~kz20"ʠ  Șg20i ں20H20HH:H  ~kz20HHhhhں20H."VH20H20HH:H  ikzH20hiHhhhh20HHhh208pI0ʊiʠȘں20HH H:H  @kzIh)4ʠȘں20HH H:H  kzIh) >i ")i )ʠȘں20HH H:H  kzIhiHh))20HHhiHh)h++)+)cc+)cc+)cc20icںH20H20HH:H  kzi.hh200.iRhhhhhiHhhhh.6-5+;i4k;8  [idںHHHH:H  kz0.Pgi;ںHHH:H  8kz 8 pI0ʊhiH Hhchch)  )hiH Hhchch)  )hiH Hhchch)  ) Ciiiii)  )iiii)  )0.iP  +;ik;8. [42HHhhHHhh!HHh#h%420.RIg42i<ں42H42HH:H  䇃kzʠ#%Șں42HH H:H  >kzI !%##%#!!h) ʠ#%Șں42HH H:H  kzI !%##%#!!h)H hchc  hh\ʠ#%Șں42HH H:H  ≃kzI1 !%##%#!!h)>"iʠ  Ș8pI0ʊ8pI0ʊg42i ں42H42HH:H  %kz42ie42HHhiHhںH42H42HH:H  kz42i 8 pI0ʊʠ#%Șں42HH H:H  CkzI!%##%#!!h)>ʠ#%Șں42HH H:H  kzI!%##%#!!h)>42428pI0ʊ9H8Ii.hh42i42HHhiHhں42H42HH:H  rkz42hiH H"hchchhhhi ")i )42HHhiHh'h))'h)'cc )'cc 42ifںH42H42HH:H  ԏkz ʠ#%Șں42HH H:H  ;kzI!%##%#!!h)>42iʠ#%Șں42HH H:H  kzI!%##%#!!h)>42iʠ#%Șں42HH H:H  呃kzI.!%##%#!!h)>42i")42i)42HHhiHh+h--+42-+cc42-+cc42-+cc4242igںH42H42HH:H  kz420.iT42iT!hhhh%#hiHhhhh04/3+;i2k{Ӂ1ς^&t@ W1Y#XKہ-d`wu0-  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~Q  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~{B>ȁ"><hP1w?=<xUv1G/CЂL&H6[q3\qH2 F/e<4:ށ!?n7 ^*e -biI 7]u6ƁyhɅ)ʄ>8׆1Z"(r؂9 QݐM'Yуk-5bzn+UqTfu  O /+ 6  Xc +ny:EQ\+6yS^(U 5*25H 5 < G'"2"$$^%i%&&Z'e'q)|)o,z,*-5-...///z0034|44u66<7G78889C9: :::<'<8=C== >6?A?bAmAJBUBCCDDEE+F6FFFqG|G9HDHI I7JBJLLMM6NANNNOOrP}PQQORZRSSpT{T+V6VAWLW XX)Y4Y=ZHZZZF]Q]^^__ `+`BbMb0d;ddeffUg`gghkivi-j8jjkVnanooppqqqqrrssttuuvvkwvwBxMx,y7yzzzz||@}K})~4~~~_j6A 𒃝𦄱.9ڇ4?؉&𯋺9DhsʏՏ1<ۑ𗓢pl0E jpegquantl;8  [ںHHHHH:H  Skz  hiBHhhhh hhhh # hiHhhhhH hi Hhhhh hi6HhhHHhh hi&HhhHHhhF8pI0ʊi5HHhiHhںHHH:H  kz:8pI0ʊi7HHhiHhںHHH:H  kzںH"hںH"Sh6ںH"h  +;ik;8 [ں&HHHH:H  nkz  hiBHhhhh hhhh hi Hhhhh hiHhhHHhh hi"HhhHHhhFgi-ںHHH:H  kzںHHHH:H  kzH hiHhhhh 8 pI0ʊںHHHH:H  kzH HH H"hchchhhh B i@{i H:8 pI0ʊi6HHhiHhںHHH:H  kz 8pI0ʊi7HHhiHhںHHH:H  }kzںH HHH HH:H  kzH hiHhhhh i ( hiHhhHHhh6i66ںBiH"HHHH:H  kzH hiHhhhhںH"##h+;ik;8 [ i,ں H HH:H  kz  +;i k;8  [DHBHhh i  +;ik;8 [DHBHhh HHhiNHhhhhhiLH 6+F+ hiHhhhh( hiHhhhhF+Q6 hiHhhhh(c@ hiHhhhh i$ IںH"Sh hi&HhHHhhhںH" h: hiHhhhh iF hi6HhHHhhhںH"hBiH"V  hhF8pI0ʊWں H hi6HH"hchchH"ًhi.ںHHH:H  kz H`  X +;ik;8 [DHBHhh HHh h 6i6gW4 hiHhhhhQ" hiHhhhh ip6+( hiHhhhh(2 hiHhhhh" hiHhhhhL8pI0ʊi6HHhiHhںHHH:H  kz8pI0ʊi7HHhiHhںHHH:H  kz6`BiH"hh HHhhh{ںHHHHH:H  kzH hiHhhhhںH HH"ًh $H"HhhhںH"##h i   8pI0ʊQں H"hchchH"ًh i+;ik;8 [DHBHhh BiH"V  hhF8pI0ʊں HHHHH:H  kzH hi6HH"hchchhhhB+;ik;8" [(&DHBHhh HHh h {iH(&B{i!H(&F28pI0ʊE,*H"hchch0.H"hchchHHhh!8pI0ʊq H"hchchHHh)Hhchch)ewh)  )7$2#1+;i0k;8& [,*DHBHhh HHhHHhh HHcchHHhh HHcchHHhh{i%H,*B!68!pI0ʊf0.!H"hchch 42!H"hchchHHhh%## h)Hhchch)  h)Hhchch)e  h)Hhchch)e h )  )#!(6'5+;i4k;8  [&$DHBHhh &$6 i iں&$FHeHH&$H&$ HH:H  #kzH hiHhhhh &$F8pI0ʊ} hiHH"hchch"q HHH"hchchhHHcchhhh HHH"hchchHH  hhں8HHH&$H"%h8pI0ʊ}8pI0ʊ,ں8HHH&$H"%h Hhchch")  )l8pI0ʊ IHhchc h)  ) eHhchc cch)  )]`"&!%+;i$k;8$ [*(DHBHhh ں hiH*(H"#Fh*(F]*(HHhiHh!h##!h#!cc hiHh#!cc hiHcch#!cc hiHcch*(i\ںH*(H*(HH:H  kz*(i]*(HHhiHhںH*(H*(HH:H  ckzں*(FHHH*(H*( HH:H  kz *(F8pI0ʊ> hiHH"hchch"8pI0ʊں8HHH*(H"#(h"8pI0ʊ8pI0ʊe H"hchchHHeHhchch)  )e\ hiHhhhh i&*%)+;i(k;8 [DHBHhh F8pI0ʊr hiHH"hchch  hh8pI0ʊ hiHH"hchchH8IF hi&HH"hchchHH  hhVh  ȘںHH" &h hi&HH"hchchhhhk+;ik;8  [DHBHhh HHhiNHhhhhں HH"Ch i  +;ik;8 [  +;i k;8 [  +;i k;8 [DHBHhh ںHHHH:H  #kzH  hh cc  hh hi"Hhhhh8pI0ʊm H"hchch IH"hchchIz08pI0ʊ H"hchch IH"hchchI)e\8pI0ʊi H"hchch IH"hchchI+;ik;8 [H"iHH"hchc"H"h  +;ik;8 [ ں H H HH:H  s&k z H"8H"hh8pI0ʊ<8pI0ʊH"hchcHhchch)"H8HH"hh H "hchcH"hchchH""*8"8h "!+;i k;8 ["HHH"hchcH"h  +;ik;8X [^\DHBHhh HHh h {i9H^\B^\HHh;h= $H"Hh?hA^\PHNHhHHhChE^\PHNHcchHHhGhI^\PHNHcchHHhKhM5h85pI0ʊ"b`5H"hchch'%fd5H"hchchHH)+hh  '%98"\Hhchc%'hh+)98Hhchc)+hh13 HH9i"\H"hchc!#hh i 513 #! i 9777H#!3iH"hchcheiHOQ"QOH" QOH"h H hH#!3iH"hchcheiHOQ"QOH" QOH"h H hH#!3iH"hchcheiHOQ"QOH" QOH"h H hA?H"hchchA?H"hchchA?H"hchch'%h)e'%cch)e'%cch)e=;Hhchch)=;Hhchch)=;Hhchch) "H"hchchHH"H@"hchc"H"hchc-/hh/-6ں"H"H"H^\H"1H"hchch DB1H"hchchHHhh hi&HhHH-H "hchc!#hh hi&HcchHH-H "hchc%'hh hi&HcchHH-H "hchc)+hh/533u h)H#!/H"hchchcHhchch)  h)H'%/H"hchchcHhchch)e  h)H+)/H"hchchcHhchch)e h )  )/i)/3x-i)- i$-18F7E+;iDk;8D [JHDHBHhh {i+HJHF{i7HJHBJHHHh9h;3T83pI0ʊ;ں7H"VRP3H"hchchH"ًh1+81pI0ʊNL3H"hchchHH1HhchchhRP3H"hchchHHhh F78+"\Hhchchh78Hhchchh-+I/ hi6H1H"hchchHH7iH"hchchhE-+/ hi6H1H"hchch HH1H"hchchHH!#hh HH1H"hchch'%  755H-H"hchche iH=?"?=H" ?=H"h H h )e ;9 Hhchch) #! Hhchch))CACACA)H))c  )'%)Hhchch)H 8  " e he  e e  e /Hhchchh-Hhchchh-H"hchchh5h1a hiFH F3FTES+;iRk;8, [20DHBHhh {iH20F{i'H20B#<8#pI0ʊں'H"V:8#H"hchchH"ًh $!8!pI0ʊ)64#H"hchchHH!Hhchc  hh:8#H"hchchHHhh HH!H"hchchHHhh hi&H!H"hchchHHH "hchchh'%%+)+)+))H )HH"hchchcHhchch)c  ) Hhchc  hhi)%%!i) i$#.<-;+;i:k;8 [ںH"VHHHH:H  DkzH hh h hiHh hiHh hiHh? hiHh hi Hhں H"KIhںH H HH"fh 8 pI0ʊDں H  H"hchcH"Rh iL i^HHhiHh ںHHHH:H  Fkz+;ik;8 [{i H F{i H :ʆ 8pI0ʊ"H"hh H"8pI0ʊ i6 HHhiHhں H HH:H  sGkz  8pI0ʊ8$"H"hchch "  8pI0ʊ2 芢)H"hchch$"H"hchch "Hhh$"H"hchchiH"hh H":$"H"hchch  $#+;i"k;84 [:8DHBHhh HHh h ><><><><><!>< #8pI0ʊ 8pI0ʊ8pI0ʊ H"hchchHHH@"hchc!H"hchchh!#8pI0ʊ=ih><8pI0ʊ8pI0ʊ8pI0ʊ H"hchchHHH@"hchc!H"hchchh!#8pI0ʊDih><i8pI0ʊ8pI0ʊ8pI0ʊ H"hchchHHH@"hchc!H"hchchh!#8pI0ʊDih><i8pI0ʊ8pI0ʊ8pI0ʊ H"hchchHHH@"hchc!H"hchchh!#8pI0ʊDih><i#8!pI0ʊ#!#8pI0ʊ 8pI0ʊ H"hchchHHH@"hchcH"hchchh8pI0ʊS><i!,@cchh#8!pI0ʊ##8!pI0ʊ 8pI0ʊ H"hchchHHH@"hchcH"hchchh8pI0ʊS><i #,@cchh8 "ʆ'%8 "ʆ+)#8! "ʆ/-/-/-"+)+)"'%'%"hchchchc>5=+;i<k;88 [><DHBHhh HHh h Hh)h+Hh-h/Hh1h3Hh5h7B@B@B@B@B@!B@ #8pI0ʊ8pI0ʊ H"hchchHHH@"hchc!H"hchchh!#8pI0ʊihH%'ʠhhI'%+)hchc)+hh iH'%"/-hchc-/hh iH'%"31hchc13hh iH'%"75hchc57hhP1><PHNHhHHDHhchch+)H"/-hchc+)"h)  )><PHNHcchHHDHhchch+)H"31hchc+)"h)  )><PHNHcchHHDHhchch+)H"75hchc+)"h)  ):D9C+;iBk;8 [HHhDHBHhh HHh h """ i i iں{i%HHHHHH"^h#ں{i%H{i%H#HHHHHH"Yh   d{i%8pI0ʊ8pI0ʊ eH"hchchHHeH@"hchcH"hchc!hh8pI0ʊ6!i!h)i+;ik;8< [d{i= 8pI0ʊ.ihhHHhh J8 pI0ʊdLHH Hhchch)@HHhPHNHhHHHhchch)HD8"H13hh3131"hh@HHhPHNHcchHHHhchch)HF8"H57hh7575"hchchh@HHhPHNHcchHHHhchch)HH8"H9;hh;9;9"hchchhH31 H"hchc13hhH75H"hchc57hh@H;9H"hchc9;hhd{i=PHHhh31'%8pI0ʊ75+) 8pI0ʊ#!;9/- 8pI0ʊHH#!"1#!hhhh)  )/-#!hchc!#hhH/-hchc-/hhi A+)hchchh H+)hchc)+hh '%hchchhH'%hchc%'hh[ =Q+;iPk;8, [{i H0HHhL4i 4e "6i 6e "8i8e" 8pI0ʊ0HHhPHNHhHHHhchch)48pI0ʊl4H8"ʆ+)+)+)"!#hh8 "H)+hh+)+)"%'hh$8 pI0ʊt8 "H)+hh+)+)"!#hh4H8"H)+hh+)+)"%'hhH!#hh8pI0ʊ08 "ʆ+)+)+)"%'hh<4H8"H)+hh+)+)"%'hh0HHhPHNHcchHHHhchch)68pI0ʊ6H8"ʆ+)+)+)"#!hchc!#hh8 "H)+hh+)+)"'%hchc%'hhR8 pI0ʊ8 "H)+hh+)+)"#!hchc!#hh6H8"H)+hh+)+)"'%hchc%'hh8pI0ʊG8 "H)+hh+)+)"'%hchc%'hhK6H8"H)+hh+)+)"'%hchc%'hh0HHhPHNHcchHHHhchch)88pI0ʊ8H8"ʆ+)+)+)"#!hchc!#hh8"H)+hh+)+)"'%hchc%'hhR8pI0ʊ8"H)+hh+)+)"#!hchc!#hh8H8"H)+hh+)+)"'%hchc%'hh8pI0ʊG8"H)+hh+)+)"'%hchc%'hhK8H8"H)+hh+)+)"'%hchc%'hh#!{i-HH"hchchhhh'%"'% 8pI0ʊt{i-HH"hchch"0:HHHhchch)  )t-;+;i:k;8 [,8*pI0ʊ*",8pI0ʊ*ں*H(&H"jhHhh'ں*H(&H"khHhhhȘ(&*H"hchchhhiHhiHhi H hiHhiHH8 " H8 "H 8 " 8pI0ʊ  8pI0ʊ Hc" i  iHc" i i ir Hc" i  i i ujH`jii j|jںH$"H"KIhںH$"H"KIh*C* ,++;i*k;8 [Hhh 8pI0ʊ HH", H HH"    i  hh] +;ik;8 [Hhh 8pI0ʊW H H"     i  hh +;ikITVOjy-X g= }_oouwy{  #H =-ӄRsČ~\?Jtpdo  c΂'FT)c<7L!SI{&Gj1Uoc6e*Aj"_isV:Xs2EՁlP v+Dc:V7ZqN )vY܁G6_y@oe3$Sn "]9ni A`}7&f-\{5Zy#a..:f.s~   * Q6U c@ : dW4Q"(2:"w$Yd##i&t&$'DDF FiGtGm30E jpeg23;8 [ںHHHH:H  Skz  hi>Hhhhhv hhhh 'giںHHH:H  /kzgiںHHH:H  kz:giںHHH:H  ;kz8pI0ʊgiںHHH:H  kz" : H`::F iFr hiHhhhh 8 pI0ʊOHH H."hchchiHh giںHHH:H  gkzaiFC38 hiHhhhhںH"MEh +* hiHhhhhgiںHHH:H  kz*iFC{< hiHhhhhںH"MEh+* hiHhhhhgiںHHH:H  kzH8IOhiFH* hiHhhhhgiںHHH:H  kz  : H` r4iH$hiHHF+;ik;8 [ںDHHHH:H  kz  hiHhhhh5) hhhhgiںHHH:H  9 kz<:8pI0ʊgi-ںHHH:H  kzںH"Ahi 8 pI0ʊHH"" ں "HH"\HHH HH:H   kzH hiH H"hchchhhh i.hh+;ik;8  [ںHHHH:H  kz  hi&Hhhhh hhhh hiHhhHHhh hi HhhHHhh4 hiHں Hں HDH"hhHBHF"\HHHHHH:H  f kzH hiHhhhhں HBHF"\HHH HH:H  kzH hi Hhhhh  +;ik;8  [ں:HHHH:H  kz  hi2Hhhhh[# hhhh7I hiHhhhh 8 pI0ʊ hi*H H"hchchhHH hiH H"hchchhhh d +;ik;8 [ں0HHHH:H  kz  hi2Hhhhh+ hhhh8pI0ʊH hiHH"hchchhHHhhں@"H"VHHHH:H  ;kzHhi\Hhhhh^H\H  hh8pI0ʊC@8pI0ʊ  i  h+;ik;8 [ںH" H" HH:H  Tkz  " hi:Hhhhh7 hhhh hiHhhhh i" g" iں" H" HH:H  Pkz" 0'" 8pI0ʊ "  " 8 pI0ʊ" H H """ H H """ "  hi^H H"hchch IK hi2H H"hchchhhhH8IH8IKpr hi2H H"hchchhhhm"H8IH8I! Fr hi2H H"hchchhhhCu hi2H H"hchchhhhq"H8I!"H8I! Zw hi2H H"hchchhhh iCz hi2H H"hchchhhhZ""\| hi2H H"hchchhhh hirH Hhchch")  ) hi|H Hhchch")  )g" i#ں" H" HH:H  kzں" Hں" H" BH"hhHH" H"  HH:H  kzH hi H H"hchchhhh   i. hh"!+;i k;8 [hhHHhh+;ik;8 [{iH{iHB((8pI0ʊ.8pI0ʊ H"hchchHH"H"hchch &$hHHHhchc  hhQ  h)  ) Hhchc  hh"$i$&('+;i&k;8 [<H:Hhh H Zz8pI0ʊ  8 pI0ʊ8ں hi H H"hchc  H"hchchHH$"H hi^H H"hchch"\H"hchc HH hi2H H"hchchHH:H  pkz   i. hh iZ ZH8 \ʊ \.,H0800ʊ0ںH*(.,H"hchc ZH hi HH@>HH:H  kz.,e i\H8 iZeH Zz8pI0ʊ $"0/+;i.k;8 [  +;i k;8  [(H&Hhh  M4 hiHhhhh H HhhhںH HH  HHHHH:H  kzH hi HhhhhE<:HH hiHhhhh  HHhhhgiںHHH:H  !kz) hiHhhhhO  HHhhhgiںHHH:H  c"kzD hiHhhhhiںHHH:H  "kz  #H`"! !" hiH i +;ik;8 [4H2Hhh ?niuںHHHH:H  |$kz 8 pI0ʊhiH H"hchch   8 pI0ʊ 8pI0ʊ\hipH H"hchchHHhhhi0HHhiHh ںHHH:H  0&kz8pI0ʊ8pI0ʊ\hiHH"hchchHHhhhi0HHhiHhںHHH:H  b'kzں hiH H"hchchipH H"hchchHH".hں hi*HH"hchchiHH"hchchHH".h hiH H"hchch iiH hiHhhhh ii hiH+;ik;8  [ HHhh  <: hiHhhhhںH"ih i< i> iB(N hiHhhhh i0 i2ʝ hiHhhhhiںHHH:H  *kz  *H`]){*P*{* +;ik;8  [&$4H2Hhh &$芅 $&$ &$H&$z8pI0ʊ%&$8@pI0ʊ &$ &$7&$HH&$88 &$8 pI0ʊ X&$i &$HHhiH&$&$HHhiHcc&$&$HHhiHcc&$&$HHhiHcc&$ں&$H&$HH:H  -kz&$8pI0ʊ{iH&$hiHH"hchch&$^H\HH"hchchh I*h8pI0ʊ&$in&$HHhiHh&$HHhiHcchںH&$H&$HH:H  /kz&$&$8pI0ʊ{iHH"hchch8pI0ʊ/H"hchch&$H8&$in&$HHhiHh&$HHhiHcchںH&$H&$HH:H  J1kzH"hchc&$%R&$] +g hiHhhhh(V hiHhhhhZ +n hiHhhhh(] hiHhhhh&$8pI0ʊ|&$hiHH"hchch &$ 8pI0ʊ8pI0ʊ\&$hipHH"hchchHHhhh&$i0&$HHhiHhں&$H&$HH:H  (4kzں hiHH"hchc&$hipHH"hchchH&$H".h 8pI0ʊ8pI0ʊ\&$hiHH"hchchHHhhh&$i0&$HHhiHhں&$H&$HH:H  5kzں hiHH"hchc&$hiHH"hchchH&$H".h hiHH"hchchHH hi,Hhhhh hiHhiHH"hchcha iiH hiHhhhh ii i hiH&$"&!%+;i$k;8  [<H:Hhh hiZH hi\HD  +;ik;8< [B@@H>Hhh {i#HB@BB@HHh%h'  HHh)h+ H Hh-h/ HHh1h3 HHh5h7NN8pI0ʊ]FDhHHHH"hchchHHhhFDcchHHHH"hchchHHhhFDcchHHHH"hchchHHhhHLJJiJLh!#!ʊ,!Hhchch) !Hhchch) !Hhchch)'%+)H"hchche Hhchch)  )cc'%31H"hchchHH75 H"hchchHHhchcH"he Hhchch)  )cc'%/- H"hchche Hhchch)  )cchh!>N=M+;iLk;8@ [FD@H>Hhh {i'HFDBFDHHh)h+  HHh-h/ H Hh1h3 HHh5h7 HHh9h;RR8pI0ʊ[JHhHHLH"hchchHHhhJHcchHHLH"hchchHHhhJHcchHHLH"hchchHHhhJH cchHHLH"hchchHH!#hhLPNNiNPh%'%ʊ%Hhchch) %Hhchch) %Hhchch)+)/-H"hchche H8Hhchch)  )cc+)H75H"hchchHH;9 H"hchchHHhchc=?"?=H" ?=H"h H he H8Hhchch)  )cc+)31 H"hchche H8Hhchch)  )cc#!%Hhchch)  )cchh%BRAQ+;iPk;8 [ HHhh {iHں"H"VHHHH:H  mBkzH hi4Hhhhh hi4HhHHH"hchc hi4Hcchhhh HHhh8 pI0ʊHH"" ںi ""H"VHHHH:H  Ckz H"hchchh hi4HhHH H"hchchhhhi "H"hchchh hi4HcchHH H"hchchhhh i.hh+;ik;8 [@H>Hhh ںHHHH:H  EkzH hiHhhhhںHHHH:H  2FkzH hi HhhhhںHHHH:H  FkzH hiHhhhhںHHHH:H  "GkzH hiHhhhh H hh8 pI0ʊ  HH H"hchchf "hchcH"h H H H"hchch "hchcH"h.I " HH H"hchchhhh "hchc HH H"hchchhhh  hhC+;ik;8X [^\4H2Hh h ^\J .ں^\H"hI: ^\QShh^\HHAChh^\HHEGhh{iAHhiH^\ i i hiHhiHUWhh{i!H hiH"<^\8pI0ʊ b`H"hchch^\hiHH"hchch^\hiHH"hchchHH13hh hiH31 H"hchchHH)+hh hi*H31 H"hchch/-8pI0ʊkںHHH{iAH"~hIw KMO8pI0ʊ58H"h)7+)hiH7H"hchch5785+)hiH7Hhchch) c 5ں5H+)HHH{iAH"h 8pI0ʊ[KMO  8pI0ʊIں HHH{iAH"~hIKMO8 H"hHH "8#,, H"hchch8pI0ʊ,LL H"hchche 31I{i!HH"hchche {i!HH"hchch h 318pI0ʊC@8pI0ʊ"8pI0ʊkںHHH{iAH"~hIKMO8pI0ʊ98H"h);/-hiH;H"hchch9789/-hiH;Hhchch) c 9ں9H/-HHH{iAH"h 8pI0ʊKMO " ) ie 8pI0ʊIں HHH{iAH"~hIxKMO8 H"hHH "8#,, H"hchch8pI0ʊ,LL H"hchche H"hchchH"hchch  iI@8pI0ʊ+8pI0ʊkںHHH{iAH"~hIKMO8pI0ʊ=8H"h)?/-hiH?H"hchch=78=/-hiH?Hhchch) c =ں=H/-HHH{iAH"h 8pI0ʊKMO " ) re 8pI0ʊIں HHH{iAH"~hI5KMO8  iACH^\HHhhhhEGH^\HHhiHhhhh^\hiHI hiHhhhh ii hiH{i!H"< i:ZbYa+;i`k;8B [HF4H2Hh h {i HHF{iHHFHFJ .ںHFH"hI4 iHF;=hhHFHH+-hhHFHH/1hh{i+HhiHHF i i! hiHhiH?AhhLJhHHhh .H,H#%hhHF 8pI0ʊ8!pI0ʊkںH!HH{i+H"~hIo579!8!pI0ʊ'!8H"h))%#hiH)H"hchch'7!8'!%#hiH)Hhchch)c 'ں'H%#H!HH{i+H"h8pI0ʊS579!")oe8!pI0ʊIںH!HH{i+H"~hI579!!8!H"hHH"8#llH"hchch8pI0ʊ,H"hchcheH"hchchH"hchch" i"8!pI0ʊIںH!HH{i+H"~hI<579!!8!H"hHH"8#e+-HHFHHhhhh/1HHFHHhiHhhhhHFhiH3 hiHhhhh ii! i i:DLCK+;iJk;8 [֥ԅ4H2Hh h {i H֥ԅ{iHH֥ԅh"{iHH֥ԅh"֥ԅJ .ں֥H"hI ԣIKhh֥ԅHH9;hh֥ԅHH=?hh{i9HhiH֥ԅ i%# i' hiHhiHMOhh ih .H,H)+hh-֥ԅ 8pI0ʊ8'pI0ʊfںH'H%#H{i9H"~hICE%#G'8'pI0ʊ/%#'8H"h)1+)hiH1H"hchch/7'8/'+)hiH1Hhchch)^ /ں/H+)H'H%#H{i9H"h8pI0ʊCE%#G'")n֥ԅiqںH֥H֥ԅHH:H  Xakz8'pI0ʊEںH'H%#H{i9H"~hICE%#G'%#'8'H"h)"8'pI0ʊDںH'H%#H{i9H"~hICE%#G'%#'8'H"hHH"8#eAH"hchchH"hchc!hh!8'pI0ʊEںH'H%#H{i9H"~hI CE%#G'%#'8'H"h)!%d!8pI0ʊ$!535353e!!535353e8pI0ʊ 8pI0ʊ^{i7HH"hchch7H"hchch{iQH--H"hchch7R 8pI0ʊnH"hchchH"hchc!hh!8'pI0ʊEںH'H%#H{i9H"~hICE%#G'%#'8'H"h)!%d!8pI0ʊ$!535353e!!535353e|9;H֥ԅHHhhhh=?H֥ԅHHhiHhhhhhiHA%# hiHhhhh ii' i i:z-8pI0ʊY{iQH--H"hchchH"hchch҅ڥх٤+;ik;8N [TR4H2Hh h {i HTRTRJ .ںTRH"hIATR=?hhTRHH-/hhTRHH13hh{i-HhiHTR i i hiHhiHAChh{iEH hiH "<TR8pI0ʊXVH"hchchTRhiHH"hchchTRhiHH"hchchHH%'hh hiH'% H"hchchHH!#hh8pI0ʊkںHHH{i-H"~hI79;8pI0ʊ)8H"h)+#!hiH+H"hchch)78)#!hiH+Hhchch)c )ں)H#!HHH{i-H"h8pI0ʊ79;8pI0ʊIںHHH{i-H"~hIA79;8H"hHH"8#llH"hchch8pI0ʊ,H"hchche{iEHhiHH"hchche{iEHhiHH"hchchh "-/HTRHHhhhh13HTRHHhiHhhhhTRhiH5 hiHhhhh ii hiH{iEH "< i:PXOW+;iVk;86 [<:4H2Hh h {i HH<:h"<:J .ں<:H"hI<:/1hh<:HH!hh<:HH#%hh{iHhiH<: i i hiHhiH35hh<:8pI0ʊ@>H"hchch8pI0ʊJںHHH{iH"~hI0)+-8H"h)"hh !H<:HHhhhh#%H<:HHhiHhhhh<:hiH' hiHhhhh ii i:8@7?+;i>k;8 [hhhh+;ik;8 [ں BHHHHHhH"h+;ik;8 [*(HHhh 8pI0ʊ;&$H"hchch H"hchchHHhh  h)h)  )"H )ci")  )H" 8  h)" cch)ei")  ) )ei")  )K )"H cch)ci")  )h)  )*)+;i(k;8 [+)HHhh 8pI0ʊ'%H"hchch H"hchchHHhhBHhchchhhhZ  h)  h)  )h)  )+*+;i)k;8$ [64HHhh !*(8!pI0ʊF#8#pI0ʊ#20H"hchch #D208H"hchchHHhhA20iH"hchchHHhh !!H"hchchHHhh  h)"Hh)c  h)"Hh)ch"i")  )h"ei")  )H.,8  h)"Hh)ch"ei")  )h"ei")  )Bh"ei")  )h"i")  )#&6%5+;i4k;8 [-+HHhh !8pI0ʊ_)'H"hchch H"hchchHHhh!BHhchchhhhZ  h)  h)  )h)  )ں!BHHiH HH H"hi~-,+;i+k;8% [+)<H:Hhh 75HHh h hirH/-Hhchch) hi|H/-Hhchch) $"+)8$pI0ʊ~31"H"hchch $H"hchchHHhh+)BHhchchhhh^h)  8pI0ʊ#h)  ) 8pI0ʊ=ں+)BH 8H$iH H$H H"h"$e $_'7&6+;i5k;8 [HHh h HHh h8pI0ʊʠ ȘںHH H:H  kzI    h)\ʠ ȘںHH H:H  kzI    h)i8 pI0ʊ!IipںHHHH:H  kzH"Hhhhhi hhhh hiHhhhhhi Hhhhhi +;ik;8 [ 8pI0ʊ`ں HHHH"~hI,  8 H"hHH "8#ʆ hiDH H"hchchHH" H"  hh8pI0ʊaںHHHH"~hI   8H"h)Hhh  hh hi Hhhhhi 8pI0ʊiqںHHHH:H  VkzHHhiHhiH H"hchchH H"hchchHH 8hhhcHhchch) +;ik;8 ['HHhHHhhh|ںHHHHHhHH:H  ÇkzH'HHhhhh'HHhHH hh#HH hiHhhhh 8pI0ʊx #HHHhchch)8 pI0ʊ5{iH Hhchch)  ) q{iH Hhchch)  )) {iH Hhchch)y{iH Hhchch)H8I5{iH H"hchch ] 8pI0ʊ#HHHhchch)4 hiHH"hchch {iH H"hchchH H"hchchhhh#HHHhchch)e {iH 8H"hchchH hiDHH"hchchhhhIH hiDHH"hchchhhh= hiDHDcchhHHhhںH hiH"hHhh 8pI0ʊL #HHHhchch)8 pI0ʊ {iH H"hchchH8h"H8h"8pI0ʊ hiHH"hchch hiHHhchc#HHhiH Hhchch)  )M (+;i'k;8" [(& HHhh {iH(& (&(&8 pI0ʊ(&HH"" hi4HhHH H"hchch hi4HcchHH H"hchchHH!hh hiH H"hchchHHhh i"8 pI0ʊ H"hchchHH! H"hchchh H"hchchhhh : "8 pI0ʊ"e H"hchchHH!8"e H"hchchhhh8"e H"hchchHH!"e H"hchchhhh 8 pI0ʊRhHH 8H"hchchhhh i.hh5$(#'+;i&k;8 [(H&Hhh *(H,8  ʊ  ں H{i H  H"H HHH<:HH:H  ~kzں H&$*(H"hchc  HHDBHH:H  kz*(e ,++;i*k;8 [(H&Hhh ںH H H  HHHHH:H  kzH hi Hhhhh H 8 *(H,8  ʊ HD8  ʊ ں H&$*(H"hchc H H H"hchcHDBHH:H  Pkz*(e  ie  H zʊK iH c i,++;i*k;8 [(H&Hhh ںH H H  HHHHH:H  ߖkzH hi Hhhhh  ں H hiH  H"H HHH<:HH:H  kz  ʊ H 8 ں H H H H"hchcHDBHH:H  Xkz*(e  H zʊK iH c i,++;i*k;8 [ HHhh 0Iں hi4H <H"hchchHH$"H H:H  ϙkzI i0 iB > }ں HHH @H hi2H hi4H <H"hchchHH(&HH:H  ؚkz 2H @zʊ i> ʊy i2 hi@HH8 BH8IںH"jh i>ں HHH @H hi2H hi4H <H"hchchHH(&HH:H  kz 2H @zʊ BںH"h i<   I i0 hi2Hi hi@Hi i>  H`@ٛ" +;ik;8 [ںHHHH H (&HH:H  5kz+;ik;8  [ HHhh 0Iں hiHH$"H H:H  ޞkzI i0 ںHHH H hi2H hiHH(&HH:H  kz 2 ʊ( i0 i2 +;ik;8 [4H2Hh h 0.iVH i"c iiںH0. HH:H  kzI 8 pI0ʊ: hiH H"hchch hiH ii+;ik;8 [4H2Hh h 0.iVH i"c iiںH0. HH:H  pkzI 8 pI0ʊE hiHhiH H"hchch i hiH ii+;ik;8 ["  HHhh " HHhh" 8 pI0ʊH"" ""N ! i@8"i hi4H <H"hchchHH H"hchch "8 pI0ʊv8H"hchchHHe H"hchchhhh k i.hh!"!+;i k;8 [$" HHhh {iH$" $"$"8 pI0ʊ$"HH"" hi4HhHH H"hchch hi4HcchHH H"hchchHHhh 8 pI0ʊi"e H"hchchHH 8H"hchchhhhi"e H"hchchHH 8H"hchchhhh H"hchchHHi"e H"hchchhhh H"hchchHHi"e H"hchchhhh  i.hh $#+;i"kITO+7kc=#5b P7PL:;Rl_px,^UցFE$i.T܁RzLTԁ1lv%01<p؁ŁXbWdہV `m΁GJzzt hr݆<ǁO6;zXYp;u8z>@g 30Gi_S}=.4gv"x^Jm+i9Tf1e߁-MAHi^KЂ?Oo)S` p,MȁKX~:v.O\sI$P-; =Kp{94E{ρ*:pHʂHsZ[{ǁM$S$NdS s|3R#^QHM2H~/Yo]h38*{<:* *z5)/ :      \ g [#7IM+1<JU7FQ7prr8uwOz\||fq !!!)Y"d"m"D""r$}$&&1&X'c') )NR*ʝ**--//@1K11g1V2nB2]4)455cBnBCCEE(F3FFFG#G;6]݇^(>9`a+NaYaրLWćt FQՖ𖗡NYřЙΚٚ+6Ԟߞfqzs'p 0E jpegdct'p;8 [ں@HHHH:H  Skz  hi6Hhhhh hhhh HH hh8 pI0ʊںHHHH:H  4kzH hi*HhhhhںH ,H*H"hHhh hi,H H"hchch   i. hh+;ik;84 [:88H6Hhh  :8HHhh:88 pI0ʊ{  :8.ST?#%:8i.ں:8H:8HH:H  Vkz wH`:8i:8HHhiHں:8H:8HH:H  kz(%: 3H`y hiH H"hchchhhhIJ hi,H H"hchchH8I[(H&HhhhȘ  hi,H H"hchch,H*Hh!h# @8 pI0ʊ#! H"hchcRR H"hchchH"hchch h+,H*Hh%h' @8 pI0ʊ*'% H"hchcHRR H"hchchH"hchchHll H"hchchH"hchc)+"+) H" +) H"h H h ,H*Hh-h/ 181pI0ʊ383pI0ʊRR H"hchchH"hchch"1H"hchc"L"3H"hchc"L"/- H "hchc"';i  3 1:8i.ں:8H:8HH:H  + kz L H`n( i.hh6:59+;i8k;8 [HHcch h,H*H  hh" hH h"HHhchc"H" H"h H h&$hHH(Hhchc )Hhchch)  )('+;i&k;8O [USHHcch#h%][YW,*d{i0''8pI0ʊ'''(cchH0cchHPcchHpcch_{i-HhHh" h-cch-?hHh"HhhH"  hhpcchHpcch"ʆ" hhPcchHPcch"Hhh7" hchc hh0cchH0cch"HhhF" hchc hhcchHcch"Hhhs" hchc hhhH  hchchchc)+"+) H" +) H"h H hcchH  8hhhchc)+"+) H" +) H"h H hiihhihh''6d{i0'8'pI0ʊa_'H"hchchHHcHhchc!hhcchHcchH cchHcch {i/H%#HhHhchc)+"+)H" +)H"h H h)Hhchch)  !h/)  )!cch/)  )cchhhHH"  hhcchHs"cchHF" cchH7"cchH"hchchchchchc hh!%#H  hchchchc)+"+)H" +)H"h H h)Hhchch)  )!cc%#H  8hhhchc)+"+)H" +)H"h H h)Hhchch)  )cchh'2QcPb+;iak;8 [HHcch7h9)',*-+d1{iD/;;8pI0ʊm;")'cchH)' cchH)'0cchH)'PcchH)'`cchH)'pcch{iAH)'hH-+h" 1/hA1/cchA1/ cchA1/0cchA)'hH-+h"H hh H" hh)' cchH-+ cch"ʆ)'`cchH-+`cch"H!hh!"!;"hchc  hh hchchh 8hhhh)'pcchH-+pcch"Hhh)'PcchH-+Pcch"Hhh)'0cchH-+0cch"H!hh)'cchH-+cch"H#%hh%#!"!y"u.">"hchchchchchc hh%#R"!"""hchchchchchc  hh1/hH hchchchc=?"?= H" ?= H"h H h1/0cchH 8hhhchc=?"?= H" ?= H"h H h1/cchH hchchchc=?"?= H" ?= H"h H h1/ cchH 8hhhchc=?"?= H" ?= H"h H h'i')-++i+-hh1//i/1hh;;zd1{iD/;8;pI0ʊ!ԕԓ;H"hchchHHHhchc35hh1/cchH1/cchH1/cchH1/ cchH1/ cchH1/cchn{iCH97H1/hHhchc=?"?=H" ?=H"h H h)Hhchch)  53hC)  )53cchC)  )53cchC)  )53cchC)  )1/cc/1hh1/hHH" hh1/ cchH"1/cchH!;"hchc  hh hchchh 8hhhh1/cchHhh1/ cchHhh1/cchH!hh1/cchH#%hh%#!"!y"u.">"hchchchchchc hh%#R"!"""hchchchchchc  hh5397H hchchchc=?"?=H" ?=H"h H h)Hhchch)  )53cc97H 8hhhchc=?"?=H" ?=H"h H h)Hhchch)  )53cc97H hchchchc=?"?=H" ?=H"h H h)Hhchch)  )53cc97H 8hhhchc=?"?=H" ?=H"h H h)Hhchch)  )1/cc/1hh;+;ik;8T [XHHhHHcchh`HH hh\HHh,* d{i8pI0ʊP cchH  cchH 0cchH @cchH PcchH `cchH pcch h"1 ""{iKH"{iKH""';i {iKH"Pcc"';i {iKH"cc"';i {iKH"cc"';i {iKH"@cc"';i {iKH"cc"';i {iKH"cc"';i {iKH"0cc"';i i  i  i  h"1 ""{i!H"';i   cch"1 cc""{i+H"';i  @cch"1 @cc""{i5H"';i  `cch"1 cc""{i?H"';i {i!H"{i5H;iH "{iqH"';i {i!H"{i5H;iH "{i{H"';i {i+H"{i?H;iH "{iH"';i {i+H"{i?H;iH "?3,"{iH;iH "{iH"';i {iqH"{iH;iH "{i!H"';i {iqH"{iH;iH "{i?H"';i {i{H"{iH;iH "{i+H"';i {i{H"{iH;iH "{i5H"';i  cch"1 Pcc""{iIH"';i  0cch"1 cc""{iSH"';i  Pcch"1 cc""{i]H"';i  pcch"1 0cc""{igH"';i {i]H"{iSH;iH "{iH"';i {i]H"{iSH;iH "{iH"';i {iIH"{igH;iH "{iH"';i {iIH"{igH;iH "{iH"';i {iH"{iH;iH "{igH"';i {iH"{iH;iH "?3,"{i{H"';i {iH"{iH;iH "?y^@"{iH"';i ?9{iH;iH "{iH;iH "{iqH"';i =t~kP{iH;iH "{iH;iH "{iH"';i {iH"{igH;iH "{i]H"';i {i{H"{i]H;iH "{iSH"';i {iqH"{iSH;iH "{iIH"';i {i!H"{igH;iH ""';i {i!H"{igH;iH "0cc"';i {i+H"{i]H;iH "Pcc"';i {i+H"{i]H;iH "cc"';i {i5H"{iSH;iH "cc"';i {i5H"{iSH;iH "cc"';i {i?H"{iIH;iH "@cc"';i {i?H"{iIH;iH "cc"';i i  i  i d{i8pI0ʊ dHHH"hchchHHhHhchchh"(cc""{iqH"';i "(cc""3{i{H"';i cc"<cc""{iH"';i cc"<cc""3?3,"{iH;iH "{iH"';i {iqH"{iH;iH "{i!H"';i {iqH"{iH;iH "{i?H"';i {i{H"{iH;iH "{i+H"';i {i{H"{iH;iH "{i5H"';i 2cc"cc""{iH"';i 2cc"cc""3{iH"';i  cc"Fcc""{iH"';i  cc"Fcc""3{iH"';i {iH"{iH;iH "{igH"';i {iH"{iH;iH "?3,"{i{H"';i {iH"{iH;iH "?y^@"{iH"';i ?9{iH;iH "{iH;iH "{iqH"';i =t~kP{iH;iH "{iH;iH "{iH"';i {iH"{igH;iH "{i]H"';i {i{H"{i]H;iH "{iSH"';i {iqH"{iSH;iH "{iIH"';i H{i!H"{igH;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i!H"{igH;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i+H"{i]H;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i+H"{i]H;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i5H"{iSH;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i5H"{iSH;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i?H"{iIH;iH ""Hhchc"H" H"h H h)Hhchch)  )ccH{i?H"{iIH;iH ""Hhchc"H" H"h H h)Hhchch)  )PcchhUg+;ifk;8 [ͥ˅HHcch9h;եӆ+)ѥυ,*/-d3{iH1==8pI0ʊ+)cchH+) cchH+)0cchH+)@cchH+)PcchH+)`cchH+)pcch/{iEH+)hH/-h"31hE31cchE31 cchE310cchE31@cchE31PcchE31`cchE31pcchE)i)+-i-/1i13+)hH/-h"+) cchH/- cch" +)@cchH/-@cch" +)`cchH/-`cch" e 8  e HH 8 Hj"?A"A?H" A?H"h H h8e8 e 8 +)cchH/-cch"+)0cchH/-0cch"+)PcchH/-Pcch"+)pcchH/-pcch"e'8!e#8%#e'H#8'Hj"?A"A?H" A?H"h H hH!e%H"?A"A?H" A?H"h H hHH%H"?A"A?H" A?H"h H h8H!Hc"?A"A?H" A?H"h H he88e31he31pcch831cch e31`cch 831 cch e31Pcch 831@cch e310cch 8)i)+-i-/1i13= d3{iH1=8=pI0ʊ ץ=H"hchchHHHhchc57hh31cchH31cchH31cchH31cchH31 cchH31 cchH31cch{iGH;931hC8pI0ʊ C" C" )Hhchch)  75hG)  )75cchG)  )75cchG)  )75cchG)  )75cchG)  )75cchG)  )75cchG)  )75cchG)  )31cc13hh31hH31cchc31cchH31h831cchH31 cchcHH31 cchH31cch8Hj"?A"A?H" A?H"h H h8e8 e 8 31 cchH31cchc'31cchH31 cch8!31cchH31cchc#31cchH31cch8%#e'H#8'Hj"?A"A?H" A?H"h H hH!e%H"?A"A?H" A?H"h H hHH%H"?A"A?H" A?H"h H h8H!Hc"?A"A?H" A?H"h H he88e75;9eC8pI0ʊ C" C" )Hhchch)  )75cc;98C8pI0ʊ C" C" )Hhchch)  )75cc;9 eC8pI0ʊ C" C" )Hhchch)  )75cc;9 8C8pI0ʊ C" C" )Hhchch)  )75cc;9 eC8pI0ʊ C" C" )Hhchch)  )75cc;9 8C8pI0ʊ C" C" )Hhchch)  )75cc;9 eC8pI0ʊ C" C" )Hhchch)  )75cc;9 8C8pI0ʊ C" C" )Hhchch)  )31cc13hh=Ʌۥȅ+;ik;8 [ݥۅHHcchKhM=;߅,*A?dE{iXCOO8pI0ʊ =;cchH=; cchH=;0cchH=;@cchH=;PcchH=;`cchH=;pcch1{iUH=;hHA?h" EChUECcchUEC cchUEC0cchUEC@cchUECPcchUEC`cchUECpcchU;i;=?i?ACiCE =; cchHA? cch"ʆ-+=;`cchHA?`cch"H/1hh1/-+hchcQ"')hh1/")'hchchh-+~")'hchchh=;hHA?h"H+-hh=;@cchHA?@cch"H/1hh1/-+hchc H" hh1/-+8hh H"  hh hchchh 8hh#%hh hchchh 8hh!hh=;pcchHA?pcch"H hh=;PcchHA?Pcch"H  hh=;0cchHA?0cch"Hhh=;cchHA?cch"Hhh hchc')hh hchc+-hh hchc/1hh hchc35hh531/hchc%"79hh  " hh A"  hhTb"hh 0"hh)'3"')hh-+"+-hh1/;"/1hh53"35hh971/hchc/1hh9753hchc35hh1/)'hchc hchc hh53-+hchc hchc  hh1/-+hchchchchh53)'hchchchchhEChHhchchchcQS"SQ H" SQ H"h H hECpcchH8hhhchcQS"SQ H" SQ H"h H hECcchHhchchchcQS"SQ H" SQ H"h H hEC`cchH8hhhchcQS"SQ H" SQ H"h H hEC cchH !hchchchcQS"SQ H" SQ H"h H hECPcchH !8hhhchcQS"SQ H" SQ H"h H hEC0cchH %#hchchchcQS"SQ H" SQ H"h H hEC@cchH %#8hhhchcQS"SQ H" SQ H"h H h;i;=?i?ACiCEOdE{iXCO8OpI0ʊOH"hchchHHHhchcGIhhECcchHECcchHECcchHECcchHEC cchHEC cchHECcch {iWHMKHEChHhchcQS"SQH" SQH"h H h)Hhchch)  IGhW)  )IGcchW)  )IGcchW)  )IGcchW)  )IGcchW)  )IGcchW)  )IGcchW)  )IGcchW)  )ECccCEhhl ECcchH+-hhEC cchH/1hh1/-+hchcQ"')hh1/")'hchchh-+~")'hchchhECcchHEChHhchc H" hhECcchHEChH8hh H"  hh hchchh 8hh#%hh hchchh 8hh!hhECcchH hhEC cchH  hhECcchHhhECcchHhh hchc')hh hchc+-hh hchc/1hh hchc35hh531/hchc%"79hh  " hh A"  hhTb"hh 0"hh)'3"')hh-+"+-hh1/;"/1hh53"35hh971/hchc/1hh9753hchc35hh1/)'hchc hchc hh53-+hchc hchc  hh1/-+hchchchchh53)'hchchchchhIGMKHhchchchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH8hhhchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKHhchchchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH8hhhchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH !hchchchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH !8hhhchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH %#hchchchcQS"SQH" SQH"h H h)Hhchch)  )IGccMKH %#8hhhchcQS"SQH" SQH"h H h)Hhchch)  )ECccCEhhO4م؅+;ikIT%O0{Rwy{} 3579;=?AC'LNPR*5UePw3Vm !;Q`dz>UJ &lXyw8Be|mz.Aj}/Hk0Sj;R#: " gځ={&=%c&2Ul'JaKW \hP\v&2>JVD@w)2t4n 0GKn $(Kbz4[&5Me}}Il8Oy{  ST?#%LW r.G ?h Bk! , 4 0E vgalib4;8  ["ںH`H"hl  H"hchchF H"hchchH8I  H"hchch')) H"hchch)I'I H"hchchHHhhںHH"h_ں H"hchchH"MhںHH"hs H"hchch)I'0 H"hchch HHhhJںHH"h H"hchch %ں H"hchch HH"MhںHH"h H"hchch %  +;ik;8 [ںH"qh.ں+H H"h  +;i k(S&q?+LeAy_-xqD|b0{t Tm Px"P&Pr&P&P*P*P"P+"P["P"P"PPP"P<"(* 3 < F fRW[`ftzl, - .7 /O 0g dv  "Jy: P P PL P P     .  H " j    P" P P.            , - .) /A 0Y     V h z      Pf P P& PM P} P P  P: VP P  H   #9R*|). ++Y H_jpeGSCopyright 1996, Mark Marr-LyonM+ JPEG Image*.JPG  Zz@XxCcVvOoWw@Qq Dd@ @@ File  Edit Image Windows UndoCutCopyPasteClearOpen...CloseQuitDisplayPreferences...About jpeGS...Open which image?07K3/jpeGS 1.0 Free mem: *0K by Mark Marr-Lyon Max block: *1K This software is based in part on the work of the Independent JPEG Group. Contains libraries from ORCA C, Copyright 1991, Byte Works Inc./^#032/*0/^#032/*0 *1/^#0Tool error Could not open a new document.Out of memory.Error opening file.Insufficient memory for pixel map.Unable to load defaults.Printing of JPEG images is not supported.Inavlid VGA mode.Unsupported VGA mode.P 2((2((   PPPPPPPPPPPPPPPP  >PViewing Parameters  WP Image Info $P, P,-./0 Resolution , , 320 x 200- - 640 x 400. . 640 x 480/ / 800 x 6000 0 1024 x 768 ':4P,"PColors  16 256 32k 16.7M 73DP,$P Scaling  1:1 1:2 1:4 1:8 LEUP Grayscale ZEcPPreview $@PType: &1POriginal Size: 3>PConverted Size: @KPCompression Ratio: MXmPBitmap Size: 9RePm : 2(P:  !>+Press -. to abort. )dP vv  A\0 OK A0CanceloIDCT Method:{0Integer0Floating point*0View upon open#Temporary File Prefix:$Tp Hx jpeGS 1.0 Introduction jpeGS is a JPEG image viewer for the Apple IIGS that is based on the freely available JPEG decompression code by the Independent JPEG Group (IJG). It supports, but doesn't require, the Second Sight video card from Sequential Systems. Some of it's features include: - Viewing of any number or size of files that will fit in available memory. - From the Finder, opening any file ending in ".jpg" will run jpeGS, which will attempt to load th>8x>t  xpl v$4#SW@Oat file. - Supports progressive JPEG files. - Allows scaling and horizontal/vertical scrolling to view large files. - Preview mode for faster decompression. - Supports all available Second Sight video modes and the 320x200x16 SHR mode. jpeGS is freeware. Distribute freely, but don't modify or sell. System Requirements: Requires an Apple IIGS with GS/OS 6.0.1 and 1.25 MB of memory, although with only 1.25 MB, you won't be able to view very large images, so 2 MB or more is recommended. An accelerator, 4 MB+ of memory, a Second Sight card, and a hard drive are all highly recommended. Preferences In the preferences dialog, the following options may be selected: 1) IDCT Method. The Inverse Discrete Cosine Transform (IDCT) is the primary mathematical algorithm used in decompressing a JPEG image. The floating point method is very accurate, but also very slow. The integer method is faster, and only slightly less accurate. Usually there is little visible difference between the two. The floating point IDCT will only be used when the image is viewed full size (Scaling of 1:1). For reduced images, less complicated integer IDCT routines are used. 2) Default prefix for temporary files. The JPEG decompressor sometimes makes use of temporary files to reduce the amount of memory required. They will be stored in this directory and deleted when no longer needed. No validation is performed on the prefix, and it defaults to the System folder on the boot volume (*:System:). And, 3) View upon open. If this is checked, jpeGS will start decompressing the image immediately after opening it. The Image Window The Image window allows you to choose the resolution, color depth, and scaling of the image. Any resolution may be chosen, and if the selected number of colors isn't available in that resolution, the number of colors will be changed to the highest available. The Preview mode will select decompression parameters that will reduce the quality of the image, but speed up the decompression. This is generally most effective in the 256 color modes. For those who are interested, preview mode selects the following parameters - not all of which are applicable to all color modes: Use a one-pass color quantization instead of a two-pass, use a sloppier method of upsampling, use a faster but less accurate integer IDCT (again, for 1:1 scaling), and don't do any dithering. In 256 shade grayscale and 32k color modes and higher, this will have little visible effect, while still speeding things up a bit. In 256 color mode, it will speed things up quite a bit, and still give a reasonable image. In 16 shade grayscale mode, it will give a medium to poor image, and in the 16 color mode... well, let's just say it will score very few points for accuracy, but may score well in artistic impression. Viewing an image When Display is selected from the Image menu, jpeGS will decompress (if necessary) and display the image. Decompression is necessary if either the image has not been decompressed, or any of the viewing parameters have changed. If the color depth is not changed, the resolution may be changed without causing jpeGS to decompress the image again. During decompression, a thermometer will show the progress completed. Pressing Open Apple - period will abort the decompression the next time the thermometer is updated - which may take a moment. When the image is displayed, the mouse controls scrolling of the image, and the mouse button exits. Both horizontal and vertical scrolling are possible, but when using the Second Sight, the horizontal scrolling will be slow and jerky. Available video modes Currently, only a few of the possible Second Sight modes are available to programmers. More will be added when they are implemented. Resolution Colors Second Sight required? 320x200 16 Colors/grays No 320x200 32K Colors Yes* RGB/VGA 640x400 256 Colors/grays Yes RGB/VGA 640x400 32K Colors Yes* RGB 640x480 256 Colors/grays Yes VGA 640x480 32K Colors Yes* VGA Those modes marked with * are not availble with Second Sight ROM version 1.0. Future enhancements Here are some things I would like to improve in the future: - Speed. The IJG library is written entirely in C, so it is quite slow. I believe that translating at least some of the code into assembly language would speed it up greatly. - I would like to add the ability to export JPEG images to a couple of other image types that could be used with other viewers - notably those with 3200 color support. Questions, comments, or suggestions? Just drop me a note at o9938156@unicorn.it.wsu.edu. Mark Marr-Lyon 2/11/1996@x 1  </$<$l <<$<< HH< |jpeGS1.0 *:System: IMAIN ,,--4433332200 YYQQqqOOkkRR{{KK[[nn2277EEIIIIPPVV\\GG::::SSNNPPNNTTJJOO++,,$$KKJJcc``__ZZaa [[\\,,FFLL88//55kkffrrooeedddd!!!!!!&&6677::yyoo$$qq__UU~~pprryyxxssjjddnnhhbbqqppuunn{{ttjj^^hh!!{{~~kk]]DDDFDFDEQ DEQ DBUQUBEEDBUQUBEEDDBBDDDBBDDD  EDD  EDEB EDEB EDBEBB DBEBB DB"!"DDB"!"DDDDDBBBBBBBBBBBBBBcFccacBcB BBBcFccacBcB BBEDBBBBBEDBBBBBBcDcca cBcBBBBcDcca cBcBBBED  BBED  BBBcDccaB cBcBBBcDccaB cBcBBED BBED BBBcFccacBcBBBBcFccacBcBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDDBBDDBBDDBBDDBB DDDDBB DDDDBBFDDDDEDBBFDDDDEDBBD BBBDDBDBBD BBBDDBDBBF  DB BBDBBF  DB BBDBBF BBBB BD DBBF BBBB BD DBBFBBBD B B DBBFBBBD B B DBBBBBB BDBDBBBBBB BDBDBBBDBDBBBDBDBBDDBBDDBBDBDDBBDBDDBBFBBDDBBFBBDDBBFB BDBBFB BDBBDDBBBBDDBBBBDBBBBBDBBBBBFBBBFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBB BBB BBB BBB BBB BBBBBBBBBDD BDD B DDBB DDBB DD BB DD BBBBBBBBBBBBBBBBBBBBBBDDDFBEBBBDDDFBEBBBDDEDBBDDEDBBD EB BDBBBBBBD EB BDBBBBBBDEBDBBDBBDEBDBBDBBBEBBBBBBBBBEBBBBBBBBB F BBBBBB F BBBBBD DBB BBD DBB BBBBBBBBBBBBEBBBEBBEBBEBBEBBEBBEEEBBEEEBBDFDBEBBDFDBEBB$B BFEBB$B BFEBBB  DBEBBB  DBEBBB B B BB BEBBB B B BB BEBBBBBBBEBBBBBBBEBB$DBEBB$DBEBBEBBEBB BEBB BEBDDBEBDDBEBBB B BBBBEBBB B BBBBEBD B B BBBEBD B B BBBEBD BB BBBBBBEBD BB BBBBBBEBDBBBBFDDDEBEBDBBBBFDDDEBEBDB BEBBDBEBDB BEBBDBEBDBBBB BBEBDBBBB BBEBBD B B  D BEBBD B B  D BEBBD BBBBB B B BEBBD BBBBB B B BEBDDFD BDDBBBBEBDDFD BDDBBBBEBDFEDBBBBBEBDFEDBBBBBEB DBB BBFBBEB DBB BBFBBEB DBBBB͓BEB DBBBB͓BEB D BBBDBEB D BBBDBEB D DBDBEB D DBDBEBB DDBEBB DDBEBBBEBBBEBēBBEBēBBEBBBEBBBEBBBEBBBEBEBBEBEBBEBBBEBBBEBBBEBBBEBBBBBEBBBBBEBBBBBDBBEBBBBBDBBEB BBEB BBEBBB$ B󁓓BBEBBB$ B󁓓BBEBB B󟂓BF󓓟󟓂BBEBB B󟂓BF󓓟󟓂BBEBBBB󟁓BBB󓓟BEBBBB󟁓BBB󓓟BEBB BB󟓁󟓁BEBB BB󟓁󟓁BEBBB 4󓟓󁓓BEBBB 4󓟓󁓓BEBBBBEBBBBEBBBEBBBEBBBEBBBEBB󓓟BBBEB FEBEBB󓓟BBBEB FEBEBBBBBBFEBEBBBBBBFEBEBB BDBBB BEBB BDBBB BEBB BDBBB BBEBB BDBBB BBEBB 󓓟󓓟󟟓󓓟BBBB󓓟󟟓BB󓓟BEBB 󓓟󓓟󟟓󓓟BBBB󓓟󟟓BB󓓟BEBEEBBBBBEBEEBBBBBEBE B󓓟BB BBBBEBE B󓓟BB BBBBEBBBBBBEBBBBBBEB B  DBBEB B  DBBEB BBBBEB BBBBEBED BBBEBED BBBEBBBBB  BBEBBBBB  BBEBBBEBBBEBB BB F󓓁BE BEBB BB F󓓁BE BEBB 󓓟D BBB 󓓟󟓟BEBB 󓓟D BBB 󓓟󟓟BEBD BDBBBEBD BDBBBEBBBEBBBEBB BBBEBB BBBEB BٓBBBEB BٓBBBEBBBEBBBEBBB BBB󓓟BEBBB BBB󓓟BEB)BBEB)BBEBB  BBB󓁓 BEBB  BBB󓁓 BEBB F󓓟B󟁓BEBB F󓓟B󟁓BEBB 󓓟󓓁 󓓟󟓁 󓓟B 󓟁󓓟BEBB 󓓟󓓁 󓓟󟓁 󓓟B 󓟁󓓟BEBEBBE B BEBEBBE B BEBDD󟁓BEBDD󟁓BEBFBB!BEBFBB!BEBB B BBEBB B BBEBBBEB B󓓟BEBBBEB B󓓟BEB DEB BB B󓓟BBEB DEB BB B󓓟BBEBDB ! BEBDB ! BEBB BBB󓁓 BBEBB BBB󓁓 BBEBBBBÓB BB F󓓟B󟁓BEBBBBÓB BB F󓓟B󟁓BEBB 󓓟D  󓟁󓓟BEBB 󓓟D  󓟁󓓟BEBD D  BEBD D  BEBBB󟁓BEBBB󟁓BEB D B BB BBEB D B BB BBEB BBB ړBEB BBB ړBEB󓓟 BBBBBBEB󓓟 BBBBBBEBB BBBBDBEBB BBBBDBEB BB B BDBEB BB B BDBEBBFBBEBBFBBEBÓ󟓟BBBBEBÓ󟓟BBBBEBB󓓟BBEBB󓓟BBEBBBBBEBBBBBEBBB BBEBBB BBEBBBEBBBEBBٓBEBBٓBEBBBEBBBEBB EBBBFEBBEBB EBBBFEBBEBB BBBFEBDBEBB BBBFEBDBEBBB󓓁BBB󁓓󓓂B BBBEBBB󓓁BBB󁓓󓓂B BBBEBB  B BF BEBB  B BF BEBB 󓓟 󓓟B 󓓟B󓓟B B BEBB 󓓟 󓓟B 󓓟B󓓟B B BEBEEDE B BBDB BEBEEDE B BBDB BEBD B B󓓁BB󁓓B BBBBEBD B B󓓁BB󁓓B BBBBEBBBDBEBBBDBEB B    BEB B    BEB B BEB B BEBEB#FDFBBEBEB#FDFBBEBBB FBFBDDBEBBB FBFBDDBEBB󁓓BBB BEBB󁓓BBB BEBB  󓓟󓓟B BBEBB  󓓟󓓟B BBEBB 󓓟"󓓟  󟓟󟟓BBEBB 󓓟"󓓟  󟓟󟟓BBEhںv"hں"hں"hں?+Hf*H"h+;ikYou stumble down the hallway of the Troubleshooter Training Course looking for your next class. Up ahead you see one of the instructors waving to you. When you get there he shakes your hand and says, "I am Jung-I-PSY. Welcome to the secret society infiltration seminar. I hope you ..." You don't catch the rest of his greeting because you're paying too much attention to his handshake; it is the strangest thing that has ever been done to your hand, sort of how it would feel if you put a neuro whip in a high energy palm massage unit. It doesn't take you long to learn what he is up to; you feel him briefly shake your hand with the secret Illuminati handshake. You ignore this secret society contactYou respond with the proper Illuminati code phrase, "Ewige Blumenkraft";8 [ںd"hں"hں"hںM"hں"hں̢4H㢩3H"h+;ik"Aha, so you are a member of the elitist Illuminati secret society," he says loudly, "that is most interesting." He turns to the large class already seated in the auditorium and says, "You see, class, by simply using the correct hand shake you can identify the member of any secret society. Please keep your weapons trained on him while I call a guard. You wait for the guardYou run for it;8 [ں8"hں"hںҤ"hں "hںj"hں"hں"hںV"hں"hں"hں?"hںv7H,H"h+;ikYou sit through a long lecture on how to recognise and infiltrate secret societies, with an emphasis on mimicking secret handshakes. The basic theory, which you realise to be sound from your Iluminati training, is that with the proper handshake you can pass unnoticed in any secret society gathering. What's more, the proper handshake will open doors faster than an 'ultra shock' plasma cannon. You are certain that with the information you learn here you will easily be promoted to the next level of your Illuminati secret society. The lecture continues for three hours, during which you have the opportunity to practice many different handshakes. Afterwards everyone is directed to attend the graduation ceremony. Before you must go you have a little time to talk to The Computer about, you know, certain topics. You go to the graduation ceremony immediatelyYou go looking for a computer terminal;8 [ں"hںE"h͢+ں7HɩH"hں"hں"hں/"hںY"hں"h1.)7!8a H`ƨƨ+;ikYou walk down to a semi-secluded part of the training course complex and activate a computer terminal. "AT YOUR SERVICE" reads the computer screen. You change your mind and go to the graduation ceremonyYou register yourself as a mutant Select 'a', 'b' or 'c' : a - You register yourself as a mutant. b - You want to chat about the commies. c - You change your mind and go to the graduation ceremony. ;8 [ں"hں֫"hں&"hںs"hںĬ"hں "hںN"hں"hں"h +;ik"Hrank Hrank," snorts the alarm in your living quarters. Something is up. You look at the monitor above the bathroom mirror and see the message you have been waiting for all these years. "ATTENTION TROUBLESHOOTER, YOU ARE BEING ACTIVATED. PLEASE REPORT IMMEDIATELY TO MISSION ASSIGNMENT ROOM A17/GAMMA/LB22. THANK YOU. THE COMPUTER IS YOUR FRIEND." When you arrive at mission assignment room A17-gamma/LB22 you are given your previous clone's remaining possessions and notebook. You puzzle through your predecessor's cryptic notes, managing to decipher enough to lead you to the tube station and the tube car to GDH7-beta. ;8 [ں"hںծ"hں "hں/6HF5H"h+;ik"Why do you ask about the communists, Troubleshooter? It is not in the interest of your continued survival to be asking about such topics," says The Computer. You change the subjectYou insist on talking about the communists;8 [ں1"hں"hںɰ"hں"hں0"hںL"hںm"hd+;ikThe Computer orders the entire Vulture squadron to terminate the Troubleshooter Training Course. Unfortunately you too are terminated for possessing classified information. Don't act so innocent, we both know that you are an Illuminatus which is in itself an act of treason. Don't look to me for sympathy. THE END ;8 [ں"hںj"hں"hں"hںU"hں-H"Hh+;ikThe tubecar shoots forward as you enter, slamming you back into a pile of garbage. The front end rotates upward and you, the garbage and the garbage disposal car shoot straight up out of Alpha Complex. One of the last things you see is a small blue sphere slowly dwindling behind you. After you fail to report in, you will be assumed dead. ;8 [ںٳ"hں "hں H"Hh+;ikThe instructor drags your inert body into a specimen detainment cage. "He'll make a good subject for tomorrow's mutant dissection class," you hear. ;8 [ںմ"hں#"hںn"hͩ)+;ikYou put down the other Troubleshooter, and then wisely decide to drill a few holes in the instructor as well; the only good witness is a dead witness. You continue with the training course. ;8 [ں"hں>"hں H"Hh+;ikYou run for it, but you don't run far. Three hundred strange and exotic weapons turn you into a freeze dried cloud of soot. ;8 [ں"hں "h+;ikYou wisely wait until the instructor returns with a Blue Internal Security guard. The guard leads you to an Internal Security self incrimination station. ;8 [ں"hںϷ6H跩/H"h+;ikYou tell The Computer about: Something less dangerousThe commies who have infiltrated the Troubleshooter Training Course and the impending People's Revolution;8 [ںu"hں"hں "hںT"hں"hں"hں:"hں"h͢ں-H"Hhں H"Hh+;ik"Do not try to change the subject, Troubleshooter," says The Computer. "It is a serious crime to ask about the communists. You will be terminated immediately. Thank you for your inquiry. The Computer is your friend." Steel bars drop to your left and right, trapping you here in the hallway. A spotlight beams from the computer console to brilliantly iiluminate you while the speaker above your head rapidly repeats "Traitor, Traitor, Traitor." It doesn't take long for a few guards to notice your predicament and come to finish you off. ;8 [ںݽ"hں."hںr"hں¾"hں"hں^"hں"hں"hںF"hں"hں"hں0"hں|"hں"hں "hںH\"hں"hں"hںG"hں"hں"hں&"hں^"hd+;ikYou and 300 other excited graduates are marched from the lecture hall and into a large auditorium for the graduation exercise. The auditorium is extravagantly decorated in the colours of the graduating class. Great red and green plasti-paper ribbons drape from the walls, while a huge sign reading "Congratulations class of GDH7-beta-203.44/A" hangs from the raised stage down front. Once everyone finds a seat the ceremony begins. Jung-I-PSY is the first to speak, "Congratulations students, you have successfully survived the Troubleshooter Training Course. It always brings me great pride to address the graduating class, for I know, as I am sure you do too, that you are now qualified for the most perilous missions The Computer may select for you. The thanks is not owed to us of the teaching staff, but to all of you, who have persevered and graduated. Good luck and die trying." Then the instructor begins reading the names of the students who one by one walk to the front of the auditorium and receive their diplomas. Soon it is your turn, "Philo-R-DMD, graduating a master of mutant identification and secret society infiltration." You walk up and receive your diploma from Plato-B-PHI%d, then return to your seat. There is another speech after the diplomas are handed out, but it is cut short by by rapid fire laser bursts from the high spirited graduating class. You are free to return to your barracks to wait, trained and fully qualified, for your next mission. You also get that cherished promotion from the Illuminati secret society. In a week you receive a detailed Training Course bill totalling 1,523 credits. THE END ;8 [ں"hں="hں"hںũHũ!H"h+;ikThat familiar strange feeling of deja'vu envelops you again. It is hard to say, but whatever is on the other side of the door does not seem to be intended for you. You go looking for more informationYou open the door and step through;8 [ںM"hں"hںƩ HƩ H"h+;ikIn the centre of the room is a table and a single chair. There is an Orange folder on the table top, but you can't make out the lettering on it. You leave the roomYou sit down and read the folder;8 [ں"h *dں"hں"hں"hhں"chQں"oh:ں"nh#ں"h ں"g'hں"+hں"(.hں"2hں";hں">hں"Ahkں"REhTں" Jh=ں"Kh&ں"(Qhں"/Uhں"tXhں"Y[hں"]hں"]hں"_hں"iahnں"bhWں"dh@ں"dh)ں":ehں"ghں"mhں"9qhں"8shں"uhں"~hں"'hqں"̇hZں"hCں"Vh,ں"ghں"hں"hں"hں"˧hں"hں"hں"qhtں"yh]ں"{hFں"oh/ں"hں"shں"[hں"Whں"hں"jhں"h:: xH`;@WnDžǜdz&=TkȂșȰ #:Qhɖɭ 7Ne|ʓʪ4Kbyː˧˾1H_̥  +;ik ;8 [ںںH"hH"{hں"hں"hں"5hں"hںH"h͢ں"hںH"h+;ik  УLHH"ZkGΏ;iEH"8hEiEhz;mEZګkHHH"uzhZګky"{")kyzhZګs; [KHHHH ")Qԣ)Mԣ)Iԣ)Uԣ)Yh)]hhh mԥ aԇcԗcԅaԅ+;ikH h\KzZڭHH; [ќ"]i # " Ȁ " Ȁ  Z8czHHHH "* Out of memory"$\h h  ЎmА  Ȁ  Ѕ Ѕ )s  "   i  ")0"!)    Ѕ Ѕ +hhkKHH ;[$hHHhk֯ ":+hh`Μѩ эH"kΎѩ H"kΎHH"ѩ H"kΎH" kraa"7 `ѭэ"9 ! "  ҍ`  .CONSOLEK ;[ӧ)%H"  +kӜӜӜӜө ӜӜӜ Ұ Ӎӧ). Ӎӧ)lӀ Lh )@l Y&|lӧ)-Ӏ,0Ӏ"+ +Ӏ #8``jӧ)*jj`)0:)Hjӭj mjcj%wnsb8pcXxoHudifeEgG\KHIHm"hahcamQԍaԭcmSԍcԭOHMH"hehgameԍaԭcmgԍc8aa԰cԭKԍkԭIԍiԭMiԀXOHMH"hehgeieԐgԭgHeH "hehghh8aeԍaԭcgԍcԭiJJmaԍaԐcii,iԐkԭkHiHd"hihkhhikԭkHiH"hihkԭkHiH"hihkhh8aiԍaԭckԍc8aca԰cԭcHaHQ"hahcԭWHUH"hehgameԍaԭcmgԍcԭ[HYH<"hehgameԍaԭcmgԍcam]ԍaԭcm_ԍc`;8 [Kdd)awr OJؠ ؐȷ ؀ -w:" 8?X:a3(؍0" &Xз,؍6ح*؍4" .""  HH"ȥ ȩ)+bȷ)+arQIJ ȗ+;ik)+8`bJ8``;8 [K ͐ ͒HH"HH" ) ) )   H H    ,  c {iککڀ  ڠ ڠ ڠ ڠ ڭ ڀK" ?L     ) mڗ mڗ    ڗ ڗ    U i  i )8   :  )    I   )   +;i kэۍB". " "- @Z &  ڭZ  Ȍ "P` ` . Rs;8 [ )   2   7 H"G  H"H H  )    H H" i ȷ i  8  ȷ :      )  ) H H"  +;i k;8 [KHH"  ) w  HH"  _ @@ HH"7 ȥ  ȥȗd+;ikι %"4 ހ Ӝޜө өQӠTӭӧӜ0RNnnnjJJJJ 0:i ޙӈ ˭ X ލө00 HH ȷ  HH ) ӐӍ8Ӎ Z)H"zhih "ι H"!8  I-ӜӭHHS '" &"Ӯ" 0/ "Ԁ' S S 8ӍӭιӭιιӢR  8Iӭ0 H" H"H"00 H"ι 0"ȹ) SZ)H"zȀ뭽 HH Ӈhih `ө өQӠTӭӧ0R !NnnnjJJJJJ 0ӈR00ӂQ`0 "ι`KHH; [  8+hhzhhZګk; [ +hzzH`;8 [KH H"-H H"d  '    )\ "⎦i荪⎬  P"9 " " HH"! ͞ "  )@ H H"H H" ii d  +;i k;8 [KHH"p)dPR T8RVTX V" N HH HH"` )d+;ik; [ ȊwHwhȷ+;ik$Ӏ $Ԝ I-ӭ 8$ԀӍ&$ԥ HH( "$( "$0ӽeӽӝө00 >0ӽeE0) өPӠT&610Ӣ0 :ө. 蘼ӝӀ0ιӭ)8Iӭ0 H"00 0"ι)Z)H"zi }0.# e0 x8. x0` ӝ` ӭӍ&$ԥ HH( "᭷Iөӭ,)m*:Ӑӭ8悺L; [N+@" >+;ikNLS; [)}" {+;ik; [8"+">+hhk "2"IhhkHHH8H; [  "5 % Q8  0 " " "5e i @< " "   "5Z ""++;i kHH8H; [ȷȷ HH"+hhhhk;8  [@g"z" && & 8   *8e 8+;i kH; ["ȿ+hhkKꍍ"|p 8Ik@k;8  ["z' OJ  e e f f ff`   d Fejf)  @8 +;ikHiH;8  [  " O$>"Iȩȗ na i  U GE "F e i  "5 "58  0 E  ") i+;iki "HH"H HH"@@H "hh) kHH; [ȗȗȥȥȩ i+zzzzk; [  )8 I"= )L  ! )H"  ( " )H"P   "P +;i kH""N"h") 0 (k0(kHHHHH; ["  ȷݠȷ ȷ+;i kd8d d 8kHZ"c""!""?kK-'=" ;/)=" ;1+=" ;kK!!#% "'3'ꍦ"9 !" 3 ") "+k .CONSOLEK kHH;H" ;[+hhk"(H"k H "hHi " k  " kKzhhh ZګkIH7IHZ; [*8e쪥I+zzzkh@k:JJJJk;8  [d "7 HH HHH"0" "zj  " $"8 " HH"  +;i k(K&kH ;[ " "P+hk  $Sa #;Sk+C[sJf~ &>Vn.F-ف 3Kc{ #Kix" /G_w7Og| $Vn2Jbz† 2*H_v .E\s +BYp (?Vm %Xb& * *Bgh  HP[p| !'[c 5Rg %4JO_hmunzHUd W^mpہ  8Ph(@XpG\c{ #;Sk+Cց 0H`x /u  ,D\t4Ld|y !9Qi0HR{ :Rj4 !9Qi )AYq+57Og.F^v2Jbzd| $Vn@XpȆ .F^v6N9Qi)A&>Vn΃ 3Kc{ #;Eh(@Xpy !9Qi?b&>Vnx 8B 4Ld|  )Jbz !9Qi0H`jmi  #;Sk/G_w| !+':xz|~ : 48?B$'/28>FI[_jpx{%RUX[^dgjmpux4;RUZ`nrvz~nr1 ,069BFILORUY\_beh  hotx &,6>FNVY^ׁx{ V[`cgjmps (4AOUX[^cfkn{ ,1IOUX^akpwz}',6'$18;BEHMRW\cfrw!!CKRWahry~  "QY\_ilx~΃ %*-CFILVY\_qt= GJMTY\f,/5-[ v5MeO}8s  %]=UmD\ ` x  \   L   8 ? P h  2      /( r@ kF-E]kuDo Y2 Crb~=(uB}hQj! "U"" ") 2#A #Y #q $ 4$ ~$ $ % f%!%!%1!&I!^&a!&y!&!.'v'('('A)')')'$*(q*(*6(+N(T+f(+~(++,+,,4--,-E,-O,-7./O.0g.`0.0.0.G1.1.1.11//2~/`2/22W52525363@6636N36f36~373^737373 83[848&48>4D9V49n494:4&:4V:4:4:57;(5A;25;;<;<d|<><>>??@+?c@C?@[?@s?A?eA?AABACBcC/BCGBC_B=DwBDBDB,EaEFyE9GEGEGEHEoHEH FI!FSI9F|IQFIiFIFIJJ3JJKJCKcJK{JK LN$LOUFVVUVnUVU4WUWUWV X!V5XX7YXYXYX#ZXpZXZY[h[[[4\[\[\]]]_^]^^^^>_0^}_:^__a`````2`a<`5axaaaba_bababbhcbccdcMd1cddeIeEfaefyefege6geageggigigAjhj-hjEhk]hjkuhkhlhSlhlhlhmimi`m5immnm om]ono-noEnFp]npunpnqn"qHqq`qrxqhrqrqsMstesUt}ststs=usuuwu0xuexux vx#v'y;vxySvykvzvfzvzv{vT{v{v{wB|=wV|Uw|mw|w=}w}w}w}~+~C~[~fs~~~=~a~~73ԂK6N f]~;ƃރĆ&J>ۇ; #Չ;SekO𳈚ˈg0H`Ox=،ۏ)v 8B;e}I𭑙őݑ8 ؔ%=bUmAv~Θ^֖L6N8fΗқ<_8𓜚Ü:ۜ՞ &#v;Sk?ufdՠM5̢?81ҤI ajyV٣? vڧE&ɩG_w/Y𦪊֪֫&sĬ 6NNf-ծE ]/gF1𘯂ɰȯ0Lmj𸱷бUٳ ~մ#n> jϷfu~ TƸ޸:ݽ.ػr¾ ^8PhF0ȼ| \,D\Gt&^y=ĎĘļMƛ($G϶і5јgњ[\$($(!$(~+) SYSFAILvb ' ')SFP.SETUPM44#L'SYSFAILR~9J)44L[SYSFAIL.DOCPp49ET49LNOPQ1 *************************************** _ * * * SysFail Plus v2.3 *( * Configuration *2 * * < * Copyright (c) 1994 by Eric Shepherd *E F * *s P * Requires SysFail Plus v2.3 * Z * * _ ***************************************8 dD$(4):255::D$"pr#3":"Configure SysFail Plus v2.3":"Copyright (c) 1994 by Eric Shepherd"::: n"This program allows you to configure SysFail Plus v2.3 to use any colors you choose on the Fatal System Error screen.":: x"Enter the name of your boot disk, or press RETURN to cancel."B ":";N$:(N$)0ĺ:"Cancelled. No color changes applied.":^ (N$,1)"/"N$"/"N$ N$N$"/system/system.setup/sysfail" D$"bload "N$",a$2000,t$B6" (21480)51ĺ:"This program can only be used on SysFail Plus v2.3.":::  C$(15):I015:C$(I):P 768,169:770,41:771,15:772,133:773,0:774,96~ :V(21440):T(V16):769,V:768:B(0) "Current System Failure screen colors:":" Text: ";C$(T):" Background: ";C$(B) :, "Do you want to change these (Y/N)? ";:Y$:Y$"n"Y$"N"ĺ"N":400L Y$"y"Y$"Y"ĺ(7):240W "Y": "Select new colors:":I015:"("I") ";C$(I),: :"New text color: ";T:"New background color: ";B "VT16B:21440,V::::220:"Writing SysFail Plus v2.3 to disk..."::DD$"bsave "N$",a$2000,t$b6"::"Done!": Black, Deep red, Dark blue, Purple, Dark green, Dark grey, Medium blue, Light blue, Brown, Orange, Light grey, Pink, Green, Yellow, Aquamarine, WhiteSTUVWXYZ[\]^_`abcdefghijklmnoU,C ~ExpressLoadU 56,E 850E 5KH"h K8H; [4 \$k0Ki 0iiX+hhhhxፊፌ(k\\P\0kK@0Lԣ@@0hFFH((@@0DhFii H ȳȳFHD@(('i,7JYfv 'EYepYY.ӯӬ嬠   젣  ɠ   찳Ʃ ɠ g `   * O d }     , !f " # $%_&'()+3,T-n./0@B CDDdEFGHIJKL?MVNsOPQRSTW#X@YZZ[\]_`9aQbicdefg*hbi}jpq"?? Zs !@"^8GWn    ' POdwu    30H1\2l3@ABPQR  J y   *Mg     [ o  n         8 Q m ~        8@ P]w !EW v  0 ] }        ! 0!H!V!k!y!!!"!0!1n !!""C"p""" " #!F#   # # # # ##$*$E$l$$  $!$"%# $)%%M%p%%% % %&   E&V&e&x&& & & & & n ' -' T'}''''( (F(m((((( ( (  ) ") Q)))))))  8* Y* s* * * * * + =+ U+ |+ + + + + , 7, O, ," " ",",","-"0-"G- "r- "- "n "-# # #-#.#0.#P.#j.#~. #. #. #. #.#.#.&/&,/&D/&`/&}/&/&/&/ &/ &0 &70 &N0 &^0&z0& & &0&n & P   >䬠ӯӺ )ӯӺ ӯӠ ɯϠӯӺ$ӯӺ堨堨堨堨堨堨堨堨9堨ӯӺA堨ӯӺ6堨ӯӺ=堨ӯӺA堨ӯӺ,ӯӺ<ӯӺ&ӯӺɯϠ,ӯӺӯӺ ӯӺӯӺӯӺӯӺ)ӯӺ#ӯӺ6ӯӺӯӺ"ӯӺӯӺӯӺӯӺӯӺӯӺӯӺӯӺӯӺƠӯӺӯӺӯӺӯӺӯӺӯӺӯӺӯӺӯӺӯӺ*ӯӺ/ӯӺ'ӯӺӯӺӯӺӠ%ӯӺӯӺӯӺӯӺԠ.ӯӺӯӺԠĠ+ӯӺԠ.ӯӺԠ쬠7ӯӺӯӺӯӺӯӺԠ7ӯӺ廠4ӯӺӯӺ$#$%) #."+)$(Ġ%Ӡ# ,.堾"堾'!䠭Ԡ"䠭Ԡà͠àѠ'Ԡ<䬠͠  Ѡ ) $  +*#'&ĠƠ Ġ   "',00$1 #&&;嬠岬##"ɠ 䠾<%"&($.%&Ġħ.仠< $! .ɠ'ɠ/ɠɠ&ɠɠ,ɠ$ɠɠɠ4͠')"*-堾&" ɠ ɠ(0! 堨$ĭxK h4)))QRT2" 44i 4 342 u5LP 4 5P 4 5{3 u5 53 5)  Y  5 53 5 2 5  5 53 5 2! 53 5) 2 2 53 5) 2 2 53 54J844)`2ȷ) ɍ ZȢ 5z B5ݢ  53 5 5P 4*3 u5," y4 Y4 5BXBH ""   5` ysail lus v2.3 by ric hepherd ress any key to crash into the onitor or  to reboot. atal ystem rror!!庠 򺠣 캠纠󺠤 󺠤6 5 T  `H)"h) dH#" `H#"` B5 y4) B5`0 20ᨯ%᪘0)` B5ހ`ޠ B5O 5ހ`܆ʥ 4_ 4 5Z 4 4`HТ.5ʅh 'ʗΈ HhdL5IJ* Pd 5L5) B5Ȁ`) ) B5Ȁ` 5``((((PPPP & !#%')+-/13579;=?ACEGIKMOQSUW? "&*.26:>BFJNRVZ^bfjnrvz~? "&*.26:>BFJNRVZ^bfjnrvz~? "&*.26:>BFJNRVZ^bfjnrvz~? "&*.26:>BFJNRVZ^bfjnrvz~? "&*.26:>BFJNRVZ^bfjnrvz~ "&*.26:>BFJN, !-69?HKQT[cils| $'-2?W]knt}Ё inu| @ps$%+07;QZ`djpv| 12<1{3N13o1 131131323!23q232*322s,  SysFail Plus v2.3 Copyright 1992, 1994 by Eric Shepherd _______________________________________________________________________________ THIS SOFTWARE IS SHAREWARE That means that I trust you enough to send me US $5.00 if you use this program. If you don't use SysFail Plus, please either delete the program or use the disk it's stored on as a coaster for a nice, cold drink. ____________________________________________________>p>t    p ^ND=eqtuvwxyz{|}~___________________________ What Is SysFail Plus? SysFail Plus is a permanent initialization file (PIF) that replaces the Apple IIGS system death manager to provide a more convenient error screen when the system crashes. Once installed, a system failure will no longer simply say "Fatal System Error #$xxxx" but will instead put up a screen telling you the name of the toolset which generated the error, the error number and a proper error message, and the return address which was on the stack when the call which generated the error was issued. On the down side, you don't get the funky sliding apple anymore. You win a few, you lose a few. SysFail Plus recognizes all GS/OS and Toolbox errors for all Apple-released toolsets as of System 6.0.1, including MIDIsynth and Media Control errors, and errors documented in Apple II Technical Note #24 (Toolbox Reference Updates), and in the Programmers References for System 6.0 and 6.0.1. Installing SysFail Plus Just copy the file "SysFail" to the "System:System.Setup" folder on any bootable ProDOS 16 or GS/OS volume. The next time you boot the system, SysFail Plus will be installed. NOTE: SysFail Plus is a fairly large program. SysFail needs to be able to run under less than perfect system conditions, and as such cannot expect to be able to load data from disk. Therefore, its text tables are always in memory. By default, SysFail Plus uses white text on a red background on the Fatal System Error screen. You can use the SFP.SETUP program to change those colors. It will ask you for the name of your boot disk, then for the text and background colors to use. Its very easy to use. After the program exits, it will leave you in Applesoft BASIC. Type BYE at the ] prompt to return to your program launcher. Using SysFail Plus No need to do anything special - one of these days, when you least expect (or desire) it, SysFail Plus will pop onto your screen. When it does, you'll be pleased to note that you have some debugging abilities (especially if you've got GSBug installed). Unlike the standard IIGS system death manager, pressing a key from the SysFail screen crashes you into the Monitor (or into GSBug). This gives you the ability to track down the source of the system failure so that you can fix the problem after rebooting the system. Please note that under some circumstances, crashing into the Monitor may cause more problems than it can solve. This is especially true when HeartBeat queue damage messages are displayed. Most of these inform you that you should reset the system, but you are not forced to do so; as always, proceed at your own risk. When SysFail Plus crashes, interrupts are off because the fatal error might be an interrupt error. However, if you want to turn interrupts on, the next instruction in memory after the BRK $42 which crashes the system into GSBug or the Monitor is a CLI instruction, which will enable interrupts. From GSBug, you can just press the down arrow key followed by the space bar to turn on interrupts. I've added this feature primarily to make it possible to enter the Control Panel after the system failure. REMEMBER: Unless the system failure is caused by a simple toolbox error which some sloppy programmer decided to return as a fatal system error (which was common practice in the early days of the IIGS before the wonders of GS/OS), it is quite likely that the system is in poor shape. Be careful using Desk Accessories unless you know the system is safe for what you want to do. If you aren't a programmer, I advise you to use Control-Apple-RESET to reboot rather than enter the Monitor. THE AUTHOR, ERIC SHEPHERD, TAKES NO RESPONSIBILITY FOR ANY DAMAGE DONE WHILE USING SYSFAIL PLUS. CAUTION HAS BEEN ADVISED AND IF YOU CHOOSE TO IGNORE ME, THAT'S YOUR OWN FAULT. On a lighter note: I've been using SysFail Plus for five years now, in various forms, and have had no problems whatsoever. How It Works If you're not a programmer, you might want to skip over this bit of jargon. When SysFail Plus is loaded at boot time, it installs patches into the Toolbox vectors (DISPATCH1 and DISPATCH2) and a patch into the system death manager vector. When a Toolbox call is made, SysFail Plus gets control just long enough to save the call number and return address, then proceeds to the Tool Locator. Both the stack and inline GS/OS vectors are now patched into as well, so that system failures caused by GS/OS calls are also handled by SysFail Plus. When the system death manager is called, SysFail Plus takes over and displays its custom Fatal System Error screen. Things To Note When using SysFail Plus to track system errors to their source, it is important to remember that many tool calls themselves make other tool calls. This means that in many cases the tool number you see on the screen (and the return address) may not be at all what you expect, and is often in ROM or in the operating system. However, by looking at the code immediately preceeding the return address displayed, you can see the exact cause of the system failure. For example, on occasion, you might get a Unable to load/unload resource error. Without SysFail Plus, the only information you get is the resource ID and the resource type of the resource that was being handled. With SysFail Plus installed, not only are you given that information, but you can then proceed to examine the code in GSBug to determine the actual problem. Because SysFail Plus tells you exactly what call was responsible for the fatal system error, you can see more precisely what was going on what file was being accessed? Is it the right one? You can use other debugging tools, like Nifty List, to figure out whats going on. There are some special instances of which you should be aware, in which SysFail Plus does not display the correct call that caused the error. These are cases in which the system software generates a special system death error message. One of these, in the case where the system software is unable to load a resource, results in a special error message listing the resource ID and type that couldnt be loaded. However, the system software calls HexIt and Long2Hex to generate this string, so SysFail Plus dutifully tells you that HexIt is responsible for the error. Keep an eye out for Integer Math calls being claimed responsible for errors. These are usually not the case. A future version of SysFail Plus may be able to ignore Integer Math calls so that the correct information is displayed in these cases. New Additions Version 2.0, includes a few minor bug fixes, clarification of some error strings, and a few new features. The most important new feature is the addition of the GS/OS intercepts, which is described above. All information is now printed correctly (previous versions seemed to randomly print the error string and/or error code wrong). Most importantly, SysFail Plus v2.0 uses the correct method for patching into the Toolbox vectors the previous versions did not. Version 2.1 recognizes System 6.0.1 error codes. Also, while I was adding those, I found two bugs: the text screen clearing routine wasnt working quite right, and the code that turns off the super-hires screen was messed up. While I was at it, I added code to make sure that all graphics modes are disabled (and that the text screen is active), and to set the text screen to white text on a black background, just to make the system death stand out better. Version 2.2 should have been named 2.1.1, but it is created by a patch program, and its easier to patch 2.1" to 2.2" than to patch it to 2.1.1". :) It changes some references to softswitches to reference them in bank $E0 instead of $00. This bug is insignificant, really. However, the program that creates SysFail Plus v2.2 also lets you configure the screen colors used for the Fatal System Error screen. Its called MakeSFP2.2. Version 2.3 fixes some problems with displaying custom error message strings. They now draw correctly. Features For the Future I have been debating on and off (mostly off) the possibility of writing a version of SysFail Plus for users with lots of memory to burn which would identify the name of the tool or OS call which generated the error (currently, only the call number is displayed). The current idea is to have separate call information files which would be loaded at boot time. This would let you select which toolsets (and/or GS/OS) you want to know the call names for. By letting you select them, memory can be saved. Let me know if you're at all interested in this idea. If enough people like the idea, I'll get working on it (otherwise, forget it - all those call names will take a long time to key in). Another possibility is that I could fairly easily create a version of SysFail Plus for users with low memory. The only difference would be that the error message would not be displayed (but all the other debugging information would be). Or I could even write a version with a limited error message database. If you have any preference in this matter, let me know. If you find any bugs, PLEASE notify me immediately. A utility such as this should really not have any bugs. If you have suggestions for improvements, let me know and I will consider adding them to SysFail Plus. People that report bugs or give suggestions which I use will be immortalized in this document. Is that exciting, or what!? Aknowledgements Apple II DTS For writing some seriously useful Technical Notes. The Byte Works For Orca/M (used in writing this utility). Greg Templeman For razzing me about using the Text Tools. I hope this is at least a little better, Greg. Apple II Users For sticking with the greatest tool since fire (or Fahr :)! Bug Hunters! These people have found and reported bugs in SysFail Plus: William Rascher Getting In Touch My address, as of January, 1994, is: Eric Shepherd 6721 El Colegio Road #47 Goleta, CA 93117 Because I'm a student, I tend to change addresses a lot. The latest version of SysFail Plus should always have my current address in the documentation. As a rule of thumb, keep in mind that school starts in September and ends in June. My address will probably change at least once between those dates. You can contact me electronically in a number of ways: America Online: Sheppy eWorld: Sheppy GEnie: POWERPC.PRO Internet: uerics@mcl.mcl.ucsb.edu sheppy@cs.ucsb.edu Also, on GEnie, there's a topic for public discussion of my programs. Check out Category 13, Topic 18 in the Apple II RoundTable. *** Apple II Forever! *** r-U}x    H'$ H~ HD H] H H H Hz  HG HO H, $PzK |$PzP0 Ѐ0X|ULTRABLACKvb ' 'ZULTRABLANK)a_ULTRABLANK.DOCSP1>,ET;_ULTRABLANK.HISTP>,ET9 < 90E WKHH" ""k"#"kH !HhkhM O hX Z \H !HhkhM O hX Z\kH  5h\Hh\H  5h\H hLh\\\ ;[  5+  ;i kZK%0')3#=t  V=`   `)~J*#*+H3]S$ 3!a) ' $$3 I&  X 8 4)40kxKZ Iz(`6 W0P"%X" H" )  )44 ` )  W ` HH;[w 5 )   iT;i+` 4)4) L/`7[0 )MHH H  "hh) H"h ) ) "X"WQ `WT )WW WȘ)   )JJJiWTᮧȩT T᫭/0` HH;[ )JJJiiꝍwTᮧȩT᫭5᭝ 興 ?Tᮧȩ>T᫢L HH;[4)@@;4)idg)᭝mɿ2 7%i  7 i L )    mᮩ#= = 뮩̧Ǯ    iT᭧ȩᩞT᫭m&0ɛ 7 7 mʠ _acii<;i+`20)`4I4` 0 ` @ `@TKHH" """ " kKGHH" "%)B". HH "H ""kK"<kK"") 0TO ""4    "H ""h" "tH "k ӯӠ 交0HJJJJ 0h) 0`Ver ?.??À&7t !;BJMRYhq "'05;JYbsvy~  )9FIQZ`dn$36:>GJRW]`lvy|' #.7:@EHKNUZejsx{ 8 X]g =  IM59#'LR[ajp  $*0=ITjnGkWWO6  0E BootInit  "*w)i pd _ u"' UM H C  M 0"#" N N Q Q Q u u u  k_H\\"`HH "hMhO FF"HH"hXhZQQ"`"#"HH "hh` nHHH ";[ HHHH HHH ";[ȩnB@ȩȩ9ȩ9Pȩfȩȩȩ(ȩ ȩ!Bȩ!Ddn ""hnL6+`H"htH"/rHHHH"" "z 8`r"tH"r` HH)"';[ *(hh+`dabf0 7 70LJ`HJJJJ Bh) 0J`2)H uhHH:"he`rV XHHZڢ"6;[(dd vH<"+`hh+ t+;[80ii:hhhh+`"  CS" A" Q-` ` ;8[2) ]H  HHH "  c0ȿkʈ0)"HH H  HHH " 8 0 0\Hȩ**010J Hh0";i +`)4Configure UltraBlankUltraBlank Configure UltraBlankb33)Configure UltraBlankUltraBlank ConfigureVIB5c"n--O< )x",.9BE$*:System:System.Setup:UltraBlankCnfg- [Claney~UltraBlank~UltraBlank v??.??33333333333t?wwwwwwwwwwwwwwwwwwwww3w33333333373wwwwwwwwwwwwtwwwt?t tt33pC3wwwwwwwwwpCww4?Cww740w3@p3wwwwwwwwww7 74ww4t<7Bql4e6 27CJ[lBN|$6EP[m|  0E YeOldAbout )-H( &Y"h:kLP8"H Y"h"k:A I ) 0  s 8"H [Y"hkH ,Y"hkH Y"hH fY"hH Y"hk$  90/JSUltraBlank screen blanking utility *0 SThis program is SShareWareS. Try it out, but please pay for it by sending me SUS$15S to become a registered user. Read the docs for details. Send questions and comments to: 2370-E Shady Oaks Rd, Marshalltown, IA 50158-9575. Copyright 1990-1994 by Robert S. Claney. All rights reserved. J*1/^#0Havent you seen this enough?!60|JI was created with Orca/M 2.0.1 on 23 Aug 94 The rezourceful parts were created with REZ. Absolutely SnothingS was created by Design Master.|Thank|^Yous90|JThanks to Leo, for beta testing! Many thanks to Cecil, for the helpful suggestions! Thanks to Jon, for pretending to proof-read! More thanks to Jon, for finding bugs in bug free code! J2.00 beta testers: Cecil Fretwell, David Feeney, Morgan Davis, and Jon Roberts. Thank you all for the help youve given me!|Credits|^Credits90|JUltraBlank Credits: Silent ball bouncing suggested by Leo Laughlin (who complained about the noise). Bouncing ball in the boot icon suggested by Morgan Davis. Psychedelic color suggestion by Jon Roberts, who also suggested the looping math. JAnd... apologies to anyone else Ive missed.|^ ???????@D???? 330?3000???71|JHolding all modifiers down will result in the destruction of Sall matterS in this universe. OK to proceed?|Debug Mode|#2|^#3!20|JGood choice! Operation canceled.|^Marvy72|JSOperation Failed. SError $FD87B*4A06: Insufficient *0 to destroy universe; Approximately 2*4 additional Exa*1s are needed. |#4|^#1memorypowerbytevolt75  +8R&%.fmw~"O_[,f Q0E HelpfulnesQH )Y"h2H Y"hH =Y"hk71M /JUse the SDelayS option to select the amount of time UltraBlank waits before blanking. You can choose from several possible delays between 1 and 30 minutes./#1/^#681M /JUse the STypeS option to select the kind of blanking you want UltraBlank to use when it blanks the screen. SBlack ScreenS just turns the screen black. Use SBouncing BallS to make the screen black except for a bouncing ball. There is also a SNo BlankingS choice if you want to turn UltraBlank off./#1/^#681M /JPress the SAboutS button to read about this program and its author. You should already know what the SHelpS button does, since youre reading the results! See the documentation for details on what the SAdvanced Options...S button is for./^#0 )(B%?=+?$0E CDAStuff HHH "HH " " " "0$*0H "h()Ȣ(Z "h c " b ;8[ 7  " " - /  "d -):  ~ju ( L s  "! [ " H " LȘL bȩ b? 8"L/ "J7".;i+ " "k " uH "`H H u] " " u "`0%0 "`0$0`H"h꯹ܯ`00)`[ 1 minute H 2 minutes i 3 minutes d 4 minutes d 5 minutes e 6 minutes n 7 minutes 8 minutes M 9 minutes s10 minutes g15 minutes .20 minutes #25 minutes 130 minutes Black Screen Bouncing Ball Blanking Off Never Only GS Pgms. When Possible $5HBlanking Delay:Type of Blanking:Use Ball (Non-SHR):D ______________________________________ Z UltraBlank (tm)  _ZLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL_Z _Z _Z _Z _Z _Z _Z _Z _Z _Z _Z _Z _Z _Z UltraBlank is Super _Z ShareWare: US$15 _Z _Z Copyright 1990-1994 Robert S. Claney _Z All Rights Reserved _Z _Z Select: K J H U Cancel:Esc Save: M _ LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL ? Djy 3Tvc#y +Zp/<>t  p 2YSW@HChicago at a convienient pair of sizes (such as 12/24). Installation To use this utility, just copy the file UltraBlank to the System.Setup subdirectory in the System directory on your boot disk(s), and reboot. You MUST use a program which can copy extended files, like the Finder or newer versions of the Orca shell, since UltraBlank is an extended file. You can tell if UltraBlank was installed correctly if an icon of a monitor with a bouncing ball on it appears on the bottom of your screen while the computer is booting. Note: This program requires System 6.0.0 or later to function. If UltraBlank is installed on a boot disk with an older System version than this, UltraBlank will not be installed, and a message to this effect will be displayed on the boot screen. Attention: This program will refuse to be installed by an init installer such as IR, because of the potential problems if this is done. UltraBlank also wont work if copied to the FinderExtras folder. If you didnt understand this paragraph, its not something you need to worry about. Just follow the directions on how to install UltraBlank. By the way, to get the Finder to display UltraBlanks own icon for the UltraBlank file (and also let the Finder correctly identify UltraBlanks preference file), all you have to do is select the UltraBlank file and choose Icon Info (-I) from the Finder. The next time the Finder starts, the new icon will be shown. This only needs to be done once. New Features Summary New types of color for the Bouncing Ball blanking type Requires System 6 (allowing smaller & cleaner code) Uses features of System 6.0.1, if present All known bugs removed Still uses only about 5.5k in use Please read these docs, but if youre in a hurry to see bouncing balls (& are new to UltraBlank 2.x), just copy UltraBlank to the System.Setup folder and reboot. If youre updating from an older version, choose the UltraBlank desk accessory and select Bouncing Ball under Type. Now press Control & Shift at the same time. Thats it! See the Configuring UltraBlank section for customization instructions. Synopsis & Description This program will blank the screen after a period of time where no keyboard, mouse, or joystick fire-button activity takes place. This length of time may be selected from any GS/OS program as described below in the Configuring UltraBlank section. UltraBlank can blank the screen while any GS/OS or ProDOS 8 program is running (as long as GS/OS was originally booted). The blanking will take place while the computer is in ANY video mode which is available on the GS (super hi-res, text, hi-res, etc.). The only requirement is that the program allow interrupts. See the Usage section below for an easy way to check for this. While the computer is blanked, the currently running program will still continue to run. Configuring UltraBlank The following conventions will be used in this section: Individual options will be shown in italics, and individual selections for an option will be shown in bold. The actual menu option you choose to configure UltraBlank will be shown in quotes. UltraBlank allows you to change the way the menu options to configure UltraBlank appear to you in the new and classic desk accessories menus. They will initially read UltraBlank, but you can change this to Configure UltraBlank or UltraBlank Configure as well. In any case, the menu options are described as UltraBlank in the following paragraphs, for clarity. NOTE: When using either version of the UltraBlank desk accessory, if the disk you booted is not in a drive when you choose it, then the computer may ask you to insert the boot disk. Just follow the directions on the screen if that happens. Also, UltraBlank saves your settings on the boot disk when you close the graphical UltraBlank window or press Return in the text version, so that it will know what they are after you reboot. The same prompt to insert the boot disk will appear if the disk is not in a drive at that time (except that you are allowed to cancel from this one). If the boot disk is write protected when the program tries to save, or you cancel from the insert disk dialog, nothing bad will happen, but the settings will revert to what they were before the next time you reboot the computer. There are two ways to configure UltraBlank. If you are currently using a program which supports New Desk Accessories, such as the Finder or ShrinkItGS, just pull down the Apple menu and select UltraBlank. Otherwise, go to the Classic Desk Accessories menu (by pressing Control-Apple-Esc) and select UltraBlank from that menu. However, GS/OS must be running to configure UltraBlank. When you are using a ProDOS 8 application, you will be told that GS/OS is needed. When youre done using the CDA version of UltraBlank, you can press Return to save your changes, or press Escape if you change your mind. In the NDA version, clicking in the close box will save your changes. You can hold down the Option or Control key while closing the window if you change your mind and dont want to save your changes; however, any changes you have make will stay in effect until you reboot or shut down. Using either version of the UltraBlank desk accessory, you may select the Delay option, which allows you to choose how long UltraBlank will wait before blanking the screen. In addition, you can use the Type option to select the type of blanking that UltraBlank uses. You can choose between Black Screen, which turns the entire screen and border to black, Bouncing Ball, which keeps the screen black except for a bouncing ball, or Blanking Off, which will completely turn off blanking. There are some options which modify how and when the bouncing ball will appear when bouncing ball is the chosen blanking type. They are described below in the description of the Advanced Options... button. There is one more option available in the CDA version of UltraBlank. This option, Use Ball (Non-SHR), is described later in this section. The graphical (NDA) version of UltraBlank has several more available options. You can press the About button to read about the program, and press the Help button to read a short description of the non-advanced options. In addition, you can press the Advanced Options... button to show another window with several more options, which will be described in the remainder of this section. The first three advanced options pertain to the Bouncing Ball blanking type. The Color option lets you select what color the bouncing ball will be. You may choose from several possible colors, most of which youve probably seen before. The most unusual colors are the five Psychedelic colors. The Psychedelic color choices continuously do the following: Starting with bright blue, the blue starts fading, while at the same time green appears and gets brighter. This goes on until the blue is completely gone and the green is at full brightness. The green then fades to red, then goes back to blue, where the process repeats. Trust me, this looks a lot neater than this description makes it sound, so try it out! The Dreamy, Slow, Normal, Fast, and Warp options refer to how quickly the colors change. The Use Ball (Non-SHR) option lets you choose when and whether you will see a bouncing ball when the computer is displaying something other than super hi-res (text, for example). Never means that you will only see a bouncing ball when the screen in in super hi-res mode. The Only GS Programs option will cause UltraBlank to show a bouncing ball in any video mode, unless a ProDOS 8 program is currently running. When Possible means that UltraBlank will always try to display a bouncing ball. Keep in mind, however, that it may not always be possible to display a bouncing ball, in which case the screen will just go blank. See the Problems & TechStuff section for more specific details. In any event, a bouncing ball will always be used when the screen is currently in super hi-res mode (assuming, of course, that Bouncing Ball is the chosen blanking type). The Sound Effects option controls what you will hear when the ball bounces off of the edges of the screen. You can have None, which does nothing, Blink Border, which (quietly) flashes the border, or Click, which clicks the internal speaker. The last three options will only take effect after the system is restarted. The Boot Animation option lets you choose how fast the boot icon on the splash screen will be animated. You can also choose None to have no boot animation. The Title option allows you to choose the text UltraBlank uses for the Desk Accessory menus. You may choose from the following: UltraBlank, UltraBlank Configure, and Configure UltraBlank. The Style option allows you to choose what style the menu option has in the NDA menu. You can choose to have none, or any combination of underscore, italics, and bold. For example, if you choose UltraBlank Configure and italic for Title and Style, then you will see the option UltraBlank Configure in the Apple menu. If you press OK, the settings youve chosen on the advanced options window will go into effect (but wont be saved until you close the UltraBlank window). Pressing Cancel will abort any changes youve made. Usage You shouldnt have to change the way you use any of your programs, since any keyboard, mouse, or joystick fire-button activity you make will keep UltraBlank from blanking the screen. Only after the computer sits without any user activity for the amount of time youve chosen will the screen be blanked. Any activity AT ALL will bring the screen back. NOTE: this keypress or mouse movement will be passed on to the currently running program. So, if you dont want to have a keypress popping up in your applications, then I suggest you either bump the mouse, or press a key like Shift or Control by itself, which will bring the screen back without any other effect. If you want to quickly blank the screen whenever you want, you can do so by holding down only the Shift and Control keys at the same time until the screen goes blank, then letting up on both keys. This, by the way, is a good way to see if the currently running program allows interrupts, since the screen wont go blank unless it does. By the way: You wont be able to manually blank the screen if youve turned off blanking. Problems & TechStuff The only application that I know of which definitely doesnt work with UltraBlank is AppleWorks 2.0 with Alan Birds Autoworks installed. I have also received a report that it doesnt work with the game Zany Golf. Current versions of ProSEL 16 continuously set the border color while youre using it, so the border wont go black when the screen is blanked. As far as I know, this is the only problem with ProSEL, though. There are a few things that you should keep in mind when using this program. First, you MUST disable any screen blanking features of other programs you wish to use, including any other screen blanking programs youve loaded as Desk Accessories, Inits, or CDevs. Failure to do so can result in the screen not being able to come back after more than one program blanks the screen! If, while the screen is blanked, a program changes some colors or SCBs on the super hi-res screen, or changes to or from SHR without using QuickDraw II, then the screen may become at least partially visible. UltraBlank is smart enough not to mess up the screen trying to restore it to the previous state, but doesnt detect these changes after its already blanked the screen. If a program switches to/from SHR normally (i.e. using QuickDraw II) then the screen will be restored to its previous state, so that QuickDraw II can switch modes cleanly. An example of when this may occur is if a GS program quits while the screen is blanked. After this happens, the countdown to blanking the screen is restarted, as if you had pressed a key or something. Under System 6.0.1, the screen will be restored whenever the system requests it (by using the systemSaysForceUndim request). In general, this happens whenever the system thinks something important happened. Many of these events are listed in the Sound CP. If the current program makes changes to the SHR screen while the bouncing ball is being displayed, then glitches may appear after the screen is restored. These will usually be small black spots, but may also appear to be small parts of the screen that werent updated. These are nothing to worry about, and will go away the next time that portion of the screen is updated. The method that UltraBlank uses to decide whether to attempt to display a bouncing ball when the screen isnt in SHR is as follows: For Only GS Programs, it determines whether the current OS is GS/OS. If so, it then determines whether the memory where the SHR screen resides is in use. If not, the memory is (temporarily) allocated and it then proceeds to display the bouncing ball. If so, it determines whether the QuickDraw II toolset is active. If it is, it then displays the bouncing ball. If not, then the plain black screen is used. For the When Possible option, if the current O/S is ProDOS 8, then the bouncing ball is always displayed, under the assumption that a P8 program either wont be using that memory, or it will be used for display purposes. Since it is allocated to the OS when ProDOS 8 is started, it wont be allocated by the Memory Manager. I havent discovered any programs which have a problem with this, so I have made it the default. If you find such a program, please let me know, so I can see about working around it. The accuracy of the blanking intervals given is based on the assumption that interrupts are allowed to take place the majority of the time the computer is running. Any time interrupts are disabled, the internal countdown to blanking the screen is temporarily halted. If you have chosen the Bouncing Ball blanking type and the ball is currently bouncing, the ball will also stop moving every time interrupts are disabled. Normally, the system doesnt do this for extended periods of time, so this slowdown wont be noticable. Also, blanking will not occur at all if and while interrupts are completely disabled by the current program. I have received reports that some misbehaving programs are disconnecting UltraBlank. If the screen wont blank, and you believe UltraBlank has been disconnected, you can reconnect it by choosing UltraBlank from the Classic Desk Accessories menu (even while using ProDOS 8). You dont need to make any changes; UltraBlank is reconnected as soon as you choose the option from the menu. I also reconnect UltraBlank whenever you enter or leave any GS application that supports New Desk Accessories. The only other problem Im aware of is that UltraBlank is disconnected if you press Control-Reset. GS/OS applications usually reboot the system, so this isnt a problem, but some ProDOS 8 programs allow Reset to be non-fatal, such as most AppleSoft BASIC programs. In this case, I recommend that you exit the application youre currently using and shut down (or reboot), since there may be problems with other GS/OS applications. If you do want to reconnect UltraBlank, the method described above will work. Even though this program takes about 20k on disk, the memory used while the program is in operation is only around 4.5k for the program itself, and including the overhead of tool patches of 1-1.1k, the total memory usage is around 5.5k. The remaining space is in modules which are only used when either UltraBlank desk accessory is active, as well as information used while booting, which is not kept in memory. This program places a hidden file in the System:System.Setup folder of your boot disk named UltraBlankCnfg with a filetype of $5A (Preferences File) which holds the current settings for UltraBlank. If you want to return UltraBlank to its factory default settings, you just need to delete this file. UltraBlank attempts to display an icon of a monitor (with a bouncing ball in it, of course :) while its being installed. If theres a problem accessing its resources, or the system version is too low (less than System 6.x), then it will display a small splash-screen above the box which says Welcome to the IIgs. If UltraBlank encounters some other problem while loading, then the icon will have a red X through it, to indicate that it wasnt loaded. Standard Plea This program is ShareWare, so if you find yourself using it, please help me out by paying something for it, so I can justify spending the time to update this and write other nifty pieces of software. People who send me at least $15 (U.S.) per computer, along with their vital information (Name, Address, # of computers, America Online screen name [if applicable], any other Internet-accessable names, etc.), and refer to UltraBlank Version 2.08 will be assigned a registration number and will be entitled to receive one US-mailed update of this program at no charge. Normally, I will only mail major updates to people. I will send any minor versions to registered users on America Online or over the Internet, if I have an e-mail name to send to. Registered users of previous versions of UltraBlank need not pay any more for this version (but, of course, may if they want to). Please send bug reports, suggestions for enhancements, and your money to: Robert S. Claney 2370-E Shady Oaks Rd Marshalltown, IA 50158-9575 I can also be reached at the following locations: America Online: BobClaney Internet: bobclaney@aol.com claney@iastate.edu txa84@isuvax.iastate.edu Im more likely to help you out with any problems if youre a registered user, but let me know what problems you have in any case, so I can strive to make this program as good as it can be. Legal Absurdities This document is Copyright 1991-1994 by Robert S. Claney, and the accompanying software is Copyright 1990-1994 by Robert S. Claney. All rights reserved. Non-registered users are granted a limited license to try out this software to see whether it is useful to them. Continued usage requires registering this software by following the instructions in the Standard Plea section. In any case, this software may only be used for non-commercial purposes on a single machine only, unless specifically authorized in writing by me. Site licenses are available at a reduced price for multiple machines at a single location. Rates are also available for individuals wanting to use UltraBlank on more than one computer. Contact me by (e-)mail for more information. The accompanying software may be distributed as long as the following conditions are met: [1] This documentation (UltraBlank.Docs) and the history file (UltraBlank.Hist) must accompany the program (UltraBlank). [2] Neither the documentation, the history, or the program is modified in any way, other than compression by ShrinkIt or some other widely available Apple compression program. (This includes modifying the resources.) [3] No charge is made for it, other than minimal copying and media charges, or normal network charges, if online. [4] It is not incorporated into or with any other software, without my written permission. Except in this section, marks identifying trademarks (,) are generally not used, in the intrests of readability. This document was prepared by ShadowWrite 1.3.3. (Including the invisible text :) Thank you, Andr! Sorry, I havent snail-mailed the Thank you to you; I hope this suffices. UltraBlank is a trademark of Robert S. Claney. Apple, ProDOS, and Apple IIGS are registered trademarks, and GS/OS, Finder, QuickDraw, and ADB are trademarks, of Apple Computer, Inc. GNO/ME is a trademark of Procyon Enterprises Inc. Orca is a trademark of The Byte Works, Inc. Pointless is a trademark of WestCode Software. ShrinkIt is a trademark of Andrew E. Nicholas. Any other names are trademarks or registered trademarks of their respective companies. So there. (Not so here (bad invisible joke (Why are you reading it? (Help, Im trapped in a LITHP parser (bad () joke (and really bad LISP joke :)))))) If you're reading this, you're probably viewing it from the text screen. Naughty! Go at once to a graphical TeachText viewer to see these docs as they were written.)  $| W $ $Me _* O ]0;$$m0_0U $5 $< $0 V0%Q010a0tS0 $$$$$$00$\$z $ 0h$ $)$#R0W$!0y $$$0e$ $$$$$40 d$  ` i &"<G7<|g,Version History for UltraBlank This file contains a brief description of the changes in UltraBlank, by version number. UltraBlank is Copyright 1990-1994, and this version history is Copyright 1991-1994 by Robert S. Claney. See the accompanying documentation for full details. This file only contains a brief description of individual changes which have occurred. More complete information on features which users will notice is contained in the UltraBlank Documentation. Version 2.08 Rework the CDA, i><>t  p  dBYSW@Hncluding its screen, so more options can fit (& to make it less cluttered). Add the Use Ball (Non-SHR) option to the CDA menu, so that it can be changed from non-desktop programs. Support (finally) the 40/80-column display setting for the CDA screen. Minor changes to the NDA code. More optimization of the interrupt code. Kill (again) the SoundCP-style bounce sound option, since it keeps crashing. Remove the last trace of the transparent option. Add a Blink Border option to the Sound Effects menu. Version 2.07 Change logic of systemSaysForceUndim request response to always reset the blanking countdown, instead of just when were already blanked. Remove code which checks for normal background on the boot screen before displaying the error splash-screen, since people would probably like to know that UB had a problem even if it messes up a startup pic. Fix bug where, if the OS version was too old, instead of aborting installation, only part was skipped (probably been there since 2.04). Some code optimization & streamlining, especially in the ball animation code. More effort to support a SoundCP-style bouncing sound. Version 2.06 Move Blanking Off option from the Delay to the Type menu for both NDA & CDA, since it makes more sense from the users point of view that way (although the inactive flag is still associated with the delay internally). Add an even CuterCuteAbout (why? Because I could :). For those keeping score, this makes 2 interrelated Easter eggs. Version 2.05 Add code to detect if were being installed by an Init installer such as IR, and refuse to install, since making permanant tool patches while an application is active is not a Good Thing (e.g., if the app made some tool patches itself). Add two more speeds of Psychedelic (one on either end). Disable Transparent color, since it takes up space. Colorize the icon used in help windows. Version 2.04 Add a Request Procedure, & respond to the systemSaysForceUndim request issued by System 6.0.1. A side-effect of this is that only 1 copy of UltraBlank can be in the system at once (from this version on); More than one copy has always been bad, but the request system makes it much easier to detect. Minor code & text cleanup. Version 2.03 Disable using the SoundCP bounce sound, until I can find out why the computer sometimes crashes when its used. Minor code tweaking. Version 2.02 Add new transparent color type, which just shows whats on the SHR desktop where the ball is (which may not stay in, since it does take some memory & isnt very impressive when blanking text mode apps [the screen is usually just the bare background]). Start adding code for a new optional bouncing sound (via the Sound CP). Assorted minor code touch-up. Version 2.01 Remove System 5.0.x support, saving some memory. Add new variable color type (in 3 speeds) for the Bouncing Ball. Change some defaults. Minor code revisions & cleanup. Version 2.00 Add Bouncing Ball blanking type (!), as well as 3 options relating to it. Change scan-line restore logic so it will ignore the interrupt bit. Disallow entering CDA when NDA is open, to avoid problems. Change Advanced Options so it displays a dialog instead of growing the window. Change the default DA name to be the same under System 5 & 6 (& different than it was in either case). Fix the rVersion resource, now that I can actually see what it looks like. Actually use the version number in the resource for displays. Add rComment, rIcon, and rBundle resources. Use the proper toolbox call to put icons on the screen (when possible) during installation. Animate the icon. Rewrite Help. Add more tool patches, so Ill (sometimes) know when the screen changes to/from SHR. Remove the (Old Mode) type of blanking, since absolutely nobody has told me that they need it. Allow header for CDA to be relocatable, since the system doesnt seem to have any problems with it. Rework CuteAbout. Some code optimizations & cosmetic changes. Version 1.51 Revise memory allocation for DAs, since some programs apparently cant handle relocatable DAs (mostly NDAs). Some cosmetic changes. Version 1.50 Change the internal storage of CDA & NDA headers to keep more programs happy (and squeeze into smaller holes in memory). Change CDA code to make both options work more cleanly. Version 1.48 Allow users to choose whether the screen blanks the old way or the new way, in case the new way is incompatible with something. Change the new way so its compatible with animation, when it gets written. Add Option-Close check for NDA, to allow not saving changes. Changes to manual, including making it paragraph, as opposed to line terminated, for people with word processors. Some code tweaking and changes. Change some internal data to make poorly written programs work. Program still takes about 2k during operation. Version 1.47 (special) Change the way the screen is blanked, to avoid a problem a registered user was having. (Not widely released.) Version 1.46 Put back some of the obsolete & unneeded code, since it actually is (oops, & thanks, proofer)! Expand the number of styles available for the NDA option. Version 1.45 Add Advanced Options to set DA text & NDA style, so the user can (hopefully) find something he/she likes ;). Add an rVersion resource for any programs which look for it. Remove all other resources, since theyre currently more trouble than theyre worth. Add code to check for fire-buttons in the blanking code. Remove some obsolete & unneeded code. Version 1.43 Experiment with moving some data to resources (fun with REZ :). Remove underscore from NDA entry, cause System 6 sorts the DA menus. Touch up CuteAbout. Version 1.42 Change modifier absorb logic (for manual blanking) to keep eating modifier changes until both control & shift are let up, to make it easier to manually blank the screen. Change the modifier mask for testing for manual blanking, so an ADB modifier bug is avoided which caused blanking during high speed space/delete/arrow usage. Change blanking code so the border is kept at black while the screen is blanked, since some programs apparently keep setting the border color to something else while theyre running. Version 1.40 Remove Absorb Keypress option, since the keys cant reliably be eliminated. Add patches to intercept mouse and keyboard interrupts before the Event Manager can steal them, eliminating the delay syndrome when using the mouse. Also, added tool patches so the first patches will stay. Trap some attempts to kill the HeartBeat task que so blanking can stay alive. A small (approx. 0.25k) increase in operating memory usage, but shouldnt be a problem. Tune help. Touch up CuteAbout. Version 1.36 Finalize splash-screen & associated code. Experiment with an Absorb Keypress option. The load file is much larger than 1.31, but most of the increase is in non-resident code & data, keeping memory usage near previous versions in actual use. Version 1.35 Consolidate some code. Change the minimum required version of GS/OS to 3.3, or System Disk version 5.0.3, because of bugs in 3.1 which were cropping up. Ask GS/OS to unload UltraBlank if there were problems installing (such as too old a version of GS/OS), as well as putting up a message on the boot screen to this effect. First attempt to put a splash-screen on the boot screen. Change (again) segment unloading logic. Add a Help button to the NDA. Version 1.31 Clean up some of the code, including using TaskMasterDA, since I now have the TechNote telling how to use it right. Code slightly smaller, but not enough to notice. Modify segment attributes so only the static segments are marked No Special Memory, since the attribute is ignored on dynamic segments. Version 1.30 Clean up CDA interface and move most interface code to a dynamic segment, to keep memory usage near the level of 1.20. Change segment attributes so that none of the pieces of the program are loaded in special memory. This should clear up any problems between UltraBlank and the Memory Manager when switching to P8. This means the program may not load on a VERY full machine, but the memory used is so small that this shouldnt be a problem. Version 1.29 Code changes so dynamic segments always unload after use. Add code to force reconnection of blanking code when possible, since some programs are apparently doing nasty things to the system. First attempt to support a CDA interface. Touch up CuteAbout. Version 1.20 Code revisions: Unload initial setup code after use to save memory. Move most non-blanking (i.e. NDA interface) code and data to dynamic segments to further cut typical memory usage to about 50% of v1.18. Dynamic segments only loaded when needed for NDA support, then purged. De-express loadfile because of obscure dynamic segment conflicts. Change to Watch cursor (if QDAux is loaded) during time-consuming activities to show user that something is happening. Touch up CuteAbout. Version 1.18 Fix bug: some tweaks in v1.15 were misplaced, causing restore to leave the screen black some of the time (Pretty bad production bug, eh?). Perform some code consolidation & optimization. Break data up into separate segments where appropriate, allowing the program to squeeze into smaller areas in memory. Version 1.15 Clean up Dialogs. Tweak the restore code so it fixes text mode properly. Version 1.14 Fixed bug where the screen would be restored incorrectly if there had been a change in video mode since blanking. Fixed problem where programs were playing with the SHR color tables while blanked so restore code doesnt stomp on it now. Version 1.10 First version (that works!) that loads as a Permanent Startup. Handle blanking any video mode. Install previous NDA code for user interface. Consolidate code to save space. Change interrupt tim