$ od -c -N 50000 [eris]<LispCore>Morgue>Lyric>FASL!5
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 1 - D e c - 8 6
0000120 0 0 : 1 6 : 4 7 " 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 3 006 001 6 1 3 8 4 \r \r
0000220 i l : | c h a n g e s |
0000240 i l : | t o : | ( i l : v a
0000260 r s i l : f a s l c o m s ) \r
0000300
0000320 ( i l
0000340 : f u n c t i o n s d u m p -
0000360 s t r u c t u r e ) \r \r
0000400 i l : | p r e v i o u s |
0000420 i l : | d a t e : | " 1 0 - D
0000440 e c - 8 6 1 2 : 3 6 : 4 6 "
0000460 i l : { e r i s } < l i s p c o
0000500 r e > s o u r c e s > f a s l .
0000520 \ ; 2 1 ) \r \r \r ; C o p y r i
0000540 g h t ( c ) 1 9 8 6 b y
0000560 X e r o x C o r p o r a t i o
0000600 n . A l l r i g h t s r
0000620 e s e r v e d . \r \r ( i l : p r
0000640 e t t y c o m p r i n t i l :
0000660 f a s l c o m s ) \r \r ( i l : r
0000700 p a q q 006 002 i l : f a s l c o
0000720 m s 006 001 \r
0000740 ( ( i l : c o m s ( i l : *
0000760 i l : | ; ; ; | " C o m m o n
0001000 d e f i n i t i o n s . " ) \r
0001020
0001040 ( i l : d e c l a r e \ :
0001060 i l : e v a l @ c o m p i l e
0001100 i l : e v a l @ l o a d i l :
0001120 d o n t c o p y ( i l : f i l
0001140 e s ( i l : l o a d c o m p )
0001160 \r
0001200
*
0001300 i l : l l b a s i c i l : l
0001320 l c h a r \r
0001340
*
0001440 i l : a d i s p l
0001460 a y \r
0001500
*
0001600 i l : m o d a r i t h )
0001620 ) \r
0001640 ( i l : s t r u c t u r
0001660 e s f a s l - e r r o r u n
0001700 i m p l e m e n t e d - o p c o
0001720 d e o b j e c t - n o t - d u
0001740 m p a b l e \r
0001760
0002000 u n e x p e c t e d - e n d -
0002020 o f - b l o c k i n c o n s i
0002040 s t e n t - t a b l e ) \r
0002060 (
0002100 i l : v a r i a b l e s s i g
0002120 n a t u r e ) \r
0002140 ( i l : v a
0002160 r i a b l e s c h e c k - t a
0002200 b l e - s i z e f a s l - e x
0002220 t e n d e d e n d - m a r k
0002240 v e r s i o n - r a n g e c u
0002260 r r e n t - v e r s i o n \r
0002300
0002320 ) \r
0002340 ( i l : f
0002360 u n c t i o n s t a b l e - s
0002400 t a t s ) ) \r
0002420 ( i l : c o m s ( i l : *
0002440 i l : | ; ; ; | " D u m p e
0002460 r . " ) \r
0002500 ( i l : s t r u c
0002520 t u r e s h a n d l e ) \r
0002540
0002560 ( i l : v a r i a b l e s d u
0002600 m m y - h a n d l e ) \r
0002620 ( i
0002640 l : v a r i a b l e s + s m a
0002660 l l e s t - f o u r - b y t e -
0002700 i n t e g e r + + l a r g e s
0002720 t - f o u r - b y t e - i n t e
0002740 g e r + ) \r
0002760 ( i l : v a r i
0003000 a b l e s * g a t h e r - d u
0003020 m p e r - s t a t s * * t a b
0003040 l e - a t t e m p t s * * t a
0003060 b l e - h i t s * ) \r
0003100 ( i l
0003120 : f u n c t i o n s r e s e t
0003140 - d u m p e r - s t a t s ) \r
0003160
0003200 ( i l : f u n c t i o n s d
0003220 o t t e d - l i s t - l e n g t
0003240 h s t a t e - c a s e f a t
0003260 - s t r i n g - p r e m e m b
0003300 e r \r
0003320 e l e
0003340 m e n t s - i d e n t i c a l -
0003360 p e n d - b l o c k e n d -
0003400 t e x t w r i t e - o p l o
0003420 o k u p - v a l u e s a v e -
0003440 v a l u e ) \r
0003460 ( i l : f u n
0003500 c t i o n s d u m p - v a l u
0003520 e - f e t c h d u m p - c h a
0003540 r a c t e r d u m p - s y m b
0003560 o l d u m p - l i s t \r
0003600
0003620 d u m p - s i m p
0003640 l e - v e c t o r d u m p - a
0003660 r r a y - d e s c r i p t o r
0003700 d u m p - b i t - a r r a y d
0003720 u m p - g e n e r a l - a r r a
0003740 y \r
0003760 d u m p
0004000 - a r r a y w r i t e - i n t
0004020 e g e r - b y t e s i n t e g
0004040 e r - b y t e - l i s t d u m
0004060 p - r a t i o n a l d u m p -
0004100 c o m p l e x \r
0004120
0004140 d u m p - i n t e g e r d
0004160 u m p - p a c k a g e d u m p
0004200 - d c o d e d u m p - s t r i
0004220 n g d u m p - f l o a t 3 2
0004240 d u m p - s t r u c t u r e \r
0004260
0004300 d u m p - b i
0004320 t m a p ) \r
0004340 ( i l : f u n c
0004360 t i o n s o p e n - f a s l -
0004400 h a n d l e w i t h - o p e n
0004420 - h a n d l e b e g i n - t e
0004440 x t b e g i n - b l o c k \r
0004460
0004500 v a l u e - d
0004520 u m p a b l e - p d u m p - v
0004540 a l u e d u m p - f u n c t i
0004560 o n - d e f d u m p - f u n c
0004600 a l l d u m p - e v a l \r
0004620
0004640 c l o s e - f a
0004660 s l - h a n d l e ) ) \r
0004700 ( i l : c o m s
0004720 ( i l : * i l : | ; ; ; | "
0004740 R e a d e r . " ) \r
0004760 ( i l :
0005000 d e f i n e - t y p e s f a s
0005020 l - o p s ) \r
0005040 ( i l : s t r
0005060 u c t u r e s o p t a b l e )
0005100 \r
0005120 ( i l : f u n c t i o n s
0005140 m a k e - o p t a b l e f a
0005160 s l - e n d - o f - b l o c k
0005200 d e f o p d e f r a n g e a
0005220 d d - o p - t r a n s l a t i o
0005240 n \r
0005260 o p c o
0005300 d e - s e q u e n c e f a s l
0005320 - e x t e n d e d s e t e s c
0005340 a p e u n i m p l e m e n t e
0005360 d - o p c o d e ) \r
0005400 ( i l :
0005420 v a r i a b l e s * d e f a u
0005440 l t - o p t a b l e * * c u r
0005460 r e n t - o p t a b l e * i n
0005500 i t i a l - v a l u e - t a b l
0005520 e - s i z e \r
0005540
0005560 v a l u e - t a b l e - i n c
0005600 r e m e n t * v a l u e - t a
0005620 b l e * * b l o c k - l e v e
0005640 l * d e b u g - r e a d e r
0005660 d e b u g - s t r e a m ) \r
0005700
0005720 ( i l : f u n c t i o n s w i
0005740 t h - o p t a b l e p r o c e
0005760 s s - f i l e c h e c k - v e
0006000 r s i o n p r o c e s s - s e
0006020 g m e n t r e a d - t e x t
0006040 \r
0006060 p r o c e s
0006100 s - b l o c k s k i p - t e x
0006120 t n e x t - v a l u e d o -
0006140 o p n e w - v a l u e - t a b
0006160 l e c l e a r - t a b l e \r
0006200
0006220 s t o r e - v
0006240 a l u e f e t c h - v a l u e
0006260 c o l l e c t - l i s t ) \r
0006300
0006320 ( f a s l - o p s f a s l -
0006340 s h o r t - i n t e g e r f a
0006360 s l - n i l f a s l - t f a
0006400 s l - i n t e g e r f a s l -
0006420 l a r g e - i n t e g e r \r
0006440
0006460 f a s l - r a t
0006500 i o f a s l - c o m p l e x
0006520 f a s l - v e c t o r f a s l
0006540 - c r e a t e - a r r a y f a
0006560 s l - i n i t i a l i z e - a r
0006600 r a y \r
0006620 f a
0006640 s l - i n i t i a l i z e - b i
0006660 t - a r r a y f a s l - t h i
0006700 n - s t r i n g f a s l - f a
0006720 t - s t r i n g f a s l - c h
0006740 a r a c t e r \r
0006760
0007000 f a s l - l i s p - s y m b
0007020 o l f a s l - k e y w o r d -
0007040 s y m b o l f a s l - f i n d
0007060 - p a c k a g e \r
0007100
0007120 f a s l - s y m b o l - i
0007140 n - p a c k a g e f a s l - l
0007160 i s t f a s l - l i s t * f
0007200 a s l - i n t e r l i s p - s y
0007220 m b o l f a s l - d c o d e
0007240 \r
0007260 f a s l - t
0007300 a b l e - s t o r e f a s l -
0007320 t a b l e - f e t c h f a s l
0007340 - v e r i f y - t a b l e - s i
0007360 z e f a s l - e v a l \r
0007400
0007420 f a s l - f l o a
0007440 t 3 2 f a s l - s e t f - s y
0007460 m b o l - f u n c t i o n f a
0007500 s l - f u n c a l l f a s l -
0007520 b i t m a p 1 6 \r
0007540
0007560 f a s l - s t r u c t u r
0007600 e ) ) \r (
0007620 i l : * i l : | ; ; | " A r
0007640 r a n g e f o r t h e c o
0007660 r r e c t c o m p i l e r t
0007700 o b e u s e d " ) \r
0007720 ( i l : p r o p
0007740 i l : f i l e t y p e i l : f
0007760 a s l ) \r
0010000 ( i l : * i l : | ; ; | " A
0010020 r r a n g e f o r t h e p
0010040 r o p e r m a k e f i l e e
0010060 n v i r o n m e n t " ) \r
0010100 ( i l : p r o p
0010120 i l : m a k e f i l e - e n v
0010140 i r o n m e n t i l : f a s l
0010160 ) ) ) \r \r \r \r 006 004 ( i l : * i
0010200 l : | ; ; ; | " C o m m o n
0010220 d e f i n i t i o n s . " ) 006 001
0010240 \r \r ( i l : d e c l a r e \ :
0010260 i l : e v a l @ c o m p i l e
0010300 i l : e v a l @ l o a d i l :
0010320 d o n t c o p y \r ( i l : f i
0010340 l e s l o a d ( i l : l o a d
0010360 c o m p ) \r i l :
0010400 l l b a s i c i l : l l c h a
0010420 r i l : a d i s p l a y i l
0010440 : m o d a r i t h ) \r ) \r \r ( x
0010460 c l : d e f i n e - c o n d i t
0010500 i o n 006 002 f a s l - e r r o r
0010520 006 001 e r r o r ) \r \r \r ( x c l
0010540 : d e f i n e - c o n d i t i o
0010560 n 006 002 u n i m p l e m e n t e
0010600 d - o p c o d e 006 001 f a s l -
0010620 e r r o r : r e p o r t ( f
0010640 o r m a t t " U n i m p l e
0010660 m e n t e d F A S L o p :
0010700 ~ S " \r
0010720
*
0011000 o p n a m e
0011020 ) \r
0011040
*
0011100 o p n a m e ) \r \r \r ( x c
0011120 l : d e f i n e - c o n d i t i
0011140 o n 006 002 o b j e c t - n o t -
0011160 d u m p a b l e 006 001 f a s l -
0011200 e r r o r : r e p o r t ( f
0011220 o r m a t t " O b j e c t
0011240 n o t d u m p a b l e : ~ & ~
0011260 S " \r
0011300
*
0011360 o b j e c t ) \r
0011400
*
0011460 o b j e c t ) \r \r \r ( x c l : d
0011500 e f i n e - c o n d i t i o n
0011520 006 002 u n e x p e c t e d - e n d
0011540 - o f - b l o c k 006 001 f a s l
0011560 - e r r o r : r e p o r t (
0011600 f o r m a t t \r
0011620
*
0011700 " U n e x p
0011720 e c t e d F A S L - E N D - O
0011740 F - B L O C K a t ~ D . " \r
0011760
*
0012060 ( i l : g e t f
0012100 i l e p t r s t r e a m ) ) \r
0012120
*
0012200 s t r e a m ) \r \r \r ( x
0012220 c l : d e f i n e - c o n d i t
0012240 i o n 006 002 i n c o n s i s t e
0012260 n t - t a b l e 006 001 f a s l -
0012300 e r r o r : r e p o r t ( f
0012320 o r m a t t \r
0012340
*
0012400 " I n c o n s i s t e n
0012420 t F A S L t a b l e s i z
0012440 e . ~ & E x p e c t e d ~ D
0012460 b u t f o u n d ~ D . " \r
0012500
*
0012600 e x p e c t e d ( l e n
0012620 g t h ( o p t a b l e - v e c
0012640 t o r \r
0012660
*
0012760 t a b l e ) )
0013000 ) \r
0013020
*
0013060 t a b l e e x p e c t e d )
0013100 \r \r \r ( d e f c o n s t a n t
0013120 006 002 s i g n a t u r e 006 001 1 4
0013140 5 " F i r s t b y t e o f
0013160 a F A S L f i l e . " ) \r
0013200 \r \r ( d e f v a r 006 002 c h e c
0013220 k - t a b l e - s i z e 006 001 t
0013240 ) \r \r \r ( d e f c o n s t a n t
0013260 006 002 f a s l - e x t e n d e d
0013300 006 001 2 5 4 ) \r \r \r ( d e f c o
0013320 n s t a n t 006 002 e n d - m a r
0013340 k 006 001 2 5 5 ) \r \r \r ( d e f c
0013360 o n s t a n t 006 002 v e r s i o
0013400 n - r a n g e 006 001 ' ( 2 .
0013420 4 ) " H a n d l e s ( c a r
0013440 v e r s i o n - r a n g e )
0013460 < = v e r s i o n < = ( c
0013500 d r v e r s i o n - r a n g e
0013520 ) " \r ) \r \r \r ( d e f c o
0013540 n s t a n t 006 002 c u r r e n t
0013560 - v e r s i o n 006 001 4 ) \r \r \r
0013600 ( d e f u n 006 002 t a b l e - s
0013620 t a t s 006 001 ( t a b l e ) (
0013640 l e t ( ( i t e m s ( l i s
0013660 t ( c o n s ' - - t o t a l
0013700 - - ( l e n g t h t a b l e
0013720 ) ) ) ) ) \r
0013740
0013760 ( d o t i m e s (
0014000 i ( l e n g t h t a b l e )
0014020 \r
0014040
0014060 i t e
0014100 m s ) \r
0014120
0014140 ( l e t *
0014160 ( ( t y p e ( t y p e - o f
0014200 ( a r e f t a b l e i ) )
0014220 ) \r
0014240
*
0014300 ( p a i r ( o r ( f i n d
0014320 t y p e i t e m s : t e s t
0014340 ' e q u a l : k e y \r
0014360
*
0014440 ' c a r )
0014460 \r
0014500
*
0014540 ( c a r ( p
0014560 u s h ( c o n s t y p e 0
0014600 ) \r
0014620
*
0014700 i t e m s ) ) ) ) ) \r
0014720
*
0014760 ( i n
0015000 c f ( c d r p a i r ) ) ) )
0015020 ) ) \r \r \r \r \r 006 004 ( i l : * i
0015040 l : | ; ; ; | " D u m p e r .
0015060 " ) 006 001 \r \r \r ( d e f s t r u c
0015100 t ( 006 002 h a n d l e 006 001 ( :
0015120 c o n s t r u c t o r m a k e
0015140 - h a n d l e ) ) s t r e a m
0015160 ( s t a t e : b l o c k - e
0015200 n d ) \r
0015220
*
0015260 ( l a s t - i
0015300 n d e x 0 ) \r
0015320
*
0015360 ( h a
0015400 s h ( m a k e - h a s h - t a
0015420 b l e : t e s t # ' e q ) )
0015440 ) \r \r \r ( d e f c o n s t a n t
0015460 006 002 d u m m y - h a n d l e 006
0015500 001 ( m a k e - h a n d l e :
0015520 s t r e a m ( o p e n " { n
0015540 u l l } " : d i r e c t i o n
0015560 : o u t p u t ) \r
0015600
0015620 : s t a t
0015640 e : b l o c k : h a s h n
0015660 i l ) ) \r \r \r ( d e f c o n s
0015700 t a n t 006 002 + s m a l l e s t
0015720 - f o u r - b y t e - i n t e g
0015740 e r + 006 001 ( - ( e x p t 2
0015760 3 1 ) ) ) \r \r \r ( d e f c o
0016000 n s t a n t 006 002 + l a r g e s
0016020 t - f o u r - b y t e - i n t e
0016040 g e r + 006 001 ( 1 - ( e x p t
0016060 2 3 1 ) ) ) \r \r \r ( d e f
0016100 v a r 006 002 * g a t h e r - d u
0016120 m p e r - s t a t s * 006 001 n i
0016140 l ) \r \r \r ( d e f v a r 006 002 *
0016160 t a b l e - a t t e m p t s * 006
0016200 001 0 " N u m b e r o f t
0016220 a b l e l o o k u p s b y
0016240 t h e F A S L d u m p e r .
0016260 " ) \r \r \r ( d e f v a r 006 002 *
0016300 t a b l e - h i t s * 006 001 0
0016320 " N u m b e r o f s u c c e
0016340 s s f u l t a b l e l o o k
0016360 u p s b y t h e F A S L
0016400 d u m p e r . " ) \r \r \r ( d e f
0016420 u n 006 002 r e s e t - d u m p e
0016440 r - s t a t s 006 001 n i l ( s
0016460 e t q * t a b l e - a t t e m
0016500 p t s * 0 * t a b l e - h i
0016520 t s * 0 ) ) \r \r \r ( d e f u n
0016540 006 002 d o t t e d - l i s t - l
0016560 e n g t h 006 001 ( x ) ( d o
0016600 ( ( n 0 ( + n 2 ) ) \r
0016620
*
0016660 ( f a s t x ( c d d r
0016700 f a s t ) ) \r
0016720
0016740 ( s l o w
0016760 x ( c d r s l o w ) ) ) \r
0017000
*
0017040 ( n i l ) \r
0017060
0017100 ( c o n d \r
0017120
*
0017160 ( ( n u l l f a s t )
0017200 \r
0017220
0017240 ( r e t u r n n
0017260 ) ) \r
0017300
0017320 ( ( a t o m f
0017340 a s t ) \r
0017360
0017400 ( r e t u
0017420 r n ( v a l u e s n t ) )
0017440 ) \r
0017460
0017500 ( ( n u l l ( c
0017520 d r f a s t ) ) \r
0017540
*
0017600 ( r e t u r n ( 1 + n ) ) )
0017620 \r
0017640
0017660 ( ( a t o m ( c d
0017700 r f a s t ) ) \r
0017720
0017740 (
0017760 r e t u r n ( v a l u e s (
0020000 1 + n ) \r
0020020
*
0020060 t ) ) ) \r
0020100
*
0020140 ( ( a n d ( e q f
0020160 a s t s l o w ) \r
0020200
*
0020240 ( > n 0 ) ) \r
0020260
*
0020320 ( r e t u r n n i l )
0020340 ) ) ) ) \r \r \r ( d e f m a c r o
0020360 006 002 s t a t e - c a s e 006 001
0020400 ( & r e s t c l a u s e s )
0020420 ` ( e c a s e ( h a n d l e -
0020440 s t a t e h a n d l e ) \r
0020460
*
0020520 , @ c l a
0020540 u s e s ) ) \r \r \r ( d e f u n
0020560 006 002 f a t - s t r i n g - p 006 001
0020600 ( s t r i n g ) ( c o n d \r
0020620
*
0020660 ( ( i l : s t r i n g p s t r
0020700 i n g ) \r
0020720
0020740 ( e q ( 006 002 i l :
0020760 f e t c h 006 001 ( i l : s t r i
0021000 n g p i l : t y p ) 006 002 i l
0021020 : o f 006 001 s t r i n g ) \r
0021040
*
0021100 i l : \ \ s t . p o s 1 6
0021120 ) ) \r
0021140
0021160 ( t ( i l : % f a t - s
0021200 t r i n g - a r r a y - p s t
0021220 r i n g ) ) ) ) \r \r \r ( d e f m
0021240 a c r o 006 002 r e m e m b e r 006
0021260 001 ( v a l u e & b o d y b
0021300 o d y ) ( l e t ( ( r e m e
0021320 m b e r - v a l ( i l : g e n
0021340 s y m ) ) ) \r
0021360
*
0021420 ` ( l e t ( ( , r e m e m
0021440 b e r - v a l , v a l u e ) )
0021460 \r
0021500
*
0021540 ( w h e n r e m e m b e r
0021560 ( w r i t e - o p h a n d l
0021600 e ' f a s l - t a b l e - s t
0021620 o r e ) ) \r
0021640
*
0021700 , @ b o d y \r
0021720
*
0021760 (
0022000 w h e n r e m e m b e r ( s
0022020 a v e - v a l u e h a n d l e
0022040 , r e m e m b e r - v a l ) )
0022060 ) ) ) \r \r \r ( d e f u n 006 002 e
0022100 l e m e n t s - i d e n t i c a
0022120 l - p 006 001 ( a r r a y ) ( l
0022140 e t * ( ( s e q ( i l : % f
0022160 l a t t e n - a r r a y a r r
0022200 a y ) ) \r
0022220
*
0022260 ( t e s t e l t ( a r e f s
0022300 e q 0 ) ) ) \r
0022320
*
0022360 ( e v e r y # ' ( l a m b
0022400 d a ( x ) \r
0022420
*
0022500 ( e q l x t e s t e l t )
0022520 ) s e q ) ) ) \r \r \r ( d e f u
0022540 n 006 002 e n d - b l o c k 006 001
0022560 ( h a n d l e ) ( s t a t e -
0022600 c a s e ( : b l o c k ( w h
0022620 e n c h e c k - t a b l e - s
0022640 i z e ( w r i t e - o p h a
0022660 n d l e ' \r
0022700
*
0023000 f a s l - v e r i f y - t
0023020 a b l e - s i z e ) \r
0023040
*
0023100 (
0023120 d u m p - v a l u e h a n d l
0023140 e ( h a n d l e - l a s t - i
0023160 n d e x h a n d l e ) \r
0023200
*
0023260 n i l ) ) \r
0023300
*
0023340 ( i l : b
0023360 o u t ( h a n d l e - s t r e
0023400 a m h a n d l e ) \r
0023420
*
0023460 e
0023500 n d - m a r k ) \r
0023520
*
0023560 ( s e t f ( h a n
0023600 d l e - l a s t - i n d e x h
0023620 a n d l e ) \r
0023640
*
0023700 0 ) \r
0023720
*
0023760 ( s e t f
0024000 ( h a n d l e - h a s h h a n
0024020 d l e ) \r
0024040
*
0024100 ( m a k e - h a
0024120 s h - t a b l e : t e s t #
0024140 ' e q ) ) \r
0024160
*
0024220 ( s e t f ( h a n d l e
0024240 - s t a t e h a n d l e ) \r
0024260
*
0024340 : b l o c k - e n d ) ) ) )
0024360 \r \r \r ( d e f u n 006 002 e n d -
0024400 t e x t 006 001 ( h a n d l e )
0024420 ( s t a t e - c a s e ( : t e
0024440 x t ( i l : b o u t ( h a n
0024460 d l e - s t r e a m h a n d l
0024500 e ) \r
0024520
*
0024560 e n d - m a r k ) \r
0024600
*
0024640 ( s e t
0024660 f ( h a n d l e - s t a t e
0024700 h a n d l e ) \r
0024720
*
0024760 : b l o c k
0025000 ) ) ) ) \r \r \r ( d e f u n 006 002
0025020 w r i t e - o p 006 001 ( h a n d
0025040 l e o p n a m e ) ( s t a t
0025060 e - c a s e ( : b l o c k (
0025100 l e t ( ( s t r e a m ( h a
0025120 n d l e - s t r e a m h a n d
0025140 l e ) ) \r
0025160
*
0025220 (
0025240 o p s e q ( o p c o d e - s e
0025260 q u e n c e o p n a m e ) ) )
0025300 \r
0025320
*
0025360 ( i f ( n
0025400 u l l o p s e q ) \r
0025420
*
0025500 ( e r r o r '
0025520 u n i m p l e m e n t e d - o p
0025540 c o d e : o p n a m e \r
0025560
*
0025660 o p n a m e ) \r
0025700
*
0025760 ( d o l i s t (
0026000 o p o p s e q ) \r
0026020
*
0026100 ( i
0026120 l : b o u t s t r e a m o p
0026140 ) ) ) ) ) ) ) \r \r \r ( d e f u n
0026160 006 002 l o o k u p - v a l u e 006
0026200 001 ( h a n d l e v a l u e )
0026220 ( l e t ( ( h a s h - t a b
0026240 l e ( h a n d l e - h a s h
0026260 h a n d l e ) ) ) \r
0026300
*
0026340 ( a n d h a s h - t a b l
0026360 e ( i l : g e t h a s h v a
0026400 l u e h a s h - t a b l e ) )
0026420 ) ) \r \r \r ( d e f u n 006 002 s a
0026440 v e - v a l u e 006 001 ( h a n d
0026460 l e v a l u e ) ( l e t (
0026500 ( h a s h - t a b l e ( h a n
0026520 d l e - h a s h h a n d l e )
0026540 ) ) \r
0026560
0026600 ( u n l e s s
0026620 ( n u l l h a s h - t a b l
0026640 e ) \r
0026660
*
0026720 ( s e t f ( i l : g e t h a s
0026740 h v a l u e h a s h - t a b
0026760 l e ) \r
0027000
*
0027040 ( h a n d l e - l
0027060 a s t - i n d e x h a n d l e
0027100 ) ) \r
0027120
*
0027160 ( i n c f ( h a n d l e - l a
0027200 s t - i n d e x h a n d l e )
0027220 ) ) ) ) \r \r \r ( d e f u n 006 002
0027240 d u m p - v a l u e - f e t c h
0027260 006 001 ( h a n d l e i n d e x
0027300 ) ( w r i t e - o p h a n d
0027320 l e ' f a s l - t a b l e - f
0027340 e t c h ) \r
0027360
0027400 ( d u
0027420 m p - v a l u e h a n d l e
0027440 i n d e x n i l ) ) \r \r \r ( d
0027460 e f u n 006 002 d u m p - c h a r
0027500 a c t e r 006 001 ( h a n d l e
0027520 c h a r r e m e m b e r ) (
0027540 006 002 d e c l a r e 006 001 ( i g n
0027560 o r e r e m e m b e r ) ) \r
0027600 \r
0027620 006 003 ( i l : * i l : |
0027640 ; ; | " C h a r a c t e r s
0027660 d o n ' t g e t r e m e m b
0027700 e r e d . " ) 006 001 \r \r
0027720
*
0027760 ( l e t ( ( c
0030000 o d e ( c h a r - c o d e c
0030020 h a r ) ) \r
0030040
*
0030100 ( s t r e a m
0030120 ( h a n d l e - s t r e a m
0030140 h a n d l e ) ) ) \r
0030160
*
0030220 ( w r i
0030240 t e - o p h a n d l e ' f a
0030260 s l - c h a r a c t e r ) \r
0030300
*
0030360 ( i f ( < c o d e 2 5 6 )
0030400 \r
0030420
*
0030460 ( i l : b o u t
0030500 s t r e a m c o d e ) \r
0030520
*
0030600 ( p r o g n ( i l : b o
0030620 u t s t r e a m 2 5 5 ) \r
0030640
*
0030720 ( i l :
0030740 b o u t 1 6 s t r e a m c o
0030760 d e ) ) ) ) ) \r \r \r ( d e f u n
0031000 006 002 d u m p - s y m b o l 006 001
0031020 ( h a n d l e s y m b o l
0031040 r e m e m b e r ) \r
0031060 \r
0031100 006 003 ( i l : * i l : | ; ; |
0031120 \r 006 001 006 003 "
0031140 N o p o i n t i n r e m e
0031160 m b e r i n g t h e p n a m
0031200 e b e c a u s e S Y M B O L
0031220 - N A M E a l w a y s g i v
0031240 e s y o u a n e w o n e
0031260 . " ) 006 001 \r ( l e t * ( ( p
0031300 n a m e ( s y m b o l - n a m
0031320 e s y m b o l ) ) \r
0031340 ( p a c k a g e ( s y m
0031360 b o l - p a c k a g e s y m b
0031400 o l ) ) \r ( p k
0031420 g - n a m e ( a n d p a c k
0031440 a g e ( p a c k a g e - n a m
0031460 e p a c k a g e ) ) ) ) \r
0031500 ( r e m e m b e r s
0031520 y m b o l ( c o n d \r
0031540
0031560 ( ( k e y w o r d
0031600 p s y m b o l ) \r
0031620
0031640 ( w r i t e - o p
0031660 h a n d l e ' f a s l - k e y
0031700 w o r d - s y m b o l ) \r
0031720
0031740 ( d u m p - v
0031760 a l u e h a n d l e p n a m
0032000 e n i l ) ) \r
0032020
0032040 ( ( e q u a l p k g - n
0032060 a m e " L I S P " ) \r
0032100
0032120 ( w r i t e - o
0032140 p h a n d l e ' f a s l - l
0032160 i s p - s y m b o l ) \r
0032200
0032220 ( d u m p - v a
0032240 l u e h a n d l e p n a m e
0032260 n i l ) ) \r
0032300
0032320 ( ( e q u a l p k g - n a
0032340 m e " I N T E R L I S P " ) \r
0032360
0032400 ( w r i
0032420 t e - o p h a n d l e ' f a
0032440 s l - i n t e r l i s p - s y m
0032460 b o l ) \r
0032500
0032520 ( d u m p - v a l u e h a n
0032540 d l e p n a m e n i l ) ) \r
0032560
0032600 ( t ( w
0032620 r i t e - o p h a n d l e '
0032640 f a s l - s y m b o l - i n - p
0032660 a c k a g e ) \r
0032700
0032720 ( d u m p - v a l u
0032740 e h a n d l e p n a m e n
0032760 i l ) \r
0033000
0033020 ( d u m p - v a l u e h a
0033040 n d l e p a c k a g e r e m
0033060 e m b e r ) ) ) ) ) ) \r \r \r ( d
0033100 e f u n 006 002 d u m p - l i s t
0033120 006 001 ( h a n d l e l i s t
0033140 r e m e m b e r ) ( m u l t i
0033160 p l e - v a l u e - b i n d (
0033200 l e n g t h d o t t e d ) \r
0033220
*
0033260 ( d
0033300 o t t e d - l i s t - l e n g t
0033320 h l i s t ) \r
0033340
*
0033400 ( u n l e s s l
0033420 e n g t h ( e r r o r ' o b
0033440 j e c t - n o t - d u m p a b l
0033460 e : o b j e c t \r
0033500
*
0033600 l i s t ) ) \r
0033620
*
0033660 ( r e m e m b e r
0033700 l i s t ( w r i t e - o p h
0033720 a n d l e ( i f d o t t e d
0033740 \r
0033760
*
0034060 ' f a s l - l i s t * \r
0034100
*
0034220 ' f a s l - l i s t ) ) \r
0034240
*
0034320 ( d u m p - v a l u
0034340 e h a n d l e ( i f d o t
0034360 t e d ( 1 + l e n g t h ) \r
0034400
*
0034500 l e n
0034520 g t h ) \r
0034540
*
0034620 n i l ) \r
0034640
*
0034700 ( d o
0034720 t i m e s ( i l e n g t h )
0034740 \r
0034760
*
0035020 ( d
0035040 u m p - v a l u e h a n d l e
0035060 ( c a r l i s t ) ) \r
0035100
*
0035160 ( p o p l
0035200 i s t ) ) \r
0035220
*
0035260 ( w h e
0035300 n d o t t e d ( d u m p - v
0035320 a l u e h a n d l e l i s t
0035340 n i l ) ) ) ) ) \r \r \r ( d e f
0035360 u n 006 002 d u m p - s i m p l e
0035400 - v e c t o r 006 001 ( h a n d l
0035420 e v e c t o r r e m e m b e
0035440 r ) ( l e t ( ( l e n g t h
0035460 ( l e n g t h v e c t o r )
0035500 ) ) \r
0035520
*
0035560 ( r e m e
0035600 m b e r v e c t o r ( w r i
0035620 t e - o p h a n d l e \r
0035640
*
0035740 ' f a
0035760 s l - v e c t o r ) \r
0036000
*
0036060 ( d u m p -
0036100 v a l u e h a n d l e l e n
0036120 g t h r e m e m b e r ) \r
0036140
*
0036220 ( d o
0036240 t i m e s ( i l e n g t h )
0036260 \r
0036300
*
0036360 ( d u m p - v a l
0036400 u e h a n d l e \r
0036420
*
0036520 ( s v r e f v e
0036540 c t o r i ) \r
0036560
*
0036660 r e m e m b e r ) ) )
0036700 ) ) \r \r \r ( d e f u n 006 002 d u
0036720 m p - a r r a y - d e s c r i p
0036740 t o r 006 001 ( h a n d l e a r
0036760 r a y r e m e m b e r & k e
0037000 y ( i n i t i a l - e l e m e
0037020 n t n i l u s e - s i n g l
0037040 e - e l t ) ) \r ( r e m e
0037060 m b e r a r r a y ( w r i t
0037100 e - o p h a n d l e ' f a s
0037120 l - c r e a t e - a r r a y ) \r
0037140 ( d u m p -
0037160 v a l u e h a n d l e ( i f
0037200 ( e q l ( a r r a y - r a n
0037220 k a r r a y ) \r
0037240
0037260 1
0037300 ) \r
0037320
0037340 ( c a r ( a r r a y - d
0037360 i m e n s i o n s a r r a y )
0037400 ) \r
0037420
0037440 ( a r r a y - d i m e n s
0037460 i o n s a r r a y ) ) \r
0037500 r e
0037520 m e m b e r ) \r
0037540 ( d u m p - v a l u e h a
0037560 n d l e ` ( : e l e m e n t -
0037600 t y p e , ( a r r a y - e l e
0037620 m e n t - t y p e a r r a y )
0037640 : a d j u s t a b l e \r
0037660
*
0037720 , ( a d j u s t a b l e - a
0037740 r r a y - p a r r a y ) \r
0037760
*
0040020 , @ ( w h e n ( a r r a
0040040 y - h a s - f i l l - p o i n t
0040060 e r - p a r r a y ) \r
0040100
*
0040140 ` ( : f i l l
0040160 - p o i n t e r , ( f i l l -
0040200 p o i n t e r a r r a y ) ) )
0040220 \r
0040240
0040260 , @ ( w h e n u s
0040300 e - s i n g l e - e l t ` ( :
0040320 i n i t i a l - e l e m e n t
0040340 , i n i t i a l - e l e m e n t
0040360 ) ) ) \r
0040400 r e m e m b e r ) )
0040420 ) \r \r \r ( d e f u n 006 002 d u m
0040440 p - b i t - a r r a y 006 001 ( h
0040460 a n d l e a r r a y r e m e
0040500 m b e r ) ( l e t ( ( n b i
0040520 t s ( a r r a y - t o t a l -
0040540 s i z e a r r a y ) ) ) \r
0040560
*
0040640 ( u n l e s s ( z e r o p
0040660 ( i l : % a r r a y - o f f s e
0040700 t a r r a y ) ) \r
0040720
*
0041000 ( e r r o r ' o b j e
0041020 c t - n o t - d u m p a b l e
0041040 : o b j e c t a r r a y ) ) \r
0041060
*
0041140 ( r e m e m b e r a r r
0041160 a y ( w r i t e - o p h a n
0041200 d l e ' \r
0041220
*
0041320 f a s l - i n i t i a l i z e -
0041340 b i t - a r r a y ) \r
0041360
*
0041440 ( d u m p - v a l u e
0041460 h a n d l e n b i t s r e
0041500 m e m b e r ) \r
0041520
*
0041600 ( d u m p - a r r a y - d e
0041620 s c r i p t o r h a n d l e
0041640 a r r a y \r
0041660
*
0041740 r e m e m b e r
0041760 ) \r
0042000
*
0042040 ( i l :
0042060 \ \ b o u t s ( h a n d l e -
0042100 s t r e a m h a n d l e ) \r
0042120
*
0042220 ( i l : % a r r a y - b a s e
0042240 a r r a y ) \r
0042260
*
0042340 0 \r
0042360
*
0042440 ( c e i l
0042460 i n g n b i t s 8 ) ) ) ) )
0042500 \r \r \r ( d e f u n 006 002 d u m p
0042520 - g e n e r a l - a r r a y 006 001
0042540 ( h a n d l e a r r a y r
0042560 e m e m b e r ) \r
0042600 \r 006
0042620 003 ( i l : * i l : | ; ; | "
0042640 A r r a y s d o n ' t g e t
0042660 r e m e m b e r e d . D i s
0042700 p l a c e m e n t i n f o r m
0042720 a t i o n i s l o s t . " )
0042740 006 001 \r ( l e t * ( ( n e l t
0042760 s ( a r r a y - t o t a l - s
0043000 i z e a r r a y ) ) \r
0043020 ( e l t - t y p e ( a
0043040 r r a y - e l e m e n t - t y p
0043060 e a r r a y ) ) ) \r
0043100 ( w r i t e - o p h a n d
0043120 l e ' f a s l - i n i t i a l
0043140 i z e - a r r a y ) \r
0043160 ( d u m p - a r r a y - d e
0043200 s c r i p t o r h a n d l e
0043220 a r r a y n i l ) \r
0043240 ( d u m p - v a l u e h a
0043260 n d l e n e l t s n i l ) \r
0043300 ( l e t ( ( i n
0043320 d i r e c t ( m a k e - a r r
0043340 a y n e l t s : d i s p l a
0043360 c e d - t o a r r a y : e l
0043400 e m e n t - t y p e e l t - t
0043420 y p e ) ) ) \r
0043440 ( d o t i m e s ( i n
0043460 e l t s ) \r
0043500 ( d u m p - v
0043520 a l u e h a n d l e ( a r e
0043540 f i n d i r e c t i ) \r
0043560
0043600 n i l ) ) ) ) )
0043620 \r \r \r ( d e f u n 006 002 d u m p
0043640 - a r r a y 006 001 ( h a n d l e
0043660 a r r a y r e m e m b e r )
0043700 ( c o n d \r
0043720
*
0043760 ( ( x c l : d i s p l a
0044000 c e d - a r r a y - p a r r a
0044020 y ) \r
0044040
*
0044100 ( e r r o r ' o b j e c t -
0044120 n o t - d u m p a b l e : o b
0044140 j e c t a r r a y ) ) \r
0044160
*
0044220 ( ( a d j u
0044240 s t a b l e - a r r a y - p a
0044260 r r a y ) \r
0044300
*
0044340 ( d u m p - g e n e r a
0044360 l - a r r a y h a n d l e a
0044400 r r a y r e m e m b e r ) ) \r
0044420
*
0044460 ( ( t
0044500 y p e p a r r a y ' ( a r r
0044520 a y b i t ) ) \r
0044540
*
0044600 ( d u m p - b i t
0044620 - a r r a y h a n d l e a r
0044640 r a y r e m e m b e r ) ) \r
0044660
*
0044720 ( ( t y
0044740 p e p a r r a y ' v e c t o
0044760 r ) \r
0045000
*
0045040 ( d u m p - s i m p l e - v e
0045060 c t o r h a n d l e a r r a
0045100 y r e m e m b e r ) ) \r
0045120
*
0045160 ( t ( d u
0045200 m p - g e n e r a l - a r r a y
0045220 h a n d l e a r r a y r e
0045240 m e m b e r ) ) ) ) \r \r \r ( d e
0045260 f u n 006 002 w r i t e - i n t e
0045300 g e r - b y t e s 006 001 ( h a n
0045320 d l e n b y t e s v a l u e
0045340 ) ( l e t ( ( s t r e a m
0045360 ( h a n d l e - s t r e a m h
0045400 a n d l e ) ) ) \r
0045420
*
0045460 (
0045500 d o l i s t ( b y t e ( i n
0045520 t e g e r - b y t e - l i s t
0045540 v a l u e n b y t e s ) ) \r
0045560
*
0045640 ( i l :
0045660 b o u t s t r e a m b y t e
0045700 ) ) ) ) \r \r \r ( d e f u n 006 002
0045720 i n t e g e r - b y t e - l i s
0045740 t 006 001 ( v a l u e n b y t e
0045760 s ) ( d o ( ( c o u n t 0
0046000 ( 1 + c o u n t ) ) \r
0046020
*
0046060 ( r e s u l
0046100 t n i l ) \r
0046120
*
0046160 ( n v a l u e ) \r
0046200
*
0046240 b y t e )
0046260 \r
0046300
0046320 ( ( >
0046340 = c o u n t n b y t e s ) \r
0046360
*
0046420 r e s
0046440 u l t ) \r
0046460
*
0046520 ( m u l t i p l e - v a l u e
0046540 - s e t q ( n b y t e ) \r
0046560
*
0046640 ( f l o o r n 2 5 6 ) )
0046660 \r
0046700
0046720 ( p u
0046740 s h b y t e r e s u l t ) )
0046760 ) \r \r \r ( d e f u n 006 002 d u m
0047000 p - r a t i o n a l 006 001 ( h a
0047020 n d l e v a l u e r e m e m
0047040 b e r ) ( 006 002 d e c l a r e 006
0047060 001 ( i g n o r e r e m e m b
0047100 e r ) ) \r
0047120
*
0047160 ( w r i t e - o p h a n d
0047200 l e ' f a s l - r a t i o ) \r
0047220
*
0047260 ( d u
0047300 m p - v a l u e h a n d l e
0047320 ( n u m e r a t o r v a l u e
0047340 ) \r
0047360
*
0047420 n i l ) \r
0047440
*
0047500 ( d u m p - v a
0047520 l u e h a n d l e ( d e n o
0047540 m i n a t o r v a l u e ) \r
0047560
*
0047640 n i l ) ) \r \r \r ( d e f u
0047660 n 006 002 d u m p - c o m p l e x
0047700 006 001 ( h a n d l e v a l u e
0047720 r e m e m b e r ) ( 006 002 d e
0047740 c l a r e 006 001 ( i g n o r e
0047760 r e m e m b e r ) ) \r
0050000
*
0050040 ( w r i t e - o p
0050060 h a n d l e ' f a s l - c o
0050100 m p l e x ) \r
0050120
*
0050160 ( d u m p - v a l u e h
0050200 a n d l e ( r e a l p a r t
0050220 v a l u e ) \r
0050240
*
0050300 n i l ) \r
0050320
*
0050360 ( d u m p
0050400 - v a l u e h a n d l e ( i
0050420 m a g p a r t v a l u e ) \r
0050440
*
0050520 n i l ) ) \r \r \r ( d e f u n
0050540 006 002 d u m p - i n t e g e r 006
0050560 001 ( h a n d l e v a l u e
0050600 r e m e m b e r ) ( 006 002 d e c
0050620 l a r e 006 001 ( i g n o r e r
0050640 e m e m b e r ) ) \r
0050660
*
0050720 ( c o n d \r
0050740
*
0051000 ( ( a n d
0051020 ( < = 0 v a l u e ) \r
0051040
*
0051120 ( < v a l u e 1 2 8 )
0051140 ) \r
0051160
*
0051220 ( i l : b o u t ( h a n d
0051240 l e - s t r e a m h a n d l e
0051260 ) \r
0051300
*
0051340 v a l u e ) )
0051360 \r
0051400
*
0051440 ( ( a n d ( < = + s m a l l
0051460 e s t - f o u r - b y t e - i n
0051500 t e g e r + v a l u e \r
0051520
*
0051600 + l a r g e s t - f o u
0051620 r - b y t e - i n t e g e r + )
0051640 ) \r
0051660
*
0051720 ( w r i t e - o p h a n d
0051740 l e ' f a s l - i n t e g e r
0051760 ) \r
0052000
*
0052040 ( w r i t e - i n t e g e r
0052060 - b y t e s h a n d l e 4
0052100 v a l u e ) ) \r
0052120
*
0052160 ( t ( w r i t e
0052200 - o p h a n d l e ' f a s l
0052220 - l a r g e - i n t e g e r ) \r
0052240
*
0052320 ( l e t * ( ( m i n b i t
0052340 s ( 1 + ( i n t e g e r - l
0052360 e n g t h v a l u e ) ) ) \r
0052400
*
0052460 ( n b y t e s
0052500 ( c e i l i n g ( i n t e g e
0052520 r - l e n g t h v a l u e ) \r
0052540
*
0052640 8 ) ) ) \r
0052660 \r
0052700 006 003 ( i l : * i l : | ; ;
0052720 | " A c c o r d i n g t o
0052740 t h e b o o k , M I N B I T
0052760 S g i v e s t h e m i n i
0053000 m u m f i e l d w i d t h
0053020 f o r t h i s n u m b e r
0053040 i n 2 ' s c o m p l e m e n
0053060 t r e p r e s e n t a t i o n
0053100 . " ) 006 001 \r \r
0053120
*
0053160 (
0053200 d u m p - v a l u e h a n d l
0053220 e n b y t e s n i l ) \r
0053240
*
0053320 ( w r i t e - i n t
0053340 e g e r - b y t e s h a n d l
0053360 e n b y t e s v a l u e ) )
0053400 ) ) ) \r \r \r ( d e f u n 006 002 d
0053420 u m p - p a c k a g e 006 001 ( h
0053440 a n d l e p a c k a g e r e
0053460 m e m b e r ) ( r e m e m b e
0053500 r p a c k a g e ( w r i t e
0053520 - o p h a n d l e ' f a s l
0053540 - f i n d - p a c k a g e ) \r
0053560
*
0053640 ( d u m p - v a l u e
0053660 h a n d l e ( p a c k a g e -
0053700 n a m e p a c k a g e ) \r
0053720
*
0054000 r e m e m b
0054020 e r ) ) ) \r \r \r ( d e f u n 006
0054040 002 d u m p - d c o d e 006 001 ( h
0054060 a n d l e d c o d e r e m e
0054100 m b e r ) \r
0054120 \r 006 003 ( i
0054140 l : * i l : | ; ; | " D C O
0054160 D E s d o n ' t g e t r e
0054200 m e m b e r e d b e c a u s e
0054220 t h e y a r e n e v e r
0054240 E Q . " ) 006 001 \r ( l e t ( (
0054260 s t r e a m ( h a n d l e - s
0054300 t r e a m h a n d l e ) ) ) \r
0054320 ( m a c r o l e t
0054340 ( ( d u m p - s e q ( s e q
0054360 d u m p - l e n g t h & r e s
0054400 t s t u f f ) \r
0054420
0054440 ` ( l e t ( ( s e q , s e
0054460 q ) ) \r
0054500
0054520 , @ ( a n d d u m p - l e
0054540 n g t h ' ( ( d u m p - v a l
0054560 u e h a n d l e ( l e n g t
0054600 h s e q ) \r
0054620
*
0054700 r e m e m b e r ) ) ) \r
0054720
0054740 ( i f (
0054760 l i s t p s e q ) \r
0055000
0055020 ( d o
0055040 l i s t ( e l t s e q ) \r
0055060
*
0055120 , @ s t u f f )
0055140 \r
0055160
0055200 ( d o t i m e s ( i n d
0055220 e x ( l e n g t h s e q ) )
0055240 \r
0055260
0055300 ( l e t (
0055320 ( e l t ( a r e f s e q i
0055340 n d e x ) ) ) \r
0055360
*
0055420 , @ s t u f f ) ) )
0055440 ) ) ) \r
0055460 ( w r i t e - o p h a n d l
0055500 e ' f a s l - d c o d e ) \r
0055520 ( d u m
0055540 p - v a l u e h a n d l e (
0055560 l e n g t h ( d - a s s e m :
0055600 : d c o d e - n a m e - t a b l
0055620 e d c o d e ) ) \r
0055640 r e
0055660 m e m b e r ) \r
0055700 ( l e t * ( ( c o d
0055720 e - a r r a y ( d - a s s e m
0055740 : : d c o d e - c o d e - a r r
0055760 a y d c o d e ) ) \r
0056000 (
0056020 n b y t e s ( l e n g t h c
0056040 o d e - a r r a y ) ) ) \r
0056060
0056100 ( d u m p - v a l u e h a n d
0056120 l e n b y t e s r e m e m b
0056140 e r ) \r
0056160 ( d o t i m e s
0056200 ( i n b y t e s ) \r
0056220
0056240 ( i l : b o u t s t
0056260 r e a m ( a r e f c o d e -
0056300 a r r a y i ) ) ) ) \r
0056320 ( d u m p - s
0056340 e q ( d - a s s e m : : d c o
0056360 d e - n a m e - t a b l e d c
0056400 o d e ) \r
0056420 n i l \r
0056440
0056460 ( i l : b o u t s t r e a m
0056500 ( f i r s t e l t ) ) \r
0056520
0056540 ( d u m p - v a l u e h a
0056560 n d l e ( s e c o n d e l t
0056600 ) \r
0056620 r e m
0056640 e m b e r ) \r
0056660 ( d u m p
0056700 - v a l u e h a n d l e ( t
0056720 h i r d e l t ) \r
0056740
0056760 r e m e m b e r ) ) \r
0057000 ( d u
0057020 m p - v a l u e h a n d l e
0057040 ( d - a s s e m : : d c o d e -
0057060 f r a m e - n a m e d c o d e
0057100 ) \r
0057120 r e m e m b e r ) \r
0057140 ( i l
0057160 : b o u t s t r e a m ( d -
0057200 a s s e m : : d c o d e - n l o
0057220 c a l s d c o d e ) ) \r
0057240 ( i l : b o
0057260 u t s t r e a m ( d - a s s
0057300 e m : : d c o d e - n f r e e v
0057320 a r s d c o d e ) ) \r
0057340 ( i l : b o u
0057360 t s t r e a m ( d - a s s e
0057400 m : : d c o d e - a r g - t y p
0057420 e d c o d e ) ) \r
0057440 ( d u m p - v a l
0057460 u e h a n d l e ( d - a s s
0057500 e m : : d c o d e - n u m - a r
0057520 g s d c o d e ) \r
0057540 r e
0057560 m e m b e r ) \r
0057600 ( d u m p - v a l u e
0057620 h a n d l e ( d - a s s e m
0057640 : : d c o d e - c l o s u r e -
0057660 p d c o d e ) \r
0057700 r e m
0057720 e m b e r ) \r
0057740 ( d u m p - v a l u e
0057760 h a n d l e ( d - a s s e m :
0060000 : d c o d e - d e b u g g i n g
0060020 - i n f o d c o d e ) \r
0060040
0060060 r e m e m b e r ) \r
0060100 ( m a c r o l e
0060120 t ( ( d u m p - f i x u p s
0060140 ( l i s t ) \r
0060160
0060200 ` ( d u m p - s e q
0060220 , l i s t t ( d u m p - v
0060240 a l u e h a n d l e ( f i r
0060260 s t e l t ) ) \r
0060300
*
0060340 ( d u m p - v a l u e h a n d
0060360 l e ( s e c o n d e l t ) )
0060400 ) ) ) \r
0060420 ( d u m p - f i
0060440 x u p s ( d - a s s e m : : d
0060460 c o d e - f n - f i x u p s d
0060500 c o d e ) ) \r
0060520 ( d u m p
0060540 - f i x u p s ( d - a s s e m
0060560 : : d c o d e - s y m - f i x u
0060600 p s d c o d e ) ) \r
0060620 (
0060640 d u m p - f i x u p s ( d - a
0060660 s s e m : : d c o d e - l i t -
0060700 f i x u p s d c o d e ) ) \r
0060720
0060740 ( d u m p - f i x u p s
0060760 ( d - a s s e m : : d c o d e -
0061000 t y p e - f i x u p s d c o d
0061020 e ) ) ) ) \r n i l )
0061040 ) \r \r \r ( d e f u n 006 002 d u m
0061060 p - s t r i n g 006 001 ( h a n d
0061100 l e s t r i n g r e m e m b
0061120 e r ) \r ( r e m e m b e r
0061140 s t r i n g ( l e t ( ( s
0061160 t r e a m ( h a n d l e - s t
0061200 r e a m h a n d l e ) ) \r
0061220
0061240 ( n c h a r s
0061260 ( l e n g t h s t r i n g ) )
0061300 ) \r
0061320 ( c o n d
0061340 \r
0061360 ( ( f
0061400 a t - s t r i n g - p s t r i
0061420 n g ) \r
0061440
0061460 ( w r i t e - o p h a n d l
0061500 e ' f a s l - f a t - s t r i
0061520 n g ) \r
0061540
0061560 ( d u m p - v a l u e h a n
0061600 d l e n c h a r s r e m e m
0061620 b e r ) \r
0061640
0061660 ( d o ( ( i 0 ( 1 +
0061700 i ) ) \r
0061720
0061740 ( c s e t 0 ) ) \r
0061760
*
0062020 ( ( > = i n c h a r s ) )
0062040 006 003 (
0062060 i l : * i l : \ ; " A l w a
0062100 y s r u n - e n c o d e " ) 006
0062120 001 \r
0062140
0062160 ( l e t * ( ( c h a r
0062200 ( c h a r - c o d e ( c h a r
0062220 s t r i n g i ) ) ) \r
0062240
*
0062300 ( n e w - c s e t (
0062320 i l : l r s h c h a r 8 ) )
0062340 ) \r
0062360
0062400 ( u n l e s s
0062420 ( e q l n e w - c s e t c
0062440 s e t ) \r
0062460
*
0062520 ( s e t q c s e t n e
0062540 w - c s e t ) \r
0062560
*
0062620 ( i l : b o u t s
0062640 t r e a m 2 5 5 ) \r
0062660
*
0062720 ( i l : b o u
0062740 t s t r e a m c s e t ) ) \r
0062760
*
0063020 ( i l : b o u t
0063040 s t r e a m ( l o g a n d c
0063060 h a r 2 5 5 ) ) ) ) ) \r
0063100
0063120 ( t ( w r i
0063140 t e - o p h a n d l e ' f a
0063160 s l - t h i n - s t r i n g ) \r
0063200
0063220 (
0063240 d u m p - v a l u e h a n d l
0063260 e n c h a r s r e m e m b e
0063300 r ) \r \r
0063320 006 003 ( i l : *
0063340 i l : | ; ; | " s h o u l d
0063360 u s e \ \ b o u t s " ) 006 001 \r
0063400 \r
0063420
0063440 ( d o t i m e s ( i n c h a
0063460 r s ) \r
0063500
0063520 ( i l : b o
0063540 u t s t r e a m ( c h a r -
0063560 c o d e ( c h a r s t r i n
0063600 g i ) ) ) ) ) ) ) ) ) \r \r \r (
0063620 d e f u n 006 002 d u m p - f l o
0063640 a t 3 2 006 001 ( h a n d l e n
0063660 u m b e r r e m e m b e r )
0063700
0063720 006 003 ( i l : * i l : \ ; \r 006
0063740 001
0063760
*
0064020 006 003
0064040 " F l o a t s d o n ' t g e
0064060 t r e m e m b e r e d " ) 006 001
0064100 \r ( w r i t e - o p h a
0064120 n d l e ' f a s l - f l o a t
0064140 3 2 ) \r ( i l : \ \ b o u
0064160 t s ( h a n d l e - s t r e a
0064200 m h a n d l e ) \r
0064220 n u m b e r 0 4 ) )
0064240 \r \r \r ( d e f u n 006 002 d u m p
0064260 - s t r u c t u r e 006 001 ( h a
0064300 n d l e v a l u e r e m e m
0064320 b e r ) ( l e t ( ( t y p e
0064340 ( i l : t y p e n a m e v a
0064360 l u e ) ) ) \r
0064400
*
0064440 ( r e m e m
0064460 b e r v a l u e ( w r i t e
0064500 - o p h a n d l e ' f a s l
0064520 - s t r u c t u r e ) \r
0064540
*
0064620 ( d u m p - v a l u
0064640 e h a n d l e t y p e t )
0064660 \r
0064700
*
0064740 ( d u m p
0064760 - v a l u e \r
0065000
*
0065060 h a n d l e \r
0065100
*
0065160 ( 006 002 i l : f o r 006 001
0065200 f i e l d 006 002 i l : i n 006 001
0065220 ( i l : s l o t - l i s t t y
0065240 p e ) \r
0065260
*
0065340 006 002 i l : a s 006 001 d e s c
0065360 r i p t o r \r
0065400
*
0065460 006 002 i l : i n 006 001 (
0065500 i l : g e t d e s c r i p t o r
0065520 s t y p e ) \r
0065540
*
0065620 006 002 i l : j o i n 006
0065640 001 ( l i s t f i e l d ( i
0065660 l : f e t c h f i e l d \r
0065700
*
0066020 d e s c r i p t o r v a l u e
0066040 ) ) \r
0066060
*
0066140 ) \r
0066160
*
0066240 t ) ) ) ) \r \r \r ( d e f u n
0066260 006 002 d u m p - b i t m a p 006 001
0066300 ( h a n d l e v a l u e r
0066320 e m e m b e r ) ( l e t ( (
0066340 w i d t h ( i l : b i t m a p
0066360 w i d t h v a l u e ) ) \r
0066400
*
0066440 (
0066460 h e i g h t ( i l : b i t m a
0066500 p h e i g h t v a l u e ) ) \r
0066520
*
0066600 ( b i t s - p e r - p i x e l
0066620 ( i l : b i t s p e r p i x e
0066640 l v a l u e ) ) \r
0066660
*
0066720 ( b a s e
0066740 ( 006 002 i l : f e t c h 006 001 (
0066760 i l : b i t m a p i l : b i t
0067000 m a p b a s e ) \r
0067020
*
0067100 006 002 i l : o f 006 001 v a l
0067120 u e ) ) \r
0067140
*
0067200 ( s t r e a m ( h
0067220 a n d l e - s t r e a m h a n
0067240 d l e ) ) ) \r
0067260
*
0067320 ( r e m e m b e r
0067340 v a l u e \r
0067360
*
0067440 006 003 ( i l : * i l :
0067460 \ ; \r 006 001
0067500
*
0067560 006 003 " R e m e m b e r t
0067600 h e b i t m a p i t s e l f
0067620 . " ) 006 001 \r
0067640
*
0067700 ( w r
0067720 i t e - o p h a n d l e ' f
0067740 a s l - b i t m a p 1 6 ) \r
0067760
*
0070040 ( d u m p - v a l u e
0070060 h a n d l e w i d t h ) \r
0070100
*
0070160 ( d u m p - v a l u
0070200 e h a n d l e h e i g h t )
0070220 \r
0070240
*
0070300 ( d u m p - v a
0070320 l u e h a n d l e b i t s -
0070340 p e r - p i x e l ) \r
0070360
*
0070440 ( i l : \ \ b o u t s s t
0070460 r e a m b a s e 0 \r
0070500
*
0070560 ( * 2 h
0070600 e i g h t ( c e i l i n g (
0070620 * w i d t h \r
0070640
*
0070740 b
0070760 i t s - p e r - p i x e l ) \r
0071000
*
0071120 1 6 ) ) ) ) ) ) \r \r \r ( d e f u
0071140 n 006 002 o p e n - f a s l - h a
0071160 n d l e 006 001 ( n a m e & r e
0071200 s t o p e n - o p t i o n s )
0071220 ( l e t ( ( s t r e a m (
0071240 a p p l y # ' o p e n n a m
0071260 e : d i r e c t i o n : o u
0071300 t p u t \r
0071320
*
0071400 o p e
0071420 n - o p t i o n s ) ) ) \r
0071440
*
0071520 ( i l : s e t f i l e p
0071540 t r s t r e a m 0 ) \r
0071560
*
0071640 ( i l : b o u t s t r
0071660 e a m s i g n a t u r e ) \r
0071700
*
0071760 ( i l : b o u t 1 6
0072000 s t r e a m c u r r e n t -
0072020 v e r s i o n ) \r
0072040
*
0072120 ( m a k e - h a n d l e : s t
0072140 r e a m s t r e a m ) ) ) \r \r
0072160 \r ( d e f m a c r o 006 002 w i t
0072200 h - o p e n - h a n d l e 006 001
0072220 ( ( h a n d l e f i l e n a m
0072240 e & r e s t o p e n - o p t
0072260 i o n s ) \r
0072300
0072320 & b o d y \r
0072340
0072360 ( b o d y d e c l s )
0072400 ) ( l e t ( ( a b o r t (
0072420 i l : g e n s y m " F A S L :
0072440 W I T H - O P E N - F A S L - H
0072460 A N D L E " ) ) ) \r
0072500
*
0072540 ` ( l e t (
0072560 ( , h a n d l e ( o p e n - f
0072600 a s l - h a n d l e , f i l e
0072620 n a m e \r
0072640
*
0072720 , @ o p e
0072740 n - o p t i o n s ) ) \r
0072760
*
0073040 ( , a b o r t t ) ) \r
0073060
*
0073140 , @ d e c l s \r
0073160
*
0073240 ( u n w i n d - p r o t e c t
0073260 ( m u l t i p l e - v a l u e -
0073300 p r o g 1 \r
0073320
*
0073400 ( p r o
0073420 g n , @ b o d y ) \r
0073440
*
0073540 ( s e t q , a b o r t n i
0073560 l ) ) \r
0073600
*
0073660 ( w h e n , h a n d l e ( c
0073700 l o s e - f a s l - h a n d l e
0073720 \r
0073740
*
0074020 , h a n
0074040 d l e : a b o r t \r
0074060
*
0074160 , a b o r t ) ) ) )
0074200 ) ) \r \r \r ( d e f u n 006 002 b e
0074220 g i n - t e x t 006 001 ( h a n d
0074240 l e ) ( s t a t e - c a s e
0074260 ( ( : t e x t : b l o c k - e
0074300 n d ) ) \r
0074320
0074340 ( : b l o c k (
0074360 e n d - b l o c k h a n d l e
0074400 ) ) ) \r
0074420 (
0074440 s e t f ( h a n d l e - s t a
0074460 t e h a n d l e ) \r
0074500
0074520 : t e x
0074540 t ) \r
0074560 ( h
0074600 a n d l e - s t r e a m h a n
0074620 d l e ) ) \r \r \r ( d e f u n 006
0074640 002 b e g i n - b l o c k 006 001 (
0074660 h a n d l e ) ( s t a t e - c
0074700 a s e ( : b l o c k - e n d
0074720 ( b e g i n - t e x t h a n d
0074740 l e ) \r
0074760
*
0075020 ( e n d - t e x t h a n
0075040 d l e ) ) \r
0075060
0075100 ( : t e x t
0075120 ( e n d - t e x t h a n d l e
0075140 ) ) \r
0075160
0075200 ( : b l o c k ) ) )
0075220 \r \r \r ( d e f u n 006 002 v a l u
0075240 e - d u m p a b l e - p 006 001 (
0075260 o b j ) ( x c l : c o n d i t
0075300 i o n - c a s e ( p r o g n
0075320 ( d u m p - v a l u e d u m m
0075340 y - h a n d l e o b j n i l
0075360 ) \r
0075400
*
0075440 t ) \r
0075460
*
0075520 ( o b j e c t - n o t - d
0075540 u m p a b l e n i l n i l )
0075560 ) ) \r \r \r ( d e f u n 006 002 d u
0075600 m p - v a l u e 006 001 ( h a n d
0075620 l e v a l u e & o p t i o n
0075640 a l ( r e m e m b e r t ) \r
0075660
0075700 & a u x i n
0075720 d e x ) ( s t a t e - c a s e
0075740 ( : b l o c k ( c o n d \r
0075760
*
0076040 ( ( e q
0076060 v a l u e n i l ) \r
0076100
*
0076160 ( w r i t e - o
0076200 p h a n d l e ' f a s l - n
0076220 i l ) ) \r
0076240
*
0076320 ( ( e q v a l u e t ) \r
0076340
*
0076420 ( w r i
0076440 t e - o p h a n d l e ' f a
0076460 s l - t ) ) \r
0076500
*
0076560 ( ( p r o g 1 ( s e t q
0076600 i n d e x ( l o o k u p - v
0076620 a l u e h a n d l e \r
0076640
*
0076760 v a l u e ) ) \r
0077000
*
0077100 ( w h e n * g a t h e r - d u
0077120 m p e r - s t a t s * \r
0077140
*
0077240 ( i n c f * t a b
0077260 l e - a t t e m p t s * ) ) ) \r
0077300
*
0077360 ( w h
0077400 e n * g a t h e r - d u m p e
0077420 r - s t a t s * ( i n c f \r
0077440
*
0077560 * t a b l e -
0077600 h i t s * \r
0077620
*
0077740 ) ) \r
0077760
*
0100040 ( d u m p - v a l u e
0100060 - f e t c h h a n d l e i n
0100100 d e x ) ) \r
0100120
*
0100200 ( t ( t y p e c a s e v
0100220 a l u e \r
0100240
*
0100320 ( i n t e
0100340 g e r ( d u m p - i n t e g e
0100360 r h a n d l e \r
0100400
*
0100520 v a l u e r e m e m b e r ) \r
0100540
*
0100640 ) \r
0100660
*
0100760 ( r a t i o n a l (
0101000 d u m p - r a t i o n a l h a
0101020 n d l e \r
0101040
*
0101140 v a l
0101160 u e r e m e m b e r \r
0101200
*
0101320 ) ) \r
0101340
*
0101420 ( s i n
0101440 g l e - f l o a t ( d u m p -
0101460 f l o a t 3 2 \r
0101500
*
0101600 h a n
0101620 d l e v a l u e \r
0101640
*
0101760 r e m e m b e r ) ) \r
0102000
*
0102100 ( c o m p l e x ( d u m p -
0102120 c o m p l e x h a n d l e \r
0102140
*
0102260 v a l u e r e m e
0102300 m b e r ) \r
0102320
*
0102420 ) \r
0102440
*
0102520 ( c h a r
0102540 a c t e r ( d u m p - c h a r
0102560 a c t e r \r
0102600
*
0102700 h a n d l e v
0102720 a l u e \r
0102740
*
0103040 r e m e m b e r
0103060 ) ) \r
0103100
*
0103160 ( s y m b o l
0103200 ( d u m p - s y m b o l h a
0103220 n d l e \r
0103240
*
0103340 v a l u e
0103360 r e m e m b e r ) ) \r
0103400
*
0103500 ( p a c k a g e ( d u m p
0103520 - p a c k a g e h a n d l e
0103540 \r
0103560
*
0103660 v a l u e r e m
0103700 e m b e r ) \r
0103720
*
0104020 ) \r
0104040
*
0104120 ( c o n
0104140 s ( d u m p - l i s t h a n
0104160 d l e v a l u e \r
0104200
*
0104300 r e
0104320 m e m b e r ) ) \r
0104340
*
0104420 (
0104440 d - a s s e m : d c o d e ( d
0104460 u m p - d c o d e \r
0104500
*
0104620 h a n d l e v a l u e \r
0104640
*
0104760 r e m e m b e r ) ) \r
0105000
*
0105100 ( s t r i n g ( d u
0105120 m p - s t r i n g h a n d l e
0105140 \r
0105160
*
0105260 v a l u e r e m
0105300 e m b e r ) ) \r
0105320
*
0105400 ( a
0105420 r r a y ( d u m p - a r r a y
0105440 h a n d l e v a l u e \r
0105460
*
0105600 r e m e m b e r ) ) \r
0105620
*
0105720 ( c o m p i l e r : : e
0105740 v a l - w h e n - l o a d \r
0105760
*
0106060 ( d u m p - e v a l
0106100 h a n d l e ( \r
0106120
*
0106220 c o m p i l e r : : e v a l -
0106240 w h e n - l o a d - f o r m \r
0106260
*
0106400 v a l u e ) )
0106420 ) \r
0106440
*
0106520 ( c l : : s t r
0106540 u c t u r e - o b j e c t \r
0106560
*
0106660 ( d u m p - s t r u c
0106700 t u r e h a n d l e v a l u
0106720 e \r
0106740
*
0107040 r e m e m b e r ) ) \r
0107060
*
0107160 ( i l : b i t m a p ( d u
0107200 m p - b i t m a p h a n d l e
0107220 \r
0107240
*
0107340 v a l u e
0107360 \r
0107400
*
0107500 r e m e m b e
0107520 r ) ) \r
0107540
*
0107620 ( o t h e r
0107640 w i s e ( e r r o r ' \r
0107660
*
0110000 o b j e c t - n o t - d u m p a
0110020 b l e \r
0110040
*
0110140 : o b
0110160 j e c t v a l u e \r
0110200
*
0110320 ) ) ) ) ) ) ) ) \r \r \r ( d
0110340 e f u n 006 002 d u m p - f u n c
0110360 t i o n - d e f 006 001 ( h a n d
0110400 l e d c o d e n a m e ) (
0110420 s t a t e - c a s e ( : b l o
0110440 c k ( w r i t e - o p h a n
0110460 d l e ' \r
0110500
*
0110560 f a
0110600 s l - s e t f - s y m b o l - f
0110620 u n c t i o n ) \r
0110640
*
0110720 ( d u m p - v
0110740 a l u e h a n d l e n a m e
0110760 ) \r
0111000
*
0111060 ( d u m p - v a l u e h a
0111100 n d l e d c o d e ) ) ) ) \r \r
0111120 \r ( d e f u n 006 002 d u m p - f
0111140 u n c a l l 006 001 ( h a n d l e
0111160 f u n c t i o n ) ( s t a t
0111200 e - c a s e ( : b l o c k (
0111220 w r i t e - o p h a n d l e
0111240 ' f a s l - f u n c a l l ) \r
0111260
*
0111340 ( d u m p - v a
0111360 l u e h a n d l e f u n c t
0111400 i o n ) ) ) ) \r \r \r ( d e f u n
0111420 006 002 d u m p - e v a l 006 001 (
0111440 h a n d l e f o r m ) ( s t
0111460 a t e - c a s e ( : b l o c k
0111500 ( w r i t e - o p h a n d l
0111520 e ' f a s l - e v a l ) \r
0111540
*
0111620 ( d u m p - v a l u e h a n d
0111640 l e f o r m ) ) ) ) \r \r \r ( d
0111660 e f u n 006 002 c l o s e - f a s
0111700 l - h a n d l e 006 001 ( h a n d
0111720 l e & r e s t c l o s e - o
0111740 p t i o n s & k e y a b o r
0111760 t & a l l o w - o t h e r - k
0112000 e y s ) \r ( s t a t e - c
0112020 a s e ( : t e x t ( e n d -
0112040 t e x t h a n d l e ) \r
0112060
0112100 ( e n d - b l o c k h a
0112120 n d l e ) ) \r
0112140 ( : b l o c k ( e n d - b l
0112160 o c k h a n d l e ) ) \r
0112200 ( : b l o c k - e
0112220 n d ) ) \r ( s e t f ( h
0112240 a n d l e - s t a t e h a n d
0112260 l e ) \r : c l
0112300 o s e d ) \r ( a p p l y
0112320 # ' c l o s e ( h a n d l e -
0112340 s t r e a m h a n d l e ) \r
0112360 c l o s e - o
0112400 p t i o n s ) ) \r \r \r \r \r 006 004 (
0112420 i l : * i l : | ; ; ; | " R
0112440 e a d e r . " ) 006 001 \r \r \r ( x c
0112460 l : d e f - d e f i n e - t y p
0112500 e 006 002 f a s l - o p s 006 001 "
0112520 F A S L f i l e o p c o d e
0112540 s " ) \r \r \r ( d e f s t r u c
0112560 t ( 006 002 o p t a b l e 006 001 (
0112600 : c o n s t r u c t o r n e w
0112620 - o p t a b l e ) ) v e c t o
0112640 r o p n a m e s n e x t ) \r
0112660 \r \r ( d e f u n 006 002 m a k e -
0112700 o p t a b l e 006 001 n i l ( l
0112720 e t ( ( t a b l e ( n e w -
0112740 o p t a b l e ) ) \r
0112760
0113000 ( v e c t o r
0113020 ( m a k e - a r r a y 2 5 6
0113040 : i n i t i a l - e l e m e n t
0113060 ' u n i m p l e m e n t e d -
0113100 o p c o d e ) ) ) \r
0113120
0113140 ( s e t f ( o p
0113160 t a b l e - v e c t o r t a b
0113200 l e ) \r
0113220
0113240 v e c t o r ) \r
0113260
0113300 ( s e t
0113320 f ( s v r e f v e c t o r
0113340 e n d - m a r k ) \r
0113360
0113400 ' f a
0113420 s l - e n d - o f - b l o c k )
0113440 \r
0113460 t a
0113500 b l e ) ) \r \r \r ( d e f u n 006
0113520 002 f a s l - e n d - o f - b l o
0113540 c k 006 001 ( s t r e a m o p )
0113560 ( i f ( z e r o p * b l o
0113600 c k - l e v e l * ) \r
0113620
*
0113660 ( t h r o w ' f a s l
0113700 - b l o c k - f i n i s h e d
0113720 n i l ) \r
0113740
0113760 ( e
0114000 r r o r ' u n e x p e c t e d
0114020 - e n d - o f - b l o c k : s
0114040 t r e a m s t r e a m ) ) ) \r
0114060 \r \r ( x c l : d e f d e f i n e
0114100 r 006 002 d e f o p 006 001 f a s l
0114120 - o p s ( i l : n a m e ( o
0114140 p c o d e & k e y ( i n d i
0114160 r e c t 0 ) \r
0114200
*
0114240 ( t a b l e ' *
0114260 d e f a u l t - o p t a b l e *
0114300 ) ) \r
0114320
0114340 & b o d y \r
0114360
*
0114420 ( b o d y d e c l s
0114440 d o c ) ) \r
0114460
0114500 ( i f ( z e r o p i n
0114520 d i r e c t ) \r
0114540
0114560 ` ( p r o g n
0114600 ( d e f u n ( 006 002 i l : \ \ \
0114620 , 006 001 i l : n a m e ) ( s t
0114640 r e a m o p c o d e ) , ( o
0114660 r d o c \r
0114700
*
0115000 " F A S L o p c o d e i m p
0115020 l e m e n t a t i o n " \r
0115040
*
0115160 ) , @ d e c l s \r
0115200
*
0115320 , @ b o d y ) \r \r
0115340
*
0115400 ( s e t f ( e l t
0115420 ( o p t a b l e - v e c t o r
0115440 , t a b l e ) \r
0115460
*
0115520 , o p c o
0115540 d e ) \r
0115560
*
0115620 ' , i l : n a m e ) \r
0115640
*
0115700 ( a d d - o p - t r a
0115720 n s l a t i o n ' , i l : n a
0115740 m e , o p c o d e , t a b l
0115760 e ) ) \r
0116000
0116020 ` ( p r o g n ( u n l
0116040 e s s ( o p t a b l e - n e x
0116060 t , t a b l e ) \r
0116100
*
0116140 ( s e t f (
0116160 o p t a b l e - n e x t , t a
0116200 b l e ) \r
0116220
*
0116260 ( m a k e -
0116300 o p t a b l e ) ) \r
0116320
*
0116360 ( s e t e s c
0116400 a p e , t a b l e ) ) \r
0116420
*
0116460 ( d e f o p ( 006 002 i
0116500 l : \ \ \ , 006 001 i l : n a m e
0116520 ) ( , o p c o d e : i n d i
0116540 r e c t \r
0116560
*
0116640 , ( 1
0116660 - i n d i r e c t ) : t a b
0116700 l e \r
0116720
*
0117000 ( o p t a
0117020 b l e - n e x t , t a b l e )
0117040 ) \r
0117060
0117100 , ( o
0117120 r d o c " F A S L o p c o
0117140 d e i m p l e m e n t a t i o
0117160 n " ) , @ d e c l s \r
0117200
*
0117240 , @ b
0117260 o d y ) \r ) ) ) \r \r \r ( x c l :
0117300 d e f d e f i n e r 006 002 d e f
0117320 r a n g e 006 001 \r f a s l -
0117340 o p s ( i l : n a m e ( f i
0117360 r s t - o p c o d e & k e y
0117400 ( i n d i r e c t 0 ) \r
0117420
0117440 ( t a b l e
0117460 ' * d e f a u l t - o p t a b l
0117500 e * ) ) \r
0117520 r a n g e o f
0117540 f s e t & b o d y ( b o d y
0117560 d e c l s d o c ) ) \r
0117600 ( i f ( z e r o p
0117620 i n d i r e c t ) \r
0117640 ` ( p r o g n
0117660 ( d e f u n ( 006 002 i l : \ \ \
0117700 , 006 001 i l : n a m e ) ( s t
0117720 r e a m o p c o d e ) , ( o
0117740 r d o c " F A S L o p c o
0117760 d e i m p l e m e n t a t i o
0120000 n " ) \r
0120020
*
0120100 , @ d e c l s \r
0120120
*
0120200 , @ b o d y ) \r
0120220 \r
0120240 ( l e t ( ( p a c
0120260 k a g e ( s y m b o l - p a c
0120300 k a g e ' , i l : n a m e ) )
0120320 \r
0120340 ( p n a
0120360 m e ( s y m b o l - n a m e
0120400 ' , i l : n a m e ) ) ) \r
0120420
0120440 ( d o t i m e s
0120460 ( i , r a n g e ) \r
0120500
0120520 ( l e t
0120540 ( ( o p c o d e ( + i ,
0120560 f i r s t - o p c o d e ) ) ) \r
0120600
*
0120640 ( s e t f ( e l t
0120660 ( o p t a b l e - v e c t o r
0120700 , t a b l e ) \r
0120720
*
0120760 o p c o d e
0121000 ) \r
0121020
0121040 ' ,
0121060 i l : n a m e ) \r
0121100
0121120 (
0121140 a d d - o p - t r a n s l a t i
0121160 o n ( i n t e r n ( c o n c
0121200 a t e n a t e \r
0121220
*
0121300 ' s t r i
0121320 n g p n a m e \r
0121340
*
0121420 ( w r i
0121440 t e - t o - s t r i n g \r
0121460
*
0121560 ( + i , o f f s e t ) ) )
0121600 \r
0121620
*
0121700 p a c k a g e ) \r
0121720
*
0121760 o p c o d e \r
0122000
*
0122040 , t a b
0122060 l e ) ) ) ) ) \r
0122100 ` ( p r o g n ( u n
0122120 l e s s ( o p t a b l e - n e
0122140 x t , t a b l e ) \r
0122160
0122200 ( s e t f ( o p
0122220 t a b l e - n e x t , t a b l
0122240 e ) \r
0122260
0122300 ( m a k e - o p t a b
0122320 l e ) ) \r
0122340
0122360 ( s e t e s c a p e , t a b
0122400 l e ) ) \r
0122420 ( d e f r a
0122440 n g e ( 006 002 i l : \ \ \ , 006 001
0122460 i l : n a m e ) ( , f i r s
0122500 t - o p c o d e : i n d i r e
0122520 c t , ( 1 - i n d i r e c t
0122540 ) : t a b l e \r
0122560
*
0122640 ( o p t a b l e - n e x t ,
0122660 t a b l e ) ) , ( o r d o c
0122700 \r
0122720
*
0123000 " F A S L
0123020 o p c o d e i m p l e m e n
0123040 t a t i o n " \r
0123060
*
0123160 ) , @
0123200 d e c l s \r
0123220
*
0123320 , @ b o d
0123340 y ) \r ) ) ) \r \r \r ( d e f u n
0123360 006 002 a d d - o p - t r a n s l a
0123400 t i o n 006 001 ( n a m e o p c
0123420 o d e t a b l e ) ( l e t
0123440 ( ( p a i r ( a s s o c n a
0123460 m e ( o p t a b l e - o p n a
0123500 m e s t a b l e ) ) ) ) \r
0123520
*
0123600 ( i f p a i r ( s e t f
0123620 ( c d r p a i r ) \r
0123640
*
0123720 o p c
0123740 o d e ) \r
0123760
*
0124020 ( p u s
0124040 h ( c o n s n a m e o p c
0124060 o d e ) \r
0124100
*
0124160 ( o p t a b l e - o p n a m
0124200 e s t a b l e ) ) ) ) ) \r \r \r
0124220 ( d e f u n 006 002 o p c o d e -
0124240 s e q u e n c e 006 001 ( o p n a
0124260 m e & o p t i o n a l ( t a
0124300 b l e * d e f a u l t - o p t
0124320 a b l e * ) \r
0124340
0124360 & a u x e n t r y )
0124400 ( c o n d \r
0124420
*
0124460 ( ( n u l l t a b l e
0124500 ) \r
0124520
*
0124560 n i l ) \r
0124600
*
0124640 ( ( s e t q e n t r y (
0124660 a s s o c o p n a m e ( o p
0124700 t a b l e - o p n a m e s t a
0124720 b l e ) ) ) \r
0124740
*
0125000 ( l i s t ( c d r
0125020 e n t r y ) ) ) \r
0125040
*
0125100 ( ( s e t q e n t
0125120 r y ( o p c o d e - s e q u e
0125140 n c e o p n a m e ( o p t a
0125160 b l e - n e x t \r
0125200
*
0125300 t a b l
0125320 e ) ) ) \r
0125340
*
0125400 ( c o n s f a s l - e x
0125420 t e n d e d e n t r y ) ) \r
0125440
*
0125500 ( t n
0125520 i l ) ) ) \r \r \r ( d e f u n 006
0125540 002 f a s l - e x t e n d e d 006 001
0125560 ( s t r e a m o p ) ( w i
0125600 t h - o p t a b l e ( o p t a
0125620 b l e - n e x t * c u r r e n
0125640 t - o p t a b l e * ) \r
0125660
*
0125720 ( d o - o p s t r e a
0125740 m ) ) ) \r \r \r ( d e f u n 006 002
0125760 s e t e s c a p e 006 001 ( t a b
0126000 l e ) ( s e t f ( s v r e f
0126020 ( o p t a b l e - v e c t o r
0126040 t a b l e ) \r
0126060
0126100 f a
0126120 s l - e x t e n d e d ) \r
0126140
0126160 # ' f a
0126200 s l - e x t e n d e d ) ) \r \r \r
0126220 ( d e f u n 006 002 u n i m p l e
0126240 m e n t e d - o p c o d e 006 001
0126260 ( s t r e a m o p c o d e )
0126300 ( e r r o r ' u n i m p l e m
0126320 e n t e d - o p c o d e : o p
0126340 n a m e o p c o d e ) ) \r \r \r
0126360 ( d e f v a r 006 002 * d e f a u
0126400 l t - o p t a b l e * 006 001 ( m
0126420 a k e - o p t a b l e ) ) \r \r
0126440 \r ( d e f v a r 006 002 * c u r r
0126460 e n t - o p t a b l e * 006 001 n
0126500 i l ) \r \r \r ( d e f p a r a m e
0126520 t e r 006 002 i n i t i a l - v a
0126540 l u e - t a b l e - s i z e 006 001
0126560 2 0 4 8 ) \r \r \r ( d e f c o n
0126600 s t a n t 006 002 v a l u e - t a
0126620 b l e - i n c r e m e n t 006 001
0126640 1 0 2 4 ) \r \r \r ( d e f v a r
0126660 006 002 * v a l u e - t a b l e * 006
0126700 001 n i l ) \r \r \r ( d e f v a r
0126720 006 002 * b l o c k - l e v e l *
0126740 006 001 0 ) \r \r \r ( d e f v a r
0126760 006 002 d e b u g - r e a d e r 006 001
0127000 n i l ) \r \r \r ( d e f v a r
0127020 006 002 d e b u g - s t r e a m 006 001
0127040 n i l ) \r \r \r ( d e f m a c r
0127060 o 006 002 w i t h - o p t a b l e
0127100 006 001 ( t a b l e & b o d y
0127120 b o d y ) ` ( l e t ( ( * c
0127140 u r r e n t - o p t a b l e *
0127160 , t a b l e ) ) \r
0127200
*
0127240 , @ b o d y )
0127260 ) \r \r \r ( d e f u n 006 002 p r o
0127300 c e s s - f i l e 006 001 ( s t r
0127320 e a m & k e y ( t e x t - f
0127340 n # ' ( l a m b d a ( t e x
0127360 t ) \r
0127400
*
0127440 ( p r i n c t e x
0127460 t ) \r
0127500
*
0127540 ( t e r p r i ) ) )
0127560 \r
0127600 ( i t e
0127620 m - f n n i l ) ) " C a l l
0127640 s F A S L : P R O C E S S - S
0127660 E G M E N T w i t h t h e
0127700 a p p r o r i a t e a r g u m
0127720 e n t s f o r e a c h s e
0127740 g m e n t i n t h e f i l
0127760 e . T h e s t r e a m s h
0130000 o u l d b e p o s i t i o n
0130020 e d a t t h e b e g i n n
0130040 i n g . " \r ( u n l e s s
0130060 ( e q l ( i l : b i n s t
0130100 r e a m ) \r
0130120 s i g n a t u r e )
0130140 \r ( e r r o
0130160 r " N o t a F A S L f i
0130200 l e . " ) ) \r ( c h e c k
0130220 - v e r s i o n s t r e a m )
0130240 \r ( d o n i l ( ( i l
0130260 : e o f p s t r e a m ) \r
0130300 ( v a l u e
0130320 s ) ) \r ( p r o c
0130340 e s s - s e g m e n t s t r e
0130360 a m t e x t - f n i t e m -
0130400 f n ) ) ) \r \r \r ( d e f u n 006
0130420 002 c h e c k - v e r s i o n 006 001
0130440 ( s t r e a m ) ( l e t (
0130460 ( v e r s i o n ( i l : b i n
0130500 1 6 s t r e a m ) ) ) \r
0130520
*
0130560 ( o r ( a n d ( < = ( c a
0130600 r v e r s i o n - r a n g e )
0130620 \r
0130640
0130660 v e
0130700 r s i o n ) \r
0130720
*
0130760 ( < = v e r s i o n (
0131000 c d r v e r s i o n - r a n g
0131020 e ) ) ) \r
0131040
0131060 ( e r r
0131100 o r " V e r s i o n n o t
0131120 s u p p o r t e d : ~ D . "
0131140 v e r s i o n ) ) ) ) \r \r \r ( d
0131160 e f u n 006 002 p r o c e s s - s
0131200 e g m e n t 006 001 ( s t r e a m
0131220 & o p t i o n a l t e x t -
0131240 f n i t e m - f n ( o p t a
0131260 b l e * d e f a u l t - o p t
0131300 a b l e * ) ) \r ( i f t
0131320 e x t - f n ( f u n c a l l
0131340 t e x t - f n ( r e a d - t e
0131360 x t s t r e a m ) ) \r
0131400 ( s k i p - t e x t s t
0131420 r e a m ) ) \r ( p r o c e
0131440 s s - b l o c k s t r e a m
0131460 i t e m - f n o p t a b l e )
0131500 ) \r \r \r ( d e f u n 006 002 r e a
0131520 d - t e x t 006 001 ( s t r e a m
0131540 ) ( d o ( ( r e s u l t (
0131560 m a k e - a r r a y 5 1 2 :
0131600 e l e m e n t - t y p e ' c h
0131620 a r a c t e r : a d j u s t a
0131640 b l e t \r
0131660
*
0131720 : f i l l - p o i n t
0131740 e r 0 ) ) \r
0131760
0132000 ( b y t e ( i l :
0132020 b i n s t r e a m ) \r
0132040
*
0132100 ( i l : b i n s t r e a m )
0132120 ) ) \r
0132140
0132160 ( ( e q l b y t e e n d -
0132200 m a r k ) \r
0132220
0132240 ( c o e r c e r e s
0132260 u l t ' s t r i n g ) ) \r
0132300
0132320 ( v e c
0132340 t o r - p u s h - e x t e n d
0132360 ( c o d e - c h a r b y t e )
0132400 \r
0132420
0132440 r e s u l t ) ) ) \r
0132460 \r \r ( d e f u n 006 002 p r o c e
0132500 s s - b l o c k 006 001 ( s t r e
0132520 a m & o p t i o n a l i t e
0132540 m - f n ( o p t a b l e * d
0132560 e f a u l t - o p t a b l e * )
0132600 ) \r ( c a t c h ' f a s
0132620 l - b l o c k - f i n i s h e d
0132640 ( w i t h - o p t a b l e o
0132660 p t a b l e ( d o ( ( * v a
0132700 l u e - t a b l e * ( n e w -
0132720 v a l u e - t a b l e ) ) \r
0132740
*
0133020 v a l ) \r
0133040
*
0133120 n i l \r
0133140
*
0133220 ( s e t f v a l ( d o
0133240 - o p s t r e a m 0 ) ) \r
0133260
*
0133340 ( w h e n i t
0133360 e m - f n ( f u n c a l l i
0133400 t e m - f n v a l ) ) ) ) ) )
0133420 \r \r \r ( d e f u n 006 002 s k i p
0133440 - t e x t 006 001 ( s t r e a m )
0133460 ( d o ( ( b y t e ( i l :
0133500 b i n s t r e a m ) ) ) \r
0133520
0133540 ( ( e q
0133560 l b y t e e n d - m a r k )
0133600 \r
0133620
0133640 ( v a l u e s ) ) ) ) \r \r \r ( d
0133660 e f m a c r o 006 002 n e x t - v
0133700 a l u e 006 001 n i l ' ( d o -
0133720 o p s t r e a m ) ) \r \r \r ( d
0133740 e f u n 006 002 d o - o p 006 001 (
0133760 s t r e a m & o p t i o n a l
0134000 ( * b l o c k - l e v e l *
0134020 ( 1 + * b l o c k - l e v e l
0134040 * ) ) ) \r ( l e t ( ( o
0134060 p ( i l : b i n s t r e a m
0134100 ) ) \r v a l )
0134120 \r ( w h e n d
0134140 e b u g - r e a d e r ( f o r
0134160 m a t d e b u g - s t r e a m
0134200 " ~ V T ~ A ( ~ 3 O ) ~ % "
0134220 ( * * b l o c k - l e v e l
0134240 * 4 ) \r
0134260
0134300 ( c a r ( r a s
0134320 s o c o p ( o p t a b l e -
0134340 o p n a m e s * c u r r e n t
0134360 - o p t a b l e * ) ) ) \r
0134400
0134420 o
0134440 p ) ) \r ( s e t
0134460 q v a l ( f u n c a l l (
0134500 s v r e f ( o p t a b l e - v
0134520 e c t o r * c u r r e n t - o
0134540 p t a b l e * ) \r
0134560
0134600 o p ) \r
0134620
0134640 s t r e a m o
0134660 p ) ) \r ( w h e
0134700 n d e b u g - r e a d e r (
0134720 f o r m a t d e b u g - s t r
0134740 e a m " ~ V T V a l u e : ~
0134760 S ~ % " ( * * b l o c k - l
0135000 e v e l * 4 ) \r
0135020
0135040 v a l ) )
0135060 \r ( r e t u r n
0135100 - f r o m d o - o p v a l )
0135120 ) ) \r \r \r ( d e f u n 006 002 n e
0135140 w - v a l u e - t a b l e 006 001
0135160 n i l ( m a k e - a r r a y
0135200 i n i t i a l - v a l u e - t a
0135220 b l e - s i z e : f i l l - p
0135240 o i n t e r 0 : e x t e n d
0135260 a b l e t ) ) \r \r \r ( d e f u
0135300 n 006 002 c l e a r - t a b l e 006
0135320 001 ( & o p t i o n a l ( t a
0135340 b l e * v a l u e - t a b l e
0135360 * ) ) ( s e t f ( f i l l -
0135400 p o i n t e r t a b l e ) \r
0135420
*
0135500 0 ) ) \r \r \r
0135520 ( d e f u n 006 002 s t o r e - v
0135540 a l u e 006 001 ( o b j & o p t
0135560 i o n a l ( t a b l e * v a
0135600 l u e - t a b l e * ) ) \r
0135620 \r
0135640 006 003 ( i l : * i l : | ;
0135660 ; | \r 006 001 006 003 " T h i s m
0135700 a y w a n t t o c h a n g
0135720 e t o a n o t h e r r e p
0135740 r e s e n t a t i o n i f w
0135760 e c a n ' t m a k e V E C
0136000 T O R - P U S H - E X T E N D
0136020 f a s t e n o u g h . " ) 006 001
0136040 \r ( v e c t o r - p u s h - e
0136060 x t e n d o b j t a b l e
0136100 v a l u e - t a b l e - i n c r
0136120 e m e n t ) \r o b j ) \r \r \r (
0136140 d e f u n 006 002 f e t c h - v a
0136160 l u e 006 001 ( i n d e x & o p
0136200 t i o n a l ( t a b l e * v
0136220 a l u e - t a b l e * ) ) ( a
0136240 r e f t a b l e i n d e x )
0136260 ) \r \r \r ( d e f u n 006 002 c o l
0136300 l e c t - l i s t 006 001 ( s t r
0136320 e a m n e l t s d o t t e d
0136340 ) ( i f ( a n d d o t t e
0136360 d ( e q l n e l t s 2 ) )
0136400 \r
0136420
0136440 (
0136460 r e t u r n - f r o m c o l l
0136500 e c t - l i s t ( c o n s (
0136520 d o - o p s t r e a m ) \r
0136540
*
0136640 ( d o -
0136660 o p s t r e a m ) ) ) ) \r
0136700
*
0136740 ( w h e n d o
0136760 t t e d ( d e c f n e l t s
0137000 ) ) \r
0137020
0137040 ( l e
0137060 t ( ( r e s u l t ( 006 002 i l
0137100 : | t o | 006 001 n e l t s 006 002
0137120 i l : | c o l l e c t | 006 001 (
0137140 d o - o p s t r e a m ) ) ) )
0137160 \r \r
0137200 006 003 ( i l : * i l
0137220 : | ; ; | " A s s u m e d o
0137240 t t e d a n d o t h e r t
0137260 h a n a s i m p l e c o n
0137300 s i s r a r e . " ) 006 001 \r \r
0137320
*
0137360 (
0137400 w h e n d o t t e d ( s e t
0137420 f ( c d r ( l a s t r e s
0137440 u l t ) ) \r
0137460
*
0137540 ( d o - o p s
0137560 t r e a m ) ) ) \r
0137600
*
0137640 ( r e t u r n -
0137660 f r o m c o l l e c t - l i s
0137700 t r e s u l t ) ) ) \r \r \r ( d
0137720 e f r a n g e 006 002 f a s l - s
0137740 h o r t - i n t e g e r 006 001 (
0137760 0 ) 1 2 8 0 o p c o d e )
0140000 \r \r \r ( d e f o p 006 002 f a s l
0140020 - n i l 006 001 ( 1 2 8 ) n i l
0140040 ) \r \r \r ( d e f o p 006 002 f a s
0140060 l - t 006 001 ( 1 2 9 ) t ) \r \r
0140100 \r ( d e f o p 006 002 f a s l - i
0140120 n t e g e r 006 001 ( 1 3 0 ) (
0140140 + ( i l : l l s h ( i l : b
0140160 i n s t r e a m ) \r
0140200
0140220 2
0140240 4 ) \r
0140260
0140300 ( i l : l l s h ( i l : b i n
0140320 s t r e a m ) \r
0140340
0140360 1 6 )
0140400 \r
0140420 ( i
0140440 l : l l s h ( i l : b i n s
0140460 t r e a m ) \r
0140500
0140520 8 ) \r
0140540
0140560 ( i l : b
0140600 i n s t r e a m ) ) ) \r \r \r (
0140620 d e f o p 006 002 f a s l - l a r
0140640 g e - i n t e g e r 006 001 ( 1 3
0140660 1 ) ( l e t ( ( n b y t e s
0140700 ( n e x t - v a l u e ) ) \r
0140720
*
0140760 ( f i r s t - t i m e
0141000 t ) \r
0141020
0141040 ( m a s k
0141060 0 ) ) \r
0141100
0141120 ( d o ( ( o
0141140 f f s e t ( * ( 1 - n b y
0141160 t e s ) \r
0141200
*
0141240 8 ) \r
0141260
*
0141320 ( -
0141340 o f f s e t 8 ) ) \r
0141360
*
0141420 ( r e s u l t 0 )
0141440 \r
0141460
0141500 b y t e )
0141520