[comp.binaries.amiga] v02i006: TimeRAM

bryce@cogsci.Berkeley.EDU (Bryce Nesbitt) (07/31/87)

This is TimeRAM.  Find out how fast your RAM is... trade speeds with your
freinds, and most importantly SEND THEM TO ME so I can summarize.
TimeRAM checks CHIP and FAST memory with or without a 6 bitplane HAM
screen on the display.
This program was written by Bruce Takahashi.
The HAM screen was hacked up from Leo's EHB program. (Side note-> I put a
"secret" one pixel wide drag bar next to the close gadget.  Kinda freaky
moving your close gadget to the center of the screen...)
Sorry people, this is an arc, and should stay that way.

#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:	Shell Archiver
#	Run the following text with /bin/sh to create:
#	README
#	ham.info.uu
#	ham.uu
#	timeram.info.uu
#	timeram.uu
# This archive created: Fri Jul 31 03:15:16 1987
# By:	Craig Norborg (Purdue University Computing Center)
cat << \SHAR_EOF > README

Documentation?	Ok, here's some...  I wish that someone would write a
program which will grade the quality of the ram boards that are being used.
In my beginning attempts at writing in the Lattice-C language and the Amiga
PC, I've programmed this test.  The results may mean something but who
knows and I only can hope. I need some explanation on what I'm doing.  I
need to find the access speeds of Fast and Chip ram.  Really. How can a
pocket watch clock the speed of light?	How? Use a computer?  WORDS OF
CAUTION! The program sets the priority of the current task to 127,
Forbid()s, and Disable()s the machine during testing.  DON'T REMOVE OR
INSERT DISKS DURING THE TEST!  Afterwards, things SHOULD return to normal
again.	The timings returned are how long it took for a 1K long ram copy
program to copy itself to another 1K area of memory.  Inorder to get a more
accurate reading of the time, the copying is repeated 15,000 or so times
and reported in milliseconds from the V_BLANK timer.  This timer is 116.7
milliseconds accurate. TimeRam has two self-copying routines; One routine
resides in ChipRam and the other resides in FastRam.  Also, two 1K areas of
ram are allocated as targets; One target lives in ChipRam and the other in
FastRam.  The program proceeds as follows:

   1) ChipRam copier copies itself to ChipRam and is timed.
   2) FastRam copier copies itself to FastRam and is timed.
   3) ChipRam copier copies itself to FastRam and is timed.
   4) FastRam copier copies itself to ChipRam and is timed.

None of this information tells much about the QUALITY of the ramboards out
there for sale;  Unless, of course, we spread the word to others of our
ramboards and these figures. It may be of some use to programmers to
understand how to speed up their programs though.  Who knows?  I had fun
writing the program, anyway.  Tell me about it. Bruce's repair and testing
(415) 525-6973 Berkeley, California, USA, Third Planet Ol' Sol, 94710-1706.

Special thanks to Bryce Nesbitt for getting me to do what I wouldn't have
done 'cause I didn't know how to do it and didn't know it existed anyway.
Ya Know?  I didn't.

Here're the test results of an internal ramboard from a company with morals
not to sell, but honest enough to let me test and they improve.  More power
to 'em.

----------------------------------
chipram to chipram  11.883 seconds
fastram to fastram  12.833 seconds
chipram to fastram  13.333 seconds
fastram to chipram  12.166 seconds

With HAM displayed on the monitor:

chipram to chipram  14.550 seconds
fastram to fastram  12.833 seconds
chipram to fastram  13.516 seconds
fastram to chipram  12.950 seconds
----------------------------------

TimeRam is absolutely free as long as you own an Amiga PC. If you don't
have an Amiga, you can treasure it anyway.

	    Bruce T.


You may also send test results to:

bryce@cogsci.Berkeley.EDU
ucbvax!cogsci!bryce

-or, if that does not work, try-
bryce@hoser.Berkeley.EDU
ucbvax!hoser!bryce

When test results are in for all the memory boards, the findings will
be summaried to comp.sys.amiga.

