$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron2.0>Shared-Derived>SaffronAG7Impl.Mesa!17 0000000 - - S a f f r o n A G 7 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 5 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 7 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 7 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 7 D e f E X P O R T 0000520 S S a f f r o n A G 7 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 7 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 A c c e s s e m p t y P r o d 0000660 \r \r A c c e s s e m p t y P r o 0000700 d P r o c s : \t P U B L I C A 0000720 c c e s s N o d e P r o c s _ 0000740 \r \t N E W [ A c c e s s N o d e 0000760 P r o c s B o d y _ [ A c c 0001000 e s s e m p t y P r o d G e t A 0001020 c c e s s V a l ] ] ; \r \r B u i 0001040 l d A c c e s s e m p t y P r o 0001060 d N o d e : \t P U B L I C P R 0001100 O C [ p o s i t i o n : I N T 0001120 , l e n g t h : I N T ] \r \t 0001140 R E T U R N S [ A c c e s s N o 0001160 d e ] = \r \t \t B E G I N \r \t \t 0001200 R E T U R N [ N E W [ A c c e s 0001220 s N o d e B o d y _ [ p o s i t 0001240 i o n , l e n g t h , A c c 0001260 e s s e m p t y P r o d P r o c 0001300 s , N I L ] ] ] ; \r \t \t E N D 0001320 ; \r \r \r - - A c c e s s p u b 0001340 l i c P r o d \r \r A c c e s s p 0001360 u b l i c P r o d P r o c s : \t 0001400 P U B L I C A c c e s s N o d 0001420 e P r o c s _ \r \t N E W [ A c 0001440 c e s s N o d e P r o c s B o d 0001460 y _ [ A c c e s s p u b l i 0001500 c P r o d G e t A c c e s s V a 0001520 l ] ] ; \r \r B u i l d A c c e s 0001540 s p u b l i c P r o d N o d e : 0001560 \t P U B L I C P R O C [ p o s 0001600 i t i o n : I N T , l e n g 0001620 t h : I N T ] \r \t R E T U R N 0001640 S [ A c c e s s N o d e ] = \r 0001660 \t \t B E G I N \r \t \t R E T U R N 0001700 [ N E W [ A c c e s s N o d e B 0001720 o d y _ [ p o s i t i o n , l 0001740 e n g t h , A c c e s s p u b 0001760 l i c P r o d P r o c s , N I 0002000 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0002020 - A c c e s s p r i v a t e P 0002040 r o d \r \r A c c e s s p r i v a 0002060 t e P r o d P r o c s : \t P U B 0002100 L I C A c c e s s N o d e P r 0002120 o c s _ \r \t N E W [ A c c e s 0002140 s N o d e P r o c s B o d y _ 0002160 [ A c c e s s p r i v a t e P 0002200 r o d G e t A c c e s s V a l ] 0002220 ] ; \r \r B u i l d A c c e s s p 0002240 r i v a t e P r o d N o d e : \t 0002260 P U B L I C P R O C [ p o s i 0002300 t i o n : I N T , l e n g t 0002320 h : I N T ] \r \t R E T U R N S 0002340 [ A c c e s s N o d e ] = \r \t 0002360 \t B E G I N \r \t \t R E T U R N [ 0002400 N E W [ A c c e s s N o d e B o 0002420 d y _ [ p o s i t i o n , l e 0002440 n g t h , A c c e s s p r i v 0002460 a t e P r o d P r o c s , N I 0002500 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0002520 - D e f a u l t e m p t y P r 0002540 o d \r \r D e f a u l t e m p t y 0002560 P r o d P r o c s : \t P U B L I 0002600 C D e f a u l t N o d e P r o 0002620 c s _ \r \t N E W [ D e f a u l 0002640 t N o d e P r o c s B o d y _ 0002660 [ D e f a u l t e m p t y P r 0002700 o d G e t D e f a u l t E x p V 0002720 a l ] ] ; \r \r B u i l d D e f a 0002740 u l t e m p t y P r o d N o d e 0002760 : \t P U B L I C P R O C [ p o 0003000 s i t i o n : I N T , l e n 0003020 g t h : I N T ] \r \t R E T U R 0003040 N S [ D e f a u l t N o d e ] 0003060 = \r \t \t B E G I N \r \t \t R E T U 0003100 R N [ N E W [ D e f a u l t N o 0003120 d e B o d y _ [ p o s i t i o n 0003140 , l e n g t h , D e f a u l 0003160 t e m p t y P r o d P r o c s , 0003200 N I L ] ] ] ; \r \t \t E N D ; \r 0003220 \r \r - - D e f a u l t g e t s 0003240 P r o d \r \r D e f a u l t g e t 0003260 s P r o d P r o c s : \t P U B L 0003300 I C D e f a u l t N o d e P r 0003320 o c s _ \r \t N E W [ D e f a u 0003340 l t N o d e P r o c s B o d y 0003360 _ [ D e f a u l t g e t s P r 0003400 o d G e t D e f a u l t E x p V 0003420 a l ] ] ; \r \r B u i l d D e f a 0003440 u l t g e t s P r o d N o d e : 0003460 \t P U B L I C P R O C [ p o s 0003500 i t i o n : I N T , l e n g 0003520 t h : I N T ] \r \t R E T U R N 0003540 S [ D e f a u l t N o d e ] = 0003560 \r \t \t B E G I N \r \t \t R E T U R 0003600 N [ N E W [ D e f a u l t N o d 0003620 e B o d y _ [ p o s i t i o n , 0003640 l e n g t h , D e f a u l t 0003660 g e t s P r o d P r o c s , N 0003700 I L ] ] ] ; \r \t \t E N D ; \r \r \r 0003720 - - D e f a u l t g e t s e x 0003740 p P r o d \r \r D e f a u l t g e 0003760 t s e x p P r o d P r o c s : \t 0004000 P U B L I C D e f a u l t N o 0004020 d e P r o c s _ \r \t N E W [ D 0004040 e f a u l t N o d e P r o c s B 0004060 o d y _ [ D e f a u l t g e 0004100 t s e x p P r o d G e t D e f a 0004120 u l t E x p V a l ] ] ; \r \r B u 0004140 i l d D e f a u l t g e t s e x 0004160 p P r o d N o d e : \t P U B L I 0004200 C P R O C [ p o s i t i o n : 0004220 I N T , l e n g t h : I N 0004240 T , E x p : E x p N o d e ] 0004260 \r \t R E T U R N S [ D e f a u l 0004300 t N o d e ] = \r \t \t B E G I N 0004320 \r \t \t d a t a : \t D e f a u l t 0004340 g e t s e x p P r o d D a t a 0004360 _ \r \t \t \t N E W [ D e f a u l t 0004400 g e t s e x p P r o d D a t a B 0004420 o d y _ [ \r \t \t \t E x p ] ] 0004440 ; \r \t \t R E T U R N [ N E W [ D 0004460 e f a u l t N o d e B o d y _ [ 0004500 p o s i t i o n , l e n g t h 0004520 , D e f a u l t g e t s e x p 0004540 P r o d P r o c s , d a t a ] 0004560 ] ] ; \r \t \t E N D ; \r \r \r - - 0004600 D e f a u l t g e t s t r a s h 0004620 P r o d \r \r D e f a u l t g e t 0004640 s t r a s h P r o d P r o c s : 0004660 \t P U B L I C D e f a u l t N 0004700 o d e P r o c s _ \r \t N E W [ 0004720 D e f a u l t N o d e P r o c s 0004740 B o d y _ [ D e f a u l t g 0004760 e t s t r a s h P r o d G e t D 0005000 e f a u l t E x p V a l ] ] ; \r 0005020 \r B u i l d D e f a u l t g e t 0005040 s t r a s h P r o d N o d e : \t 0005060 P U B L I C P R O C [ p o s i 0005100 t i o n : I N T , l e n g t 0005120 h : I N T ] \r \t R E T U R N S 0005140 [ D e f a u l t N o d e ] = \r 0005160 \t \t B E G I N \r \t \t R E T U R N 0005200 [ N E W [ D e f a u l t N o d e 0005220 B o d y _ [ p o s i t i o n , 0005240 l e n g t h , D e f a u l t g 0005260 e t s t r a s h P r o d P r o c 0005300 s , N I L ] ] ] ; \r \t \t E N D 0005320 ; \r \r \r - - D e f a u l t g e 0005340 t s e x p o r t r a s h P r o d 0005360 \r \r D e f a u l t g e t s e x p 0005400 o r t r a s h P r o d P r o c s 0005420 : \t P U B L I C D e f a u l t 0005440 N o d e P r o c s _ \r \t N E W 0005460 [ D e f a u l t N o d e P r o c 0005500 s B o d y _ [ D e f a u l t 0005520 g e t s e x p o r t r a s h P r 0005540 o d G e t D e f a u l t E x p V 0005560 a l ] ] ; \r \r B u i l d D e f a 0005600 u l t g e t s e x p o r t r a s 0005620 h P r o d N o d e : \t P U B L I 0005640 C P R O C [ p o s i t i o n : 0005660 I N T , l e n g t h : I N 0005700 T , E x p : E x p N o d e ] 0005720 \r \t R E T U R N S [ D e f a u l 0005740 t N o d e ] = \r \t \t B E G I N 0005760 \r \t \t d a t a : \t D e f a u l t 0006000 g e t s e x p o r t r a s h P r 0006020 o d D a t a _ \r \t \t \t N E W [ 0006040 D e f a u l t g e t s e x p o r 0006060 t r a s h P r o d D a t a B o d 0006100 y _ [ \r \t \t \t E x p ] ] ; \r 0006120 \t \t R E T U R N [ N E W [ D e f 0006140 a u l t N o d e B o d y _ [ p o 0006160 s i t i o n , l e n g t h , 0006200 D e f a u l t g e t s e x p o r 0006220 t r a s h P r o d P r o c s , 0006240 d a t a ] ] ] ; \r \t \t E N D ; \r 0006260 \r \r - - I d e n t i d P r o d 0006300 \r \r I d e n t i d P r o d P r o 0006320 c s : \t P U B L I C I d e n t 0006340 N o d e P r o c s _ \r \t N E W 0006360 [ I d e n t N o d e P r o c s B 0006400 o d y _ [ I d e n t i d P r 0006420 o d A d d N a m e s T o F i e l 0006440 d L i s t , I d e n t i d P r 0006460 o d P u t N e w N a m e s I n L 0006500 o c a l C o n t e x t 1 , I d 0006520 e n t i d P r o d R e c A d d A 0006540 r c s f r o m L V T G N t o T G 0006560 N , I d e n t i d P r o d G e 0006600 t I d e n t I n f o , I d e n 0006620 t i d P r o d A d d N a m e s T 0006640 o S e q u e n c e ] ] ; \r \r B u 0006660 i l d I d e n t i d P r o d N o 0006700 d e : \t P U B L I C P R O C [ 0006720 p o s i t i o n : I N T , l 0006740 e n g t h : I N T , I d : 0006760 I d N o d e ] \r \t R E T U R N S 0007000 [ I d e n t N o d e ] = \r \t \t 0007020 B E G I N \r \t \t d a t a : \t I d 0007040 e n t i d P r o d D a t a _ \r 0007060 \t \t \t N E W [ I d e n t i d P r 0007100 o d D a t a B o d y _ [ \r \t 0007120 \t \t I d ] ] ; \r \t \t R E T U R N 0007140 [ N E W [ I d e n t N o d e B o 0007160 d y _ [ p o s i t i o n , l e 0007200 n g t h , I d e n t i d P r o 0007220 d P r o c s , d a t a ] ] ] ; 0007240 \r \t \t E N D ; \r \r \r - - I d e 0007260 n t i d p o s i t i o n P r o d 0007300 \r \r I d e n t i d p o s i t i o 0007320 n P r o d P r o c s : \t P U B L 0007340 I C I d e n t N o d e P r o c 0007360 s _ \r \t N E W [ I d e n t N o 0007400 d e P r o c s B o d y _ [ I 0007420 d e n t i d p o s i t i o n P r 0007440 o d A d d N a m e s T o F i e l 0007460 d L i s t , I d e n t i d p o 0007500 s i t i o n P r o d P u t N e w 0007520 N a m e s I n L o c a l C o n t 0007540 e x t 1 , I d e n t i d p o s 0007560 i t i o n P r o d R e c A d d A 0007600 r c s f r o m L V T G N t o T G 0007620 N , I d e n t i d p o s i t i 0007640 o n P r o d G e t I d e n t I n 0007660 f o , I d e n t i d p o s i t 0007700 i o n P r o d A d d N a m e s T 0007720 o S e q u e n c e ] ] ; \r \r B u 0007740 i l d I d e n t i d p o s i t i 0007760 o n P r o d N o d e : \t P U B L 0010000 I C P R O C [ p o s i t i o n 0010020 : I N T , l e n g t h : I 0010040 N T , I d : I d N o d e , 0010060 P o s i t i o n : P o s i t i 0010100 o n N o d e ] \r \t R E T U R N S 0010120 [ I d e n t N o d e ] = \r \t \t 0010140 B E G I N \r \t \t d a t a : \t I d 0010160 e n t i d p o s i t i o n P r o 0010200 d D a t a _ \r \t \t \t N E W [ I 0010220 d e n t i d p o s i t i o n P r 0010240 o d D a t a B o d y _ [ \r \t 0010260 \t \t I d , P o s i t i o n ] ] 0010300 ; \r \t \t R E T U R N [ N E W [ I 0010320 d e n t N o d e B o d y _ [ p o 0010340 s i t i o n , l e n g t h , 0010360 I d e n t i d p o s i t i o n P 0010400 r o d P r o c s , d a t a ] ] 0010420 ] ; \r \t \t E N D ; \r \r \r - - P 0010440 o s i t i o n P r o d \r \r P o s 0010460 i t i o n P r o d P r o c s : \t 0010500 P U B L I C P o s i t i o n N 0010520 o d e P r o c s _ \r \t N E W [ 0010540 P o s i t i o n N o d e P r o c 0010560 s B o d y _ [ P o s i t i o 0010600 n P r o d G e t P o s i t i o n 0010620 V a l ] ] ; \r \r B u i l d P o s 0010640 i t i o n P r o d N o d e : \t P 0010660 U B L I C P R O C [ p o s i t 0010700 i o n : I N T , l e n g t h 0010720 : I N T , E x p : E x p N 0010740 o d e , O p t B i t s : O p 0010760 t B i t s N o d e ] \r \t R E T U 0011000 R N S [ P o s i t i o n N o d e 0011020 ] = \r \t \t B E G I N \r \t \t d a 0011040 t a : \t P o s i t i o n P r o d 0011060 D a t a _ \r \t \t \t N E W [ P o 0011100 s i t i o n P r o d D a t a B o 0011120 d y _ [ \r \t \t \t E x p , O 0011140 p t B i t s ] ] ; \r \t \t R E T U 0011160 R N [ N E W [ P o s i t i o n N 0011200 o d e B o d y _ [ p o s i t i o 0011220 n , l e n g t h , P o s i t 0011240 i o n P r o d P r o c s , d a 0011260 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0011300 - - O p t B i t s a b s e n t 0011320 P r o d \r \r O p t B i t s a b s 0011340 e n t P r o d P r o c s : \t P U 0011360 B L I C O p t B i t s N o d e 0011400 P r o c s _ \r \t N E W [ O p t 0011420 B i t s N o d e P r o c s B o d 0011440 y _ [ O p t B i t s a b s e 0011460 n t P r o d G e t B o u n d s V 0011500 a l ] ] ; \r \r B u i l d O p t B 0011520 i t s a b s e n t P r o d N o d 0011540 e : \t P U B L I C P R O C [ p 0011560 o s i t i o n : I N T , l e 0011600 n g t h : I N T ] \r \t R E T U 0011620 R N S [ O p t B i t s N o d e ] 0011640 = \r \t \t B E G I N \r \t \t R E T 0011660 U R N [ N E W [ O p t B i t s N 0011700 o d e B o d y _ [ p o s i t i o 0011720 n , l e n g t h , O p t B i 0011740 t s a b s e n t P r o d P r o c 0011760 s , N I L ] ] ] ; \r \t \t E N D 0012000 ; \r \r \r - - O p t B i t s p r 0012020 e s e n t P r o d \r \r O p t B i 0012040 t s p r e s e n t P r o d P r o 0012060 c s : \t P U B L I C O p t B i 0012100 t s N o d e P r o c s _ \r \t N 0012120 E W [ O p t B i t s N o d e P r 0012140 o c s B o d y _ [ O p t B i 0012160 t s p r e s e n t P r o d G e t 0012200 B o u n d s V a l ] ] ; \r \r B u 0012220 i l d O p t B i t s p r e s e n 0012240 t P r o d N o d e : \t P U B L I 0012260 C P R O C [ p o s i t i o n : 0012300 I N T , l e n g t h : I N 0012320 T , B o u n d s : B o u n d 0012340 s N o d e ] \r \t R E T U R N S [ 0012360 O p t B i t s N o d e ] = \r \t 0012400 \t B E G I N \r \t \t d a t a : \t O 0012420 p t B i t s p r e s e n t P r o 0012440 d D a t a _ \r \t \t \t N E W [ O 0012460 p t B i t s p r e s e n t P r o 0012500 d D a t a B o d y _ [ \r \t \t 0012520 \t B o u n d s ] ] ; \r \t \t R E T 0012540 U R N [ N E W [ O p t B i t s N 0012560 o d e B o d y _ [ p o s i t i o 0012600 n , l e n g t h , O p t B i 0012620 t s p r e s e n t P r o d P r o 0012640 c s , d a t a ] ] ] ; \r \t \t E 0012660 N D ; \r \r \r - - I d e n t L i 0012700 s t o n e P r o d \r \r I d e n t 0012720 L i s t o n e P r o d P r o c s 0012740 : \t P U B L I C I d e n t L i 0012760 s t N o d e P r o c s _ \r \t N 0013000 E W [ I d e n t L i s t N o d e 0013020 P r o c s B o d y _ [ I d e 0013040 n t L i s t o n e P r o d A d d 0013060 N a m e s T o F i e l d L i s t 0013100 , I d e n t L i s t o n e P r 0013120 o d P u t N e w N a m e s I n L 0013140 o c a l C o n t e x t 1 , I d 0013160 e n t L i s t o n e P r o d R e 0013200 c A d d A r c s f r o m L V T G 0013220 N t o T G N , I d e n t L i s 0013240 t o n e P r o d M a k e N a m e 0013260 S e q u e n c e , I d e n t L 0013300 i s t o n e P r o d A d d N a m 0013320 e s T o S e q u e n c e ] ] ; \r 0013340 \r B u i l d I d e n t L i s t o 0013360 n e P r o d N o d e : \t P U B L 0013400 I C P R O C [ p o s i t i o n 0013420 : I N T , l e n g t h : I 0013440 N T , I d e n t : I d e n t 0013460 N o d e ] \r \t R E T U R N S [ I 0013500 d e n t L i s t N o d e ] = \r 0013520 \t \t B E G I N \r \t \t d a t a : \t 0013540 I d e n t L i s t o n e P r o d 0013560 D a t a _ \r \t \t \t N E W [ I d 0013600 e n t L i s t o n e P r o d D a 0013620 t a B o d y _ [ \r \t \t \t I d 0013640 e n t ] ] ; \r \t \t R E T U R N [ 0013660 N E W [ I d e n t L i s t N o d 0013700 e B o d y _ [ p o s i t i o n , 0013720 l e n g t h , I d e n t L i 0013740 s t o n e P r o d P r o c s , 0013760 d a t a ] ] ] ; \r \t \t E N D ; \r 0014000 \r \r - - I d e n t L i s t m a 0014020 n y P r o d \r \r I d e n t L i s 0014040 t m a n y P r o d P r o c s : \t 0014060 P U B L I C I d e n t L i s t 0014100 N o d e P r o c s _ \r \t N E W 0014120 [ I d e n t L i s t N o d e P r 0014140 o c s B o d y _ [ I d e n t 0014160 L i s t m a n y P r o d A d d N 0014200 a m e s T o F i e l d L i s t , 0014220 I d e n t L i s t m a n y P r 0014240 o d P u t N e w N a m e s I n L 0014260 o c a l C o n t e x t 1 , I d 0014300 e n t L i s t m a n y P r o d R 0014320 e c A d d A r c s f r o m L V T 0014340 G N t o T G N , I d e n t L i 0014360 s t m a n y P r o d M a k e N a 0014400 m e S e q u e n c e , I d e n 0014420 t L i s t m a n y P r o d A d d 0014440 N a m e s T o S e q u e n c e ] 0014460 ] ; \r \r B u i l d I d e n t L i 0014500 s t m a n y P r o d N o d e : \t 0014520 P U B L I C P R O C [ p o s i 0014540 t i o n : I N T , l e n g t 0014560 h : I N T , I d e n t L i s 0014600 t h e a d : I d e n t L i s t 0014620 N o d e , I d e n t L i s t t 0014640 a i l : I d e n t L i s t N o 0014660 d e ] \r \t R E T U R N S [ I d e 0014700 n t L i s t N o d e ] = \r \t \t 0014720 B E G I N \r \t \t d a t a : \t I d 0014740 e n t L i s t m a n y P r o d D 0014760 a t a _ \r \t \t \t N E W [ I d e 0015000 n t L i s t m a n y P r o d D a 0015020 t a B o d y _ [ \r \t \t \t I d 0015040 e n t L i s t h e a d , I d e 0015060 n t L i s t t a i l ] ] ; \r \t \t 0015100 R E T U R N [ N E W [ I d e n t 0015120 L i s t N o d e B o d y _ [ p o 0015140 s i t i o n , l e n g t h , 0015160 I d e n t L i s t m a n y P r o 0015200 d P r o c s , d a t a ] ] ] ; 0015220 \r \t \t E N D ; \r \r \r - - T a g 0015240 i d e n t P r o d \r \r T a g i d 0015260 e n t P r o d P r o c s : \t P U 0015300 B L I C T a g N o d e P r o c 0015320 s _ \r \t N E W [ T a g N o d e 0015340 P r o c s B o d y _ [ T a g 0015360 i d e n t P r o d M a k e V a r 0015400 i a n t F l a v o r , T a g i 0015420 d e n t P r o d M a k e T a g T 0015440 y p e , T a g i d e n t P r o 0015460 d G e t S e q u e n c e T a g I 0015500 n f o ] ] ; \r \r B u i l d T a g 0015520 i d e n t P r o d N o d e : \t P 0015540 U B L I C P R O C [ p o s i t 0015560 i o n : I N T , l e n g t h 0015600 : I N T , I d e n t : I d 0015620 e n t N o d e , A c c e s s : 0015640 A c c e s s N o d e , T a g 0015660 T y p e : T a g T y p e N o d 0015700 e ] \r \t R E T U R N S [ T a g N 0015720 o d e ] = \r \t \t B E G I N \r \t 0015740 \t d a t a : \t T a g i d e n t P 0015760 r o d D a t a _ \r \t \t \t N E W 0016000 [ T a g i d e n t P r o d D a t 0016020 a B o d y _ [ \r \t \t \t I d e 0016040 n t , A c c e s s , T a g T 0016060 y p e ] ] ; \r \t \t R E T U R N [ 0016100 N E W [ T a g N o d e B o d y _ 0016120 [ p o s i t i o n , l e n g t 0016140 h , T a g i d e n t P r o d P 0016160 r o c s , d a t a ] ] ] ; \r \t 0016200 \t E N D ; \r \r \r - - T a g c o 0016220 m p u t e d P r o d \r \r T a g c 0016240 o m p u t e d P r o d P r o c s 0016260 : \t P U B L I C T a g N o d e 0016300 P r o c s _ \r \t N E W [ T a g 0016320 N o d e P r o c s B o d y _ 0016340 [ T a g c o m p u t e d P r o d 0016360 M a k e V a r i a n t F l a v o 0016400 r , T a g c o m p u t e d P r 0016420 o d M a k e T a g T y p e , T 0016440 a g c o m p u t e d P r o d G e 0016460 t S e q u e n c e T a g I n f o 0016500 ] ] ; \r \r B u i l d T a g c o m 0016520 p u t e d P r o d N o d e : \t P 0016540 U B L I C P R O C [ p o s i t 0016560 i o n : I N T , l e n g t h 0016600 : I N T , T a g T y p e : 0016620 T a g T y p e N o d e ] \r \t R E 0016640 T U R N S [ T a g N o d e ] = 0016660 \r \t \t B E G I N \r \t \t d a t a : 0016700 \t T a g c o m p u t e d P r o d 0016720 D a t a _ \r \t \t \t N E W [ T a 0016740 g c o m p u t e d P r o d D a t 0016760 a B o d y _ [ \r \t \t \t T a g 0017000 T y p e ] ] ; \r \t \t R E T U R N 0017020 [ N E W [ T a g N o d e B o d y 0017040 _ [ p o s i t i o n , l e n g 0017060 t h , T a g c o m p u t e d P 0017100 r o d P r o c s , d a t a ] ] 0017120 ] ; \r \t \t E N D ; \r \r \r - - T 0017140 a g o v e r l a i d P r o d \r \r 0017160 T a g o v e r l a i d P r o d P 0017200 r o c s : \t P U B L I C T a g 0017220 N o d e P r o c s _ \r \t N E W 0017240 [ T a g N o d e P r o c s B o d 0017260 y _ [ T a g o v e r l a i d 0017300 P r o d M a k e V a r i a n t F 0017320 l a v o r , T a g o v e r l a 0017340 i d P r o d M a k e T a g T y p 0017360 e , T a g o v e r l a i d P r 0017400 o d G e t S e q u e n c e T a g 0017420 I n f o ] ] ; \r \r B u i l d T a 0017440 g o v e r l a i d P r o d N o d 0017460 e : \t P U B L I C P R O C [ p 0017500 o s i t i o n : I N T , l e 0017520 n g t h : I N T , T a g T y 0017540 p e : T a g T y p e N o d e ] 0017560 \r \t R E T U R N S [ T a g N o d 0017600 e ] = \r \t \t B E G I N \r \t \t d 0017620 a t a : \t T a g o v e r l a i d 0017640 P r o d D a t a _ \r \t \t \t N E 0017660 W [ T a g o v e r l a i d P r o 0017700 d D a t a B o d y _ [ \r \t \t 0017720 \t T a g T y p e ] ] ; \r \t \t R E 0017740 T U R N [ N E W [ T a g N o d e 0017760 B o d y _ [ p o s i t i o n , 0020000 l e n g t h , T a g o v e r l 0020020 a i d P r o d P r o c s , d a 0020040 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0020060 - - T a g T y p e s t a r P r 0020100 o d \r \r T a g T y p e s t a r P 0020120 r o d P r o c s : \t P U B L I C 0020140 T a g T y p e N o d e P r o c 0020160 s _ \r \t N E W [ T a g T y p e 0020200 N o d e P r o c s B o d y _ 0020220 [ T a g T y p e s t a r P r o d 0020240 M a k e T a g T y p e ] ] ; \r \r 0020260 B u i l d T a g T y p e s t a r 0020300 P r o d N o d e : \t P U B L I C 0020320 P R O C [ p o s i t i o n : 0020340 I N T , l e n g t h : I N T 0020360 ] \r \t R E T U R N S [ T a g T y 0020400 p e N o d e ] = \r \t \t B E G I 0020420 N \r \t \t R E T U R N [ N E W [ T 0020440 a g T y p e N o d e B o d y _ [ 0020460 p o s i t i o n , l e n g t h 0020500 , T a g T y p e s t a r P r o 0020520 d P r o c s , N I L ] ] ] ; \r 0020540 \t \t E N D ; \r \r \r - - T a g T 0020560 y p e t y p e e x p P r o d \r \r 0020600 T a g T y p e t y p e e x p P r 0020620 o d P r o c s : \t P U B L I C 0020640 T a g T y p e N o d e P r o c s 0020660 _ \r \t N E W [ T a g T y p e N 0020700 o d e P r o c s B o d y _ [ 0020720 T a g T y p e t y p e e x p P r 0020740 o d M a k e T a g T y p e ] ] ; 0020760 \r \r B u i l d T a g T y p e t y 0021000 p e e x p P r o d N o d e : \t P 0021020 U B L I C P R O C [ p o s i t 0021040 i o n : I N T , l e n g t h 0021060 : I N T , T y p e E x p : 0021100 T y p e E x p N o d e ] \r \t R E 0021120 T U R N S [ T a g T y p e N o d 0021140 e ] = \r \t \t B E G I N \r \t \t d 0021160 a t a : \t T a g T y p e t y p e 0021200 e x p P r o d D a t a _ \r \t \t 0021220 \t N E W [ T a g T y p e t y p e 0021240 e x p P r o d D a t a B o d y 0021260 _ [ \r \t \t \t T y p e E x p ] ] 0021300 ; \r \t \t R E T U R N [ N E W [ T 0021320 a g T y p e N o d e B o d y _ [ 0021340 p o s i t i o n , l e n g t h 0021360 , T a g T y p e t y p e e x p 0021400 P r o d P r o c s , d a t a ] 0021420 ] ] ; \r \t \t E N D ; \r \r \r - - 0021440 V a r i a n t L i s t o n e P r 0021460 o d \r \r V a r i a n t L i s t o 0021500 n e P r o d P r o c s : \t P U B 0021520 L I C V a r i a n t L i s t N 0021540 o d e P r o c s _ \r \t N E W [ 0021560 V a r i a n t L i s t N o d e P 0021600 r o c s B o d y _ [ V a r i 0021620 a n t L i s t o n e P r o d M a 0021640 k e U n i o n L i s t , V a r 0021660 i a n t L i s t o n e P r o d A 0021700 d d V a r i a n t s T o U n i o 0021720 n L i s t , V a r i a n t L i 0021740 s t o n e P r o d M a k e S t a 0021760 r T a g T y p e , V a r i a n 0022000 t L i s t o n e P r o d A d d V 0022020 a r i a n t N a m e s T o E n u 0022040 m T y p e T G N ] ] ; \r \r B u i 0022060 l d V a r i a n t L i s t o n e 0022100 P r o d N o d e : \t P U B L I C 0022120 P R O C [ p o s i t i o n : 0022140 I N T , l e n g t h : I N T 0022160 , V a r i a n t I t e m : V 0022200 a r i a n t I t e m N o d e ] \r 0022220 \t R E T U R N S [ V a r i a n t 0022240 L i s t N o d e ] = \r \t \t B E 0022260 G I N \r \t \t d a t a : \t V a r i 0022300 a n t L i s t o n e P r o d D a 0022320 t a _ \r \t \t \t N E W [ V a r i 0022340 a n t L i s t o n e P r o d D a 0022360 t a B o d y _ [ \r \t \t \t V a 0022400 r i a n t I t e m ] ] ; \r \t \t R 0022420 E T U R N [ N E W [ V a r i a n 0022440 t L i s t N o d e B o d y _ [ p 0022460 o s i t i o n , l e n g t h , 0022500 V a r i a n t L i s t o n e P 0022520 r o d P r o c s , d a t a ] ] 0022540 ] ; \r \t \t E N D ; \r \r \r - - V 0022560 a r i a n t L i s t m o r e P r 0022600 o d \r \r V a r i a n t L i s t m 0022620 o r e P r o d P r o c s : \t P U 0022640 B L I C V a r i a n t L i s t 0022660 N o d e P r o c s _ \r \t N E W 0022700 [ V a r i a n t L i s t N o d e 0022720 P r o c s B o d y _ [ V a r 0022740 i a n t L i s t m o r e P r o d 0022760 M a k e U n i o n L i s t , V 0023000 a r i a n t L i s t m o r e P r 0023020 o d A d d V a r i a n t s T o U 0023040 n i o n L i s t , V a r i a n 0023060 t L i s t m o r e P r o d M a k 0023100 e S t a r T a g T y p e , V a 0023120 r i a n t L i s t m o r e P r o 0023140 d A d d V a r i a n t N a m e s 0023160 T o E n u m T y p e T G N ] ] ; 0023200 \r \r B u i l d V a r i a n t L i 0023220 s t m o r e P r o d N o d e : \t 0023240 P U B L I C P R O C [ p o s i 0023260 t i o n : I N T , l e n g t 0023300 h : I N T , V a r i a n t L 0023320 i s t : V a r i a n t L i s t 0023340 N o d e , V a r i a n t I t e 0023360 m : V a r i a n t I t e m N o 0023400 d e ] \r \t R E T U R N S [ V a r 0023420 i a n t L i s t N o d e ] = \r 0023440 \t \t B E G I N \r \t \t d a t a : \t 0023460 V a r i a n t L i s t m o r e P 0023500 r o d D a t a _ \r \t \t \t N E W 0023520 [ V a r i a n t L i s t m o r e 0023540 P r o d D a t a B o d y _ [ 0023560 \r \t \t \t V a r i a n t L i s t , 0023600 V a r i a n t I t e m ] ] ; \r 0023620 \t \t R E T U R N [ N E W [ V a r 0023640 i a n t L i s t N o d e B o d y 0023660 _ [ p o s i t i o n , l e n g 0023700 t h , V a r i a n t L i s t m 0023720 o r e P r o d P r o c s , d a 0023740 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0023760 - - V a r i a n t I t e m P r 0024000 o d \r \r V a r i a n t I t e m P 0024020 r o d P r o c s : \t P U B L I C 0024040 V a r i a n t I t e m N o d e 0024060 P r o c s _ \r \t N E W [ V a r 0024100 i a n t I t e m N o d e P r o c 0024120 s B o d y _ [ V a r i a n t 0024140 I t e m P r o d A d d V a r i a 0024160 n t s T o U n i o n L i s t , 0024200 V a r i a n t I t e m P r o d A 0024220 d d V a r i a n t N a m e s T o 0024240 E n u m T y p e T G N ] ] ; \r \r 0024260 B u i l d V a r i a n t I t e m 0024300 P r o d N o d e : \t P U B L I C 0024320 P R O C [ p o s i t i o n : 0024340 I N T , l e n g t h : I N T 0024360 , I d L i s t : I d L i s t 0024400 N o d e , R e c L i s t : R 0024420 e c L i s t N o d e ] \r \t R E T 0024440 U R N S [ V a r i a n t I t e m 0024460 N o d e ] = \r \t \t B E G I N \r 0024500 \t \t d a t a : \t V a r i a n t I 0024520 t e m P r o d D a t a _ \r \t \t 0024540 \t N E W [ V a r i a n t I t e m 0024560 P r o d D a t a B o d y _ [ 0024600 \r \t \t \t I d L i s t , R e c L 0024620 i s t ] ] ; \r \t \t R E T U R N [ 0024640 N E W [ V a r i a n t I t e m N 0024660 o d e B o d y _ [ p o s i t i o 0024700 n , l e n g t h , V a r i a 0024720 n t I t e m P r o d P r o c s , 0024740 d a t a ] ] ] ; \r \t \t E N D ; 0024760 \r \r \r - - P a c k e d y e s P 0025000 r o d \r \r P a c k e d y e s P r 0025020 o d P r o c s : \t P U B L I C 0025040 P a c k e d N o d e P r o c s 0025060 _ \r \t N E W [ P a c k e d N o d 0025100 e P r o c s B o d y _ [ P a 0025120 c k e d y e s P r o d G e t B o 0025140 o l e a n V a l ] ] ; \r \r B u i 0025160 l d P a c k e d y e s P r o d N 0025200 o d e : \t P U B L I C P R O C 0025220 [ p o s i t i o n : I N T , 0025240 l e n g t h : I N T ] \r \t R E 0025260 T U R N S [ P a c k e d N o d e 0025300 ] = \r \t \t B E G I N \r \t \t R E 0025320 T U R N [ N E W [ P a c k e d N 0025340 o d e B o d y _ [ p o s i t i o 0025360 n , l e n g t h , P a c k e 0025400 d y e s P r o d P r o c s , N 0025420 I L ] ] ] ; \r \t \t E N D ; \r \r \r 0025440 - - P a c k e d n o P r o d \r 0025460 \r P a c k e d n o P r o d P r o 0025500 c s : \t P U B L I C P a c k e 0025520 d N o d e P r o c s _ \r \t N E 0025540 W [ P a c k e d N o d e P r o c 0025560 s B o d y _ [ P a c k e d n 0025600 o P r o d G e t B o o l e a n V 0025620 a l ] ] ; \r \r B u i l d P a c k 0025640 e d n o P r o d N o d e : \t P U 0025660 B L I C P R O C [ p o s i t i 0025700 o n : I N T , l e n g t h : 0025720 I N T ] \r \t R E T U R N S [ P 0025740 a c k e d N o d e ] = \r \t \t B 0025760 E G I N \r \t \t R E T U R N [ N E 0026000 W [ P a c k e d N o d e B o d y 0026020 _ [ p o s i t i o n , l e n g 0026040 t h , P a c k e d n o P r o d 0026060 P r o c s , N I L ] ] ] ; \r \t 0026100 \t E N D ; \r \r E N D . . \r 0026115