$ od -c -N 50000 [Indigo]<AltoSource>READPRESS.DM!1 0000000 377 \0 \0 r e a d p r e s s . b c p 0000020 l \0 376 001 \0 325 2 / / R E A D 0000040 P R E S S \r / / p r 0000060 o g r a m t o r e a d p r 0000100 e s s f i l e , a n d r e 0000120 p o r t c o n t e n t s b a 0000140 c k t o u s e r \r / / R e 0000160 a d P r e s s / F p u t s o 0000200 u t p u t o n f i l e a s 0000220 w e l l ( R e a d P r e s s 0000240 . L s t ) \r / / B l d r r e a 0000260 d p r e s s r e a d o p s g 0000300 p \t \r / / C o p y r i g h t 0000320 X e r o x C o r p o r a t i 0000340 o n 1 9 7 9 \r \r / / o u t g o 0000360 i n g p r o c e d u r e s \t ( 0000400 f o r r e a d o p s ) \r e x t 0000420 e r n a l [ 376 001 \0 1 3 \r \t G e 0000440 t B y t e ; G e t W o r d ; O d 0000460 d B y t e ; G e t R e s e t ; D 0000500 L E v e n \r \t S h o w ; S h o w 0000520 n ; S h o w c h ; S h o w F l o 0000540 a t ; E r r o r \r \t D o u b l e 0000560 C o p ; D o u b l e S u b ; 0000600 M u l F u l l ; D o u b l e S 0000620 h r \r \t ] \r \r / / i n c o m i n 0000640 g p r o c e d u r e s \r e x t 0000660 e r n a l [ \r \t S e t u p R e 0000700 a d P a r a m ; R e a d P a r a 0000720 m \t / / f r o m g p \r \t \r / / 0000740 P r i n t F l o a t \r \t P r i n 0000760 t F l o a t \r \r / / R e a d o p 0001000 s \r \t R e a d O b j e c t ; R e 0001020 a d P a r t \r \t ] \r \r / 376 001 \0 5 0001040 ? / O S p r o c e d u r e s 0001060 \r e x t e r n a l [ \r \t O p e 0001100 n F i l e \r \t R e a d B l o c k 0001120 \r \t S e t F i l e P o s \r \t F i 0001140 l e L e n g t h \r \t P u t s \r \t 0001160 G e t s \r \t C l o s e s \r \r \t C 0001200 r e a t e D i s p l a y S t r e 0001220 a m \r \t S h o w D i s p l a y S 0001240 t r e a m \r \t G e t F i x e d \r 0001260 \t W n s \r \t W s s \r \t D o u b l 0001300 e A d d \r \t k e y s \r \t ] \r \r / 0001320 / o u t g o i n g s t a t i c 0001340 s \r e x t e r n a l [ \r \t P r 0001360 e s s F i l e \r \t ] \r s t a t i 0001400 c [ \r \t P r e s s F i l e \r \t 0001420 M y D s p ; L i n e s P r i n t 0001440 e 376 001 \0 367 327 d ; P W o r d ; P B 0001460 y t e \r \t L i s t F i l e \r \t ] 0001500 \r \r / / i n t e r n a l m a n 0001520 i f e s t a n d s t r u c t 0001540 u r e d e c l a r a t i o n s 0001560 \r m a n i f e s t [ \r \t N U M 0001600 L I N E S = 4 0 \r \t P r e s s p 0001620 a s s w o r d = 2 7 1 8 3 \t / / 0001640 P r e s s p a s s w o r d \r 0001660 \t ] \r \r / / S t r u c t u r e 0001700 s \r s t r u c t u r e s t r : 0001720 \r \t [ \r \t n b y t e \r \t c h ^ 0001740 1 , 2 5 5 b y t e \r \t ] \r \r s 0001760 t r u c t u r e \r \t [ \r \t l h \t 0002000 b y t e \r \t r h \t b y t e \r \t ] 0002020 \r \r \r / / D D V u s e d t 0002040 o a c c e 376 001 \0 267 031 s s P R 0002060 d d i r - - P R f i l e 0002100 d o c u m e n t d i r e c t o 0002120 r y \r s t r u c t u r e D D V 0002140 : / / u s e d t o a c c e 0002160 s s P R d d i r - - P R 0002200 f i l e d o c u m e n t d i 0002220 r e c t o r y \r [ \t p a s s w 0002240 d \t w o r d \t / / p a s s w o 0002260 r d = 2 7 1 8 3 \r \t n r e c s \t 0002300 w o r d \t / / t o t a l n o 0002320 o f r e c o r d s i n P 0002340 R f i l e \r \t n p a r t s \t w 0002360 o r d / / n o o f p 0002400 a r t s \r \t p d s t a r t \t w o 0002420 r d \t / / w h e r e p a r t 0002440 d i r e c t o r y 376 001 \0 234 0002460 b e g i n s \r \t p d r e c s \t w 0002500 o r d / / n o o f r 0002520 e c o r d s \r \t b a c k p \t w o 0002540 r d \t / / b a c k p o i n t 0002560 e r \r \t s p a r e 1 \t w o r d \r 0002600 \t s p a r e 2 \t w o r d \r \t f c 0002620 o p y \t w o r d \t / / f i r s 0002640 t c o p y t o p r i n t \r 0002660 \t l c o p y \t w o r d \t / / l 0002700 a s t c o p y t o p r i n 0002720 t \r ] \r m a n i f e s t D D 0002740 V l e n = s i z e D D V / 1 6 0002760 \r \r / / P D u s e d t o 0003000 r e a d p a g e d i r e c 0003020 t o r y i n f o \r \r s t r u c 0003040 t u r e P D : / / u s e d 0003060 376 001 \0 262 351 t o r e a d p a g 0003100 e d i r e c t o r y i n f o 0003120 \r [ \t t y p e \t \t w o r d \r \t 0003140 p s t a r t \t w o r d \r \t p r e 0003160 c s \t w o r d \r \t i n f i l e \t 0003200 b i t 1 \t \t / / t r u e o 0003220 r f a l s e a c c o r d i n 0003240 g t o \r \t \t \t \t / / w h e t 0003260 h e r p a r t i s s t i l 0003300 l i n i n p u t f i l e \r 0003320 \t d i r t y \t b i t 1 \t \t / / 0003340 t o i n d i c a t e i f 0003360 p a g e i s d i r t y \r \t p 0003400 a d d i n g \t b i t 1 4 \r ] 0003420 \r m a n i f e s t P D l e n = 0003440 s i z e P D / 1 6 \r \r s t r u 0003460 c t u r e 376 001 \0 026 247 P D V : 0003500 / / f o r s t o r i n g s t 0003520 u f f a b o u t p a r t d 0003540 i r e c t o r y \r [ \t n p a g 0003560 e s \t w o r d \t \t / / c o u n 0003600 t o f p a g e s \r \t p a g e 0003620 n o \t w o r d \t \t / / p a g e 0003640 i n v e c t o r \r \t r e c n 0003660 o \t w o r d \t \t / / r e c o r 0003700 d n o w i n b u f \r \t t b 0003720 l \t \t w o r d \t \t / / t a b l 0003740 e o f p a g e d a t a \r \t 0003760 b u f \t \t w o r d \t \t / / a d 0004000 d r e s s o f 2 5 6 - w o r 0004020 d b u f f e r \r ] \r m a n i 0004040 f e s t P D V l e n = s i z e 0004060 P D / 1 6 \r \r s t 376 001 \0 034 v r 0004100 u c t u r e F E : / / u s e 0004120 d t o r e a d F o n t D 0004140 i r e c t o r y e n t r i e s 0004160 \r [ \t l e n g t h \t w o r d \t 0004200 / / l e n g t h o f e n t 0004220 r y \r \t s e t \t \t b i t 8 \r \t 0004240 f n o \t \t b i t 8 \r \t d e s t 0004260 m \t b i t 8 \t / / f i r s t 0004300 c h a r c o d e \r \t d e s t 0004320 n \t b i t 8 \t / / l a s t \r 0004340 \t f a m \t \t w o r d 1 0 \t / / 0004360 n a m e s t r i n g \r \t f a 0004400 c e \t \t b i t 8 \r \t s o u r c 0004420 e \t b i t 8 \t / / f i r s t 0004440 c h a r \r \t s i z \t \t w o r d 0004460 \r \t r o t n \t \t w o r d \r 376 0004500 001 \0 356 \0 ] \r m a n i f e s t F 0004520 E l e n = s i z e F E / 1 6 \r 0004540 \r s t r u c t u r e E T : / 0004560 / u s e d t o a c c e s s 0004600 E n t i t y T r a i l e r \r 0004620 [ \t t y p e \t b i t 8 \t \t / / 0004640 e n t i t y t y p e \r \t f o 0004660 n t s e t \t b i t 8 \t \t / / 0004700 f o n t s e t \r \t d s t a r t 0004720 1 \t w o r d \t \t / / b y t e 0004740 a d d r e s s o f d a t a , 0004760 h i g h - o r d e r \r \t d s t 0005000 a r t 2 \t w o r d \t \t / / l o 0005020 w - o r d e r \r \t d l e n g t h 0005040 1 \t w o r d \t / / b y t e 0005060 l e n g t h o f d a t a , 0005100 h i g h 376 001 \0 a = - o r d e r \r 0005120 \t d l e n g t h 2 \t w o r d \t 0005140 / / l o w - o r d e r \r \t x e 0005160 \t \t w o r d \t / / o r i g i n 0005200 x \r \t y e \t \t w o r d \t / / 0005220 y \r \t x l e f t \t w o r d \t \t / 0005240 / l h c o r n e r \r \t y b o 0005260 t t o m \t w o r d \r \t w i d t h 0005300 \t w o r d \r \t h e i g h t \t w o 0005320 r d \r \t l e n g t h \t w o r d \t 0005340 \t / / l e n g t h i n w o 0005360 r d s o f e n t i t y \r 0005400 ] \r m a n i f e s t [ E T l 0005420 e n = s i z e E T / 1 6 ] \r 0005440 \r m a n i f e s t [ \r \t l m a 0005460 r g = 1 0 2 4 \r \t b m a r g = 1 0005500 0 2 4 \r \t S c r e 376 001 \0 364 0 e n 0005520 X M a x = 6 0 8 \r \t S c r e e n 0005540 Y M a x = 8 0 8 \r \t ] \r \r s t r 0005560 u c t u r e S V : \r [ \t c o 0005600 d e \t w o r d \r \t b w i d t h \t 0005620 w o r d \r \t n s l \t \t w o r d \r 0005640 \t m o d e \t \t w o r d \r \t d o t 0005660 s i z e \t w o r d \r \t p w \t \t w 0005700 o r d \r \t p h \t \t w o r d \r \t w 0005720 i n d o w \t w o r d \r \t p b \t \t 0005740 w o r d \r \t d b \t \t w o r d \r \t 0005760 p l \t \t w o r d \r \t d l \t \t w o 0006000 r d \r \t f o l l o w \t w o r d \r 0006020 ] \r m a n i f e s t S V l e 0006040 n = s i z e S V / 1 6 \r \r l e 0006060 t s t a r t ( ) b e \r [ \r 0006100 \t l e t s t r = v e c 3 376 001 0006120 \0 253 257 0 ; l e t s w = v e c 0006140 2 6 \r \t S e t u p R e a d P a 0006160 r a m ( s t r , s w ) \r \t i f 0006200 s w ! 0 n e 0 & ( ( s 0006220 w ! 1 e q $ F ) % ( s w ! 1 0006240 e q $ f ) ) t h e n \r \t \t 0006260 [ \r \t \t L i s t F i l e = O p e 0006300 n F i l e ( " R e a d P r e s s 0006320 . L s t " , 0 , 1 ) \r \t \t ] \r \t 0006340 P r e s s F i l e = R e a d P a 0006360 r a m ( " I W " , " P r e s s 0006400 f i l e n a m e - - " ) \r 0006420 \r \t l e t M y D s p S i z e = 0006440 3 0 * 1 4 * 3 0 \r \t M y D s p = 0006460 C r e a t e D i s p l a y S t r 0006500 e a m ( N U M L I N E S , G e t 0006520 F i x 376 001 \0 035 N e d ( M y D s p 0006540 S i z e ) , M y D s p S i z e ) 0006560 \r \t S h o w D i s p l a y S t r 0006600 e a m ( M y D s p ) \r \t L i n e 0006620 s P r i n t e d = 0 \r \r \t l e t 0006640 e n d = v e c 1 \r \t F i l e 0006660 L e n g t h ( P r e s s F i l e 0006700 , e n d ) \r \t i f ( e n d ! 1 0006720 & # 7 7 7 ) n e 0 t h e n 0006740 \r \t \t E r r o r ( " I l l e g a 0006760 l P r e s s f i l e : f i 0007000 l e d o e s n o t e n d 0007020 o n p a g e b o u n d a r y 0007040 " ) \r \r \t l e t d o c = v e c 0007060 1 \r \t l e t p a g e = v e c 0007100 1 ; p a g e ! 0 = 0 ; p a g e 0007120 ! 1 = 2 5 6 * 2 376 001 \0 347 \v \r \t D 0007140 o u b l e C o p ( d o c , e n d 0007160 ) \r \t D o u b l e S u b ( d o c 0007200 , p a g e ) \r \t S h o w ( " D o 0007220 c u m e n t d i r e c t o r y 0007240 : * n " ) \r \t S e t F i l e P o 0007260 s ( P r e s s F i l e , d o c ) 0007300 \r \t l e t d o c D i r = v e c 0007320 2 5 6 \r \t R e a d B l o c k ( 0007340 P r e s s F i l e , d o c D i r 0007360 , 2 5 6 ) \r \r \t S h o w ( " 0007400 P a s s w o r d " ) \r \t l e 0007420 t p a s s = d o c D i r ! 0 \r 0007440 \t t e s t p a s s e q P r 0007460 e s s p a s s w o r d t h e n 0007500 S h o w ( " O K * N " ) \r \t 0007520 o r [ S h o w ( " i l 376 001 \0 0007540 Y 352 l e g a l ( = " ) ; S h o 0007560 w n ( p a s s ) ; S h o w ( " ) 0007600 * n " ) ] \r \t l e t n u m R e 0007620 c s = d o c D i r ! 1 \r \t S h o 0007640 w ( " N u m b e r o f 0007660 r e c o r d s : " ) ; S h o w 0007700 n ( n u m R e c s ) \r \t f o r 0007720 i = 1 t o 9 d o D o u b 0007740 l e S h r ( d o c ) \r \t l e t 0007760 r e a l R e c L e n = d o c ! 1 0010000 + 1 \r \t i f r e a l R e c L e 0010020 n n e n u m R e c s t h e 0010040 n \t / / W r o n g \r \t [ S h 0010060 o w ( " W R O N G ! C o r 0010100 r e c t n u m b e r i s " 0010120 ) ; S h o w n ( r e a l R e c L 0010140 e n 376 001 \0 3 325 ) ] \r \t l e t n 0010160 u m P a r t s = d o c D i r ! 2 0010200 \r \t S h o w ( " * n N u m 0010220 b e r o f p a r t s : " ) 0010240 ; S h o w n ( n u m P a r t s ) 0010260 \r \t l e t p a r t S t a r t = 0010300 d o c D i r ! 3 \r \t S h o w ( " 0010320 * n P a r t d i r e c t 0010340 o r y s t a r t s i n r e 0010360 c o r d " ) ; S h o w n ( p a 0010400 r t S t a r t ) \r \t l e t p a 0010420 r t L e n = d o c D i r ! 4 \r \t 0010440 S h o w ( " * n P a r t 0010460 d i r e c t o r y l e n g t h 0010500 ( i n r e c o r d s ) " ) 0010520 ; S h o w n ( p a r t L e n ) \r 0010540 \t S h o w ( " 376 001 \0 215 g * n 0010560 F i r s t c o p y " ) ; S 0010600 h o w n ( d o c D i r ! 8 ) \r \t 0010620 S h o w ( " * n L a s t 0010640 c o p y " ) ; S h o w n ( d o 0010660 c D i r ! 9 ) \r \t S h o w ( " * 0010700 n F i l e n a m e : " 0010720 ) ; S h o w ( d o c D i r + # 2 0010740 0 0 ) \r \t S h o w ( " * n 0010760 C r e a t o r ' s n a m e : 0011000 " ) ; S h o w ( d o c D i r + # 0011020 2 3 2 ) \r \t S h o w ( " * n 0011040 C r e a t i o n d a t e : 0011060 " ) ; S h o w ( d o c D i r + # 0011100 2 5 2 ) \r \t S h o w ( " * n " ) 0011120 \r \r \t l e t p a r t S t a r t 0011140 v = v e c 1 \r \t M u l 376 001 \0 s 0011160 333 F u l l ( p a r t S t a r t , 0011200 5 1 2 , p a r t S t a r t v ) \r 0011220 \r \t S e t F i l e P o s ( P r e 0011240 s s F i l e , p a r t S t a r t 0011260 v ) \r \t l e t p a r t s = G e 0011300 t F i x e d ( 4 * n u m P a r t 0011320 s ) \r \t R e a d B l o c k ( P r 0011340 e s s F i l e , p a r t s , 4 * 0011360 n u m P a r t s ) \r \t f o r i 0011400 = 0 t o ( n u m P a r t s - 0011420 1 ) * 4 b y 4 d o \r \t i f 0011440 p a r t s ! i e q 1 t h 0011460 e n R e a d F o n t ( p a r t 0011500 s + i ) \r \r \t f o r i = 1 t 0011520 o n u m P a r t s d o \r \t 0011540 [ \r \t \t S e t F i l e P o s ( P 0011560 r 376 001 \0 \t + e s s F i l e , p a 0011600 r t S t a r t v ) \r \t \t R e a d 0011620 P a r t ( i ) \r \t ] \r \r \t t e 0011640 s t L i s t F i l e t h e n 0011660 C l o s e s ( L i s t F i l e 0011700 ) o r \r \t \t [ \r \t \t S h o w ( 0011720 " * n * n H i t a n y c h a 0011740 r a c t e r t o f i n i s h 0011760 * n " ) \r \t \t G e t s ( k e y s 0012000 ) \r \t \t ] \r ] \r \r \f \r a n d 0012020 R e a d F o n t ( P a r t D i r 0012040 ) b e \r [ \r \t l e t f o n 0012060 t D i r = v e c 1 \r \t M u l F 0012100 u l l ( P a r t D i r ! 1 , 5 1 0012120 2 , f o n t D i r ) \r \t S e t F 0012140 i l e P o s ( P r e s s F i l e 0012160 , f o n t D 376 001 \0 221 022 i r ) \r \t 0012200 l e t e n t r y l e n = G e t 0012220 s ( P r e s s F i l e ) \r \t G e 0012240 t R e s e t ( ) \r \t S h o w ( " 0012260 * n F o n t D i r e c t o r y 0012300 * n " ) \r \t u n t i l e n t r 0012320 y l e n e q 0 d o \r \t \t [ 0012340 \r \t \t S h o w ( " * n S e 0012360 t : " ) ; S h o w n ( G e t B 0012400 y t e ( ) ) \r \t \t S h o w ( " * 0012420 n F o n t - n o : " ) ; 0012440 S h o w n ( G e t B y t e ( ) ) 0012460 \r \t \t S h o w ( " * n m : 0012500 " ) ; S h o w n ( G e t B y t 0012520 e ( ) ) \r \t \t l e t n = G e t 0012540 B y t e ( ) \r \t \t S h o w ( " * 0012560 n n : " ) ; S 376 001 \0 265 u 0012600 h o w n ( n ) \r \t \t l e t f a 0012620 m = v e c 1 0 \r \t \t f a m ! 0 0012640 = G e t s ( P r e s s F i l e ) 0012660 \r \t \t t e s t n e q # 3 7 0012700 7 & f a m ! 0 e q 0 t 0012720 h e n / / s p e c i a l f o 0012740 r m a t \r \t \t \t R e a d O b j e 0012760 c t ( e n t r y l e n - 4 ) o 0013000 r \r \t \t \t [ \r \t \t \t R e a d B l 0013020 o c k ( P r e s s F i l e , f a 0013040 m + 1 , 9 ) \r \t \t \t S h o w ( " 0013060 * n F a m i l y n a m e 0013100 : " ) ; S h o w ( f a m ) \r \t 0013120 \t \t S h o w ( " * n F a c 0013140 e : " ) ; S h o w n ( G e t B 0013160 y t e ( ) ) \r \t \t \t S h o w ( " 0013200 376 001 \0 346 ; * n S o u r c e 0013220 : " ) ; S h o w n ( G e t B y 0013240 t e ( ) ) \r \t \t \t S h o w ( " * 0013260 n S i z e : " ) ; S h o 0013300 w n ( G e t s ( P r e s s F i l 0013320 e ) ) \r \t \t \t S h o w ( " * n 0013340 R o t a t i o n : " ) ; S 0013360 h o w n ( G e t s ( P r e s s F 0013400 i l e ) ) \r \t \t \t S h o w ( " * 0013420 n " ) \r \t \t \t ] \r \t \t e n t r y 0013440 l e n = G e t s ( P r e s s F i 0013460 l e ) \r \t \t ] \r ] \r \t \r \f \r a 0013500 n d G e t R e s e t ( ) b e 0013520 P B y t e = 0 \r \r a n d O d 0013540 d B y t e ( ) = ( P B y t e 0013560 n e 0 ) \r \r a n d G e t B 0013600 y t e ( ) 376 001 \0 201 = = v a l 0013620 o f \r [ \r \t i f P B y t e 0013640 e q 0 t h e n \r \t \t [ \r \t 0013660 \t P W o r d = G e t s ( P r e s 0013700 s F i l e ) \r \t \t P B y t e = 1 0013720 \r \t \t r e s u l t i s P W o r 0013740 d < < l h \r \t \t ] \r \t P B y t e 0013760 = 0 \r \t r e s u l t i s P W o 0014000 r d < < r h \r ] \r \r a n d G 0014020 e t W o r d ( ) = ( G e t B 0014040 y t e ( ) l s h i f t 8 ) + 0014060 G e t B y t e ( ) \r \r a n d D 0014100 o u b l e C o p ( a , b ) b 0014120 e \r [ \r \t a ! 0 = b ! 0 ; a ! 0014140 1 = b ! 1 \r ] \r \r a n d D o u 0014160 b l e S u b ( a , b ) b e \r 0014200 [ \r \t l e t c = v 376 001 \0 \0 @ e 0014220 c 2 \r \t c ! 0 = n o t b ! 0 0014240 ; c ! 1 = n o t b ! 1 \r \t D 0014260 o u b l e A d d ( c , t a b l 0014300 e [ 0 ; 1 ] ) \r \t D o u 0014320 b l e A d d ( a , c ) \r ] \r \r 0014340 a n d D o u b l e S h r ( a ) 0014360 b e \r [ \r \t a ! 1 = ( a ! 1 0014400 r s h i f t 1 ) + ( a ! 0 l 0014420 s h i f t 1 5 ) \r \t a ! 0 = a 0014440 ! 0 r s h i f t 1 \r ] \r \r a 0014460 n d M u l F u l l ( a , b , 0014500 l v r e s ) b e \r [ \r \t l e 0014520 t m = v e c 1 ; m ! 0 = 0 0014540 ; m ! 1 = a \r \t D o u b l e C 0014560 o p ( l v r e s , t a b l e 0014600 [ 0 ; 0 ] ) \r \t w h i l 376 0014620 001 \0 l \r e b n e 0 d o \r 0014640 \t \t [ \r \t \t i f ( b & 1 ) n 0014660 e 0 t h e n D o u b l e A 0014700 d d ( l v r e s , m ) \r \t \t D 0014720 o u b l e A d d ( m , m ) \r \t 0014740 \t b = b r s h i f t 1 \r \t \t 0014760 ] \r ] \r \r \f \r a n d S h o w ( 0015000 s , c o u n t ; n u m a r g s 0015020 n ) b e \r [ \r \t i f n e q 0015040 1 t h e n c o u n t = s > 0015060 > s t r . n \r \t f o r i = 1 0015100 t o c o u n t d o \r \t \t [ \r 0015120 \t \t l e t c h = s > > s t r . 0015140 c h ^ i \r \t \t P u t s ( M y D s 0015160 p , c h ) \r \t \t i f L i s t 0015200 F i l e t h e n P u t s ( L 0015220 i s t F 376 001 \0 366 237 i l e , c h 0015240 ) \r \t \t i f c h e q $ * n 0015260 & L i s t F i l e e q 0 0015300 t h e n \r \t \t \t [ \r \t \t \t L i 0015320 n e s P r i n t e d = L i n e s 0015340 P r i n t e d + 1 \r \t \t \t i f 0015360 L i n e s P r i n t e d g e 0015400 ( N U M L I N E S - 1 ) t h e 0015420 n \r \t \t \t \t [ \r \t \t \t \t W s s ( 0015440 M y D s p , " M o r e ? " ) \r \t 0015460 \t \t \t l e t c h = G e t s ( k 0015500 e y s ) \r \t \t \t \t L i n e s P r 0015520 i n t e d = 0 \r \t \t \t \t i f ( 0015540 c h e q $ n ) % ( c h e q 0015560 $ N ) t h e n \r \t \t \t \t 0015600 [ i f L i s t F i l e t h 0015620 e n C l o s e s 376 001 \0 352 315 ( L 0015640 i s t F i l e ) ; f i n i s h \r 0015660 \t \t \t \t ] \r \t \t \t \t W s s ( M 0015700 y D s p , " Y e s * n " ) \r 0015720 \t \t \t \t ] \r \t \t \t ] \r \t \t ] \r ] 0015740 \r \r a n d S h o w F l o a t ( 0015760 A C ) b e \r [ P r i n t F 0016000 l o a t ( M y D s p , A C ) \r 0016020 i f L i s t F i l e t h 0016040 e n P r i n t F l o a t ( L i 0016060 s t F i l e , A C ) \r ] \r \r a 0016100 n d S h o w c h ( c ) b e \r 0016120 [ \r \t l e t a = v e c 1 \r \t 0016140 a > > s t r . n = 1 ; a > > s 0016160 t r . c h ^ 1 = c \r \t S h o w ( 0016200 a ) \r ] \r \r a n d S h o w n ( 0016220 n , r a d ; n u m a r g s 376 001 0016240 \0 Q 201 n a ) b e \r [ \r \t i f 0016260 n a n e 2 t h e n r a 0016300 d = - 1 0 \r \t W n s ( M y D s p 0016320 , n , r a d ) \r \t i f L i 0016340 s t F i l e t h e n W n s ( 0016360 L i s t F i l e , n , r a d 0016400 ) \r ] \r \r a n d E r r o r ( s 0016420 ) b e \r [ \r \t S h o w ( s ) \r 0016440 \t i f L i s t F i l e t h e 0016460 n C l o s e s ( L i s t F i l 0016500 e ) \r \t S h o w ( " * n H i t 0016520 a n y k e y t o f i n i 0016540 s h " ) \r \t G e t s ( k e y s ) 0016560 \r \t f i n i s h \r ] \r \r a n d 0016600 D L E v e n ( ) b e \r [ \r \t i 0016620 f O d d B y t e ( ) t h e n 0016640 S h 376 \0 @ 234 356 o w ( " * n E 0016660 R R O R - - D L h a s o 0016700 d d b y t e c o u n t f o 0016720 r o b j e c t o r d o t s 0016740 " ) \r ] \r \r \r 377 \0 \0 r e a d o 0016760 p s . b c p l \0 376 001 \0 032 327 / / R 0017000 E A D O P S \r / / f 0017020 u n c t i o n s f o r R e a 0017040 d P r e s s \r / / C o p y r i 0017060 g h t X e r o x C o r p o r 0017100 a t i o n 1 9 7 9 \r \r / / o u 0017120 t g o i n g r o u t i n e s \r 0017140 e x t e r n a l [ \r \t R e a d 0017160 P a r t ; R e a d E n t i t y ; 0017200 R e a d O b j e c t ; R e a d F 0017220 o n t \r \t ] \r \r / / i n c o m i 0017240 n g r o u t i n e s \r e x t e 0017260 r n a l [ \r \t D o u b l e S h 0017300 r ; D o u b l e C o p ; D o u b 0017320 l e S u b ; M u l F u l l \r \t G 0017340 e t B y t e ; G e t W o r d ; O 0017360 d d B y t e ; G e t R e s 376 001 \0 0017400 027 035 e t \r \t S h o w F l o a t ; 0017420 S h o w ; S h o w n ; S h o w c 0017440 h ; E r r o r ; D L E v e n \t / 0017460 / f r o m r e a d p r e s s \r 0017500 \r \t R e a d B l o c k \t \t / / O 0017520 S \r \t G e t s \r \t S e t F i l e 0017540 P o s \r \t F i l e P o s \r \t D o 0017560 u b l e A d d \r \t U s c \r \t ] \r 0017600 \r / / i n c o m i n g s t a t 0017620 i c s \r e x t e r n a l [ \r \t 0017640 P r e s s F i l e \r \t ] \r \r / / 0017660 i n t e r n a l m a n i f e s 0017700 t a n d s t r u c t u r e 0017720 d e c l a r a t i o n s \r s t r 0017740 u c t u r e s t r : \r \t [ \r \t 0017760 n b y t e \r \t c h ^ 1 , 2 5 5 0020000 b 376 001 \0 327 0 y t e \r \t ] \r \r s 0020020 t r u c t u r e \r \t [ \r \t l h \t 0020040 b y t e \r \t r h \t b y t e \r \t ] 0020060 \r \r l e t R e a d P a r t ( n 0020100 ) b e \r [ \r \t l e t P a r 0020120 t D i r = v e c 4 \r \t f o r 0020140 i = 1 t o n d o R e a d 0020160 B l o c k ( P r e s s F i l e , 0020200 P a r t D i r , 4 ) \r \r \t l e t 0020220 T y p e = P a r t D i r ! 0 \r 0020240 \t l e t S t a r t = P a r t D 0020260 i r ! 1 \r \t l e t L e n = P a 0020300 r t D i r ! 2 \r \t l e t p a d 0020320 d i n g = P a r t D i r ! 3 \r \r 0020340 \t S h o w ( " * n P a r t " ) 0020360 ; S h o w n ( n ) \r \t S h o w ( 0020400 " : * n 376 001 \0 304 D T y p e 0020420 = " ) \r \t s w i t c h o n T y 0020440 p e i n t o \r \t \t [ \r \t \t c a 0020460 s e 0 : S h o w ( " P a g e 0020500 * n " ) ; e n d c a s e \r \t \t c 0020520 a s e 1 : S h o w ( " F o n 0020540 t * n " ) ; e n d c a s e \r \t \t 0020560 c a s e 2 : S h o w ( " E x 0020600 t e r n a l F i l e D i r e 0020620 c t o r y * n " ) ; e n d c a s 0020640 e \r \t \t d e f a u l t : S h o 0020660 w ( " U n k n o w n ( " ) ; S 0020700 h o w n ( T y p e ) ; S h o w ( 0020720 " ) * n " ) ; e n d c a s e \r \t 0020740 \t ] \r \t S h o w ( " * n R 0020760 e c o r d S t a r t = " ) ; S 0021000 h o w n ( S t a r t ) \r 376 001 \0 8 0021020 322 \t S h o w ( " * n L e n 0021040 g t h ( i n r e c o r d s ) 0021060 = " ) ; S h o w n ( L e n ) \r \t 0021100 S h o w ( " * n P a d d i 0021120 n g L e n g t h = " ) ; S h o 0021140 w n ( p a d d i n g ) \r \r \t i f 0021160 T y p e e q 0 t h e n 0021200 / / s h o w c o m m a n d s \r 0021220 \t [ \r \t l e t d a t a P o s = 0021240 v e c 1 \r \t M u l F u l l ( S 0021260 t a r t , 5 1 2 , d a t a P o s 0021300 ) \r \t l e t p a r t P o s = v 0021320 e c 1 \r \t M u l F u l l ( L e 0021340 n , 5 1 2 , p a r t P o s ) \r \t 0021360 D o u b l e A d d ( p a r t P o 0021400 s , d a t a P o s ) \r \t l e t 0021420 d 376 001 \0 ^ 225 o u b l e P a d d i 0021440 n g = v e c 1 \r \t d o u b l e 0021460 P a d d i n g ! 0 = 0 ; d o u b 0021500 l e P a d d i n g ! 1 = p a d d 0021520 i n g * 2 + 2 \r \t D o u b l e S 0021540 u b ( p a r t P o s , d o u b l 0021560 e P a d d i n g ) \r \t S e t F i 0021600 l e P o s ( P r e s s F i l e , 0021620 p a r t P o s ) \r \t l e t e n 0021640 t i t y L e n = G e t s ( P r e 0021660 s s F i l e ) \r \t u n t i l e 0021700 n t i t y L e n e q 0 d o 0021720 \r \t e n t i t y L e n = R e a 0021740 d E n t i t y ( e n t i t y L e 0021760 n , p a r t P o s , d a t a P o 0022000 s ) \r \t ] \r \r \t i f T y p e 0022020 e q 2 t 376 001 \0 273 N h e n / 0022040 / s h o w f i l e s n e e d 0022060 e d \r \t [ l e t p a r t P 0022100 o s = v e c 1 \r \t M u l 0022120 F u l l ( S t a r t , 5 1 2 , p 0022140 a r t P o s ) \r \t S e t F 0022160 i l e P o s ( P r e s s F i l e 0022200 , p a r t P o s ) \r \t l e 0022220 t n a m e = v e c 4 0 \r \t 0022240 R e a d B l o c k ( P r e s 0022260 s F i l e , n a m e , 1 ) \r \t 0022300 S h o w ( " * n F i l e s 0022320 r e q u i r e d : * n " ) \r \t 0022340 u n t i l n a m e ! 0 e 0022360 q 0 d o \r \t [ l e 0022400 t w o r d L e n = n a m e > > 0022420 s t r . n / 2 \r \t 376 001 \0 Z 273 0022440 R e a d B l o c k ( P r 0022460 e s s F i l e , n a m e + 1 , w 0022500 o r d L e n ) \r \t S 0022520 h o w ( " " ) ; S h o w ( 0022540 n a m e ) ; S h o w ( " * n " ) 0022560 \r \t R e a d B l o c 0022600 k ( P r e s s F i l e , n a m e 0022620 , 1 ) \r \t ] \r \t ] \r \r 0022640 \r ] \r \r a n d R e a d E n t 0022660 i t y ( e n t i t y L e n , p a 0022700 r t P o s , d a t a P o s ) = v 0022720 a l o f \r [ \r \t l e t e v e 0022740 c = v e c 1 \r \t e v e c ! 0 = 0022760 0 \r \t e v e c ! 1 = e n t i t y 0023000 L e n \r \t D o u b l e A d d ( e 0023020 v e c , e v e c ) \t / / * 2 f 0023040 376 001 \0 001 313 o r b y t e p o s 0023060 i t i o n \r \t D o u b l e S u b 0023100 ( p a r t P o s , e v e c ) \r \t 0023120 i f p a r t P o s ! 0 l s 0023140 0 t h e n \r \t \t [ \r \t \t S h o 0023160 w ( " * n I L L E G 0023200 A L E N T I T Y L E N G T H 0023220 ( = " ) \r \t \t S h o w n ( e n 0023240 t i t y L e n ) \r \t \t S h o w ( 0023260 " ) * n " ) \r \t \t r e s u l t i 0023300 s 0 \r \t \t ] \r \t S e t F i l e 0023320 P o s ( P r e s s F i l e , p a 0023340 r t P o s ) \r \t l e t n e x t 0023360 l e n = G e t s ( P r e s s F i 0023400 l e ) \r \r \t l e t e d a t a = 0023420 @ # 3 3 5 \r \t @ # 3 3 5 = e d a 0023440 t a + e n 376 001 \0 346 ) t i t y L e 0023460 n + 1 \r \t i f U s c ( @ # 3 3 0023500 5 , l v e d a t a ) g r 0023520 0 t h e n \r \t \t E r r o r ( 0023540 " E n t i t y t o o l o n g 0023560 f o r R E A D P R E S S t 0023600 o r e a d * n " ) \r \r \t R e a 0023620 d B l o c k ( P r e s s F i l e 0023640 , e d a t a , e n t i t y L e n 0023660 ) \r \t l e t t h i s D a t a = 0023700 v e c 1 \r \t D o u b l e C o p 0023720 ( t h i s D a t a , e d a t a + 0023740 e n t i t y L e n - 1 1 ) \r \r \t 0023760 S h o w ( " * n E n t i t y : 0024000 L e n g t h = " ) ; S h o w n 0024020 ( e d a t a ! ( e n t i t y L e 0024040 n - 1 ) ) \r \t S h o 376 001 \0 5 277 w 0024060 ( " * n T r a i l e r : * n " 0024100 ) \r \t S h o w ( " T y p e 0024120 ; F o n t = " ) ; S h o w n ( e 0024140 d a t a ! ( e n t i t y L e n - 0024160 1 2 ) ) \r \t S h o w ( " * n 0024200 B e g i n - B y t e = " ) ; S 0024220 h o w n ( t h i s D a t a ! 0 ) 0024240 ; \r \t S h o w c h ( $ ; ) ; S h 0024260 o w n ( t h i s D a t a ! 1 ) \r 0024300 \t S h o w ( " B y t e - L 0024320 e n = " ) ; S h o w n ( e d a t 0024340 a ! ( e n t i t y L e n - 9 ) ) 0024360 \r \t S h o w c h ( $ ; ) ; S h o 0024400 w n ( e d a t a ! ( e n t i t y 0024420 L e n - 8 ) ) \r \t S h o w ( " * 0024440 n X e = " ) ; S h o w n 376 0024460 001 \0 357 _ ( e d a t a ! ( e n t i 0024500 t y L e n - 7 ) ) \r \t S h o w ( 0024520 " Y e = " ) ; S h o w n ( 0024540 e d a t a ! ( e n t i t y L e n 0024560 - 6 ) ) \r \t S h o w ( " * n 0024600 l e f t = " ) ; S h o w n ( e 0024620 d a t a ! ( e n t i t y L e n - 0024640 5 ) ) \r \t S h o w ( " b o 0024660 t t o m = " ) ; S h o w n ( e d 0024700 a t a ! ( e n t i t y L e n - 4 0024720 ) ) \r \t S h o w ( " * n w 0024740 i d t h = " ) ; S h o w n ( e d 0024760 a t a ! ( e n t i t y L e n - 3 0025000 ) ) \r \t S h o w ( " h e i 0025020 g h t = " ) ; S h o w n ( e d a 0025040 t a ! ( e n t i t y L e n - 2 ) 0025060 ) \r \r \t 376 001 \0 $ ( S h o w ( " * 0025100 n C o m m a n d s : * n " ) 0025120 \r \t l e t n u m B y t e s 0025140 = ( e n t i t y L e n - 1 2 ) * 0025160 2 \r \t D o u b l e A d d ( t h i 0025200 s D a t a , d a t a P o s ) \r \t 0025220 l e t o d d B y t e = ( t h i 0025240 s D a t a ! 1 ) & 1 \r \t t h i s 0025260 D a t a ! 1 = t h i s D a t a ! 0025300 1 & # 1 7 7 7 7 6 \t / / p o s i 0025320 t i o n t o w o r d b o u 0025340 n d a r y \r \t S e t F i l e P o 0025360 s ( P r e s s F i l e , t h i s 0025400 D a t a ) \r \t G e t R e s e t ( 0025420 ) \r \t i f o d d B y t e t h 0025440 e n G e t B y t e ( ) \r \t P r 0025460 i n t C o m m a n 376 001 \0 9 220 d s 0025500 ( n u m B y t e s , e d a t a , 0025520 t h i s D a t a ) \r \r \t @ # 3 3 0025540 5 = e d a t a \r \t r e s u l t i 0025560 s n e x t l e n \r ] \r \r a n 0025600 d G r a b ( b , v ) = v a l o 0025620 f \r [ \r \t l e t n = @ b \r \t 0025640 @ b = n + 1 \r \t l e t W o r d 0025660 = v ! ( n / 2 ) \r \t r e s u l t 0025700 i s ( ( n & 1 ) e q 1 ) ? 0025720 W o r d < < r h , W o r d < < l 0025740 h \r ] \r \r a n d G r a b W ( 0025760 b , v ) = G r a b ( b , v ) 0026000 * 2 5 6 + G r a b ( b , v ) \r \r 0026020 a n d P r i n t C o m m a n d 0026040 s ( n u m C o m m a n d s , v , 0026060 d a t a P o s ) b e \r [ 376 001 0026100 \0 251 273 \r \t l e t c o u n t = 0 0026120 \r \t l e t p v = v e c 1 0 \r 0026140 \t l e t b = l v c o u n t \r 0026160 \r u n t i l c o u n t g e 0026200 n u m C o m m a n d s d o \r [ 0026220 \t / / g r a b n e x t b y t 0026240 e \r \t l e t c = G r a b ( b , 0026260 v ) \r \t l e t p = 1 \t \t \t / / 0026300 n u m a r g s , d e f a u l 0026320 t i s 1 a r g \r \t p v ! 1 0026340 = G r a b ( b , v ) \t / / G e t 0026360 o n e a r g u m e n t a h 0026400 e a d \r \r \t l e t s = n i l \r 0026420 \t s w i t c h o n ( c & # 3 7 0026440 0 ) / # 1 0 i n t o \r \t \t [ \r 0026460 \t \t c a s e 0 : c a s e 1 0026500 : c 376 001 \0 & 372 a s e 2 : c 0026520 a s e 3 : / / s h o w s h 0026540 o r t \r \t \t \t s = " S h o w - C 0026560 h a r a c t e r s - S h o r t " 0026600 \r \t \t \t p v ! 1 = ( c & # 3 7 ) 0026620 + 1 \r \t \t \t c o u n t = c o u n 0026640 t - 1 \r \t \t \t c = # 3 6 0 \r \t \t 0026660 \t e n d c a s e \r \t \t c a s e 0026700 4 : c a s e 5 : c a s e 0026720 6 : c a s e 7 : \t / / s k i 0026740 p s h o r t \r \t \t \t s = " S k 0026760 i p - C h a r a c t e r s - S h 0027000 o r t " \r \t \t \t p v ! 1 = ( c & 0027020 # 3 7 ) + 1 \r \t \t \t c o u n t = 0027040 c o u n t - 1 \r \t \t \t c = # 3 6 0027060 1 \r \t \t \t e n d c a s e \r \t \t c 0027100 a s e # 1 0 : 376 001 \0 8 003 c a 0027120 s e # 1 1 : c a s e # 1 2 0027140 : c a s e # 1 3 : \r \t \t \t s 0027160 = " S h o w - C h a r a c t e r 0027200 s - a n d - S k i p " \r \t \t \t p 0027220 v ! 1 = ( c & # 3 7 ) + 1 \r \t \t 0027240 \t c o u n t = c o u n t - 1 \r \t 0027260 \t \t c = # 1 0 0 \r \t \t \t e n d c 0027300 a s e \r \t \t c a s e # 1 4 : \r 0027320 \t \t \t s = " S e t - S p a c e - 0027340 X - S h o r t " \r \t \t \t p v ! 1 0027360 = ( c & # 7 ) * 2 5 6 + p v ! 1 0027400 \r \t \t \t e n d c a s e \r \t \t c a 0027420 s e # 1 5 : \r \t \t \t s = " S e 0027440 t - S p a c e - Y - S h o r t " 0027460 \r \t \t \t p v ! 1 = ( c & 7 ) * 2 0027500 5 6 + p v ! 1 \r \t \t \t e n 376 001 \0 0027520 : 341 d c a s e \r \t \t c a s e # 0027540 1 6 : \r \t \t c a s e # 1 7 : \r 0027560 \t \t \t s = " F o n t " \r \t \t \t p 0027600 v ! 1 = c & # 1 7 \r \t \t \t c o u 0027620 n t = c o u n t - 1 \r \t \t \t e n 0027640 d c a s e \r \t \t d e f a u l t : 0027660 \r \t \t \t s w i t c h o n c 0027700 i n t o \r \t \t \t [ \r \t \t c a s e 0027720 # 3 5 3 : s = " S k i p - C 0027740 o n t r o l - B y t e s - I m m 0027760 e d i a t e " \r \t \t \t f o r i 0030000 = 1 t o p v ! 1 d o G r 0030020 a b ( b , v ) \r \t \t \t e n d c a 0030040 s e \r \t \t c a s e # 3 5 4 : 0030060 s = " A l t e r n a t i v e " \r 0030100 \t \t \t p v ! 1 = ( p v ! 1 ) * 2 0030120 5 6 376 001 \0 L A + G r a b ( b , v 0030140 ) \t / / E L t y p e s \r \t \t \t 0030160 p v ! 2 = G r a b W ( b , v ) \r 0030200 \t \t \t p v ! 3 = G r a b W ( b , 0030220 v ) \r \t \t \t p v ! 4 = G r a b W 0030240 ( b , v ) \r \t \t \t p v ! 5 = G r 0030260 a b W ( b , v ) \r \t \t \t p = 5 ; 0030300 e n d c a s e \r \t \t c a s e # 0030320 3 5 5 : s = " O n l y - o n - 0030340 c o p y " ; e n d c a s e \r \t \t 0030360 c a s e # 3 5 6 : s = " S e 0030400 t - X " \r \t \t \t p v ! 1 = ( p v 0030420 ! 1 ) * 2 5 6 + G r a b ( b , v 0030440 ) ; e n d c a s e \r \t \t c a s e 0030460 # 3 5 7 : s = " S e t - Y " 0030500 \r \t \t \t p v ! 1 = ( p v ! 1 ) * 0030520 2 5 6 + G r a 376 001 \0 N 301 b ( b , 0030540 v ) ; e n d c a s e \r \t \t c a s 0030560 e # 3 6 0 : s = " S h o w - 0030600 C h a r a c t e r s " ; e n d c 0030620 a s e \r \t \t c a s e # 3 6 1 : 0030640 s = " S k i p - C h a r a c t 0030660 e r s " ; e n d c a s e \r \t \t c 0030700 a s e # 3 6 2 : s = " S k i 0030720 p - C o n t r o l - B y t e s " 0030740 \r \t \t \t p v ! 1 = ( p v ! 1 ) * 0030760 2 5 6 + G r a b ( b , v ) \r \t \t 0031000 \t p v ! 2 = G r a b ( b , v ) \t 0031020 / / t y p e \r \t \t \t e n d c a s 0031040 e \r \t \t c a s e # 3 6 3 : s 0031060 = " S h o w - C h a r a c t e r 0031100 - I m m e d i a t e 0031120 : " \r \t \t \t s > > 376 001 \0 255 0031140 } s t r . c h ^ ( s > > s t r . 0031160 n - 1 ) = p v ! 1 \r \t \t \t e n d 0031200 c a s e \r \t \t c a s e # 3 6 4 0031220 : s = " S e t - S p a c e - X 0031240 " \r \t \t \t p v ! 1 = ( p v ! 1 ) 0031260 * 2 5 6 + G r a b ( b , v ) ; e 0031300 n d c a s e \r \t \t c a s e # 3 0031320 6 5 : s = " S e t - S p a c e 0031340 - Y " \r \t \t \t p v ! 1 = ( p v ! 0031360 1 ) * 2 5 6 + G r a b ( b , v ) 0031400 ; e n d c a s e \r \t \t c a s e 0031420 # 3 6 6 : s = " R e s e t - S 0031440 p a c e " ; p = 0 ; e n d c a s 0031460 e \r \t \t c a s e # 3 6 7 : s 0031500 = " S p a c e " ; p = 0 ; e n d 0031520 c a s e \r \t \t c a s e # 3 7 0 0031540 : 376 001 \0 016 340 s = " S e t - B r 0031560 i g h t n e s s " ; e n d c a s 0031600 e \r \t \t c a s e # 3 7 1 : s 0031620 = " S e t - H u e " ; e n d c a 0031640 s e \r \t \t c a s e # 3 7 2 : 0031660 s = " S e t - S a t u r a t i o 0031700 n " ; e n d c a s e \r \t \t c a s 0031720 e # 3 7 3 : s = " S h o w - 0031740 O b j e c t " \r \t \t \t p v ! 1 = 0031760 ( p v ! 1 ) * 2 5 6 + G r a b ( 0032000 b , v ) ; e n d c a s e \r \t \t c 0032020 a s e # 3 7 4 : s = " S h o 0032040 w - D o t s " \r \t \t \t p v ! 1 = 0032060 ( p v ! 1 ) * 2 5 6 + G r a b ( 0032100 b , v ) \r \t \t \t p v ! 2 = G r a 0032120 b W ( b , v ) ; p = 2 ; e n d c 0032140 a s e \r \t \t 376 001 \0 321 341 c a s e 0032160 # 3 7 5 : s = " S h o w - D o 0032200 t s - O p a q u e " \r \t \t \t p v 0032220 ! 1 = ( p v ! 1 ) * 2 5 6 + G r 0032240 a b ( b , v ) \r \t \t \t p v ! 2 = 0032260 G r a b W ( b , v ) ; p = 2 ; e 0032300 n d c a s e \r \t \t c a s e # 3 0032320 7 6 : s = " S h o w - R e c t 0032340 a n g l e " \r \t \t \t p v ! 1 = ( 0032360 p v ! 1 ) * 2 5 6 + G r a b ( b 0032400 , v ) \r \t \t \t p v ! 2 = G r a b 0032420 W ( b , v ) ; p = 2 ; e n d c a 0032440 s e \r \t \t c a s e # 3 7 7 : 0032460 s = " N o p " ; p = 0 ; e n d c 0032500 a s e \r \r \t \t d e f a u l t : \r 0032520 \t \t \t s = ( c g e 2 0 0 b 0032540 & c l e 2 3 7 b 376 001 \0 362 356 0032560 ) ? " < . . a v a i l a b l e 0032600 . . > " , " < . . s p a r e . . 0032620 > " \r \t \t \t c o u n t = c o u n 0032640 t - 1 \r \t \t \t p v ! 1 = c ; e n 0032660 d c a s e \r \t \t \t ] \r \t \t ] \r \r 0032700 / / N o w p r i n t o u t 0032720 c o m m a n d n a m e , a n 0032740 d a r g u m e n t s : \r \t S h 0032760 o w ( s ) \r \t t e s t p e q 0033000 0 t h e n c o u n t = c o 0033020 u n t - 1 \r \t o r f o r i = 0033040 1 t o p d o \r \t \t [ \r \t \t 0033060 S h o w ( " " ) \r \t \t S h o 0033100 w n ( p v ! i ) \r \t \t ] \r \t S h 0033120 o w ( " * n " ) \r \r / / N o w , 0033140 i f t h e r e ' s a n y 0033160 376 001 \0 K 321 d a t a i n D L , 0033200 s h o w i t \r \t s w i t c h 0033220 o n c i n t o \r \t [ \r \t c a 0033240 s e # 3 6 0 : / / S h o w 0033260 C h a r a c t e r s \r \t \t S h o 0033300 w ( " " ) \r \t \t f o 0033320 r i = 1 t o p v ! 1 d o 0033340 [ l e t c h = G e t B y t 0033360 e ( ) ; S h o w ( l v c h , 1 0033400 ) ] \r \t \t S h o w ( " * N " ) \r 0033420 \t \t e n d c a s e \r \t c a s e 0033440 # 3 6 1 : c a s e # 3 6 2 : 0033460 / / S k i p C h a r a c t e r 0033500 s ( o r C o n t r o l B y 0033520 t e s ) \r \t \t f o r i = 1 t 0033540 o p v ! 1 d o G e t B y t 0033560 e ( ) \r \t 376 001 \0 202 225 \t e n d c a 0033600 s e \r \t c a s e # 1 0 0 : / 0033620 / S h o w C h a r a c t e r s 0033640 a n d S k i p \r \t \t S h o w 0033660 ( " " ) \r \t \t f o r 0033700 i = 1 t o p v ! 1 d o 0033720 [ l e t c h = G e t B y t e 0033740 ( ) ; S h o w ( l v c h , 1 ) 0033760 ] \r \t \t S h o w ( " * N " ) \r \t 0034000 \t G e t B y t e ( ) \r \t \t e n d 0034020 c a s e \r \t c a s e # 3 7 3 : 0034040 / / S h o w O b j e c t \r \t 0034060 \t R e a d O b j e c t ( p v ! 1 0034100 ) \r \t \t e n d c a s e \r \t c a s 0034120 e # 3 7 4 : / / S h o w D 0034140 o t s \r \t c a s e # 3 7 5 : 0034160 / / S h o w D o t 376 001 \0 Z 002 s 0034200 O p a q u e \r \t \t D o u b l e 0034220 A d d ( p v + 1 , p v + 1 ) \t / 0034240 / n u m w o r d s t o n u 0034260 m b y t e s \r \t \t R e a d D o 0034300 t s ( p v + 1 ) \r \t \t e n d c a 0034320 s e \r \t d e f a u l t : \t \r \t ] 0034340 \r ] \r ] \r \r a n d R e a d O b 0034360 j e c t ( n ) b e \r [ \r \t D L 0034400 E v e n ( ) \r [ \t n = n - 1 \r \t 0034420 s w i t c h o n G e t W o r d 0034440 ( ) i n t o \r \t [ \r \t c a s e 0034460 0 : S h o w ( " * n 0034500 M o v e t o " ) \r \t \t S h 0034520 o w n ( G e t W o r d ( ) ) ; S 0034540 h o w c h ( $ * s ) \r \t \t S h o 0034560 w n ( G e t W o r d ( ) ) ; n 376 0034600 001 \0 202 ' = n - 2 ; e n d c a s e 0034620 \r \t c a s e 1 : S h o w ( " 0034640 * n D r a w t o " 0034660 ) \r \t \t S h o w n ( G e t W o r 0034700 d ( ) ) ; S h o w c h ( $ * s ) 0034720 \r \t \t S h o w n ( G e t W o r d 0034740 ( ) ) ; n = n - 2 ; e n d c a s 0034760 e \r \t c a s e 2 : S h o w ( 0035000 " * n D r a w C u r 0035020 v e " ) \r \t \t f o r i = 1 0035040 t o 6 d o \r \t \t [ l e t 0035060 t e m p A C = v e c 1 \r \t \t 0035100 \t t e m p A C ! 0 = G e t W o r 0035120 d ( ) \r \t \t \t t e m p A C ! 1 = 0035140 G e t W o r d ( ) \r \t \t 0035160 S h o w F l o a t ( t e m p A 0035200 C ) \r \t 376 001 \0 376 327 \t \t S h o w c 0035220 h ( $ * s ) \r \t \t \t n = n - 2 \r 0035240 \t \t ] \r \t \t e n d c a s e \r \t 0035260 ] \r ] r e p e a t u n t i l 0035300 n l e 0 \r S h o w ( " * 0035320 n " ) \r ] \r \r a n d R e a d D 0035340 o t s ( n v e c ) b e \r [ \r 0035360 \t D L E v e n ( ) \r \t l e t n 0035400 = n i l \r \t l e t t w o = t a 0035420 b l e [ 0 ; 2 ] \r \t D o u b 0035440 l e S u b ( n v e c , t w o ) \r 0035460 \t s w i t c h o n G e t B y t 0035500 e ( ) i n t o \r \t \t [ \r \t \t c 0035520 a s e 0 : \t / / f u l l w o 0035540 r d c o m m a n d \r \t \t s w i 0035560 t c h o n G e t B y t e ( ) 0035600 i n t o \r \t \t \t [ 376 001 \0 315 250 \r \t 0035620 \t \t c a s e 1 : n = 4 \t / 0035640 / s e t - w i n d o w \r \t \t \t \t 0035660 S h o w ( " * n S e 0035700 t W i n d o w " ) ; e n d c 0035720 a s e \r \t \t \t c a s e 2 : n 0035740 = 2 \t / / s e t - s i z e \r \t \t 0035760 \t \t S h o w ( " * n 0036000 S e t S i z e " ) ; e n d c 0036020 a s e \r \t \t \t c a s e 3 : n 0036040 = 0 \t / / d o t s - f o l l o w 0036060 \r \t \t \t \t S h o w ( " * n 0036100 D o t s F o l l o w * n 0036120 " ) ; e n d c a s e \r \t \t \t c a 0036140 s e 4 : / / G e t - d o t s 0036160 - f r o m - f i l e \r \t \t \t \t S 0036200 h o w ( " * n G 376 001 0036220 \0 = 356 e t D o t s F r o m 0036240 F i l e : " ) \r \t \t \t \t [ l 0036260 e t r e c S = G e t W o r d ( 0036300 ) ; D o u b l e S u b ( n v e c 0036320 , t w o ) \r \t \t \t \t l e t 0036340 l e n = G e t B y t e ( ) \r \t \t 0036360 \t \t l e t v = v e c 1 ; 0036400 v ! 0 = 0 ; v ! 1 = ( ( l e n / 0036420 2 ) + 1 ) * 2 ; D o u b l e S u 0036440 b ( n v e c , v ) \r \t \t \t \t 0036460 f o r i = 1 t o l e n d 0036500 o S h o w c h ( G e t B y t e 0036520 ( ) ) \r \t \t \t \t i f ( l e 0036540 n & 1 ) e q 0 t h e n G 0036560 e t B y t e ( ) \r \t \t \t \t S 0036600 h o w ( " ( r e c o r d s t 0036620 a r t 376 001 \0 365 333 = " ) ; S h o w 0036640 n ( r e c S ) ; S h o w ( " ) * 0036660 n " ) \r \t \t \t \t n = 0 \r \t \t 0036700 \t \t e n d c a s e \r \t \t \t \t 0036720 ] \t \t \t \t \r \t \t \t c a s e 0036740 5 : n = - 1 \t / / g e t d o 0036760 t s f r o m p r e s s f i 0037000 l e \r \t \t \t \t e n d c a s e \r \t 0037020 \t \t c a s e 6 : \r \t \t \t \t n 0037040 = G e t W o r d ( ) \r \t \t \t \t f 0037060 o r i = 0 t o n d o D 0037100 o u b l e S u b ( n v e c , t w 0037120 o ) \r \t \t \t \t S h o w ( " * n 0037140 S e t S a m p l i n 0037160 g P r o p e r t i e s " ) \r \t 0037200 \t \t \t w h i l e n g r 0 0037220 d o s w i t c 376 001 \0 243 { h o n 0037240 G e t W o r d ( ) i n t o \r 0037260 \t \t \t \t \t [ \r \t \t \t \t \t c a s e 0037300 0 : S h o w ( " * n 0037320 S S P i n p u t i n 0037340 t e n s i t y : M i n = " 0037360 ) \r \t \t \t \t \t S h o w n ( 0037400 G e t W o r d ( ) ) ; S h o w ( 0037420 " M a x = " ) \r \t \t \t \t \t 0037440 S h o w n ( G e t W o r d ( 0037460 ) ) \r \t \t \t \t \t n = n - 3 0037500 \r \t \t \t \t \t e n d c a s e 0037520 \r \t \t \t \t \t c a s e 1 : S h 0037540 o w ( " * n S S 0037560 P o u t p u t i n t e n s i 0037600 t y : " ) \r \t \t \t \t \t 0037620 f o r i = 1 t o 3 376 001 \0 0037640 211 251 d o \r \t \t \t \t \t [ 0037660 S h o w n ( G e t W o r d ( ) 0037700 ) ; S h o w ( " " ) ] \r \t \t 0037720 \t \t \t n = n - 4 \r \t \t \t \t 0037740 \t e n d c a s e \r \t \t \t \t 0037760 \t c a s e 2 : S h o w ( " * 0040000 n S S P s c r 0040020 e e n * n " ) \r \t \t \t \t \t 0040040 S h o w ( " 0040060 A n g l e " ) ; S h o w n 0040100 ( G e t W o r d ( ) ) \r \t \t \t \t 0040120 \t S h o w ( " A m p 0040140 l i t u d e " ) ; S h o w n ( 0040160 G e t W o r d ( ) ) \r \t \t \t \t \t 0040200 S h o w ( " L i n e 0040220 s / I n c h " ) ; S h o w n 0040240 ( G 376 001 \0 x 355 e t W o r d ( ) ) 0040260 \r \t \t \t \t \t n = n - 4 \r \t 0040300 \t \t \t \t e n d c a s e \r \t 0040320 \t \t \t \t c a s e 3 : S h o w 0040340 ( " * n S S P 0040360 d o t d e f i n i t i o n : 0040400 ( " ) \r \t \t \t \t \t [ l 0040420 e t n C e l l s = G e t W o r 0040440 d ( ) \r \t \t \t \t \t S h 0040460 o w n ( n C e l l s ) ; S h o w 0040500 c h ( $ , ) \r \t \t \t \t \t 0040520 S h o w n ( G e t W o r d ( ) 0040540 ) ; S h o w c h ( $ , ) \r \t \t \t 0040560 \t \t S h o w n ( G e t 0040600 W o r d ( ) ) ; S h o w c h ( $ 0040620 ) ) \r \t \t \t \t \t f o r 0040640 i = 1 t o 376 001 \0 " F n C e 0040660 l l s d o G e t W o r d ( ) 0040700 \r \t \t \t \t \t n = n - ( 0040720 1 + 3 + n C e l l s ) \r \t \t \t \t 0040740 \t e n d c a s e \r \t \t 0040760 \t \t \t ] \r \t \t \t \t \t d e f a 0041000 u l t : S h o w ( " * n 0041020 U n k n o w n c o m 0041040 m a n d . . . " ) \r \t \t \t \t \t 0041060 f o r i = 2 t o n 0041100 d o G e t W o r d ( ) \r \t \t \t 0041120 \t \t n = 0 \r \t \t \t \t \t 0041140 e n d c a s e \r \t \t \t \t \t 0041160 ] \r \t \t \t \t l o o p \t / / b a c 0041200 k t o t o p o f r o u t 0041220 i n e \r \t \t \t ] / / e n d 0041240 o f " s w i t c h o n 376 001 \0 034 0041260 f G e t B y t e ( ) i n t o 0041300 " \r \t \t \t i f n l e 0 t 0041320 h e n \t / / D o t s c o m i n 0041340 g n o w \r \t \t \t \t [ \r \t \t \t \t 0041360 l e t f p = v e c 1 \r \t \t \t 0041400 \t F i l e P o s ( P r e s s F i 0041420 l e , f p ) \r \t \t \t \t D o u b l 0041440 e A d d ( f p , n v e c ) \r \t \t 0041460 \t \t S e t F i l e P o s ( P r e 0041500 s s F i l e , f p ) \r \t \t \t \t r 0041520 e t u r n \r \t \t \t \t ] \r \t \t \t f 0041540 o r i = 1 t o n d o \r \t 0041560 \t \t \t [ \r \t \t \t \t S h o w n ( G 0041600 e t W o r d ( ) ) ; S h o w c h 0041620 ( $ * s ) \r \t \t \t \t D o u b l e 0041640 S u b ( n v e c , t w o ) \r \t \t 0041660 \t 376 001 \0 315 @ \t ] \r \t \t \t e n d c 0041700 a s e \r \t \t c a s e 1 : \t / / 0041720 s e t c o d i n g \r \t \t \t S h 0041740 o w ( " * n S e t 0041760 C o d i n g " ) \r \t \t \t S h o 0042000 w n ( G e t B y t e ( ) ) ; S h 0042020 o w c h ( $ ; ) \r \t \t \t S h o w 0042040 n ( G e t W o r d ( ) ) ; S h o 0042060 w c h ( $ ; ) \r \t \t \t S h o w n 0042100 ( G e t W o r d ( ) ) \r \t \t \t D 0042120 o u b l e S u b ( n v e c , t a 0042140 b l e [ 0 ; 4 ] ) \r \t \t \t e 0042160 n d c a s e \r \t \t c a s e 2 : 0042200 \t / / s e t m o d e \r \t \t 0042220 \t S h o w ( " * n S 0042240 e t M o d e " ) \r \t \t \t S h 0042260 o w n ( G e 376 \0 * 264 005 t B y t e 0042300 ( ) ) \r \t \t \t e n d c a s e \r \t 0042320 ] \r ] r e p e a t \r 032 ( 1 0042340 2 7 0 ) \r 377 \0 \0 p r i n t f l o 0042360 a t . b c p l \0 376 001 \0 351 026 / / 0042400 P r i n t F l o a t ( s t r , l 0042420 v n u m ) \t P r i n t s f l o 0042440 a t i n g p o i n t n u m b 0042460 e r . \r / / C o p y r i g h t 0042500 X e r o x C o r p o r a t i 0042520 o n 1 9 7 9 \r \r \r / / o u t g 0042540 o i n g r o u t i n e s \r e x 0042560 t e r n a l P r i n t F l o a 0042600 t \r \r e x t e r n a l \r \t [ \r 0042620 \t / / O S \r \t P u t s \r \t W n s 0042640 \r \r / / F L O A T \r \t F L D ; F 0042660 S T ; F T R ; F L D I ; F N E G 0042700 ; F A D ; F S B ; F M L ; F D V 0042720 ; F C M ; F S N \r \t F L D V ; F 0042740 S T V ; F L D D P ; F S T D P ; 0042760 D P A D ; D P S B \r \t ] \r 376 001 \0 0043000 e 232 \r / / i n c o m i n g s 0043020 t a t i c s \r e x t e r n a l \r 0043040 \t [ \r \t k e y s \r \t d s p \r \t ] 0043060 \r \r / / i n t e r n a l s t 0043100 a t i c s \r s t a t i c \r \t [ \r 0043120 \t c o m s \r \t s c \r \t ] \r \r / / 0043140 F i l e - w i d e s t r u c 0043160 t u r e a n d m a n i f e s 0043200 t d e c l a r a t i o n s . \r 0043220 \r s t r u c t u r e S T R : 0043240 [ \r \t l e n g t h b y t e \r \t 0043260 c h a r ^ 1 , 2 5 5 b y t e \r 0043300 ] \r \r m a n i f e s t s t r l 0043320 e n = 1 0 \t \t / / n u m b e r 0043340 o f w o r d s \r \r / / P r o 0043360 c e d u r e s \r l e t P r i n 0043400 t F 376 001 \0 202 304 l o a t ( s , l v 0043420 n u m ) b e [ \r \t l e t v 0043440 = v e c 4 * 5 \r \t f o r i = 0043460 1 t o 4 d o F S T V ( i 0043500 , v + 4 * i ) \r \t F L D ( 1 , l 0043520 v n u m ) \r \t l e t p = F S N 0043540 ( 1 ) \r \t t e s t p e q 0 0043560 t h e n P u t s ( s , $ 0 ) 0043600 o r [ \t \t / / R e a l l y 0043620 w o r k \r \t i f p e q - 1 0043640 t h e n [ F N E G ( 1 ) ; 0043660 P u t s ( s , $ - ) ] \r \r \n 0043700 \t F L D V ( 2 , t a b l e [ 0043720 0 ; 1 ; # 1 0 0 0 0 0 ; 4 0043740 ] ) ; \t / / F u z z 1 = 1 0043760 + 2 E - 9 \r \t F M L ( 1 , 2 ) \t 0044000 / / n _ f u z 376 001 \0 266 003 z 1 * n 0044020 u m b e r \r \t F L D I ( 3 , 1 ) 0044040 ; F L D I ( 2 , 1 0 ) \r \t F L D 0044060 ( 4 , 1 ) \t / / n u m b e r \r \t 0044100 p = 0 \r \t w h i l e F C M ( 4 0044120 , 2 ) e q 1 d o [ F D 0044140 V ( 4 , 2 ) ; p = p + 1 ] \r 0044160 \t w h i l e F C M ( 4 , 3 ) 0044200 e q - 1 d o [ F M L ( 4 0044220 , 2 ) ; p = p - 1 ] \r \r / / 0044240 4 h a s n u m b e r b 0044260 e t w e e n 1 a n d 1 0 , 0044300 a n d p h a s p o w e r 0044320 \r \r \t F L D ( 3 , t a b l e [ 0044340 # 0 3 1 3 2 5 ; # 1 6 3 0 7 0044360 3 ] ) \t / / F u z z 2 = 5 0044400 E - 9 \r \t F M L ( 3 , 1 376 001 \0 205 0044420 375 ) \t / / s _ f u z z 2 * n 0044440 \r \t l e t q = p \r \t t e s t 0044460 p g r 7 % p l s - 3 0044500 t h e n p = 0 o r q = 0 0044520 \r \t t e s t p l s 0 t h 0044540 e n [ P u t s ( s , $ 0 ) ; 0044560 P u t s ( s , $ . ) \r \t \t f o 0044600 r i = p t o - 2 d o P 0044620 u t s ( s , $ 0 ) \r \t \t f o r 0044640 i = 1 t o - p d o F D V 0044660 ( 3 , 2 ) \t / / s = s E P \r 0044700 \t ] o r [ \t f o r i = 1 0044720 t o p d o F M L ( 3 , 2 ) 0044740 ] \r \r / / n o w p r i n t 0044760 ( s s u p p r e s s e s t r 0045000 a i l i n g z e r o e s ) \r \r 0045020 \t 376 001 \0 226 \t f o r i = 1 t o 0045040 9 d o [ \r \t \t l e t i p 0045060 a r t = F T R ( 4 ) \r \t \t P u t 0045100 s ( s , $ 0 + i p a r t ) \r \t \t 0045120 p = p - 1 \r \t \t F L D I ( 1 , i 0045140 p a r t ) ; F S B ( 4 , 1 ) ; 0045160 F M L ( 4 , 2 ) \r \t \t i f p 0045200 l s 0 t h e n [ \r \t \t \t 0045220 i f p e q - 1 t h e n 0045240 P u t s ( s , $ . ) \r \t \t \t F M 0045260 L ( 3 , 2 ) \r \t \t \t i f F C M 0045300 ( 4 , 3 ) e q - 1 t h e n 0045320 b r e a k / / f u z z \r \t \t 0045340 ] \r \t ] \r \t i f q n e 0 0045360 t h e n \r \t \t [ \r \t \t P u t s ( 0045400 s , $ E ) ; \r \t \t W n s ( s , q 0045420 ) \r \t \t ] \r 376 \0 3 355 , \t ] / / 0045440 R e a l l y w o r k \r \t f o r 0045460 i = 1 t o 4 d o F L D 0045500 V ( i , v + 4 * i ) \r ] \r \r 374 0045517