$ od -c -N 50000 [phylum]<LISP>Lyric>Lispusers>RPC.TEDIT!1 0000000 X E R O X \t R P C \r 2 \r \r 4 \r \r 0000020 1 \r \r R P C \r S U N R E M O T 0000040 E P R O C E D U R E C A L L 0000060 S \r 1 \r \r 4 \r \r B y : J F i 0000100 n g e r ( J F i n g e r @ S U 0000120 M E X - A I M . S T A N F O R D 0000140 . E D U ) \r T h i s d o c u m 0000160 e n t l a s t e d i t e d 0000200 o n O c t o b e r 1 5 , 1 0000220 9 8 7 b y J F i n g e r . \r 0000240 I N T R O D U C T I O N \r T h i 0000260 s p a c k a g e i m p l e m 0000300 e n t s S U N r e m o t e 0000320 p r o c e d u r e c a l l s 0000340 a s s p e c i f i e d i n 0000360 t h e R e m o t e P r o 0000400 c e d u r e C a l l P r o t 0000420 o c o l S p e c i f i c a t i 0000440 o n . T h e s y n t a x i 0000460 s o r i e n t e d t o w a r 0000500 d L i s p u s e r s , d i 0000520 f f e r i n g g r e a t l y 0000540 f r o m S u n ' s C - l i k 0000560 e s y n t a x . \r R P C 2 P 0000600 a c k a g e \r A l l f u n c t 0000620 i o n s a n d v a r i a b l 0000640 e s m e n t i o n e d i n 0000660 t h i s d o c u m e n t a r 0000700 e d e f i n e d a s e x 0000720 t e r n a l v a r i a b l e s 0000740 i n t h e p a c k a g e 0000760 R P C 2 , u n l e s s o t h 0001000 e r w i s e s t a t e d . \r 0001020 R E M O T E P R O C E D U R E 0001040 D E F I N I T I T I O N \r R e 0001060 m o t e p r o g r a m s a r 0001100 e d e f i n e d v i a c a 0001120 l l s t o d e f i n e - r e 0001140 m o t e - p r o g r a m . \r \r d 0001160 e f i n e - r e m o t e - p r o 0001200 g r a m \t n a m e n u m b e 0001220 r v e r s i o n p r o t o 0001240 c o l & k e y : c o n s t a 0001260 n t s \t [ F u n c t i o n ] \r 0001300 : t y p e s : i n h e r i t s 0001320 : p r o c e d u r e s \r 0001340 \r D e f i n e s p a 0001360 r a m e t e r s a n d r e s 0001400 u l t t y p e s o f t h e 0001420 p r o c e d u r e s o f r 0001440 e m o t e p r o g r a m ( n 0001460 u m b e r , v e r s i o n , 0001500 p r o t o c o l ) . I f 0001520 s u c c e s s f u l , r e t u 0001540 r n s n a m e , o t h e r w 0001560 i s e n i l . \r n a m e \t a 0001600 s t r i n g o r s y m b o 0001620 l t h a t m a y b e u s 0001640 e d b y o t h e r p r o c 0001660 e d u r e s ( f o r e x a m 0001700 p l e , r e m o t e - p r o c 0001720 e d u r e - c a l l ) t o u 0001740 n i q u e l y s p e c i f y 0001760 t h i s r e m o t e p r o g 0002000 r a m . \r n u m b e r \t i s 0002020 t h e p r o g r a m n u m 0002040 b e r o f t h i s p r o g 0002060 r a m o n t h e r e m o t 0002100 e m a c h i n e . A s s p 0002120 e c i f i e d i n S u n ' 0002140 s R e m o t e P r o c e d u 0002160 r e C a l l P r o g r a m 0002200 m i n g G u i d e , p r o g 0002220 r a m s 0 - # x 1 f f f f 0002240 f f f a r e d e f i n e d 0002260 b y S u n , # x 2 0 0 0 0 0 0002300 0 0 - # x 3 f f f f f f f 0002320 a r e r e s e r v e d f o r 0002340 u s e r s , a n d # x 4 0002360 0 0 0 0 0 0 0 - 377 377 \0 \0 # 0002400 \0 x \0 5 \0 f \0 f \0 f \0 f \0 f \0 f 0002420 \0 \0 a \0 r \0 e \0 \0 d \0 e \0 s 0002440 \0 i \0 g \0 n \0 a \0 t \0 e \0 d \0 0002460 \0 a \0 s \0 \0 t \0 r \0 a \0 n \0 s 0002500 \0 i \0 e \0 n \0 t \0 . \0 \r 377 \0 v e 0002520 r s i o n \t a n u m b e r , 0002540 i s t h e d e s i r e d v 0002560 e r s i o n o f r e m o t 0002600 e p r o g r a m . \r p r o t o 0002620 c o l \t a n a t o m , U D P 0002640 o r T C P . \r c o n s t a n 0002660 t s \t a l i s t o f p a 0002700 i r s ( < c o n s t a n t - n 0002720 a m e > < c o n s t a n t - d 0002740 e f > ) , w h e r e < c o n 0002760 s t a n t - n a m e > i s a 0003000 s y m b o l a n d a < c 0003020 o n s t a n t - d e f > i s 0003040 a n X D R c o n s t a n t 0003060 ( S e e X D R C o n s t a 0003100 n t D e f i n i t i o n s 0003120 b e l o w ) . \r i n h e r i t 0003140 s \t a l i s t o f n a m e 0003160 ' s o f o t h e r r e m 0003200 o t e p r o g r a m s f r o 0003220 m w h i c h t y p e s a n 0003240 d c o n s t a n t s a r e 0003260 i n h e r i t e d . I n h e r 0003300 i t e d t y p e s a n d c 0003320 o n s t a n t s a r e r e s 0003340 o l v e d b y s e a r c h i 0003360 n g t h i s l i s t i n 0003400 o r d e r . \r t y p e s \t a l 0003420 i s t o f p a i r s ( < t 0003440 y p e - n a m e > < t y p e d 0003460 e f > ) , w h e r e a < 0003500 t y p e - n a m e > i s a 0003520 s y m b o l a n d a < t y 0003540 p e d e f > i s a n X D R 0003560 t y p e d e f i n i t i o n 0003600 ( d e f i n e d b e l o w ) 0003620 . \r p r o c e d u r e s \t a l 0003640 i s t o f 4 - t u p l e s 0003660 o f t h e f o r m ( < p r 0003700 o c n a m e > < p r o c n u m 0003720 b e r > < a r g - t y p e s > 0003740 < r e s u l t - t y p e s > ) 0003760 , w h e r e < p r o c n a m 0004000 e > i s a s y m b o l o 0004020 r s t r i n g n a m i n g 0004040 t h e p r o c e d u r e , < 0004060 p r o c n u m b e r > i s t 0004100 h e p r o c e d u r e n u m 0004120 b e r o n t h e r e m o t 0004140 e m a c h i n e , < a r g - 0004160 t y p e s > i s a ( p o 0004200 s s i b l y e m p t y ) l i 0004220 s t o f X D R t y p e d 0004240 e f i n i t i o n s ( s e e 0004260 b e l o w ) o f t h e a 0004300 r g u m e n t s t o b e 0004320 s e n t t o t h e r e m 0004340 o t e p r o c e d u r e , a 0004360 n d < r e s u l t - t y p e s 0004400 > i s a ( p o s s i b l y 0004420 e m p t y ) l i s t o f 0004440 X D R t y p e d e f i n i 0004460 t i o n s o f d a t a t o 0004500 b e r e t u r n e d f r o 0004520 m t h i s r e m o t e p r 0004540 o c e d u r e . \r X D R ( E X 0004560 T E R N A L D A T A R E P R 0004600 E S E N T A T I O N ) T Y P E 0004620 D E F I N I T I O N S \r B e c 0004640 a u s e t h e c l i e n t 0004660 a n d s e r v e r m a c h i 0004700 n e s m a y r e p r e s e n 0004720 t d a t a i n d i f f e r 0004740 e n t w a y s , a d a t a 0004760 r e p r e s e n t a t i o n 0005000 c o m m o n t o b o t h m 0005020 a c h i n e s i s n e c e s 0005040 s a r y R e m o t e p r o c 0005060 e d u r e c a l l s p a s s 0005100 d a t a b e t w e e n m a 0005120 c h i n e s i n ' E x t e r 0005140 n a l D a t a R e p r e s e 0005160 n t a t i o n ' ( X D R ) . 0005200 T h e X D R l a n g u a g e 0005220 i m p l e m e n t e d h e r 0005240 e i s o r i e n t e d t o 0005260 w a r d L i s p i n i t s 0005300 s y n t a x a n d i s n 0005320 o t i d e n t i c a l t 0005340 o t h e l a n g u a g e s 0005360 p e l l e d o u t i n t h 0005400 e S u n X D R P r o t o c 0005420 o l S p e c i f i c a t i o n 0005440 . \r X D R d a t a t y p e s 0005460 m a y b e d e f i n e d 0005500 i n t h e : t y p e s k e 0005520 y w o r d a r g u m e n t 0005540 f o r l a t e r r e f e r e 0005560 n c e i n t h e : t y p e 0005600 s o r : p r o c e d u r e s 0005620 o f t h i s o r l a t e 0005640 r r e m o t e p r o g r a m 0005660 s . W h e n a r e m o t e 0005700 p r o g r a m i s d e f i 0005720 n e d ( u s u a l l y a t 0005740 l o a d t i m e ) , t h e 0005760 n e e d e d r e a d i n g a 0006000 n d w r i t i n g f u n c t 0006020 i o n s a r e c o m p i l e 0006040 d f o r e a c h c o n s t 0006060 r u c t e d t y p e r e f e 0006100 r e n c e d . N o t e t h a 0006120 t a l l X D R c a l l s 0006140 a r e e v e n t u a l l y 0006160 r e s o l v e d t o a c o 0006200 m p o s i t i o n o f P r i 0006220 m i t i v e a n d C o n s t 0006240 r u c t e d X D R T y p e 0006260 D e f i n i t i o n s ( s e e 0006300 b e l o w ) . \r S Y N T A X \r 0006320 T h e k e y w o r d s o f 0006340 t h e X D R l a n g u a g e 0006360 m a y b e s p e c i f i e 0006400 d a s s y m b o l s o f 0006420 t h e K e y w o r d p a 0006440 c k a g e . \r A l l X D R 0006460 D a t a T y p e s D e f i n 0006500 i t i o n s ( n o t a t e d 0006520 h e r e a s a < t y p e d 0006540 e f > ) , u s e d i n R e 0006560 m o t e P r o c e d u r e C 0006600 a l l s a r e f r o m t h 0006620 e f o l l o w i n g l a n g 0006640 u a g e : \r \r 1 ) P r i m i t 0006660 i v e D e f i n i t i o n : \t 0006700 O n e o f t h e t y p e s 0006720 i n * x d r - p r i m i t i 0006740 v e - t y p e s * , \r : i n t e 0006760 g e r \r : b o o l e a n \r : u n 0007000 s i g n e d \r : h y p e r i n t 0007020 e g e r \r : h y p e r u n s i g 0007040 n e d \r : s t r i n g \r : f l o 0007060 a t ( n o t y e t i m p l 0007100 e m e n t e d ) \r : d o u b l e 0007120 ( n o t y e t i m p l e m 0007140 e n t e d ) . \r 2 ) C o n s t 0007160 r u c t e d D e f i n i t i o 0007200 n : \r O n e o f t h e t y 0007220 p e s i n * x d r - c o n s 0007240 t r u c t e d - t y p e s * , \r 0007260 ( : e n u m e r a t i o n \t ( < 0007300 s y m b o l - 1 > < c o n s t 0007320 a n t - 1 > ) . . . \r \t ( < 0007340 s y m b o l - n > < c o n s t 0007360 a n t - n > ) ) \r ( : u n i o 0007400 n < e n u m e r a t i o n - t 0007420 y p e > < t y p e d e f - 1 > 0007440 . . . < t y p e d e f - n > 0007460 ) \r ( : f i x e d - a r r a y 0007500 < t y p e d e f > < c o n s t 0007520 a n t > ) \r ( : c o u n t e d - 0007540 a r r a y < t y p e d e f > ) 0007560 \r ( : o p a q u e < c o n s t 0007600 a n t > ) \r ( : s t r u c t < 0007620 d e f s t r u c t - t y p e > \t 0007640 ( < f i e l d - n a m e - 1 > 0007660 < t y p e d e f - 1 > ) . . . 0007700 \r \t \t ( < f i e l d - n a m e 0007720 n > < t y p e d e f - n > ) 0007740 ) \r ( : s e q u e n c e < t 0007760 y p e d e f > ) \r ( : l i s t 0010000 < t y p e d e f - 1 > . . . 0010020 < t y p e d e f - n > ) . \r \r 3 0010040 ) L o c a l D e f i n i t i 0010060 o n : \t A s y m b o l d e f 0010100 i n e d p r e v i o u s l y 0010120 i n t h e s a m e r e m o 0010140 t e p r o g r a m d e f i n 0010160 i t i o n . \r E x a m p l e : \t 0010200 : t y p e s ( ( n r e c : u 0010220 n s i g n e d ) . . . ) s a y 0010240 s t h a t t y p e ' n r e 0010260 c ' i s r e a l l y o n l 0010300 y o f t y p e ' : u n s i 0010320 g n e d ' . \r \r 4 ) Q u a l i 0010340 f i e d D e f i n i t i o n : 0010360 \t A d o t t e d p a i r o 0010400 f t h e f o r m ( < R P C 0010420 p r o g r a m n a m e > . 0010440 < t y p e > ) , w h e r e 0010460 < t y p e > i s a 0010500 n X D R t y p e l o c a l 0010520 t o < R P C p r o g r a m 0010540 n a m e > . \t \r E x a m p l e 0010560 : \t : t y p e s ( ( c o u n t 0010600 ( m y p r o g . n r e c ) 0010620 ) . . . ) s a y s t h a t 0010640 a ' c o u n t ' i s r e a 0010660 l l y w h a t e v e r m y p 0010700 r o g d e f i n e s a ' n 0010720 r e c ' t o b e . \r 5 ) I 0010740 n h e r i t e d D e f i n i t 0010760 i o n : \t A s y m b o l d e 0011000 f i n e d i n t h e : t y 0011020 p e s a r g u m e n t o f 0011040 a r e m o t e p r o g r a m 0011060 R s u c h t h a t R i 0011100 s o n t h e l i s t o f 0011120 r e m o t e p r o g r a m s 0011140 p a s s e d a s t h e : 0011160 i n h e r i t s a r g u m e n 0011200 t t o t h e c u r r e n t 0011220 r e m o t e p r o g r a m 0011240 d e f i n i t i o n . T h e 0011260 f i r s t s u c h t y p e 0011300 d e f i n i t i o n f o u n d 0011320 i s u s e d , t h a t i 0011340 s , t h e l i s t o f i 0011360 n h e r i t e d p r o g r a m 0011400 s i s s c a n n e d f r o 0011420 m l e f t t o r i g h t . 0011440 \r X D R C O N S T A N T D E 0011460 F I N I T I O N S \r C o n s t a 0011500 n t s i n X D R a r e d 0011520 e f i n e d b y t h e f o 0011540 l l o w i n g g r a m m a r : 0011560 \r \r < c o n s t a n t - d e f > 0011600 : : = < i n t e g e r > | 0011620 < d e f i n e d - c o n s t a 0011640 n t > \r \r < d e f i n e d c o 0011660 n s t a n t > : : = \t < l o c 0011700 a l l y d e f i n e d c o n 0011720 s t a n t > \r ; D e f i n e d 0011740 i n t h e R e m o t e P 0011760 r o g r a m c u r r e n t l y 0012000 b e i n g d e f i n e d . \r 0012020 \r | < i n h e r i t e d c 0012040 o n s t a n t > \r ; D e f i n 0012060 e d i n a r e m o t e p 0012100 r o g r a m i n h e r i t e d 0012120 b y t h e c u r r e n t 0012140 R e m o t e P r o g r a m 0012160 ( s e a r c h e d f r o m l 0012200 e f t t o r i g h t ) . \r \r 0012220 | < q u a l i f i e d c o 0012240 n s t a n t > \r ; A d o t t 0012260 e d p a i r ( < r p > . 0012300 < c o n s t a n t > ) , w h e 0012320 r e < c o n s t a n t > i s 0012340 d e f i n e d i n r e m o 0012360 t e p r o g r a m < r p > . 0012400 \r S E M A N T I C S \r A n 0012420 X D R t y p e c a n b e 0012440 d e f i n e d b y a b i d 0012460 i r e c t i o n a l f i l t e 0012500 r m a p p i n g a s u b s 0012520 e t o f L i s p o n t o 0012540 a b y t e s t r e a m a n 0012560 d v i c e - v e r s a . \r F o 0012600 r t h e X D R p r i m i 0012620 t i v e t y p e ' s f i l t 0012640 e r , a d e s c r i p t i o 0012660 n i s g i v e n o f i t 0012700 s a r g u m e n t o n t h 0012720 e L i s p a n d X D R s 0012740 i d e s . \r : i n t e g e r \t 0012760 L i s p : \t a n i n t e g e r 0013000 i n r a n g e - 2 , 1 4 7 0013020 , 4 8 3 , 6 4 8 t o 2 , 1 4 0013040 7 , 4 8 3 , 6 4 8 i n c l u s 0013060 i v e . \r X D R : \t a 4 b y 0013100 t e t w o ' s c o m p l e m 0013120 e n t i n t e g e r , h i g 0013140 h o r d e r t o l o w o 0013160 r d e r . \r : u n s i g n e d \t 0013200 L i s p : \t a n i n t e g e r 0013220 i n r a n g e 0 t o 4 0013240 , 2 9 4 , 9 6 7 , 2 9 5 i n c 0013260 l u s i v e . \r X D R : \t a 4 0013300 b y t e n o n - n e g a t i 0013320 v e i n t e g e r , h i g h 0013340 o r d e r t o l o w o r 0013360 d e r . \r : b o o l e a n \t L i 0013400 s p : N I L f o r f a l 0013420 s e , n o n - N I L f o r 0013440 t r u e . ( T h e L i s p 0013460 s y m b o l T i s r e t u 0013500 r n e d w h e n d e c o d i 0013520 n g a 1 f r o m t h e 0013540 X D R s i d e . ) \r X D R : \t 0013560 0 f o r f a l s e , 1 f 0013600 o r t r u e . \r : h y p e r i 0013620 n t e g e r \t L i s p : \t a n 0013640 i n t e g e r i n r a n g 0013660 e - ( 2 6 3 ) t o 2 6 3 0013700 - 1 i n c l u s i v e . \r X 0013720 D R : \t a 8 b y t e t w o 0013740 ' s c o m p l e m e n t i n 0013760 t e g e r , h i g h o r d e 0014000 r t o l o w o r d e r . \r 0014020 : h y p e r u n s i g n e d \t L 0014040 i s p : \t a n i n t e g e r 0014060 i n r a n g e 0 t o 2 6 0014100 4 - 1 i n c l u s i v e . \r X 0014120 D R : \t a 8 b y t e n o n 0014140 - n e g a t i v e i n t e g e 0014160 r , h i g h o r d e r t o 0014200 l o w o r d e r . \r : s t r 0014220 i n g \t L i s p : \t a s t r i 0014240 n g o f a n y l e n g t h 0014260 . \r X D R : S u p p o s e t 0014300 h e s t r i n g i s o f 0014320 l e n g t h n . T h e X D 0014340 R r e p r e s e n t a t i o n 0014360 i s a n : u n s i g n e d 0014400 ( t h e s t r i n g l e n 0014420 g t h n ) , f o l l o w 0014440 e d b y t h e n b y t e 0014460 s o f t h e s t r i n g , 0014500 f o l l o w e d b y e n o 0014520 u g h 0 b y t e s t o m 0014540 a k e a m u l t i p l e o 0014560 f 4 b y t e s . \r : s t r 0014600 i n g - p o i n t e r \t ( U D P 0014620 o n l y ) \r L i s p : a d 0014640 o t t e d p a i r ( a d d r 0014660 . n b y t e s ) , w h e r 0014700 e a d d r i s a b u f f 0014720 e r ' s a d d r e s s a n d 0014740 n b y t e s i s t h e n 0014760 u m b e r o f b y t e s i 0015000 n t h e b u f f e r . ( S 0015020 h o u l d I a d d a n o 0015040 f f s e t a r g u m e n t ? ) 0015060 . T h i s i s a s p e e 0015100 d h a c k t o a v o i d 0015120 h a v i n g t o c o p y V 0015140 M E M P A G E P ' s t w i c e 0015160 . \r X D R : A n X D R : s 0015200 t r i n g , a s a b o v e . 0015220 \r : f l o a t \t L i s p : A 0015240 f l o a t i n g p o i n t n 0015260 u m b e r . ( N O T Y E T 0015300 I M P L E M E N T E D ) . \r X D 0015320 R : A 4 b y t e f l o 0015340 a t i n g p o i n t n u m b 0015360 e r i n I E E E f o r m a 0015400 t . \r : d o u b l e \t L i s p 0015420 : A f l o a t i n g p o i 0015440 n t n u m b e r . ( N O T 0015460 Y E T I M P L E M E N T E D ) 0015500 . \r X D R : A d o u b l e 0015520 p r e c i s i o n f l o a t 0015540 i n g p o i n t n u m b e r 0015560 i n I E E E f o r m a t . 0015600 \r : v o i d \t L i s p : n u 0015620 l l \r X D R : n o b y t e s 0015640 . \r F o r e a c h c o n s t 0015660 r u c t e d X D R t y p e , 0015700 t h e d e c l a r a t i o 0015720 n s y n t a x i s g i v e 0015740 n a l o n g w i t h i t s 0015760 c o r r e s p o n d i n g m 0016000 a p p i n g . \r ( : e n u m e r 0016020 a t i o n ( < s y m b o l > 0016040 < i n t e g e r > ) . . . ( 0016060 < s y m b o l > < i n t e g e 0016100 r > ) ) \r L i s p : a s y m 0016120 b o l \r X D R : a n X D R 0016140 : i n t e g e r . \r T h e L i 0016160 s p s y m b o l ( E a c h 0016200 s y m b o l i s t h e " d 0016220 i s c r i m i n a n t " f o r 0016240 t h a t v a l u e o f t 0016260 h e e n u m e r a t i o n ) 0016300 a n d t h e X D R i n t e 0016320 g e r w i l l b e f r o m 0016340 a c o r r e s p o n d i n g 0016360 p a i r i n t h e d e c 0016400 l a r a t i o n . I t i s 0016420 a n e r r o r t o t r y 0016440 t o e n c o d e a s y m b 0016460 o l n o t i n t h e d e 0016500 c l a r a t i o n o r t o 0016520 t r y t o d e c o d e a n 0016540 X D R i n t e g e r f o r 0016560 w h i c h t h e r e i s 0016600 n o t a c o r r e s p o n d 0016620 i n g s y m b o l i n t h 0016640 e d e c l a r a t i o n . \r ( 0016660 : u n i o n < e n u m e r a t 0016700 i o n - t y p e > ( < s y m b 0016720 o l - 1 > < t y p e d e f - 1 0016740 > ) . . . ( < s y m b o l - 0016760 n > < t y p e d e f - n > ) ) 0017000 \r L i s p : A l i s t o f 0017020 t w o e l e m e n t s , t 0017040 h e f i r s t b e i n g a 0017060 d i s c r i m i n a n t f o 0017100 r t h e e n u m e r a t i o 0017120 n t y p e , a n d t h e 0017140 s e c o n d t h e a p p r 0017160 o p r i a t e L i s p i n p 0017200 u t / o u t p u t f o r t h 0017220 e t y p e d e f c o r r e s 0017240 p o n d i n g t o t h a t 0017260 d i s c r i m i n a n t ' s t 0017300 y p e . . \r X D R : A n : i 0017320 n t e g e r d i s c r i m i n 0017340 a n t f o l l o w e d b y 0017360 t h e X D R i n p u t / o u 0017400 t p u t f o r t h e t y p 0017420 e d e f c o r r e s p o n d i 0017440 n g t o t h a t d i s c r 0017460 i m i n a n t ' s t y p e . \r 0017500 ( : f i x e d - a r r a y < t 0017520 y p e d e f > < c o n s t a n 0017540 t > ) \r L i s p : A n a r r 0017560 a y o f l e n g t h < c o 0017600 n s t a n t > , e a c h e l 0017620 e m e n t o f w h i c h i 0017640 s a n o b j e c t o f t 0017660 y p e < t y p e d e f L i s p 0017700 > . N o t e t h a t s i n 0017720 c e t h e f u n c t i o n 0017740 e l t i s u s e d i n e 0017760 n c o d i n g , a n y L i s 0020000 p s e q u e n c e c o u l d 0020020 b e u s e d i n p l a c 0020040 e o f a n a r r a y . \r X 0020060 D R : A s e q u e n c e o 0020100 f < c o n s t a n t > o b 0020120 j e c t s o f t y p e < t 0020140 y p e d e f X D R > . \r ( : c o 0020160 u n t e d - a r r a y < t y p 0020200 e d e f > ) \r L i s p : A l 0020220 i s t o f t w o e l e m e 0020240 n t s , t h e f i r s t o 0020260 f w h i c h i s a n i n 0020300 t e g e r ( t h e n u m b e 0020320 r o f o b j e c t s t o 0020340 b e e n c o d e d / d e c o d 0020360 e d ) , a n d t h e s e c 0020400 o n d o f w h i c h i s 0020420 a n a r r a y o f o b j 0020440 e c t s o f t y p e < t y 0020460 p e d e f L i s p > . \r X D R : 0020500 A n i n t e g e r ( t h e 0020520 n u m b e r o f o b j e c 0020540 t s t o b e e n c o d e d 0020560 / d e c o d e d ) f o l l o w 0020600 e d b y t h a t n u m b e 0020620 r o f o b j e c t s o f 0020640 t y p e < t y p e d e f X D R 0020660 > . \r ( : o p a q u e < c o n 0020700 s t a n t > ) \t L i s p : A 0020720 s t r i n g o f l e n g t h 0020740 < c o n s t a n t > . \r X D R 0020760 : A s e q u e n c e o f 0021000 < c o n s t a n t > b y t e 0021020 s f o l l o w e d b y e 0021040 n o u g h n u l l b y t e s 0021060 t o r o u n d < c o n s t 0021100 a n t > u p t o a m u l 0021120 t i p l e o f f o u r . \r ( 0021140 : s t r u c t < d e f s t r u 0021160 c t - t y p e > ( < f i e l d 0021200 - n a m e - 1 > < t y p e d e 0021220 f - 1 > ) . . . ( < f i e l d 0021240 - n a m e n > < t y p e d e 0021260 f - n > ) ) \r \r L i s p : A 0021300 s t r u c t o f t y p e 0021320 < d e f s t r u c t - t y p e > 0021340 s u c h t h a t e a c h 0021360 f i e l d m e n t i o n e d 0021400 i n t h e t h i s X D R 0021420 d e c l a r a t i o n h a s 0021440 a v a l u e . N o t e t h 0021460 a t a s e p a r a t e d e 0021500 f s t r u c t m u s t b e 0021520 e x e c u t e d . T h e f i 0021540 e l d s n e e d n o t b e 0021560 n a m e d h e r e i n t 0021600 h e s a m e o r d e r a s 0021620 t h o s e i n t h e d e 0021640 f s t r u c t , n o r m u s 0021660 t a l l t h e f i e l d s 0021700 n a m e d i n t h e d e 0021720 f s t r u c t b e u s e d 0021740 h e r e . \r \r X D R : A s e 0021760 q u e n c e o f o b j e c t 0022000 s o f t y p e s < t y p e 0022020 d e f 1 X D R > . . . < t y p 0022040 e d e f n X D R > . \r ( : s e 0022060 q u e n c e < t y p e d e f > 0022100 ) \t T h i s i s f a s h i o 0022120 n e d a f t e r C o u r i e 0022140 r ' s m e t h o d f o r 0022160 e n c o d i n g / d e c o d i n 0022200 g l i n k e d l i s t s . 0022220 T h i s t y p e c a n o f 0022240 t e n b e u s e d t o g 0022260 e t a r o u n d c l u m s y 0022300 r e c u r s i v e d e f i n 0022320 i t i o n s i n v o l v i n g 0022340 : u n i o n ' s o f e n u 0022360 m e r a t i o n t y p e : b 0022400 o o l e a n . \r \r L i s p : A 0022420 l i s t o f o b j e c t s 0022440 o f t y p e < t y p e d e 0022460 f L i s p > . \r \r X D R : A 0022500 s e q u e n c e o f o b j e 0022520 c t s , e a c h p r e c e d 0022540 e d b y a n X D R : b o 0022560 o l e a n e n c o d i n g o 0022600 f t r u e . T h e l a s t 0022620 o b j e c t i n t h e s 0022640 e q u e n c e i s f o l l o 0022660 w e d b y t h e X D R : 0022700 b o o l e a n e n c o d i n g 0022720 o f f a l s e . \r \r N o t e 0022740 : ( : s e q u e n c e < t 0022760 y p e d e f > ) p r o d u c 0023000 e s t h e s a m e e n c o 0023020 d i n g ( b u t n o t t h 0023040 e s a m e d e c o d i n g ) 0023060 a s \r ( d e f s t r u c t 0023100 a s t r u c t u r e t h i s - 0023120 e l e m e n t t h e - r e s t 0023140 ) \r a l o n g w i t h t h e 0023160 d e c l a r a t i o n \r ( : r 0023200 e c u r s i v e ( : u n i o n 0023220 \t : b o o l e a n \r ( T ( : s 0023240 t r u c t a s t r u c t u r e 0023260 \t ( t h i s - e l e m e n t < 0023300 t y p e d e f > ) \r \t ( t h e - 0023320 r e s t a s t r u c t u r e ) 0023340 ) ) \r ( N I L : v o i d ) ) ) 0023360 , \r ( : l i s t < t y p e d 0023400 e f - 1 > . . . < t y p e d 0023420 e f - n > ) \r \r L i s p : A 0023440 l i s t , t h e i t h e 0023460 l e m e n t o f w h i c h 0023500 i s o f t y p e < t y p e 0023520 d e f i L i s p > . \r \r X D R 0023540 : A s e q u e n c e o f 0023560 o b j e c t s , t h e i t h 0023600 o f w h i c h i s o f 0023620 t y p e < t y p e d e f i X 0023640 D R > . \r ( : s k i p < u n 0023660 s i g n e d > ) \t ( F o r d e 0023700 c o d i n g o n l y ) \r \r L i 0023720 s p : N o t h i n g \r \r X D R 0023740 : A n y n b y t e s o f 0023760 d a t a , w h e r e < u n 0024000 s i g n e d > = n . \r \r N o 0024020 t e : T h i s i s a k l 0024040 o o g e f o r n o t h a v 0024060 i n g t o d e c o d e t h 0024100 e f a t t r ' s t h a t N 0024120 F S r e t u r n s w i t h 0024140 e v e r y s i n g l e c o t 0024160 t o n - p i c k i n ' m e m 0024200 o r y r e a d . \r E X A M P L 0024220 E O F A R E M O T E P R 0024240 O G R A M D E F I N I T I O N 0024260 \r T h e f o l l o w i n g 0024300 c a l l t o d e f i n e - 0024320 r e m o t e - p r o g r a m d 0024340 e f i n e s t h e p o r t m 0024360 a p p e r r e m o t e p r o 0024400 c e d u r e s d e s c r i b 0024420 e d i n S u n ' s R e m o 0024440 t e P r o c e d u r e C a l 0024460 l S p e c i f i c a t i o n . 0024500 N o t e t h a t t h e r 0024520 e a r e t w o d e f i n i 0024540 t i o n s o f p r o c e d u 0024560 r e 4 g i v e n . S i n c 0024600 e r e m o t e p r o c e d u 0024620 r e s m a y b e i n v o k 0024640 e d b y n a m e , i t i 0024660 s r e a s o n a b l e f o r 0024700 t h e r e t o b e m o r 0024720 e t h a n o n e d e f i n 0024740 i t i o n f o r h o w t o 0024760 d e c o d e a n d e n c o 0025000 d e t h e a r g u m e n t s 0025020 t o a g i v e n r o u t 0025040 i n e . I n t h i s c a s 0025060 e , b o t h a r e c u r s 0025100 i v e a n d n o n - r e c u 0025120 r s i v e d e f i n i t i o n 0025140 i s g i v e n f o r t h 0025160 e v a l u e s r e t u r n e 0025200 d f r o m p r o c e d u r e 0025220 4 . N o t e a l s o t h 0025240 a t m a p s t r u c t a n d 0025260 m a p s e q u e n c e m u s 0025300 t b e d e f s t r u c t ' e 0025320 d b e f o r e t h i s c 0025340 a l l t o d e f i n e - r e 0025360 m o t e - p r o c e d u r e . \r 0025400 ( d e f i n e - r e m o t e - p 0025420 r o g r a m ' p o r t m a p p 0025440 e r 1 0 0 0 0 0 2 ' u d p 0025460 \r : t y p e s \t ' ( \t ( m a p s 0025500 t r u c t ( : u n i o n : 0025520 b o o l e a n \r \t \t \t \t \t ( n 0025540 i l : v o i d ) \r \t \t \t \t \t ( 0025560 t ( : s t r u c t m a p s t 0025600 r u c t \r \t \t \t \t \t \t \t ( p r o 0025620 g r a m : u n s i g n e d ) \r 0025640 \t \t \t \t \t \t \t ( v e r s : u n 0025660 s i g n e d ) \r \t \t \t \t \t \t \t ( 0025700 p r o t : u n s i g n e d ) 0025720 \r \t \t \t \t \t \t \t ( p o r t : u 0025740 n s i g n e d ) \r \t \t \t \t \t \t \t 0025760 ( t h e r e s t m a p s t r u 0026000 c t ) ) ) ) ) \r \t \t \t ( m a p 0026020 s e q u e n c e ( : s e q u e 0026040 n c e ( : s t r u c t m a p 0026060 s e q u e n c e \r \t \t \t \t \t \t 0026100 \t \t ( p r o g r a m : u n s i 0026120 g n e d ) \r \t \t \t \t \t \t \t \t ( v 0026140 e r s : u n s i g n e d ) \r \t 0026160 \t \t \t \t \t \t \t ( p r o t o c o l 0026200 : u n s i g n e d ) \r \t \t \t 0026220 \t \t \t \t \t ( p o r t : u n s i 0026240 g n e d ) ) ) ) ) \r : p r o c 0026260 e d u r e s \r \t ' ( \t ( n u l l 0026300 0 n i l n i l ) \r \t \t ( l 0026320 o o k u p 3 ( : u n s i g n 0026340 e d : u n s i g n e d : u n 0026360 s i g n e d : u n s i g n e d 0026400 ) \r \t \t \t \t \t ( : u n s i g n e 0026420 d ) ) \r \t \t ( g o o d d u m p 0026440 4 n i l ( m a p s e q u e n 0026460 c e ) ) \r \t \t ( d u m p 4 0026500 n i l ( m a p s t r u c t ) ) 0026520 \r \t \t ( i n d i r e c t 5 0026540 ( : u n s i g n e d : u n s i 0026560 g n e d : u n s i g n e d \r \t 0026600 \t \t \t \t : s t r i n g ) \r \t \t \t 0026620 \t \t ( : u n s i g n e d : s t 0026640 r i n g ) ) ) ) \r U N D E F I N 0026660 I N G R E M O T E P R O G R 0026700 A M S \r u n d e f i n e - r e m 0026720 o t e - p r o g r a m \t n a m e 0026740 n u m b e r v e r s i o n \t 0026760 [ F u n c t i o n ] \t \t \t \t 0027000 \r M A K I N G R E M O T E P 0027020 R O C E D U R E C A L L S \r r 0027040 e m o t e - p r o c e d u r e - 0027060 c a l l \t d e s t i n a t i o 0027100 n p r o g r a m p r o c i 0027120 d a r g l i s t \t [ F u n c 0027140 t i o n ] \r & k e y d e s t 0027160 s o c k e t v e r s i o n c 0027200 r e d e n t i a l s p r o t o 0027220 c o l \r d y n a m i c - p r o g 0027240 n u m d y n a m i c - v e r s 0027260 i o n \r m s e c - u n t i l - t 0027300 i m e o u t m s e c - b e t w 0027320 e e n - t r i e s n o e r r o 0027340 r f l g \r \r P e r f o r m s 0027360 a r e m o t e p r o c e d u 0027400 r e c a l l t o p r o g r 0027420 a m o n d e s t i n a t i o 0027440 n . R e t u r n s a l i s 0027460 t o f t h e r e t u r n e 0027500 d v a l u e s . \r d e s t i n 0027520 a t i o n \t D e s i g n a t e s 0027540 t h e h o s t t o w h i 0027560 c h t h e p r o c e d u r e 0027600 c a l l i s m a d e . I 0027620 f D e s t i n a t i o n \t i 0027640 s a n u m b e r i t i s 0027660 i n t e r p r e t e d t o 0027700 b e t h e i l : i p h o s t 0027720 a d r e s s o f t h e h o 0027740 s t ; i f a s y m b o 0027760 l o r s t r i n g , i t 0030000 i s a n a m e f r o m w 0030020 h i c h t h e n e t a d 0030040 d r e s s o f t h e h o s 0030060 t m a y b e f o u n d . \r 0030100 p r o g r a m \t D e s i g n a t 0030120 e s t h e r e m o t e p r 0030140 o g r a m t o b e c a l l 0030160 e d . I f P r o g r a m i 0030200 s a n u m b e r , i t i 0030220 s i n t e r p r e t e d t o 0030240 b e t h e r e m o t e p 0030260 r o g r a m n u m b e r . I 0030300 f a s y m b o l , i n w 0030320 h i c h c a s e i t i s 0030340 a s s u m e d t o b e t h 0030360 e n a m e o f t h e r e 0030400 m o t e p r o c e d u r e ( 0030420 a s d e f i n e d i n d e 0030440 f i n e - r e m o t e - p r o c 0030460 e d u r e . I f : v e r s i 0030500 o n i s n o n - n i l , t 0030520 h e n p r o g r a m i s t 0030540 r e a t e d a s a n u m b 0030560 e r r a t h e r t h a n a 0030600 s a n a m e . I f v e r 0030620 s i o n i s n i l a n d 0030640 p r o g r a m i s a n u m 0030660 b e r , t h e n t h e l a 0030700 t e s t v e r s i o n o f 0030720 t h a t p r o g r a m i s 0030740 u s e d . \r p r o c i d \t D e s 0030760 i g n a t e s t h e p r o c 0031000 e d u r e n u m b e r f r o 0031020 m p r o g r a m t o b e 0031040 c a l l e d . I f P r o c i 0031060 d i s a n u m b e r i t 0031100 i s i n t e r p r e t e d 0031120 t o b e t h e r e m o t e 0031140 p r o c e d u r e n u m b e 0031160 r ; i f a s y m b o l , 0031200 i t i s t h e n a m e 0031220 g i v e n t h a t p r o c 0031240 e d u r e i n d e f i n e - 0031260 r e m o t e - p r o c e d u r e 0031300 . \r a r g l i s t \t A l i s t 0031320 o f t h e a r g u m e n t 0031340 s t o b e s e r i a l i z 0031360 e d i n t o X D R r e p r 0031400 e s e n t a t i o n a n d p 0031420 a s s e d a s t h e a r g 0031440 u m e n t s o f t h e r e 0031460 m o t e p r o c e d u r e c 0031500 a l l . \r : d e s t s o c k e t 0031520 \t N o r m a l l y , t h e r 0031540 e m o t e s o c k e t m u s 0031560 t b e l o o k e d u p i 0031600 n t h e l o c a l c a c h 0031620 e s ( S e e * r p c - s o c 0031640 k e t - c a c h e * a n d * 0031660 r p c - w e l l - k n o w n - s 0031700 o c k e t s * ) o r e l s 0031720 e f o u n d b y m a k i n 0031740 g a c a l l t o t h e 0031760 P o r t m a p p e r o n t h 0032000 e r e m o t e m a c h i n e 0032020 . I f : d e s t s o c k e t 0032040 i s n o n - n i l , i t s 0032060 v a l u e i s u s e d a 0032100 s t h e r e m o t e s o 0032120 c k e t . \r : v e r s i o n \t I 0032140 f n o n - n i l d e s i g n 0032160 a t e d t h e d e s i r e d 0032200 v e r s i o n o f p r o g 0032220 r a m a s w e l l a s 0032240 c a u s i n g p r o g r a m 0032260 t o b e i n t e r p r e t e 0032300 d a s a n u m b e r r a 0032320 t h e r t h a n a n a m e 0032340 . S e e p r o g r a m a 0032360 b o v e . \r : c r e d e n t i a 0032400 l s \t A n o b j e c t o f 0032420 t y p e a u t h e n t i c a t 0032440 i o n t o b e p a s s e d 0032460 a s t h e c r e d e n t 0032500 i a l s o f t h e r e m o 0032520 t e p r o c e d u r e c a l 0032540 l . ( S e e c r e a t e - u 0032560 n i x - a u t h e n t i c a t i 0032600 o n ) . \r : p r o t o c o l \t A 0032620 s y m b o l s p e c i f y i 0032640 n g t h e t r a n s p o r 0032660 t p r o t o c o l . C u r 0032700 r e n t l y o n l y U D P 0032720 i s i m p l e m e n t e d . 0032740 D e f a u l t s t o U D P 0032760 . T h e o n l y r e a s o 0033000 n f o r u s i n g t h i s 0033020 p a r a m e t e r i s t o 0033040 s p e c i f y ( a l o n g 0033060 w i t h t h e p r o g r a m 0033100 a n d v e r s i o n ) , w 0033120 h i c h k n o w n r e m o t 0033140 e p r o g r a m i s t o 0033160 b e u s e d . \r : d y n a m i 0033200 c - p r o g n u m \t I f y o u 0033220 r e a l l y c a n ' t l i 0033240 v e w i t h o u t i t , 0033260 d y n a m i c - p r o g n u m 0033300 i s u s e d a s t h e 0033320 r e m o t e p r o g r a m n 0033340 u m b e r i n s p i t e 0033360 o f t r e a t i n g t h e 0033400 a r g l i s t a n d r e t u 0033420 r n e d v a l u e s e x a c 0033440 t l y a s i n p r o g r a 0033460 m . D o n ' t a s k w h y 0033500 . \r : d y n a m i c - v e r s i 0033520 o n \t I f y o u r e a l l y 0033540 c a n ' t l i v e w i t h 0033560 o u t i t , d y n a m i c 0033600 - v e r s i o n i s u s e 0033620 d a s t h e r e m o t e 0033640 p r o g r a m v e r s i o n 0033660 i n s p i t e o f t r e 0033700 a t i n g t h e a r g l i s 0033720 t a n d r e t u r n e d v 0033740 a l u e s e x a c t l y a s 0033760 s p e c i f i e d i n p 0034000 r o g r a m ( a n d p o s s 0034020 i b l y v e r s i o n ) . D 0034040 o n ' t a s k w h y . D e 0034060 f a u l t s t o 1 . \r : m s 0034100 e c - u n t i l - t i m e o u t 0034120 \t T o t a l n u m b e r o f 0034140 m i l l i s e c o n d s o 0034160 f w a i t i n g f o r a 0034200 r e p l y p a c k e t b e f 0034220 o r e g i v i n g u p o n 0034240 t h i s r e m o t e p r o 0034260 c e d u r e c a l l . D e f 0034300 a u l t s t o v a l u e o 0034320 f * r p c - m s e c - u n t i 0034340 l - t i m e o u t * . \r : m s e 0034360 c - b e t w e e n - t r i e s \t 0034400 N u m b e r o f m i l l i s 0034420 e c o n d s b e t w e e n o 0034440 u t g o i n g U D P p a c 0034460 k e t s . D e f a u l t s t 0034500 o * r p c - m s e c - b e t w 0034520 e e n - t r i e s * . \r : e r r 0034540 o r f l g \t I f : n o e r 0034560 r o r s , i g n o r e s r e 0034600 m o t e p r o c e d u r e c 0034620 a l l e r r o r s . I f : 0034640 r e t u r n e r r o r s , r e 0034660 t u r n s t h e e r r o r 0034700 a s a n s - e x p r e s s i 0034720 o n . O t h e r w i s e , s 0034740 i g n a l s a L i s p e r 0034760 r o r . D e f a u l t t . \r 0035000 L O W - L E V E L R E M O T E 0035020 P R O C E D U R E C A L L 0035040 F U N C T I O N S \r s e t u p - 0035060 r p c \t d e s t i n a t i o n 0035100 p r o g r a m p r o c i d \t [ 0035120 F u n c t i o n ] \r & o p t i o 0035140 n a l d e s t s o c k e t v 0035160 e r s i o n p r o t o c o l 0035200 d y n a m i c - p r o g n u m 0035220 d y n a m i c - v e r s i o n \r 0035240 \r R e t u r n s f o u r v a 0035260 l u e s d e s t a d d r , 0035300 s o c k e t , p r o g r a m 0035320 a n d p r o c e d u r e ( 0035340 Y e s , t h i s i s r e a 0035360 l , l i v e m u l t i p l e 0035400 v a l u e r e t u r n r e 0035420 q u i r i n g a m u l t i 0035440 p l e - v a l u e - b i n d 377 377 0035460 \0 \0 377 \0 o r s o m e t h i n 0035500 g s i m i l a r . ) f o r 0035520 c o n s u m p t i o n b y p 0035540 e r f o r m - r p c . T h e 0035560 a r g u m e n t s t o s e t 0035600 u p - r p c a r e i d e n t 0035620 i c a l i n m e a n i n g 0035640 t o t h e i d e n t i c a l 0035660 l y n a m e d a r g u m e n 0035700 t s t o r e m o t e - p r o 0035720 c e d u r e - c a l l . \r o p e 0035740 n - r p c - s t r e a m \t p r o 0035760 t o c o l d e s t a d d r d 0036000 e s t s o c k e t \t [ F u n c t 0036020 i o n ] \r \r R e t u r n s a n 0036040 r p c s t r e a m f o r u 0036060 s e b y p e r f o r m - r p 0036100 c . D e s t a d d r a n d 0036120 d e s t s o c k e t a r e a 0036140 s r e t u r n e d b y s e 0036160 t u p - r p c a n d p r o t 0036200 o c o l i s i d e n t i c a 0036220 l t o t h e p r o t o c o 0036240 l a r g u m e n t t o r e 0036260 m o t e - p r o c e d u r e - c 0036300 a l l . \r \r c l o s e - r p c - 0036320 s t r e a m \t r p c s t r e a m 0036340 p r o t o c o l \t [ F u n c t 0036360 i o n ] \r \r C l o s e s r p c 0036400 s t r e a m , a n r p c - s 0036420 t r e a m o f p r o t o c o 0036440 l p r o t o c o l c r e a t 0036460 e d b y o p e n - r p c - s 0036500 t r e a m . \r p e r f o r m - 0036520 r p c \t d e s t a d d r d e s 0036540 t s o c k e t p r o g r a m 0036560 p r o c e d u r e r p c s 0036600 t r e a m \t [ F u n c t i o n ] 0036620 \r a r g l i s t c r e d e n t 0036640 i a l s p r o t o c o l & k 0036660 e y e r r o r f l g l e a v 0036700 e - s t r e a m - o p e n m s 0036720 e c - u n t i l - t i m e o u t 0036740 m s e c - b e t w e e n - t r 0036760 i e s \r \r P e r f o r m s a 0037000 r e m o t e p r o c e d u r e 0037020 c a l l r e t u r n i n g 0037040 a l i s t o f t h e v a 0037060 l u e s r e t r u n e d b y 0037100 t h e r e m o t e p r o c 0037120 e d u r e . \r L I S T I N G R 0037140 E M O T E P R O G R A M S C 0037160 U R R E N T L Y D E F I N E D 0037200 \r l i s t - r e m o t e - p r o 0037220 g r a m s \t \t [ F u n c t i o n 0037240 ] \r \r R e t u r n s a l i s 0037260 t o f 4 - t u p l e s ( n 0037300 a m e n u m b e r v e r s i 0037320 o n p r o t o c o l ) f o r 0037340 e a c h r e m o t e p r 0037360 o g r a m c u r r e n t l y 0037400 d e f i n e d . \r \r C R E A T I 0037420 O N O F C R E D E N T I A L 0037440 S \r c r e a t e - u n i x - a u 0037460 t h e n t i c a t i o n \r s t a 0037500 m p m a c h i n e - n a m e 0037520 u i d g i d g i d s \t [ F u 0037540 n c t i o n ] \r \r R e t u r n s 0037560 a U n i x - t y p e a u t 0037600 h e n t i c a t i o n s u i t 0037620 a b l e f o r u s e a s 0037640 t h e c r e d e n t i a l s 0037660 o f a c a l l t o r e m 0037700 o t e - p r o c e d u r e - c a 0037720 l l o r p e r f o r m - r p 0037740 c . \r \r s t a m p \t A n a r b 0037760 i t r a r y u n s i g n e d 0040000 i n t e g e r . \r m a c h i n e 0040020 - n a m e \t A s t r i n g c 0040040 o n t a i n i n g t h e n a 0040060 m e o f t h e c a l l i n 0040100 g m a c h i n e . \r u i d \t U 0040120 s e r i d n u m b e r o n 0040140 t h e r e m o t e m a c h 0040160 i n e . \r g i d \t G r o u p i 0040200 d n u m b e r o n t h e 0040220 m a c h i n e . \r g i d s \t A 0040240 l i s t o r a r r a y o 0040260 f g r o u p i d n u m b e 0040300 r s ( o n t h e r e m o t 0040320 e m a c h i n e ) t h a t 0040340 c o n t a i n t h e c a l l 0040360 e r a s a m e m b e r . \t 0040400 \t \t \r \r G L O B A L V A R 0040420 I A B L E S \r \r * x d r - p r i 0040440 m i t i v e - t y p e s * \t A n 0040460 a - l i s t o f k e y w o 0040500 r d s a n d t h e c o r r 0040520 e s p o n d i n g f u n c t i 0040540 o n t h a t i m p l e m e n 0040560 t s t h a t X D R p r i m 0040600 i t i v e t y p e . \r * x d r 0040620 - c o n s t r u c t e d - t y p 0040640 e s * \t A n a - l i s t o f 0040660 k e y w o r d s a n d t h 0040700 e c o r r e s p o n d i n g 0040720 f u n c t i o n t h a t g e 0040740 n e r a t e s c o d e t o 0040760 i m p l e m e n t t h a t X 0041000 D R c o n s t r u c t e d t 0041020 y p e . \r * m s e c - u n t i l 0041040 - t i m e o u t * \t N u m b e r 0041060 o f m i l l i s e c o n d s 0041100 b e f o r e g i v i n g u 0041120 p o n r e c e i v i n g a 0041140 r e p l y p a c k e t . D 0041160 e f a u l t 1 0 0 0 . \r * m 0041200 s e c - b e t w e e n - t r i e 0041220 s * \t N u m b e r o f m i l 0041240 l i s e c o n d s t o w a i 0041260 t b e f o r e r e s e n d i 0041300 n g U D P p a c k e t . D 0041320 e f a u l t 1 0 0 . \r * r p c 0041340 - o k - t o - c a c h e * \t I f 0041360 n o n - n i l , u s e s * 0041400 r p c - s o c k e t - c a c h e 0041420 * a s a c a c h e o f 0041440 s o c k e t n u m b e r s f 0041460 o u n d t o d a t e . \r * r 0041500 p c - w e l l - k n o w n - s o 0041520 c k e t s * \t A l i s t o f 0041540 w e l l - k n o w n s o c k 0041560 e t s . F o r m a t i s \r ( 0041600 \t < h o s t a d d r e s s > \r 0041620 \t < r e m o t e p r o g r a m 0041640 n u m b e r > \r \t < r e m o t 0041660 e p r o g r a m v e r s i o 0041700 n > \r \t < p r o t o c o l > \r \t 0041720 < s o c k e t > ) \r * r p c - 0041740 s o c k e t - c a c h e * \t A 0041760 l i s t o f n o n - w e l l 0042000 - k n o w n s o c k e t s . 0042020 F o r m a t i s s a m e a 0042040 s * r p c - w e l l - k n o w 0042060 n - s o c k e t s * . \r * d e b 0042100 u g * \t I f n o n - n i l p 0042120 r i n t s o u t d e b u g g 0042140 i n g i n f o r m a t i o n . 0042160 I f a n u m b e r , t h 0042200 e h i g h e r t h e n u m 0042220 b e r , t h e m o r e i n 0042240 f o r m a t i o n i s p r i 0042260 n t e d . D e f a u l t n i 0042300 l . \r R P C F I L E S \t \r R P 0042320 C \t S e t s u p t h e R P 0042340 C 2 P a c k a g e a n d l 0042360 o a d s o t h e r R P C f 0042400 i l e s . L o a d s P o r t 0042420 m a p p e r r e m o t e p r 0042440 o g r a m d e f i n i t i o n 0042460 a n d e x e c u t e s i t 0042500 . \r R P C L O W L E V E L \t S u 0042520 p e r l o w - l e v e l U D 0042540 P / T C P f u n c t i o n s 0042560 a d d e d t o E r i c S c 0042600 h o e n ' s T C P U D P c o 0042620 d e . \r R P C S T R U C T \t S t 0042640 r u c t u r e d e f i n i t i 0042660 o n s u s e d b y t h e 0042700 o t h e r f i l e s . T h e 0042720 s e a r e i n a s e p a 0042740 r a t e f i l e b e c a u s 0042760 e t h e y t a k e s o l 0043000 o n g t o c o m p i l e . \r 0043020 R P C C O M M O N \t C o m m o n 0043040 l o o k u p f u n c t i o n 0043060 s a n d s t r e a m i / o 0043100 f u n c t i o n s u s e d 0043120 b y t h e o t h e r f i l 0043140 e s . \r R P C X D R \t E x t e r 0043160 n a l D a t a R e p r e s e 0043200 n t a t i o n ( X D R ) . C 0043220 o d e G e n e r a t i o n f 0043240 o r X D R c o n s t r u c t 0043260 e d t y p e s a n d X D R 0043300 p r i m i t i v e f u n c t 0043320 i o n s . \r R P C R P C \t R e m 0043340 o t e p r o g r a m d e f i 0043360 n i t i o n a n d r e m o t 0043400 e p r o c e d u r e c a l l 0043420 s . \r R P C P O R T M A P P E R 0043440 \t D e f i n i t i o n o f p 0043460 o r t m a p p e r i n U D P 0043500 a n d T C P . \r \r K N O W N 0043520 D E F I C I E N C I E S \r F l 0043540 o a t i n g p o i n t X D R 0043560 t y p e s a r e n o t i 0043600 m p l e m e n t e d . \r T h e 0043620 v i e w - p a c k e t u t i l 0043640 i t y i s n o t d o c u m 0043660 e n t e d a n d n e e d s 0043700 t o b e s m a r t e r a b 0043720 o u t a u t h e n t i c a t i 0043740 o n s . \r F a l l t h r o u g 0043760 h c a s e s o f X D R t 0044000 y p e s U N I O N a n d E 0044020 N U M E R A T E s h o u l d 0044040 b e a d d e d . \r C O P Y R I 0044060 G H T I N F O R M A T I O N \r 0044100 C o p y r i g h t ( c ) L e 0044120 l a n d S t a n f o r d J u 0044140 n i o r U n i v e r s i t y . 0044160 \r W r i t t e n b y J e f f 0044200 F i n g e r u n d e r s u 0044220 p p o r t o f N a t i o n a 0044240 l I n s t i t u t e s o f 0044260 H e a l t h G r a n t N I H 0044300 5 P 4 1 R R 0 0 7 8 5 \r t o 0044320 t h e S U M E X - A I M C 0044340 o m p u t i n g R e s o u r c 0044360 e a t S t a n f o r d U n 0044400 i v e r s i t y . \0 \0 \0 \0 \0 003 ( 0044420 L I S T ( ( P A G E N I L 0044440 ( P A P E R S I Z E L E T T E 0044460 R S T A R T I N G P A G E # 0044500 2 3 0 ) ( 0 0 6 1 2 7 9 0044520 2 ) ( ( F O L I O N I L ( 0044540 P A R A L O O K S ( Q U A D 0044560 C E N T E R E D ) C H A R L O 0044600 O K S ( S U P E R S C R I P T 0044620 0 I N V I S I B L E O F F 0044640 S E L E C T P O I N T O F F 0044660 P R O T E C T E D O F F S 0044700 I Z E 1 0 F A M I L Y M O 0044720 D E R N O V E R L I N E O F 0044740 F S T R I K E O U T O F F 0044760 U N D E R L I N E O F F E X 0045000 P A N S I O N R E G U L A R 0045020 S L O P E R E G U L A R W E 0045040 I G H T M E D I U M I N V E 0045060 R T E D O F F U S E R I N F 0045100 O N I L S T Y L E N I L ) 0045120 F O R M A T I N F O N I L ) 0045140 ( 1 7 4 3 6 2 8 8 3 6 ) 0045160 N I L ) ( H E A D I N G N 0045200 I L ( H E A D I N G T Y P E 0045220 R U N N I N G H E A D ) ( 8 4 0045240 7 4 4 5 2 8 3 6 ) N I L 0045260 ) ( T E X T N I L N I L 0045300 ( 8 4 9 6 4 5 6 6 0 0 ) 0045320 N I L ) ) ) ( P A G E N I L 0045340 ( P A P E R S I Z E N I L 0045360 . L E T T E R ) ( 0 0 6 0045400 1 2 7 9 2 ) ( ( F O L I O 0045420 N I L ( P A R A L O O K S ( 0045440 Q U A D C E N T E R E D ) C 0045460 H A R L O O K S ( S U P E R S 0045500 C R I P T 0 I N V I S I B L 0045520 E O F F S E L E C T P O I N 0045540 T O F F P R O T E C T E D 0045560 O F F S I Z E 1 0 F A M I 0045600 L Y M O D E R N O V E R L I 0045620 N E O F F S T R I K E O U T 0045640 O F F U N D E R L I N E O 0045660 F F E X P A N S I O N R E G 0045700 U L A R S L O P E R E G U L 0045720 A R W E I G H T M E D I U M 0045740 I N V E R T E D O F F U S 0045760 E R I N F O N I L S T Y L E 0046000 N I L ) F O R M A T I N F O 0046020 N I L ) ( 1 7 4 3 6 2 8 0046040 8 3 6 ) N I L ) ( H E A D 0046060 I N G N I L ( H E A D I N G 0046100 T Y P E R U N N I N G H E A D 0046120 ) ( 8 4 7 4 4 5 2 8 3 6 0046140 ) N I L ) ( T E X T N I L 0046160 N I L ( 8 4 9 6 4 5 6 0046200 6 0 0 ) N I L ) ) ) ( P A G 0046220 E N I L ( P A P E R S I Z E 0046240 N I L . L E T T E R ) ( 0046260 0 0 6 1 2 7 9 2 ) ( ( F 0046300 O L I O N I L ( P A R A L O 0046320 O K S ( Q U A D C E N T E R 0046340 E D ) C H A R L O O K S ( S 0046360 U P E R S C R I P T 0 I N V 0046400 I S I B L E O F F S E L E C 0046420 T P O I N T O F F P R O T E 0046440 C T E D O F F S I Z E 1 0 0046460 F A M I L Y M O D E R N O 0046500 V E R L I N E O F F S T R I 0046520 K E O U T O F F U N D E R L 0046540 I N E O F F E X P A N S I O 0046560 N R E G U L A R S L O P E 0046600 R E G U L A R W E I G H T M 0046620 E D I U M I N V E R T E D O 0046640 F F U S E R I N F O N I L 0046660 S T Y L E N I L ) F O R M A 0046700 T I N F O N I L ) ( 1 7 4 0046720 3 6 2 8 8 3 6 ) N I L ) 0046740 ( H E A D I N G N I L ( H E 0046760 A D I N G T Y P E R U N N I N 0047000 G H E A D ) ( 8 4 7 4 4 5 0047020 2 8 3 6 ) N I L ) ( T E X 0047040 T N I L N I L ( 8 4 9 6 0047060 4 5 6 6 0 0 ) N I L ) ) ) 0047100 ) ) \0 \0 \0 \0 \0 005 \0 030 \0 ( \0 \0 \0 \0 0047120 \0 \0 \0 \a \0 \0 \0 001 002 004 \0 \0 \0 \0 \0 \0 0047140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047160 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \a \0 \0 \0 001 0047200 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 0047240 001 310 \0 021 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 0047260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047300 \0 \0 \0 ( \0 212 \0 212 001 8 \0 006 \0 \0 \0 004 0047320 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 0047360 001 8 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 0047400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047420 \0 \0 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 0047440 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \v 0047460 P A G E H E A D I N G \0 \v R U N 0047500 N I N G H E A D \0 \0 \0 \0 \0 \0 \0 \0 0047520 \0 \0 \0 \0 \0 \0 \0 @ \0 \0 \0 0 \0 \0 \0 \n 0047540 \0 \0 \0 \0 003 001 \0 \0 \a \0 Z \0 \0 f \0 \0 0047560 l \0 \0 220 \0 \0 314 \0 \0 344 \0 \0 374 \0 \0 \0 0047600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047620 \0 \0 \0 \0 \0 \0 \0 1 \0 220 001 \b \0 \0 \0 \n 0047640 \0 \0 \0 \0 003 001 \0 \0 002 001 \b \0 001 230 \0 \0 0047660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047700 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 220 \0 220 \0 \0 \0 0047720 \n \0 \0 \0 \0 003 001 \0 \0 002 \0 220 \0 \0 264 \0 0047740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047760 \0 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 \0 \0 220 \0 \0 0050000 \0 \n \0 \0 \0 \0 003 001 \0 \0 002 \0 220 \0 \0 264 0050020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 220 \0 220 \0 0050060 \0 \0 \0 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 0050100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050120 \0 \0 1 \0 \0 \0 220 \0 \0 \0 \n \0 \0 \0 \0 003 0050140 001 \0 \0 002 \0 220 \0 001 332 001 \0 \0 \0 \0 \0 \0 0050160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050200 \0 \0 \0 1 \0 \0 \0 220 \0 \0 \0 \n \0 \0 \0 \0 0050220 003 001 \0 \0 002 \0 374 \0 001 2 \0 \0 \0 \0 \0 \0 0050240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050260 \0 \0 \0 \0 . \0 \0 \0 220 \0 \0 \0 \0 \0 \0 \0 0050300 \0 003 001 \0 \0 001 \0 220 \0 \0 \0 \0 \0 \0 \0 \0 0050320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050340 \0 \0 . \0 220 001 \0 \0 \0 \n \0 \0 \0 \0 003 0050360 004 \0 \0 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050420 . \0 220 \0 330 \0 \0 \0 \n \0 \0 \0 \0 003 004 \0 0050440 \0 001 \0 330 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 0050500 \0 \0 300 \0 \0 \0 005 \0 \0 \0 \0 003 004 \0 \0 002 0050520 \0 300 \0 \0 314 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 4 0050560 \0 \0 \0 300 \0 \0 \0 005 \0 \0 \0 \0 003 004 \0 \0 0050600 003 \0 300 \0 \0 360 \0 \0 374 \0 \0 \0 \0 \0 \0 \0 0050620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050640 \0 \0 \0 . \0 \0 \0 300 \0 \0 \0 \0 \0 \0 \0 \0 0050660 003 004 \0 \0 001 \0 300 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050720 \0 . \0 \0 \0 300 \0 \0 \0 005 \0 \0 \0 \0 003 004 0050740 \0 \0 001 \0 300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0050760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . 0051000 \0 \0 \0 220 \0 \0 \0 \0 \0 \0 \0 \0 003 004 \0 \0 0051020 001 \0 220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0051040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . \0 \0 0051060 \0 220 \0 \0 \0 \n \0 \0 \0 \0 003 004 \0 \0 001 \0 0051100 220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0051120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 220 \0 220 0051140 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0051160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0051200 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0051220 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0051240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 0051260 \0 005 \0 024 \0 006 M O D E R N \0 006 \0 \0 0051300 \0 \0 \0 \0 \0 \0 \0 022 \0 004 L O G O \0 030 0051320 \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E 0051340 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0051360 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0051400 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0051420 \0 \0 002 \0 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 005 0051440 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 0051460 \0 004 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 0051500 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0051520 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0051540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0051560 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v 0051600 H R U L E . G E T F N 001 \0 024 \0 006 0051620 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0051640 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0051660 005 \0 \0 \0 002 \0 001 \0 \v H R U L E . G 0051700 E T F N 001 \0 024 \0 006 M O D E R N \0 0051720 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0051740 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 004 \0 \0 0051760 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 033 \0 0052000 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 0052020 \0 001 \0 \v H R U L E . G E T F N 001 0052040 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 \0 0052060 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0052100 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U 0052120 L E . G E T F N 001 \0 024 \0 006 M O D 0052140 E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 0052160 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0052200 \0 . \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 0052220 \0 \0 9 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0052240 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \f \0 \0 \0 0052260 \0 005 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0052300 002 \0 001 \0 \0 \0 315 \0 \0 \0 \0 004 \0 \0 \0 \0 0052320 \0 002 \0 001 \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 0052340 210 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 0052360 \0 001 \0 \0 \0 \0 004 \0 \0 \0 036 \0 \0 \0 \0 005 0052400 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 @ \0 \0 \0 \0 0052420 004 \0 \0 \0 \0 \0 002 \0 030 \0 \0 \0 001 \0 \0 \0 0052440 \0 005 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 p \0 \0 0052460 \0 \0 004 \0 \0 \0 \0 \0 002 \0 030 \0 \0 \0 006 \0 0052500 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0052520 \0 \0 002 \0 \v \0 \0 \0 223 \0 \0 \0 \0 004 \0 \0 0052540 \0 \0 \0 002 \0 026 \0 \0 \0 216 \0 \0 \0 \0 004 \0 0052560 \0 \0 \0 \0 002 \0 026 \0 \0 \0 364 \0 \0 \0 \0 004 0052600 \0 \0 \0 Q \0 \0 002 \0 004 \0 \0 \0 \0 \0 002 \0 0052620 026 \0 \0 \0 ? \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0052640 \0 026 \0 \0 \0 036 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0052660 002 \0 026 \0 \0 \0 260 \0 \0 \0 \0 004 \0 \0 \0 \0 0052700 \0 002 \0 026 \0 \0 \0 256 \0 \0 \0 \0 004 \0 \0 \0 0052720 \0 \0 002 \0 026 \0 \0 \0 213 \0 \0 \0 \0 004 \0 \0 0052740 \0 \0 \0 002 \0 026 \0 \0 001 327 \0 \0 \0 \0 004 \0 0052760 \0 \0 \0 \0 002 \0 001 \0 \0 \0 4 \0 \0 \0 \0 005 0053000 \0 \0 \0 \0 \0 002 \0 001 \0 \0 001 205 \0 \0 \0 \0 0053020 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 001 247 \0 \0 \0 0053040 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \a \0 \0 0053060 \0 \0 005 \0 \0 \0 X \0 \0 \0 \0 004 \0 \0 \0 \0 0053100 \0 002 \0 001 \0 \0 \0 ~ \0 \0 \0 \0 004 \0 \0 \0 0053120 \0 \0 002 \0 030 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0053140 \0 \0 \0 002 \0 016 \0 \0 \0 003 \0 \0 \0 \0 004 \0 0053160 \0 \0 024 \0 \0 \0 \0 005 \0 \0 \0 252 \0 \0 \0 \0 0053200 004 \0 \0 \0 \0 \0 002 \0 \r \0 \0 \0 003 \0 \0 \0 0053220 \0 004 \0 \0 \0 \v \0 \0 \0 \0 005 \0 \0 \0 001 \0 0053240 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 005 \0 \0 001 0053260 236 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 016 \0 \0 0053300 \0 003 \0 \0 \0 \0 004 \0 \0 \0 020 \0 \0 \0 \0 005 0053320 \0 \0 \0 E \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0053340 020 \0 \0 \0 a \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0053360 \0 026 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 024 \0 0053400 \0 \0 \0 005 \0 \0 \0 z \0 \0 \0 \0 004 \0 \0 \0 0053420 \0 \0 002 \0 020 \0 \0 \0 s \0 \0 \0 \0 004 \0 \0 0053440 \0 \0 \0 002 \0 026 \0 \0 \0 003 \0 \0 \0 \0 004 \0 0053460 \0 \0 024 \0 \0 \0 \0 005 \0 \0 001 . \0 \0 \0 \0 0053500 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 031 \0 \0 \0 0053520 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 7 \0 \0 0053540 \0 \0 004 \0 \0 \0 \0 \0 002 \0 030 \0 \0 \0 001 \0 0053560 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 027 \0 \0 \0 001 0053600 \0 \0 \0 \0 004 \0 \0 \0 \f \0 \0 \0 \0 005 \0 \0 0053620 \0 \a \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 005 0053640 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0053660 \0 005 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 020 \0 0053700 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 0053720 \0 \0 002 \0 017 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0053740 \0 020 \0 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 004 0053760 \0 \0 \0 030 \0 \0 \0 \0 005 \0 \0 \0 < \0 \0 \0 0054000 \0 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 003 \0 0054020 \0 \0 \0 004 \0 \0 \0 022 \0 \0 \0 \0 005 \0 \0 \0 0054040 i \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 0054060 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 022 \0 \0 \0 \0 0054100 005 \0 \0 \0 [ \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0054120 \0 001 \0 \0 \0 \f \0 \0 \0 \0 005 \0 \0 \0 q \0 0054140 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 i 0054160 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 0054200 216 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 0054220 \0 \0 \0 \0 002 \0 \n \0 \0 \0 177 \0 \0 \0 \0 004 0054240 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 \b \0 \0 \0 \0 0054260 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 213 \0 \0 0054300 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 206 \0 0054320 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0054340 \0 \0 002 \0 \n \0 \0 \0 | \0 \0 \0 \0 004 \0 \0 0054360 \0 \0 \0 002 \0 \n \0 \0 \0 360 \0 \0 \0 \0 004 \0 0054400 \0 \0 \0 \0 002 \0 \n \0 \0 001 025 \0 \0 \0 \0 004 0054420 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 r \0 \0 \0 \0 0054440 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 ~ \0 \0 \0 0054460 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 ! \0 \0 0054500 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \t \0 \0 \0 f \0 0054520 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 001 247 0054540 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \r \0 \0 001 0054560 221 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \r \0 \0 0054600 001 , \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \r \0 0054620 \0 001 G \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n 0054640 \0 \0 \0 254 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0054660 \r \0 \0 001 315 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0054700 \0 \n \0 \0 002 Q \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0054720 002 \0 \b \0 \0 \0 v \0 \0 \0 \0 004 \0 \0 \0 \0 0054740 \0 002 \0 \n \0 \0 \0 263 \0 \0 \0 \0 004 \0 \0 \0 0054760 \0 \0 002 \0 \n \0 \0 \0 344 \0 \0 \0 \0 004 \0 \0 0055000 \0 \0 \0 002 \0 001 \0 \0 \0 ) \0 \0 \0 \0 005 \0 0055020 \0 \0 \0 \0 002 \0 001 \0 \0 002 M \0 \0 \0 \0 004 0055040 \0 \0 \0 \0 \0 002 \0 \a \0 \0 002 251 \0 \0 \0 \0 0055060 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 033 \0 \0 \0 0055100 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 = \0 \0 0055120 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 036 \0 0055140 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 310 0055160 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 0055200 c \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 026 \0 \0 0055220 \0 366 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 026 \0 0055240 \0 001 246 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 026 0055260 \0 \0 \0 334 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0055300 026 \0 \0 \0 203 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0055320 \0 026 \0 \0 001 021 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0055340 002 \0 026 \0 \0 \0 240 \0 \0 \0 \0 004 \0 \0 \0 \0 0055360 \0 002 \0 026 \0 \0 \0 217 \0 \0 \0 \0 004 \0 \0 \0 0055400 \0 \0 002 \0 026 \0 \0 \0 364 \0 \0 \0 \0 004 \0 \0 0055420 \0 \0 \0 002 \0 026 \0 \0 \0 311 \0 \0 \0 \0 004 \0 0055440 \0 \0 \0 \0 002 \0 026 \0 \0 \0 373 \0 \0 \0 \0 004 0055460 \0 \0 \0 \0 \0 002 \0 026 \0 \0 \0 257 \0 \0 \0 \0 0055500 004 \0 \0 \0 \0 \0 002 \0 026 \0 \0 \0 p \0 \0 \0 0055520 \0 004 \0 \0 \0 \0 \0 002 \0 026 \0 \0 \0 244 \0 \0 0055540 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 * \0 0055560 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 v 0055600 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 0055620 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 \0 0055640 \0 215 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 002 \0 004 0055660 \0 \0 \0 252 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0055700 \f \0 \0 \0 9 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0055720 \0 \v \0 \0 \0 257 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0055740 002 \0 \v \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0055760 \0 002 \0 \f \0 \0 \0 0 \0 \0 \0 \0 004 \0 \0 \0 0056000 \0 \0 002 \0 \v \0 \0 \0 R \0 \0 \0 \0 004 \0 \0 0056020 \0 \0 \0 002 \0 \f \0 \0 \0 254 \0 \0 \0 \0 004 \0 0056040 \0 \0 \0 \0 002 \0 \f \0 \0 \0 001 \0 \0 \0 \0 004 0056060 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 b \0 \0 \0 \0 0056100 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 * \0 \0 \0 0056120 \0 005 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 ! \0 \0 0056140 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \f \0 \0 \0 001 \0 0056160 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \v \0 \0 \0 g 0056200 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0056220 030 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \f \0 \0 0056240 \0 F \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \f \0 0056260 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \v 0056300 \0 \0 \0 { \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0056320 \f \0 \0 \0 % \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0056340 \0 \f \0 \0 \0 B \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0056360 002 \0 \f \0 \0 \0 * \0 \0 \0 \0 004 \0 \0 \0 \0 0056400 \0 002 \0 \f \0 \0 \0 % \0 \0 \0 \0 004 \0 \0 \0 0056420 \0 \0 002 \0 \f \0 \0 \0 k \0 \0 \0 \0 004 \0 \0 0056440 \0 \0 \0 002 \0 030 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0056460 \0 \0 \0 \0 002 \0 001 \0 \0 \0 021 \0 \0 \0 \0 005 0056500 \0 \0 \0 \0 \0 002 \0 025 \0 \0 \0 001 \0 \0 \0 \0 0056520 004 \0 \0 \0 \0 \0 002 \0 023 \0 \0 \0 t \0 \0 \0 0056540 \0 004 \0 \0 \0 \0 \0 002 \0 024 \0 \0 \0 211 \0 \0 0056560 \0 \0 004 \0 \0 \0 \0 \0 002 \0 024 \0 \0 \0 i \0 0056600 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 024 \0 \0 \0 ^ 0056620 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 024 \0 \0 \0 0056640 b \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 021 \0 \0 0056660 \0 235 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 022 \0 0056700 \0 \0 a \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 022 0056720 \0 \0 \0 207 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0056740 001 \0 \0 \0 \t \0 \0 \0 \0 005 \0 \0 \0 002 \0 \0 0056760 \0 \0 004 \0 \0 \0 \0 \0 002 \0 022 \0 \0 \0 003 \0 0057000 \0 \0 \0 005 \0 \0 \0 q \0 \0 \0 \0 004 \0 \0 \0 0057020 \0 \0 002 \0 022 \0 \0 \0 \v \0 \0 \0 \0 005 \0 \0 0057040 \0 G \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 022 \0 0057060 \0 \0 \t \0 \0 \0 \0 005 \0 \0 \0 s \0 \0 \0 \0 0057100 004 \0 \0 \0 \0 \0 002 \0 022 \0 \0 \0 \t \0 \0 \0 0057120 \0 005 \0 \0 \0 K \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0057140 002 \0 022 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 l 0057160 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 022 \0 \0 \0 0057200 006 \0 \0 \0 \0 005 \0 \0 \0 7 \0 \0 \0 \0 004 \0 0057220 \0 \0 \0 \0 002 \0 022 \0 \0 \0 \r \0 \0 \0 \0 005 0057240 \0 \0 \0 * \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0057260 022 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0057300 \0 001 \0 \0 \0 023 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0057320 002 \0 001 \0 \0 \0 . \0 \0 \0 \0 004 \0 \0 \0 \0 0057340 \0 002 \0 001 \0 \0 \0 Y \0 \0 \0 \0 004 \0 \0 \0 0057360 \0 \0 002 \0 001 \0 \0 \0 E \0 \0 \0 \0 004 \0 \0 0057400 \0 \0 \0 002 \0 001 \0 \0 \0 026 \0 \0 \0 \0 005 \0 0057420 \0 \0 1 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 0057440 \0 \0 \0 ] \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0057460 001 \0 \0 \0 ; \0 \0 \0 \0 004 \0 \0 I \t 001 Y 0057500 z 272 0057502