$ od -c -N 50000 [eris]<LispManual>LUhashfile.im!4 0000000 { B e g i n S u b S e c W H 0000020 E R E I S P a c k a g e } \r { 0000040 T i t l e W H E R E I S P a 0000060 c k a g e } \r { T e x t \r \r { i 0000100 n d e x W H E R E I S p a c 0000120 k a g e } \r \r { T a g W H E R 0000140 E I S p a c k a g e } \r \r T h e 0000160 W H E R E I S p a c k a g e 0000200 e x t e n d s t h e f u n 0000220 c t i o n { f n W H E R E I 0000240 S } ( { P a g e R e f F n 0000260 W H E R E I S } ) s u c h t 0000300 h a t , w h e n a s k e d 0000320 a b o u t a g i v e n n a 0000340 m e a s a f u n c t i o n 0000360 , { f n W H E R E I S } w 0000400 i l l c o n s u l t n o t 0000420 o n l y t h e c o m m a n d 0000440 s o f f i l e s t h a t 0000460 h a v e b e e n n o t i c e 0000500 d b y t h e f i l e p a 0000520 c k a g e ( { P a g e R e f 0000540 T a g F i l e P k g } ) b u 0000560 t a l s o a c o l l e c t 0000600 i o n o f h a s h f i l e 0000620 d a t a b a s e s ( { P a g e 0000640 R e f T a g H a s h f i l e 0000660 } ) t h a t a s s o c i a t 0000700 e s f u n c t i o n n a m e 0000720 s w i t h f i l e n a m e s 0000740 . \r \r \r { F n D e f { F n N a 0000760 m e W H E R E I S } { F n A 0001000 r g s N A M E T Y P E F I 0001020 L E S F N } \r { T e x t \r B e 0001040 h a v e s e x a c t l y l i 0001060 k e t h e d e f i n i t i o 0001100 n o n { P a g e R e f F n 0001120 W H E R E I S } u n l e s s 0001140 { a r g T Y P E } = { l i s 0001160 p F N S } ( o r { l i s p 0001200 N I L } ) a n d { a r g 0001220 F I L E S } = { l i s p T } . 0001240 I n t h i s c a s e , 0001260 { f n W H E R E I S } w i l 0001300 l c o n s u l t , i n a d 0001320 d i t i o n t o t h e f i 0001340 l e s o n { v a r F I L E 0001360 L S T } , t h e h a s h f i 0001400 l e s t h a t a r e o n 0001420 t h e v a l u e o f { i n 0001440 d e x W H E R E I S . H A S H 0001460 V a r } { v a r W H E R E I 0001500 S . H A S H } ( i n i t i a l 0001520 l y { l i s p < L I S P > L 0001540 I B R A R Y > W H E R E I S . H 0001560 A S H } ) . \r } } \r \r \r N o t e 0001600 : M o s t s y s t e m f 0001620 u n c t i o n s c a l l { f 0001640 n W H E R E I S } w i t h 0001660 { a r g F I L E S } = { l i s 0001700 p T } , s o l o a d i n g 0001720 t h i s p a c k a g e a u 0001740 t o m a t i c a l l y m a k e 0001760 s t h e i n f o r m a t i o 0002000 n c o n t a i n e d i n t 0002020 h e { f n W H E R E I S } 0002040 d a t a b a s e a v a i l a b 0002060 l e t h r o u g h o u t t h 0002100 e s y s t e m . \r \r I n f o r 0002120 m a t i o n m a y b e a d 0002140 d e d t o a W H E R E I S 0002160 h a s h f i l e b y c r e 0002200 a t i n g n e w d a t a b a 0002220 s e s . I t i s o f t e 0002240 n u s e f u l t o h a v e 0002260 a s e p a r a t e d a t a 0002300 b a s e f o r l a r g e u 0002320 s e r s y s t e m s . e x 0002340 p l i c i t l y c a l l i n g 0002360 t h e f o l l o w i n g f 0002400 u n c t i o n : \r \r { F n D e f 0002420 { F n N a m e W H E R E I S 0002440 N O T I C E } { F n A r g s 0002460 F I L E G R O U P N E W F L G 0002500 D A T A B A S E F I L E } \r { 0002520 T e x t \r I n s e r t s t h e 0002540 i n f o r m a t i o n a b o 0002560 u t a l l o f t h e f u 0002600 n c t i o n s o n t h e f 0002620 i l e s i n { a r g F I L 0002640 E G R O U P } i n t o t h e 0002660 { f n W H E R E I S } d a 0002700 t a b a s e c o n t a i n e 0002720 d o n { a r g D A T A B A 0002740 S E F I L E } . I f { a r 0002760 g D A T A B A S E F I L E } 0003000 i s { l i s p N I L } , t 0003020 h e f i r s t e n t r y o 0003040 n { v a r W H E R E I S . H 0003060 A S H } i s u s e d . \r \r { 0003100 a r g F I L E G R O U P } i 0003120 s g i v e n a s a f i l 0003140 e g r o u p a r g u m e n t 0003160 t o { f n D I R E C T O R Y 0003200 } ( { P a g e R e f F n D 0003220 I R E C T O R Y } ) , s o { 0003240 l i s p & } , { l i s p $ 0003260 } , e t c . m a y b e u 0003300 s e d . T o a v o i d a n 0003320 a l y s i n g c o m p i l e d 0003340 f i l e s a l s o , { a r 0003360 g F I L E G R O U P } s h o 0003400 u l d s p e c i f y a n e 0003420 x t e n s i o n . e . g . < 0003440 L I S P > L I B R A R Y > * . 0003460 o r < P R O J E C T > * . L S 0003500 P . \r \r I f { a r g N E W F 0003520 L G } i s n o n - { l i s p 0003540 N I L } , a n e w v e r 0003560 s i o n o f { a r g D A T 0003600 A B A S E F I L E } w i l l 0003620 b e c r e a t e d c o n t a 0003640 i n i n g t h e d a t a b a 0003660 s e f o r t h e f u n c t 0003700 i o n s s p e c i f i e d i 0003720 n { a r g F I L E G R O U P 0003740 } . I f { a r g N E W F 0003760 L G } i s a n u m b e r , 0004000 t h e h a s h f i l e w 0004020 i l l b e c r e a t e d w 0004040 i t h { a r g N E W F L G } 0004060 e n t r i e s . O t h e r 0004100 w i s e , i t w i l l b e 0004120 c r e a t e d t o a l l o 0004140 w 2 0 0 0 0 e n t r i e s . 0004160 \r \r E x a m p l e : \r T h e f 0004200 o l l o w i n g s e q u e n c 0004220 e o f a c t i o n s w i l 0004240 l c a u s e a l l o f t 0004260 h e f i l e s o n t h e 0004300 P R O J E C T d i r e c t o r 0004320 y t o b e n o t i c e d 0004340 b y t h e W H E R E I S p 0004360 a c k a g e . \r \r ( W H E R E I 0004400 S N O T I C E ' < P R O J E C 0004420 T > * . T ' < P R O J E C T 0004440 > P R O J E C T W H E R E I S . 0004460 H A S H ) \r ( S E T Q W H E R 0004500 E I S . H A S H ( C O N S ' 0004520 < P R O J E C T > P R O J E C T 0004540 W H E R E I S . H A S H W H E 0004560 R E I S . H A S H ) ) \r } } \r \r 0004600 } { E n d S u b S e c W H E 0004620 R E I S P a c k a g e } \r \r \r 0004640 { B e g i n S u b S e c H a 0004660 s h F i l e s } \r { T i t l e 0004700 H a s h F i l e s } \r { T e 0004720 x t \r \r { i n d e x * B E G I 0004740 N * h a s h f i l e f a c 0004760 i l i t y } \r \r { T a g H a s 0005000 h f i l e } \r \r \r T h e h a s 0005020 h f i l e f a c i l i t y 0005040 p e r m i t s i n f o r m a t 0005060 i o n a s s o c i a t e d w 0005100 i t h s t r i n g o r a t 0005120 o m " k e y s " t o b e 0005140 s t o r e d o n a n d r e 0005160 t r i e v e d f r o m f i l 0005200 e s . T h e i n f o r m a 0005220 t i o n ( o r " v a l u e s 0005240 " ) a s s o c i a t e d w i 0005260 t h t h e k e y s i n a 0005300 f i l e m a y b e n u m 0005320 b e r s , s t r i n g s , o 0005340 r a r b i t a r y I n t e 0005360 r l i s p e x p r e s s i o n 0005400 s . T h e a s s o c i a t 0005420 i o n s a r e m a i n t a i 0005440 n e d b y a h a s h i n g 0005460 s c h e m e t h a t m i n 0005500 i m i z e s t h e n u m b e 0005520 r o f f i l e o p e r a t 0005540 i o n s i t t a k e s t o 0005560 a c c e s s a v a l u e 0005600 f r o m i t s k e y . \r \r A 0005620 h a s h f i l e i s c r e 0005640 a t e d b y t h e f u n c 0005660 t i o n { f n C R E A T E H 0005700 A S H F I L E } : \r \r { F n 0005720 D e f { F n N a m e C R E A 0005740 T E H A S H F I L E } { F n A 0005760 r g s F I L E } \r { T e x t \r 0006000 A n e w v e r s i o n o f 0006020 { a r g F I L E } i s o 0006040 p e n e d a n d i n i t i a 0006060 l i z e d a s a h a s h f 0006100 i l e . A f t e r b e i n g 0006120 i n i t i a l i z e d , { a 0006140 r g F I L E } i s l e f t 0006160 o p e n a n d { f n C R 0006200 E A T E H A S H F I L E } r e 0006220 t u r n s a s i t s v a l 0006240 u e a " h a s h f i l e d 0006260 a t u m , " a h a n d l e 0006300 o n t h e h a s h f i l e 0006320 t h a t m a y b e u s e d 0006340 a s a n a r g u m e n t 0006360 f o r m o s t o f t h e 0006400 f u n c t i o n s d e s c r i 0006420 b e d b e l o w . \r } } \r \r { 0006440 F n D e f { F n N a m e O P 0006460 E N H A S H F I L E } { F n A 0006500 r g s F I L E A C C E S S } 0006520 \r { T e x t \r R e - o p e n s 0006540 t h e p r e v i o u s l y e 0006560 x i s t i n g h a s h f i l e 0006600 { a r g F I L E } . { a 0006620 r g A C C E S S } m a y b 0006640 e { l i s p I N P U T } ( 0006660 o r { l i s p N I L } ) , 0006700 i n w h i c h c a s e { a 0006720 r g F I L E } i s o p e n 0006740 e d f o r r e a d i n g o 0006760 n l y , o r { l i s p B O 0007000 T H } , i n w h i c h c a 0007020 s e { a r g F I L E } i s 0007040 o p e n f o r b o t h i 0007060 n p u t a n d o u t p u t . 0007100 C a u s e s a n e r r o 0007120 r { l i s p N O T A H A 0007140 S H F I L E } , { i n d e x N 0007160 O T A H A S H F I L E E r 0007200 r o r } i f { a r g F I L 0007220 E } i s n o t r e c o g n 0007240 i z e d a s a h a s h f i 0007260 l e . \r \r I f { a r g A C C 0007300 E S S } i s { l i s p B O 0007320 T H } a n d { a r g F I L 0007340 E } i s a h a s h f i l e 0007360 o p e n f o r r e a d i n 0007400 g o n l y , { f n O P E N 0007420 H A S H F I L E } a t t e m p 0007440 t s t o c l o s e i t a 0007460 n d r e - o p e n i t f o 0007500 r w r i t i n g . O t h e r 0007520 w i s e , i f { a r g F I 0007540 L E } d e s i g n a t e s a 0007560 n a l r e a d y o p e n h 0007600 a s h f i l e , { f n O P E 0007620 N H A S H F I L E } i s a 0007640 n o - o p . \r \r { f n O P E N 0007660 H A S H F I L E } r e t u r n 0007700 s a h a s h f i l e d a t 0007720 u m . \r } } \r \r { F n D e f { 0007740 F n N a m e H A S H F I L E P 0007760 } { F n A r g s X } \r { T e 0010000 x t \r R e t u r n s { a r g 0010020 X } i f { a r g X } i s 0010040 a h a s h f i l e d a t u 0010060 m ( i . e . , a v a l u e 0010100 r e t u r n e d b y { f n 0010120 C R E A T E H A S H F I L E } 0010140 o r { f n O P E N H A S H 0010160 F I L E } ) . I f { a r g 0010200 X } i s { l i s p N I L 0010220 } , r e t u r n s { v a r 0010240 S Y S H A S H F I L E } { i n d 0010260 e x S Y S H A S H F I L E V 0010300 a r } i f i t i s a h 0010320 a s h f i l e d a t u m . 0010340 I f { a r g X } i s t h 0010360 e n a m e o f a n o p e 0010400 n h a s h f i l e , r e t u 0010420 r n s t h e c o r r e s p o 0010440 n d i n g h a s h f i l e d 0010460 a t u m . O t h e r w i s e 0010500 , r e t u r n s { l i s p 0010520 N I L } . \r } } \r \r T h e f o 0010540 l l o w i n g f u n c t i o n 0010560 s r e q u i r e a n o p e 0010600 n h a s h f i l e a s a n 0010620 a r g u m e n t , i . e . 0010640 a n o b j e c t f o r w h 0010660 i c h { f n H A S H F I L E 0010700 P } i s n o n - { l i s p 0010720 N I L } . \r \r { F n D e f { 0010740 F n N a m e P U T H A S H F I 0010760 L E } { F n A r g s K E Y 0011000 V A L U E H A S H F I L E } \r 0011020 { T e x t \r P u t s { a r g 0011040 V A L U E } i n { a r g H 0011060 A S H F I L E } , i n d e x e 0011100 d u n d e r { a r g K E Y 0011120 } . I f { a r g V A L U 0011140 E } i s { l i s p N I L } 0011160 , a n y p r e v i o u s e 0011200 n t r y f o r { a r g K E 0011220 Y } i s d e l e t e d . \r 0011240 } } \r \r { F n D e f { F n N a 0011260 m e G E T H A S H F I L E } 0011300 { F n A r g s K E Y H A S H 0011320 F I L E } \r { T e x t \r R e t u 0011340 r n s t h e v a l u e c o 0011360 r r e s p o n d i n g t o { 0011400 a r g K E Y } i n { a r g 0011420 H A S H F I L E } . } } \r \r 0011440 { F n D e f { F n N a m e H 0011460 A S H F I L E P R O P } { F n 0011500 A r g s H A S H F I L E P R 0011520 O P } \r { T e x t \r R e t u r n 0011540 s t h e v a l u e o f t 0011560 h e { a r g P R O P } p r 0011600 o p e r t y o f { a r g H 0011620 A S H F I L E } . T h e r 0011640 e c o g n i z e d { a r g P 0011660 R O P } s a n d t h e v a 0011700 l u e s r e t u r n e d a r 0011720 e : \r \r { B e g i n L a b e l 0011740 e d L i s t T h e r e c o g 0011760 n i z e d P R O P s } \r \r { L 0012000 a b e l { l i s p N A M E } 0012020 } \r { I t e m \r T h e f u l l 0012040 n a m e o f t h e f i l 0012060 e . \r } \r \r { L a b e l { l i 0012100 s p A C C E S S } } \r { I t e 0012120 m \r { l i s p B O T H } i f 0012140 f i l e i s o p e n f o 0012160 r w r i t i n g , { l i s p 0012200 I N P U T } i f i t i s 0012220 r e a d - o n l y . \r } \r \r { 0012240 E n d L a b e l e d L i s t 0012260 T h e r e c o g n i z e d P 0012300 R O P s } \r \r } } \r \r \r { F n D 0012320 e f { F n N a m e C L O S E 0012340 H A S H F I L E } { F n A r g 0012360 s H A S H F I L E } \r { T e x 0012400 t \r C l o s e s t h e h a s 0012420 h f i l e a n d c l e a r 0012440 s a n y i n t e r n a l b 0012460 u f f e r s a s s o c i a t e 0012500 d w i t h i t . \r } } \r \r { 0012520 F n D e f { F n N a m e M A 0012540 P H A S H F I L E } { F n A r 0012560 g s H A S H F I L E M A P F 0012600 N } \r { T e x t \r F o r e a c 0012620 h e n t r y i n { a r g 0012640 H A S H F I L E } , p e r f o 0012660 r m s { l i s p ( { a r g 0012700 M A P F N } { a r g K E Y } 0012720 ( G E T H A S H F I L E { a 0012740 r g K E Y } { a r g H A S 0012760 H F I L E } ) ) } . I f { 0013000 a r g M A P F N } i s a 0013020 f u n c t i o n o f o n l y 0013040 o n e a r g u m e n t , p 0013060 e r f o r m s { l i s p ( { 0013100 a r g M A P F N } { a r g 0013120 K E Y } ) } t h e r e b y a 0013140 v o i d i n g t h e c a l l 0013160 t o { f n G E T H A S H F 0013200 I L E } n e e d e d t o o 0013220 b t a i n t h e v a l u e . 0013240 { a r g K E Y } i s t 0013260 e m p o r a r y , a s f o r 0013300 { f n G E T H A S H F I L E 0013320 } . { a r g V A L U E } 0013340 i s a l s o t e m p o r a r 0013360 y , f o r { l i s p S T R 0013400 I N G } , { l i s p N U M B 0013420 E R } , a n d { l i s p S 0013440 Y M B O L T A B L E } f i l e 0013460 s . \r } } \r \r \r { F n D e f 0013500 { F n N a m e R E H A S H F I 0013520 L E } { F n A r g s H A S H 0013540 F I L E } \r { T e x t \r A f t e 0013560 r m a n y i n s e r t i o n 0013600 s a n d d e l e t i o n s 0013620 m u c h o f t h e s p a c 0013640 e i n a h a s h f i l e 0013660 m a y b e u n u s a b l e . 0013700 { f n R E H A S H F I L E 0013720 } r e c l a i m s t h a t 0013740 s p a c e b y r e h a s h i 0013760 n g a l l t h e k e y s . 0014000 } } \r \r \r { F n D e f { F n N 0014020 a m e C O P Y H A S H F I L E 0014040 } { F n A r g s H A S H F I 0014060 L E N E W N A M E F N } \r 0014100 { T e x t \r C a l l s { f n 0014120 C R E A T E H A S H F I L E } 0014140 t o o p e n { a r g N E W 0014160 N A M E } a s a h a s h f 0014200 i l e , t h e n m a p s t 0014220 h r o u g h a l l t h e k 0014240 e y s i n { a r g H A S H 0014260 F I L E } , d o i n g t h e 0014300 e q u i v a l e n t o f : \r 0014320 \r { l i s p c o d e \r ( P U T H 0014340 A S H F I L E \r { a r g 0014360 K E Y } \r ( G E T H A S H 0014400 F I L E { a r g K E Y } { 0014420 a r g H A S H F I L E } ) \r 0014440 { a r g N E W H A S H F I 0014460 L E } ) } \r \r f o r e a c h 0014500 k e y { a r g K E Y } . 0014520 I n e s s e n c e , { f n 0014540 C O P Y H A S H F I L E } c o 0014560 p i e s { a r g H A S H F I 0014600 L E } t o { a r g N E W N 0014620 A M E } . \r \r I f { a r g F 0014640 N } i s g i v e n , t h e 0014660 n i t i s a p p l i e d 0014700 t o t h e s u c c e s s i v 0014720 e v a l u e s o f { a r g 0014740 H A S H F I L E } , t h e 0014760 o l d { a r g H A S H F I L 0015000 E } , a n d t h e n e w 0015020 h a s h f i l e , a n d t h 0015040 e v a l u e r e t u r n e d 0015060 i s u s e d a s t h e 0015100 v a l u e i n t h e n e w 0015120 f i l e . I n e f f e c 0015140 t , \r \r { l i s p c o d e \r ( P 0015160 U T H A S H F I L E \r { a 0015200 r g K E Y } \r ( { a r g 0015220 F N } ( G E T H A S H F I L 0015240 E { a r g K E Y } { a r g 0015260 H A S H F I L E } ) \r 0015300 { a r g H A S H F I L E 0015320 } \r { a r g N E 0015340 W H A S H F I L E } ) \r { 0015360 a r g N E W H A S H F I L E } 0015400 ) } \r \r i s e v a l u a t e d 0015420 f o r e a c h k e y . 0015440 T h u s , t h e u s e r c 0015460 a n i n t e r v e n e a s 0015500 e a c h k e y i s p r o c 0015520 e s s e d i n o r d e r t 0015540 o c o p y i n f o r m a t i 0015560 o n a s s o c i a t e d w i 0015600 t h t h e k e y . \r } } \r \r 0015620 \r { F n D e f { F n N a m e 0015640 H A S H F I L E S P L S T } { 0015660 F n A r g s H A S H F I L E } 0015700 \r { T e x t \r R e t u r n s a 0015720 " g e n e r a t o r " f o r 0015740 t h e k e y s i n { a r 0015760 g H A S H F I L E } t h a t 0016000 i s a c c e p t a b l e a 0016020 s a n a r g u m e n t t o 0016040 { f n F I X S P E L L } ( 0016060 { P a g e R e f F n F I X S 0016100 P E L L } ) . { i n d e x g e 0016120 n e r a t o r s f o r s p e 0016140 l l i n g c o r r e c t i o n 0016160 } { i n d e x s p e l l i n g 0016200 c o r r e c t i o n o n h 0016220 a s h f i l e s } T h u s 0016240 , { l i s p ( F I X S P E L 0016260 L B A D W O R D 7 0 ( H A 0016300 S H F I L E S P L S T { a r g 0016320 H A S H F I L E } ) ) } w i 0016340 l l s p e l l i n g c o r r 0016360 e c t a w o r d u s i n g 0016400 t h e k e y s i n { a r 0016420 g H A S H F I L E } . \r } } \r 0016440 \r \r { F n D e f { F n N a m e 0016460 L O O K U P H A S H F I L E } 0016500 { F n A r g s K E Y V A L 0016520 U E H A S H F I L E C A L L 0016540 T Y P E } \r { T e x t \r A g e 0016560 n e r a l i z e d e n t r y 0016600 f o r i n s e r t i n g a n 0016620 d r e t r i e v i n g v a l 0016640 u e s ; p r o v i d e s c e 0016660 r t a i n o p t i o n s n o 0016700 t a v a i l a b l e w i t h 0016720 { f n G E T H A S H F I L E 0016740 } o r { f n P U T H A S H 0016760 F I L E } . { f n L O O K 0017000 U P H A S H F I L E } l o o k 0017020 s u p { a r g K E Y } i 0017040 n { a r g H A S H F I L E } 0017060 . { a r g C A L L T Y P E 0017100 } i s a n a t o m o r 0017120 a l i s t o f a t o m s . 0017140 T h e s e k e y w o r d s 0017160 a r e i n t e r p r e t e d 0017200 a s f o l l o w s : \r \r { B 0017220 e g i n L a b e l e d L i s t 0017240 C A L L T Y P E s } \r \r { I n 0017260 d e n t 1 5 p e r c e n t } \r 0017300 \r { L a b e l { l i s p R E 0017320 T R I E V E } } \r { T e x t \r I 0017340 f { a r g K E Y } i s f 0017360 o u n d , t h e n i f { a 0017400 r g C A L L T Y P E } i s 0017420 o r c o n t a i n s { l i s 0017440 p R E T R I E V E } , t h e 0017460 o l d v a l u e i s r e 0017500 t u r n e d f r o m { f n 0017520 L O O K U P H A S H F I L E } ; 0017540 o t h e r w i s e r e t u r 0017560 n s { l i s p T } . \r } \r \r 0017600 { N a m e { l i s p D E L E 0017620 T E } } \r { T e x t \r I f { a 0017640 r g C A L L T Y P E } i s 0017660 o r c o n t a i n s { l i s 0017700 p D E L E T E } , t h e v 0017720 a l u e a s s o c i a t e d 0017740 w i t h { a r g K E Y } i 0017760 s d e l e t e d f r o m t 0020000 h e f i l e . \r } \r \r { N a 0020020 m e { l i s p R E P L A C E 0020040 } } \r { T e x t \r I f { a r g 0020060 C A L L T Y P E } i s o r 0020100 c o n t a i n s { l i s p 0020120 R E P L A C E } , t h e o l 0020140 d v a l u e i s r e p l a 0020160 c e d w i t h { a r g V A 0020200 L U E } . \r } \r \r { N a m e { 0020220 l i s p I N S E R T } } \r { T 0020240 e x t \r I f { a r g C A L L 0020260 T Y P E } i s o r c o n t 0020300 a i n s { l i s p I N S E R 0020320 T } , { f n L O O K U P H A 0020340 S H F I L E } i n s e r t s 0020360 v a l u e a s t h e v a l 0020400 u e a s s o c i a t e d w i 0020420 t h { a r g K E Y } . \r } \r 0020440 \r \r { E n d L a b e l e d L i 0020460 s t C A L L T Y P E s } \r \r \r 0020500 I f { a r g K E Y } i s 0020520 n o t f o u n d , { f n L 0020540 O O K U P H A S H F I L E } r 0020560 e t u r n s { l i s p N I L 0020600 } . \r } } \r \r \r \r E x a m p l e 0020620 s : \r \r \r T o e i t h e r r 0020640 e t u r n a n o l d v a l 0020660 u e o r i n s e r t a n 0020700 e w v a l u e i n t h e 0020720 f i l e i f o n e d o e s 0020740 n o t a l r e a d y e x i 0020760 s t , p e r f o r m \r { l i s 0021000 p ( L O O K U P H A S H F I L 0021020 E { a r g K E Y } { a r g 0021040 N E W V A L U E } { a r g 0021060 H A S H F I L E } ' ( I N S E 0021100 R T R E T R I E V E ) ) } . \r 0021120 T h e v a l u e r e t u r n 0021140 e d w i l l b e { l i s p 0021160 N I L } i f { a r g N E 0021200 W V A L U E } w a s i n s e 0021220 r t e d , o r t h e o l d 0021240 v a l u e i f { a r g K 0021260 E Y } w a s f o u n d . \r 0021300 \r T o m e r e l y c h e c k 0021320 w h e t h e r { a r g K E 0021340 Y } e x i s t s i n t h e 0021360 f i l e w i t h o u t a c 0021400 t u a l l y r e t r i e v i n 0021420 g i t s v a l u e ( w h i 0021440 c h m a y b e e x p e n s 0021460 i v e f o r t h e m o r e 0021500 g e n e r a l v a l u e t y 0021520 p e s ) , p e r f o r m { l 0021540 i s p ( L O O K U P H A S H F 0021560 I L E { a r g K E Y } N I 0021600 L { a r g H A S H F I L E } 0021620 N I L ) } . \r \r T h e f u n 0021640 c t i o n { f n P U T H A S 0021660 H F I L E } c o u l d b e 0021700 d e f i n e d a s : \r \r { l i 0021720 s p c o d e \r ( L A M B D A ( 0021740 K E Y V A L U E H A S H F I 0021760 L E ) \r ( i f V A L U 0022000 E = N I L \r t h e n 0022020 ( L O O K U P H A S H F I L E 0022040 K E Y N I L H A S H F I L 0022060 E ' D E L E T E ) \r 0022100 e l s e ( L O O K U P H A S 0022120 H F I L E K E Y V A L U E 0022140 H A S H F I L E ' ( I N S E R 0022160 T R E P L A C E ) ) \r 0022200 V A L U E ) ) } \r 0022220 \r \r A n d { f n G E T H A S 0022240 H F I L E } c o u l d b e 0022260 d e f i n e d a s : \r \r { l i 0022300 s p c o d e \r ( L A M B D A ( 0022320 K E Y H A S H F I L E ) \r 0022340 ( L O O K U P H A S H F I L 0022360 E K E Y N I L H A S H F I 0022400 L E ' R E T R I E V E ) ) } \r 0022420 \r { n o t e H A S H i s a 0022440 n e w i m p l e m e n t a t 0022460 i o n o f t h e h a s h f 0022500 i l e p a c k a g e w h i c 0022520 h w o r k s i n b o t h 0022540 I n t e r l i s p - 1 0 a n d 0022560 I n t e r l i s p - D . I t 0022600 i s w r i t t e n i n I 0022620 n t e r l i s p a n d o p e 0022640 r a t i n g o n s t r e a m 0022660 s o f b y t e s . T h i s 0022700 p a c k a g e i m p l e m e 0022720 n t s t h e i n t e r f a c 0022740 e s d o c u m e n t e d i n 0022760 t h e I n t e r l i s p R 0023000 e f e r e n c e M a n u a l 0023020 ( a n d m a r k e d a s I 0023040 n t e r l i s p - 1 0 s p e c 0023060 i f i c ) a s w e l l a s 0023100 t h o s e o f t h e o r 0023120 i g i n a l i m p l e m e n t 0023140 a t i o n u s e d i n E M 0023160 Y C I N b a s e d s y s t e 0023200 m s , a n d w i l l b e 0023220 r e f e r r e d t o a s t 0023240 h e E M Y C I N p a c k a g 0023260 e . T h i s d o c u m e n t 0023300 o n l y d e a l s w i t h 0023320 d i f f e r e n c e s b e t 0023340 w e e n t h e v a r i o u s 0023360 p a c k a g e s . U s e r s 0023400 s h o u l d c o n s u l t 0023420 t h e I n t e r l i s p R e 0023440 f e r e n c e M a n u a l a 0023460 n d t h e E M Y C I N d o 0023500 c u m e n t a t i o n f o r 0023520 d e t a i l s . \r H a s h f i l 0023540 e s a r e c r e a t e d b 0023560 y c a l l i n g C R E A T E 0023600 H A S H F I L E . A " H a s 0023620 h F i l e " , a s r e f e r 0023640 e n c e d i n t h i s d o 0023660 c u m e n t , i s t h e d 0023700 a t u m r e t u r n e d b y 0023720 C R E A T E H A S H F I L E 0023740 o r O P E N H A S H F I L E , 0023760 c u r r e n t l y a n a r 0024000 r a y r e c o r d c o n t a 0024020 i n i n g t h e h a s h f i 0024040 l e n a m e , a n d t h e 0024060 n u m b e r o f s l o t s 0024100 i n t h e f i l e , t h 0024120 e u s e d s l o t s a n d 0024140 o t h e r d e t a i l s . 0024160 A l l o t h e r f u n c t i 0024200 o n s w i t h h a s h f i l 0024220 e a r g u m e n t s u s e 0024240 t h i s d a t u m . A N I 0024260 L h a s h f i l e a r g u m 0024300 e n t r e f e r s t o S Y 0024320 S H A S H F I L E . K e y s 0024340 a r e s t r i n g s o r a 0024360 t o m s , a s i n t h e 0024400 o t h e r s y s t e m s . \r I 0024420 n t e r l i s p - 1 0 h a s h 0024440 f i l e s c a m e i n s e 0024460 v e r a l f l a v o r s , a 0024500 c c o r d i n g t o t h e 0024520 v a l u e s s t o r e d i n 0024540 t h e m . T h i s s y s t 0024560 e m o n l y s u p p o r t s 0024600 t h e m o s t g e n e r a 0024620 l E X P R t y p e o f h 0024640 a s h f i l e s ; t h e V A 0024660 L U E T Y P E a n d I T E M 0024700 L E N G T H a r g u m e n t s 0024720 a r e i g n o r e d . T h 0024740 i s d i s t i n c t i o n i 0024760 s g e n e r a l l y i n v i 0025000 s i b l e t o t h e u s e 0025020 r . \r T w o k e y h a s h i 0025040 n g i s s u p p o r t e d 0025060 i n t h i s s y s t e m . 0025100 T h e f u n c t i o n s t h 0025120 a t m a n i p u l a t e ' s 0025140 e c r e t p a g e s ' d o 0025160 n o t e x i s t i n t h i 0025200 s i m p l e m e n t a t i o n 0025220 . \r W h e n r u n n i n g i 0025240 n I n t e r l i s p - 1 0 , 0025260 H A S H w i l l l o a d t 0025300 h e D F O R 1 0 . C O M p a 0025320 c k a g e f r o m t h e L 0025340 i s p U s e r s d i r e c t o 0025360 r y . \r F u n c t i o n s \r T h 0025400 e f u n c t i o n s i m p l 0025420 e m e n t e d a r e : \r h a s 0025440 h f i l e d a t a [ h a s h f i 0025460 l e ] ( E M Y C I N ) \r c l e 0025500 a r h a s h f i l e s [ c l o s 0025520 e , r e l e a s e ] ( E M Y C 0025540 I N ) \r c o l l e c t k e y s [ 0025560 h a s h f i l e , d o u b l e , 0025600 m k s t r i n g ] ( E M Y C I 0025620 N ) \r \r \r G l o b a l V a r 0025640 i a b l e s \r \r \r T h e v a r 0025660 i a b l e s u s e d b y t 0025700 h e s y s t e m o f i n t 0025720 e r e s t t o t h e u s e 0025740 r . \r H A S H T E X T C H A R 0025760 ^ A T h e c h a r a c t 0026000 e r s e p a r a t i n g t w 0026020 o k e y h a s h k e y s . \r 0026040 H A S H F I L E R D T B L O 0026060 R I G T h e h a s h f i l 0026100 e r e a d t a b l e . \r H F 0026120 G R O W T H F A C T O R 3 0026140 T h e r a t i o n o f t 0026160 o t a l s l o t s t o u s 0026200 e d s l o t s w h e n a 0026220 h a s h f i l e i s c r e a 0026240 t e d . \r R E H A S H G A G 0026260 N I L F l a g s w h e t h 0026300 e r t o p r i n t m e s s 0026320 a g e w h e n r e h a s h i 0026340 n g ; i n i t i a l l y o f 0026360 f . \r H A S H F I L E D E F A U 0026400 L T S I Z E 5 1 2 S i z 0026420 e u s e d w h e n # E n t 0026440 r i e s i s o m i t e d . \r 0026460 H A S H L O A D F A C T O R 0026500 . 8 7 5 T h e r a t i o , 0026520 u s e d s l o t s / t o t a 0026540 l s l o t s , a t w h i c 0026560 h t h e s y s t e m r e h 0026600 a s h e s t h e f i l e , 0026620 i n i t i a l l y 7 / 8 . \r S 0026640 Y S H A S H F I L E N I L 0026660 T h e c u r r e n t h a s 0026700 h f i l e . \r \r I m p l e m e n 0026720 t a t i o n \r \r T h e h a s h 0026740 f i l e p a c k a g e v i e 0026760 w s f i l e s a s a s e 0027000 q u e n c e o f b y t e s , 0027020 r a n d o m l y a c c e s s 0027040 i b l e . N o n o t i c e 0027060 i s m a d e o f p a g e s 0027100 a n d i t i s a s s u m 0027120 e d t h a t t h e h o s t 0027140 c o m p u t e r b u f f e r 0027160 s I / O s u f f i e c i e n 0027200 t l y . \r H a s h f i l e s 0027220 c o n s i s t o f a l a y 0027240 e r o f p o i n t e r s f 0027260 o l l o w e d b y a s c i i 0027300 d a t a . P o i n t e r s 0027320 a r e 3 b y t e s w i d e 0027340 , p r e c e e d e d b y a 0027360 s t a t u s b y t e . T h 0027400 e p o i n t e r s p o i n t 0027420 t o k e y P N A M E S i 0027440 n t h e d a t a s e c t i 0027460 o n , w h e r e e a c h k 0027500 e y i s f o l l o w e d b 0027520 y i t s v a l u e . D e l 0027540 e t e d k e y p o i n t e r 0027560 s a r e r e u s e d , d e 0027600 l e t e d d a t a s p a c e 0027620 i s n o t , s o r e h a 0027640 s h i n g i s r e q u i r e 0027660 d i f m a n y i t e m s 0027700 h a v e b e e n " r e p l a 0027720 c e d " . \r T h e d a t a s 0027740 e c t i o n s t a r t s a t 0027760 4 * H A S H F I L E : S I Z E 0030000 + 9 , a n d c o n s i s 0030020 t s o f a l t e r n a t i n 0030040 g k e y s a n d v a l u e 0030060 s . A s d e l e t e d d a 0030100 t a i s n o t r e - w r i 0030120 t t e n , f i l e s s h o u 0030140 l d n o t b e a c c e s s 0030160 e d d i r e c t l y . \r \r W h 0030200 e n a k e y h a s h e s 0030220 i n t o a u s e d s l o t 0030240 , a p r o b e v a l u e 0030260 i s a d d e d t o i t t 0030300 o f i n d t h e n e x t 0030320 s l o t t o s e a r c h . 0030340 T h e p r o b e v a l u e 0030360 i s a s m a l l p r i m e 0030400 d e r i v e d f r o m t h 0030420 e o r i g i n a l h a s h 0030440 k e y . \r \r L i m i t a t i o n 0030460 s \r \r D u e t o t h e p o 0030500 i n t e r s i z e , o n l y 0030520 h a s h f i l e s o f < 0030540 6 m i l l i o n i n t i a l 0030560 e n t r i e s c a n b e 0030600 c r e a t e d , t h o u g h 0030620 t h e s e c a n g r o w t 0030640 o 1 4 m i l l i o n e n t 0030660 r i e s b e f o r e a u t o 0030700 m a t i c r e h a s h i n g 0030720 e x c e e d s t h e p o i n 0030740 t e r l i m i t . T h e t 0030760 o t a l f i l e l e n g t h 0031000 i s l i m i t e d t o 1 0031020 6 m i l l i o n b y t e s . 0031040 N o r a n g e c h e c k i 0031060 n g i s d o n e f o r t 0031100 h e s e l i m i t s . \r \r { 0031120 i n d e x * E N D * h a s h 0031140 f i l e f a c i l i t y } 0031160 \r \r \r } { E n d S u b S e c 0031200 H a s h F i l e s } \r \r \r \0 \0 0031220 % 021 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 0031240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0031260 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0031300 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 0031320 \0 \0 \0 002 H \0 \0 \0 005 G A C H A \0 \n 0031340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 0031360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0031400 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 0031420 \0 \0 \0 \0 \0 \0 001 266 \0 \0 \0 005 G A C H 0031440 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0031460 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 0031500 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 0031520 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 004 \0 \0 \0 005 G 0031540 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0031560 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0031600 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N 0031620 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 177 \0 \0 0031640 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 0031660 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 0031700 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L 0031720 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0031740 b \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0031760 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 0032000 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 0032020 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 0032040 \0 \0 \0 \n \0 \0 \0 005 G A C H A \0 \n \0 0032060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 0032100 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0032120 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 0032140 \0 \0 \0 \0 \0 \0 037 \0 \0 \0 005 G A C H A 0032160 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0032200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0032220 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 0032240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 G A 0032260 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0032300 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0032320 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I 0032340 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ' \0 \0 \0 0032360 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0032400 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0032420 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 0032440 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 / 0032460 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 0032500 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 0032520 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N 0032540 I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 0032560 \0 \0 001 \0 \0 \0 005 G A C H A \0 \n \0 \0 0032600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 0032620 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0032640 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 0032660 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H A \0 0032700 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 0032720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0032740 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 0032760 \0 \0 \0 \0 \0 \0 \0 \0 022 \0 \0 \0 005 G A C 0033000 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033020 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 0033040 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L 0033060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 0033100 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0033120 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033140 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 0033160 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0033200 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 0033220 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 0033240 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I 0033260 L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033300 \0 : \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 0033320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0033340 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0033360 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 0033400 \0 \0 \0 \0 = \0 \0 \0 005 G A C H A \0 \n 0033420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 0033440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0033460 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 0033500 \0 \0 \0 \0 \0 \0 \0 . \0 \0 \0 005 G A C H 0033520 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033540 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 0033560 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 0033600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 W \0 \0 \0 005 G 0033620 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033640 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033660 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N 0033700 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 N \0 \0 0033720 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 0033740 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 0033760 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L 0034000 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0034020 = \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0034040 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 0034060 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 0034100 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 0034120 \0 \0 \0 o \0 \0 \0 005 G A C H A \0 \n \0 0034140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 0034160 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0034200 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 0034220 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 005 G A C H A 0034240 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0034260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0034300 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 0034320 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A 0034340 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0034360 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0034400 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I 0034420 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 017 \0 \0 \0 0034440 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0034460 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0034500 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 0034520 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0034540 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 0034560 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 0034600 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N 0034620 I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 0034640 \0 \0 255 \0 \0 \0 005 G A C H A \0 \n \0 \0 0034660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 0034700 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0034720 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 0034740 \0 \0 \0 \0 001 Q \0 \0 \0 005 G A C H A \0 0034760 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 0035000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0035020 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 0035040 \0 \0 \0 \0 \0 \0 \0 \0 247 \0 \0 \0 005 G A C 0035060 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035100 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 0035120 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L 0035140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 0035160 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0035200 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035220 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 0035240 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 247 \0 0035260 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 0035300 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 0035320 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I 0035340 L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035360 \0 001 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 0035400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0035420 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0035440 003 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 0035460 \0 \0 \0 \0 \f \0 \0 \0 005 G A C H A \0 \n 0035500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 0035520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0035540 \0 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 0035560 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H 0035600 A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035620 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 0035640 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 0035660 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 033 \0 \0 \0 005 G 0035700 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035720 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035740 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N 0035760 I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0036000 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 0036020 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036040 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L 0036060 \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036100 " \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0036120 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 0036140 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 0036160 N I L \0 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 0036200 \0 \0 \0 001 \0 \0 \0 005 G A C H A \0 \n \0 0036220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 0036240 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0036260 \0 \0 003 N I L \0 003 N I L \0 \0 \0 \0 \0 0036300 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C H A 0036320 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0036340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0036360 \0 \0 \0 \0 \0 003 N I L \0 003 N I L \0 \0 0036400 \0 \0 \0 \0 \0 \0 \0 \0 \0 031 \0 \0 \0 005 G A 0036420 C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036440 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0036460 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 003 N I 0036500 L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0036520 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0036540 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036560 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 003 N I L \0 0036600 003 N I L \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0036620 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 0036640 \0 \0 \0 \0 \0 2 216 \0 U z 270 0036653