SHAR_EOF
cat << \SHAR_EOF > ham.info.uu
begin 644 HAM.info
MXQ   0      ;0 . #H %  %  ,  0#"'+@                         
M     UP              'W_____                       Z !0  @ !
M<U #                 '________^ 8        8!@  ?___^!@&  0!__
MP & 8 +@     8!@ V    @!@& +^   7@& 8 'T  "?@8!@  8  O_A@&  
M#P @%_F 8 $O@$!7^8!@ '\ ),9Y@&"7^F*('#F 8 ?\[#M;^8!@'_^Z59_Y
M@&#_______F 8        8!_________@           _________\"     
M    0)________Y F       !D"8       &0)@!      9 F 2     !D"8
M!(   " &0)@?!  !8 9 F#_F  T !D"8?_\ '^@&0)O?_\!__P9 G_Q_X/__
M!D"?___S__V^0)_G______Y G[_______D"?_______^0)________Y @   
-     $#_________P/__
 
end
SHAR_EOF
cat << \SHAR_EOF > ham.uu
begin 644 HAM
M   #\P         ,          L   !Q    ;@   3$   !"    !     T 
M   /    &@   #4    4    "0   !$   /I    <2//    '"/     )"/(
M    *$*Y    ("QY    !"/.    !)/)3J[^VBA 2JP K&<  *AA  %L(&P 
MK-'(T<@@:  0T<C1R$CG(#!%^0   *Q'^0   "QT 7  $!@FRF "%-A1R/_\
M0AH@.0   "0@>0   "@2&%. ;QX, 0 @;_12@B;*8 H2&%. # $ (&\$%,%@
M\D(:8-Q"&D*;( ),WPP$2'D    L+P!.N0   !PCP    !!.N0   "PCP   
M !0CP    !A.N0    !P "YY    '$YU80  QF$  + CP    "!"IR\ )$ @
M*@ D9Q L>0    @@0"(H  !.KO^"(BH (&<H)#P   /M3J[_XB/     $"/ 
M    %"/     &&<*Y8@@0"EH  @ I$ZY     '  8 0@+P $+GD    <+P L
M>0    0@.0    AG B) 3J[^8DJY    (&<.3J[_?")Y    ($ZN_H8@'TYU
M2.<!!BX\  . !RQX  1.KO^43-]@@'!D8+!![ !<3J[^@$'L %Q.KOZ,3G5"
MN0    A#^0   :P@/    !Y.KOW8(\     (9[9.=0     #[    !H    !
M   !N@   :H   &D   !:@   5X   %0   !0@   2(   $<   !%@   /8 
M  #D    U    ,8   #     M    *8   !R    ;    %0   !.    (   
M !0    .    "     (    "     @   30   #,     @    8   "N    
MN@        /R   #Z@   &X  0                                  
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                     &1O<RYL
M:6)R87)Y     _(   /I   !,4Y6_\A(YS $80 #>B!Y     -#\ %0J2$ZY
M    Q$2 2, O $ZY     %B/80 ",!M\ !\ &$*N__@@+O_X#(    !D;$0O
M "\-3KD   "44(\@+O_X!H     +(CP   $_)"[_^)*")CP   #2EH(O R\!
M+P O B\-3KD   !T3^\ %%*N__A@L' "+P O#4ZY    K%"/&WP (  8+SP 
M  #2+SP   $_< LO $*G+PU.N0   '1/[P 4&WP J@ 8&WP  0 8+SP   % 
M3KD     6(](P"\\   !0"U __A.N0    !8CTC +SP   #(+4#_\$ZY    
M %B/2, O/    ,@M0/_T3KD     6(](P$AN  !(;O_8+4#_[&$  0!0CTAN
M__A(;O_080  \E"/+7S__]CQ_^@@>0    0O* !63KD    H6(\@>0    0O
M* !63KD     6(\M0/_(2H!G#"\ 3KD    46(]@0' K+P!.N0    !8CTI 
M9KAP B\ 3KD     6(]*0&<02&X  $AN_]AA  "$4(]@F$AN__A(;O_080  
M=%"/8(AA  )R3-\@#$Y>3G5.5O_\2.<!!"IN  @O+@ 03KD     6(\N "\'
M+RX $"\-3KD     3^\ #"(\   !0)* XH$O+@ ,+P$O#4ZY    .$_O  PO
M!R\N ! O#4ZY    '$_O  Q,WR" 3EY.=4Y6  !(YP ,*FX ""AN  QP"2\ 
M3KD     6(](P%F *H!P"2\ 3KD     6(](P%F *(!,WS  3EY.=4Y6_^A(
MYP<$('D     T/P +"I(0J[_[" N_^P,@    "!L  #D<@9.N0    #J@"U 
M_^@,@     9D  "NY8!.^P@"8   %F   "9@   Z8   4&   &1@  !Z?@\@
M+O_L<@-.N0     L 'H 8'H@+O_L<@-.N0    !R()* +@%\#WH 8&)^ 'P/
M("[_['(#3KD     !(     P*@!@2'X ("[_['(#3KD     <D"2@"P!>@]@
M," N_^QR TZY      2     4"X ? !Z#V 6?@]\ " N_^QR TZY     ')@
MDH J 2\%+P8O!R\N_^PO#4ZY    5$_O !12KO_L8 #_$G /+P O "\ 0J<O
M#4ZY    5$_O !1,WR#@3EY.=7 A+P!(>0   '1.N0   %!0CR/     "$J 
M9@Q(>0   (5A  #:6(]P(2\ 2'D   "F3KD   !04(\CP     Q*@&8,2'D 
M  "X80  LEB/2'D    D3KD    H6(\CP     !*@&8,2'D   #880  CEB/
M(_D         8DAY    1$ZY    /%B/(\     $2H!F#$AY    [V$  &!8
MCTYU2KD    $9PXO.0    1.N0   !18CTJY     &<.+SD     3KD     
M6(]*N0    AG#B\Y    "$ZY    /%B/2KD    ,9PXO.0    Q.N0   #Q8
MCTYU3E;__$ZY    +"\N  @O0  $3KD     6(\O "\N  @O+P (3KD     
M3^\ #&$ _W9P%"\ 3KD   $\6(].7DYU   #[     $        $N@    D 
M   #   $'   ! 0   /^   #[@   ]8   /*   #L@   Z(   .*    $0  
M  0   1T   $;   !%X   16   $2   !$    0R   $*@  !!(   /Z   #
MY    \    .8   ":    5    $^    #@    D    %   "2@   C@   &*
M   !>@   0P   #X    Y    -     F     @    8   2H   $B     < 
M   '   $>@  !&0   .X   #D    6P   %:   !2     H    (   #=   
M U8   (2   "     >0   "2    M    'P   !,    &@    0    )   $
M3@  !#@   0*   #W     (    *   $E@   =(    '    "P   SX   ,@
M   #"@   O(   +6   "Q    H@        #\@   ^H   !"("!(04T@*$AO
M;&0@06YD($UO9&EF>2D@=&5S="!S8W)E96X       %  -, !@ !"   #P  
M                          \ "O__   "      H                 
M                      ]G<F%P:&EC<RYL:6)R87)Y $=O(&]U="!A;F0@
M0E59(%8Q+C(@2VEC:W-T87)T(2$* &EN='5I=&EO;BYL:6)R87)Y $EN='5I
M=&EO;B!F86EL960@+3X@=7-E(&QO9VEC+@H 4V-R965N('=O=6QD;B=T(&]P
M96XN"@!7:6YD;W<@<&%I;G1E9"!S:'5T+@H        #[     $    #    
M.         /R   #ZP    0   /R   #Z0    U!^0   "XR+P $2D%O&B 0
MT(!B!@J '8<K02"  H   /__@,%(0$YU1$$@@4YU           #[     $ 
M   %     @        /R   #Z0    ](YS "+'D    (3.\ #@ 03J[_T$S?
M0 Q.=0  +PXL>0    A.KO_*+%].=2\.+'D    (3J[_Q"Q?3G4   /L    
M P    $    P    (     8        #\@   ^D    :+PXL>0    0@;P (
M3J[^C"Q?3G4O#BQY    !")O  A.KOZ&+%].=2\.+'D    $(&\ "$ZN_H L
M7TYU+PXL>0    0B;P (3J[^8BQ?3G4O#BQY    !")O  @@+P ,3J[]V"Q?
M3G4   /L    !0    $   !4    0    "P    8    !         /R   #
MZ0   #4O#BQY    "")O  @@;P ,("\ $$ZN_\HL7TYU+PXL>0    @B;P (
M(&\ #" O !!.KO_$+%].=2\.+'D    ((F\ "$SO  , #$ZN_Q L7TYU  !(
MYS "+'D    ((&\ $$SO  \ %$ZN_N!,WT ,3G4  $CG, (L>0    @B;P 0
M3.\ #P 43J[^SDS?0 Q.=0  +PXL>0    @B;P (("\ #$ZN_JHL7TYU+PXL
M>0    @B;P (("\ #$ZN_IXL7TYU+PXL>0    A.KOZ +%].=0   ^P    (
M    !    ,@   "P    F    'H   !:    /    "     $         _( 
M  /I    %"\.+'D    ,(&\ "$ZN_[XL7TYU+PXL>0    P@;P (3J[_N"Q?
M3G4O#BQY    #"!O  A.KO\Z+%].=2\.+'D    ,(&\ "$ZN_S0L7TYU   #
M[     0    $    0    "P    8    !         /R   #Z0    E.5O_\
M0J[__"!N  C1[O_\$!!* &<&4J[__&#L("[__$Y>3G4   /R   #Z0   !%(
MYW@ * "SA$J 9S!J D2 ) !*@68$0H!@(FH"1($F ,;!2$+$P4A"0D+6@DA!
:P,%(0$) T(-*A&H"1(!,WP >3G4      _("
 
end
SHAR_EOF
cat << \SHAR_EOF > timeram.info.uu
begin 644 TimeRam.info
MXQ   0      ,@ 0 !H $@ $  ,  0#"&1@                         
M     UP              $(    !                       : !(  @ !
M<L #             /_@  ?_^  ?@'P /  >    '@   !X   !\   #\   
M#X   !\    ^    /               /    #P        !__  #__\ #__
M_@!___\ _\#_@/\ ?X   /^   /_   /_   /_   '_   #_@   _P   /\ 
1  !^    _P   /\   !^  " 
 
end
SHAR_EOF
cat << \SHAR_EOF > timeram.uu
begin 644 Timeram
M   #\P         9         !@   !Q    ;@   @L   %%    %4   0  
M  $     "@    4    Y    (0    T   !G    %    !X    &    "P  
M $$    H    "P    D    -    $0    P    1   #Z0   '$CSP   !PC
MP    "0CR    "A"N0   " L>0    0CS@    23R4ZN_MHH0$JL *QG  "H
M80 !;"!L *S1R-'((&@ $-'(T<A(YR P1?D   "L1_D    L= %P ! 8)LI@
M A384<C__$(:(#D    D('D    H$AA3@&\># $ (&_T4H(FRF *$AA3@ P!
M "!O!!3!8/)"&F#<0AI"FR "3-\,!$AY    +"\ 3KD     (\     03KD 
M   0(\     4(\     83KD     <  N>0   !Q.=6$  ,9A  "P(\     @
M0J<O "1 ("H )&<0+'D    (($ B*   3J[_@B(J "!G*"0\   #[4ZN_^(C
MP    ! CP    !0CP    !AG"N6(($ I:  ( *1.N0    !P & $("\ !"YY
M    '"\ +'D    $(#D    (9P(B0$ZN_F)*N0   "!G#DZN_WPB>0   "!.
MKOZ&(!].=4CG 08N/  #@ <L>  $3J[_E$S?8(!P9&"P0>P 7$ZN_H!![ !<
M3J[^C$YU0KD    (0_D   &L(#P    >3J[]V"/     "&>V3G4      ^P 
M   :     0   ;H   &J   !I    6H   %>   !4    4(   $B   !'   
M 18   #V    Y    -0   #&    P    +0   "F    <@   &P   !4    
M3@   "     4    #@    @    "     @    (   $T    S     (    +
M    K@   +H        #\@   ^H   !N  $                         
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M  !D;W,N;&EB<F%R>0    /R   #Z0   @M.5O_,+7P   0 _^1P "\ 2'D 
M  $\+4#_W$ZY   !A%"/(\     ,2H!G  1X0J=(>0   4Y.N0   810CR/ 
M    $$J 9P $7$AY   !#$ZY    %%B/(\    !02H!G  1"2'D    @3KD 
M   86(\CP    $PO "!Y    4"\H #).N0    !0CR\Y    4&$ !QI8CTJ 
M5L%$ 4B!2,$M0?_@2H%F  /Z(FX #"!I  00$ P  #]F&B\12'D   %?2'D 
M   480 '#D_O  Q@  .:#*X    "  AF$B!N  PO*  $3KD     6(]@!B \
M   ZF$AY   !D$AY    %"U _]AA  ;04(](>0   9Y(>0   !1A  :^4(](
M>0   =-(>0   !1A  :L4(](>0   @A(>0   !1A  ::4(](>0   D%(>0  
M !1A  :(4(](>0   G=(>0   !1A  9V4(](>0   K%(>0   !1A  9D4(](
M>0   NE(>0   !1A  924(](>0   R)(>0   !1A  9 4(\O.0   %!A  4\
M6(\,@     )G# R      6<  NI.<4AY   #3DAY    %&$ !@Y0CR\\   !
M]$ZY    (%B/< $O &$ !"I8CR/     !$J 9P "?$*G3KD   !P6(]R?R\!
M+P!.N0   (10CW($+P$O+O_D+4#_W$ZY    0%"/<@(O 2\N_^0M0/_03KD 
M  ! 4(\M0/_42H!G  (R+SD    $+R[_V"\N_]1P 2\ 80 "W$_O ! M0/_T
M2J[_T&=J+SD    $+R[_V"\N_]!P B\ 80 "N$_O ! O.0    0O+O_8+R[_
MT'(!+P$M0/_H80 "FD_O ! O.0    0O+O_8+R[_U'("+P$M0/_P80 "?$_O
M ! O+O_D+R[_T"U _^Q.N0   %A0CR\N_^0O+O_43KD   !84(].N0   &@O
M.0   %!.N0   %18CTAY   #<$AY    %&$ !-Q0CR\N__1(>0   W5(>0  
M !1A  3&3^\ #$JN_]!F%DAY   #G$AY    %&$ !*Q0CV   3HO+O_H2'D 
M  / 2'D    480 $DD_O  P@+O_TL*[_Z&X$< !@ G !+4#__$J 9QP@+O_T
MD*[_Z')D3KD     (B[_]$ZY     & <("[_]"(N_^B2@'!D3KD     (B[_
M]$ZY     "U __A*KO_\9PA!^0  ! E@!D'Y   $$2](  !*KO_\9PH@+O_T
MD*[_Z& (("[_Z)"N__0O "\O  1(>0   ^=(>0   !1A  /T3^\ $$JN__QG
M"$'Y   $/& &0?D   1#+P@O+O_X2'D   092'D    480 #QD_O ! O+O_P
M2'D   1.2'D    480 #KD_O  PO+O_L2'D   1U2'D    480 #ED_O  Q(
M>0  !)Q(>0   !1A  ."4(](>0  !,9(>0   !1A  -P4(]"ITZY    <%B/
M+R[_W"\ 3KD   "$4(\O.0   %!A  )46(\,@     )G"@R      6<"3G%*
MN0    1G#"\Y    !&$  >98CTJN_^!F#DAY    %$ZY   !7%B/2KD   !,
M9PXO.0   $Q.N0   "Q8CTJY    4&<.+SD   !03KD     6(].N0   "A*
MN0   !!G#B\Y    $$ZY   !*%B/2KD    ,9PXO.0    Q.N0   2A8CTY>
M3G5.5O_L(&X %#%\  H '$ZY    ($ZY    0"\N !1.N0   7!8CTZY    
M "!N !30_  @0^[_]' '$MA1R/_\("X " R      F<:#(     !9B(O+@ ,
M+RX $$ZY     %"/8! O+@ ,+RX $$ZY     %"/(&X %#%\  H '$ZY    
M$"\N !1.N0   7!8CTZY    ,"!N !30_  @0^[_[' '$MA1R/_\2&[_]$AN
M_^Q.N0    !0CR N_^PB/  /0D!.N0    #0KO_P(CP   /H3KD     3EY.
M=4Y6__1P "\ +P!.N0    !0CRU __A*@&8&< !.7DYU<"@O "\N__A.N0  
M  !0CRU __1*@&82+R[_^$ZY    G%B/< !.7DYU0J<O+O_T+RX "$AY   $
M^$ZY   !/$_O ! M0/_\2H!G#B\N__1A&EB/< !.7DYU(&[_]"/H !0    (
M( A.7DYU3E;__$JN  AG.B)N  @@:0 .+4C__+'\     &<*+PA.N0   )Q8
MCR\N  A.N0   5Q8CW H+P O+@ (3KD   !(4(].7DYU3E;_]'  (&X ""/H
M #(   !(+P O"$AY    UBU __A.N0   #A/[P ,(&X ""\H %9.N0   118
MCR!N  @O* !63KD   #L6(\@0"UH !3__"\ +4#_]$ZY   ! %B/("[__ R 
M    0&80+RX ""\N__1A%%"/+4#_^$JN__AGJ" N__A.7DYU3E;_]"!N  @M
M:  <__QP "!N__PP*  F+4#_^ R      F<0#(     !9@YP 2U __1@!G "
M+4#_]" N__1.7DYU3E;__"/N  @    \<  O $AY    %"\ 2'D   4%3KD 
M  $\3^\ $$Y>3G5.5O^P+RX %"\N ! O+@ ,2&[_L$ZY     $_O ! @;@ (
M,7P  P <0^[_L"%) "@O"4ZY     %B/(&X ""%  "0O"$ZY   !<%B/< !.
M7DYU   #[    "     #   'R   !OH   9D   $7@  !$P   0X   $(   
M! @   /\   #]    ]H   .R   #J@   SP   ,B   #"    O(   '    !
MC@   7P   %J   !6    48   $T   !(@   1    #Z    P    &8   !,
M    ,@   !(    R    !   !\    >V   &\   !I    4>   %%@  !0@ 
M  4    $[   !.0   36   $S@  !,    2N   $I@  !(@   1D   $4@  
M!#X   0F   $#@   ^    -"   #*    PX   +X   "Y    IP   )^   "
M9    D    'J   !Q@   :    &4   !@@   7    %>   !3    3H   $H
M   !%@   0    #&    C@   'P   !T    6@   $     D     0    4 
M  6,     0    8   6>     0    <   ?P     P    D   :\   &3   
M!AH    "    "@  !M@   8X     0    L   '8    &@    P   <\   '
M)@  !Q8   ?.   &:@  !<(   6P   %5@  ""    6Z   %3@  !3X   4D
M   %#@  !L@   3&   "U@   L8   (N   "&@  !(    (&   $<@   ?@ 
M   X    '     0    -   %1   !-P   "&    ;     8    .   '!   
M!/H   3R   "Z@   MX   !2     0    \   7D     0   !    #J    
M 0   !0   @.     0   !4   8&     @   !8   .:   #?     $    7
M   %]@    (    8   #D    W(        #\@   ^H   %%=&]P87HN9F]N
M=          ) @%T;W!A>BYF;VYT       4  D  2 @(%%5250  P(    "
M  (    ,    *      @0T].5$E.544  P(    "  (    ,    1       
M     &T   !M  H    *            ;P   &\ #     P           ( 
M  4   !B     /____\#   %    =@   (H      !0 & !N  L    !  $ 
M  ":         $X            "         *H E@ 8 &X "P    $  0  
M )H         ,             $     (%1I;65286T@   * $8"1 !Z__\ 
M  !    0!@   -8        ! @                       6EN='5I=&EO
M;BYL:6)R87)Y &=R87!H:6-S+FQI8G)A<GD "@H*"E5304=%.B E<R!;5'=I
M9&1L92!N=6UB97)="D1E9F%U;'0@:7,@,34P,# * $IU;'D@,C$L(#$Y.#< 
M"@H*66]U('=I;&P@:&%V92 Q,"!S96-O;F1S('1O(&%R<F%N9V4@=&AE('-C
M<F5E;G,N"@!9;W5R($%M:6=A(%!#('=I;&P@87!P96%R(&9R;WIE;B!F;W(@
M82!F97<@;6EN=71E<RX* $1/3B=4(%)%34]612!/4B!)3E-%4E0@1$E32U,@
M1%5224Y'(%1%4U0N(%%52454(%!,14%312X* %1H:7,@<')O9W)A;2!W:6QL
M(&-L;V-K('1H92!E>&5C=71I;VX@=&EM97,@;V8@82!R86T* '-E;&8M8V]P
M>6EN9R!R;W5T:6YE(')E<VED:6YG(&EN($9A<W0@86YD('1H96X@0VAI<"!R
M86TN"@!#;W!Y:6YG(&9R;VT@0VAI<"!T;R!&87-T(')A;2!B;&]C:W,@87)E
M(&%L<V\@8VQO8VME9"X* %1H92!P<F]G<F%M('-C<F5E;B!W:6QL('!O<"!T
M;R!T:&4@9G)O;G0@;VX@8V]M<&QE=&EO;BX* &)Y($)R=6-E)W,@4F5P86ER
M("8@5&5S=&EN9R H-#$U*2 U,C4M-CDW,PH ,3 @4T5#3TY$4R!"149/4D4@
M5$535$E.1R!"14=)3E,A  P*"@H 8VAI<')A;2!T;R!C:&EP<F%M(#T@)6QD
M(&UI;&QI<V5C;VYD<PH 0V]U;&1N)W0@86QL;V-A=&4@86YY($9A<W0@365M
M;W)Y(0H 9F%S=')A;2!T;R!F87-T<F%M(#T@)6QD(&UI;&QI<V5C;VYD<PH 
M)7,@:7,@9F%S=&5R(&)Y("5L9"!M:6QL:7-E8V]N9',* $9A<W1286T 0VAI
M<%)A;0!4:&%T)W,@8GD@86)O=70@)6QD)24N("!4:&%T)W,@)7,* &=O;V0A
M( !T;V\@8F%D+BXN &-H:7!R86T@=&\@9F%S=')A;2 ]("5L9"!M:6QL:7-E
M8V]N9',* &9A<W1R86T@=&\@8VAI<')A;2 ]("5L9"!M:6QL:7-E8V]N9',*
M %1H92!67T),04Y+('1I;65R(&ES(+$Q-BXW(&UI;&QI<V5C;VYD<RX* %1E
M;&P@;64@86)O=70@:70N(%M"<G5C92=S(')E<&%I<B H-#$U*2 U,C4M-CDW
M,UT =&EM97(N9&5V:6-E &-O;G-O;&4N9&5V:6-E     ^P    0     P  
M 28   $>    \    .@   #6    Q    +P   "F    H@   )(   !:    
M5@   #P    X    (     P        #\@   ^L    5   #\D   ^D   $ 
M("\ !")O  @@>O_V(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@B
MV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+8
M0H$BV"+8(M@BV$*!(M@BV"+8(MA"@5'(_79.=4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G$      _(   /I   !
M " O  0B;P (('K_]B+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8
M(M@BV"+80H$BV"+8(M@BV$*!(M@BV"+8(MA"@2+8(M@BV"+80H$BV"+8(M@B
MV$*!(M@BV"+8(MA"@2+8(M@BV"+80H%1R/UV3G5.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ
M3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.
M<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ3G%.<4YQ      /R   #Z0  
M  I(YP Z)F\ %"!O !A#[P <1?H $BQY    !$ZN_?9,WUP 3G46P$YU   #
M\@   ^D    %(&\ !""(6)!"J  $(4@ "$YU      /R   #Z0   #E(YS\@
M*"\ (!8O "<O//____].N0   )PJ "P%=/^TA5B/9@9P &   &XO/  !  %(
M>  B3KD   ! )$#/BDJ'SXI0CV8.+P9.N0   +!P %B/8$(E1  *%4, "15\
M  0 "$(J  X51@ /0J=.N0   ' E0  02H18CV<,+PI.N0   ,18CV ,2&H 
M%$ZY     %B/( I,WP3\3G5(YR @)&\ #$JJ  IG"B\*3KD   #86(\5? #_
M  AT_R5" !1T !0J  \O DZY    L$AX "(O"DZY    6$_O  Q,WP0$3G4 
M  /L     0    @   ".    "     P    V    %    &X   #*    2@  
M (    "N    U@        /R   #Z0   "%(YS@ )"\ $"8O !1*@F8$< !@
M+B\\  $  2\#3KD   ! ($#)B$J$R8A0CV8$< !@$!%\  4 "#%# !(A0@ .
M( A,WP <3G5(YS  (&\ #,>(2H/'B&<  "81? #_  AT_R%" !1T_R%" !AT
M #0H !(O B\(3KD   !84(],WP ,3G4   /L     @    P    >    >   
M      /R   #Z0    TO#BQY    "$ZN_\HL7TYU+PXL>0    A.KO_$+%].
M=2\.+'D    ((B\ "$ZN_SHL7TYU   #[     ,    !    )    !0    $
M         _(   /I    9R\.+'D    $3J[_B"Q?3G4O#BQY    !$ZN_X(L
M7TYU+PXL>0    1.KO]\+%].=2\.+'D    $3J[_=BQ?3G4O#BQY    !$SO
M  , "$ZN_SHL7TYU   O#BQY    !")O  @@+P ,3J[_+BQ?3G4O#BQY    
M!")O  A.KO[:+%].=2\.+'D    $(F\ "" O  Q.KO[4+%].=2\.+'D    $
M("\ "$ZN_K8L7TYU+PXL>0    0@+P (3J[^L"Q?3G4O#BQY    !")O  A.
MKOZ>+%].=2\.+'D    $(F\ "$ZN_I@L7TYU+PXL>0    0@;P (3J[^C"Q?
M3G4O#BQY    !")O  A.KOZ&+%].=2\.+'D    $(&\ "$ZN_H L7TYU+PXL
M>0    0B;P (3J[^8BQ?3G4O#BQY    !"!O  A,[P(!  PB+P 43J[^1"Q?
M3G4  "\.+'D    $(F\ "$ZN_CXL7TYU+PXL>0    0B;P (3J[^."Q?3G4O
M#BQY    !")O  @@+P ,3J[]V"Q?3G4   /L    %     $   &(   !=   
M 6    %    !+    1@   $$    \    -P   #(    M    *    "(    
M=    %P   !$    -    "0    4    !         /R   #Z0   !0O#BQY
M    $")O  @@;P ,3J[_OBQ?3G4O#BQY    $"!O  A.KO^X+%].=2\.+'D 
M   0(F\ "$ZN_[(L7TYU+PXL>0   !!.KO[R+%].=0   ^P    $    !   
M $0    P    '     0        #\@   ^D    >+PXL>0    P@;P (3J[_
MN"Q?3G4O#BQY    #"!O  A.KO\T+%].=2\.+'D    ,3J[_+BQ?3G5(YP B
M+'D    ,3.\'   ,3J[_(DS?1 !.=0  +PXL>0    P@;P (3J[^R"Q?3G4O
M#BQY    #$ZN_JHL7TYU   #[     8    $    ;    %@    ^    +   
M !@    $         _(   /I    !B\.+'D    (3.\#   (3J[_T"Q?3G4 
M     ^P    !    !     0        #\@   ^D    +3E;__"\N  A.N0  
M  !8CTAN__PO "U   A.N0    !0CR N__Q.7DYU      /L     0   !( 
M   <     0   !,    *         _(   /J    00 @(" @(" @(" H*"@H
M*" @(" @(" @(" @(" @(" @($@0$! 0$! 0$! 0$! 0$!"$A(2$A(2$A(2$
M$! 0$! 0$(&!@8&!@0$! 0$! 0$! 0$! 0$! 0$! 0$!$! 0$! 0@H*"@H*"
M @(" @(" @(" @(" @(" @(" @(0$! 0(" @(" @(" @("@H*"@H(" @(" @
M(" @(" @(" @(" @2! 0$! 0$! 0$! 0$! 0$(2$A(2$A(2$A(00$! 0$! 0
M@8&!@8&! 0$! 0$! 0$! 0$! 0$! 0$! 0$0$! 0$!""@H*"@H(" @(" @("
M @(" @(" @(" @(" A 0$! @       #\@   ^D    H3E;_\'  (&X "!(0
M+4#__"U __@M0/_P# $ +68,<@$M0?_X+4'_\& 2(&X "! 0#   *V8&< $M
M0/_X("[_^"!N  C1P'( $A!2@2!!T?P     $A ( 0 "9RH@+O_\<@I.N0  
M   @;@ (T>[_^%*N__AR !(0!($    PT($M0/_\8+9*KO_P9P1$KO_\(&X 
M#""N__P@+O_X3EY.=0   ^P    !    $0   %     !    &    &0     
M   #\@   ^D    +3E8  '  (&X "! 04H B0-/\     ! 1"    V<&4JX 
M"&#@("X "$Y>3G4   /L     0   !$    2         _(   /I    "4Y6
M__Q"KO_\(&X "-'N__P0$$H 9P92KO_\8.P@+O_\3EY.=0   _(   /I    
M#2\"+P-*@6<B2H!G'$*"=A_C@..2M(%E")2!T+P    !4<O_[B("8 1"@4* 
M)A\D'TYU      /R   #Z0   !%(YSP *@%G,FH"1($H &<H:@)$@$*"=A_C
M@..2M(%E!)2!4H!1R__R(@*YA6H"1("SA&H(1(%@!$*!0H!,WP \3G4     
M _(   /I    #$CG<  D &<@2H%F!$* 8!@F ,;!2$+$P4A"0D+6@DA!P,%(
M0$) T(-,WP .3G4      _(   /I    $4CG>  H +.$2H!G,&H"1( D $J!
M9@1"@& B:@)$@28 QL%(0L3!2$)"0M:"2$' P4A 0D#0@TJ$:@)$@$S? !Y.
'=0     #\@)$
 
end
SHAR_EOF
#	End of shell archive
exit 0