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