$ od -c -N 50000 [eris]<LispCore>Morgue>Lyric>FASL!4 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 R E A D T A B L E " X C 0000040 L " 247 P A C K A G E " F A S 0000060 L " ) \r 006 001 ( i l : f i l e c r 0000100 e a t e d " 1 0 - D e c - 8 6 0000120 1 2 : 3 6 : 4 6 " 006 004 i l : 0000140 { e r i s } < l i s p c o r e > 0000160 s o u r c e s > f a s l . \ ; 2 0000200 1 006 001 6 1 2 9 6 \r \r 0000220 i l : | c h a n g e s | 0000240 i l : | t o : | ( f a s l - 0000260 o p s f a s l - b i t m a p 1 0000300 6 f a s l - f u n c a l l f 0000320 a s l - s t r u c t u r e ) \r 0000340 0000360 ( i l : 0000400 f u n c t i o n s d u m p - b 0000420 i t m a p d u m p - s t r u c 0000440 t u r e d u m p - v a l u e ) 0000460 \r 0000500 ( i 0000520 l : v a r s i l : f a s l c o 0000540 m s ) \r 0000560 0000600 ( i l : v a r i a b l e s v 0000620 e r s i o n - r a n g e c u r 0000640 r e n t - v e r s i o n ) \r \r 0000660 i l : | p r e v i o u 0000700 s | i l : | d a t e : | " 2 0000720 1 - N o v - 8 6 1 6 : 1 9 : 4 0000740 3 " i l : { e r i s } < l i s 0000760 p c o r e > s o u r c e s > f a 0001000 s l . \ ; 1 9 ) \r \r \r ; C o p 0001020 y r i g h t ( c ) 1 9 8 6 0001040 b y X e r o x C o r p o r a 0001060 t i o n . A l l r i g h t 0001100 s r e s e r v e d . \r \r ( i l 0001120 : p r e t t y c o m p r i n t 0001140 i l : f a s l c o m s ) \r \r ( i 0001160 l : r p a q q 006 002 i l : f a s 0001200 l c o m s 006 001 \r 0001220 ( ( i l : c o m s ( i l 0001240 : * i l : | ; ; ; | " C o m 0001260 m o n d e f i n i t i o n s . 0001300 " ) \r 0001320 ( i l : d e c l a r e 0001340 \ : i l : e v a l @ c o m p i 0001360 l e i l : e v a l @ l o a d 0001400 i l : d o n t c o p y ( i l : 0001420 f i l e s ( i l : l o a d c o 0001440 m p ) \r 0001460 * 0001560 i l : l l c h a r i l 0001600 : a d i s p l a y \r 0001620 * 0001720 i l : m o 0001740 d a r i t h ) ) \r 0001760 ( i l : s 0002000 t r u c t u r e s f a s l - e 0002020 r r o r u n i m p l e m e n t 0002040 e d - o p c o d e o b j e c t 0002060 - n o t - d u m p a b l e \r 0002100 0002120 u n e x p e c t 0002140 e d - e n d - o f - b l o c k 0002160 i n c o n s i s t e n t - t a b 0002200 l e ) \r 0002220 ( i l : v a r i a b 0002240 l e s s i g n a t u r e ) \r 0002260 0002300 ( i l : v a r i a b l e s c 0002320 h e c k - t a b l e - s i z e 0002340 f a s l - e x t e n d e d e n 0002360 d - m a r k v e r s i o n - r 0002400 a n g e c u r r e n t - v e r 0002420 s i o n \r 0002440 ) \r 0002460 0002500 ( i l : f u n c t i o n s 0002520 t a b l e - s t a t s ) ) \r 0002540 ( i l : c o m 0002560 s ( i l : * i l : | ; ; ; | 0002600 " D u m p e r . " ) \r 0002620 ( i 0002640 l : s t r u c t u r e s h a n 0002660 d l e ) \r 0002700 ( i l : v a r i a 0002720 b l e s d u m m y - h a n d l 0002740 e ) \r 0002760 ( i l : v a r i a b l 0003000 e s + s m a l l e s t - f o u 0003020 r - b y t e - i n t e g e r + 0003040 + l a r g e s t - f o u r - b y 0003060 t e - i n t e g e r + ) \r 0003100 ( 0003120 i l : v a r i a b l e s * g a 0003140 t h e r - d u m p e r - s t a t 0003160 s * * t a b l e - a t t e m p 0003200 t s * * t a b l e - h i t s * 0003220 ) \r 0003240 ( i l : f u n c t i o n 0003260 s r e s e t - d u m p e r - s 0003300 t a t s ) \r 0003320 ( i l : f u n c 0003340 t i o n s d o t t e d - l i s 0003360 t - l e n g t h s t a t e - c 0003400 a s e f a t - s t r i n g - p 0003420 r e m e m b e r \r 0003440 0003460 e l e m e n t s - i d e 0003500 n t i c a l - p e n d - b l o 0003520 c k e n d - t e x t w r i t 0003540 e - o p l o o k u p - v a l u 0003560 e s a v e - v a l u e ) \r 0003600 0003620 ( i l : f u n c t i o n s d u 0003640 m p - v a l u e - f e t c h d 0003660 u m p - c h a r a c t e r d u 0003700 m p - s y m b o l d u m p - l 0003720 i s t \r 0003740 d u 0003760 m p - s i m p l e - v e c t o r 0004000 d u m p - a r r a y - d e s c 0004020 r i p t o r d u m p - b i t - 0004040 a r r a y d u m p - g e n e r 0004060 a l - a r r a y \r 0004100 0004120 d u m p - a r r a y w r 0004140 i t e - i n t e g e r - b y t e 0004160 s i n t e g e r - b y t e - l 0004200 i s t d u m p - r a t i o n a 0004220 l d u m p - c o m p l e x \r 0004240 0004260 d u m p - i n 0004300 t e g e r d u m p - p a c k a 0004320 g e d u m p - d c o d e d u 0004340 m p - s t r i n g d u m p - f 0004360 l o a t 3 2 d u m p - s t r u 0004400 c t u r e \r 0004420 0004440 d u m p - b i t m a p ) \r 0004460 ( 0004500 i l : f u n c t i o n s o p e 0004520 n - f a s l - h a n d l e w i 0004540 t h - o p e n - h a n d l e b 0004560 e g i n - t e x t b e g i n - 0004600 b l o c k \r 0004620 0004640 v a l u e - d u m p a b l e - p 0004660 d u m p - v a l u e d u m p 0004700 - f u n c t i o n - d e f d u 0004720 m p - f u n c a l l d u m p - 0004740 e v a l \r 0004760 c 0005000 l o s e - f a s l - h a n d l e 0005020 ) ) \r ( i 0005040 l : c o m s ( i l : * i l : 0005060 | ; ; ; | " R e a d e r . " ) 0005100 \r 0005120 ( i l : d e f i n e - t y 0005140 p e s f a s l - o p s ) \r 0005160 0005200 ( i l : s t r u c t u r e s o 0005220 p t a b l e ) \r 0005240 ( i l : f u 0005260 n c t i o n s m a k e - o p t 0005300 a b l e f a s l - e n d - o f 0005320 - b l o c k d e f o p d e f 0005340 r a n g e a d d - o p - t r a 0005360 n s l a t i o n \r 0005400 0005420 o p c o d e - s e q u e n 0005440 c e f a s l - e x t e n d e d 0005460 s e t e s c a p e u n i m p 0005500 l e m e n t e d - o p c o d e ) 0005520 \r 0005540 ( i l : v a r i a b l e s 0005560 * d e f a u l t - o p t a b l 0005600 e * * c u r r e n t - o p t a 0005620 b l e * i n i t i a l - v a l 0005640 u e - t a b l e - s i z e \r 0005660 0005700 v a l u e - t a 0005720 b l e - i n c r e m e n t * v 0005740 a l u e - t a b l e * * b l o 0005760 c k - l e v e l * d e b u g - 0006000 r e a d e r d e b u g - s t r 0006020 e a m ) \r 0006040 ( i l : f u n c t 0006060 i o n s w i t h - o p t a b l 0006100 e p r o c e s s - f i l e c 0006120 h e c k - v e r s i o n p r o 0006140 c e s s - s e g m e n t r e a 0006160 d - t e x t \r 0006200 0006220 p r o c e s s - b l o c k s 0006240 k i p - t e x t n e x t - v a 0006260 l u e d o - o p n e w - v a 0006300 l u e - t a b l e c l e a r - 0006320 t a b l e \r 0006340 0006360 s t o r e - v a l u e f e t c 0006400 h - v a l u e c o l l e c t - 0006420 l i s t ) \r 0006440 ( f a s l - o p 0006460 s f a s l - s h o r t - i n t 0006500 e g e r f a s l - n i l f a 0006520 s l - t f a s l - i n t e g e 0006540 r f a s l - l a r g e - i n t 0006560 e g e r \r 0006600 f 0006620 a s l - r a t i o f a s l - c 0006640 o m p l e x f a s l - v e c t 0006660 o r f a s l - c r e a t e - a 0006700 r r a y f a s l - i n i t i a 0006720 l i z e - a r r a y \r 0006740 0006760 f a s l - i n i t i a 0007000 l i z e - b i t - a r r a y f 0007020 a s l - t h i n - s t r i n g 0007040 f a s l - f a t - s t r i n g 0007060 f a s l - c h a r a c t e r \r 0007100 0007120 f a s l - l i 0007140 s p - s y m b o l f a s l - k 0007160 e y w o r d - s y m b o l f a 0007200 s l - f i n d - p a c k a g e 0007220 \r 0007240 f a s l - s 0007260 y m b o l - i n - p a c k a g e 0007300 f a s l - l i s t f a s l - 0007320 l i s t * f a s l - i n t e r 0007340 l i s p - s y m b o l f a s l 0007360 - d c o d e \r 0007400 0007420 f a s l - t a b l e - s t o r 0007440 e f a s l - t a b l e - f e t 0007460 c h f a s l - v e r i f y - t 0007500 a b l e - s i z e f a s l - e 0007520 v a l \r 0007540 f a 0007560 s l - f l o a t 3 2 f a s l - 0007600 s e t f - s y m b o l - f u n c 0007620 t i o n f a s l - f u n c a l 0007640 l f a s l - b i t m a p 1 6 0007660 \r 0007700 f a s l - s 0007720 t r u c t u r e ) ) \r 0007740 ( i l : * i l : | 0007760 ; ; | " A r r a n g e f o r 0010000 t h e c o r r e c t c o m 0010020 p i l e r t o b e u s e d 0010040 " ) \r ( i 0010060 l : p r o p i l : f i l e t y 0010100 p e i l : f a s l ) \r 0010120 ( i l : * i l : 0010140 | ; ; | " A r r a n g e f o 0010160 r t h e p r o p e r m a k 0010200 e f i l e e n v i r o n m e n 0010220 t " ) \r ( 0010240 i l : p r o p i l : m a k e f 0010260 i l e - e n v i r o n m e n t 0010300 i l : f a s l ) ) ) \r \r \r \r 006 004 0010320 ( i l : * i l : | ; ; ; | " 0010340 C o m m o n d e f i n i t i o 0010360 n s . " ) 006 001 \r \r ( i l : d e c 0010400 l a r e \ : i l : e v a l @ c 0010420 o m p i l e i l : e v a l @ l 0010440 o a d i l : d o n t c o p y 0010460 \r ( i l : f i l e s l o a d ( 0010500 i l : l o a d c o m p ) \r 0010520 i l : l l c h a r i l 0010540 : a d i s p l a y i l : m o d 0010560 a r i t h ) \r ) \r \r ( x c l : d 0010600 e f i n e - c o n d i t i o n 0010620 006 002 f a s l - e r r o r 006 001 e 0010640 r r o r ) \r \r \r ( x c l : d e f 0010660 i n e - c o n d i t i o n 006 002 0010700 u n i m p l e m e n t e d - o p 0010720 c o d e 006 001 f a s l - e r r o 0010740 r : r e p o r t ( f o r m a 0010760 t t " U n i m p l e m e n t 0011000 e d F A S L o p : ~ S " 0011020 \r 0011040 * 0011120 o p n a m e ) \r 0011140 * 0011200 o 0011220 p n a m e ) \r \r \r ( x c l : d e 0011240 f i n e - c o n d i t i o n 006 0011260 002 o b j e c t - n o t - d u m p 0011300 a b l e 006 001 f a s l - e r r o 0011320 r : r e p o r t ( f o r m a 0011340 t t " O b j e c t n o t 0011360 d u m p a b l e : ~ & ~ S " \r 0011400 * 0011500 o b j e c t ) \r 0011520 * 0011560 o b j e 0011600 c t ) \r \r \r ( x c l : d e f i n 0011620 e - c o n d i t i o n 006 002 u n 0011640 e x p e c t e d - e n d - o f - 0011660 b l o c k 006 001 f a s l - e r r 0011700 o r : r e p o r t ( f o r m 0011720 a t t \r 0011740 * 0012020 " U n e x p e c t e 0012040 d F A S L - E N D - O F - B L 0012060 O C K a t ~ D . " \r 0012100 * 0012200 ( i l : g e t f i l e p 0012220 t r s t r e a m ) ) \r 0012240 * 0012320 s t r e a m ) \r \r \r ( x c l : d 0012340 e f i n e - c o n d i t i o n 0012360 006 002 i n c o n s i s t e n t - t 0012400 a b l e 006 001 f a s l - e r r o 0012420 r : r e p o r t ( f o r m a 0012440 t t \r 0012460 * 0012520 " I n c o n s i s t e n t F A 0012540 S L t a b l e s i z e . ~ & 0012560 E x p e c t e d ~ D b u t 0012600 f o u n d ~ D . " \r 0012620 * 0012700 e 0012720 x p e c t e d ( l e n g t h 0012740 ( o p t a b l e - v e c t o r \r 0012760 * 0013100 t a b l e ) ) ) \r 0013120 * 0013160 t a b 0013200 l e e x p e c t e d ) \r \r \r ( 0013220 d e f c o n s t a n t 006 002 s i 0013240 g n a t u r e 006 001 1 4 5 " F 0013260 i r s t b y t e o f a F 0013300 A S L f i l e . " ) \r \r \r ( d 0013320 e f v a r 006 002 c h e c k - t a 0013340 b l e - s i z e 006 001 t ) \r \r \r 0013360 ( d e f c o n s t a n t 006 002 f 0013400 a s l - e x t e n d e d 006 001 2 0013420 5 4 ) \r \r \r ( d e f c o n s t a 0013440 n t 006 002 e n d - m a r k 006 001 0013460 2 5 5 ) \r \r \r ( d e f c o n s t 0013500 a n t 006 002 v e r s i o n - r a 0013520 n g e 006 001 ' ( 2 . 4 ) " 0013540 H a n d l e s ( c a r v e r 0013560 s i o n - r a n g e ) < = v 0013600 e r s i o n < = ( c d r v 0013620 e r s i o n - r a n g e ) " \r 0013640 ) \r \r \r ( d e f c o n s t a 0013660 n t 006 002 c u r r e n t - v e r 0013700 s i o n 006 001 4 ) \r \r \r ( d e f 0013720 u n 006 002 t a b l e - s t a t s 0013740 006 001 ( t a b l e ) ( l e t 0013760 ( ( i t e m s ( l i s t ( c 0014000 o n s ' - - t o t a l - - ( 0014020 l e n g t h t a b l e ) ) ) ) 0014040 ) \r 0014060 0014100 ( d o t i m e s ( i ( l 0014120 e n g t h t a b l e ) \r 0014140 * 0014200 i t e m s ) \r 0014220 * 0014260 ( l e t * ( ( t 0014300 y p e ( t y p e - o f ( a r 0014320 e f t a b l e i ) ) ) \r 0014340 * 0014400 ( p a i 0014420 r ( o r ( f i n d t y p e 0014440 i t e m s : t e s t ' e q 0014460 u a l : k e y \r 0014500 * 0014560 ' c a r ) \r 0014600 * 0014660 ( c a r ( p u s h 0014700 ( c o n s t y p e 0 ) \r 0014720 * 0015020 i t e m s ) ) ) ) ) \r 0015040 * 0015100 ( i n c f ( 0015120 c d r p a i r ) ) ) ) ) ) \r \r 0015140 \r \r \r 006 004 ( i l : * i l : | ; 0015160 ; ; | " D u m p e r . " ) 006 001 0015200 \r \r \r ( d e f s t r u c t ( 006 0015220 002 h a n d l e 006 001 ( : c o n s 0015240 t r u c t o r m a k e - h a n 0015260 d l e ) ) s t r e a m ( s t 0015300 a t e : b l o c k - e n d ) \r 0015320 * 0015400 ( l a s t - i n d e x 0015420 0 ) \r 0015440 * 0015500 ( h a s h ( 0015520 m a k e - h a s h - t a b l e 0015540 : t e s t # ' e q ) ) ) \r \r \r 0015560 ( d e f c o n s t a n t 006 002 d 0015600 u m m y - h a n d l e 006 001 ( m 0015620 a k e - h a n d l e : s t r e 0015640 a m ( o p e n " { n u l l } 0015660 " : d i r e c t i o n : o u 0015700 t p u t ) \r 0015720 0015740 : s t a t e : b 0015760 l o c k : h a s h n i l ) 0016000 ) \r \r \r ( d e f c o n s t a n t 0016020 006 002 + s m a l l e s t - f o u 0016040 r - b y t e - i n t e g e r + 006 0016060 001 ( - ( e x p t 2 3 1 ) 0016100 ) ) \r \r \r ( d e f c o n s t a 0016120 n t 006 002 + l a r g e s t - f o 0016140 u r - b y t e - i n t e g e r + 0016160 006 001 ( 1 - ( e x p t 2 3 0016200 1 ) ) ) \r \r \r ( d e f v a r 0016220 006 002 * g a t h e r - d u m p e r 0016240 - s t a t s * 006 001 n i l ) \r \r 0016260 \r ( d e f v a r 006 002 * t a b l 0016300 e - a t t e m p t s * 006 001 0 0016320 " N u m b e r o f t a b l e 0016340 l o o k u p s b y t h e 0016360 F A S L d u m p e r . " ) \r \r 0016400 \r ( d e f v a r 006 002 * t a b l 0016420 e - h i t s * 006 001 0 " N u m 0016440 b e r o f s u c c e s s f u 0016460 l t a b l e l o o k u p s 0016500 b y t h e F A S L d u m p 0016520 e r . " ) \r \r \r ( d e f u n 006 0016540 002 r e s e t - d u m p e r - s t 0016560 a t s 006 001 n i l ( s e t q 0016600 * t a b l e - a t t e m p t s * 0016620 0 * t a b l e - h i t s * 0016640 0 ) ) \r \r \r ( d e f u n 006 002 d 0016660 o t t e d - l i s t - l e n g t 0016700 h 006 001 ( x ) ( d o ( ( n 0016720 0 ( + n 2 ) ) \r 0016740 0016760 ( f 0017000 a s t x ( c d d r f a s t 0017020 ) ) \r 0017040 0017060 ( s l o w x ( c 0017100 d r s l o w ) ) ) \r 0017120 0017140 ( n i 0017160 l ) \r 0017200 0017220 ( c o n d \r 0017240 * 0017300 ( ( n u l l f a s t ) \r 0017320 * 0017360 ( r e t u r n n ) ) \r 0017400 * 0017440 ( ( a t o m f a s t ) 0017460 \r 0017500 0017520 ( r e t u r n ( 0017540 v a l u e s n t ) ) ) \r 0017560 * 0017620 ( ( n u l l ( c d r f 0017640 a s t ) ) \r 0017660 0017700 ( r e t 0017720 u r n ( 1 + n ) ) ) \r 0017740 * 0020000 ( ( a t o m ( c d r f a 0020020 s t ) ) \r 0020040 0020060 ( r e t u 0020100 r n ( v a l u e s ( 1 + n 0020120 ) \r 0020140 * 0020200 t ) ) ) \r 0020220 * 0020260 ( ( a n d ( e q f a s t 0020300 s l o w ) \r 0020320 * 0020360 ( > n 0 ) ) \r 0020400 * 0020440 ( r e t u r n n i l ) ) ) ) ) 0020460 \r \r \r ( d e f m a c r o 006 002 s 0020500 t a t e - c a s e 006 001 ( & r e 0020520 s t c l a u s e s ) ` ( e c 0020540 a s e ( h a n d l e - s t a t 0020560 e h a n d l e ) \r 0020600 * 0020640 , @ c l a u s e s 0020660 ) ) \r \r \r ( d e f u n 006 002 f a 0020700 t - s t r i n g - p 006 001 ( s t 0020720 r i n g ) ( c o n d \r 0020740 0020760 ( ( i l 0021000 : s t r i n g p s t r i n g ) 0021020 \r 0021040 0021060 ( e q ( 006 002 i l : f e t c 0021100 h 006 001 ( i l : s t r i n g p 0021120 i l : t y p ) 006 002 i l : o f 006 0021140 001 s t r i n g ) \r 0021160 0021200 i 0021220 l : \ \ s t . p o s 1 6 ) ) \r 0021240 0021260 ( 0021300 t ( i l : % f a t - s t r i n 0021320 g - a r r a y - p s t r i n g 0021340 ) ) ) ) \r \r \r ( d e f m a c r o 0021360 006 002 r e m e m b e r 006 001 ( v 0021400 a l u e & b o d y b o d y ) 0021420 ( l e t ( ( r e m e m b e r 0021440 - v a l ( i l : g e n s y m ) 0021460 ) ) \r 0021500 0021520 ` ( 0021540 l e t ( ( , r e m e m b e r - 0021560 v a l , v a l u e ) ) \r 0021600 * 0021640 ( w 0021660 h e n r e m e m b e r ( w r 0021700 i t e - o p h a n d l e ' f 0021720 a s l - t a b l e - s t o r e ) 0021740 ) \r 0021760 * 0022020 , @ b o d y \r 0022040 * 0022100 ( w h e n 0022120 r e m e m b e r ( s a v e - 0022140 v a l u e h a n d l e , r e 0022160 m e m b e r - v a l ) ) ) ) ) \r 0022200 \r \r ( d e f u n 006 002 e l e m e 0022220 n t s - i d e n t i c a l - p 006 0022240 001 ( a r r a y ) ( l e t * 0022260 ( ( s e q ( i l : % f l a t t 0022300 e n - a r r a y a r r a y ) ) 0022320 \r 0022340 0022360 ( t e s 0022400 t e l t ( a r e f s e q 0 0022420 ) ) ) \r 0022440 0022460 ( e 0022500 v e r y # ' ( l a m b d a ( 0022520 x ) \r 0022540 * 0022600 ( e q 0022620 l x t e s t e l t ) ) s e 0022640 q ) ) ) \r \r \r ( d e f u n 006 002 0022660 e n d - b l o c k 006 001 ( h a n 0022700 d l e ) ( s t a t e - c a s e 0022720 ( : b l o c k ( w h e n c 0022740 h e c k - t a b l e - s i z e 0022760 ( w r i t e - o p h a n d l e 0023000 ' \r 0023020 * 0023100 f 0023120 a s l - v e r i f y - t a b l e 0023140 - s i z e ) \r 0023160 * 0023220 ( d u m p 0023240 - v a l u e h a n d l e ( h 0023260 a n d l e - l a s t - i n d e x 0023300 h a n d l e ) \r 0023320 * 0023400 n i l ) ) \r 0023420 * 0023460 ( i l : b o u t 0023500 ( h a n d l e - s t r e a m h 0023520 a n d l e ) \r 0023540 * 0023600 e n d - m 0023620 a r k ) \r 0023640 * 0023700 ( s e t f ( h a n d l e - 0023720 l a s t - i n d e x h a n d l 0023740 e ) \r 0023760 * 0024020 0 ) \r 0024040 * 0024100 ( s e t f ( h a n 0024120 d l e - h a s h h a n d l e ) 0024140 \r 0024160 * 0024220 ( m a k e - h a s h - t 0024240 a b l e : t e s t # ' e q ) 0024260 ) \r 0024300 0024320 ( 0024340 s e t f ( h a n d l e - s t a 0024360 t e h a n d l e ) \r 0024400 * 0024440 : b 0024460 l o c k - e n d ) ) ) ) \r \r \r ( 0024500 d e f u n 006 002 e n d - t e x t 0024520 006 001 ( h a n d l e ) ( s t a 0024540 t e - c a s e ( : t e x t ( 0024560 i l : b o u t ( h a n d l e - 0024600 s t r e a m h a n d l e ) \r 0024620 * 0024700 e n d - m a r k ) \r 0024720 * 0024760 ( s e t f ( h 0025000 a n d l e - s t a t e h a n d 0025020 l e ) \r 0025040 * 0025100 : b l o c k ) ) ) ) 0025120 \r \r \r ( d e f u n 006 002 w r i t 0025140 e - o p 006 001 ( h a n d l e o 0025160 p n a m e ) ( s t a t e - c a 0025200 s e ( : b l o c k ( l e t 0025220 ( ( s t r e a m ( h a n d l e 0025240 - s t r e a m h a n d l e ) ) 0025260 \r 0025300 * 0025340 ( o p s e 0025360 q ( o p c o d e - s e q u e n 0025400 c e o p n a m e ) ) ) \r 0025420 * 0025500 ( i f ( n u l l 0025520 o p s e q ) \r 0025540 * 0025620 ( e r r o r ' u n i m 0025640 p l e m e n t e d - o p c o d e 0025660 : o p n a m e \r 0025700 * 0025760 o p 0026000 n a m e ) \r 0026020 * 0026100 ( d o l i s t ( o p o 0026120 p s e q ) \r 0026140 * 0026220 ( i l : b o 0026240 u t s t r e a m o p ) ) ) ) 0026260 ) ) ) \r \r \r ( d e f u n 006 002 l 0026300 o o k u p - v a l u e 006 001 ( h 0026320 a n d l e v a l u e ) ( l e 0026340 t ( ( h a s h - t a b l e ( 0026360 h a n d l e - h a s h h a n d 0026400 l e ) ) ) \r 0026420 0026440 ( a 0026460 n d h a s h - t a b l e ( i 0026500 l : g e t h a s h v a l u e 0026520 h a s h - t a b l e ) ) ) ) \r \r 0026540 \r ( d e f u n 006 002 s a v e - v 0026560 a l u e 006 001 ( h a n d l e v 0026600 a l u e ) ( l e t ( ( h a s 0026620 h - t a b l e ( h a n d l e - 0026640 h a s h h a n d l e ) ) ) \r 0026660 * 0026720 ( u n l e s s ( n u 0026740 l l h a s h - t a b l e ) \r 0026760 * 0027020 ( s e t 0027040 f ( i l : g e t h a s h v a 0027060 l u e h a s h - t a b l e ) \r 0027100 * 0027160 ( h a n d l e - l a s t - 0027200 i n d e x h a n d l e ) ) \r 0027220 * 0027260 ( i n c 0027300 f ( h a n d l e - l a s t - i 0027320 n d e x h a n d l e ) ) ) ) ) 0027340 \r \r \r ( d e f u n 006 002 d u m p 0027360 - v a l u e - f e t c h 006 001 ( 0027400 h a n d l e i n d e x ) ( w 0027420 r i t e - o p h a n d l e ' 0027440 f a s l - t a b l e - f e t c h 0027460 ) \r 0027500 0027520 ( d u m p - v 0027540 a l u e h a n d l e i n d e 0027560 x n i l ) ) \r \r \r ( d e f u n 0027600 006 002 d u m p - c h a r a c t e 0027620 r 006 001 ( h a n d l e c h a r 0027640 r e m e m b e r ) ( 006 002 d e 0027660 c l a r e 006 001 ( i g n o r e 0027700 r e m e m b e r ) ) \r 0027720 \r 0027740 006 003 ( i l : * i l : | ; ; | 0027760 " C h a r a c t e r s d o n ' 0030000 t g e t r e m e m b e r e d 0030020 . " ) 006 001 \r \r 0030040 * 0030100 ( l e t ( ( c o d e 0030120 ( c h a r - c o d e c h a r ) 0030140 ) \r 0030160 * 0030220 ( s t r e a m ( h a 0030240 n d l e - s t r e a m h a n d 0030260 l e ) ) ) \r 0030300 * 0030340 ( w r i t e - o 0030360 p h a n d l e ' f a s l - c 0030400 h a r a c t e r ) \r 0030420 * 0030460 ( i f 0030500 ( < c o d e 2 5 6 ) \r 0030520 * 0030600 ( i l : b o u t s t r e 0030620 a m c o d e ) \r 0030640 * 0030700 ( 0030720 p r o g n ( i l : b o u t s 0030740 t r e a m 2 5 5 ) \r 0030760 * 0031040 ( i l : b o u t 0031060 1 6 s t r e a m c o d e ) ) 0031100 ) ) ) \r \r \r ( d e f u n 006 002 d 0031120 u m p - s y m b o l 006 001 ( h a 0031140 n d l e s y m b o l r e m e 0031160 m b e r ) \r 0031200 \r 006 003 ( i 0031220 l : * i l : | ; ; | \r 006 001 0031240 006 003 " N o p 0031260 o i n t i n r e m e m b e r 0031300 i n g t h e p n a m e b e 0031320 c a u s e S Y M B O L - N A M 0031340 E a l w a y s g i v e s y 0031360 o u a n e w o n e . " ) 006 0031400 001 \r ( l e t * ( ( p n a m e 0031420 ( s y m b o l - n a m e s y 0031440 m b o l ) ) \r ( 0031460 p a c k a g e ( s y m b o l - 0031500 p a c k a g e s y m b o l ) ) 0031520 \r ( p k g - n a 0031540 m e ( a n d p a c k a g e 0031560 ( p a c k a g e - n a m e p a 0031600 c k a g e ) ) ) ) \r 0031620 ( r e m e m b e r s y m b o 0031640 l ( c o n d \r 0031660 0031700 ( ( k e y w o r d p s y 0031720 m b o l ) \r 0031740 0031760 ( w r i t e - o p h a n d 0032000 l e ' f a s l - k e y w o r d 0032020 - s y m b o l ) \r 0032040 0032060 ( d u m p - v a l u e 0032100 h a n d l e p n a m e n i 0032120 l ) ) \r 0032140 ( 0032160 ( e q u a l p k g - n a m e 0032200 " L I S P " ) \r 0032220 0032240 ( w r i t e - o p h a 0032260 n d l e ' f a s l - l i s p - 0032300 s y m b o l ) \r 0032320 0032340 ( d u m p - v a l u e 0032360 h a n d l e p n a m e n i l 0032400 ) ) \r 0032420 ( ( 0032440 e q u a l p k g - n a m e " 0032460 I N T E R L I S P " ) \r 0032500 0032520 ( w r i t e - o 0032540 p h a n d l e ' f a s l - i 0032560 n t e r l i s p - s y m b o l ) 0032600 \r 0032620 ( d u 0032640 m p - v a l u e h a n d l e 0032660 p n a m e n i l ) ) \r 0032700 0032720 ( t ( w r i t e 0032740 - o p h a n d l e ' f a s l 0032760 - s y m b o l - i n - p a c k a 0033000 g e ) \r 0033020 0033040 ( d u m p - v a l u e h a 0033060 n d l e p n a m e n i l ) \r 0033100 0033120 ( d 0033140 u m p - v a l u e h a n d l e 0033160 p a c k a g e r e m e m b e 0033200 r ) ) ) ) ) ) \r \r \r ( d e f u n 0033220 006 002 d u m p - l i s t 006 001 ( 0033240 h a n d l e l i s t r e m e 0033260 m b e r ) ( m u l t i p l e - 0033300 v a l u e - b i n d ( l e n g 0033320 t h d o t t e d ) \r 0033340 * 0033400 ( d o t t e 0033420 d - l i s t - l e n g t h l i 0033440 s t ) \r 0033460 * 0033520 ( u n l e s s l e n g t 0033540 h ( e r r o r ' o b j e c t 0033560 - n o t - d u m p a b l e : o 0033600 b j e c t \r 0033620 * 0033700 l i s t 0033720 ) ) \r 0033740 * 0034000 ( r e m e m b e r l i s t 0034020 ( w r i t e - o p h a n d l 0034040 e ( i f d o t t e d \r 0034060 * 0034200 ' f a s l - l i s t * \r 0034220 * 0034320 ' 0034340 f a s l - l i s t ) ) \r 0034360 * 0034440 ( d u m p - v a l u e h a 0034460 n d l e ( i f d o t t e d 0034500 ( 1 + l e n g t h ) \r 0034520 * 0034620 l e n g t h ) 0034640 \r 0034660 * 0034720 n i 0034740 l ) \r 0034760 * 0035020 ( d o t i m e 0035040 s ( i l e n g t h ) \r 0035060 * 0035140 ( d u m p - 0035160 v a l u e h a n d l e ( c a 0035200 r l i s t ) ) \r 0035220 * 0035300 ( p o p l i s t ) 0035320 ) \r 0035340 * 0035400 ( w h e n d o 0035420 t t e d ( d u m p - v a l u e 0035440 h a n d l e l i s t n i l 0035460 ) ) ) ) ) \r \r \r ( d e f u n 006 0035500 002 d u m p - s i m p l e - v e c 0035520 t o r 006 001 ( h a n d l e v e 0035540 c t o r r e m e m b e r ) ( 0035560 l e t ( ( l e n g t h ( l e 0035600 n g t h v e c t o r ) ) ) \r 0035620 * 0035700 ( r e m e m b e r 0035720 v e c t o r ( w r i t e - o 0035740 p h a n d l e \r 0035760 * 0036060 ' f a s l - v 0036100 e c t o r ) \r 0036120 * 0036200 ( d u m p - v a l u 0036220 e h a n d l e l e n g t h 0036240 r e m e m b e r ) \r 0036260 * 0036340 ( d o t i m e 0036360 s ( i l e n g t h ) \r 0036400 * 0036500 ( d u m p - v a l u e h 0036520 a n d l e \r 0036540 * 0036640 ( s v r e f v e c t o r 0036660 i ) \r 0036700 * 0037000 r e m e m b e r ) ) ) ) ) \r \r 0037020 \r ( d e f u n 006 002 d u m p - a 0037040 r r a y - d e s c r i p t o r 006 0037060 001 ( h a n d l e a r r a y 0037100 r e m e m b e r & k e y ( i 0037120 n i t i a l - e l e m e n t n 0037140 i l u s e - s i n g l e - e l 0037160 t ) ) \r ( r e m e m b e r 0037200 a r r a y ( w r i t e - o p 0037220 h a n d l e ' f a s l - c r 0037240 e a t e - a r r a y ) \r 0037260 ( d u m p - v a l u 0037300 e h a n d l e ( i f ( e q 0037320 l ( a r r a y - r a n k a r 0037340 r a y ) \r 0037360 0037400 1 ) \r 0037420 0037440 ( 0037460 c a r ( a r r a y - d i m e n 0037500 s i o n s a r r a y ) ) \r 0037520 0037540 ( 0037560 a r r a y - d i m e n s i o n s 0037600 a r r a y ) ) \r 0037620 r e m e m b 0037640 e r ) \r ( d 0037660 u m p - v a l u e h a n d l e 0037700 ` ( : e l e m e n t - t y p e 0037720 , ( a r r a y - e l e m e n t 0037740 - t y p e a r r a y ) : a d 0037760 j u s t a b l e \r 0040000 0040020 , ( 0040040 a d j u s t a b l e - a r r a y 0040060 - p a r r a y ) \r 0040100 0040120 , 0040140 @ ( w h e n ( a r r a y - h a 0040160 s - f i l l - p o i n t e r - p 0040200 a r r a y ) \r 0040220 * 0040260 ` ( : f i l l - p o i 0040300 n t e r , ( f i l l - p o i n 0040320 t e r a r r a y ) ) ) \r 0040340 * 0040400 , @ ( w h e n u s e - s i 0040420 n g l e - e l t ` ( : i n i t 0040440 i a l - e l e m e n t , i n i 0040460 t i a l - e l e m e n t ) ) ) 0040500 \r 0040520 r e m e m b e r ) ) ) \r \r \r 0040540 ( d e f u n 006 002 d u m p - b i 0040560 t - a r r a y 006 001 ( h a n d l 0040600 e a r r a y r e m e m b e r 0040620 ) ( l e t ( ( n b i t s ( 0040640 a r r a y - t o t a l - s i z e 0040660 a r r a y ) ) ) \r 0040700 * 0040740 ( u n 0040760 l e s s ( z e r o p ( i l : 0041000 % a r r a y - o f f s e t a r 0041020 r a y ) ) \r 0041040 * 0041120 ( e r r o r ' o b j e c t - n 0041140 o t - d u m p a b l e : o b j 0041160 e c t a r r a y ) ) \r 0041200 * 0041240 ( 0041260 r e m e m b e r a r r a y ( 0041300 w r i t e - o p h a n d l e 0041320 ' \r 0041340 * 0041420 f a s l 0041440 - i n i t i a l i z e - b i t - 0041460 a r r a y ) \r 0041500 * 0041560 ( d u m p - v a l u e h a n 0041600 d l e n b i t s r e m e m b 0041620 e r ) \r 0041640 * 0041700 ( d 0041720 u m p - a r r a y - d e s c r i 0041740 p t o r h a n d l e a r r a 0041760 y \r 0042000 * 0042060 r e m e m b e r ) \r 0042100 * 0042160 ( i l : \ \ b o 0042200 u t s ( h a n d l e - s t r e 0042220 a m h a n d l e ) \r 0042240 * 0042320 ( i l : 0042340 % a r r a y - b a s e a r r a 0042360 y ) \r 0042400 * 0042460 0 \r 0042500 * 0042560 ( c e i l i n g 0042600 n b i t s 8 ) ) ) ) ) \r \r \r ( 0042620 d e f u n 006 002 d u m p - g e n 0042640 e r a l - a r r a y 006 001 ( h a 0042660 n d l e a r r a y r e m e m 0042700 b e r ) \r 0042720 \r 006 003 ( i l 0042740 : * i l : | ; ; | " A r r a 0042760 y s d o n ' t g e t r e m 0043000 e m b e r e d . D i s p l a c 0043020 e m e n t i n f o r m a t i o 0043040 n i s l o s t . " ) 006 001 \r 0043060 ( l e t * ( ( n e l t s ( a 0043100 r r a y - t o t a l - s i z e 0043120 a r r a y ) ) \r 0043140 ( e l t - t y p e ( a r r a y 0043160 - e l e m e n t - t y p e a r 0043200 r a y ) ) ) \r ( w 0043220 r i t e - o p h a n d l e ' 0043240 f a s l - i n i t i a l i z e - 0043260 a r r a y ) \r ( d 0043300 u m p - a r r a y - d e s c r i 0043320 p t o r h a n d l e a r r a 0043340 y n i l ) \r ( d 0043360 u m p - v a l u e h a n d l e 0043400 n e l t s n i l ) \r 0043420 ( l e t ( ( i n d i r e 0043440 c t ( m a k e - a r r a y n 0043460 e l t s : d i s p l a c e d - 0043500 t o a r r a y : e l e m e n 0043520 t - t y p e e l t - t y p e ) 0043540 ) ) \r ( 0043560 d o t i m e s ( i n e l t s 0043600 ) \r 0043620 ( d u m p - v a l u e 0043640 h a n d l e ( a r e f i n 0043660 d i r e c t i ) \r 0043700 0043720 n i l ) ) ) ) ) \r \r \r ( 0043740 d e f u n 006 002 d u m p - a r r 0043760 a y 006 001 ( h a n d l e a r r 0044000 a y r e m e m b e r ) ( c o 0044020 n d \r 0044040 * 0044100 ( ( x c l : d i s p l a c e d - 0044120 a r r a y - p a r r a y ) \r 0044140 * 0044200 ( e r 0044220 r o r ' o b j e c t - n o t - 0044240 d u m p a b l e : o b j e c t 0044260 a r r a y ) ) \r 0044300 * 0044340 ( ( a d j u s t a b 0044360 l e - a r r a y - p a r r a y 0044400 ) \r 0044420 * 0044460 ( d u m p - g e n e r a l - a r 0044500 r a y h a n d l e a r r a y 0044520 r e m e m b e r ) ) \r 0044540 * 0044600 ( ( t y p e p 0044620 a r r a y ' ( a r r a y b 0044640 i t ) ) \r 0044660 * 0044720 ( d u m p - b i t - a r r 0044740 a y h a n d l e a r r a y 0044760 r e m e m b e r ) ) \r 0045000 * 0045040 ( ( t y p e p 0045060 a r r a y ' v e c t o r ) \r 0045100 * 0045140 ( d u 0045160 m p - s i m p l e - v e c t o r 0045200 h a n d l e a r r a y r e 0045220 m e m b e r ) ) \r 0045240 * 0045300 ( t ( d u m p - g 0045320 e n e r a l - a r r a y h a n 0045340 d l e a r r a y r e m e m b 0045360 e r ) ) ) ) \r \r \r ( d e f u n 0045400 006 002 w r i t e - i n t e g e r - 0045420 b y t e s 006 001 ( h a n d l e 0045440 n b y t e s v a l u e ) ( l 0045460 e t ( ( s t r e a m ( h a n 0045500 d l e - s t r e a m h a n d l 0045520 e ) ) ) \r 0045540 * 0045600 ( d o l i 0045620 s t ( b y t e ( i n t e g e 0045640 r - b y t e - l i s t v a l u 0045660 e n b y t e s ) ) \r 0045700 * 0045760 ( i l : b o u t 0046000 s t r e a m b y t e ) ) ) ) 0046020 \r \r \r ( d e f u n 006 002 i n t e 0046040 g e r - b y t e - l i s t 006 001 0046060 ( v a l u e n b y t e s ) ( 0046100 d o ( ( c o u n t 0 ( 1 + 0046120 c o u n t ) ) \r 0046140 * 0046200 ( r e s u l t n i 0046220 l ) \r 0046240 * 0046300 ( n v a l u e ) \r 0046320 * 0046360 b y t e ) \r 0046400 * 0046440 ( ( > = c o 0046460 u n t n b y t e s ) \r 0046500 * 0046540 r e s u l t ) 0046560 \r 0046600 0046620 ( m u 0046640 l t i p l e - v a l u e - s e t 0046660 q ( n b y t e ) \r 0046700 * 0046740 ( f 0046760 l o o r n 2 5 6 ) ) \r 0047000 * 0047040 ( p u s h b 0047060 y t e r e s u l t ) ) ) \r \r \r 0047100 ( d e f u n 006 002 d u m p - r a 0047120 t i o n a l 006 001 ( h a n d l e 0047140 v a l u e r e m e m b e r ) 0047160 ( 006 002 d e c l a r e 006 001 ( i 0047200 g n o r e r e m e m b e r ) ) 0047220 \r 0047240 0047260 ( w 0047300 r i t e - o p h a n d l e ' 0047320 f a s l - r a t i o ) \r 0047340 * 0047400 ( d u m p - v 0047420 a l u e h a n d l e ( n u m 0047440 e r a t o r v a l u e ) \r 0047460 * 0047540 n i l ) \r 0047560 * 0047620 ( d u m p - v a l u e 0047640 h a n d l e ( d e n o m i n a 0047660 t o r v a l u e ) \r 0047700 * 0047740 n 0047760 i l ) ) \r \r \r ( d e f u n 006 002 0050000 d u m p - c o m p l e x 006 001 ( 0050020 h a n d l e v a l u e r e m 0050040 e m b e r ) ( 006 002 d e c l a r 0050060 e 006 001 ( i g n o r e r e m e 0050100 m b e r ) ) \r 0050120 * 0050160 ( w r i t e - o p h a n 0050200 d l e ' f a s l - c o m p l e 0050220 x ) \r 0050240 0050260 ( 0050300 d u m p - v a l u e h a n d l 0050320 e ( r e a l p a r t v a l u 0050340 e ) \r 0050360 * 0050420 n i l ) \r 0050440 * 0050500 ( d u m p - v a l 0050520 u e h a n d l e ( i m a g p 0050540 a r t v a l u e ) \r 0050560 * 0050620 n i 0050640 l ) ) \r \r \r ( d e f u n 006 002 d 0050660 u m p - i n t e g e r 006 001 ( h 0050700 a n d l e v a l u e r e m e 0050720 m b e r ) ( 006 002 d e c l a r e 0050740 006 001 ( i g n o r e r e m e m 0050760 b e r ) ) \r 0051000 * 0051040 ( c o n d \r 0051060 * 0051120 ( ( a n d ( < = 0051140 0 v a l u e ) \r 0051160 * 0051220 ( 0051240 < v a l u e 1 2 8 ) ) \r 0051260 * 0051320 ( i 0051340 l : b o u t ( h a n d l e - s 0051360 t r e a m h a n d l e ) \r 0051400 * 0051460 v a l u e ) ) \r 0051500 * 0051540 ( ( a n 0051560 d ( < = + s m a l l e s t - 0051600 f o u r - b y t e - i n t e g e 0051620 r + v a l u e \r 0051640 * 0051720 + l a r g e s t - f o u r - b y 0051740 t e - i n t e g e r + ) ) \r 0051760 * 0052020 ( w 0052040 r i t e - o p h a n d l e ' 0052060 f a s l - i n t e g e r ) \r 0052100 * 0052140 ( w 0052160 r i t e - i n t e g e r - b y t 0052200 e s h a n d l e 4 v a l u 0052220 e ) ) \r 0052240 * 0052300 ( t ( w r i t e - o p 0052320 h a n d l e ' f a s l - l a r 0052340 g e - i n t e g e r ) \r 0052360 * 0052420 ( l 0052440 e t * ( ( m i n b i t s ( 1 0052460 + ( i n t e g e r - l e n g t 0052500 h v a l u e ) ) ) \r 0052520 * 0052600 ( n b y t e s ( c e i 0052620 l i n g ( i n t e g e r - l e 0052640 n g t h v a l u e ) \r 0052660 * 0052760 8 ) ) ) \r 0053000 \r 006 003 0053020 ( i l : * i l : | ; ; | " A 0053040 c c o r d i n g t o t h e 0053060 b o o k , M I N B I T S g i 0053100 v e s t h e m i n i m u m 0053120 f i e l d w i d t h f o r 0053140 t h i s n u m b e r i n 2 0053160 ' s c o m p l e m e n t r e 0053200 p r e s e n t a t i o n . " ) 006 0053220 001 \r \r 0053240 * 0053300 ( d u m p 0053320 - v a l u e h a n d l e n b 0053340 y t e s n i l ) \r 0053360 * 0053440 ( w r i t e - i n t e g e r 0053460 - b y t e s h a n d l e n b 0053500 y t e s v a l u e ) ) ) ) ) \r 0053520 \r \r ( d e f u n 006 002 d u m p - 0053540 p a c k a g e 006 001 ( h a n d l 0053560 e p a c k a g e r e m e m b 0053600 e r ) ( r e m e m b e r p a 0053620 c k a g e ( w r i t e - o p 0053640 h a n d l e ' f a s l - f i n 0053660 d - p a c k a g e ) \r 0053700 * 0053760 ( d u m p - v a l u e h a n d 0054000 l e ( p a c k a g e - n a m e 0054020 p a c k a g e ) \r 0054040 * 0054120 r e m e m b e r ) ) 0054140 ) \r \r \r ( d e f u n 006 002 d u m 0054160 p - d c o d e 006 001 ( h a n d l 0054200 e d c o d e r e m e m b e r 0054220 ) \r \r 0054240 006 003 ( i l : * 0054260 i l : | ; ; | " D C O D E s 0054300 d o n ' t g e t r e m e m b 0054320 e r e d b e c a u s e t h e 0054340 y a r e n e v e r E Q . " 0054360 ) 006 001 \r ( l e t ( ( s t r e 0054400 a m ( h a n d l e - s t r e a 0054420 m h a n d l e ) ) ) \r 0054440 ( m a c r o l e t ( ( d u 0054460 m p - s e q ( s e q d u m p 0054500 - l e n g t h & r e s t s t 0054520 u f f ) \r 0054540 ` ( l 0054560 e t ( ( s e q , s e q ) ) \r 0054600 0054620 , @ 0054640 ( a n d d u m p - l e n g t h 0054660 ' ( ( d u m p - v a l u e h 0054700 a n d l e ( l e n g t h s e 0054720 q ) \r 0054740 * 0055000 r e m 0055020 e m b e r ) ) ) \r 0055040 0055060 ( i f ( l i s t 0055100 p s e q ) \r 0055120 0055140 ( d o l i s t 0055160 ( e l t s e q ) \r 0055200 * 0055240 , @ s t u f f ) \r 0055260 0055300 ( 0055320 d o t i m e s ( i n d e x ( 0055340 l e n g t h s e q ) ) \r 0055360 * 0055420 ( l e t ( ( e l t 0055440 ( a r e f s e q i n d e x 0055460 ) ) ) \r 0055500 * 0055540 , @ s t u f f ) ) ) ) ) ) \r 0055560 ( w r 0055600 i t e - o p h a n d l e ' f 0055620 a s l - d c o d e ) \r 0055640 ( d u m p - v a 0055660 l u e h a n d l e ( l e n g 0055700 t h ( d - a s s e m : : d c o 0055720 d e - n a m e - t a b l e d c 0055740 o d e ) ) \r 0055760 r e m e m b 0056000 e r ) \r 0056020 ( l e t * ( ( c o d e - a r 0056040 r a y ( d - a s s e m : : d c 0056060 o d e - c o d e - a r r a y d 0056100 c o d e ) ) \r 0056120 ( n b y t 0056140 e s ( l e n g t h c o d e - 0056160 a r r a y ) ) ) \r 0056200 ( d u m 0056220 p - v a l u e h a n d l e n 0056240 b y t e s r e m e m b e r ) \r 0056260 0056300 ( d o t i m e s ( i n 0056320 b y t e s ) \r 0056340 0056360 ( i l : b o u t s t r e a m 0056400 ( a r e f c o d e - a r r a 0056420 y i ) ) ) ) \r 0056440 ( d u m p - s e q ( 0056460 d - a s s e m : : d c o d e - n 0056500 a m e - t a b l e d c o d e ) 0056520 \r 0056540 n i l \r 0056560 ( i l 0056600 : b o u t s t r e a m ( f i 0056620 r s t e l t ) ) \r 0056640 ( d 0056660 u m p - v a l u e h a n d l e 0056700 ( s e c o n d e l t ) \r 0056720 0056740 r e m e m b e 0056760 r ) \r 0057000 ( d u m p - v a l 0057020 u e h a n d l e ( t h i r d 0057040 e l t ) \r 0057060 0057100 r e m e m b e r ) ) \r 0057120 ( d u m p - v 0057140 a l u e h a n d l e ( d - a 0057160 s s e m : : d c o d e - f r a m 0057200 e - n a m e d c o d e ) \r 0057220 0057240 r e m e m b e r ) \r 0057260 ( i l : b o u 0057300 t s t r e a m ( d - a s s e 0057320 m : : d c o d e - n l o c a l s 0057340 d c o d e ) ) \r 0057360 ( i l : b o u t s 0057400 t r e a m ( d - a s s e m : : 0057420 d c o d e - n f r e e v a r s 0057440 d c o d e ) ) \r 0057460 ( i l : b o u t s t 0057500 r e a m ( d - a s s e m : : d 0057520 c o d e - a r g - t y p e d c 0057540 o d e ) ) \r 0057560 ( d u m p - v a l u e h 0057600 a n d l e ( d - a s s e m : : 0057620 d c o d e - n u m - a r g s d 0057640 c o d e ) \r 0057660 r e m e m b 0057700 e r ) \r 0057720 ( d u m p - v a l u e h a n 0057740 d l e ( d - a s s e m : : d c 0057760 o d e - c l o s u r e - p d c 0060000 o d e ) \r 0060020 r e m e m b e 0060040 r ) \r 0060060 ( d u m p - v a l u e h a n d 0060100 l e ( d - a s s e m : : d c o 0060120 d e - d e b u g g i n g - i n f 0060140 o d c o d e ) \r 0060160 r e m 0060200 e m b e r ) \r 0060220 ( m a c r o l e t ( ( 0060240 d u m p - f i x u p s ( l i s 0060260 t ) \r 0060300 0060320 ` ( d u m p - s e q , l i 0060340 s t t ( d u m p - v a l u e 0060360 h a n d l e ( f i r s t e 0060400 l t ) ) \r 0060420 0060440 ( d u m 0060460 p - v a l u e h a n d l e ( 0060500 s e c o n d e l t ) ) ) ) ) \r 0060520 0060540 ( d u m p - f i x u p s 0060560 ( d - a s s e m : : d c o d e 0060600 - f n - f i x u p s d c o d e 0060620 ) ) \r 0060640 ( d u m p - f i x 0060660 u p s ( d - a s s e m : : d c 0060700 o d e - s y m - f i x u p s d 0060720 c o d e ) ) \r 0060740 ( d u m p 0060760 - f i x u p s ( d - a s s e m 0061000 : : d c o d e - l i t - f i x u 0061020 p s d c o d e ) ) \r 0061040 ( 0061060 d u m p - f i x u p s ( d - a 0061100 s s e m : : d c o d e - t y p e 0061120 - f i x u p s d c o d e ) ) ) 0061140 ) \r n i l ) ) \r \r \r 0061160 ( d e f u n 006 002 d u m p - s t 0061200 r i n g 006 001 ( h a n d l e s 0061220 t r i n g r e m e m b e r ) \r 0061240 ( r e m e m b e r s t r 0061260 i n g ( l e t ( ( s t r e a 0061300 m ( h a n d l e - s t r e a m 0061320 h a n d l e ) ) \r 0061340 0061360 ( n c h a r s ( l e n 0061400 g t h s t r i n g ) ) ) \r 0061420 0061440 ( c o n d \r 0061460 0061500 ( ( f a t - s 0061520 t r i n g - p s t r i n g ) \r 0061540 0061560 ( w r 0061600 i t e - o p h a n d l e ' f 0061620 a s l - f a t - s t r i n g ) \r 0061640 0061660 ( d u 0061700 m p - v a l u e h a n d l e 0061720 n c h a r s r e m e m b e r ) 0061740 \r 0061760 ( d 0062000 o ( ( i 0 ( 1 + i ) ) \r 0062020 * 0062060 ( c s e t 0 ) ) \r 0062100 0062120 ( ( > 0062140 = i n c h a r s ) ) 0062160 006 003 ( i l : * 0062200 i l : \ ; " A l w a y s r 0062220 u n - e n c o d e " ) 006 001 \r 0062240 0062260 ( 0062300 l e t * ( ( c h a r ( c h a 0062320 r - c o d e ( c h a r s t r 0062340 i n g i ) ) ) \r 0062360 * 0062420 ( n e w - c s e t ( i l : l 0062440 r s h c h a r 8 ) ) ) \r 0062460 * 0062520 ( u n l e s s ( e q 0062540 l n e w - c s e t c s e t ) 0062560 \r 0062600 0062620 ( 0062640 s e t q c s e t n e w - c s 0062660 e t ) \r 0062700 * 0062740 ( i l : b o u t s t r e a 0062760 m 2 5 5 ) \r 0063000 * 0063040 ( i l : b o u t s t 0063060 r e a m c s e t ) ) \r 0063100 * 0063140 ( i l : b o u t s t r e 0063160 a m ( l o g a n d c h a r 0063200 2 5 5 ) ) ) ) ) \r 0063220 0063240 ( t ( w r i t e - o 0063260 p h a n d l e ' f a s l - t 0063300 h i n - s t r i n g ) \r 0063320 0063340 ( d u m p 0063360 - v a l u e h a n d l e n c 0063400 h a r s r e m e m b e r ) \r 0063420 \r 0063440 006 003 ( i l : * i l : | 0063460 ; ; | " s h o u l d u s e 0063500 \ \ b o u t s " ) 006 001 \r \r 0063520 0063540 ( d o t 0063560 i m e s ( i n c h a r s ) \r 0063600 * 0063640 ( i l : b o u t s 0063660 t r e a m ( c h a r - c o d e 0063700 ( c h a r s t r i n g i ) 0063720 ) ) ) ) ) ) ) ) \r \r \r ( d e f u 0063740 n 006 002 d u m p - f l o a t 3 2 0063760 006 001 ( h a n d l e n u m b e 0064000 r r e m e m b e r ) 0064020 006 003 ( i 0064040 l : * i l : \ ; \r 006 001 0064060 * 0064140 006 003 " F l o 0064160 a t s d o n ' t g e t r e 0064200 m e m b e r e d " ) 006 001 \r 0064220 ( w r i t e - o p h a n d l e 0064240 ' f a s l - f l o a t 3 2 ) \r 0064260 ( i l : \ \ b o u t s ( 0064300 h a n d l e - s t r e a m h a 0064320 n d l e ) \r 0064340 n u m b e r 0 4 ) ) \r \r \r ( 0064360 d e f u n 006 002 d u m p - s t r 0064400 u c t u r e 006 001 ( h a n d l e 0064420 v a l u e r e m e m b e r ) 0064440 \r ( l e t ( ( t y p e 0064460 ( i l : t y p e n a m e v a l 0064500 u e ) ) ) \r ( r 0064520 e m e m b e r v a l u e 0064540 * 0064600 006 003 ( i l : * i l : \ ; 0064620 \r 006 001 0064640 * 0064720 006 003 " R e m e m b e r t h e 0064740 s t r u c t u r e i t s e l 0064760 f . " ) 006 001 \r 0065000 ( w r i t e - o p 0065020 h a n d l e ' f a s l - s t r 0065040 u c t u r e ) \r 0065060 ( r e m e m b e r 0065100 t y p e 0065120 0065140 006 003 ( i l : * i l : 0065160 \ ; \r 006 001 0065200 * 0065260 006 003 " A l s o r e m e m 0065300 b e r t h e t y p e n a m 0065320 e . " ) 006 001 \r 0065340 ( d u 0065360 m p - v a l u e h a n d l e 0065400 t y p e t ) \r 0065420 ( d 0065440 u m p - v a l u e h a n d l e 0065460 ( 006 002 i l : f o r 006 001 f i e 0065500 l d 006 002 i l : i n 006 001 ( i l 0065520 : s l o t - l i s t t y p e ) 0065540 006 002 i l : a s 006 001 d e s c r 0065560 i p t o r \r 0065600 * 0065640 006 002 i l : i n 006 001 ( i l : 0065660 g e t d e s c r i p t o r s t 0065700 y p e ) \r 0065720 * 0065760 006 002 i l : j o i n 006 001 ( l i 0066000 s t f i e l d ( i l : f e t 0066020 c h f i e l d d e s c r i p t 0066040 o r v a l u e ) ) ) \r 0066060 0066100 t ) ) ) ) ) \r 0066120 \r \r ( d e f u n 006 002 d u m p - 0066140 b i t m a p 006 001 ( h a n d l e 0066160 v a l u e r e m e m b e r ) 0066200 ( l e t ( ( w i d t h ( i 0066220 l : b i t m a p w i d t h v a 0066240 l u e ) ) \r 0066260 * 0066320 ( h e i g h t ( 0066340 i l : b i t m a p h e i g h t 0066360 v a l u e ) ) \r 0066400 * 0066440 ( b i t s - p 0066460 e r - p i x e l ( i l : b i t 0066500 s p e r p i x e l v a l u e ) 0066520 ) \r 0066540 * 0066600 ( b a s e ( 006 002 i l : f 0066620 e t c h 006 001 ( i l : b i t m a 0066640 p i l : b i t m a p b a s e ) 0066660 \r 0066700 * 0066740 006 002 i l : 0066760 o f 006 001 v a l u e ) ) \r 0067000 * 0067040 ( s 0067060 t r e a m ( h a n d l e - s t 0067100 r e a m h a n d l e ) ) ) \r 0067120 * 0067160 ( 0067200 r e m e m b e r v a l u e \r 0067220 * 0067300 006 003 ( 0067320 i l : * i l : \ ; \r 006 001 0067340 * 0067420 006 003 " R e 0067440 m e m b e r t h e b i t m a 0067460 p i t s e l f . " ) 006 001 \r 0067500 * 0067560 ( w r i t e - o p h 0067600 a n d l e ' f a s l - b i t m 0067620 a p 1 6 ) \r 0067640 * 0067700 ( d u 0067720 m p - v a l u e h a n d l e 0067740 w i d t h ) \r 0067760 * 0070020 ( d 0070040 u m p - v a l u e h a n d l e 0070060 h e i g h t ) \r 0070100 * 0070160 ( d u m p - v a l u e h a n d 0070200 l e b i t s - p e r - p i x e 0070220 l ) \r 0070240 * 0070300 ( i l : \ \ 0070320 b o u t s s t r e a m b a s 0070340 e 0 \r 0070360 * 0070440 ( * 2 h e i g h t ( c 0070460 e i l i n g ( * w i d t h 0070500 \r 0070520 * 0070620 b i t s - p e r - 0070640 p i x e l ) \r 0070660 * 0070760 1 6 ) ) ) ) ) ) 0071000 \r \r \r ( d e f u n 006 002 o p e n 0071020 - f a s l - h a n d l e 006 001 ( 0071040 n a m e & r e s t o p e n - 0071060 o p t i o n s ) ( l e t ( ( 0071100 s t r e a m ( a p p l y # ' 0071120 o p e n n a m e : d i r e c 0071140 t i o n : o u t p u t \r 0071160 * 0071260 o p e n - o p t i o n 0071300 s ) ) ) \r 0071320 * 0071360 ( i l : 0071400 s e t f i l e p t r s t r e a 0071420 m 0 ) \r 0071440 * 0071500 ( i l : 0071520 b o u t s t r e a m s i g n 0071540 a t u r e ) \r 0071560 * 0071620 ( i 0071640 l : b o u t 1 6 s t r e a m 0071660 c u r r e n t - v e r s i o n ) 0071700 \r 0071720 * 0071760 ( m a k e - h a 0072000 n d l e : s t r e a m s t r 0072020 e a m ) ) ) \r \r \r ( d e f m a c 0072040 r o 006 002 w i t h - o p e n - h 0072060 a n d l e 006 001 ( ( h a n d l e 0072100 f i l e n a m e & r e s t 0072120 o p e n - o p t i o n s ) \r 0072140 0072160 & b o d y \r 0072200 0072220 ( b o d 0072240 y d e c l s ) ) ( l e t ( 0072260 ( a b o r t ( i l : g e n s y 0072300 m " F A S L : W I T H - O P E 0072320 N - F A S L - H A N D L E " ) ) 0072340 ) \r 0072360 * 0072420 ` ( l e t ( ( , h a n d l e 0072440 ( o p e n - f a s l - h a n d 0072460 l e , f i l e n a m e \r 0072500 * 0072600 , @ o p e n - o p t i o n 0072620 s ) ) \r 0072640 * 0072700 ( , a b o r 0072720 t t ) ) \r 0072740 * 0073000 , @ d e c 0073020 l s \r 0073040 * 0073100 ( u n w i n d - 0073120 p r o t e c t ( m u l t i p l 0073140 e - v a l u e - p r o g 1 \r 0073160 * 0073260 ( p r o g n , @ b o d 0073300 y ) \r 0073320 * 0073400 ( s e t q , 0073420 a b o r t n i l ) ) \r 0073440 * 0073520 ( w h e n , h 0073540 a n d l e ( c l o s e - f a s 0073560 l - h a n d l e \r 0073600 * 0073700 , h a n d l e : a b o 0073720 r t \r 0073740 * 0074020 , a 0074040 b o r t ) ) ) ) ) ) \r \r \r ( d e 0074060 f u n 006 002 b e g i n - t e x t 0074100 006 001 ( h a n d l e ) ( s t a 0074120 t e - c a s e ( ( : t e x t 0074140 : b l o c k - e n d ) ) \r 0074160 0074200 ( 0074220 : b l o c k ( e n d - b l o c 0074240 k h a n d l e ) ) ) \r 0074260 0074300 ( s e t f ( h a 0074320 n d l e - s t a t e h a n d l 0074340 e ) \r 0074360 0074400 : t e x t ) \r 0074420 0074440 ( h a n d l e - s t 0074460 r e a m h a n d l e ) ) \r \r \r 0074500 ( d e f u n 006 002 b e g i n - b 0074520 l o c k 006 001 ( h a n d l e ) 0074540 ( s t a t e - c a s e ( : b l 0074560 o c k - e n d ( b e g i n - t 0074600 e x t h a n d l e ) \r 0074620 * 0074660 ( e n d - 0074700 t e x t h a n d l e ) ) \r 0074720 * 0074760 ( : t e x t ( e n d - t e x 0075000 t h a n d l e ) ) \r 0075020 0075040 ( : 0075060 b l o c k ) ) ) \r \r \r ( d e f u 0075100 n 006 002 v a l u e - d u m p a b 0075120 l e - p 006 001 ( o b j ) ( x c 0075140 l : c o n d i t i o n - c a s e 0075160 ( p r o g n ( d u m p - v a 0075200 l u e d u m m y - h a n d l e 0075220 o b j n i l ) \r 0075240 * 0075320 t ) \r 0075340 0075360 ( o b j e 0075400 c t - n o t - d u m p a b l e 0075420 n i l n i l ) ) ) \r \r \r ( d e 0075440 f u n 006 002 d u m p - v a l u e 0075460 006 001 ( h a n d l e v a l u e 0075500 & o p t i o n a l ( r e m e 0075520 m b e r t ) \r 0075540 0075560 & a u x i n d e x ) ( s t 0075600 a t e - c a s e ( : b l o c k 0075620 ( c o n d \r 0075640 * 0075720 ( ( e q v a l u e n i 0075740 l ) \r 0075760 * 0076040 ( w r i t e - o p h a n d l e 0076060 ' f a s l - n i l ) ) \r 0076100 * 0076160 ( ( e q v a 0076200 l u e t ) \r 0076220 * 0076300 ( w r i t e - o p h a 0076320 n d l e ' f a s l - t ) ) \r 0076340 * 0076420 ( ( p r o 0076440 g 1 ( s e t q i n d e x ( 0076460 l o o k u p - v a l u e h a n 0076500 d l e \r 0076520 * 0076620 v a l u 0076640 e ) ) \r 0076660 * 0076740 ( w h e n * g 0076760 a t h e r - d u m p e r - s t a 0077000 t s * \r 0077020 * 0077100 ( i 0077120 n c f * t a b l e - a t t e m 0077140 p t s * ) ) ) \r 0077160 * 0077240 ( w h e n * g a t h 0077260 e r - d u m p e r - s t a t s * 0077300 ( i n c f \r 0077320 * 0077440 * t a b l e - h i t s * \r 0077460 * 0077600 ) ) \r 0077620 * 0077700 ( d u 0077720 m p - v a l u e - f e t c h h 0077740 a n d l e i n d e x ) ) \r 0077760 * 0100040 ( t ( t y 0100060 p e c a s e v a l u e \r 0100100 * 0100200 ( i n t e g e r ( d u m 0100220 p - i n t e g e r h a n d l e 0100240 \r 0100260 * 0100360 v a l u e r e 0100400 m e m b e r ) \r 0100420 * 0100520 ) \r 0100540 * 0100620 ( r a 0100640 t i o n a l ( d u m p - r a t 0100660 i o n a l h a n d l e \r 0100700 * 0101020 v a l u e r e m e m 0101040 b e r \r 0101060 * 0101160 ) ) \r 0101200 * 0101300 ( s i n g l e - f l o a 0101320 t ( d u m p - f l o a t 3 2 \r 0101340 * 0101460 h a n d l e v a l u 0101500 e \r 0101520 * 0101620 r e m e m b e r 0101640 ) ) \r 0101660 * 0101740 ( c o m p l e 0101760 x ( d u m p - c o m p l e x 0102000 h a n d l e \r 0102020 * 0102120 v a 0102140 l u e r e m e m b e r ) \r 0102160 * 0102260 ) \r 0102300 * 0102400 ( c h a r a c t e r ( d 0102420 u m p - c h a r a c t e r \r 0102440 * 0102560 h a n d l e v a l u e \r 0102600 * 0102720 r e m e m b e r ) ) \r 0102740 * 0103040 ( s y m b o l ( d u m p - s 0103060 y m b o l h a n d l e \r 0103100 * 0103220 v a l u e r e m e m b e 0103240 r ) ) \r 0103260 * 0103340 ( p a c k a 0103360 g e ( d u m p - p a c k a g e 0103400 h a n d l e \r 0103420 * 0103520 v 0103540 a l u e r e m e m b e r ) \r 0103560 * 0103660 ) \r 0103700 * 0104000 ( c o n s ( d u m p - 0104020 l i s t h a n d l e v a l u 0104040 e \r 0104060 * 0104160 r e m e m b e r ) ) 0104200 \r 0104220 * 0104300 ( d - a s s e m : 0104320 d c o d e ( d u m p - d c o d 0104340 e \r 0104360 * 0104460 h a n d l e v 0104500 a l u e \r 0104520 * 0104620 r e m e 0104640 m b e r ) ) \r 0104660 * 0104740 ( s t 0104760 r i n g ( d u m p - s t r i n 0105000 g h a n d l e \r 0105020 * 0105120 v 0105140 a l u e r e m e m b e r ) ) \r 0105160 * 0105260 ( a r r a y ( d u 0105300 m p - a r r a y h a n d l e 0105320 v a l u e \r 0105340 * 0105440 r e m e m 0105460 b e r ) ) \r 0105500 * 0105560 ( c o m 0105600 p i l e r : : e v a l - w h e n 0105620 - l o a d \r 0105640 * 0105720 ( d u 0105740 m p - e v a l h a n d l e ( 0105760 \r 0106000 * 0106060 c o m p i l e 0106100 r : : e v a l - w h e n - l o a 0106120 d - f o r m \r 0106140 * 0106260 v a l u e ) ) ) \r 0106300 * 0106400 ( c l : : s t r u c t u r e - o 0106420 b j e c t \r 0106440 * 0106520 ( d u 0106540 m p - s t r u c t u r e h a n 0106560 d l e v a l u e \r 0106600 * 0106700 r e m e m b e 0106720 r ) ) \r 0106740 * 0107020 ( i l : b i 0107040 t m a p ( d u m p - b i t m a 0107060 p h a n d l e \r 0107100 * 0107220 v a l u e \r 0107240 * 0107360 r e m e m b e r ) ) \r 0107400 * 0107500 ( o t h e r w i s e ( e r 0107520 r o r ' \r 0107540 * 0107640 o b j e c t - n 0107660 o t - d u m p a b l e \r 0107700 * 0110020 : o b j e c t v a l 0110040 u e \r 0110060 * 0110160 ) ) ) ) ) 0110200 ) ) ) \r \r \r ( d e f u n 006 002 d 0110220 u m p - f u n c t i o n - d e f 0110240 006 001 ( h a n d l e d c o d e 0110260 n a m e ) ( s t a t e - c a 0110300 s e ( : b l o c k ( w r i t 0110320 e - o p h a n d l e ' \r 0110340 * 0110440 f a s l - s e t f - 0110460 s y m b o l - f u n c t i o n ) 0110500 \r 0110520 * 0110600 ( d u m p - v a l u e h a n 0110620 d l e n a m e ) \r 0110640 * 0110720 ( d u m p - 0110740 v a l u e h a n d l e d c o 0110760 d e ) ) ) ) \r \r \r ( d e f u n 0111000 006 002 d u m p - f u n c a l l 006 001 0111020 ( h a n d l e f u n c t i o 0111040 n ) ( s t a t e - c a s e ( 0111060 : b l o c k ( w r i t e - o p 0111100 h a n d l e ' f a s l - f u 0111120 n c a l l ) \r 0111140 * 0111220 ( d u m p - v a l u e h a n d 0111240 l e f u n c t i o n ) ) ) ) \r 0111260 \r \r ( d e f u n 006 002 d u m p - 0111300 e v a l 006 001 ( h a n d l e f 0111320 o r m ) ( s t a t e - c a s e 0111340 ( : b l o c k ( w r i t e - 0111360 o p h a n d l e ' f a s l - 0111400 e v a l ) \r 0111420 * 0111460 ( d u m p - v a 0111500 l u e h a n d l e f o r m ) 0111520 ) ) ) \r \r \r ( d e f u n 006 002 c 0111540 l o s e - f a s l - h a n d l e 0111560 006 001 ( h a n d l e & r e s t 0111600 c l o s e - o p t i o n s & 0111620 k e y a b o r t & a l l o w 0111640 - o t h e r - k e y s ) \r 0111660 ( s t a t e - c a s e ( : t e 0111700 x t ( e n d - t e x t h a n 0111720 d l e ) \r 0111740 ( e n d - 0111760 b l o c k h a n d l e ) ) \r 0112000 ( : b l o c k 0112020 ( e n d - b l o c k h a n d 0112040 l e ) ) \r ( 0112060 : b l o c k - e n d ) ) \r 0112100 ( s e t f ( h a n d l e - s t 0112120 a t e h a n d l e ) \r 0112140 : c l o s e d ) \r 0112160 ( a p p l y # ' c l o s e 0112200 ( h a n d l e - s t r e a m h 0112220 a n d l e ) \r 0112240 c l o s e - o p t i o n s ) ) 0112260 \r \r \r \r \r 006 004 ( i l : * i l : 0112300 | ; ; ; | " R e a d e r . " ) 0112320 006 001 \r \r \r ( x c l : d e f - d e 0112340 f i n e - t y p e 006 002 f a s l 0112360 - o p s 006 001 " F A S L f i l 0112400 e o p c o d e s " ) \r \r \r ( 0112420 d e f s t r u c t ( 006 002 o p t 0112440 a b l e 006 001 ( : c o n s t r u 0112460 c t o r n e w - o p t a b l e 0112500 ) ) v e c t o r o p n a m e 0112520 s n e x t ) \r \r \r ( d e f u n 0112540 006 002 m a k e - o p t a b l e 006 0112560 001 n i l ( l e t ( ( t a b 0112600 l e ( n e w - o p t a b l e ) 0112620 ) \r 0112640 0112660 ( v e c t o r ( m a k e - a r 0112700 r a y 2 5 6 : i n i t i a l 0112720 - e l e m e n t ' u n i m p l 0112740 e m e n t e d - o p c o d e ) ) 0112760 ) \r 0113000 ( 0113020 s e t f ( o p t a b l e - v e 0113040 c t o r t a b l e ) \r 0113060 0113100 v 0113120 e c t o r ) \r 0113140 0113160 ( s e t f ( s v r e f 0113200 v e c t o r e n d - m a r k 0113220 ) \r 0113240 0113260 ' f a s l - e n d - o 0113300 f - b l o c k ) \r 0113320 0113340 t a b l e ) ) \r \r \r 0113360 ( d e f u n 006 002 f a s l - e n 0113400 d - o f - b l o c k 006 001 ( s t 0113420 r e a m o p ) ( i f ( z e 0113440 r o p * b l o c k - l e v e l 0113460 * ) \r 0113500 0113520 ( t h r 0113540 o w ' f a s l - b l o c k - f 0113560 i n i s h e d n i l ) \r 0113600 * 0113640 ( e r r o r ' u n 0113660 e x p e c t e d - e n d - o f - 0113700 b l o c k : s t r e a m s t 0113720 r e a m ) ) ) \r \r \r ( x c l : d 0113740 e f d e f i n e r 006 002 d e f o 0113760 p 006 001 f a s l - o p s ( i l 0114000 : n a m e ( o p c o d e & k 0114020 e y ( i n d i r e c t 0 ) \r 0114040 * 0114100 ( 0114120 t a b l e ' * d e f a u l t - 0114140 o p t a b l e * ) ) \r 0114160 * 0114220 & b o d y \r 0114240 0114260 ( b o 0114300 d y d e c l s d o c ) ) \r 0114320 0114340 ( i f ( 0114360 z e r o p i n d i r e c t ) \r 0114400 * 0114440 ` ( p r o g n ( d e f u n ( 0114460 006 002 i l : \ \ \ , 006 001 i l : n 0114500 a m e ) ( s t r e a m o p c 0114520 o d e ) , ( o r d o c \r 0114540 * 0114640 " F A S L o p 0114660 c o d e i m p l e m e n t a t 0114700 i o n " \r 0114720 * 0115020 ) , @ d 0115040 e c l s \r 0115060 * 0115160 , @ b o 0115200 d y ) \r \r 0115220 0115240 ( s e 0115260 t f ( e l t ( o p t a b l e 0115300 - v e c t o r , t a b l e ) \r 0115320 * 0115400 , o p c o d e ) \r 0115420 * 0115460 ' , i l : n 0115500 a m e ) \r 0115520 0115540 ( a d 0115560 d - o p - t r a n s l a t i o n 0115600 ' , i l : n a m e , o p c o 0115620 d e , t a b l e ) ) \r 0115640 0115660 ` ( p r 0115700 o g n ( u n l e s s ( o p t 0115720 a b l e - n e x t , t a b l e 0115740 ) \r 0115760 * 0116020 ( s e t f ( o p t a b l e - 0116040 n e x t , t a b l e ) \r 0116060 * 0116140 ( m a k e - o p t a b l e ) 0116160 ) \r 0116200 * 0116240 ( s e t e s c a p e , t a b 0116260 l e ) ) \r 0116300 0116320 ( d e 0116340 f o p ( 006 002 i l : \ \ \ , 006 001 0116360 i l : n a m e ) ( , o p c o 0116400 d e : i n d i r e c t \r 0116420 * 0116520 , ( 1 - i n d i r e 0116540 c t ) : t a b l e \r 0116560 * 0116660 ( o p t a b l e - n e x t 0116700 , t a b l e ) ) \r 0116720 * 0116760 , ( o r d o c " F 0117000 A S L o p c o d e i m p l e 0117020 m e n t a t i o n " ) , @ d e 0117040 c l s \r 0117060 * 0117120 , @ b o d y ) \r ) ) ) 0117140 \r \r \r ( x c l : d e f d e f i n 0117160 e r 006 002 d e f r a n g e 006 001 \r 0117200 f a s l - o p s ( i l : 0117220 n a m e ( f i r s t - o p c o 0117240 d e & k e y ( i n d i r e c 0117260 t 0 ) \r 0117300 0117320 ( t a b l e ' * d e f a u l 0117340 t - o p t a b l e * ) ) \r 0117360 0117400 r a n g e o f f s e t & b o 0117420 d y ( b o d y d e c l s d 0117440 o c ) ) \r ( i 0117460 f ( z e r o p i n d i r e c 0117500 t ) \r 0117520 ` ( p r o g n ( d e f u n ( 0117540 006 002 i l : \ \ \ , 006 001 i l : n 0117560 a m e ) ( s t r e a m o p c 0117600 o d e ) , ( o r d o c " F 0117620 A S L o p c o d e i m p l e 0117640 m e n t a t i o n " ) \r 0117660 * 0117740 , @ d e c l 0117760 s \r 0120000 * 0120060 , @ b o d y ) \r \r 0120100 ( l 0120120 e t ( ( p a c k a g e ( s y 0120140 m b o l - p a c k a g e ' , i 0120160 l : n a m e ) ) \r 0120200 0120220 ( p n a m e ( s y m b 0120240 o l - n a m e ' , i l : n a m 0120260 e ) ) ) \r 0120300 ( 0120320 d o t i m e s ( i , r a n g 0120340 e ) \r 0120360 0120400 ( l e t ( ( o p c o d 0120420 e ( + i , f i r s t - o p 0120440 c o d e ) ) ) \r 0120460 0120500 ( s 0120520 e t f ( e l t ( o p t a b l 0120540 e - v e c t o r , t a b l e ) 0120560 \r 0120600 * 0120640 o p c o d e ) \r 0120660 * 0120720 ' , i l : n a m e ) 0120740 \r 0120760 0121000 ( a d d - o p - t 0121020 r a n s l a t i o n ( i n t e 0121040 r n ( c o n c a t e n a t e \r 0121060 * 0121160 ' s t r i n g p n a m e 0121200 \r 0121220 * 0121300 ( w r i t e - t o - s t 0121320 r i n g \r 0121340 * 0121420 ( + i , o 0121440 f f s e t ) ) ) \r 0121460 * 0121540 p a c k a g 0121560 e ) \r 0121600 * 0121640 o p c o d e \r 0121660 * 0121720 , t a b l e ) ) ) ) ) \r 0121740 ` ( p 0121760 r o g n ( u n l e s s ( o p 0122000 t a b l e - n e x t , t a b l 0122020 e ) \r 0122040 ( 0122060 s e t f ( o p t a b l e - n e 0122100 x t , t a b l e ) \r 0122120 0122140 ( m a 0122160 k e - o p t a b l e ) ) \r 0122200 0122220 ( s e t e s c 0122240 a p e , t a b l e ) ) \r 0122260 0122300 ( d e f r a n g e ( 006 002 i 0122320 l : \ \ \ , 006 001 i l : n a m e 0122340 ) ( , f i r s t - o p c o d e 0122360 : i n d i r e c t , ( 1 - 0122400 i n d i r e c t ) : t a b l e 0122420 \r 0122440 * 0122500 ( o p t a b l 0122520 e - n e x t , t a b l e ) ) 0122540 , ( o r d o c \r 0122560 * 0122660 " F A S L o p c o d e 0122700 i m p l e m e n t a t i o n " \r 0122720 * 0123040 ) , @ d e c l s \r 0123060 * 0123200 , @ b o d y ) \r ) ) ) \r \r 0123220 \r ( d e f u n 006 002 a d d - o p 0123240 - t r a n s l a t i o n 006 001 ( 0123260 n a m e o p c o d e t a b l 0123300 e ) ( l e t ( ( p a i r ( 0123320 a s s o c n a m e ( o p t a 0123340 b l e - o p n a m e s t a b l 0123360 e ) ) ) ) \r 0123400 * 0123440 ( i f p a i 0123460 r ( s e t f ( c d r p a i 0123500 r ) \r 0123520 * 0123600 o p c o d e ) \r 0123620 * 0123700 ( p u s h ( c o n s 0123720 n a m e o p c o d e ) \r 0123740 * 0124020 ( o p t a b 0124040 l e - o p n a m e s t a b l e 0124060 ) ) ) ) ) \r \r \r ( d e f u n 006 0124100 002 o p c o d e - s e q u e n c e 0124120 006 001 ( o p n a m e & o p t i 0124140 o n a l ( t a b l e * d e f 0124160 a u l t - o p t a b l e * ) \r 0124200 0124220 & a u 0124240 x e n t r y ) ( c o n d \r 0124260 * 0124320 ( ( n u 0124340 l l t a b l e ) \r 0124360 * 0124420 n i l ) \r 0124440 * 0124500 ( ( s e t q 0124520 e n t r y ( a s s o c o p 0124540 n a m e ( o p t a b l e - o p 0124560 n a m e s t a b l e ) ) ) \r 0124600 * 0124640 ( l i 0124660 s t ( c d r e n t r y ) ) ) 0124700 \r 0124720 0124740 ( ( 0124760 s e t q e n t r y ( o p c o 0125000 d e - s e q u e n c e o p n a 0125020 m e ( o p t a b l e - n e x t 0125040 \r 0125060 * 0125160 t a b l e ) ) ) \r 0125200 * 0125240 ( c o n s 0125260 f a s l - e x t e n d e d e 0125300 n t r y ) ) \r 0125320 * 0125360 ( t n i l ) ) ) \r \r \r 0125400 ( d e f u n 006 002 f a s l - e x 0125420 t e n d e d 006 001 ( s t r e a m 0125440 o p ) ( w i t h - o p t a b 0125460 l e ( o p t a b l e - n e x t 0125500 * c u r r e n t - o p t a b l 0125520 e * ) \r 0125540 0125560 ( d o - 0125600 o p s t r e a m ) ) ) \r \r \r ( 0125620 d e f u n 006 002 s e t e s c a p 0125640 e 006 001 ( t a b l e ) ( s e t 0125660 f ( s v r e f ( o p t a b l 0125700 e - v e c t o r t a b l e ) \r 0125720 * 0125760 f a s l - e x t e n 0126000 d e d ) \r 0126020 0126040 # ' f a s l - e x t e n 0126060 d e d ) ) \r \r \r ( d e f u n 006 0126100 002 u n i m p l e m e n t e d - o 0126120 p c o d e 006 001 ( s t r e a m 0126140 o p c o d e ) ( e r r o r ' 0126160 u n i m p l e m e n t e d - o p 0126200 c o d e : o p n a m e o p c 0126220 o d e ) ) \r \r \r ( d e f v a r 0126240 006 002 * d e f a u l t - o p t a b 0126260 l e * 006 001 ( m a k e - o p t a 0126300 b l e ) ) \r \r \r ( d e f v a r 0126320 006 002 * c u r r e n t - o p t a 0126340 b l e * 006 001 n i l ) \r \r \r ( d 0126360 e f p a r a m e t e r 006 002 i n 0126400 i t i a l - v a l u e - t a b l 0126420 e - s i z e 006 001 2 0 4 8 ) \r \r 0126440 \r ( d e f c o n s t a n t 006 002 0126460 v a l u e - t a b l e - i n c r 0126500 e m e n t 006 001 1 0 2 4 ) \r \r \r 0126520 ( d e f v a r 006 002 * v a l u e 0126540 - t a b l e * 006 001 n i l ) \r \r 0126560 \r ( d e f v a r 006 002 * b l o c 0126600 k - l e v e l * 006 001 0 ) \r \r \r 0126620 ( d e f v a r 006 002 d e b u g - 0126640 r e a d e r 006 001 n i l ) \r \r \r 0126660 ( d e f v a r 006 002 d e b u g - 0126700 s t r e a m 006 001 n i l ) \r \r \r 0126720 ( d e f m a c r o 006 002 w i t h 0126740 - o p t a b l e 006 001 ( t a b l 0126760 e & b o d y b o d y ) ` ( 0127000 l e t ( ( * c u r r e n t - o 0127020 p t a b l e * , t a b l e ) ) 0127040 \r 0127060 * 0127120 , @ b o d y ) ) \r \r \r ( d e f 0127140 u n 006 002 p r o c e s s - f i l 0127160 e 006 001 ( s t r e a m & k e y 0127200 ( t e x t - f n # ' ( l a m 0127220 b d a ( t e x t ) \r 0127240 * 0127300 ( p 0127320 r i n c t e x t ) \r 0127340 * 0127400 ( t 0127420 e r p r i ) ) ) \r 0127440 0127460 ( i t e m - f n n i l 0127500 ) ) " C a l l s F A S L : P 0127520 R O C E S S - S E G M E N T w 0127540 i t h t h e a p p r o r i a 0127560 t e a r g u m e n t s f o r 0127600 e a c h s e g m e n t i n 0127620 t h e f i l e . T h e s 0127640 t r e a m s h o u l d b e 0127660 p o s i t i o n e d a t t h 0127700 e b e g i n n i n g . " \r 0127720 ( u n l e s s ( e q l ( i 0127740 l : b i n s t r e a m ) \r 0127760 s i 0130000 g n a t u r e ) \r 0130020 ( e r r o r " N o t a 0130040 F A S L f i l e . " ) ) \r 0130060 ( c h e c k - v e r s i o n 0130100 s t r e a m ) \r ( d o 0130120 n i l ( ( i l : e o f p s t 0130140 r e a m ) \r 0130160 ( v a l u e s ) ) \r 0130200 ( p r o c e s s - s e g m 0130220 e n t s t r e a m t e x t - 0130240 f n i t e m - f n ) ) ) \r \r \r 0130260 ( d e f u n 006 002 c h e c k - v 0130300 e r s i o n 006 001 ( s t r e a m 0130320 ) ( l e t ( ( v e r s i o n 0130340 ( i l : b i n 1 6 s t r e a 0130360 m ) ) ) \r 0130400 0130420 ( o r ( a n d 0130440 ( < = ( c a r v e r s i o 0130460 n - r a n g e ) \r 0130500 * 0130540 v e r s i o n ) \r 0130560 * 0130620 ( < = v 0130640 e r s i o n ( c d r v e r s 0130660 i o n - r a n g e ) ) ) \r 0130700 * 0130740 ( e r r o r " V e r s 0130760 i o n n o t s u p p o r t e 0131000 d : ~ D . " v e r s i o n ) 0131020 ) ) ) \r \r \r ( d e f u n 006 002 p 0131040 r o c e s s - s e g m e n t 006 001 0131060 ( s t r e a m & o p t i o n 0131100 a l t e x t - f n i t e m - 0131120 f n ( o p t a b l e * d e f 0131140 a u l t - o p t a b l e * ) ) \r 0131160 ( i f t e x t - f n ( 0131200 f u n c a l l t e x t - f n 0131220 ( r e a d - t e x t s t r e a 0131240 m ) ) \r ( s k i p 0131260 - t e x t s t r e a m ) ) \r 0131300 ( p r o c e s s - b l o c k 0131320 s t r e a m i t e m - f n 0131340 o p t a b l e ) ) \r \r \r ( d e f 0131360 u n 006 002 r e a d - t e x t 006 001 0131400 ( s t r e a m ) ( d o ( ( 0131420 r e s u l t ( m a k e - a r r 0131440 a y 5 1 2 : e l e m e n t - 0131460 t y p e ' c h a r a c t e r 0131500 : a d j u s t a b l e t \r 0131520 * 0131560 : f i 0131600 l l - p o i n t e r 0 ) ) \r 0131620 0131640 ( b 0131660 y t e ( i l : b i n s t r e 0131700 a m ) \r 0131720 0131740 ( i l : b i n 0131760 s t r e a m ) ) ) \r 0132000 0132020 ( ( e q l b 0132040 y t e e n d - m a r k ) \r 0132060 0132100 ( c o 0132120 e r c e r e s u l t ' s t r 0132140 i n g ) ) \r 0132160 0132200 ( v e c t o r - p u s h 0132220 - e x t e n d ( c o d e - c h 0132240 a r b y t e ) \r 0132260 0132300 r e 0132320 s u l t ) ) ) \r \r \r ( d e f u n 0132340 006 002 p r o c e s s - b l o c k 0132360 006 001 ( s t r e a m & o p t i 0132400 o n a l i t e m - f n ( o p 0132420 t a b l e * d e f a u l t - o 0132440 p t a b l e * ) ) \r ( c a 0132460 t c h ' f a s l - b l o c k - 0132500 f i n i s h e d ( w i t h - o 0132520 p t a b l e o p t a b l e ( 0132540 d o ( ( * v a l u e - t a b l 0132560 e * ( n e w - v a l u e - t a 0132600 b l e ) ) \r 0132620 * 0132700 v a l ) \r 0132720 * 0132760 n i 0133000 l \r 0133020 * 0133060 ( s e t f 0133100 v a l ( d o - o p s t r e 0133120 a m 0 ) ) \r 0133140 * 0133220 ( w h e n i t e m - f n ( f 0133240 u n c a l l i t e m - f n v 0133260 a l ) ) ) ) ) ) \r \r \r ( d e f u 0133300 n 006 002 s k i p - t e x t 006 001 0133320 ( s t r e a m ) ( d o ( ( b 0133340 y t e ( i l : b i n s t r e 0133360 a m ) ) ) \r 0133400 0133420 ( ( e q l b y t e e 0133440 n d - m a r k ) \r 0133460 0133500 ( v a l u e s ) 0133520 ) ) ) \r \r \r ( d e f m a c r o 0133540 006 002 n e x t - v a l u e 006 001 n 0133560 i l ' ( d o - o p s t r e a 0133600 m ) ) \r \r \r ( d e f u n 006 002 d 0133620 o - o p 006 001 ( s t r e a m & 0133640 o p t i o n a l ( * b l o c k 0133660 - l e v e l * ( 1 + * b l o 0133700 c k - l e v e l * ) ) ) \r 0133720 ( l e t ( ( o p ( i l : b i 0133740 n s t r e a m ) ) \r 0133760 v a l ) \r 0134000 ( w h e n d e b u g - r e a 0134020 d e r ( f o r m a t d e b u 0134040 g - s t r e a m " ~ V T ~ A 0134060 ( ~ 3 O ) ~ % " ( * * b l o 0134100 c k - l e v e l * 4 ) \r 0134120 0134140 ( 0134160 c a r ( r a s s o c o p ( 0134200 o p t a b l e - o p n a m e s 0134220 * c u r r e n t - o p t a b l e 0134240 * ) ) ) \r 0134260 0134300 o p ) ) \r 0134320 ( s e t q v a l ( f 0134340 u n c a l l ( s v r e f ( o 0134360 p t a b l e - v e c t o r * c 0134400 u r r e n t - o p t a b l e * ) 0134420 \r 0134440 0134460 o p ) \r 0134500 0134520 s t r e a m o p ) ) \r 0134540 ( w h e n d e b u g - 0134560 r e a d e r ( f o r m a t d 0134600 e b u g - s t r e a m " ~ V T 0134620 V a l u e : ~ S ~ % " ( * 0134640 * b l o c k - l e v e l * 4 ) 0134660 \r 0134700 0134720 v a l ) ) \r 0134740 ( r e t u r n - f r o m d o 0134760 - o p v a l ) ) ) \r \r \r ( d e 0135000 f u n 006 002 n e w - v a l u e - 0135020 t a b l e 006 001 n i l ( m a k 0135040 e - a r r a y i n i t i a l - 0135060 v a l u e - t a b l e - s i z e 0135100 : f i l l - p o i n t e r 0 0135120 : e x t e n d a b l e t ) ) 0135140 \r \r \r ( d e f u n 006 002 c l e a 0135160 r - t a b l e 006 001 ( & o p t i 0135200 o n a l ( t a b l e * v a l 0135220 u e - t a b l e * ) ) ( s e t 0135240 f ( f i l l - p o i n t e r 0135260 t a b l e ) \r 0135300 * 0135360 0 ) ) \r \r \r ( d e f u n 006 0135400 002 s t o r e - v a l u e 006 001 ( 0135420 o b j & o p t i o n a l ( t 0135440 a b l e * v a l u e - t a b l 0135460 e * ) ) \r 0135500 \r 006 003 ( i l 0135520 : * i l : | ; ; | \r 006 001 006 0135540 003 " T h i s m a y w a n t 0135560 t o c h a n g e t o a n o 0135600 t h e r r e p r e s e n t a t 0135620 i o n i f w e c a n ' t 0135640 m a k e V E C T O R - P U S H 0135660 - E X T E N D f a s t e n o 0135700 u g h . " ) 006 001 \r ( v e c t o 0135720 r - p u s h - e x t e n d o b 0135740 j t a b l e v a l u e - t a 0135760 b l e - i n c r e m e n t ) \r 0136000 o b j ) \r \r \r ( d e f u n 006 002 0136020 f e t c h - v a l u e 006 001 ( i 0136040 n d e x & o p t i o n a l ( 0136060 t a b l e * v a l u e - t a b 0136100 l e * ) ) ( a r e f t a b l 0136120 e i n d e x ) ) \r \r \r ( d e f 0136140 u n 006 002 c o l l e c t - l i s 0136160 t 006 001 ( s t r e a m n e l t 0136200 s d o t t e d ) ( i f ( a 0136220 n d d o t t e d ( e q l n 0136240 e l t s 2 ) ) \r 0136260 * 0136320 ( r e t u r n - f 0136340 r o m c o l l e c t - l i s t 0136360 ( c o n s ( d o - o p s t 0136400 r e a m ) \r 0136420 * 0136520 ( d o - o p s t r e a 0136540 m ) ) ) ) \r 0136560 * 0136620 ( w h e n d o t t e d ( d e 0136640 c f n e l t s ) ) \r 0136660 * 0136720 ( l e t ( ( r e s u 0136740 l t ( 006 002 i l : | t o | 006 001 0136760 n e l t s 006 002 i l : | c o l l 0137000 e c t | 006 001 ( d o - o p s t 0137020 r e a m ) ) ) ) \r 0137040 \r 006 003 0137060 ( i l : * i l : | ; ; | " A 0137100 s s u m e d o t t e d a n d 0137120 o t h e r t h a n a s i 0137140 m p l e c o n s i s r a r 0137160 e . " ) 006 001 \r \r 0137200 * 0137240 ( w h e n d o t 0137260 t e d ( s e t f ( c d r ( 0137300 l a s t r e s u l t ) ) \r 0137320 * 0137420 ( d o - o p s t r e a m ) ) ) 0137440 \r 0137460 * 0137520 ( r e t u r n - f r o m c o l 0137540 l e c t - l i s t r e s u l t 0137560 ) ) ) \r \r \r ( d e f r a n g e 0137600 006 002 f a s l - s h o r t - i n t 0137620 e g e r 006 001 ( 0 ) 1 2 8 0 0137640 o p c o d e ) \r \r \r ( d e f o 0137660 p 006 002 f a s l - n i l 006 001 ( 0137700 1 2 8 ) n i l ) \r \r \r ( d e f 0137720 o p 006 002 f a s l - t 006 001 ( 1 0137740 2 9 ) t ) \r \r \r ( d e f o p 0137760 006 002 f a s l - i n t e g e r 006 001 0140000 ( 1 3 0 ) ( + ( i l : l l 0140020 s h ( i l : b i n s t r e a 0140040 m ) \r 0140060 0140100 2 4 ) \r 0140120 0140140 ( i l : l l s h 0140160 ( i l : b i n s t r e a m ) 0140200 \r 0140220 0140240 1 6 ) \r 0140260 0140300 ( i l : l l s h ( 0140320 i l : b i n s t r e a m ) \r 0140340 * 0140400 8 ) \r 0140420 0140440 ( i l : b i n s t r e a 0140460 m ) ) ) \r \r \r ( d e f o p 006 002 0140500 f a s l - l a r g e - i n t e g 0140520 e r 006 001 ( 1 3 1 ) ( l e t 0140540 ( ( n b y t e s ( n e x t - v 0140560 a l u e ) ) \r 0140600 0140620 ( f i 0140640 r s t - t i m e t ) \r 0140660 * 0140720 ( m a s k 0 ) ) \r 0140740 * 0141000 ( d o ( ( o f f s e t ( * 0141020 ( 1 - n b y t e s ) \r 0141040 * 0141120 8 ) \r 0141140 * 0141200 ( - o f f s e t 0141220 8 ) ) \r 0141240 0141260 ( r 0141300 e s u l t 0 ) \r 0141320 * 0141360 b y t e ) \r 0141400 * 0141440 ( ( < o f f s e t 0 ) \r 0141460 * 0141520