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