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