$ 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