$ od -c -N 50000 [_CD6_]<sil>GobSources.dm!1>gobd.bcpl
0000000 / / g o b d . b c p l \r / / n e
0000020 w g o b b l e r f o r s i
0000040 l f i l e s \r \r g e t " s y
0000060 s d e f s . d " \r g e t " g o
0000100 b . d e f s " \r \r s t a t i c \r
0000120 [ \r A d d D e l e t e N e t N u
0000140 m = 1 \r ] \r \r s t r u c t u r e
0000160 o l d n o d e : \r [ 032 ( 6 3 5
0000200 ) \ f 1 \r n o d e t y p e b y
0000220 t e \r u a t b i t 1 \r [ 032 l
0000240 4 2 6 9 \ f 1 \r i p i n b i t
0000260 7 \r b l w o r d 032 l 5 5 3 9
0000300 \ f 1 \r ] \r = [ 032 l 4 2 6 9 \
0000320 f 1 \r b l a n k b i t 7 \r p
0000340 i n w o r d 032 l 5 5 3 9 \ f 1
0000360 \r ] \r n o d e s t p w o r d \r
0000400 n o d e a d r w o r d 032 l 4 2
0000420 6 9 \ f 1 \r ] \r m a n i f e s t
0000440 \r [ \r o n s i z e = ( s i z
0000460 e o l d n o d e ) / 1 6 \r ] \r
0000500 \r l e t R e a d N e t N a m e
0000520 ( l i n e , n a m e s t r , l v
0000540 N e t l e n g t h ) = v a l
0000560 o f / / r e t u r n s n e t
0000600 n u m b e r , o r 0 i f
0000620 t h i s i s n o t a n
0000640 e t n a m e \r [ 032 \ f 1 \r n a
0000660 m e s t r ! 0 = 0 \r l e t
0000700 l i n d e x = 1 \r i f R e
0000720 a d T o ( l i n e , $ : , l v
0000740 l i n d e x , n a m e s t r )
0000760 t h e n r e s u l t i s 0 \r
0001000 l e t n e t s t r = v e c
0001020 1 0 ; n e t s t r ! 0 = 0 \r
0001040 i f R e a d T o ( l i n e , $
0001060 < , l v l i n d e x ) t h e
0001100 n r e s u l t i s 0 \r i f
0001120 R e a d T o ( l i n e , $ > , l
0001140 v l i n d e x , n e t s t r )
0001160 t h e n r e s u l t i s 0
0001200 \r l e t n e t n o = C S N
0001220 ( n e t s t r ) \r i f R e a d
0001240 T o ( l i n e , $ ( , l v l i
0001260 n d e x ) t h e n r e s u l
0001300 t i s 0 \r n e t s t r ! 0 =
0001320 0 \r i f R e a d T o ( l i n
0001340 e , $ ) , l v l i n d e x ,
0001360 n e t s t r ) t h e n r e s
0001400 u l t i s 0 \r @ l v N e t l e
0001420 n g t h = C S N ( n e t s t
0001440 r ) \r r e s u l t i s n e t n
0001460 o \r 032 l 4 2 6 9 \ f 1 \r ] \r \r a
0001500 n d C S N ( s t x ) = v a
0001520 l o f \r [ 032 \ f 1 \r l e t n u
0001540 m = 0 \r f o r i = 1
0001560 t o s t x > > s t r . l e n g
0001600 t h d o 032 l 4 2 6 9 \ f 1 \r [
0001620 032 l 4 2 6 9 \ f 1 \r l e t c
0001640 h = s t x > > s t r . c h a
0001660 r ^ i \r i f ( c h l s $ 0
0001700 ) % ( c h g r $ 9 ) t h e
0001720 n r e s u l t i s - 1 \r n u
0001740 m = n u m * 1 0 + c h -
0001760 $ 0 032 l 5 5 3 9 \ f 1 \r ] \r \r r
0002000 e s u l t i s n u m 032 l 4 2 6
0002020 9 \ f 1 \r ] \r \r a n d R e a d
0002040 T o ( s r c , s t o p c h a r ,
0002060 l v I n d e x , d e s t ; n
0002100 u m a r g s n a ) = v a l
0002120 o f \r [ 032 \ f 1 \r l e t m a x
0002140 = s r c > > s t r . l e n g
0002160 t h \r [ 032 l 4 2 6 9 \ f 1 \r i f
0002200 @ l v I n d e x g r m a x
0002220 t h e n r e s u l t i s t
0002240 r u e \r l e t c h = s r c
0002260 > > s t r . c h a r ^ ( @ l v I
0002300 n d e x ) / / r e a d c h a
0002320 r \r @ l v I n d e x = @ l v
0002340 I n d e x + 1 \r i f c h e q
0002360 s t o p c h a r t h e n r
0002400 e s u l t i s f a l s e \r i f
0002420 n a g r 3 t h e n A p
0002440 p e n d C ( c h , d e s t ) 032 l
0002460 5 5 3 9 \ f 1 \r ] r e p e a t
0002500 032 l 4 2 6 9 \ f 1 \r ] \r a n d
0002520 P r o c e s s L i n e ( s r c )
0002540 = v a l o f \r [ 032 \ f 1 \r l
0002560 e t n u m n o d e s = 0 \r
0002600 l e t s r c i n d e x = 1
0002620 \r l e t n o d e v = v e c
0002640 5 0 \r [ 032 l 4 2 6 9 \ f 1 \r n
0002660 o d e v ! 0 = 0 \r i f R e
0002700 a d T o ( s r c , $ { , l v s
0002720 r c i n d e x , n o d e v ) t
0002740 h e n b r e a k \r i f R e a
0002760 d T o ( s r c , $ } , l v s r
0003000 c i n d e x ) t h e n b r e
0003020 a k \r u n l e s s M a k e N
0003040 o d e ( n o d e v ) t h e n
0003060 b r e a k \r n u m n o d e s =
0003100 n u m n o d e s + 1 032 l 5 5 3
0003120 9 \ f 1 \r ] r e p e a t \r i f
0003140 n u m n o d e s e q 0 t
0003160 h e n r e s u l t i s f a l
0003200 s e \r r e s u l t i s t r u e
0003220 032 l 4 2 6 9 \ f 1 \r ] \r a n d
0003240 M a k e N o d e ( s t ) = v
0003260 a l o f \r [ 032 \ f 1 \r i f s t
0003300 > > s t r . l e n g t h e q
0003320 0 t h e n r e s u l t i s
0003340 f a l s e \r l e t n o d e p t
0003360 r = N e w I t e m + 1 + ( N
0003400 e w I t e m ! 0 ) * o n s i z e
0003420 / / p o i n t e r t o n e
0003440 x t n o d e t o a d d \r n
0003460 o d e p t r > > o l d n o d e .
0003500 n o d e t y p e = 0 \r n o d e
0003520 p t r > > o l d n o d e . u a t
0003540 = 0 \r l e t s t i n d e x
0003560 = 1 \r l e t c h = $ *
0003600 s \r w h i l e c h e q $ *
0003620 s d o [ c h = s t > >
0003640 s t r . c h a r ^ s t i n d e x
0003660 ; s t i n d e x = s t i n
0003700 d e x + 1 ] \r / / c h n o w
0003720 h a s f i r s t n o n - s
0003740 p a c e c h a r , s t i n d
0003760 e x p o i n t s t o t h e
0004000 n e x t o n e \r t e s t c
0004020 h g r $ Z / / n o r m a
0004040 l i c p i n ( s m a l l l
0004060 e t t e r ) , o r s p e c i
0004100 a l ( b i g ) \r i f s o \r [ 032
0004120 l 4 2 6 9 \ f 1 \r l e t n v
0004140 = v e c 5 ; n v ! 0 = 0 \r i
0004160 f R e a d T o ( s t , $ . , l
0004200 v s t i n d e x , n v ) t h
0004220 e n r e s u l t i s f a l s
0004240 e \r l e t b o a r d l o c =
0004260 C S N ( n v ) \r i f b o a r
0004300 d l o c e q - 1 t h e n
0004320 r e s u l t i s f a l s e \r n
0004340 v ! 0 = 0 \r i f R e a d T
0004360 o ( s t , $ * s , l v s t i n
0004400 d e x , n v ) t h e n r e s
0004420 u l t i s f a l s e \r l e t
0004440 p i n n o = C S N ( n v ) \r
0004460 i f p i n n o e q - 1 t
0004500 h e n r e s u l t i s f a l
0004520 s e \r n o d e p t r > > o l d n
0004540 o d e . i p i n = p i n n o
0004560 \r n o d e p t r > > o l d n o d
0004600 e . b l = 2 6 * b o a r d l
0004620 o c + ( c h - $ a ) \r \r 032 l 5 5
0004640 3 9 \ f 1 \r \r ] \r i f n o t \r [
0004660 032 l 4 2 6 9 \ f 1 \r l e t n v
0004700 = v e c 5 ; n v ! 0 = 0
0004720 \r i f R e a d T o ( s t , $ *
0004740 s , l v s t i n d e x , n v )
0004760 t h e n r e s u l t i s f
0005000 a l s e \r l e t p i n n o =
0005020 C S N ( n v ) \r i f p i n n
0005040 o e q - 1 t h e n r e s
0005060 u l t i s f a l s e \r n o d e
0005100 p t r > > o l d n o d e . n o d
0005120 e t y p e = c h \r n o d e p
0005140 t r > > o l d n o d e . p i n
0005160 = p i n n o 032 l 5 5 3 9 \ f 1
0005200 \r ] \r n o d e p t r > > o l d n
0005220 o d e . n o d e s t p = 0 \r
0005240 n o d e p t r > > o l d n o d e
0005260 . n o d e a d r = 0 \r N e w
0005300 I t e m ! 0 = N e w I t e m
0005320 ! 0 + 1 \r r e s u l t i s t r
0005340 u e \r 032 l 4 2 6 9 \ f 1 \r ] \r
0005360 \r / / A l g o r i t h m f o
0005400 r t e r m i n a t o r c h e
0005420 c k i n g i s i n t e n d e
0005440 d t o b e t h e f o l l
0005460 o w i n g : \r / / N o r m a l
0005500 l y , i g n o r e t e r m i
0005520 n a t o r d i f f e r e n c e
0005540 s b e t w e e n o l d a n
0005560 d n e w n e t . H o w e
0005600 v e r , \r / / i f n e t t
0005620 o u c h e s E d g e P i n o
0005640 r C a b l e P i n O R i f
0005660 e i t h e r o l d o r n
0005700 e w n e t n a m e e n d s
0005720 \r / / i n ! , c h e c k
0005740 t e r m i n a t o r e q u i v
0005760 a l e n c e e x p l i c i t l
0006000 y . \r \r a n d C o r r e c t O
0006020 l d N e t ( n e t n a m e , o l
0006040 d n e t l e n g t h ) b e \r [
0006060 032 \ f 1 \r l e t n p b a s e
0006100 = N e w I t e m + 1 \r l e t
0006120 o l d n o d e c o u n t = N
0006140 e w I t e m ! 0 \r l e t c h e
0006160 c k T e r m i n a t o r s T o o
0006200 = ( n e t n a m e > > s t r . c
0006220 h a r ^ ( n e t n a m e > > s t
0006240 r . l e n g t h ) ) e q $ !
0006260 \r f o r i = 0 t o o l d n
0006300 o d e c o u n t - 1 d o \r [ 032
0006320 l 4 2 6 9 \ f 1 \r / / f i l l
0006340 i n t h e p a r a m e t e r
0006360 s o f t h e o l d n o d
0006400 e \r l e t o n p t r = n p
0006420 b a s e + o n s i z e * i \r
0006440 l e t n o d e a d r = 0 \r
0006460 l e t n o d e s t p = 0 \r
0006500 l e t u a t = 0 \r l e t
0006520 n o d e t y p e = o n p t r
0006540 > > o l d n o d e . n o d e t y
0006560 p e \r t e s t n o d e t y p e
0006600 e q 0 \r i f s o / / n o
0006620 r m a l i c p i n \r [ 032 l 5
0006640 5 3 9 \ f 1 \r l e t b p =
0006660 B o a r d v e c ! ( o n p t r >
0006700 > o l d n o d e . b l ) \r i f
0006720 b p n e 0 d o \r [ 032 l 6 8
0006740 0 9 \ f 1 \r n o d e a d r =
0006760 l v ( b p > > i c d e s c . p
0007000 i n p t r ^ ( o n p t r > > o l
0007020 d n o d e . i p i n ) ) \r i f
0007040 ( ( @ n o d e a d r ) e q 0
0007060 ) & ( ( b p > > i c d e s c . i
0007100 c t y p e ) e q t e r m t y
0007120 p e ) t h e n u a t = 1
0007140 \r 032 l 8 0 7 9 \ f 1 \r ] 032 l 6 8
0007160 0 9 \ f 1 \r ] \r i f n o t n o
0007200 d e a d r = o n p t r > > o
0007220 l d n o d e . p i n + s e l
0007240 e c t o n n o d e t y p e i
0007260 n t o \r [ 032 l 5 5 3 9 \ f 1 \r c
0007300 a s e $ E : E p i n s \r c a
0007320 s e $ C : E p i n s + M
0007340 a x E p i n s \r c a s e $ G :
0007360 G n d v e c \r c a s e $ F :
0007400 V c c v e c \r c a s e $ M :
0007420 V e e v e c \r c a s e $ T :
0007440 V t t v e c \r c a s e $ D :
0007460 V d d v e c 032 l 6 8 0 9 \ f 1
0007500 \r ] \r i f n o d e t y p e e
0007520 q $ E % n o d e t y p e
0007540 e q $ C t h e n c h e c k
0007560 T e r m i n a t o r s T o o = t
0007600 r u e \r o n p t r > > o l d n o
0007620 d e . n o d e s t p = v a l
0007640 o f \r [ 032 l 5 5 3 9 \ f 1 \r i f
0007660 ( n o d e a d r e q 0 ) %
0007700 ( @ n o d e a d r e q 0 )
0007720 t h e n r e s u l t i s 0 \r
0007740 l e t p = n o d e a d r
0007760 / / t h e n o d e i s o n
0010000 a l i s t w h i c h t e
0010020 r m i n a t e s a t a \r /
0010040 / s y m b o l t a b l e e n
0010060 t r y \r u n t i l @ p e q
0010100 - 1 d o p = @ p \r p =
0010120 p - ( o f f s e t s t r e c
0010140 . m a r k ) / 1 6 \r l e t s =
0010160 l v p > > s t r e c . s t \r i
0010200 f ( s > > s t r . c h a r ^ (
0010220 s > > s t r . l e n g t h ) )
0010240 e q $ ! t h e n c h e c k
0010260 T e r m i n a t o r s T o o = t
0010300 r u e \r r e s u l t i s p \r 032
0010320 l 6 8 0 9 \ f 1 \r ] \r o n p t r
0010340 > > o l d n o d e . n o d e a d
0010360 r = n o d e a d r \r o n p t
0010400 r > > o l d n o d e . u a t =
0010420 u a t \r 032 l 5 5 3 9 \ f 1 \r ]
0010440 \r \r \r / / a l l o l d n o d
0010460 e e n t r i e s a r e f i
0010500 l l e d i n - s e e i f
0010520 t h e o l d n e t a n d
0010540 s o m e n e w n e t a r e
0010560 \r / / i d e n t i c a l , o r
0010600 w h e t h e r t h e o l d
0010620 n e t i s o b s o l e t e
0010640 \r l e t o b s o l e t e =
0010660 f a l s e \r l e t n u a t =
0010700 0 \r l e t n e w s t p =
0010720 0 \r f o r i = 0 t o o
0010740 l d n o d e c o u n t - 1 d o
0010760 \r [ 032 l 4 2 6 9 \ f 1 \r l e t
0011000 o n p t r = n p b a s e +
0011020 o n s i z e * i \r i f c h
0011040 e c k T e r m i n a t o r s T o
0011060 o e q 0 & o n p t r > >
0011100 o l d n o d e . u a t e q 1
0011120 t h e n \r \t [ n u a t =
0011140 n u a t + 1 ; l o o p ] \r
0011160 l e t o l d s t p = o n p
0011200 t r > > o l d n o d e . n o d e
0011220 s t p \r i f o l d s t p e q
0011240 0 t h e n [ o b s o l e
0011260 t e = t r u e ; l o o p
0011300 ] \r i f n e w s t p e q
0011320 0 t h e n [ n e w s t p
0011340 = o l d s t p ; l o o p ]
0011360 \r i f n e w s t p n e o
0011400 l d s t p t h e n o b s o l
0011420 e t e = t r u e 032 l 5 5 3 9
0011440 \ f 1 \r ] \r \r / / c o u n t t
0011460 h e n u m b e r o f n o d
0011500 e s i n t h e n e w n e
0011520 t \r l e t n e w n o d e c o u
0011540 n t = 0 \r u n l e s s o b
0011560 s o l e t e d o \r [ 032 l 4 2 6
0011600 9 \ f 1 \r l e t n e w p =
0011620 n e w s t p > > s t r e c . l i
0011640 s t \r u n t i l ( @ n e w p )
0011660 e q - 1 d o \r [ 032 l 5 5 3
0011700 9 \ f 1 \r n e w n o d e c o u n
0011720 t = n e w n o d e c o u n t
0011740 + 1 \r n e w p = @ n e w p 032
0011760 l 6 8 0 9 \ f 1 \r ] 032 l 5 5 3 9
0012000 \ f 1 \r \r ] \r i f o l d n o d
0012020 e c o u n t n e ( n e w n o
0012040 d e c o u n t + n u a t ) t
0012060 h e n o b s o l e t e = t
0012100 r u e \r t e s t o b s o l e t
0012120 e \r i f s o 032 l 4 2 6 9 \ f 1 \r
0012140 [ 032 l 4 2 6 9 \ f 1 \r / / w r i
0012160 t e t h e o l d n e t t
0012200 o t h e d e l e t e l i s
0012220 t \r l e t n a m e v = v e
0012240 c 5 0 ; n a m e v ! 0 =
0012260 0 \r A p p e n d S ( " * n * n D
0012300 E L E T E " , n a m e v ) \r
0012320 A p p e n d S ( n e t n a m e
0012340 , n a m e v ) \r A p p e n d C (
0012360 $ : , n a m e v ) \r A p p e n d
0012400 S ( " < " , n a m e v ) \r A p
0012420 p e n d N ( A d d D e l e t e N
0012440 e t N u m , n a m e v ) \r A d d
0012460 D e l e t e N e t N u m = A
0012500 d d D e l e t e N e t N u m + 1
0012520 \r A p p e n d S ( " > ( " , n
0012540 a m e v ) \r A p p e n d N ( o l
0012560 d n e t l e n g t h , n a m e v
0012600 ) \r A p p e n d S ( " ) " , n a
0012620 m e v ) \r A p p e n d C ( $ * n
0012640 , n a m e v ) \r W S S ( A D F i
0012660 l e , n a m e v ) \r l e t o u
0012700 t c o u n t = 0 \r f o r i
0012720 = 0 t o o l d n o d e c o u
0012740 n t - 1 d o \r [ 032 l 5 5 3 8 (
0012760 1 2 7 0 ) \ f 1 \r i f o u t c
0013000 o u n t g r 3 t h e n [
0013020 o u t c o u n t = 0 ; W
0013040 S S ( A D F i l e , " * n " )
0013060 ] \r o u t c o u n t = o u
0013100 t c o u n t + 1 \r W S S ( A D F
0013120 i l e , " * s * s * s * s " ) \r
0013140 l e t o n p t r = n p b a
0013160 s e + o n s i z e * i \r
0013200 l e t n o d e a d r = o n p t
0013220 r > > o l d n o d e . n o d e a
0013240 d r \r l e t d u m m y I C = v
0013260 e c i c d s i z e + 1 0 0 \r i
0013300 f n o d e a d r e q 0 t
0013320 h e n \t / / e n t i r e I C
0013340 h a s g o n e a w a y \r [ \t
0013360 / / s o k l u d g e u p a
0013400 t e m p o r a r y I C d e
0013420 s c r i p t o r 032 l 6 8 0 8 \ f
0013440 1 \r Z e r o ( d u m m y I C ,
0013460 i c d s i z e + 1 0 0 ) \r d u m
0013500 m y I C > > i c d e s c . b l =
0013520 o n p t r > > o l d n o d e . b
0013540 l \r d u m m y I C > > i c d e s
0013560 c . m a r k = - 1 \r n o d e a d
0013600 r = d u m m y I C + i c d s i z
0013620 e + o n p t r > > o l d n o d e
0013640 . i p i n \r 032 l 8 0 7 8 \ f 1 \r
0013660 ] \r P r i n t N ( n o d e a d r
0013700 , A D F i l e , 0 ) \r 032 l 6 8 0
0013720 8 \ f 1 \r ] 032 l 5 5 3 8 \ f 1 \r
0013740 ] \r i f n o t / / r e o r d e
0013760 r t h e n e w n e t s a
0014000 m e a s t h e o l d n e
0014020 t - t h i s w i l l a u t
0014040 o m a t i c a l l y \r / / a s s
0014060 i g n a l l t h e o l d
0014100 n e t ' s t e r m i n a t o r
0014120 s \r [ 032 l 4 2 6 9 ( 6 3 5 ) \ f
0014140 1 \r l e t n = 0 \r l e t
0014160 p = l v ( n e w s t p > > s
0014200 t r e c . l i s t ) \r u n t i l
0014220 n e q o l d n o d e c o u
0014240 n t d o \r [ 032 l 5 5 3 9 \ f 1
0014260 \r l e t o n p t r = n p b
0014300 a s e + o n s i z e * n
0014320 \r l e t n o d e a d r = o
0014340 n p t r > > o l d n o d e . n o
0014360 d e a d r \r @ p = n o d e a d r
0014400 \r p = n o d e a d r \r n =
0014420 n + 1 032 l 6 8 0 9 \ f 1 \r ] \r
0014440 @ p = l v ( n e w s t p > >
0014460 s t r e c . m a r k ) / / c l
0014500 o s e t h e l i s t \r n e w
0014520 s t p > > s t r e c . o r d e r
0014540 e d = 1 \r n e w s t p > > s
0014560 t r e c . n e t l e n g t h =
0014600 o l d n e t l e n g t h 032 l 5
0014620 5 3 9 \ f 1 \r ] 032 l 4 2 6 9 \ f
0014640 1 \r ] \r 032 \ f 1 \r \0
0014652