$ od -c -N 50000 [_CD8_]<indigoifs>IfsMisc.dm!3
0000000  377  \0  \0   I   f   s   M   i   s   c   .   d   e   c   l  \0
0000020  373 231   Y 362 023  \0  \0 376 001  \0   [ 242   /   /       I
0000040    f   s   M   i   s   c   .   d   e   c   l       -   -       M
0000060    i   s   c   e   l   l   a   n   e   o   u   s       s   e   r
0000100    v   i   c   e   s       d   e   c   l   a   r   a   t   i   o
0000120    n   s  \r   /   /       C   o   p   y   r   i   g   h   t    
0000140    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0000160    n       1   9   7   9   ,       1   9   8   0   ,       1   9
0000200    8   2  \r   /   /       L   a   s   t       m   o   d   i   f
0000220    i   e   d       J   u   l   y       1   2   ,       1   9   8
0000240    2           2   :   0   4       P   M       b   y       T   a
0000260    f   t  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r   s
0000300    o   c   k   e   t   M   i   s   c   S   e   r   v   i   c   e
0000320    s       =       4  \r  \r   /   /       M   a   i   l       c
0000340    h   e   c   k       p   r   o   t   o   c   o   l  \r   t   y
0000360    p   e   M   s   g   M   a   i   l   C   h   e   c   k       =
0000400        2   1   0   b  \r   t   y   p   e   L   a   u   r   e   l
0000420    M   a   i   l   C   h   e   c   k       =     376 001  \0 006
0000440  027   2   1   4   b  \r   t   y   p   e   M   a   i   l   C   h
0000460    e   c   k   Y   e   s       =       2   1   1   b  \r   t   y
0000500    p   e   M   a   i   l   C   h   e   c   k   N   o       =    
0000520    2   1   2   b  \r   t   y   p   e   M   a   i   l   C   h   e
0000540    c   k   E   r   r   o   r       =       2   1   3   b  \r  \r
0000560    /   /       U   s   e   r       A   u   t   h   e   n   t   i
0000600    c   a   t   i   o   n       p   r   o   t   o   c   o   l  \r
0000620    t   y   p   e   U   s   e   r   A   u   t   h   e   n   t   i
0000640    c   a   t   e       =       2   5   0   b  \r   t   y   p   e
0000660    U   s   e   r   A   u   t   h   e   n   t   i   c   a   t   e
0000700    Y   e   s       =       2   5   1   b  \r   t   y   p   e   U
0000720    s   e   r   A   u   t   h   e   n   t   i   c   a   t   e   N
0000740    o       =       2   5   2   b  \r  \r   /   /       V   a   l
0000760    i   d   a   t   e       R   e   c   i   p   i   e   n   t    
0001000    p   r   o   t   o   c   o   l  \r   t   y   p   e   V   a   l
0001020    i   d   a   t   e   R   e   c   i   p   i   e   n   t       =
0001040      376 001  \0 253   f   2   6   6   b   ;  \r   t   y   p   e
0001060    V   a   l   i   d   a   t   e   R   e   c   i   p   i   e   n
0001100    t   Y   e   s       =       2   6   7   b   ;  \r   t   y   p
0001120    e   V   a   l   i   d   a   t   e   R   e   c   i   p   i   e
0001140    n   t   N   o       =       2   7   0   b   ;  \r  \r   /   /
0001160        W   h   e   r   e       I   s       U   s   e   r       p
0001200    r   o   t   o   c   o   l  \r   t   y   p   e   W   h   e   r
0001220    e   U   s   e   r   R   e   q   u   e   s   t       =       2
0001240    3   0   b  \r   t   y   p   e   W   h   e   r   e   U   s   e
0001260    r   R   e   p   l   y       =       2   3   1   b  \r  \r   /
0001300    /       T   i   m   e       p   r   o   t   o   c   o   l  \r
0001320    p   t   S   t   r   i   n   g   T   i   m   e   R   e   q   u
0001340    e   s   t       =       2   0   0   b  \r   p   t   S   t   r
0001360    i   n   g   T   i   m   e   R   e   p   l   y       =       2
0001400    0   1   b  \r   p   t   T   e   n   e   x   T   i   m   e   R
0001420    e   q   u   e   s   t       =       2   0   2   b  \r   p   t
0001440    T   e   n   e   x   T 376 001  \0 325 370   i   m   e   R   e
0001460    p   l   y       =       2   0   3   b  \r   p   t   A   l   t
0001500    o   T   i   m   e   R   e   q   u   e   s   t       =       2
0001520    0   6   b  \r   p   t   A   l   t   o   T   i   m   e   R   e
0001540    p   l   y       =       2   0   7   b  \r   p   t   T   i   m
0001560    e   S   t   a   t   s   R   e   q   u   e   s   t       =    
0001600    2   1   5   b  \r   p   t   T   i   m   e   S   t   a   t   s
0001620    R   e   p   l   y       =       2   1   6   b  \r   p   t   R
0001640    e   s   e   t   T   i   m   e   R   e   q   u   e   s   t    
0001660    =       2   5   5   b  \r   p   t   R   e   s   e   t   T   i
0001700    m   e   R   e   p   l   y       =       2   5   6   b  \r   p
0001720    t   L   o   c   k   T   i   m   e   R   e   q   u   e   s   t
0001740        =       2   1   7   b  \r   p   t   L   o   c   k   T   i
0001760    m   e   R   e   p   l   y       =       2   2   7   b  \r  \r
0002000    /   /       N   e   t   w   o   r   k       D   i   r   e   c
0002020    t   o   r   y       p   r   o   t   o   c   o   l  \r   p   t
0002040    N   a   m   e   L   o   o   k   u   p     376 001  \0   '   x
0002060    =       2   2   0   b  \r   p   t   N   a   m   e   R   e   p
0002100    l   y       =       2   2   1   b  \r   p   t   N   e   t   D
0002120    i   r   E   r   r   o   r       =       2   2   2   b  \r   p
0002140    t   A   d   d   r   e   s   s   L   o   o   k   u   p       =
0002160        2   2   3   b  \r   p   t   A   d   d   r   e   s   s   R
0002200    e   p   l   y       =       2   2   4   b  \r   p   t   N   e
0002220    t   D   i   r   V   e   r   s   i   o   n       =       2   4
0002240    0   b  \r   p   t   S   e   n   d   N   e   t   D   i   r    
0002260    =       2   4   1   b  \r   p   t   N   e   t   D   i   r   S
0002300    t   a   t   s   R   e   q   u   e   s   t       =       2   2
0002320    5   b  \r   p   t   N   e   t   D   i   r   S   t   a   t   s
0002340    R   e   p   l   y       =       2   2   6   b  \r   p   t   N
0002360    e   t   D   i   r   L   o   c   k   R   e   q   u   e   s   t
0002400        =       2   3   5   b  \r   p   t   N   e   t   D   i   r
0002420    L   o   c   k   R   e   p   l   y       =       2   3   6   b
0002440   \r   p   t   N   e   t   D   i   r   U   n   l   o   c   k   R
0002460  376 001  \0   [   S   e   q   u   e   s   t       =       2   3
0002500    7   b  \r   p   t   N   e   t   D   i   r   U   n   l   o   c
0002520    k   R   e   p   l   y       =       2   6   1   b  \r  \r   /
0002540    /       B   o   o   t       p   r   o   t   o   c   o   l  \r
0002560    p   t   B   o   o   t   F   i   l   e   R   e   q   u   e   s
0002600    t       =       2   4   4   b  \r   p   t   B   o   o   t   N
0002620    a   m   e   d   F   i   l   e   R   e   q   u   e   s   t    
0002640    =       3   0   3   B  \r   p   t   B   o   o   t   M   i   c
0002660    r   o   c   o   d   e   R   e   q   u   e   s   t       =    
0002700    2   6   4   b  \r   p   t   B   o   o   t   M   i   c   r   o
0002720    c   o   d   e   R   e   p   l   y       =       2   6   5   b
0002740   \r   p   t   B   o   o   t   D   i   r   R   e   q   u   e   s
0002760    t       =       2   5   7   b  \r   p   t   B   o   o   t   D
0003000    i   r   R   e   p   l   y       =       2   6   0   b  \r   p
0003020    t   K   i   s   s   O   f   D   e   a   t   h       =       2
0003040    4   7   b  \r   p   t   B   o   o   t   S   t   a   t   s   R
0003060    e   q   u   e   s 376 001  \0 262   m   t       =       2   5
0003100    3   b  \r   p   t   B   o   o   t   S   t   a   t   s   R   e
0003120    p   l   y       =       2   5   4   b  \r   p   t   B   o   o
0003140    t   L   o   c   k   R   e   q   u   e   s   t       =       2
0003160    4   2   b  \r   p   t   B   o   o   t   L   o   c   k   R   e
0003200    p   l   y       =       2   4   3   b  \r   p   t   B   o   o
0003220    t   U   n   l   o   c   k   R   e   q   u   e   s   t       =
0003240        2   3   3   b  \r   p   t   B   o   o   t   U   n   l   o
0003260    c   k   R   e   p   l   y       =       2   3   4   b  \r   ]
0003300   \r  \f  \r   m   a   n   i   f   e   s   t  \r   [  \r   s   o
0003320    c   k   e   t   E   c   h   o       =       5  \t  \t  \t   /
0003340    /       r   e   g   i   s   t   e   r   e   d   ,       w   e
0003360    l   l   -   k   n   o   w   n       s   o   c   k   e   t  \r
0003400   \r   t   y   p   e   E   c   h   o   M   e       =       1  \r
0003420    t   y   p   e   I   m   A   n   E   c   h   o       =       2
0003440   \r   t   y   p   e   I   m   A   B   a   d   E   c   h   o    
0003460    =       3  \r  \r   t   y   p   e   S 376  \0 362 360   U   t
0003500    a   t   s   R   e   q   u   e   s   t       =       2   0   0
0003520    b  \r   t   y   p   e   S   t   a   t   s   R   e   p   l   y
0003540        =       2   0   1   b  \r  \r   e   c   h   o   S   t   a
0003560    t   s   V   e   r   s   i   o   n       =       1  \r   ]  \r
0003600   \r   s   t   r   u   c   t   u   r   e       E   c   h   o   S
0003620    t   a   t   s   :  \t  \t   /   /       E   c   h   o       s
0003640    e   r   v   e   r       s   t   a   t   i   s   t   i   c   s
0003660   \r   [  \r   v   e   r   s   i   o   n       w   o   r   d  \t
0003700   \t  \t   /   /       =       e   c   h   o   S   t   a   t   s
0003720    V   e   r   s   i   o   n  \r   p   a   c   k   e   t   s   E
0003740    c   h   o   e   d       w   o   r   d       2  \t  \t   /   /
0003760        #       o   f       p   a   c   k   e   t   s       e   c
0004000    h   o   e   d  \r   ]  \r   m   a   n   i   f   e   s   t    
0004020    l   e   n   E   c   h   o   S   t   a   t   s       =       s
0004040    i   z   e       E   c   h   o   S   t   a   t   s   /   1   6
0004060   \r 377  \0  \0   I   f   s   M   i   s   c   R   e   s   .   b
0004100    c   p   l  \0 373 226   a 204   9  \0  \0 376 001  \0   a   }
0004120    /   /       I   f   s   M   i   s   c   R   e   s   .   b   c
0004140    p   l       -       M   i   s   c   e   l   l   a   n   e   o
0004160    u   s       s   e   r   v   e   r       -       R   E   S   I
0004200    D   E   N   T  \r   /   /       C   o   p   y   r   i   g   h
0004220    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0004240    i   o   n       1   9   7   9   ,       1   9   8   0  \r   /
0004260    /       L   a   s   t       m   o   d   i   f   i   e   d    
0004300    D   e   c   e   m   b   e   r       1   2   ,       1   9   8
0004320    0           5   :   4   4       P   M       b   y       B   o
0004340    g   g   s  \r  \r   g   e   t       "   P   u   p   0   .   d
0004360    e   c   l   "  \r   g   e   t       "   P   u   p   1   .   d
0004400    e   c   l   "  \r  \r   e   x   t   e   r   n   a   l  \r   [
0004420   \r   /   /       o   u   t   g   o   i   n   g       p   r   o
0004440    c   e   d   u   r   e   s  \r   M   i   s   c   e   l   l   a
0004460    n   e   o   u   s   E   v   e   n   t  \r  \r   /   /       i
0004500    n   c   o   m   i   n   g       p   r   o   c   e   d   u   r
0004520  376 001  \0 201   K   e   s  \r   H   a   n   d   l   e   M   i
0004540    s   c   e   l   l   a   n   e   o   u   s   P   u   p   ;    
0004560    H   a   n   d   l   e   E   c   h   o   P   u   p  \r   Q   u
0004600    e   u   e   E   v   e   n   t  \r  \r   /   /       i   n   c
0004620    o   m   i   n   g       s   t   a   t   i   c   s  \r   s   o
0004640    c   E   c   h   o   ;       s   o   c   M   i   s   c   e   l
0004660    l   a   n   e   o   u   s   ;       c   t   x   M   i   s   c
0004700    e   l   l   a   n   e   o   u   s   C   t   x  \r   ]  \r  \r
0004720    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0004740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005020    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e
0005040    t       M   i   s   c   e   l   l   a   n   e   o   u   s   E
0005060    v   e   n   t   (   e   c   b   )       b   e  \r   /   /   -
0005100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005120    -   -   -   -   - 376 001  \0 213   H   -   -   -   -   -   -
0005140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0005220    /   /   I   f       t   h   e       m   i   s   c   e   l   l
0005240    a   n   e   o   u   s       s   e   r   v   i   c   e   s    
0005260    c   o   n   t   e   x   t       i   s       n   o   t       a
0005300    c   t   i   v   e   ,       c   h   e   c   k       t   h   e
0005320        m   i   s   c   e   l   l   a   n   e   o   u   s  \r   /
0005340    /       s   e   r   v   i   c   e   s       s   o   c   k   e
0005360    t       i   n   p   u   t       q   u   e   u   e       f   o
0005400    r       P   u   p   s       e   v   e   r   y       1   0   0
0005420        m   s   .  \r   [  \r   w   h   i   l   e       c   t   x
0005440    M   i   s   c   e   l   l   a   n   e   o   u   s   C   t   x
0005460        e   q       0       &       s   o   c   M   i   s   c   e
0005500    l   l   a   n   e   o   u   s   >   >   P   u   p   S   o   c
0005520    .   i   Q   .   h   e   a   d       n 376  \0 220 037   i   e
0005540        0       d   o  \r               H   a   n   d   l   e   M
0005560    i   s   c   e   l   l   a   n   e   o   u   s   P   u   p   (
0005600    s   o   c   M   i   s   c   e   l   l   a   n   e   o   u   s
0005620    >   >   P   u   p   S   o   c   .   i   Q   .   h   e   a   d
0005640    )  \r  \r   i   f       s   o   c   E   c   h   o   >   >   P
0005660    u   p   S   o   c   .   i   Q   .   h   e   a   d       n   e
0005700        0       t   h   e   n       H   a   n   d   l   e   E   c
0005720    h   o   P   u   p   (   )  \r  \r   Q   u   e   u   e   E   v
0005740    e   n   t   (   e   c   b   ,       1   0   )  \r   ]  \r 377
0005760   \0  \0   I   f   s   M   i   s   c   S   w   a   p   .   b   c
0006000    p   l  \0 373 231   Y 362   q  \0  \0 376 001  \0   a 260   /
0006020    /       I   f   s   M   i   s   c   S   w   a   p   .   b   c
0006040    p   l       -       M   i   s   c   e   l   l   a   n   e   o
0006060    u   s       &       E   c   h   o       -       S   W   A   P
0006100    P   A   B   L   E  \r   /   /       C   o   p   y   r   i   g
0006120    h   t       X   e   r   o   x       C   o   r   p   o   r   a
0006140    t   i   o   n       1   9   7   9   ,       1   9   8   0   ,
0006160        1   9   8   1   ,       1   9   8   2  \r   /   /       L
0006200    a   s   t       m   o   d   i   f   i   e   d       J   u   l
0006220    y       1   2   ,       1   9   8   2           2   :   0   5
0006240        P   M       b   y       T   a   f   t  \r  \r   g   e   t
0006260        "   P   u   p   0   .   d   e   c   l   "  \r   g   e   t
0006300        "   P   u   p   1   .   d   e   c   l   "  \r   g   e   t
0006320        "   I   f   s   R   s   .   d   e   c   l   "  \r   g   e
0006340    t       "   I   f   s   M   i   s   c   .   d   e   c   l   "
0006360   \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /    
0006400    o   u   t   g   o   i   n   g       p   r   o   c   e   d 376
0006420  001  \0 256 234   u   r   e   s  \r   M   i   s   c   e   l   l
0006440    a   n   e   o   u   s   C   t   x   ;       H   a   n   d   l
0006460    e   M   i   s   c   e   l   l   a   n   e   o   u   s   P   u
0006500    p  \r   H   a   n   d   l   e   E   c   h   o   P   u   p  \r
0006520   \r   /   /       i   n   c   o   m   i   n   g       p   r   o
0006540    c   e   d   u   r   e   s  \r   T   i   m   e   S   e   r   v
0006560    ;       N   a   m   e   S   e   r   v   ;       B   o   o   t
0006600    S   e   r   v   ;       M   a   i   l   M   i   s   c   S   e
0006620    r   v  \r  \r   C   r   e   a   t   e   J   o   b   ;       D
0006640    e   s   t   r   o   y   J   o   b   ;       D   e   q   u   e
0006660    u   e   ;       E   n   q   u   e   u   e  \r   C   o   m   p
0006700    l   e   t   e   P   u   p   ;       E   x   c   h   a   n   g
0006720    e   P   o   r   t   s   ;       R   e   l   e   a   s   e   P
0006740    B   I  \r   T   i   m   e   r   H   a   s   E   x   p   i   r
0006760    e   d   ;       B   l   o   c   k   ;       S   e   t   T   i
0007000    m   e   r  \r   M   o   v   e   B   l   o   c   k   ;       D
0007020    o   u   b   l 376 001  \0 271   J   e   I   n   c   r   e   m
0007040    e   n   t  \r  \r   /   /       i   n   c   o   m   i   n   g
0007060        s   t   a   t   i   c   s  \r   e   n   t   F   l   a   g
0007100    ;       s   y   s   t   e   m   ;       C   t   x   R   u   n
0007120    n   i   n   g  \r   s   o   c   M   i   s   c   e   l   l   a
0007140    n   e   o   u   s   ;       c   t   x   M   i   s   c   e   l
0007160    l   a   n   e   o   u   s   C   t   x  \r   s   o   c   E   c
0007200    h   o   ;       e   c   h   o   S   t   a   t   s  \r   ]  \r
0007220   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0007240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007320    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l
0007340    e   t       H   a   n   d   l   e   M   i   s   c   e   l   l
0007360    a   n   e   o   u   s   P   u   p   (   p   b   i   )       b
0007400    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0007420    -   -   -   -   -   -   -   -   - 376 001  \0   = 270   -   -
0007440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007520    -   -   -   -  \r   /   /   C   a   l   l   e   d       f   r
0007540    o   m       M   i   s   c   e   l   l   a   n   e   o   u   s
0007560    E   v   e   n   t       w   h   e   n       t   h   e       M
0007600    i   s   c   e   l   l   a   n   e   o   u   s   C   t   x    
0007620    d   o   e   s   n   '   t       e   x   i   s   t   ,       t
0007640    o  \r   /   /       d   e   a   l       w   i   t   h       p
0007660    u   p   s       d   i   r   e   c   t   e   d       t   o    
0007700    t   h   e       M   i   s   c   e   l   l   a   n   e   o   u
0007720    s       s   o   c   k   e   t   .           S   i   m   p   l
0007740    e       r   e   q   u   e   s   t   s       a   r   e  \r   /
0007760    /       h   a   n   d   l   e   d       b   y       t   h   i
0010000    s       p   r   o   c   e   d   u   r   e   .           M   o
0010020    r   e       c   o   m   p   l   e   x       r   e   q 376 001
0010040   \0 377 231   u   e   s   t   s       (   p   a   r   t   i   c
0010060    u   l   a   r   l   y       t   h   o   s   e  \r   /   /    
0010100    r   e   q   u   i   r   i   n   g       a   c   c   e   s   s
0010120        t   o       f   i   l   e   s   )       a   r   e       l
0010140    e   f   t       f   o   r       t   h   e       M   i   s   c
0010160    e   l   l   a   n   e   o   u   s   C   t   x       i   f    
0010200    i   t       c   a   n       b   e  \r   /   /       c   r   e
0010220    a   t   e   d   .           I   f       i   t       c   a   n
0010240    '   t       b   e       c   r   e   a   t   e   d       t   h
0010260    e       r   e   q   u   e   s   t   s       a   r   e       d
0010300    i   s   c   a   r   d   e   d   .  \r   /   /       N   o   t
0010320    e       t   h   a   t       t   h   e       p   b   i       w
0010340    e       a   r   e       p   a   s   s   e   d       h   a   s
0010360        N   O   T       b   e   e   n       d   e   q   u   e   u
0010400    e   d   .  \r   [  \r   i   f       e   n   t   F   l   a   g
0010420        s   w   i   t   c   h   o   n       p   b   i   >   >   P
0010440    B   I   . 376 001  \0 354   ;   p   u   p   .   t   y   p   e
0010460        i   n   t   o  \r               [  \r               c   a
0010500    s   e       t   y   p   e   U   s   e   r   A   u   t   h   e
0010520    n   t   i   c   a   t   e   :  \r               c   a   s   e
0010540        t   y   p   e   L   a   u   r   e   l   M   a   i   l   C
0010560    h   e   c   k   :  \r               c   a   s   e       t   y
0010600    p   e   M   s   g   M   a   i   l   C   h   e   c   k   :  \r
0010620                c   a   s   e       t   y   p   e   V   a   l   i
0010640    d   a   t   e   R   e   c   i   p   i   e   n   t   :  \r    
0010660            c   a   s   e       p   t   B   o   o   t   D   i   r
0010700    R   e   p   l   y   :  \r                           [        
0010720    /   /       T   h   e   s   e       r   e   q   u   e   s   t
0010740    s       r   e   q   u   i   r   e       u   s       t   o    
0010760    b   e       r   u   n   n   i   n   g       a   s       M   i
0011000    s   c   e   l   l   a   n   e   o   u   s   C   t   x  \r    
0011020                        c   t   x   M   i   s   c   e   l   l   a
0011040    n   e   o   u   s   C   t   x 376 001  \0 024 024       =    
0011060    C   r   e   a   t   e   J   o   b   (   M   i   s   c   e   l
0011100    l   a   n   e   o   u   s   C   t   x   ,       j   o   b   T
0011120    y   p   e   M   i   s   c   e   l   l   a   n   e   o   u   s
0011140    )  \r                           i   f       c   t   x   M   i
0011160    s   c   e   l   l   a   n   e   o   u   s   C   t   x       n
0011200    e       0       r   e   t   u   r   n           /   /       M
0011220    i   s   c   e   l   l   a   n   e   o   u   s   C   t   x    
0011240    w   i   l   l       h   a   n   d   l   e       i   t  \r    
0011260                        e   n   d   c   a   s   e  \r            
0011300                ]  \r               d   e   f   a   u   l   t   :
0011320   \r                           [           /   /       A   l   l
0011340        o   t   h   e   r       r   e   q   u   e   s   t   s    
0011360    c   a   n       b   e       a   n   s   w   e   r   e   d    
0011400    f   r   o   m       w   i   t   h   i   n       t   h   e    
0011420    e   v   e   n   t  \r                           M   i   s   c
0011440    e   l   l   a   n   e   o   u   s   P   u   p   ( 376 001  \0
0011460  347   ?   D   e   q   u   e   u   e   (   l   v       s   o   c
0011500    M   i   s   c   e   l   l   a   n   e   o   u   s   >   >   P
0011520    u   p   S   o   c   .   i   Q   )   )  \r                    
0011540        r   e   t   u   r   n  \r                           ]  \r
0011560                ]  \r  \r   /   /       D   i   s   c   a   r   d
0011600        p   b   i       i   f       n   o   t       e   n   t   F
0011620    l   a   g       %       i   t   '   s       c   o   m   p   l
0011640    e   x       &       c   a   n   '   t       c   r   e   a   t
0011660    e       C   t   x   M   i   s   c   e   l   l   a   n   e   o
0011700    u   s  \r   R   e   l   e   a   s   e   P   B   I   (   D   e
0011720    q   u   e   u   e   (   l   v       s   o   c   M   i   s   c
0011740    e   l   l   a   n   e   o   u   s   >   >   P   u   p   S   o
0011760    c   .   i   Q   )   )  \r   ]  \r  \f  \r   /   /   -   -   -
0012000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012060    -   - 376 001  \0   D 202   -   -   -   -   -   -   -   -   -
0012100    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0012120    d       M   i   s   c   e   l   l   a   n   e   o   u   s   C
0012140    t   x   (   c   t   x   )       b   e  \r   /   /   -   -   -
0012160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012260    -   -   -   -   -   -   -   -  \r   [  \r   l   e   t       t
0012300    i   m   e   r       =       n   i   l           /   /   (   b
0012320    u   m   :       n   o       n   e   e   d       t   o       i
0012340    n   i   t   i   a   l   i   z   e       t   i   m   e   r    
0012360    s   i   n   c   e       w   e   '   r   e       c   h   e   c
0012400    k   i   n   g       i   Q   )  \r  \r               [        
0012420    /   /       r   e   p   e   a   t  \r               c   t   x
0012440    >   >   R   S   C   t   x   .   u   s   e   r   I   n   f   o
0012460        =       s   y   s   t 376 001  \0 311 003   e   m  \r    
0012500            i   f       s   o   c   M   i   s   c   e   l   l   a
0012520    n   e   o   u   s   >   >   P   u   p   S   o   c   .   i   Q
0012540    .   h   e   a   d       n   e       0       t   h   e   n  \r
0012560                            [  \r                           S   e
0012600    t   T   i   m   e   r   (   l   v       t   i   m   e   r   ,
0012620        2   0   0   )           /   /   d   a   l   l   y       2
0012640        s   e   c   o   n   d   s       t   o       h   a   n   d
0012660    l   e       r   e   t   r   a   n   s   m   i   s   s   i   o
0012700    n   s  \r                           M   i   s   c   e   l   l
0012720    a   n   e   o   u   s   P   u   p   (   D   e   q   u   e   u
0012740    e   (   l   v       s   o   c   M   i   s   c   e   l   l   a
0012760    n   e   o   u   s   >   >   P   u   p   S   o   c   .   i   Q
0013000    )   )  \r                           ]  \r               B   l
0013020    o   c   k   (   )  \r               ]       r   e   p   e   a
0013040    t   u   n   t   i   l       T   i   m   e   r   H   a   s   E
0013060    x   p   i   r   e   d   (   l   v       t   i 376 001  \0 365
0013100  201   m   e   r   )  \r  \r   c   t   x   M   i   s   c   e   l
0013120    l   a   n   e   o   u   s   C   t   x       =       0  \r   D
0013140    e   s   t   r   o   y   J   o   b   (   )           /   /    
0013160    c   o   m   m   i   t       s   u   i   c   i   d   e  \r   ]
0013200   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0013220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0013320    a   n   d       M   i   s   c   e   l   l   a   n   e   o   u
0013340    s   P   u   p   (   p   b   i   )       b   e  \r   /   /   -
0013360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013460    -   -   -   -   -   -   -   -   -   -  \r   /   /       C   a
0013500    l 376 001  \0 221   Y   l   e   d       e   i   t   h   e   r
0013520        f   r   o   m       H   a   n   d   l   e   M   i   s   c
0013540    e   l   l   a   n   e   o   u   s   P   u   p       o   r    
0013560    f   r   o   m       M   i   s   c   e   l   l   a   n   e   o
0013600    u   s   C   t   x   .  \r   /   /       I   f       t   h   e
0013620        r   e   q   u   e   s   t       i   s       c   o   m   p
0013640    l   e   x   ,       t   h   i   s       m   u   s   t       b
0013660    e       c   a   l   l   e   d       f   r   o   m       M   i
0013700    s   c   e   l   l   a   n   e   o   u   s   C   t   x   .  \r
0013720    /   /       N   o   t   e       t   h   a   t       t   h   e
0013740        p   b   i       H   A   S       b   e   e   n       d   e
0013760    q   u   e   u   e   d   .  \r   [  \r   s   w   i   t   c   h
0014000    o   n       p   b   i   >   >   P   B   I   .   p   u   p   .
0014020    t   y   p   e       i   n   t   o  \r               [  \r    
0014040            c   a   s   e       t   y   p   e   W   h   e   r   e
0014060    U   s   e   r   R   e   q   u   e   s   t   :  \r            
0014100                /   /     376 001  \0 016   t   A   l   w   a   y
0014120    s       a   n   s   w   e   r       b   y       s   a   y   i
0014140    n   g       u   s   e   r       n   o   t       l   o   g   g
0014160    e   d       i   n  \r                           E   x   c   h
0014200    a   n   g   e   P   o   r   t   s   (   p   b   i   )  \r    
0014220                        C   o   m   p   l   e   t   e   P   u   p
0014240    (   p   b   i   ,       t   y   p   e   W   h   e   r   e   U
0014260    s   e   r   R   e   p   l   y   ,       p   u   p   O   v   B
0014300    y   t   e   s   )  \r                           e   n   d   c
0014320    a   s   e  \r               c   a   s   e       t   y   p   e
0014340    U   s   e   r   A   u   t   h   e   n   t   i   c   a   t   e
0014360    :  \r               c   a   s   e       t   y   p   e   L   a
0014400    u   r   e   l   M   a   i   l   C   h   e   c   k   :  \r    
0014420            c   a   s   e       t   y   p   e   M   s   g   M   a
0014440    i   l   C   h   e   c   k   :  \r               c   a   s   e
0014460        t   y   p   e   V   a   l   i   d   a   t   e   R   e   c
0014500    i   p   i   e   n   t   :  \r             376 001  \0 027 017
0014520                M   a   i   l   M   i   s   c   S   e   r   v   (
0014540    p   b   i   )   ;       e   n   d   c   a   s   e  \r        
0014560        c   a   s   e       p   t   L   o   c   k   T   i   m   e
0014600    R   e   q   u   e   s   t   :  \r               c   a   s   e
0014620        p   t   R   e   s   e   t   T   i   m   e   R   e   q   u
0014640    e   s   t   :  \r               c   a   s   e       p   t   A
0014660    l   t   o   T   i   m   e   R   e   q   u   e   s   t   :  \r
0014700                c   a   s   e       p   t   T   i   m   e   S   t
0014720    a   t   s   R   e   q   u   e   s   t   :  \r                
0014740            T   i   m   e   S   e   r   v   (   p   b   i   )   ;
0014760        e   n   d   c   a   s   e  \r               c   a   s   e
0015000        p   t   N   e   t   D   i   r   L   o   c   k   R   e   q
0015020    u   e   s   t   :  \r               c   a   s   e       p   t
0015040    N   e   t   D   i   r   U   n   l   o   c   k   R   e   q   u
0015060    e   s   t   :  \r               c   a   s   e       p   t   N
0015100    a   m   e   L   o   o   k   u   p   :  \r               c   a
0015120  376 001  \0  \v   7   s   e       p   t   A   d   d   r   e   s
0015140    s   L   o   o   k   u   p   :  \r               c   a   s   e
0015160        p   t   S   e   n   d   N   e   t   D   i   r   :  \r    
0015200            c   a   s   e       p   t   N   e   t   D   i   r   V
0015220    e   r   s   i   o   n   :  \r               c   a   s   e    
0015240    p   t   N   e   t   D   i   r   S   t   a   t   s   R   e   q
0015260    u   e   s   t   :  \r                           N   a   m   e
0015300    S   e   r   v   (   p   b   i   )   ;       e   n   d   c   a
0015320    s   e  \r               c   a   s   e       p   t   B   o   o
0015340    t   L   o   c   k   R   e   q   u   e   s   t   :  \r        
0015360        c   a   s   e       p   t   B   o   o   t   U   n   l   o
0015400    c   k   R   e   q   u   e   s   t   :  \r               c   a
0015420    s   e       p   t   B   o   o   t   F   i   l   e   R   e   q
0015440    u   e   s   t   :  \r               c   a   s   e       p   t
0015460    B   o   o   t   M   i   c   r   o   c   o   d   e   R   e   q
0015500    u   e   s   t   :  \r               c   a   s   e       p   t
0015520    B   o   o   t   N 376 001  \0 002   ,   a   m   e   d   F   i
0015540    l   e   R   e   q   u   e   s   t   :  \r               c   a
0015560    s   e       p   t   B   o   o   t   D   i   r   R   e   q   u
0015600    e   s   t   :  \r               c   a   s   e       p   t   B
0015620    o   o   t   D   i   r   R   e   p   l   y   :  \r            
0015640    c   a   s   e       p   t   B   o   o   t   S   t   a   t   s
0015660    R   e   q   u   e   s   t   :  \r                           B
0015700    o   o   t   S   e   r   v   (   p   b   i   )   ;       e   n
0015720    d   c   a   s   e  \r               d   e   f   a   u   l   t
0015740    :  \r                           R   e   l   e   a   s   e   P
0015760    B   I   (   p   b   i   )  \r               ]  \r   ]  \r  \f
0016000   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0016020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016100    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0016120    n   d       H   a   n   d   l   e   E 376 001  \0 376 211   c
0016140    h   o   P   u   p   (   )       b   e  \r   /   /   -   -   -
0016160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016260    -   -   -   -   -   -   -   -  \r   /   /       C   a   l   l
0016300    e   d       f   r   o   m       M   i   s   c   e   l   l   a
0016320    n   e   o   u   s   E   v   e   n   t  \r   [  \r   l   e   t
0016340        p   b   i       =       D   e   q   u   e   u   e   (   l
0016360    v       s   o   c   E   c   h   o   >   >   P   u   p   S   o
0016400    c   .   i   Q   )   ;       i   f       p   b   i       e   q
0016420        0       r   e   t   u   r   n  \r   E   x   c   h   a   n
0016440    g   e   P   o   r   t   s   (   p   b   i   )  \r   s   w   i
0016460    t   c   h   o   n       p   b   i   >   >   P   B   I   .   p
0016500    u   p   .   t   y   p   e       i   n   t   o  \r            
0016520    [  \r               c   a   s   e       t   y   p   e   E 376
0016540  001  \0  \a 202   c   h   o   M   e   :  \r                    
0016560        [  \r                           D   o   u   b   l   e   I
0016600    n   c   r   e   m   e   n   t   (   l   v       e   c   h   o
0016620    S   t   a   t   s   >   >   E   c   h   o   S   t   a   t   s
0016640    .   p   a   c   k   e   t   s   E   c   h   o   e   d   )  \r
0016660                            C   o   m   p   l   e   t   e   P   u
0016700    p   (   p   b   i   ,       t   y   p   e   I   m   A   n   E
0016720    c   h   o   )  \r                           e   n   d   c   a
0016740    s   e  \r                           ]  \r               c   a
0016760    s   e       t   y   p   e   S   t   a   t   s   R   e   q   u
0017000    e   s   t   :  \r                           [  \r            
0017020                M   o   v   e   B   l   o   c   k   (   l   v    
0017040    p   b   i   >   >   P   B   I   .   p   u   p   .   w   o   r
0017060    d   s   ,       e   c   h   o   S   t   a   t   s   ,       l
0017100    e   n   E   c   h   o   S   t   a   t   s   )  \r            
0017120                C   o   m   p   l   e   t   e   P   u   p   (   p
0017140    b   i   ,     376  \0   k 331 334   t   y   p   e   S   t   a
0017160    t   s   R   e   p   l   y   ,       p   u   p   O   v   B   y
0017200    t   e   s   +   l   e   n   E   c   h   o   S   t   a   t   s
0017220    *   2   )  \r                           e   n   d   c   a   s
0017240    e  \r                           ]  \r               d   e   f
0017260    a   u   l   t   :       R   e   l   e   a   s   e   P   B   I
0017300    (   p   b   i   )  \r               ]  \r   ]       r   e   p
0017320    e   a   t  \r 377  \0  \0   I   f   s   M   i   s   c   I   n
0017340    i   t   .   b   c   p   l  \0 373 226   a 205 254  \0  \0 376
0017360  001  \0 273 227   /   /       I   f   s   M   i   s   c   I   n
0017400    i   t   .   b   c   p   l       -       M   i   s   c   e   l
0017420    l   a   n   e   o   u   s       &       E   c   h   o       s
0017440    e   r   v   e   r       i   n   i   t   i   a   l   i   z   a
0017460    t   i   o   n  \r   /   /       C   o   p   y   r   i   g   h
0017500    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0017520    i   o   n       1   9   7   9   ,       1   9   8   0  \r   /
0017540    /       L   a   s   t       m   o   d   i   f   i   e   d    
0017560    D   e   c   e   m   b   e   r       1   2   ,       1   9   8
0017600    0           5   :   3   9       P   M       b   y       B   o
0017620    g   g   s  \r  \r   g   e   t       "   P   u   p   0   .   d
0017640    e   c   l   "  \r   g   e   t       "   P   u   p   1   .   d
0017660    e   c   l   "  \r   g   e   t       "   I   f   s   M   i   s
0017700    c   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n   a
0017720    l  \r   [  \r   /   /       o   u   t   g   o   i   n   g    
0017740    p   r   o   c   e   d   u   r   e   s  \r   I   n   i   t   M
0017760    i   s   c   e 376 001  \0 213 377   l   l   a   n   e   o   u
0020000    s  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0020020    r   o   c   e   d   u   r   e   s  \r   A   l   l   o   c   a
0020040    t   e   ;       Z   e   r   o   ;       O   p   e   n   L   e
0020060    v   e   l   1   S   o   c   k   e   t   ;       C   r   e   a
0020100    t   e   E   v   e   n   t  \r   M   i   s   c   e   l   l   a
0020120    n   e   o   u   s   E   v   e   n   t   ;       C   r   e   a
0020140    t   e   T   i   m   e   S   e   r   v   ;       C   r   e   a
0020160    t   e   N   a   m   e   S   e   r   v   ;       C   r   e   a
0020200    t   e   B   o   o   t   S   e   r   v  \r  \r   /   /       o
0020220    u   t   g   o   i   n   g       s   t   a   t   i   c   s  \r
0020240    s   o   c   M   i   s   c   e   l   l   a   n   e   o   u   s
0020260    ;       c   t   x   M   i   s   c   e   l   l   a   n   e   o
0020300    u   s   C   t   x  \r   s   o   c   E   c   h   o   ;       e
0020320    c   h   o   S   t   a   t   s  \r  \r   /   /       i   n   c
0020340    o   m   i   n   g       s   t   a   t   i   c   s  \r   s   y
0020360    s   Z   o   n   e  \r   ]  \r  \r 376 001  \0   k   @   s   t
0020400    a   t   i   c  \r   [  \r   s   o   c   E   c   h   o   ;    
0020420    e   c   h   o   S   t   a   t   s  \r   s   o   c   M   i   s
0020440    c   e   l   l   a   n   e   o   u   s   ;       c   t   x   M
0020460    i   s   c   e   l   l   a   n   e   o   u   s   C   t   x  \r
0020500    ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0020520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020620    -  \r   l   e   t       I   n   i   t   M   i   s   c   e   l
0020640    l   a   n   e   o   u   s   (   )       b   e  \r   /   /   -
0020660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020760    -   -   -   -   -   -   -   -   -   -  \r   [  \r   / 376 001
0021000   \0   %   \   /       M   i   s   c       s   e   r   v   e   r
0021020        i   n   i   t   i   a   l   i   z   a   t   i   o   n  \r
0021040    s   o   c   M   i   s   c   e   l   l   a   n   e   o   u   s
0021060        =       A   l   l   o   c   a   t   e   (   s   y   s   Z
0021100    o   n   e   ,       l   e   n   P   u   p   S   o   c   )  \r
0021120    O   p   e   n   L   e   v   e   l   1   S   o   c   k   e   t
0021140    (   s   o   c   M   i   s   c   e   l   l   a   n   e   o   u
0021160    s   ,       t   a   b   l   e       [       0   ;       0   ;
0021200        s   o   c   k   e   t   M   i   s   c   S   e   r   v   i
0021220    c   e   s       ]   )  \r   c   t   x   M   i   s   c   e   l
0021240    l   a   n   e   o   u   s   C   t   x       =       0  \r   C
0021260    r   e   a   t   e   E   v   e   n   t   (   M   i   s   c   e
0021300    l   l   a   n   e   o   u   s   E   v   e   n   t   )  \r   C
0021320    r   e   a   t   e   T   i   m   e   S   e   r   v   (   )  \r
0021340    C   r   e   a   t   e   N   a   m   e   S   e   r   v   (   )
0021360   \r   C   r   e   a   t   e   B   o   o   t   S   e   r   v   (
0021400    )  \r  \r 376  \0 367 265 231   /   /       E   c   h   o    
0021420    s   e   r   v   e   r       i   n   i   t   i   a   l   i   z
0021440    a   t   i   o   n  \r   s   o   c   E   c   h   o       =    
0021460    A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e
0021500    ,       l   e   n   P   u   p   S   o   c   )  \r   O   p   e
0021520    n   L   e   v   e   l   1   S   o   c   k   e   t   (   s   o
0021540    c   E   c   h   o   ,       t   a   b   l   e       [       0
0021560    ;       0   ;       s   o   c   k   e   t   E   c   h   o    
0021600    ]   )  \r   e   c   h   o   S   t   a   t   s       =       A
0021620    l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e   ,
0021640        l   e   n   E   c   h   o   S   t   a   t   s   )  \r   Z
0021660    e   r   o   (   e   c   h   o   S   t   a   t   s   ,       l
0021700    e   n   E   c   h   o   S   t   a   t   s   )  \r   e   c   h
0021720    o   S   t   a   t   s   >   >   E   c   h   o   S   t   a   t
0021740    s   .   v   e   r   s   i   o   n       =       e   c   h   o
0021760    S   t   a   t   s   V   e   r   s   i   o   n  \r   ]  \r 377
0022000   \0  \0   I   f   s   M   i   s   c   O   E   P   .   b   c   p
0022020    l  \0 373 231   i 362  \n  \0  \0 376 001  \0 223   #   /   /
0022040        I   f   s   M   i   s   c   O   E   P   .   b   c   p   l
0022060        -   -       M   i   s   c       S   e   r   v   e   r    
0022100    O   E   P   s  \r   /   /       C   o   p   y   r   i   g   h
0022120    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0022140    i   o   n       1   9   7   9   ,       1   9   8   0   ,    
0022160    1   9   8   1   ,       1   9   8   2  \r   /   /       L   a
0022200    s   t       m   o   d   i   f   i   e   d       J   u   l   y
0022220        2   4   ,       1   9   8   2           5   :   2   0    
0022240    P   M       b   y       T   a   f   t  \r  \r   e   x   t   e
0022260    r   n   a   l  \r   [  \r   /   /       o   u   t   g   o   i
0022300    n   g       p   r   o   c   e   d   u   r   e   s  \r   I   n
0022320    i   t   M   i   s   c   e   l   l   a   n   e   o   u   s   O
0022340    E   P  \r  \r   /   /       i   n   c   o   m   i   n   g    
0022360    p   r   o   c   e   d   u   r   e   s  \r   D   e   c   l   a
0022400    r   e   O   E   P   ;       D   e   c   l   a   r   e   X   E
0022420    P   ;       R   e   s   e   t   T   i   m   e   C   t 376 001
0022440   \0   |   e   x   ;       P   r   i   n   t   P   o   r   t  \r
0022460    N   a   m   e   C   o   m   p   a   r   e   K   e   y   ;    
0022500    A   d   d   r   e   s   s   C   o   m   p   a   r   e   K   e
0022520    y   ;       N   e   t   D   i   r   E   n   t   r   y   L   e
0022540    n   g   t   h  \r   N   a   m   e   S   e   r   v   E   v   e
0022560    n   t   ;       S   e   n   d   N   e   t   D   i   r   ;    
0022600    R   e   c   e   i   v   e   N   e   t   D   i   r  \r   B   o
0022620    o   t   S   e   r   v   E   v   e   n   t   ;       S   e   n
0022640    d   B   o   o   t   F   i   l   e   ;       S   e   n   d   M
0022660    i   c   r   o   c   o   d   e   F   i   l   e  \r   C   h   e
0022700    c   k   B   F   T   ;       B   F   T   C   o   m   p   a   r
0022720    e   K   e   y   ;       B   F   T   E   n   t   r   y   L   e
0022740    n   g   t   h  \r   L   o   o   k   u   p   F   i   l   e   E
0022760    v   e   n   t  \r   ]  \r  \r  \r   /   /   -   -   -   -   -
0023000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0023040    -   -   - 376 001  \0 232 026   -   -   -   -   -   -   -   -
0023060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0023100    -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t
0023120        I   n   i   t   M   i   s   c   e   l   l   a   n   e   o
0023140    u   s   O   E   P   (   o   e   v   )       b   e  \r   /   /
0023160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0023260    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   D
0023300    e   c   l   a   r   e   O   E   P   (   o   e   v   ,       l
0023320    v       R   e   s   e   t   T   i   m   e   C   t   x   ,    
0023340    l   v       P   r   i   n   t   P   o   r   t   ,  \r       l
0023360    v       N   a   m   e   C   o   m   p   a   r   e   K   e   y
0023400    ,       l   v       A   d   d   r   e   s   s   C   o   m   p
0023420    a   r   e   K   e   y   ,       l   v       N   e   t   D   i
0023440    r   E   n   t   r   y   L   e 376 001  \0 216   v   n   g   t
0023460    h   ,  \r       l   v       N   a   m   e   S   e   r   v   E
0023500    v   e   n   t   ,       l   v       S   e   n   d   N   e   t
0023520    D   i   r   ,       l   v       R   e   c   e   i   v   e   N
0023540    e   t   D   i   r   )  \r   D   e   c   l   a   r   e   O   E
0023560    P   (   o   e   v   ,       l   v       B   o   o   t   S   e
0023600    r   v   E   v   e   n   t   ,       l   v       S   e   n   d
0023620    B   o   o   t   F   i   l   e   ,       l   v       S   e   n
0023640    d   M   i   c   r   o   c   o   d   e   F   i   l   e   ,  \r
0023660        l   v       C   h   e   c   k   B   F   T   ,       l   v
0023700        B   F   T   C   o   m   p   a   r   e   K   e   y   ,    
0023720    l   v       B   F   T   E   n   t   r   y   L   e   n   g   t
0023740    h   ,       l   v       L   o   o   k   u   p   F   i   l   e
0023760    E   v   e   n   t   )  \r   D   e   c   l   a   r   e   X   E
0024000    P   (   o   e   v   ,       l   v       N   e   t   D   i   r
0024020    E   n   t   r   y   L   e   n   g   t   h   ,       l   v    
0024040    B   F   T   E   n   t   r   y   L   e   n   g   t 376  \0 005
0024060    u 213   h   )  \r   ]  \r 377  \0  \0   I   f   s   B   o   o
0024100    t   S   e   r   v   .   d   e   c   l  \0 373 232   Y 224 216
0024120   \0  \0 376 001  \0   N 353   /   /       I   f   s   B   o   o
0024140    t   S   e   r   v   .   d   e   c   l  \r   /   /       C   o
0024160    p   y   r   i   g   h   t       X   e   r   o   x       C   o
0024200    r   p   o   r   a   t   i   o   n       1   9   7   9   ,    
0024220    1   9   8   0   ,       1   9   8   1   ,       1   9   8   2
0024240    ,       1   9   8   3  \r  \r   /   /       L   a   s   t    
0024260    m   o   d   i   f   i   e   d       J   a   n   u   a   r   y
0024300        2   2   ,       1   9   8   3           1   0   :   4   6
0024320        A   M       b   y       T   a   f   t  \r  \r   /   /    
0024340    r   e   q   u   i   r   e   s       g   e   t       o   f    
0024360    I   f   s   .   d   e   c   l   ,       P   u   p   0   .   d
0024400    e   c   l   ,       P   u   p   1   .   d   e   c   l   ,    
0024420    a   n   d       I   f   s   R   s   .   d   e   c   l  \r   g
0024440    e   t       "   I   f   s   M   i   s   c   .   d   e   c   l
0024460    "  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r   e   t
0024500    B   r   e   a   t   h   O   f   L   i   f   e       =       6
0024520    0   2   b  \t   /   /     376 001  \0 323   u   r   a   w    
0024540    E   t   h   e   r   n   e   t       p   a   c   k   e   t    
0024560    t   y   p   e  \r   b   r   e   a   t   h   I   n   t   e   r
0024600    v   a   l       =       5   0   0  \t   /   /       5       s
0024620    e   c   o   n   d   s  \r   b   f   t   C   h   e   c   k   I
0024640    n   t   e   r   v   a   l       =       1   2   *   3   0    
0024660        /   /       c   h   e   c   k       B   F   T       e   v
0024700    e   r   y       3   0       m   i   n   u   t   e   s  \r   b
0024720    f   t   R   e   b   u   i   l   d   I   n   t   e   r   v   a
0024740    l       =       2   *   8           /   /       r   e   b   u
0024760    i   l   d       B   F   T       e   v   e   r   y       8    
0025000    h   o   u   r   s  \r   b   o   o   t   S   t   a   t   s   V
0025020    e   r   s   i   o   n       =       2  \r   u   C   o   d   e
0025040    W   o   r   d   s   P   e   r   P   u   p       =       2   5
0025060    8  \t   /   /       d   a   t   a       w   o   r   d   s   /
0025100    P   u   p       f   o   r       m   i   c   r   o   c   o   d
0025120    e       b   o   o   t       (   m   u   l   t 376 001  \0 005
0025140  374   i   p   l   e       o   f       3   )  \r   u   C   o   d
0025160    e   O   f   f   s   e   t   B   F   N       =       3   0   0
0025200    0   b  \t   /   /       o   f   f   s   e   t       f   r   o
0025220    m       m   i   c   r   o   c   o   d   e       B   F   N   s
0025240        t   o       n   o   r   m   a   l       B   F   N   s  \r
0025260    b   o   o   t   T   r   e   e   P   a   g   e   s       =    
0025300    2   5  \t   /   /       n   u   m   b   e   r       o   f    
0025320    p   a   g   e   s       i   n       B   F   T       B   -   t
0025340    r   e   e       f   i   l   e  \r   ]  \r  \r   /   /   -   -
0025360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025460    -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c
0025500    t   u   r   e       S   t   a   t   s   :  \r   /   /   -   -
0025520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0025540    - 376 001  \0  \t 234   -   -   -   -   -   -   -   -   -   -
0025560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0025640    [  \r   v   e   r   s   i   o   n       w   o   r   d  \t  \t
0025660    /   /       =       b   o   o   t   S   t   a   t   s   V   e
0025700    r   s   i   o   n  \r   d   i   r   s   S   e   n   t       w
0025720    o   r   d       2  \t  \t   /   /       #       o   f       d
0025740    i   r   e   c   t   o   r   y       r   e   q   u   e   s   t
0025760    s       s   e   r   v   i   c   e   d  \r   f   a   s   t   S
0026000    e   n   d   s       w   o   r   d       2  \t   /   /       #
0026020        o   f       f   i   l   e   s       s   e   n   t       t
0026040    o       f   a   s   t       n   e   t   s  \r   s   l   o   w
0026060    S   e   n   d   s       w   o   r   d       2  \t   /   /    
0026100    #       o   f       f   i   l   e   s       s   e   n   t    
0026120    t   o       s   l   o   w       n   e   t   s  \r   f   i   l
0026140    e   s   R   c   v   d 376 001  \0     335       w   o   r   d
0026160        2  \t   /   /       #       o   f       f   i   l   e   s
0026200        r   e   c   e   i   v   e   d       f   r   o   m       o
0026220    t   h   e   r       b   o   o   t       s   e   r   v   e   r
0026240    s  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0026260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026360    -   -   -  \r   s   t   r   u   c   t   u   r   e       B   S
0026400    :  \t  \t   /   /       '   g   l   o   b   a   l       f   r
0026420    a   m   e   '       f   o   r       t   h   e       B   o   o
0026440    t       S   e   r   v   e   r  \r   /   /   -   -   -   -   -
0026460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026540    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 355   ,
0026560    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   s
0026600    t   a   t   s       @   S   t   a   t   s  \r  \r   b   f   t
0026620    C   h   e   c   k   T   i   m   e   r       w   o   r   d  \t
0026640    /   /       c   o   u   n   t   s       b   r   e   a   t   h
0026660    I   n   t   e   r   v   a   l   s       t   o       n   e   x
0026700    t       b   o   o   t       d   i   r       c   h   e   c   k
0026720   \r   b   f   t   R   e   b   u   i   l   d   T   i   m   e   r
0026740        w   o   r   d  \t   /   /       c   o   u   n   t   s    
0026760    b   f   t   C   h   e   c   k   I   n   t   e   r   v   a   l
0027000    s       t   o       n   e   x   t       B   F   T       r   e
0027020    b   u   i   l   d  \r  \r   t   r   e   e       w   o   r   d
0027040   \t  \t   /   /       -   >       B   F   T       B   -   t   r
0027060    e   e  \r   t   r   e   e   L   o   c   k       @   L   o   c
0027100    k  \t  \t   /   /       l   o   c   k       f   o   r       B
0027120    -   t   r   e   e  \r  \r   f   l   a   g   s       w   o   r
0027140    d       =  \r               [  \r               g   l   o   b
0027160  376 001  \0   o   0   a   l   L   o   c   k   s       b   i   t
0027200        2       =  \r                           [  \r            
0027220                e   x   t   e   r   n   a   l   L   o   c   k    
0027240    b   i   t  \t   /   /       s   e   t       b   y       p   t
0027260    L   o   c   k   B   o   o   t   R   e   q   u   e   s   t  \r
0027300                            i   n   t   e   r   n   a   l   L   o
0027320    c   k       b   i   t  \t   /   /       s   e   t       u   n
0027340    t   i   l       B   F   T       B   -   t   r   e   e       f
0027360    i   r   s   t       b   u   i   l   t  \r                    
0027400        ]  \r               n   o   N   e   w   B   o   o   t   F
0027420    i   l   e   s       b   i   t  \t   /   /       s   e   t    
0027440    t   o       d   i   s   a   b   l   e       o   b   t   a   i
0027460    n   i   n   g       n   e   w       b   o   o   t       f   i
0027500    l   e   s  \r               f   a   s   t   B   o   o   t   e
0027520    r       b   i   t  \t   /   /       a       f   a   s   t    
0027540    B   o   o   t   C   t   x       e   x   i   s   t   s  \r    
0027560            s   l   o 376 001  \0 202 021   w   B   o   o   t   e
0027600    r       b   i   t  \t   /   /       a       s   l   o   w    
0027620    B   o   o   t   C   t   x       e   x   i   s   t   s  \r    
0027640            ]  \r  \r   u   p   d   a   t   e   C   t   x       w
0027660    o   r   d  \t   /   /       -   >       C   t   x       f   o
0027700    r       C   h   e   c   k   B   F   T       (   b   o   o   t
0027720        f   i   l   e       u   p   d   a   t   e       p   r   o
0027740    c   e   s   s   )   ,       i   f       a   n   y  \r   ]  \r
0027760   \r   m   a   n   i   f   e   s   t  \r   [  \r   l   e   n   B
0030000    S       =       s   i   z   e       B   S   /   1   6  \r   b
0030020    s   F   a   s   t   B   o   o   t   e   r       =       1   0
0030040    0   0   0   0   B       r   s   h   i   f   t       (   o   f
0030060    f   s   e   t       B   S   .   f   a   s   t   B   o   o   t
0030100    e   r       r   e   m       1   6   )  \r   b   s   S   l   o
0030120    w   B   o   o   t   e   r       =       1   0   0   0   0   0
0030140    B       r   s   h   i   f   t       (   o   f   f   s   e   t
0030160        B   S   .   s   l   o   w   B   o 376 001  \0 364 237   o
0030200    t   e   r       r   e   m       1   6   )  \r   ]  \r  \f  \r
0030220    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0030240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030320    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   s
0030340    t   r   u   c   t   u   r   e       B   o   o   t   C   t   x
0030360    :  \t   /   /       B   o   o   t       C   o   n   t   e   x
0030400    t  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0030420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030520   \r   [  \r   @   R   S   C   t   x  \t  \t  \t   /   /       s
0030540    t   a   n   d   a   r   d       c   t   x       h   e   a   d
0030560    e   r  \r   n   a   m   e       w   o   r   d       =  \t 376
0030600  001  \0   =   m  \t   /   /       -   >       f   u   l   l    
0030620    n   a   m   e       o   f       b   o   o   t       f   i   l
0030640    e       (   S   e   n   d   B   o   o   t   F   i   l   e   )
0030660   \r               b   f   e       w   o   r   d  \t  \t   /   /
0030700        -   >       b   o   o   t       f   i   l   e       e   n
0030720    t   r   y       b   e   i   n   g       u   p   d   a   t   e
0030740    d       (   C   h   e   c   k   B   F   T   )  \r   p   o   r
0030760    t       @   P   o   r   t  \t  \t   /   /       p   o   r   t
0031000        t   o       w   h   i   c   h       w   e       a   r   e
0031020        s   e   n   d   i   n   g       f   i   l   e       (   S
0031040    e   n   d   B   o   o   t   F   i   l   e   )  \r   b   o   o
0031060    t   e   r   F   l   a   g   s       w   o   r   d  \t   /   /
0031100        b   s   F   a   s   t   B   o   o   t   e   r       o   r
0031120        b   s   S   l   o   w   B   o   o   t   e   r       f   l
0031140    a   g       (   S   e   n   d   B   o   o   t   F   i   l   e
0031160    )  \r   b   y   t   e   s   T   o   S   k   i   p       w   o
0031200    r   d  \t   / 376 001  \0 003 036   /       i   n   i   t   i
0031220    a   l       b   y   t   e   s       t   o       s   k   i   p
0031240        w   h   e   n       s   e   n   d   i   n   g       b   o
0031260    o   t       f   i   l   e  \r   ]  \r   m   a   n   i   f   e
0031300    s   t       l   e   n   B   o   o   t   C   t   x       =    
0031320    s   i   z   e       B   o   o   t   C   t   x   /   1   6  \r
0031340   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0031360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0031460    s   t   r   u   c   t   u   r   e       B   F   D   :  \t  \t
0031500    /   /       B   o   o   t       F   i   l   e       D   e   s
0031520    c   r   i   p   t   o   r       -   -       d   e   f   i   n
0031540    e   d       b   y       p   r   o   t   o   c   o   l  \r   /
0031560    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0031600    -   -   -   -   -   -   -   -   - 376 001  \0 311 016   -   -
0031620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031700    -   -  \r   [  \r   b   f   n       w   o   r   d  \t  \t   /
0031720    /       b   o   o   t       f   i   l   e       n   u   m   b
0031740    e   r  \r   d   a   t   e       w   o   r   d       2  \t  \t
0031760    /   /       A   l   t   o       f   o   r   m   a   t       d
0032000    a   t   e       o   n       w   h   i   c   h       f   i   l
0032020    e       w   a   s       c   r   e   a   t   e   d  \r   n   a
0032040    m   e       @   S   t   r   i   n   g  \t  \t   /   /       B
0032060    C   P   L       s   t   r   i   n   g  \r   ]  \r  \r   /   /
0032100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0032200    -   -   -   -   -   -   -   -   -   -   -   -  \r   s 376 001
0032220   \0 020 252   t   r   u   c   t   u   r   e       B   F   E   :
0032240   \t  \t   /   /       B   o   o   t       F   i   l   e       E
0032260    n   t   r   y       -   -       i   n       B   F   T  \r   /
0032300    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0032320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0032400    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0032420    l   e   n   g   t   h       w   o   r   d  \r   f   l   a   g
0032440    s       w   o   r   d       =  \r               [  \r        
0032460        b   l   a   n   k       b   i   t       1   4  \r        
0032500        e   x   i   s   t   s       b   i   t  \t  \t   /   /    
0032520    w   e       h   a   v   e       a       c   o   p   y       o
0032540    n       t   h   e       d   i   s   k  \r               u   p
0032560    d   a   t   e       b   i   t  \t  \t   /   /       g   e   t
0032600        a       n   e   w       c   o   p   y       f   r   o   m
0032620        B   F 376  \0   ] 317   w   E   .   p   o   r   t  \r    
0032640            ]  \r   p   o   r   t       @   P   o   r   t  \t  \t
0032660    /   /       i   f       u   p   d   a   t   e       t   h   e
0032700    n       r   e   c   e   i   v   e       b   o   o   t       f
0032720    i   l   e       f   r   o   m       t   h   i   s       p   o
0032740    r   t  \r   b   f   d       w   o   r   d       =       @   B
0032760    F   D  \r   ]  \r 377  \0  \0   I   f   s   B   o   o   t   S
0033000    e   r   v   .   b   c   p   l  \0 373 232   Y 237 206  \0  \0
0033020  376 001  \0   9 237   /   /       I   f   s   B   o   o   t   S
0033040    e   r   v   .   b   c   p   l       -   -       B   o   o   t
0033060        S   e   r   v   e   r  \r   /   /       C   o   p   y   r
0033100    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0033120    r   a   t   i   o   n       1   9   7   9   ,       1   9   8
0033140    0   ,       1   9   8   1   ,       1   9   8   2   ,       1
0033160    9   8   3  \r   /   /       A   d   a   p   t   e   d       f
0033200    r   o   m       P   u   p   B   o   o   t   S   e   r   v   .
0033220    b   c   p   l   ,       t   h   e       b   o   o   t       s
0033240    e   r   v   e   r       u   s   e   d       i   n       g   a
0033260    t   e   w   a   y   s  \r   /   /       S   e   e       <   P
0033300    u   p   >   E   t   h   e   r   B   o   o   t   .   p   r   e
0033320    s   s       f   o   r       p   r   o   t   o   c   o   l    
0033340    s   p   e   c   i   f   i   c   a   t   i   o   n  \r   /   /
0033360        N   O   T   E   :       E   t   h   e   r   B   o   o   t
0033400    .   b   r       a   n   d       I   f   s   B   o   o   t   A
0033420        m   u   s   t 376 001  \0   2 362       b   e       l   o
0033440    a   d   e   d       i   n       t   h   e       s   a   m   e
0033460        o   v   e   r   l   a   y       a   s       t   h   i   s
0033500    .  \r  \r   /   /       L   a   s   t       m   o   d   i   f
0033520    i   e   d       J   a   n   u   a   r   y       2   2   ,    
0033540    1   9   8   3           1   0   :   4   6       A   M       b
0033560    y       T   a   f   t  \r  \r   g   e   t       "   P   u   p
0033600    0   .   d   e   c   l   "  \r   g   e   t       "   P   u   p
0033620    1   .   d   e   c   l   "  \r   g   e   t       "   I   f   s
0033640    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   R
0033660    s   .   d   e   c   l   "  \r   g   e   t       "   I   f   s
0033700    B   o   o   t   S   e   r   v   .   d   e   c   l   "  \r   g
0033720    e   t       D   R   ,       p   a   t   h   N   a   m   e    
0033740    f   r   o   m       "   I   f   s   F   i   l   e   s   .   d
0033760    e   c   l   "  \r   g   e   t       F   D   ,       f   s   ,
0034000        d   r       f   r   o   m       "   I   f   s   D   i   r
0034020    s   .   d   e   c   l   "  \r  \r   e 376 001  \0 310   b   x
0034040    t   e   r   n   a   l  \r   [  \r   /   /       o   u   t   g
0034060    o   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0034100    B   o   o   t   S   e   r   v   E   v   e   n   t   ;       N
0034120    o   t   i   c   e   D   i   r   e   c   t   o   r   y   C   h
0034140    a   n   g   e   ;       B   o   o   t   S   e   r   v   ;    
0034160    S   e   n   d   B   o   o   t   D   i   r  \r  \r   /   /    
0034200    i   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0034220    r   e   s  \r   S   e   n   d   B   o   o   t   F   i   l   e
0034240    ;       S   e   n   d   M   i   c   r   o   c   o   d   e   F
0034260    i   l   e   ;       B   o   o   t   S   e   r   v   U   n   c
0034300    o   m   m   o   n   ;       C   h   e   c   k   B   F   T   ;
0034320        B   o   o   t   N   o   o   p  \r   F   i   n   d   B   F
0034340    E  \r   G   e   t   P   B   I   ;       E   x   c   h   a   n
0034360    g   e   P   o   r   t   s   ;       C   o   m   p   l   e   t
0034400    e   P   u   p   ;       R   e   l   e   a   s   e   P   B   I
0034420    ;       S   e   t   P   u   p   D   P   o   r   t   ;     376
0034440  001  \0 320 373   S   e   t   P   u   p   I   D  \r   E   n   q
0034460    u   e   u   e  \r   C   r   e   a   t   e   J   o   b   ;    
0034500    D   e   s   t   r   o   y   J   o   b   ;       Q   u   e   u
0034520    e   E   v   e   n   t  \r   R   e   a   d   R   e   c   L   E
0034540    ;       M   a   p   T   r   e   e   ;       L   o   c   k   ;
0034560        U   n   l   o   c   k   ;       L   o   c   k   C   e   l
0034600    l   ;       U   n   l   o   c   k   C   e   l   l  \r   E   x
0034620    p   a   n   d   T   e   m   p   l   a   t   e   ;       E   x
0034640    t   r   a   c   t   S   u   b   s   t   r   i   n   g   ;    
0034660    C   o   n   c   a   t   e   n   a   t   e   S   t   r   i   n
0034700    g   s   ;       S   t   r   i   n   g   C   o   m   p   a   r
0034720    e  \r   A   l   l   o   c   a   t   e   ;       F   r   e   e
0034740    ;       M   o   v   e   B   l   o   c   k   ;       Z   e   r
0034760    o   ;       U   s   c   ;       D   o   u   b   l   e   I   n
0035000    c   r   e   m   e   n   t   ;       M   a   x  \r  \r   /   /
0035020        o   u   t   g   o   i   n   g       s   t   a   t   i   c
0035040    s  \r   @   b 376 001  \0   h 301   s  \r  \r   /   /       i
0035060    n   c   o   m   i   n   g       s   t   a   t   i   c   s  \r
0035100    n   d   b   Q   ;       m   a   x   P   u   p   D   a   t   a
0035120    B   y   t   e   s   ;       s   o   c   M   i   s   c   e   l
0035140    l   a   n   e   o   u   s  \r   b   o   o   t   L   o   a   d
0035160    e   r   P   a   c   k   e   t   ;       i   f   s   C   t   x
0035200    Q   ;       s   y   s   Z   o   n   e   ;       s   y   s   t
0035220    e   m   ;       p   r   i   m   a   r   y   I   F   S   ;    
0035240    C   t   x   R   u   n   n   i   n   g  \r   ]  \r  \r   s   t
0035260    a   t   i   c       @   b   s  \r  \f  \r   /   /   -   -   -
0035300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035400    -   -   -   -   -   -   -   -   -  \r   l   e   t       B   o
0035420    o   t   S   e   r   v   E   v   e   n   t   (   e   c   b   )
0035440        b   e  \r   /   /   -   -   - 376 001  \0 250 034   -   -
0035460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035560    -   -   -   -   -   -   -  \r   [  \r   /   /       c   h   e
0035600    c   k       b   o   o   t       f   i   l   e       t   a   b
0035620    l   e       n   o   w       a   n   d       t   h   e   n  \r
0035640    b   s   >   >   B   S   .   b   f   t   C   h   e   c   k   T
0035660    i   m   e   r       =       M   a   x   (   b   s   >   >   B
0035700    S   .   b   f   t   C   h   e   c   k   T   i   m   e   r   -
0035720    1   ,       0   )  \r   i   f       b   s   >   >   B   S   .
0035740    b   f   t   C   h   e   c   k   T   i   m   e   r       l   e
0035760        0       t   h   e   n  \r               b   s   >   >   B
0036000    S   .   u   p   d   a   t   e   C   t   x       =       C   r
0036020    e   a   t   e   J   o   b   (   C   h   e   c   k   B   F   T
0036040    ,       j   o   b   T   y   p   e   B   o   o   t   U 376 001
0036060   \0 341 361   p   d   a   t   e   ,       l   e   n   B   o   o
0036100    t   C   t   x   -   3   )  \r  \r   i   f       b   s   >   >
0036120    B   S   .   e   x   t   e   r   n   a   l   L   o   c   k    
0036140    e   q       0       t   h   e   n  \r               [  \r    
0036160            /   /       E   v   e   r   y       f   i   v   e    
0036200    s   e   c   o   n   d   s   ,       b   r   o   a   d   c   a
0036220    s   t       (   t   o       h   o   s   t       3   7   7   )
0036240        a       B   r   e   a   t   h   -   o   f   -   l   i   f
0036260    e       N   O   N       P   U   P  \r               /   /    
0036300    c   o   n   t   a   i   n   i   n   g       a   n       A   l
0036320    t   o       E   t   h   e   r   n   e   t       b   o   o   t
0036340        l   o   a   d   e   r   .  \r               l   e   t    
0036360    n   d   b       =       n   d   b   Q   !   0  \r            
0036400    l   e   t       p   b   i       =       G   e   t   P   B   I
0036420    (   s   o   c   M   i   s   c   e   l   l   a   n   e   o   u
0036440    s   ,       t   r   u   e   )  \r               i   f       p
0036460    b   i     376 001  \0   z   i   n   e       0       t   h   e
0036500    n  \r                           [  \r                        
0036520    s   t   r   u   c   t   u   r   e       E   t   h   e   r   P
0036540    B   I   :  \r                                       [  \r    
0036560                                    b   l   a   n   k       w   o
0036600    r   d       o   f   f   s   e   t       P   B   I   .   p   u
0036620    p   /   1   6   -   2  \r                                    
0036640    d   e   s   t       b   y   t   e  \r                        
0036660                s   r   c       b   y   t   e  \r                
0036700                        t   y   p   e       w   o   r   d  \r    
0036720                                    ]  \r                        
0036740    p   b   i   >   >   P   B   I   .   n   d   b       =       n
0036760    d   b  \r                           p   b   i   >   >   P   B
0037000    I   .   p   a   c   k   e   t   L   e   n   g   t   h       =
0037020        2   5   6  \r                           /   /       C   a
0037040    l   l       a   n       a   s   s   e   m   b   l   y   -   l
0037060    a   n   g   u   a   g   e     376 001  \0 262 343   p   r   o
0037100    c   e   d   u   r   e       i   n       t   h   e       s   a
0037120    m   e       o   v   e   r   l   a   y   ,  \r                
0037140            /   /       t   h   e   r   e   b   y       f   o   r
0037160    c   i   n   g       t   h   e       o   v   e   r   l   a   y
0037200        t   o       b   e       s   w   a   p   p   e   d       i
0037220    n   t   o       b   a   n   k       0       i   f       i   t
0037240   \r                           /   /       i   s       n   o   t
0037260        t   h   e   r   e       a   l   r   e   a   d   y   .    
0037300        T   h   i   s       w   i   l   l       e   n   s   u   r
0037320    e       t   h   a   t       t   h   e       b   o   o   t   L
0037340    o   a   d   e   r   P   a   c   k   e   t  \r                
0037360            /   /       s   t   a   t   i   c       i   s       v
0037400    a   l   i   d   .  \r                           B   o   o   t
0037420    N   o   o   p   (   )  \r                           M   o   v
0037440    e   B   l   o   c   k   (   l   v       p   b   i   >   >   E
0037460    t   h   e   r   P   B   I   .   d   e   s   t   , 376 001  \0
0037500  223 241       b   o   o   t   L   o   a   d   e   r   P   a   c
0037520    k   e   t   ,       2   5   6   )  \r                        
0037540    p   b   i   >   >   E   t   h   e   r   P   B   I   .   d   e
0037560    s   t       =       3   7   7   b           /   /       s   p
0037600    e   c   i   a   l       f   o   r       m   i   c   r   o   c
0037620    o   d   e  \r                           p   b   i   >   >   E
0037640    t   h   e   r   P   B   I   .   s   r   c       =       n   d
0037660    b   >   >   N   D   B   .   l   o   c   a   l   H   o   s   t
0037700   \r                           /   /       p   b   i   >   >   E
0037720    t   h   e   r   P   B   I   .   t   y   p   e       =       e
0037740    t   B   r   e   a   t   h   O   f   L   i   f   e           /
0037760    /       s   p   e   c   i   a   l       f   o   r       m   i
0040000    c   r   o   c   o   d   e  \r                           (   n
0040020    d   b   >   >   N   D   B   .   l   e   v   e   l   0   T   r
0040040    a   n   s   m   i   t   )   (   p   b   i   )  \r            
0040060                ]  \r               ]  \r  \r   Q   u   e   u   e
0040100    E   v 376 001  \0   | 312   e   n   t   (   e   c   b   ,    
0040120    b   r   e   a   t   h   I   n   t   e   r   v   a   l   )  \r
0040140    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0040160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040260    -  \r   a   n   d       N   o   t   i   c   e   D   i   r   e
0040300    c   t   o   r   y   C   h   a   n   g   e   (   f   d   )    
0040320    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0040340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040440    -  \r   /   /       C   a   l   l   e   d       f   r   o   m
0040460        M   o   d   i   f   y   D   i   r   F   D       t   o    
0040500    n   o   t   i   c   e     376 001  \0   ? 226   e   v   e   r
0040520    y       c   h   a   n   g   e       t   o       t   h   e    
0040540    d   i   r   e   c   t   o   r   y   .  \r   /   /       f   d
0040560        d   e   s   i   g   n   a   t   e   s       a       f   i
0040600    l   e       t   h   a   t       i   s       b   e   i   n   g
0040620        c   r   e   a   t   e   d   ,       d   e   l   e   t   e
0040640    d   ,       o   r       r   e   n   a   m   e   d   .  \r   /
0040660    /       D   i   r   e   c   t   o   r   y       i   s       l
0040700    o   c   k   e   d       a   t       t   h   e       t   i   m
0040720    e       o   f       t   h   e       c   a   l   l   ,       s
0040740    o       t   h   i   s       p   r   o   c   e   d   u   r   e
0040760        m   a   y       n   o   t       c   a   l   l  \r   /   /
0041000        f   i   l   e       o   p   e   r   a   t   i   o   n   s
0041020        a   n   d       m   u   s   t       b   e   w   a   r   e
0041040        o   f       d   e   a   d   l   o   c   k   s   .  \r   /
0041060    /       *   *   *       I   m   p   l   e   m   e   n   t    
0041100    a       m   o   r   e       g   e   n   e   r 376 001  \0   r
0041120  177   a   l       n   o   t   i   f   i   c   a   t   i   o   n
0041140        m   e   c   h   a   n   i   s   m       i   f       a   n
0041160    y   o   n   e       e   l   s   e       e   v   e   r       n
0041200    e   e   d   s       i   t       *   *   *  \r   /   /       F
0041220    o   r       n   o   w   ,       i   f       t   h   e       f
0041240    i   l   e       n   a   m   e       b   e   g   i   n   s    
0041260    w   i   t   h       "   <   S   y   s   t   e   m   >   B   o
0041300    o   t   >   "       t   h   e   n       i   n   i   t   i   a
0041320    t   e       i   m   m   e   d   i   a   t   e  \r   /   /    
0041340    r   e   b   u   i   l   d   i   n   g       o   f       t   h
0041360    e       b   o   o   t       f   i   l   e       d   i   r   e
0041400    c   t   o   r   y   .  \r   [  \r   i   f       b   s       n
0041420    e       0       &           /   /       b   o   o   t       s
0041440    e   r   v   e   r       i   n   i   t   i   a   l   i   z   e
0041460    d       y   e   t   ?  \r       C   t   x   R   u   n   n   i
0041500    n   g       n   e       b   s   >   >   B   S   .   u   p   d
0041520    a 376 001  \0   \ 364   t   e   C   t   x       &           /
0041540    /       n   o   t       t   h   e       b   o   o   t       f
0041560    i   l   e       u   p   d   a   t   e       p   r   o   c   e
0041600    s   s       i   t   s   e   l   f   ?  \r       f   d   >   >
0041620    F   D   .   f   s       e   q       p   r   i   m   a   r   y
0041640    I   F   S       &           /   /       p   r   i   m   a   r
0041660    y       f   i   l   e       s   y   s   t   e   m   ?  \r    
0041700    S   t   r   i   n   g   C   o   m   p   a   r   e   (   "   <
0041720    S   y   s   t   e   m   >   B   o   o   t   >   "   ,       l
0041740    v       f   d   >   >   F   D   .   d   r   >   >   D   R   .
0041760    p   a   t   h   N   a   m   e   )       e   q       -   2    
0042000    t   h   e   n           /   /       i   n   i   t   i   a   l
0042020        s   u   b   s   t   r   i   n   g  \r               [  \r
0042040                /   /       r   e   q   u   e   s   t       c   o
0042060    m   p   l   e   t   e       B   F   T       r   e   b   u   i
0042100    l   d       3   0       s   e   c   o   n   d   s       f   r
0042120    o   m       n   o   w 376 001  \0   $   ,   .           R   e
0042140    a   s   o   n       f   o   r       w   a   i   t   i   n   g
0042160        i   s       s   o       t   h   a   t  \r               /
0042200    /       i   f       t   h   e       d   i   r   e   c   t   o
0042220    r   y       c   h   a   n   g   e       w   a   s       c   a
0042240    u   s   e   d       b   y       a   n       F   T   P       s
0042260    t   o   r   e   ,       t   h   e       s   t   o   r   e    
0042300    w   i   l   l       h   a   v   e  \r               /   /    
0042320    c   o   m   p   l   e   t   e   d       b   e   f   o   r   e
0042340        t   h   e       r   e   b   u   i   l   d       b   e   g
0042360    i   n   s   .  \r               b   s   >   >   B   S   .   b
0042400    f   t   C   h   e   c   k   T   i   m   e   r       =       3
0042420    0   0   0   /   b   r   e   a   t   h   I   n   t   e   r   v
0042440    a   l  \r               b   s   >   >   B   S   .   b   f   t
0042460    R   e   b   u   i   l   d   T   i   m   e   r       =       0
0042500   \r               ]  \r   ]  \r  \f  \r   /   /   -   -   -   -
0042520    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   y 212
0042540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042620    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0042640    d       B   o   o   t   S   e   r   v   (   p   b   i   )    
0042660    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0042700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043000    -  \r   [  \r   E   x   c   h   a   n   g   e   P   o   r   t
0043020    s   (   p   b   i   )  \r   s   w   i   t   c   h   o   n    
0043040    p   b   i   >   >   P   B   I   .   p   u   p   .   t   y   p
0043060    e       i   n   t   o  \r               [  \r               c
0043100    a   s   e       p   t   B   o   o   t   F   i   l   e   R   e
0043120    q   u   e   s   t   :  \r               c   a   s   e       p
0043140  376 001  \0 247   )   t   B   o   o   t   N   a   m   e   d   F
0043160    i   l   e   R   e   q   u   e   s   t   :  \r                
0043200            H   a   n   d   l   e   B   o   o   t   F   i   l   e
0043220    R   e   q   u   e   s   t   (   p   b   i   ,       p   b   i
0043240    >   >   P   B   I   .   p   u   p   .   i   d   ^   2   ,    
0043260    S   e   n   d   B   o   o   t   F   i   l   e   )  \r        
0043300                    e   n   d   c   a   s   e  \r  \r            
0043320    c   a   s   e       p   t   B   o   o   t   M   i   c   r   o
0043340    c   o   d   e   R   e   q   u   e   s   t   :  \r            
0043360                H   a   n   d   l   e   B   o   o   t   F   i   l
0043400    e   R   e   q   u   e   s   t   (   p   b   i   ,       p   b
0043420    i   >   >   P   B   I   .   p   u   p   .   i   d   ^   2    
0043440    +       u   C   o   d   e   O   f   f   s   e   t   B   F   N
0043460    ,  \r                               S   e   n   d   M   i   c
0043500    r   o   c   o   d   e   F   i   l   e   )  \r                
0043520            e   n   d   c   a   s   e  \r  \r               c   a
0043540    s   e       p   t 376 001  \0 004   }   B   o   o   t   D   i
0043560    r   R   e   q   u   e   s   t   :  \r                        
0043600    i   f       b   s   >   >   B   S   .   g   l   o   b   a   l
0043620    L   o   c   k   s       e   q       0       &       L   o   c
0043640    k   (   l   v       b   s   >   >   B   S   .   t   r   e   e
0043660    L   o   c   k   ,       f   a   l   s   e   ,       t   r   u
0043700    e   )       t   h   e   n  \r                                
0043720        [  \r                                       l   e   t    
0043740    p   u   p   H   d   r       =       v   e   c       o   f   f
0043760    s   e   t       P   u   p   .   w   o   r   d   s   /   1   6
0044000   \r                                       M   o   v   e   B   l
0044020    o   c   k   (   p   u   p   H   d   r   ,       l   v       p
0044040    b   i   >   >   P   B   I   .   p   u   p   ,       o   f   f
0044060    s   e   t       P   u   p   .   w   o   r   d   s   /   1   6
0044100    )  \r                                       R   e   l   e   a
0044120    s   e   P   B   I   (   p   b   i   )           /   /       g
0044140    i   v   e       S   e   n   d   B   o 376 001  \0 231   @   o
0044160    t   D   i   r       m   o   r   e       P   B   I   s       t
0044200    o       p   l   a   y       w   i   t   h  \r                
0044220                        S   e   n   d   B   o   o   t   D   i   r
0044240    (   l   v       p   u   p   H   d   r   >   >   P   u   p   .
0044260    d   P   o   r   t   ,       l   v       p   u   p   H   d   r
0044300    >   >   P   u   p   .   i   d   )  \r                        
0044320                U   n   l   o   c   k   (   l   v       b   s   >
0044340    >   B   S   .   t   r   e   e   L   o   c   k   )  \r        
0044360                                r   e   t   u   r   n  \r        
0044400                                ]  \r                           e
0044420    n   d   c   a   s   e  \r  \r               d   e   f   a   u
0044440    l   t   :  \r                           B   o   o   t   S   e
0044460    r   v   U   n   c   o   m   m   o   n   (   p   b   i   )  \r
0044500                            r   e   t   u   r   n  \r            
0044520    ]  \r   R   e   l   e   a   s   e   P   B   I   (   p   b   i
0044540    )  \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   - 376
0044560  001  \0 275   ?   -   -   -   -   -   -   -   -   -   -   -   -
0044600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044660    -   -   -   -   -   -   -   -   -  \r   a   n   d       H   a
0044700    n   d   l   e   B   o   o   t   F   i   l   e   R   e   q   u
0044720    e   s   t   (   p   b   i   ,       b   f   n   ,       P   r
0044740    o   c   )       b   e  \r   /   /   -   -   -   -   -   -   -
0044760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045060    -   -   -   -   -  \r   [  \r   l   e   t       p   u   p   D
0045100    a   t   a   B   y   t   e   s       =       p   b   i   >   >
0045120    P   B   I   .   p   u   p   .   l   e   n   g   t   h       -
0045140        p   u   p   O   v   B   y   t   e   s  \r   i   f       p
0045160    u   p   D   a 376 001  \0   9 270   t   a   B   y   t   e   s
0045200        g   r       1   0   0       t   h   e   n       r   e   t
0045220    u   r   n  \r   l   e   t       b   o   o   t   i   n   g   B
0045240    y   N   a   m   e       =       p   b   i   >   >   P   B   I
0045260    .   p   u   p   .   t   y   p   e       e   q       p   t   B
0045300    o   o   t   N   a   m   e   d   F   i   l   e   R   e   q   u
0045320    e   s   t       &       p   u   p   D   a   t   a   B   y   t
0045340    e   s       n   e       0  \r  \r   /   /       N   o   t    
0045360    s   t   r   i   c   t   l   y       n   e   c   e   s   s   a
0045400    r   y       t   o       l   o   c   k       t   h   e       t
0045420    r   e   e       i   f       b   o   o   t   i   n   g       b
0045440    y       n   a   m   e   ,       b   u   t       i   t       d
0045460    o   e   s   n   '   t       h   u   r   t   .  \r   i   f    
0045500    b   s   >   >   B   S   .   g   l   o   b   a   l   L   o   c
0045520    k   s       e   q       0       &       L   o   c   k   (   l
0045540    v       b   s   >   >   B   S   .   t   r   e   e   L   o   c
0045560    k   ,       f   a   l   s   e   , 376 001  \0 245   7       t
0045600    r   u   e   )       t   h   e   n  \r               [  \r    
0045620            l   e   t       b   f   e       =       b   o   o   t
0045640    i   n   g   B   y   N   a   m   e   ?       0   ,       F   i
0045660    n   d   B   F   E   (   b   f   n   )  \r  \r               /
0045700    /       F   a   s   t       b   o   o   t   e   r       i   f
0045720        b   o   o   t   e   e       i   s       o   n       d   i
0045740    r   e   c   t   l   y   -   c   o   n   n   e   c   t   e   d
0045760        n   e   t   ;       s   l   o   w       o   t   h   e   r
0046000    w   i   s   e   .  \r               /   /       P   e   r   m
0046020    i   t       a   t       m   o   s   t       o   n   e       f
0046040    a   s   t       b   o   o   t   e   r       a   n   d       o
0046060    n   e       s   l   o   w       b   o   o   t   e   r       a
0046100    t       a       t   i   m   e   .  \r               /   /    
0046120    N   o   t   e       t   h   a   t       a   n       E   x   c
0046140    h   a   n   g   e   P   o   r   t   s       h   a   s       b
0046160    e   e   n       d   o   n   e   ,       s   o       d 376 001
0046200   \0 263 373   P   o   r   t       i   s       t   h   e       s
0046220    o   u   r   c   e       p   o   r   t   .  \r               l
0046240    e   t       f   l   a   g   s       =       p   b   i   >   >
0046260    P   B   I   .   p   u   p   .   d   P   o   r   t   .   n   e
0046300    t       e   q       p   b   i   >   >   P   B   I   .   n   d
0046320    b   >   >   N   D   B   .   l   o   c   a   l   N   e   t   ?
0046340   \r                   b   s   F   a   s   t   B   o   o   t   e
0046360    r   ,       b   s   S   l   o   w   B   o   o   t   e   r  \r
0046400                i   f       (   b   o   o   t   i   n   g   B   y
0046420    N   a   m   e       %       (   b   f   e       n   e       0
0046440        &       b   f   e   >   >   B   F   E   .   e   x   i   s
0046460    t   s   )   )       &       (   b   s   >   >   B   S   .   f
0046500    l   a   g   s       &       f   l   a   g   s   )       e   q
0046520        0       t   h   e   n  \r                           [  \r
0046540                            L   o   c   k   C   e   l   l   (   l
0046560    v       b   f   e   )           /   /       n   o   -   o   p
0046600        i   f 376 001  \0 313 016       t   h   e   r   e       i
0046620    s   n   '   t       o   n   e  \r                           l
0046640    e   t       c   t   x       =       C   r   e   a   t   e   J
0046660    o   b   (   P   r   o   c   ,       j   o   b   T   y   p   e
0046700    M   i   s   c   e   l   l   a   n   e   o   u   s   ,       l
0046720    e   n   B   o   o   t   C   t   x   -   3   ,       t   r   u
0046740    e   )  \r                           i   f       c   t   x    
0046760    n   e       0       t   h   e   n  \r                        
0047000                [  \r                                       c   t
0047020    x   >   >   B   o   o   t   C   t   x   .   u   s   e   r   I
0047040    n   f   o       =       s   y   s   t   e   m  \r  \r        
0047060                                c   t   x   >   >   B   o   o   t
0047100    C   t   x   .   n   a   m   e       =       b   o   o   t   i
0047120    n   g   B   y   N   a   m   e   ?  \r  \r                    
0047140                        /   /       B   o   o   t   i   n   g    
0047160    b   y       n   a   m   e   :       P   u   p       d   a   t
0047200    a       i   s       t   h   e 376 001  \0   ^ 232       b   o
0047220    o   t       f   i   l   e       n   a   m   e   ,       w   h
0047240    i   c   h       w   e       t   r   y       t   o  \r        
0047260                                    /   /       m   a   t   c   h
0047300        t   o       a       f   i   l   e       i   n       <   S
0047320    y   s   t   e   m   >   B   o   o   t   >       (   i   g   n
0047340    o   r   i   n   g       b   o   o   t       f   i   l   e    
0047360    n   u   m   b   e   r   )   .  \r                            
0047400                /   /       T   r   i   c   k   :       e   x   t
0047420    r   a   c   t       n   a   m   e       b   y       p   r   e
0047440    t   e   n   d   i   n   g       e   n   t   i   r   e       P
0047460    B   I       i   s       a       B   C   P   L       s   t   r
0047500    i   n   g   .  \r                                           C
0047520    o   n   c   a   t   e   n   a   t   e   S   t   r   i   n   g
0047540    s   (   "   B   o   o   t   >   *   *   -   "   ,  \r        
0047560                                        E   x   t   r   a   c   t
0047600    S   u   b   s   t   r   i   n   g   (   p   b   i 376 001  \0
0047620  024 227   ,       (   o   f   f   s   e   t       P   B   I   .
0047640    p   u   p   .   b   y   t   e   s   ^   1   )   /   8   ,  \r
0047660                                                    (   (   o   f
0047700    f   s   e   t       P   B   I   .   p   u   p   .   b   y   t
0047720    e   s   ^   1   )   /   8   -   1   )   +   p   u   p   D   a
0047740    t   a   B   y   t   e   s   )   ,       f   a   l   s   e   ,
0047760        t   r   u   e   )   ,  \r  \r                            
0050000                /   /       B   o   o   t   i   n   g       b   y
0050020        n   u   m   b   e   r   :       u   s   e       f   i   l
0050040    e       n   a   m   e       g   i   v   e   n       i   n    
0050060    B   F   E       f   o   r       t   h   a   t       B   F   N
0050100    .  \r                                           E   x   p   a
0050120    n   d   T   e   m   p   l   a   t   e   (   "   B   o   o   t
0050140    >   $   U   O   -   $   S   "   ,       b   f   n   ,       l
0050160    v       b   f   e   >   >   B   F   E   .   n   a   m   e   )
0050200   \r  \r                                       M   o   v   e   B
0050220    l   o 376 001  \0 271 021   c   k   (   l   v       c   t   x
0050240    >   >   B   o   o   t   C   t   x   .   p   o   r   t   ,    
0050260    l   v       p   b   i   >   >   P   B   I   .   p   u   p   .
0050300    d   P   o   r   t   ,       l   e   n   P   o   r   t   )  \r
0050320                                        c   t   x   >   >   B   o
0050340    o   t   C   t   x   .   b   o   o   t   e   r   F   l   a   g
0050360    s       =       f   l   a   g   s  \r                        
0050400                b   s   >   >   B   S   .   f   l   a   g   s    
0050420    =       b   s   >   >   B   S   .   f   l   a   g   s       %
0050440        f   l   a   g   s  \r                                    
0050460    /   /       S   u   n       b   o   o   t       r   e   q   u
0050500    e   s   t       d   o   e   s   n   '   t       s   e   n   d
0050520        f   i   r   s   t       p   a   g   e       o   f       b
0050540    o   o   t       f   i   l   e  \r                            
0050560            c   t   x   >   >   B   o   o   t   C   t   x   .   b
0050600    y   t   e   s   T   o   S   k   i   p       =       b   o   o
0050620    t   i   n   g   B   y   N 376 001  \0 233 362   a   m   e   ?
0050640        5   1   2   ,       0  \r                                
0050660        E   n   q   u   e   u   e   (   i   f   s   C   t   x   Q
0050700    ,       c   t   x   )  \r                                    
0050720    ]  \r                           U   n   l   o   c   k   C   e
0050740    l   l   (   l   v       b   f   e   )  \r                    
0050760        ]  \r               U   n   l   o   c   k   (   l   v    
0051000    b   s   >   >   B   S   .   t   r   e   e   L   o   c   k   )
0051020   \r               ]  \r   ]  \r  \r   /   /       S   e   n   d
0051040    B   o   o   t   F   i   l   e       a   n   d       S   e   n
0051060    d   M   i   c   r   o   c   o   d   e   F   i   l   e       a
0051100    r   e       i   n       a       s   e   p   a   r   a   t   e
0051120        m   o   d   u   l   e   ,       I   f   s   B   o   o   t
0051140    S   e   n   d   .   b   c   p   l   ,       f   o   r  \r   /
0051160    /       p   a   c   k   a   g   i   n   g       r   e   a   s
0051200    o   n   s   .  \r  \f  \r   /   /   -   -   -   -   -   -   -
0051220    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0   9
0051240    y   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0051260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051320    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       S
0051340    e   n   d   B   o   o   t   D   i   r   (   p   o   r   t   ,
0051360        i   d   )       =       v   a   l   o   f  \r   /   /   -
0051400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051500    -   -   -   -   -   -   -   -   -   -   -  \r   /   /       S
0051520    e   n   d       t   h   e       b   o   o   t       f   i   l
0051540    e       d   i   r   e   c   t   o   r   y       t   o       p
0051560    o   r   t   .           S   e   t       t   h   e       p   u
0051600    p       I   D   s       t   o       i   d   .  \r   /   /    
0051620    R   e   t   u   r   n   s       t   r   u   e       i   f    
0051640    b 376 001  \0   X   n   o   o   t       f   i   l   e       d
0051660    i   r   e   c   t   o   r   y       i   s       n   o   n   -
0051700    e   m   p   t   y       a   n   d       a   l   l       o   f
0051720        i   t       w   a   s       s   e   n   t   ;  \r   /   /
0051740        f   a   l   s   e       i   f       d   i   r   e   c   t
0051760    o   r   y       i   s       e   m   p   t   y       o   r    
0052000    r   a   n       o   u   t       o   f       P   B   I   s    
0052020    w   h   i   l   e       s   e   n   d   i   n   g       i   t
0052040    .  \r   /   /       C   a   l   l   e   r       i   s       r
0052060    e   s   p   o   n   s   i   b   l   e       f   o   r       l
0052100    o   c   k   i   n   g       t   h   e       B   F   T       t
0052120    o       m   a   i   n   t   a   i   n       c   o   n   s   i
0052140    s   t   e   n   c   y   .  \r   [  \r   /   /       f   o   l
0052160    l   o   w   i   n   g       2       v   a   r   i   a   b   l
0052200    e   s       m   u   s   t       i   m   m   e   d   i   a   t
0052220    e   l   y       f   o   l   l   o   w       p   o   r   t    
0052240    a   n   d       i   d 376 001  \0 361 221       i   n       t
0052260    h   e       f   r   a   m   e   .  \r   l   e   t       p   b
0052300    i   ,       p       =       0   ,       0           /   /    
0052320    p       i   n   d   e   x   e   s       p   b   i   :       p
0052340    b   i   >   >   P   B   I   .   p   u   p   .   w   o   r   d
0052360    s   ^   p  \r  \r   M   a   p   T   r   e   e   (   b   s   >
0052400    >   B   S   .   t   r   e   e   ,       0   ,       A   p   p
0052420    e   n   d   B   F   D   ,       l   v       p   o   r   t   ,
0052440        0   ,       t   r   u   e   )  \r  \r   i   f       p   b
0052460    i       n   e       0       t   h   e   n       C   o   m   p
0052500    l   e   t   e   P   u   p   (   p   b   i   ,       p   t   B
0052520    o   o   t   D   i   r   R   e   p   l   y   ,       p   u   p
0052540    O   v   B   y   t   e   s   +   p   *   2   )  \r   D   o   u
0052560    b   l   e   I   n   c   r   e   m   e   n   t   (   l   v    
0052600    b   s   >   >   B   S   .   s   t   a   t   s   .   d   i   r
0052620    s   S   e   n   t   )  \r   r   e   s   u   l   t   i   s    
0052640    p   b   i       n   e       0  \r   ]  \r 376 001  \0 215   v
0052660   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0052700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0053000    a   n   d       A   p   p   e   n   d   B   F   D   (   b   f
0053020    e   ,       l   v   P   o   r   t   ,       n   i   l   )    
0053040    =       v   a   l   o   f  \r   /   /   -   -   -   -   -   -
0053060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053160    -   -   -   -   -   -  \r   [  \r   l   e   t       p   b   i
0053200    ,       p       =       l   v   P   o   r   t   !   2   ,    
0053220    l   v   P   o   r   t   !   3  \r   i   f       b   f   e   >
0053240    >   B   F   E   .   e   x   i   s   t   s       t   h   e   n
0053260  376 001  \0   S 027  \r               [  \r               l   e
0053300    t       l   e   n   B   F   D       =       o   f   f   s   e
0053320    t       B   F   D   .   n   a   m   e   /   1   6       +    
0053340    b   f   e   >   >   B   F   E   .   n   a   m   e   .   l   e
0053360    n   g   t   h       r   s   h   i   f   t       1       +   1
0053400   \r               i   f       p   +   l   e   n   B   F   D    
0053420    g   r       m   a   x   P   u   p   D   a   t   a   B   y   t
0053440    e   s       r   s   h   i   f   t       1       t   h   e   n
0053460   \r                           [           /   /   r   a   n    
0053500    o   u   t       o   f       s   p   a   c   e       i   n    
0053520    t   h   i   s       p   a   c   k   e   t  \r                
0053540            C   o   m   p   l   e   t   e   P   u   p   (   p   b
0053560    i   ,       p   t   B   o   o   t   D   i   r   R   e   p   l
0053600    y   ,       p   u   p   O   v   B   y   t   e   s   +   p   *
0053620    2   )  \r                           p   b   i       =       0
0053640    ;       l   v   P   o   r   t   !   2       =       0  \r    
0053660                      376 001  \0 214   :   ]  \r               i
0053700    f       p   b   i       e   q       0       t   h   e   n  \r
0053720                            [  \r                           p   b
0053740    i       =       G   e   t   P   B   I   (   s   o   c   M   i
0053760    s   c   e   l   l   a   n   e   o   u   s   ,       t   r   u
0054000    e   )  \r                           i   f       p   b   i    
0054020    e   q       0       r   e   s   u   l   t   i   s       f   a
0054040    l   s   e  \r                           S   e   t   P   u   p
0054060    D   P   o   r   t   (   p   b   i   ,       l   v   P   o   r
0054100    t   !   0   )  \r                           S   e   t   P   u
0054120    p   I   D   (   p   b   i   ,       l   v   P   o   r   t   !
0054140    1   )  \r                           p       =       0  \r    
0054160                        ]  \r               M   o   v   e   B   l
0054200    o   c   k   (   l   v       p   b   i   >   >   P   B   I   .
0054220    p   u   p   .   w   o   r   d   s   ^   (   p   +   1   )   ,
0054240        l   v       b   f   e   >   >   B   F   E   .   b   f   d
0054260    ,       l   e   n   B   F   D   )  \r 376  \0   = 345   H    
0054300            l   v   P   o   r   t   !   2   ,       l   v   P   o
0054320    r   t   !   3       =       p   b   i   ,       p       +    
0054340    l   e   n   B   F   D  \r               ]  \r   r   e   s   u
0054360    l   t   i   s       t   r   u   e  \r   ]  \r 377  \0  \0   I
0054400    f   s   B   o   o   t   S   e   n   d   .   b   c   p   l  \0
0054420  373 232   Y 237 325  \0  \0 376 001  \0 020   #   /   /       I
0054440    f   s   B   o   o   t   S   e   n   d   .   b   c   p   l    
0054460    -   -       B   o   o   t       S   e   r   v   e   r       -
0054500    -       o   v   e   r   f   l   o   w       f   r   o   m    
0054520    I   f   s   B   o   o   t   S   e   r   v   .   b   c   p   l
0054540   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0054560    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0054600    1   9   8   1   ,       1   9   8   2   ,       1   9   8   3
0054620   \r  \r   /   /       L   a   s   t       m   o   d   i   f   i
0054640    e   d       J   a   n   u   a   r   y       2   2   ,       1
0054660    9   8   3           1   0   :   4   8       A   M       b   y
0054700        T   a   f   t  \r  \r   g   e   t       "   P   u   p   0
0054720    .   d   e   c   l   "  \r   g   e   t       "   P   u   p   1
0054740    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   .
0054760    d   e   c   l   "  \r   g   e   t       "   I   f   s   R   s
0055000    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   B
0055020    o   o   t   S   e   r   v   .   d   e   c   l 376 001  \0 353
0055040  362   "  \r   g   e   t       "   I   f   s   S   e   r   v   E
0055060    F   T   P   .   d   e   c   l   "  \r  \r   e   x   t   e   r
0055100    n   a   l  \r   [  \r   /   /       o   u   t   g   o   i   n
0055120    g       p   r   o   c   e   d   u   r   e   s  \r   S   e   n
0055140    d   B   o   o   t   F   i   l   e   ;       S   e   n   d   M
0055160    i   c   r   o   c   o   d   e   F   i   l   e   ;       F   i
0055200    n   d   B   F   E   ;       B   F   T   C   o   m   p   a   r
0055220    e   K   e   y  \r  \r   /   /       i   n   c   o   m   i   n
0055240    g       p   r   o   c   e   d   u   r   e   s  \r   P   u   p
0055260    S   e   r   v   S   e   n   d  \r   O   p   e   n   L   e   v
0055300    e   l   1   S   o   c   k   e   t   ;       C   l   o   s   e
0055320    L   e   v   e   l   1   S   o   c   k   e   t   ;       G   e
0055340    t   P   B   I   ;       C   o   m   p   l   e   t   e   P   u
0055360    p   ;       D   e   c   l   a   r   e   P   u   p   S   o   c
0055400   \r   I   F   S   O   p   e   n   F   i   l   e   ;       S   e
0055420    t   F   i   l   e   P   o   s   ;       R   e   a   d   B   l
0055440    o 376 001  \0 031 002   c   k   ;       C   l   o   s   e   s
0055460   \r   F   r   e   e   ;       Z   e   r   o   ;       U   s   c
0055500    ;       D   o   u   b   l   e   I   n   c   r   e   m   e   n
0055520    t   ;       D   e   s   t   r   o   y   J   o   b   ;       R
0055540    e   a   d   R   e   c   L   E  \r  \r   /   /       i   n   c
0055560    o   m   i   n   g       s   t   a   t   i   c   s  \r   @   b
0055600    s   ;       s   y   s   Z   o   n   e  \r   ]  \r  \r   /   /
0055620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055720    -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t
0055740        F   i   n   d   B   F   E   (   b   f   n   )       =    
0055760    v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -
0056000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056040    -   -   -   -   -   - 376 001  \0   H 210   -   -   -   -   -
0056060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0056100    -   -   -   -   -   -   -   -   -  \r   /   /       L   o   o
0056120    k   s       u   p       b   o   o   t       f   i   l   e    
0056140    n   u   m   b   e   r       b   f   n       a   n   d       r
0056160    e   t   u   r   n   s       a       p   o   i   n   t   e   r
0056200        t   o       t   h   e  \r   /   /       c   o   r   r   e
0056220    s   p   o   n   d   i   n   g       b   o   o   t       f   i
0056240    l   e       e   n   t   r   y       (   b   f   e   )       i
0056260    f       f   o   u   n   d       a   n   d       z   e   r   o
0056300        i   f       n   o   t       f   o   u   n   d   .  \r   /
0056320    /       C   a   l   l   e   r       m   u   s   t       k   e
0056340    e   p       b   f   e       i   n       a       l   o   c   k
0056360    e   d       c   e   l   l       u   n   t   i   l       f   i
0056400    n   i   s   h   e   d       w   i   t   h       i   t   .  \r
0056420    /   /       C   a   l   l   e   r       i   s       r   e   s
0056440    p   o   n   s   i   b   l   e       f   o 376 001  \0 005 260
0056460    r       l   o   c   k   i   n   g       t   h   e       B   F
0056500    T       t   o       m   a   i   n   t   a   i   n       c   o
0056520    n   s   i   s   t   e   n   c   y   .  \r   [  \r   l   e   t
0056540        b   f   e       =       R   e   a   d   R   e   c   L   E
0056560    (   b   s   >   >   B   S   .   t   r   e   e   ,       b   f
0056600    n   ,       0   ,       t   r   u   e   )  \r   r   e   s   u
0056620    l   t   i   s       b   f   n       e   q       b   f   e   >
0056640    >   B   F   E   .   b   f   n   ?       b   f   e   ,       0
0056660   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0056700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057000    -   -  \r   a   n   d       B   F   T   C   o   m   p   a   r
0057020    e   K   e   y   (   b   f   n   ,       b   f   e   )       =
0057040        U   s   c   (   b   f   n   ,       b   f   e   >   >   B
0057060  376 001  \0   .   %   F   E   .   b   f   n   )  \r   /   /   -
0057100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057200    -   -   -   -   -   -   -   -   -   -   -  \r   /   /       C
0057220    o   m   p   a   r   e   K   e   y       r   o   u   t   i   n
0057240    e       h   a   n   d   e   d       t   o       t   h   e    
0057260    B   -   t   r   e   e       p   a   c   k   a   g   e  \r  \r
0057300    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057400    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0057420    /       a   n   d       B   F   T   E   n   t   r   y   L   e
0057440    n   g   t   h   (   b   f   e   )       =       b   f   e   >
0057460    >   B   F   E   . 376 001  \0 364   F   l   e   n   g   t   h
0057500   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0057520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0057620    /   /       L   e   n   g   t   h       r   o   u   t   i   n
0057640    e       h   a   n   d   e   d       t   o       t   h   e    
0057660    B   -   t   r   e   e       p   a   c   k   a   g   e   ;    
0057700    h   a   n   d   -   c   o   d   e   d       i   n       I   f
0057720    s   B   o   o   t   A   .   a   s   m  \r  \f  \r   /   /   -
0057740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060040    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0060060    S   e   n   d   B   o   o   t   F   i 376 001  \0 253 027   l
0060100    e   (   c   t   x   )       b   e  \t   /   /       a       B
0060120    o   o   t   C   t   x  \r   /   /   -   -   -   -   -   -   -
0060140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060240    -   -   -   -   -  \r   [  \r   l   e   t       f   t   p    
0060260    =       v   e   c       l   e   n   F   T   P   ;       Z   e
0060300    r   o   (   f   t   p   ,       l   e   n   F   T   P   )  \r
0060320    f   t   p   >   >   F   T   P   .   f   r   n   P   o   r   t
0060340        =       l   v       c   t   x   >   >   B   o   o   t   C
0060360    t   x   .   p   o   r   t  \r   f   t   p   >   >   F   T   P
0060400    .   r   e   a   l   N   a   m   e       =       c   t   x   >
0060420    >   B   o   o   t   C   t   x   .   n   a   m   e  \r   l   e
0060440    t       f   a   s   t       =       (   c   t   x   >   >   B
0060460    o   o   t   C   t   x   .   b   o   o   t   e   r   F   l 376
0060500  001  \0   }   )   a   g   s       &       b   s   F   a   s   t
0060520    B   o   o   t   e   r   )       n   e       0  \r   f   t   p
0060540    >   >   F   T   P   .   t   i   m   e   O   u   t   1       =
0060560        f   a   s   t   ?       1   0   0   ,       3   0   0   0
0060600            /   /       1       s   e   c   ,       3   0       s
0060620    e   c  \r   f   t   p   >   >   F   T   P   .   t   i   m   e
0060640    O   u   t   2       =       f   a   s   t   ?       4   0   0
0060660    ,       6   0   0   0           /   /       4       s   e   c
0060700    ,       6   0       s   e   c  \r   i   f       P   u   p   S
0060720    e   r   v   S   e   n   d   (   f   t   p   ,       c   t   x
0060740    >   >   B   o   o   t   C   t   x   .   b   y   t   e   s   T
0060760    o   S   k   i   p   )       t   h   e   n  \r               D
0061000    o   u   b   l   e   I   n   c   r   e   m   e   n   t   (   f
0061020    a   s   t   ?       l   v       b   s   >   >   B   S   .   s
0061040    t   a   t   s   .   f   a   s   t   S   e   n   d   s   ,    
0061060    l   v       b   s   >   >   B   S   .   s   t   a   t   s   .
0061100    s   l   o   w 376 001  \0 350 026   S   e   n   d   s   )  \r
0061120    F   r   e   e   (   s   y   s   Z   o   n   e   ,       c   t
0061140    x   >   >   B   o   o   t   C   t   x   .   n   a   m   e   )
0061160   \r   b   s   >   >   B   S   .   f   l   a   g   s       =    
0061200    b   s   >   >   B   S   .   f   l   a   g   s       &       n
0061220    o   t       c   t   x   >   >   B   o   o   t   C   t   x   .
0061240    b   o   o   t   e   r   F   l   a   g   s  \r   D   e   s   t
0061260    r   o   y   J   o   b   (   )  \r   ]  \r  \r   /   /   -   -
0061300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061400    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       S
0061420    e   n   d   M   i   c   r   o   c   o   d   e   F   i   l   e
0061440    (   c   t   x   )       b   e  \t   /   /       a       B   o
0061460    o   t   C   t   x  \r   /   /   -   -   -   -   -   -   -   -
0061500    -   -   -   -   -   -   -   -   - 376 001  \0  \b 306   -   -
0061520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061600    -   -   -   -   -   -   -   -   -  \r   /   /       S   e   n
0061620    d       m   i   c   r   o   c   o   d   e       b   o   o   t
0061640        f   i   l   e       b   y       s   k   i   p   p   i   n
0061660    g       t   h   e       o   v   e   r   h   e   a   d       p
0061700    a   g   e       a   t       t   h   e       b   e   g   i   n
0061720    n   i   n   g  \r   /   /       a   n   d       s   e   n   d
0061740    i   n   g       t   h   e       r   e   s   t       o   f    
0061760    t   h   e       f   i   l   e       a   s       P   u   p   s
0062000        c   o   n   t   a   i   n   i   n   g       m   u   l   t
0062020    i   p   l   e   s       o   f  \r   /   /       3       w   o
0062040    r   d   s       (   f   o   r       t   h   e       b   e   n
0062060    e   f   i   t       o   f       D   0   s   )   ,       t   e
0062100    r   m   i   n   a   t   e   d       b   y       a   n 376 001
0062120   \0 271   a       e   m   p   t   y       P   u   p   .  \r   /
0062140    /       T   h   e       p   r   o   t   o   c   o   l       e
0062160    m   p   l   o   y   s       n   o       a   c   k   n   o   w
0062200    l   e   d   g   m   e   n   t   s       -   -       i   f    
0062220    a       p   a   c   k   e   t       i   s       l   o   s   t
0062240    ,       t   h   e  \r   /   /       r   e   q   u   e   s   t
0062260    o   r       m   u   s   t       a   s   k       t   h   e    
0062300    b   o   o   t       s   e   r   v   e   r       t   o       s
0062320    e   n   d       t   h   e       w   h   o   l   e       f   i
0062340    l   e       o   v   e   r       a   g   a   i   n   .  \r   [
0062360   \r   l   e   t       s   o   c       =       v   e   c       l
0062400    e   n   P   u   p   S   o   c  \r   O   p   e   n   L   e   v
0062420    e   l   1   S   o   c   k   e   t   (   s   o   c   ,       0
0062440    ,       l   v       c   t   x   >   >   B   o   o   t   C   t
0062460    x   .   p   o   r   t   )  \r  \r   /   /       D   0   s    
0062500    r   e   q   u   i   r   e       t   h   a   t       t   h   e
0062520        b   o 376 001  \0   b 254   o   t       f   i   l   e    
0062540    c   o   m   e       f   r   o   m       a       s   o   c   k
0062560    e   t       w   h   o   s   e  \r   /   /       l   o   w   -
0062600    o   r   d   e   r       s   o   c   k   e   t       n   u   m
0062620    b   e   r       i   s       4   !  \r   s   o   c   >   >   P
0062640    u   p   S   o   c   .   l   c   l   P   o   r   t   .   s   o
0062660    c   k   e   t   ^   2       =       s   o   c   k   e   t   M
0062700    i   s   c   S   e   r   v   i   c   e   s  \r   D   e   c   l
0062720    a   r   e   P   u   p   S   o   c   (   s   o   c   )  \r  \r
0062740    l   e   t       s   t   r   e   a   m       =       I   F   S
0062760    O   p   e   n   F   i   l   e   (   c   t   x   >   >   B   o
0063000    o   t   C   t   x   .   n   a   m   e   )  \r   i   f       s
0063020    t   r   e   a   m       n   e       0       t   h   e   n  \r
0063040                [  \r               S   e   t   F   i   l   e   P
0063060    o   s   (   s   t   r   e   a   m   ,       0   ,       5   1
0063100    2   )           /   /       s   k   i   p       o   v   e   r
0063120    h   e   a   d       p   a   g 376 001  \0 255 366   e  \r    
0063140            l   e   t       w   o   r   d   s       =       n   i
0063160    l  \r               l   e   t       s   e   q   N   o       =
0063200        0  \r  \r                           [       /   /       r
0063220    e   p   e   a   t  \r                           l   e   t    
0063240    p   b   i       =       G   e   t   P   B   I   (   s   o   c
0063260    )  \r                           w   o   r   d   s       =    
0063300    R   e   a   d   B   l   o   c   k   (   s   t   r   e   a   m
0063320    ,       l   v       p   b   i   >   >   P   B   I   .   p   u
0063340    p   .   w   o   r   d   s   ,       u   C   o   d   e   W   o
0063360    r   d   s   P   e   r   P   u   p   )  \r                    
0063400        p   b   i   >   >   P   B   I   .   p   u   p   .   i   d
0063420    ^   1       =       1           /   /       D   0   s       r
0063440    e   q   u   i   r   e       t   h   i   s  \r                
0063460            p   b   i   >   >   P   B   I   .   p   u   p   .   i
0063500    d   ^   2       =       s   e   q   N   o  \r                
0063520            C   o   m   p   l   e   t   e   P   u   p 376 001  \0
0063540    N 255   (   p   b   i   ,       p   t   B   o   o   t   M   i
0063560    c   r   o   c   o   d   e   R   e   p   l   y   ,       p   u
0063600    p   O   v   B   y   t   e   s       +       w   o   r   d   s
0063620        l   s   h   i   f   t       1   )  \r                    
0063640        s   e   q   N   o       =       s   e   q   N   o   +   1
0063660   \r                           ]       r   e   p   e   a   t   u
0063700    n   t   i   l       w   o   r   d   s       e   q       0  \r
0063720   \r               C   l   o   s   e   s   (   s   t   r   e   a
0063740    m   )  \r               ]  \r  \r   C   l   o   s   e   L   e
0063760    v   e   l   1   S   o   c   k   e   t   (   s   o   c   )  \r
0064000    D   e   c   l   a   r   e   P   u   p   S   o   c   (   0   )
0064020   \r   F   r   e   e   (   s   y   s   Z   o   n   e   ,       c
0064040    t   x   >   >   B   o   o   t   C   t   x   .   n   a   m   e
0064060    )  \r   b   s   >   >   B   S   .   f   l   a   g   s       =
0064100        b   s   >   >   B   S   .   f   l   a   g   s       &    
0064120    n   o   t       c   t   x   >   >   B   o   o   t   C   t   x
0064140    .   b 376  \0 032 263   [   o   o   t   e   r   F   l   a   g
0064160    s  \r   D   e   s   t   r   o   y   J   o   b   (   )  \r   ]
0064200   \r 377  \0  \0   I   f   s   B   o   o   t   R   a   r   e   .
0064220    b   c   p   l  \0 373 231 242   b 004  \0  \0 376 001  \0   7
0064240    >   /   /       I   f   s   B   o   o   t   R   a   r   e   .
0064260    b   c   p   l       -   -       B   o   o   t       S   e   r
0064300    v   e   r  \r   /   /       C   o   p   y   r   i   g   h   t
0064320        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0064340    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0064360    9   8   1   ,       1   9   8   2  \r   /   /       L   a   s
0064400    t       m   o   d   i   f   i   e   d       S   e   p   t   e
0064420    m   b   e   r       5   ,       1   9   8   2           1   2
0064440    :   4   1       P   M       b   y       T   a   f   t  \r  \r
0064460    g   e   t       "   P   u   p   0   .   d   e   c   l   "  \r
0064500    g   e   t       "   P   u   p   1   .   d   e   c   l   "  \r
0064520    g   e   t       "   S   t   r   e   a   m   s   .   d   "  \r
0064540    g   e   t       "   I   f   s   .   d   e   c   l   "  \r   g
0064560    e   t       "   I   f   s   R   s   .   d   e   c   l   "  \r
0064600    g   e   t       "   I   f   s   B   o   o   t   S   e   r   v
0064620    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   S
0064640    e 376 001  \0   Y   G   r   v   E   F   T   P   .   d   e   c
0064660    l   "  \r   g   e   t       "   A   l   t   o   F   i   l   e
0064700    S   y   s   .   d   "  \r   g   e   t       "   I   f   s   D
0064720    i   r   s   .   d   e   c   l   "  \r  \r   e   x   t   e   r
0064740    n   a   l  \r   [  \r   /   /       o   u   t   g   o   i   n
0064760    g       p   r   o   c   e   d   u   r   e   s  \r   E   n   a
0065000    b   l   e   B   o   o   t   S   e   r   v   ;       B   o   o
0065020    t   S   e   r   v   U   n   c   o   m   m   o   n   ;       C
0065040    h   e   c   k   B   F   T   ;       I   n   s   e   r   t   B
0065060    F   E  \r  \r   /   /       i   n   c   o   m   i   n   g    
0065100    p   r   o   c   e   d   u   r   e   s  \r   F   i   n   d   B
0065120    F   E   ;       S   e   n   d   B   o   o   t   D   i   r   ;
0065140        G   e   t   T   i   m   e   ;       I   n   s   t   a   l
0065160    l   B   o   o   t   F   i   l   e   s  \r   P   u   p   S   e
0065200    r   v   R   e   c   e   i   v   e   ;       C   o   m   p   l
0065220    e   t   e   P   u   p   ;       R   e   l   e   a   s   e   P
0065240    B   I   ;       G   e 376 001  \0   \ 350   t   P   B   I   ;
0065260        S   e   t   P   u   p   D   P   o   r   t  \r   L   o   c
0065300    k   C   e   l   l   ;       U   n   l   o   c   k   C   e   l
0065320    l   ;       @   V   W   R   P   ;       V   i   r   t   u   a
0065340    l   P   a   g   e   ;       M   a   p   T   r   e   e   ;    
0065360    U   p   d   a   t   e   R   e   c   o   r   d  \r   L   o   o
0065400    k   u   p   I   F   S   F   i   l   e   ;       G   e   t   B
0065420    u   f   f   e   r   F   o   r   F   D   ;       S   t   r   e
0065440    a   m   s   F   D   ;       D   e   s   t   r   o   y   F   D
0065460   \r   S   e   t   F   i   l   e   P   o   s   ;       F   i   l
0065500    e   L   e   n   g   t   h   ;       R   e   a   d   B   l   o
0065520    c   k   ;       R   e   a   d   L   e   a   d   e   r   P   a
0065540    g   e   ;       W   r   i   t   e   L   e   a   d   e   r   P
0065560    a   g   e  \r   D   e   s   t   r   o   y   J   o   b   ;    
0065600    L   o   c   k   ;       U   n   l   o   c   k  \r   S   t   r
0065620    i   n   g   C   o   m   p   a   r   e   ;       E   x   p   a
0065640    n   d   T   e   m   p   l   a   t   e   ; 376 001  \0 023 213
0065660        F   r   e   e   P   o   i   n   t   e   r  \r   D   o   u
0065700    b   l   e   U   s   c   ;       D   o   u   b   l   e   I   n
0065720    c   r   e   m   e   n   t  \r   S   y   s   A   l   l   o   c
0065740    a   t   e   Z   e   r   o   ;       S   y   s   A   l   l   o
0065760    c   a   t   e   ;       S   y   s   F   r   e   e   ;       Z
0066000    e   r   o   ;       M   o   v   e   B   l   o   c   k   ;    
0066020    M   a   x  \r  \r   /   /       i   n   c   o   m   i   n   g
0066040        s   t   a   t   i   c   s  \r   @   b   s   ;       C   t
0066060    x   R   u   n   n   i   n   g   ;       s   o   c   M   i   s
0066100    c   e   l   l   a   n   e   o   u   s   ;       s   y   s   t
0066120    e   m  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -
0066140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066240    -   -   -   -  \r   l   e   t       E   n   a   b   l   e   B
0066260  376 001  \0   B 303   o   o   t   S   e   r   v   (   e   n   a
0066300    b   l   e   S   e   r   v   e   r   ,       n   o   N   e   w
0066320    B   o   o   t   F   i   l   e   s   ;       n   u   m   a   r
0066340    g   s       n   a   )       b   e  \r   /   /   -   -   -   -
0066360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066460    -   -   -   -   -   -   -   -  \r   [  \r   b   s   >   >   B
0066500    S   .   e   x   t   e   r   n   a   l   L   o   c   k       =
0066520        n   o   t       e   n   a   b   l   e   S   e   r   v   e
0066540    r  \r   i   f       n   a       g   r       1       t   h   e
0066560    n       b   s   >   >   B   S   .   n   o   N   e   w   B   o
0066600    o   t   F   i   l   e   s       =       n   o   N   e   w   B
0066620    o   o   t   F   i   l   e   s  \r  \r   /   /       A   l   w
0066640    a   y   s       r   e   b   u   i   l   d       B   F   T    
0066660    w   h   e   n     376 001  \0   d 230   b   o   o   t       s
0066700    e   r   v   e   r       i   s       e   n   a   b   l   e   d
0066720   \r   b   s   >   >   B   S   .   b   f   t   C   h   e   c   k
0066740    T   i   m   e   r       =       0  \r   b   s   >   >   B   S
0066760    .   b   f   t   R   e   b   u   i   l   d   T   i   m   e   r
0067000        =       0  \r   ]  \r  \f  \r   /   /   -   -   -   -   -
0067020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067120    -   -   -   -   -   -   -  \r   a   n   d       B   o   o   t
0067140    S   e   r   v   U   n   c   o   m   m   o   n   (   p   b   i
0067160    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0067200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067260    -   -   -   -   -   -   -   -   -   - 376 001  \0   b   K   -
0067300    -   -   -   -   -   -   -   -  \r   [       /   /       N   o
0067320    t   e       t   h   a   t       a   n       E   x   c   h   a
0067340    n   g   e   P   o   r   t   s       h   a   s       a   l   r
0067360    e   a   d   y       b   e   e   n       d   o   n   e  \r   s
0067400    w   i   t   c   h   o   n       p   b   i   >   >   P   B   I
0067420    .   p   u   p   .   t   y   p   e       i   n   t   o  \r    
0067440            [  \r               c   a   s   e       p   t   B   o
0067460    o   t   D   i   r   R   e   p   l   y   :  \r                
0067500            [  \r                           l   e   t       n   o
0067520    w       =       v   e   c       1  \r                        
0067540    u   n   l   e   s   s       b   s   >   >   B   S   .   g   l
0067560    o   b   a   l   L   o   c   k   s       e   q       0       &
0067600        /   /       d   o   n   '   t       u   p   d   a   t   e
0067620        i   f       s   e   r   v   e   r       d   i   s   a   b
0067640    l   e   d  \r                               G   e   t   T   i
0067660    m   e   (   n   o   w   )       &           /   /       d 376
0067700  001  \0   o 206   o       n   o   t   h   i   n   g       i   f
0067720        d   o   n   '   t       k   n   o   w       t   i   m   e
0067740   \r                               L   o   c   k   (   l   v    
0067760    b   s   >   >   B   S   .   t   r   e   e   L   o   c   k   ,
0070000        t   r   u   e   ,       t   r   u   e   )       e   n   d
0070020    c   a   s   e           /   /       m   u   s   t       w   r
0070040    i   t   e   -   l   o   c   k       t   r   e   e  \r  \r    
0070060                        l   e   t       p       =       1  \r    
0070100                        u   n   t   i   l       p       g   e    
0070120    (   (   p   b   i   >   >   P   B   I   .   p   u   p   .   l
0070140    e   n   g   t   h   -   p   u   p   O   v   B   y   t   e   s
0070160    )   +   1   )       r   s   h   i   f   t       1       d   o
0070200   \r                                       [  \r                
0070220                        l   e   t       b   f   d       =       l
0070240    v       p   b   i   >   >   P   B   I   .   p   u   p   .   w
0070260    o   r   d   s   ^   p  \r                                    
0070300    p       =     376 001  \0 001   &   p       +       o   f   f
0070320    s   e   t       B   F   D   .   n   a   m   e   /   1   6    
0070340    +       b   f   d   >   >   B   F   D   .   n   a   m   e   .
0070360    l   e   n   g   t   h       r   s   h   i   f   t       1    
0070400    +   1  \r                                       i   f       b
0070420    f   d   >   >   B   F   D   .   b   f   n       l   s       0
0070440        %           /   /       d   o   n   '   t       u   p   d
0070460    a   t   e       i   f       b   f   n       g   e       1   0
0070500    0   0   0   0   B  \r                                        
0070520    D   o   u   b   l   e   U   s   c   (   n   o   w   ,       l
0070540    v       b   f   d   >   >   B   F   D   .   d   a   t   e   )
0070560        l   s       0       l   o   o   p           /   /       o
0070600    r       i   f       d   a   t   e       i   n       f   u   t
0070620    u   r   e  \r                                       l   e   t
0070640        b   f   e       =       F   i   n   d   B   F   E   (   b
0070660    f   d   >   >   B   F   D   .   b   f   n   )  \r            
0070700                            i   f     376 001  \0   U   3   b   f
0070720    e       e   q       0       t   h   e   n  \r                
0070740                                    [       /   /       n   e   v
0070760    e   r       h   e   a   r   d       o   f       t   h   i   s
0071000        b   f   n       b   e   f   o   r   e   ,       p   e   r
0071020    h   a   p   s       i   n   s   e   r   t       n   e   w    
0071040    e   n   t   r   y   .  \r                                    
0071060                /   /       R   e   j   e   c   t       i   f    
0071100    n   o   t       a   c   c   e   p   t   i   n   g       n   e
0071120    w       b   o   o   t       f   i   l   e   s       o   r    
0071140    i   f       b   f   n       g   e       4   0   0   0   0   .
0071160   \r                                                   i   f    
0071200    b   s   >   >   B   S   .   n   o   N   e   w   B   o   o   t
0071220    F   i   l   e   s       %       b   f   d   >   >   B   F   D
0071240    .   b   f   n       g   e       4   0   0   0   0   B       t
0071260    h   e   n       l   o   o   p  \r  \r                        
0071300                            /   /       R   e   j   e   c 376 001
0071320   \0 244   b   t       i   f       a   l   r   e   a   d   y    
0071340    h   a   v   e       f   i   l   e       w   i   t   h       s
0071360    a   m   e       n   a   m   e       b   u   t       d   i   f
0071400    f   e   r   e   n   t       b   f   n   .  \r                
0071420                                    l   e   t       n   a   m   e
0071440        =       E   x   p   a   n   d   T   e   m   p   l   a   t
0071460    e   (   "   B   o   o   t   >   *   *   -   $   S   "   ,    
0071500    l   v       b   f   d   >   >   B   F   D   .   n   a   m   e
0071520    )  \r                                                   l   e
0071540    t       f   d       =       L   o   o   k   u   p   I   F   S
0071560    F   i   l   e   (   n   a   m   e   ,       l   c   V   H   i
0071600    g   h   e   s   t   +   l   c   M   u   l   t   i   p   l   e
0071620    )  \r                                                   S   y
0071640    s   F   r   e   e   (   n   a   m   e   )  \r                
0071660                                    i   f       f   d       n   e
0071700        0       t   h   e   n       [       D   e   s   t   r   o
0071720    y   F   D 376 001  \0   u 234   (   f   d   )   ;       l   o
0071740    o   p       ]  \r  \r                                        
0071760            b   f   e       =       I   n   s   e   r   t   B   F
0072000    E   (   b   f   d   )  \r                                    
0072020                Z   e   r   o   (   l   v       b   f   e   >   >
0072040    B   F   E   .   d   a   t   e   ,       2   )           /   /
0072060        f   o   r   c   e       u   p   d   a   t   e       (   b
0072100    e   l   o   w   )  \r                                        
0072120            ]  \r                                       L   o   c
0072140    k   C   e   l   l   (   l   v       b   f   e   )  \r        
0072160                                i   f       S   t   r   i   n   g
0072200    C   o   m   p   a   r   e   (   l   v       b   f   d   >   >
0072220    B   F   D   .   n   a   m   e   ,       l   v       b   f   e
0072240    >   >   B   F   E   .   n   a   m   e   )       e   q       0
0072260        t   h   e   n  \r                                        
0072300            s   w   i   t   c   h   o   n       D   o   u   b   l
0072320    e   U   s   c   (   l   v     376 001  \0 347 272   b   f   d
0072340    >   >   B   F   D   .   d   a   t   e   ,       l   v       b
0072360    f   e   >   >   B   F   E   .   d   a   t   e   )       i   n
0072400    t   o  \r                                                    
0072420            [  \r                                                
0072440                c   a   s   e       1   :           /   /       n
0072460    e   e   d       t   o       g   e   t       n   e   w       c
0072500    o   p   y       o   f       b   o   o   t       f   i   l   e
0072520        f   r   o   m       h   i   m  \r                        
0072540                                                    M   o   v   e
0072560    B   l   o   c   k   (   l   v       b   f   e   >   >   B   F
0072600    E   .   p   o   r   t   ,       l   v       p   b   i   >   >
0072620    P   B   I   .   p   u   p   .   d   P   o   r   t   ,       l
0072640    e   n   P   o   r   t   )  \r                                
0072660                                            b   f   e   >   >   B
0072700    F   E   .   u   p   d   a   t   e       =       t   r   u   e
0072720   \r                                                 376 001  \0
0072740  353   B                           V   W   R   P   (   V   i   r
0072760    t   u   a   l   P   a   g   e   (   b   f   e       r   s   h
0073000    i   f   t       8   )   )           /   /       m   a   r   k
0073020        B   F   E       d   i   r   t   y  \r                    
0073040                                                        /   /    
0073060    f   a   l   l       t   h   r   u  \r                        
0073100                                        c   a   s   e       -   1
0073120    :           /   /       n   e   e   d       t   o       t   e
0073140    l   l       h   i   m       w   e       h   a   v   e       a
0073160        n   e   w   e   r       v   e   r   s   i   o   n  \r    
0073200                                                                 
0073220        b   s   >   >   B   S   .   b   f   t   C   h   e   c   k
0073240    T   i   m   e   r       =       0  \r                        
0073260                                                    e   n   d   c
0073300    a   s   e  \r                                                
0073320                ]  \r                                       U   n
0073340    l   o 376 001  \0 362 240   c   k   C   e   l   l   (   l   v
0073360        b   f   e   )  \r                                       ]
0073400   \r  \r                           U   n   l   o   c   k   (   l
0073420    v       b   s   >   >   B   S   .   t   r   e   e   L   o   c
0073440    k   )  \r                           e   n   d   c   a   s   e
0073460   \r                           ]  \r               c   a   s   e
0073500        p   t   B   o   o   t   S   t   a   t   s   R   e   q   u
0073520    e   s   t   :  \r                           M   o   v   e   B
0073540    l   o   c   k   (   l   v       p   b   i   >   >   P   B   I
0073560    .   p   u   p   .   w   o   r   d   s   ,       l   v       b
0073600    s   >   >   B   S   .   s   t   a   t   s   ,       s   i   z
0073620    e       S   t   a   t   s   /   1   6   )  \r                
0073640            C   o   m   p   l   e   t   e   P   u   p   (   p   b
0073660    i   ,       p   t   B   o   o   t   S   t   a   t   s   R   e
0073700    p   l   y   ,       p   u   p   O   v   B   y   t   e   s   +
0073720    (   s   i   z   e       S   t   a   t   s   /   8   )   )  \r
0073740                            r 376 001  \0 200 315   e   t   u   r
0073760    n  \r               c   a   s   e       p   t   B   o   o   t
0074000    L   o   c   k   R   e   q   u   e   s   t   :  \r            
0074020    c   a   s   e       p   t   B   o   o   t   U   n   l   o   c
0074040    k   R   e   q   u   e   s   t   :  \r                        
0074060    i   f       p   b   i   >   >   P   B   I   .   p   u   p   .
0074100    i   d   ^   1       e   q       2   7   1   8   2       &    
0074120    p   b   i   >   >   P   B   I   .   p   u   p   .   s   P   o
0074140    r   t   .   h   o   s   t       n   e       0       t   h   e
0074160    n  \r                                       [  \r            
0074200                            l   e   t       e   n   a   b   l   e
0074220        =       p   b   i   >   >   P   B   I   .   p   u   p   .
0074240    t   y   p   e       e   q       p   t   B   o   o   t   U   n
0074260    l   o   c   k   R   e   q   u   e   s   t  \r                
0074300                        E   n   a   b   l   e   B   o   o   t   S
0074320    e   r   v   (   e   n   a   b   l   e   )  \r                
0074340                        C   o   m   p   l   e   t 376 001  \0 242
0074360  227   e   P   u   p   (   p   b   i   ,       (   e   n   a   b
0074400    l   e   ?       p   t   B   o   o   t   U   n   l   o   c   k
0074420    R   e   p   l   y   ,       p   t   B   o   o   t   L   o   c
0074440    k   R   e   p   l   y   )   ,  \r                            
0074460                p   u   p   O   v   B   y   t   e   s   )  \r    
0074500                                    r   e   t   u   r   n  \r    
0074520                                    ]  \r                        
0074540    e   n   d   c   a   s   e  \r               ]  \r   R   e   l
0074560    e   a   s   e   P   B   I   (   p   b   i   )  \r   ]  \r  \f
0074600   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0074620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0074700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0074720    a   n   d       C   h   e   c   k   B   F   T   (   c   t   x
0074740    )       b   e  \t   /   /       a       B   o   o   t   C   t
0074760    x 376 001  \0 322 375  \r   /   /   -   -   -   -   -   -   -
0075000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0075100    -   -   -   -   -  \r   /   /       C   o   n   t   e   x   t
0075120        s   t   a   r   t   e   d       p   e   r   i   o   d   i
0075140    c   a   l   l   y       t   o       c   h   e   c   k       t
0075160    h   e       b   o   o   t       f   i   l   e       t   a   b
0075200    l   e   .  \r   /   /       C   h   e   c   k       t   h   e
0075220        B   F   T       f   o   r       e   n   t   r   i   e   s
0075240        w   i   t   h       g   a   r   b   a   g   e       d   a
0075260    t   e   s   ,       a   n   d       z   e   r   o       a   n
0075300    y       t   h   a   t       a   r   e       f   o   u   n   d
0075320    .  \r   /   /       T   h   e   n   ,       f   o   r       a
0075340    l   l       e   n   t   r   i   e   s       m   a   r   k   e
0075360    d       a   s       n 376 001  \0 257 266   e   e   d   i   n
0075400    g       t   o       b   e       u   p   d   a   t   e   d   ,
0075420        a   t   t   e   m   p   t       t   o       r   e   t   r
0075440    i   e   v   e  \r   /   /       t   h   e       b   o   o   t
0075460        f   i   l   e       f   r   o   m       t   h   e       b
0075500    o   o   t       s   e   r   v   e   r       t   h   a   t    
0075520    a   d   v   e   r   t   i   s   e   d       i   t   s   e   l
0075540    f       a   s       h   a   v   i   n   g  \r   /   /       a
0075560        n   e   w   e   r       o   n   e   .           F   i   n
0075600    a   l   l   y   ,       b   r   o   a   d   c   a   s   t    
0075620    a       c   o   p   y       o   f       o   u   r       o   w
0075640    n       b   o   o   t       f   i   l   e       t   a   b   l
0075660    e   .  \r   [  \r   c   t   x   >   >   B   o   o   t   C   t
0075700    x   .   u   s   e   r   I   n   f   o       =       s   y   s
0075720    t   e   m  \r   i   f       b   s   >   >   B   S   .   e   x
0075740    t   e   r   n   a   l   L   o   c   k       e   q       0    
0075760    t   h   e   n  \r               [  \r     376 001  \0 234 314
0076000            /   /       T   h   e   r   e       i   s       o   n
0076020    l   y       o   n   e       o   f       m   e   ,       a   n
0076040    d       I       c   a   n       w   a   i   t       u   n   t
0076060    i   l       t   r   e   e       c   a   n       b   e       w
0076100    r   i   t   e   -   l   o   c   k   e   d  \r               L
0076120    o   c   k   (   l   v       b   s   >   >   B   S   .   t   r
0076140    e   e   L   o   c   k   ,       t   r   u   e   )  \r  \r    
0076160            /   /       R   e   b   u   i   l   d       t   h   e
0076200        e   n   t   i   r   e       B   F   T       o   c   c   a
0076220    s   i   o   n   a   l   l   y   ,       s   o       a   s    
0076240    t   o       p   i   c   k       u   p       b   o   o   t    
0076260    f   i   l   e   s       t   h   a   t  \r               /   /
0076300        m   a   y       h   a   v   e       b   e   e   n       s
0076320    t   o   r   e   d       v   i   a       F   T   P   ,       d
0076340    e   l   e   t   e   d   ,       e   t   c   .  \r            
0076360    b   s   >   >   B   S   .   b   f   t   R   e   b   u   i   l
0076400  376 001  \0   ;   y   d   T   i   m   e   r       =       M   a
0076420    x   (   b   s   >   >   B   S   .   b   f   t   R   e   b   u
0076440    i   l   d   T   i   m   e   r   -   1   ,       0   )  \r    
0076460            i   f       b   s   >   >   B   S   .   b   f   t   R
0076500    e   b   u   i   l   d   T   i   m   e   r       e   q       0
0076520        t   h   e   n  \r                           [       I   n
0076540    s   t   a   l   l   B   o   o   t   F   i   l   e   s   (   )
0076560    ;       b   s   >   >   B   S   .   b   f   t   R   e   b   u
0076600    i   l   d   T   i   m   e   r       =       b   f   t   R   e
0076620    b   u   i   l   d   I   n   t   e   r   v   a   l       ]  \r
0076640   \r               M   a   p   T   r   e   e   (   b   s   >   >
0076660    B   S   .   t   r   e   e   ,       0   ,       C   h   e   c
0076700    k   B   F   E   ,       0   ,       0   ,       t   r   u   e
0076720    )  \r              \r               /   /       B   r   o   a
0076740    d   c   a   s   t       c   o   p   y       o   f       m   y
0076760        b   o   o   t       f   i   l   e       d   i   r   e   c
0077000    t   o   r   y  \r 376 001  \0 263 220               u   n   l
0077020    e   s   s       S   e   n   d   B   o   o   t   D   i   r   (
0077040    t   a   b   l   e       [       0   ;       0   ;       s   o
0077060    c   k   e   t   M   i   s   c   S   e   r   v   i   c   e   s
0077100        ]   ,       t   a   b   l   e       [       0   ;       0
0077120        ]   )       d   o  \r                           [        
0077140    /   /       I       h   a   v   e       n   o       b   o   o
0077160    t       f   i   l   e   s   ,       b   r   o   a   d   c   a
0077200    s   t       a       d   i   r   e   c   t   o   r   y       r
0077220    e   q   u   e   s   t  \r                           l   e   t
0077240        p   b   i       =       G   e   t   P   B   I   (   s   o
0077260    c   M   i   s   c   e   l   l   a   n   e   o   u   s   ,    
0077300    t   r   u   e   )  \r                           i   f       p
0077320    b   i       n   e       0       t   h   e   n  \r            
0077340                            [  \r                                
0077360        S   e   t   P   u   p   D   P   o   r   t   (   p   b   i
0077400    ,       t   a   b   l   e       [     376 001  \0 241 210   0
0077420    ;       0   ;       s   o   c   k   e   t   M   i   s   c   S
0077440    e   r   v   i   c   e   s       ]   )  \r                    
0077460                    C   o   m   p   l   e   t   e   P   u   p   (
0077500    p   b   i   ,       p   t   B   o   o   t   D   i   r   R   e
0077520    q   u   e   s   t   ,       p   u   p   O   v   B   y   t   e
0077540    s   )  \r                                       ]  \r        
0077560                    ]  \r               U   n   l   o   c   k   (
0077600    l   v       b   s   >   >   B   S   .   t   r   e   e   L   o
0077620    c   k   )  \r               ]  \r  \r   b   s   >   >   B   S
0077640    .   b   f   t   C   h   e   c   k   T   i   m   e   r       =
0077660        b   f   t   C   h   e   c   k   I   n   t   e   r   v   a
0077700    l  \r   b   s   >   >   B   S   .   u   p   d   a   t   e   C
0077720    t   x       =       0  \r   D   e   s   t   r   o   y   J   o
0077740    b   (   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0077760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0100020  001  \0 300 210   -   -   -   -   -   -   -   -   -   -   -   -
0100040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100060    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       C
0100100    h   e   c   k   B   F   E   (   b   f   e   ,       n   i   l
0100120    ,       n   i   l   )       =       v   a   l   o   f  \r   /
0100140    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100240    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0100260    L   o   c   k   C   e   l   l   (   l   v       b   f   e   )
0100300   \r   l   e   t       n   o   w       =       v   e   c       1
0100320   \r   i   f       G   e   t   T   i   m   e   (   n   o   w   )
0100340        &       D   o   u   b   l   e   U   s   c   (   n   o   w
0100360    ,       l   v       b   f   e   >   >   B   F   E   .   d   a
0100400    t   e   )       l   s       0       t   h   e   n  \r        
0100420        [       / 376 001  \0 336   M   /       G   a   r   b   a
0100440    g   e       d   a   t   e   ,       z   e   r   o       i   t
0100460        t   o       m   a   k   e       i   t       e   l   i   g
0100500    i   b   l   e       f   o   r       u   p   d   a   t   e   .
0100520   \r               Z   e   r   o   (   l   v       b   f   e   >
0100540    >   B   F   E   .   d   a   t   e   ,       2   )  \r        
0100560        V   W   R   P   (   V   i   r   t   u   a   l   P   a   g
0100600    e   (   b   f   e       r   s   h   i   f   t       8   )   )
0100620            /   /       m   a   r   k       B   F   E       d   i
0100640    r   t   y  \r               ]  \r   i   f       b   f   e   >
0100660    >   B   F   E   .   u   p   d   a   t   e       t   h   e   n
0100700   \r               [  \r               V   W   R   P   (   V   i
0100720    r   t   u   a   l   P   a   g   e   (   b   f   e       r   s
0100740    h   i   f   t       8   )   )           /   /       m   a   r
0100760    k       B   F   E       d   i   r   t   y  \r               l
0101000    e   t       f   t   p       =       v   e   c       l   e   n
0101020    F   T   P   ;       Z   e   r   o 376 001  \0 026 367   (   f
0101040    t   p   ,       l   e   n   F   T   P   )  \r               f
0101060    t   p   >   >   F   T   P   .   f   r   n   P   o   r   t    
0101100    =       l   v       b   f   e   >   >   B   F   E   .   p   o
0101120    r   t  \r               f   t   p   >   >   F   T   P   .   r
0101140    e   a   l   N   a   m   e       =       E   x   p   a   n   d
0101160    T   e   m   p   l   a   t   e   (   "   <   S   y   s   t   e
0101200    m   >   B   o   o   t   >   $   U   O   -   $   S   "   ,  \r
0101220                    b   f   e   >   >   B   F   E   .   b   f   n
0101240    ,       l   v       b   f   e   >   >   B   F   E   .   n   a
0101260    m   e   )  \r               f   t   p   >   >   F   T   P   .
0101300    t   e   m   p   N   a   m   e       =       "   T   e   m   p
0101320    .   b   o   o   t   "  \r               f   t   p   >   >   F
0101340    T   P   .   t   i   m   e   O   u   t   1       =       1   0
0101360    0           /   /       1       s   e   c  \r               f
0101400    t   p   >   >   F   T   P   .   t   i   m   e   O   u   t   2
0101420        =       2   0   0   0           /   /       2   0 376 001
0101440   \0   [   z       s   e   c  \r               f   t   p   >   >
0101460    F   T   P   .   p   r   o   c   1       =       R   B   F   S
0101500    t   a   r   t   P   r   o   c  \r               f   t   p   >
0101520    >   F   T   P   .   p   r   o   c   2       =       R   B   F
0101540    E   n   d   P   r   o   c  \r               C   t   x   R   u
0101560    n   n   i   n   g   >   >   B   o   o   t   C   t   x   .   b
0101600    f   e       =       b   f   e  \r               i   f       P
0101620    u   p   S   e   r   v   R   e   c   e   i   v   e   (   f   t
0101640    p   )       t   h   e   n  \r                           D   o
0101660    u   b   l   e   I   n   c   r   e   m   e   n   t   (   l   v
0101700        b   s   >   >   B   S   .   s   t   a   t   s   .   f   i
0101720    l   e   s   R   c   v   d   )  \r               S   y   s   F
0101740    r   e   e   (   f   t   p   >   >   F   T   P   .   r   e   a
0101760    l   N   a   m   e   )  \r              \r               /   /
0102000        E   v   e   n       i   f       w   e       f   a   i   l
0102020    ,       w   a   i   t       f   o   r       r   e   c   e   i
0102040    p   t     376 001  \0 330  \r   o   f       n   e   x   t    
0102060    b   o   o   t       d   i   r       b   r   o   a   d   c   a
0102100    s   t  \r               /   /       b   e   f   o   r   e    
0102120    t   r   y   i   n   g       a   g   a   i   n  \r            
0102140    b   f   e   >   >   B   F   E   .   u   p   d   a   t   e    
0102160    =       f   a   l   s   e  \r               ]  \r   U   n   l
0102200    o   c   k   C   e   l   l   (   l   v       b   f   e   )  \r
0102220    ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0102240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102340    -   -  \r   a   n   d       R   B   F   S   t   a   r   t   P
0102360    r   o   c   (   s   o   c   )       b   e  \r   /   /   -   -
0102400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102440    -   -   -   -   -   -   -   - 376 001  \0 207 210   -   -   -
0102460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0102500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0102520    [  \r   l   e   t       p   b   i       =       G   e   t   P
0102540    B   I   (   s   o   c   ,       t   r   u   e   )  \r   i   f
0102560        p   b   i       n   e       0       t   h   e   n  \r    
0102600            [  \r               p   b   i   >   >   P   B   I   .
0102620    p   u   p   .   i   d   ^   2       =       C   t   x   R   u
0102640    n   n   i   n   g   >   >   B   o   o   t   C   t   x   .   b
0102660    f   e   >   >   B   F   E   .   b   f   n  \r               C
0102700    o   m   p   l   e   t   e   P   u   p   (   p   b   i   ,    
0102720    p   t   B   o   o   t   F   i   l   e   R   e   q   u   e   s
0102740    t   ,       p   u   p   O   v   B   y   t   e   s   )  \r    
0102760            ]  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0103000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103040    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0103060  200 321   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0103100    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       R
0103120    B   F   E   n   d   P   r   o   c   (   s   t   r   e   a   m
0103140    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0103160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103260    -   -   -   -   -   -   -   -  \r   [  \r   S   e   t   F   i
0103300    l   e   P   o   s   (   s   t   r   e   a   m   ,       0   ,
0103320        6   )  \r   R   e   a   d   B   l   o   c   k   (   s   t
0103340    r   e   a   m   ,       l   v       C   t   x   R   u   n   n
0103360    i   n   g   >   >   B   o   o   t   C   t   x   .   b   f   e
0103400    >   >   B   F   E   .   d   a   t   e   ,       2   )  \r   C
0103420    t   x   R   u   n   n   i   n   g   >   >   B   o   o   t   C
0103440    t   x   .   b   f   e   >   >   B   F   E   .   e   x   i   s
0103460    t   s 376 001  \0 302 325       =       t   r   u   e  \r   l
0103500    e   t       l   d       =       G   e   t   B   u   f   f   e
0103520    r   F   o   r   F   D   (   S   t   r   e   a   m   s   F   D
0103540    (   s   t   r   e   a   m   )   )  \r   R   e   a   d   L   e
0103560    a   d   e   r   P   a   g   e   (   s   t   r   e   a   m   ,
0103600        l   d   )  \r   M   o   v   e   B   l   o   c   k   (   l
0103620    v       l   d   >   >   L   D   .   c   r   e   a   t   e   d
0103640    ,       l   v       C   t   x   R   u   n   n   i   n   g   >
0103660    >   B   o   o   t   C   t   x   .   b   f   e   >   >   B   F
0103700    E   .   d   a   t   e   ,       2   )  \r   W   r   i   t   e
0103720    L   e   a   d   e   r   P   a   g   e   (   s   t   r   e   a
0103740    m   ,       l   d   )  \r   S   y   s   F   r   e   e   (   l
0103760    d   )  \r   F   i   l   e   L   e   n   g   t   h   (   s   t
0104000    r   e   a   m   )           /   /       r   e   p   o   s   i
0104020    t   i   o   n       t   o       e   n   d   -   o   f   -   f
0104040    i   l   e  \r   r   e   s   u   l   t   i   s       t   r   u
0104060    e  \r   ]  \r  \r   /   / 376 001  \0 212 343   -   -   -   -
0104100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0104200    -   -   -   -   -   -   -   -  \r   a   n   d       I   n   s
0104220    e   r   t   B   F   E   (   b   f   d   )       =       v   a
0104240    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0104260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0104360    -   -  \r   /   /       M   a   k   e   s       a       n   e
0104400    w       b   f   t       e   n   t   r   y       c   o   n   t
0104420    a   i   n   i   n   g       t   h   e       i   n   f   o   r
0104440    m   a   t   i   o   n       i   n       b   f   t       a   n
0104460    d       w   i   t   h  \r   /   /       u   p 376 001  \0  \b
0104500  253   d   a   t   e   =   f   a   l   s   e       a   n   d    
0104520    e   x   i   s   t   s   =   f   a   l   s   e   .           R
0104540    e   t   u   r   n   s       p   o   i   n   t   e   r       t
0104560    o       n   e   w       b   f   e   ,  \r   /   /       w   h
0104600    i   c   h       c   a   l   l   e   r       m   u   s   t    
0104620    k   e   e   p       i   n       a       l   o   c   k   e   d
0104640        c   e   l   l       u   n   t   i   l       d   o   n   e
0104660        w   i   t   h       i   t   .  \r   [  \r   U   p   d   a
0104700    t   e   R   e   c   o   r   d   (   b   s   >   >   B   S   .
0104720    t   r   e   e   ,       b   f   d   >   >   B   F   D   .   b
0104740    f   n   ,       G   e   n   N   e   w   B   F   E   ,       b
0104760    f   d   )  \r   r   e   s   u   l   t   i   s       F   i   n
0105000    d   B   F   E   (   b   f   d   >   >   B   F   D   .   b   f
0105020    n   )           /   /       c   a   n   '   t       f   a   i
0105040    l  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0105060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0105100    - 376 001  \0   2   @   -   -   -   -   -   -   -   -   -   -
0105120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0105160    -   -   -   -   -   -   -   -  \r   a   n   d       G   e   n
0105200    N   e   w   B   F   E   (   b   f   e   ,       b   f   d   )
0105220        =       v   a   l   o   f  \r   /   /   -   -   -   -   -
0105240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0105340    -   -   -   -   -   -   -  \r   /   /       R   e   c   o   r
0105360    d   G   e   n   e   r   a   t   o   r       p   r   o   c   e
0105400    d   u   r   e       c   a   l   l   e   d       f   r   o   m
0105420        U   p   d   a   t   e   R   e   c   o   r   d   .  \r   [
0105440   \r   F   r   e   e   P   o   i   n   t   e   r   (   l   v    
0105460    b   f   e   )           /   /       f   r   e   e       o   l
0105500    d       r   e   c   o 376  \0 342 235  \n   r   d       i   f
0105520        a   n   y       (   s   h   o   u   l   d   n   '   t    
0105540    b   e       o   n   e   )  \r   l   e   t       l   e   n   B
0105560    F   E       =       o   f   f   s   e   t       B   F   E   .
0105600    n   a   m   e   /   1   6       +       b   f   d   >   >   B
0105620    F   D   .   n   a   m   e   .   l   e   n   g   t   h       r
0105640    s   h   i   f   t       1       +   1  \r   b   f   e       =
0105660        S   y   s   A   l   l   o   c   a   t   e   Z   e   r   o
0105700    (   l   e   n   B   F   E   )  \r   M   o   v   e   B   l   o
0105720    c   k   (   l   v       b   f   e   >   >   B   F   E   .   b
0105740    f   d   ,       b   f   d   ,       l   e   n   B   F   E    
0105760    -       o   f   f   s   e   t       B   F   E   .   b   f   d
0106000    /   1   6   )  \r   b   f   e   >   >   B   F   E   .   l   e
0106020    n   g   t   h       =       l   e   n   B   F   E  \r   r   e
0106040    s   u   l   t   i   s       b   f   e  \r   ]  \r 377  \0  \0
0106060    I   f   s   B   o   o   t   I   n   s   t   a   l   l   .   b
0106100    c   p   l  \0 373 232   # 226   )  \0  \0 376 001  \0 343   5
0106120    /   /       I   f   s   B   o   o   t   I   n   s   t   a   l
0106140    l   .   b   c   p   l       -   -       b   o   o   t       f
0106160    i   l   e       i   n   s   t   a   l   l   a   t   i   o   n
0106200   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0106220    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0106240    1   9   7   9   ,       1   9   8   0   ,       1   9   8   1
0106260    ,       1   9   8   2  \r  \r   /   /       L   a   s   t    
0106300    m   o   d   i   f   i   e   d       D   e   c   e   m   b   e
0106320    r       1   2   ,       1   9   8   2           1   1   :   2
0106340    2       A   M       b   y       T   a   f   t  \r  \r   g   e
0106360    t       "   P   u   p   0   .   d   e   c   l   "  \r   g   e
0106400    t       "   P   u   p   1   .   d   e   c   l   "  \r   g   e
0106420    t       "   I   f   s   .   d   e   c   l   "  \r   g   e   t
0106440        "   I   f   s   R   s   .   d   e   c   l   "  \r   g   e
0106460    t       "   I   f   s   B   o   o   t   S   e   r   v   .   d
0106500    e   c   l   "  \r   g   e   t       "   I   f   s   F   i   l
0106520  376 001  \0   M 323   e   s   .   d   e   c   l   "  \r   g   e
0106540    t       "   I   f   s   D   i   r   s   .   d   e   c   l   "
0106560   \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /    
0106600    o   u   t   g   o   i   n   g       p   r   o   c   e   d   u
0106620    r   e   s  \r   C   r   e   a   t   e   B   o   o   t   S   e
0106640    r   v   ;       I   n   s   t   a   l   l   B   o   o   t   F
0106660    i   l   e   s  \r  \r   /   /       i   n   c   o   m   i   n
0106700    g       p   r   o   c   e   d   u   r   e   s  \r   B   o   o
0106720    t   S   e   r   v   E   v   e   n   t   ;       F   i   n   d
0106740    B   F   E   ;       I   n   s   e   r   t   B   F   E   ;    
0106760    B   F   T   C   o   m   p   a   r   e   K   e   y   ;       B
0107000    F   T   E   n   t   r   y   L   e   n   g   t   h  \r   C   r
0107020    e   a   t   e   E   v   e   n   t  \r   L   o   o   k   u   p
0107040    I   F   S   F   i   l   e   ;       N   e   x   t   F   D   ;
0107060        D   e   s   t   r   o   y   F   D   ;       G   e   t   B
0107100    u   f   f   e   r   F   o   r   F   D  \r   O   p   e   n   I
0107120    F   S   S   t   r 376 001  \0 003 363   e   a   m   ;       C
0107140    l   o   s   e   I   F   S   S   t   r   e   a   m   ;       D
0107160    e   l   e   t   e   F   i   l   e   F   r   o   m   F   D   ;
0107200        I   F   S   O   p   e   n   F   i   l   e   ;       S   t
0107220    r   e   a   m   s   F   D  \r   R   e   a   d   B   l   o   c
0107240    k   ;       W   r   i   t   e   B   l   o   c   k   ;       C
0107260    l   o   s   e   s   ;       F   i   l   e   L   e   n   g   t
0107300    h   ;       S   e   t   F   i   l   e   P   o   s   ;       P
0107320    o   s   i   t   i   o   n   P   a   g   e  \r   R   e   a   d
0107340    L   e   a   d   e   r   P   a   g   e   ;       W   r   i   t
0107360    e   L   e   a   d   e   r   P   a   g   e  \r   O   p   e   n
0107400    I   F   S   T   r   e   e   ;       C   l   o   s   e   B   T
0107420    r   e   e   ;       @   V   W   R   P   ;       V   i   r   t
0107440    u   a   l   P   a   g   e  \r   E   x   t   r   a   c   t   S
0107460    u   b   s   t   r   i   n   g   ;       C   o   p   y   S   t
0107500    r   i   n   g  \r   S   y   s   A   l   l   o   c   a   t   e
0107520    ;       S   y   s   A   l   l   o   c 376 001  \0   2   "   a
0107540    t   e   Z   e   r   o   ;       S   y   s   F   r   e   e   ;
0107560        M   o   v   e   B   l   o   c   k   ;       I   F   S   E
0107600    r   r   o   r  \r  \r   /   /       i   n   c   o   m   i   n
0107620    g       s   t   a   t   i   c   s  \r   @   b   s   ;       p
0107640    r   i   m   a   r   y   I   F   S  \r   ]  \r  \r   /   /   -
0107660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0107760    -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t    
0110000    C   r   e   a   t   e   B   o   o   t   S   e   r   v   (   )
0110020        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0110040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0110120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0110140  001  \0 340   E   -   -   -  \r   [  \r   b   s       =       S
0110160    y   s   A   l   l   o   c   a   t   e   Z   e   r   o   (   l
0110200    e   n   B   S   )  \r   b   s   >   >   B   S   .   s   t   a
0110220    t   s   .   v   e   r   s   i   o   n       =       b   o   o
0110240    t   S   t   a   t   s   V   e   r   s   i   o   n  \r   b   s
0110260    >   >   B   S   .   i   n   t   e   r   n   a   l   L   o   c
0110300    k       =       t   r   u   e           /   /       u   n   t
0110320    i   l       B   F   T       B   -   t   r   e   e       i   s
0110340        b   u   i   l   t  \r   C   r   e   a   t   e   E   v   e
0110360    n   t   (   B   o   o   t   S   e   r   v   E   v   e   n   t
0110400    )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0110420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0110520    -   -   -  \r   a   n   d       I   n   s   t   a   l   l   B
0110540    o   o   t   F 376 001  \0   !   H   i   l   e   s   (   )    
0110560    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0110600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0110700    -  \r   /   /       I   n   s   t   a   l   l       a   l   l
0110720        b   o   o   t       f   i   l   e   s       c   u   r   r
0110740    e   n   t   l   y       r   e   s   i   d   i   n   g       i
0110760    n       <   S   y   s   t   e   m   >   B   o   o   t   >   .
0111000   \r   /   /       C   a   l   l   e   r       i   s       r   e
0111020    s   p   o   n   s   i   b   l   e       f   o   r       w   r
0111040    i   t   e   -   l   o   c   k   i   n   g       t   h   e    
0111060    B   F   T   .  \r   [  \r   i   f       b   s   >   >   B   S
0111100    .   t   r   e   e       n   e       0       t   h   e   n    
0111120    C   l   o   s   e   B   T   r   e   e   (   b   s   >   >   B
0111140    S   .   t   r   e   e   )  \r  \r 376 001  \0 265 016   /   /
0111160        (   R   e   )   c   r   e   a   t   e       t   h   e    
0111200    B   -   t   r   e   e       f   i   l   e       w   i   t   h
0111220        a   l   l       a   p   p   r   o   p   r   i   a   t   e
0111240        a   t   t   r   i   b   u   t   e   s  \r   l   e   t    
0111260    s   t   r   e   a   m       =       I   F   S   O   p   e   n
0111300    F   i   l   e   (   "   B   o   o   t   >   B   o   o   t   D
0111320    i   r   e   c   t   o   r   y   .   t   r   e   e   "   ,    
0111340    0   ,       m   o   d   e   R   e   a   d   W   r   i   t   e
0111360    )  \r   i   f       s   t   r   e   a   m       e   q       0
0111400        t   h   e   n       I   F   S   E   r   r   o   r   (   e
0111420    c   C   r   e   a   t   e   E   s   s   e   n   t   i   a   l
0111440    F   i   l   e   )  \r   l   e   t       l   d       =       G
0111460    e   t   B   u   f   f   e   r   F   o   r   F   D   (   S   t
0111500    r   e   a   m   s   F   D   (   s   t   r   e   a   m   )   )
0111520   \r   R   e   a   d   L   e   a   d   e   r   P   a   g   e   (
0111540    s   t   r   e   a   m   ,       l   d   )  \r   l   d 376 001
0111560   \0  \v 002   >   >   I   L   D   .   t   y   p   e       =    
0111600    f   t   B   i   n   a   r   y  \r   l   d   >   >   I   L   D
0111620    .   b   y   t   e   S   i   z   e       =       8  \r   l   d
0111640    >   >   I   L   D   .   n   o   B   a   c   k   u   p       =
0111660        t   r   u   e  \r   l   d   >   >   I   L   D   .   u   n
0111700    d   e   l   e   t   a   b   l   e       =       t   r   u   e
0111720   \r   W   r   i   t   e   L   e   a   d   e   r   P   a   g   e
0111740    (   s   t   r   e   a   m   ,       l   d   )  \r   P   o   s
0111760    i   t   i   o   n   P   a   g   e   (   s   t   r   e   a   m
0112000    ,       b   o   o   t   T   r   e   e   P   a   g   e   s   )
0112020   \r   b   s   >   >   B   S   .   t   r   e   e       =       O
0112040    p   e   n   I   F   S   T   r   e   e   (   l   v       S   t
0112060    r   e   a   m   s   F   D   (   s   t   r   e   a   m   )   >
0112100    >   F   D   .   d   r   >   >   D   R   .   f   p   ,       p
0112120    r   i   m   a   r   y   I   F   S   ,  \r       B   F   T   C
0112140    o   m   p   a   r   e   K   e   y   ,       B   F   T   E   n
0112160    t   r   y 376 001  \0 235 345   L   e   n   g   t   h   ,    
0112200    t   r   u   e   ,       b   o   o   t   T   r   e   e   P   a
0112220    g   e   s   )  \r   S   y   s   F   r   e   e   (   l   d   )
0112240   \r   C   l   o   s   e   s   (   s   t   r   e   a   m   )  \r
0112260   \f  \r   /   /       I   n   s   t   a   l   l   B   o   o   t
0112300    F   i   l   e   s       (   c   o   n   t   '   d   )  \r  \r
0112320    /   /       E   n   u   m   e   r   a   t   e       a   l   l
0112340        f   i   l   e   s       w   i   t   h       n   a   m   e
0112360    s       o   f       t   h   e       f   o   r   m       "   <
0112400    S   y   s   t   e   m   >   B   o   o   t   >   b   f   n   -
0112420    n   a   m   e   .   b   o   o   t   "   ,  \r   /   /       r
0112440    e   f   o   r   m   a   t       t   h   e   m       i   f    
0112460    n   e   c   e   s   s   a   r   y   ,       a   n   d       i
0112500    n   s   e   r   t       t   h   e   m       i   n   t   o    
0112520    t   h   e       B   F   T   .  \r   l   e   t       f   d    
0112540    =       L   o   o   k   u   p   I   F   S   F   i   l   e   (
0112560    "   B   o   o   t   >   *   * 376 001  \0   y 212   -   *   *
0112600    "   ,       l   c   V   H   i   g   h   e   s   t   +   l   c
0112620    M   u   l   t   i   p   l   e   )  \r   i   f       f   d    
0112640    n   e       0       t   h   e   n  \r               [       /
0112660    /       r   e   p   e   a   t  \r               l   e   t    
0112700    b   o   o   t   F   i   l   e       =       O   p   e   n   I
0112720    F   S   S   t   r   e   a   m   (   f   d   )           /   /
0112740        m   o   d   e   R   e   a   d  \r               i   f    
0112760    b   o   o   t   F   i   l   e       e   q       0       l   o
0113000    o   p  \r  \r               /   /       p   i   c   k       a
0113020    p   a   r   t       t   h   e       f   i   l   e       n   a
0113040    m   e       a   n   d       b   u   i   l   d       B   F   D
0113060        f   o   r       i   t  \r               l   e   t       b
0113100    f   d       =       v   e   c       (   o   f   f   s   e   t
0113120        B   F   D   .   n   a   m   e   /   1   6       +       1
0113140    2   7   )  \r               b   f   d   >   >   B   F   D   .
0113160    b   f   n       =       0  \r               l   e 376 001  \0
0113200    q   p   t       i       =       f   d   >   >   F   D   .   l
0113220    e   n   S   u   b   D   i   r   S   t   r   i   n   g   +   1
0113240   \r               l   e   t       c   h   a   r       =       n
0113260    i   l  \r               w   h   i   l   e       i       l   s
0113300        f   d   >   >   F   D   .   l   e   n   B   o   d   y   S
0113320    t   r   i   n   g       d   o  \r                           [
0113340   \r                           c   h   a   r       =       f   d
0113360    >   >   F   D   .   d   r   >   >   D   R   .   p   a   t   h
0113400    N   a   m   e   .   c   h   a   r   ^   i  \r                
0113420            i   f       (   c   h   a   r   -   $   0   )       u
0113440    g   r       7       b   r   e   a   k  \r                    
0113460        b   f   d   >   >   B   F   D   .   b   f   n       =    
0113500    b   f   d   >   >   B   F   D   .   b   f   n       l   s   h
0113520    i   f   t       3       +       c   h   a   r       -       $
0113540    0  \r                           i       =       i   +   1  \r
0113560                            ]  \r               i   f       c   h
0113600    a   r 376 001  \0   q 301       n   e       $   -       %    
0113620        /   /       i   m   p   r   o   p   e   r       f   i   l
0113640    e   n   a   m   e   ,       b   y   p   a   s   s  \r        
0113660            F   i   n   d   B   F   E   (   b   f   d   >   >   B
0113700    F   D   .   b   f   n   )       n   e       0       t   h   e
0113720    n           /   /       d   u   p   l   i   c   a   t   e    
0113740    b   f   n   ,       b   y   p   a   s   s  \r                
0113760            [       C   l   o   s   e   I   F   S   S   t   r   e
0114000    a   m   (   b   o   o   t   F   i   l   e   )   ;       l   o
0114020    o   p       ]  \r               l   e   t       b   o   o   t
0114040    N   a   m   e       =       E   x   t   r   a   c   t   S   u
0114060    b   s   t   r   i   n   g   (   l   v       f   d   >   >   F
0114100    D   .   d   r   >   >   D   R   .   p   a   t   h   N   a   m
0114120    e   ,  \r                   i   +   1   ,       f   d   >   >
0114140    F   D   .   l   e   n   B   o   d   y   S   t   r   i   n   g
0114160    -   1   )  \r               C   o   p   y   S   t   r   i   n
0114200    g   (   l   v       b   f 376 001  \0   L   -   d   >   >   B
0114220    F   D   .   n   a   m   e   ,       b   o   o   t   N   a   m
0114240    e   )  \r               S   y   s   F   r   e   e   (   b   o
0114260    o   t   N   a   m   e   )  \r  \r               /   /       T
0114300    h   e   r   e       a   r   e       t   w   o       k   i   n
0114320    d   s       o   f       b   o   o   t       f   i   l   e   .
0114340   \r               /   /       F   o   r       m   o   r   e    
0114360    o   n       b   o   o   t       f   i   l   e   s       s   e
0114400    e       t   h   e       B   u   i   l   d   B   o   o   t    
0114420    d   o   c   u   m   e   n   t   a   t   i   o   n  \r  \r    
0114440            /   /       B   -   F   i   l   e   s       p   r   o
0114460    d   u   c   e   d       b   y       B   u   i   l   d   B   o
0114500    o   t   .   r   u   n   :  \r               /   /  \t   F   i
0114520    l   e       p   a   g   e       1   :  \t   D   i   s   k   B
0114540    o   o   t       l   o   a   d   e   r  \r               /   /
0114560   \t   F   i   l   e       p   a   g   e       2   :  \t   l   o
0114600    c   a   t   i   o   n   s       0   -   3   7 376 001  \0   k
0114620  366   7   b  \r               /   /  \t   F   i   l   e       p
0114640    a   g   e       3   :  \t   l   o   c   a   t   i   o   n   s
0114660        1   0   0   0   b       -       1   3   7   7   b  \r    
0114700            /   /  \t   F   i   l   e       p   a   g   e       4
0114720    :  \t   l   o   c   a   t   i   o   n   s       1   4   0   0
0114740    b       -       1   7   7   7   b  \r               /   /  \t
0114760    .   .   .  \r               /   /  \t   F   i   l   e       p
0115000    a   g   e       n   :  \t   l   o   c   a   t   i   o   n   s
0115020        (   n   -   1   )   *   4   0   0   b       -       (   n
0115040    -   1   )   *   4   0   0   b   +   3   7   7   b  \r        
0115060        /   /       B   -   F   i   l   e   s       h   a   v   e
0115100        0       i   n       w   o   r   d       1       o   f    
0115120    t   h   e       f   i   r   s   t       p   a   g   e   .  \r
0115140                /   /       B   -   F   i   l   e   s       a   r
0115160    e       s   t   a   r   t   e   d       b   y       j   m   p
0115200        @   0       w   h   e   n       l   o   a   d   i   n   g
0115220      376 001  \0 344 206   i   s       c   o   m   p   l   e   t
0115240    e   .  \r  \r               /   /       S   -   F   i   l   e
0115260    s       p   r   o   d   u   c   e   d       b   y       S   w
0115300    a   t       O   u   t   L   d   :  \r               /   /  \t
0115320    F   i   l   e       p   a   g   e       1   :  \t   I   n   O
0115340    u   t   L   d       l   o   a   d   e   r  \r               /
0115360    /  \t   F   i   l   e       p   a   g   e       2   :  \t   l
0115400    o   c   a   t   i   o   n   s       1   0   0   0   b       -
0115420        1   3   7   7   b  \r               /   /  \t   F   i   l
0115440    e       p   a   g   e       3   :  \t   l   o   c   a   t   i
0115460    o   n   s       1   4   0   0       -       1   7   7   7   b
0115500   \r               /   /  \t   .   .   .  \r               /   /
0115520   \t   F   i   l   e       p   a   g   e       2   5   3   :  \t
0115540    l   o   c   a   t   i   o   n   s       1   7   6   4   0   0
0115560    b   -   1   7   6   7   7   7   b  \r               /   /  \t
0115600    F   i   l   e       p   a   g   e       2   5   4   :  \t   l
0115620    o   c   a   t   i   o 376 001  \0 205  \0   n   s       4   0
0115640    0   b       -       7   7   7   b  \r               /   /  \t
0115660    F   i   l   e       p   a   g   e       2   5   5   :  \t   l
0115700    o   c   a   t   i   o   n   s       0       -       3   7   7
0115720    b  \r               /   /       S   -   F   i   l   e   s    
0115740    h   a   v   e       a       n   o   n   z   e   r   o       v
0115760    a   l   u   e       i   n       [   1   .   .   3   7   7   B
0116000    ]       i   n       w   o   r   d       1       o   f       t
0116020    h   e       f   i   r   s   t       p   a   g   e   .  \r    
0116040            /   /       S   o   m   e       S   -   F   i   l   e
0116060    s       c   a   n       b   e       s   t   a   r   t   e   d
0116100        b   y       j   m   p       @   0   .  \r               /
0116120    /       T   h   i   s       i   s       t   h   e       k   i
0116140    n   d       w   e       u   s   e   ,       b   u   t       w
0116160    e       r   e   -   f   o   r   m   a   t       t   h   e   m
0116200        f   i   r   s   t   .  \r  \r               /   /       T
0116220    h   e   r   e       a   r   e       o   t 376 001  \0   w   E
0116240    h   e   r       k   i   n   d   s       o   f       b   o   o
0116260    t       f   i   l   e   s       a   s       w   e   l   l    
0116300    (   e   .   g   .   ,       m   i   c   r   o   c   o   d   e
0116320        f   i   l   e   s   ,  \r               /   /       S   u
0116340    n       b   o   o   t       f   i   l   e   s   ,       e   t
0116360    c   .   )           T   h   e   s   e       a   r   e       i
0116400    d   e   n   t   i   f   i   e   d       b   y       w   o   r
0116420    d       1       n   o   t       i   n       [   1   .   .   3
0116440    7   7   B   ]   .  \r               /   /       W   e       u
0116460    s   e       t   h   e   s   e       a   s   -   i   s       a
0116500    n   d       d   o       n   o   t       a   t   t   e   m   p
0116520    t       t   o       r   e   f   o   r   m   a   t       t   h
0116540    e   m   .  \r  \f  \r   /   /       I   n   s   t   a   l   l
0116560    B   o   o   t   F   i   l   e   s       (   c   o   n   t   '
0116600    d   )  \r  \r               l   e   t       b   u   f   f   e
0116620    r       =       S   y   s   A   l   l   o   c   a   t   e   (
0116640  376 001  \0 341 273   2   5   6   )  \r               R   e   a
0116660    d   B   l   o   c   k   (   b   o   o   t   F   i   l   e   ,
0116700        b   u   f   f   e   r   ,       2   5   6   )  \r        
0116720        M   o   v   e   B   l   o   c   k   (   l   v       b   f
0116740    d   >   >   B   F   D   .   d   a   t   e   ,       b   u   f
0116760    f   e   r   +   3   ,       2   )  \r               l   e   t
0117000        n   e   w   F   i   l   e       =       v   a   l   o   f
0117020   \r                           [           /   /       t   h   i
0117040    s       b   l   o   c   k       r   e   t   u   r   n   s    
0117060    a       d   i   s   k       s   t   r   e   a   m       i   f
0117100    f       t   h   e       f   i   l   e       s   h   o   u   l
0117120    d       b   e       r   e   f   o   r   m   a   t   t   e   d
0117140   \r                           i   f       (   b   u   f   f   e
0117160    r   !   1   )   -   1       u   g   e       3   7   7   B    
0117200    t   h   e   n           /   /       n   o   t       i   n    
0117220    [   1   .   .   3   7   7   B   ]   ?  \r                    
0117240                    r 376 001  \0   1 341   e   s   u   l   t   i
0117260    s       0           /   /       B   -   f   i   l   e       o
0117300    r       f   i   l   e       o   f       u   n   k   n   o   w
0117320    n       t   y   p   e  \r                           /   /    
0117340    S   -   f   i   l   e   s       a   r   e       a   l   w   a
0117360    y   s       e   x   a   c   t   l   y       3   7   7   0   0
0117400    0   B       b   y   t   e   s       l   o   n   g   .        
0117420    I   f       t   h   i   s       f   i   l   e  \r            
0117440                /   /       i   s       n   o   t       t   h   e
0117460        c   o   r   r   e   c   t       l   e   n   g   t   h    
0117500    t   h   e   n       d   o       n   o   t       t   r   y    
0117520    t   o       r   e   f   o   r   m   a   t       i   t   .  \r
0117540                            l   e   t       f   i   l   e   L   e
0117560    n   g   t   h       =       v   e   c       1  \r            
0117600                F   i   l   e   L   e   n   g   t   h   (   b   o
0117620    o   t   F   i   l   e   ,       f   i   l   e   L   e   n   g
0117640    t   h   )  \r                         376 001  \0 341   W   u
0117660    n   l   e   s   s       f   i   l   e   L   e   n   g   t   h
0117700    !   0       e   q       1       &       f   i   l   e   L   e
0117720    n   g   t   h   !   1       e   q       1   7   7   0   0   0
0117740    B       d   o       r   e   s   u   l   t   i   s       0  \r
0117760                            l   e   t       n   e   w   N   a   m
0120000    e       =       E   x   t   r   a   c   t   S   u   b   s   t
0120020    r   i   n   g   (   l   v       f   d   >   >   F   D   .   d
0120040    r   >   >   D   R   .   p   a   t   h   N   a   m   e   ,  \r
0120060                                1   ,       f   d   >   >   F   D
0120100    .   l   e   n   B   o   d   y   S   t   r   i   n   g   -   1
0120120    )  \r                           l   e   t       s       =    
0120140    I   F   S   O   p   e   n   F   i   l   e   (   n   e   w   N
0120160    a   m   e   ,       0   ,       m   o   d   e   W   r   i   t
0120200    e   )  \r                           S   y   s   F   r   e   e
0120220    (   n   e   w   N   a   m   e   )  \r                        
0120240    r   e   s   u   l   t   i   s       s  \r                 376
0120260  001  \0 242   g           ]  \r               t   e   s   t    
0120300    n   e   w   F   i   l   e       e   q       0  \r            
0120320                i   f   s   o       C   l   o   s   e   I   F   S
0120340    S   t   r   e   a   m   (   b   o   o   t   F   i   l   e   )
0120360   \r                           i   f   n   o   t           /   /
0120400        S   -   f   i   l   e       -       m   a   k   e       i
0120420    t       B   -   f   o   r   m   a   t  \r                    
0120440                    [  \r                                       b
0120460    u   f   f   e   r   !   1       =       0       /   /       m
0120500    a   r   k       i   t       a   s       a       B   -   f   o
0120520    r   m   a   t       f   i   l   e  \r                        
0120540                W   r   i   t   e   B   l   o   c   k   (   n   e
0120560    w   F   i   l   e   ,       b   u   f   f   e   r   ,       2
0120600    5   6   )           /   /   u   s   e   l   e   s   s       s
0120620    w   a   t       I   n   L   d   r  \r  \r                    
0120640                    /   /       r   e   a   d       p   a   g   e
0120660        c   o   n 376 001  \0   b 250   t   a   i   n   i   n   g
0120700        l   o   c       0   -   #   3   7   7  \r                
0120720                        S   e   t   F   i   l   e   P   o   s   (
0120740    b   o   o   t   F   i   l   e   ,       1   ,       2   5   4
0120760        l   s   h   i   f   t       9   )           /   /       l
0121000    a   s   t       p   a   g   e       o   f       f   i   l   e
0121020        (   2   5   5   )  \r                                    
0121040    W   r   i   t   e   B   l   o   c   k   (   n   e   w   F   i
0121060    l   e   ,       b   u   f   f   e   r   ,       R   e   a   d
0121100    B   l   o   c   k   (   b   o   o   t   F   i   l   e   ,    
0121120    b   u   f   f   e   r   ,       2   5   6   )   )  \r  \r    
0121140                                    /   /       n   o   w       c
0121160    o   p   y       t   h   e       r   e   s   t       o   f    
0121200    t   h   e       f   i   l   e   .  \r                        
0121220                /   /       s   t   o   p       o   n       p   a
0121240    g   e       c   o   u   n   t       n   o   t       e   n   d
0121260        o   f       f   i   l   e   . 376 001  \0   R 273  \r    
0121300                                    /   /       n   o   t   e    
0121320    t   h   a   t       f   i   l   e       p   a   g   e       2
0121340    5   4       (   c   o   r   e       p   a   g   e       1   )
0121360        i   s       d   i   s   c   a   r   d   e   d  \r        
0121400                                S   e   t   F   i   l   e   P   o
0121420    s   (   b   o   o   t   F   i   l   e   ,       0   ,       5
0121440    1   2   )           /   /       s   e   t       u   p       t
0121460    o       r   e   a   d       p   a   g   e       2  \r        
0121500                                /   /       S   -   F   o   r   m
0121520    a   t       f   i   l   e   s       a   r   e       g   u   a
0121540    r   a   n   t   e   e   d       t   o       b   e       a   t
0121560        l   e   a   s   t       2   5   5       p   a   g   e   s
0121600        l   o   n   g  \r                                       f
0121620    o   r       i       =       2       t   o       2   5   3    
0121640    d   o  \r                                                   W
0121660    r   i   t   e   B   l   o   c   k   (   n   e   w   F 376 001
0121700   \0 351 220   i   l   e   ,       b   u   f   f   e   r   ,    
0121720    R   e   a   d   B   l   o   c   k   (   b   o   o   t   F   i
0121740    l   e   ,       b   u   f   f   e   r   ,       2   5   6   )
0121760    )  \r  \r                                       C   l   o   s
0122000    e   s   (   n   e   w   F   i   l   e   )  \r                
0122020                        C   l   o   s   e   I   F   S   S   t   r
0122040    e   a   m   (   b   o   o   t   F   i   l   e   )  \r        
0122060                                D   e   l   e   t   e   F   i   l
0122100    e   F   r   o   m   F   D   (   f   d   )           /   /    
0122120    d   e   l   e   t   e       t   h   e       o   l   d       o
0122140    n   e  \r                                       ]  \r  \r    
0122160            S   y   s   F   r   e   e   (   b   u   f   f   e   r
0122200    )  \r  \r               /   /       N   o   w       i   n   s
0122220    e   r   t       t   h   e       e   n   t   r   y       i   n
0122240    t   o       t   h   e       b   f   t  \r               l   e
0122260    t       b   f   e       =       I   n   s   e   r   t   B   F
0122300    E   (   b 376  \0 255 226   "   f   d   )  \r               b
0122320    f   e   >   >   B   F   E   .   e   x   i   s   t   s       =
0122340        t   r   u   e  \r               V   W   R   P   (   V   i
0122360    r   t   u   a   l   P   a   g   e   (   b   f   e       r   s
0122400    h   i   f   t       8   )   )           /   /       m   a   r
0122420    k       B   F   E       d   i   r   t   y  \r               ]
0122440        r   e   p   e   a   t   w   h   i   l   e       N   e   x
0122460    t   F   D   (   f   d   )  \r  \r   i   f       f   d       n
0122500    e       0       t   h   e   n       D   e   s   t   r   o   y
0122520    F   D   (   f   d   )  \r   b   s   >   >   B   S   .   i   n
0122540    t   e   r   n   a   l   L   o   c   k       =       f   a   l
0122560    s   e  \r   ]  \r 377  \0  \0   I   f   s   B   o   o   t   A
0122600    .   a   s   m  \0 373 226   }   5   =  \0  \0 376 001  \0   B
0122620  231   ;       I   f   s   B   o   o   t   A   .   a   s   m    
0122640    -   -       a   s   s   e   m   b   l   y   -   l   a   n   g
0122660    u   a   g   e       c   o   d   e       f   o   r       I   F
0122700    S       b   o   o   t       s   e   r   v   e   r  \r   ;    
0122720    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0122740    C   o   r   p   o   r   a   t   i   o   n       1   9   8   0
0122760    ,       1   9   8   1  \r   ;       L   a   s   t       m   o
0123000    d   i   f   i   e   d       J   a   n   u   a   r   y       2
0123020    ,       1   9   8   1           5   :   5   7       P   M    
0123040    b   y       T   a   f   t  \r  \r   .   e   n   t       B   o
0123060    o   t   N   o   o   p  \r   .   e   n   t       B   F   T   E
0123100    n   t   r   y   L   e   n   g   t   h  \r  \r   .   s   r   e
0123120    l  \r  \r   B   o   o   t   N   o   o   p   :       .   B   o
0123140    o   t   N   o   o   p  \r   B   F   T   E   n   t   r   y   L
0123160    e   n   g   t   h   :       .   B   F   T   E   n   t   r   y
0123200    L   e   n   g   t   h  \r  \r   .   n   r   e   l  \r  \r   ;
0123220      376 001  \0   {   [   T   h   i   s       i   s       a   n
0123240        a   s   s   e   m   b   l   y   -   l   a   n   g   u   a
0123260    g   e       p   r   o   c   e   d   u   r   e       i   n   c
0123300    l   u   d   e   d       i   n       t   h   e       B   o   o
0123320    t   S   e   r   v       o   v   e   r   l   a   y   ,  \r   ;
0123340        a   n   d       c   a   l   l   e   d       i   n       o
0123360    r   d   e   r       t   o       f   o   r   c   e       t   h
0123400    a   t       o   v   e   r   l   a   y       i   n   t   o    
0123420    b   a   n   k       0       s   o       t   h   a   t       t
0123440    h   e  \r   ;       b   o   o   t   L   o   a   d   e   r   P
0123460    a   c   k   e   t       (   i   n       t   h   e       s   a
0123500    m   e       o   v   e   r   l   a   y   )       c   a   n    
0123520    b   e       c   o   p   i   e   d   .  \r  \r   .   B   o   o
0123540    t   N   o   o   p   :  \r  \t   j   m   p       1       3  \r
0123560   \r  \r  \r   ;       B   F   T   E   n   t   r   y   L   e   n
0123600    g   t   h   (   b   f   e   )       =       b   f   e   >   >
0123620    B   F   E   .   l   e 376  \0   > 303   m   n   g   t   h  \r
0123640   \r   .   B   F   T   E   n   t   r   y   L   e   n   g   t   h
0123660    :  \r  \t   s   t   a       0       2       2  \r  \t   l   d
0123700    a       0       @   2       2  \r  \t   j   m   p       1    
0123720    3  \r  \r   .   e   n   d  \r  \r 377  \0  \0   I   f   s   N
0123740    a   m   e   .   d   e   c   l  \0 373 230  \f 204   4  \0  \0
0123760  376 001  \0 264   D   /   /       I   f   s   N   a   m   e   .
0124000    d   e   c   l       -   -       d   e   f   i   n   i   t   i
0124020    o   n   s       n   e   e   d   e   d       b   y       c   l
0124040    i   e   n   t   s       o   f       t   h   e       I   f   s
0124060    N   a   m   e   L   o   o   k   u   p       m   o   d   u   l
0124100    e  \r   /   /       C   o   p   y   r   i   g   h   t       X
0124120    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0124140        1   9   7   9   ,       1   9   8   1  \r  \r   /   /    
0124160    L   a   s   t       m   o   d   i   f   i   e   d       N   o
0124200    v   e   m   b   e   r       1   ,       1   9   8   1        
0124220    3   :   0   6       P   M       b   y       T   a   f   t  \r
0124240   \r   m   a   n   i   f   e   s   t  \r   [  \r   /   /       E
0124260    r   r   o   r       c   o   d   e   s  \r   e   c   N   a   m
0124300    e   F   i   r   s   t       =       8   0   0  \t   /   /    
0124320    f   i   r   s   t       e   r   r   o   r       c   o   d   e
0124340        i   n       t   h   i   s       g   r   o   u   p       -
0124360    -       m   u   s 376 001  \0 257   )   t       b   e       g
0124400    r       1   0   0  \r   e   c   N   a   m   e   S   e   r   v
0124420    e   r   D   i   s   a   b   l   e   d       =       8   0   0
0124440   \r   e   c   N   a   m   e   I   l   l   e   g   a   l       =
0124460        8   0   1  \r   e   c   N   a   m   e   N   o   t   F   o
0124500    u   n   d       =       2   2   5   0           /   /       m
0124520    u   s   t       m   a   t   c   h       P   u   p   N   e   t
0124540    D   i   r   .   d   e   c   l  \r   e   c   N   a   m   e   I
0124560    n   c   o   n   s   i   s   t   e   n   t       =       8   0
0124600    3  \r   e   c   A   d   d   r   e   s   s   N   o   t   F   o
0124620    u   n   d       =       8   0   4  \r   e   c   N   a   m   e
0124640    D   u   p   l   i   c   a   t   e   R   e   c   o   r   d    
0124660    =       8   0   5           /   /       I   F   S   E   r   r
0124700    o   r       o   n   l   y  \r   e   c   C   a   n   t   G   e
0124720    t   T   h   e   r   e       =       2   2   5   3           /
0124740    /       m   u   s   t       m   a   t   c   h       P   u   p
0124760    N   e   t   D   i   r   .   d   e   c 376  \0   =   B 344   l
0125000   \r   e   c   N   o   S   e   r   v   e   r   R   e   s   p   o
0125020    n   d   e   d       =       2   2   5   2           /   /    
0125040    m   u   s   t       m   a   t   c   h       P   u   p   N   e
0125060    t   D   i   r   .   d   e   c   l  \r   ]  \r 377  \0  \0   I
0125100    f   s   N   a   m   e   S   e   r   v   .   d   e   c   l  \0
0125120  373 234   X 342 250  \0  \0 376 001  \0 310   2   /   /       I
0125140    f   s   N   a   m   e   S   e   r   v   .   d   e   c   l    
0125160    -   -       i   n   t   e   r   n   a   l       d   e   f   i
0125200    n   i   t   i   o   n   s  \r   /   /       C   o   p   y   r
0125220    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0125240    r   a   t   i   o   n       1   9   7   9   ,       1   9   8
0125260    1   ,       1   9   8   4  \r   /   /       L   a   s   t    
0125300    m   o   d   i   f   i   e   d       F   e   b   r   u   a   r
0125320    y       1   4   ,       1   9   8   4           6   :   4   7
0125340        A   M       b   y       B   o   g   g   s  \r  \r   /   /
0125360        R   e   q   u   i   r   e   s       p   r   e   v   i   o
0125400    u   s       g   e   t       o   f       I   f   s   .   d   e
0125420    c   l   ,       P   u   p   0   .   d   e   c   l   ,       a
0125440    n   d       P   u   p   1   .   d   e   c   l  \r   g   e   t
0125460        "   I   f   s   M   i   s   c   .   d   e   c   l   "  \r
0125500    g   e   t       "   I   f   s   N   a   m   e   .   d   e   c
0125520    l   "  \r  \r   m   a   n   i   f   e   s   t 376 001  \0 331
0125540  214       n   a   m   e   S   t   a   t   s   V   e   r   s   i
0125560    o   n       =       1  \r  \r   /   /   -   -   -   -   -   -
0125600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0125700    -   -   -   -   -   -  \r   s   t   r   u   c   t   u   r   e
0125720        S   t   a   t   s   :  \r   /   /   -   -   -   -   -   -
0125740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0126040    -   -   -   -   -   -  \r   [  \r   v   e   r   s   i   o   n
0126060        w   o   r   d  \t  \t   /   /       =       n   a   m   e
0126100    S   t   a   t   s   V   e   r   s   i   o   n  \r   n   a   m
0126120    e   R   e   q   s       w   o   r   d       2  \t  \t   /   /
0126140      376 001  \0 334 225   n   u   m   b   e   r       o   f    
0126160    r   e   q   u   e   s   t   s       f   o   r       n   a   m
0126200    e       l   o   o   k   u   p  \r   d   i   r   R   e   q   s
0126220        w   o   r   d       2  \t  \t   /   /       n   u   m   b
0126240    e   r       o   f       r   e   q   u   e   s   t   s       t
0126260    o       s   e   n   d       d   i   r   e   c   t   o   r   y
0126300   \r   c   a   c   h   e   H   i   t   s       w   o   r   d    
0126320    2  \t   /   /       n   u   m   b   e   r       o   f       n
0126340    a   m   e       c   a   c   h   e       h   i   t   s  \r   c
0126360    a   c   h   e   M   i   s   s   e   s       w   o   r   d    
0126400    2  \t   /   /       n   u   m   b   e   r       o   f       n
0126420    a   m   e       c   a   c   h   e       m   i   s   s   e   s
0126440   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0126460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0126540    -   -   -   -   -   - 376 001  \0 261   \   -   -   -   -   -
0126560    -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u   r
0126600    e       N   S   :  \t  \t   /   /       '   g   l   o   b   a
0126620    l       f   r   a   m   e   '       f   o   r       N   a   m
0126640    e       S   e   r   v   e   r  \r   /   /   -   -   -   -   -
0126660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0126760    -   -   -   -   -   -   -  \r   [  \r   s   t   a   t   s    
0127000    @   S   t   a   t   s  \r  \r   g   l   o   b   a   l   L   o
0127020    c   k   s       w   o   r   d       =  \r               e   x
0127040    t   e   r   n   a   l   L   o   c   k       w   o   r   d  \t
0127060    /   /       s   e   t       b   y       p   t   N   a   m   e
0127100    L   o   c   k   R   e   q   u   e   s   t  \r  \r   b   c   s
0127120    t   T   i   m   e   r       w   o   r   d  \t  \t   /   /    
0127140    c   o   u   n   t   s       5   -   m   i 376 001  \0   C   <
0127160    n   u   t   e       i   n   t   e   r   v   a   l   s  \r   b
0127200    c   s   t   I   n   t   e   r   v   a   l       w   o   r   d
0127220   \t   /   /       d   i   r       b   c   s   t       i   n   t
0127240    e   r   v   a   l       i   n       u   n   i   t   s       o
0127260    f       5       m   i   n   u   t   e   s  \r   c   t   x    
0127300    w   o   r   d  \t  \t   /   /       -   >       N   a   m   e
0127320    C   t   x       f   o   r       S   e   n   d   N   e   t   D
0127340    i   r       o   r       R   e   c   e   i   v   e   N   e   t
0127360    D   i   r  \r  \r   v   e   r   s   i   o   n       w   o   r
0127400    d  \t  \t   /   /       c   u   r   r   e   n   t       n   e
0127420    t   w   o   r   k       d   i   r   e   c   t   o   r   y    
0127440    v   e   r   s   i   o   n  \r   t   r   e   e       w   o   r
0127460    d  \t  \t   /   /       -   >       n   e   t   w   o   r   k
0127500        d   i   r   e   c   t   o   r   y       B   -   t   r   e
0127520    e       (   0       =   >       n   o   n   e   )  \r   t   r
0127540    e   e   L   o   c   k       @   L   o   c   k  \t  \t   /   /
0127560  376 001  \0   G 253       c   o   n   t   r   o   l   s       a
0127600    c   c   e   s   s       t   o       t   h   e       B   -   t
0127620    r   e   e  \r   ]  \r   m   a   n   i   f   e   s   t       l
0127640    e   n   N   S       =       s   i   z   e       N   S   /   1
0127660    6  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0127700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0130000    -   -  \r   s   t   r   u   c   t   u   r   e       H   d   r
0130020    :  \t  \t   /   /       N   e   t   w   o   r   k       d   i
0130040    r   e   c   t   o   r   y       h   e   a   d   e   r  \r   /
0130060    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0130100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0130160    -   -   -   -   - 376 001  \0   N   `   -   -   -   -   -   -
0130200    -   -  \r   [  \r   n   u   m   N   a   m   e   s       w   o
0130220    r   d  \r   f   i   r   s   t   N   a   m   e       w   o   r
0130240    d  \r   n   u   m   A   d   d   r   s       w   o   r   d  \r
0130260    f   i   r   s   t   A   d   d   r       w   o   r   d  \r   s
0130300    i   z   e   E   n   t   r   y   S   p   a   c   e       w   o
0130320    r   d  \r   f   i   r   s   t   E   n   t   r   y       w   o
0130340    r   d  \r   v   e   r   s   i   o   n       w   o   r   d  \t
0130360   \t   /   /       v   e   r   s   i   o   n       n   u   m   b
0130400    e   r  \r   ]  \r   m   a   n   i   f   e   s   t       l   e
0130420    n   H   d   r       =       s   i   z   e       H   d   r   /
0130440    1   6  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0130460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0130560    -   -  \r   s   t   r   u   c   t   u 376 001  \0 232 345   r
0130600    e       A   t   t   r   :  \t  \t   /   /       N   e   t   w
0130620    o   r   k       d   i   r   e   c   t   o   r   y       a   t
0130640    t   r   i   b   u   t   e       b   l   o   c   k  \r   /   /
0130660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0130760    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   n
0131000    a   m   e       w   o   r   d  \t  \t   /   /       -   >    
0131020    s   t   r   i   n   g  \r   v   a   l   u   e       w   o   r
0131040    d  \t  \t   /   /       -   >       s   t   r   i   n   g  \r
0131060    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0131100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0131160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0131200  001  \0   N 202   -   -  \r   s   t   r   u   c   t   u   r   e
0131220        E   n   t   r   y   :  \t   /   /       N   e   t   w   o
0131240    r   k       d   i   r   e   c   t   o   r   y       e   n   t
0131260    r   y       b   l   o   c   k  \r   /   /   -   -   -   -   -
0131300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0131400    -   -   -   -   -   -   -  \r   [  \r   n   a   m   e   L   i
0131420    s   t   H   d   r       w   o   r   d  \r   a   d   d   r   L
0131440    i   s   t   H   d   r       w   o   r   d  \r   n   u   m   A
0131460    t   t   r   s       w   o   r   d  \r   a   t   t   r   ^   1
0131500    ,   1       @   A   t   t   r  \r   ]  \r  \r   /   /   -   -
0131520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0131600    -   -   -   - 376 001  \0   B 272   -   -   -   -   -   -   -
0131620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0131640    s   t   r   u   c   t   u   r   e       A   d   d   r   :  \t
0131660   \t   /   /       N   e   t   w   o   r   k       d   i   r   e
0131700    c   t   o   r   y       a   d   d   r   e   s   s       b   l
0131720    o   c   k  \r   /   /   -   -   -   -   -   -   -   -   -   -
0131740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0132040    -   -  \r   [  \r   l   i   n   k       w   o   r   d  \r   e
0132060    n   t   r   y       w   o   r   d  \r   p   o   r   t       @
0132100    P   o   r   t  \r   n   u   m   A   t   t   r   s       w   o
0132120    r   d  \r   a   t   t   r   ^   1   ,   1       @   A   t   t
0132140    r  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0132160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0132200    -   -   -   -   -   -   -   -   - 376 001  \0   > 244   -   -
0132220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0132260    -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u
0132300    r   e       N   a   m   e   :  \t  \t   /   /       N   e   t
0132320    w   o   r   k       d   i   r   e   c   t   o   r   y       n
0132340    a   m   e       b   l   o   c   k  \r   /   /   -   -   -   -
0132360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0132460    -   -   -   -   -   -   -   -  \r   [  \r   l   i   n   k    
0132500    w   o   r   d  \r   e   n   t   r   y       w   o   r   d  \r
0132520    s   t   r   i   n   g       @   S   t   r   i   n   g  \r   ]
0132540   \r  \f  \r   /   /       T   h   e       d   i   r   e   c   t
0132560    o   r   y       t   r   e   e       i   s       d   i   v   i
0132600    d   e   d       i   n   t   o       t   w   o       p 376 001
0132620   \0   ;   F   a   r   t   s   .           I   n       t   h   e
0132640        f   i   r   s   t       p   a   r   t   ,  \r   /   /    
0132660    t   h   e       t   r   e   e       i   s       o   r   g   a
0132700    n   i   z   e   d       b   y       n   a   m   e   ,       a
0132720    n   d       i   n       t   h   e       s   e   c   o   n   d
0132740        p   a   r   t       b   y       a   d   d   r   e   s   s
0132760    .  \r   /   /       A   l   l       n   a   m   e   s       a
0133000    r   e       "   l   e   s   s       t   h   a   n   "       a
0133020    l   l       a   d   d   r   e   s   s   e   s   .  \r  \r   /
0133040    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0133060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133140    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   s   t
0133160    r   u   c   t   u   r   e       N   D   T   E   :  \t  \t   /
0133200    /       N   e   t   w   o   r   k       D   i   r   e   c   t
0133220    o   r   y 376 001  \0   w  \0       T   r   e   e       E   n
0133240    t   r   y  \r   /   /   -   -   -   -   -   -   -   -   -   -
0133260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133360    -   -  \r   [  \r   t   y   p   e       b   y   t   e  \t  \t
0133400    /   /       d   t   e   T   y   p   e   N   a   m   e       o
0133420    r       d   t   e   T   y   p   e   A   d   d   r   e   s   s
0133440   \r   l   e   n   g   t   h       b   y   t   e  \t  \t   /   /
0133460        i   n       w   o   r   d   s  \r   n   a   m   e   :  \t
0133500   \t  \t   /   /       n   d   t   e   T   y   p   e   N   a   m
0133520    e       v   a   r   i   a   n   t  \r               [  \r    
0133540            s   t   r   i   n   g       @   S   t   r   i   n   g
0133560   \t   /   /       n   a   m   e       k   e   y  \r            
0133600    p   o   r   t   s   ^   1   ,   1       @   P   o   r   t  \t
0133620    /   /       c   o   r   r   e 376 001  \0 240   #   s   p   o
0133640    n   d   i   n   g       a   d   d   r   e   s   s   e   s    
0133660    -   -       s   t   a   r   t   s       a   f   t   e   r    
0133700    s   t   r   i   n   g  \r               ]       =  \r   a   d
0133720    d   r   e   s   s   :  \t  \t   /   /       n   d   t   e   T
0133740    y   p   e   A   d   d   r   e   s   s       v   a   r   i   a
0133760    n   t  \r               [  \r               p   o   r   t    
0134000    @   P   o   r   t  \t  \t   /   /       a   d   d   r   e   s
0134020    s       k   e   y  \r               s   t   r   i   n   g    
0134040    @   S   t   r   i   n   g  \t   /   /       c   o   r   r   e
0134060    s   p   o   n   d   i   n   g       n   a   m   e  \r        
0134100        ]  \r   ]  \r  \r   m   a   n   i   f   e   s   t  \r   [
0134120   \r   n   d   t   e   T   y   p   e   N   a   m   e       =    
0134140    1  \r   n   d   t   e   T   y   p   e   A   d   d   r   e   s
0134160    s       =       2  \r  \r   n   a   m   e   T   r   e   e   P
0134200    a   g   e   s       =       2   0   0  \t   /   /       m   a
0134220    x       n   u   m   b   e   r       o   f       p 376  \0   Q
0134240   \n 223   a   g   e   s       i   n       n   e   t   w   o   r
0134260    k       d   i   r   e   c   t   o   r   y  \r  \r   m   a   x
0134300    N   P   o   r   t   s       =       2   0  \t  \t   /   /    
0134320    m   a   x       n   u   m   b   e   r       o   f       a   d
0134340    d   r   e   s   s   e   s       p   e   r       n   a   m   e
0134360   \r   ]  \r 377  \0  \0   I   f   s   N   a   m   e   S   e   r
0134400    v   .   b   c   p   l  \0 373 230   9   \ 325  \0  \0 376 001
0134420   \0 305 340   /   /       I   f   s   N   a   m   e   S   e   r
0134440    v   .   b   c   p   l       -       N   a   m   e       l   o
0134460    o   k   u   p       s   e   r   v   e   r  \r   /   /       a
0134500    d   a   p   t   e   d       f   r   o   m       t   h   e    
0134520    o   n   e       u   s   e   d       i   n       g   a   t   e
0134540    w   a   y   s  \r   /   /       C   o   p   y   r   i   g   h
0134560    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0134600    i   o   n       1   9   7   9   ,       1   9   8   1  \r  \r
0134620    /   /       L   a   s   t       m   o   d   i   f   i   e   d
0134640        D   e   c   e   m   b   e   r       5   ,       1   9   8
0134660    1           3   :   2   6       P   M       b   y       T   a
0134700    f   t  \r  \r   g   e   t       "   P   u   p   0   .   d   e
0134720    c   l   "  \r   g   e   t       "   P   u   p   1   .   d   e
0134740    c   l   "  \r   g   e   t       "   I   f   s   .   d   e   c
0134760    l   "  \r   g   e   t       "   S   t   r   e   a   m   s   .
0135000    d   "  \r   g   e   t       "   I   f   s   N   a   m   e   S
0135020    e   r   v 376 001  \0   5 026   .   d   e   c   l   "  \r  \r
0135040    e   x   t   e   r   n   a   l  \r   [  \r   /   /       o   u
0135060    t   g   o   i   n   g       p   r   o   c   e   d   u   r   e
0135100    s  \r   N   a   m   e   S   e   r   v   ;       N   a   m   e
0135120    L   o   o   k   u   p   ;       A   d   d   r   e   s   s   L
0135140    o   o   k   u   p  \r   N   a   m   e   C   o   m   p   a   r
0135160    e   K   e   y   ;       A   d   d   r   e   s   s   C   o   m
0135200    p   a   r   e   K   e   y  \r  \r   /   /       i   n   c   o
0135220    m   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0135240    N   a   m   e   S   e   r   v   U   n   c   o   m   m   o   n
0135260    ;       R   e   a   d   R   e   c   L   E  \r   E   x   c   h
0135300    a   n   g   e   P   o   r   t   s   ;       C   o   m   p   l
0135320    e   t   e   P   u   p   ;       R   e   l   e   a   s   e   P
0135340    B   I   ;       A   p   p   e   n   d   S   t   r   i   n   g
0135360    T   o   P   u   p  \r   E   x   t   r   a   c   t   S   u   b
0135400    s   t   r   i   n   g   ;       S   t   r   i   n   g   C   o
0135420    m   p   a   r   e   ;       C 376 001  \0   8 301   r   e   a
0135440    t   e   S   t   r   i   n   g   S   t   r   e   a   m  \r   G
0135460    e   t   s   ;       P   u   t   s   ;       C   l   o   s   e
0135500    s   ;       C   u   r   r   e   n   t   P   o   s   ;       W
0135520    s   s   ;       P   u   t   T   e   m   p   l   a   t   e  \r
0135540    D   o   u   b   l   e   I   n   c   r   e   m   e   n   t   ;
0135560        D   o   u   b   l   e   U   s   c   ;       L   o   c   k
0135600    ;       U   n   l   o   c   k   ;       E   r   r   o   r   C
0135620    o   d   e   T   o   S   t   r   i   n   g   ;       B   y   t
0135640    e   B   l   t  \r   S   y   s   A   l   l   o   c   a   t   e
0135660    ;       S   y   s   F   r   e   e   ;       F   r   e   e   P
0135700    o   i   n   t   e   r   ;       Z   e   r   o   ;       M   o
0135720    v   e   B   l   o   c   k   ;       T   r   u   e   P   r   e
0135740    d   i   c   a   t   e   ;       M   a   x  \r  \r   /   /    
0135760    o   u   t   g   o   i   n   g       s   t   a   t   i   c   s
0136000   \r   @   n   s  \r  \r   /   /       i   n   c   o   m   i   n
0136020    g       s   t   a   t   i   c   s  \r   l   e   n 376 001  \0
0136040  351 025   P   u   p   ;       m   a   x   P   u   p   D   a   t
0136060    a   B   y   t   e   s  \r   ]  \r  \r   s   t   a   t   i   c
0136100        [       @   n   s       ]  \r  \r   /   /   -   -   -   -
0136120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0136220    -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u
0136240    r   e       N   L   S   :  \t  \t   /   /       N   a   m   e
0136260        L   o   o   k   u   p       S   t   a   t   e       -   -
0136300        i   n   t   e   r   n   a   l       t   o       N   a   m
0136320    e   L   o   o   k   u   p  \r   /   /   -   -   -   -   -   -
0136340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0136440    -   - 376 001  \0 350 004   -   -   -   -  \r   [  \r   r   e
0136460    s   u   l   t   V   e   c       w   o   r   d  \t  \t   /   /
0136500        -   >       r   e   s   u   l   t   V   e   c       p   a
0136520    s   s   e   d       b   y       c   a   l   l   e   r  \r   n
0136540    R   e   s   u   l   t   P   o   r   t   s       w   o   r   d
0136560   \t   /   /       n   u   m   b   e   r       o   f       p   o
0136600    r   t   s       c   u   r   r   e   n   t   l   y       i   n
0136620        r   e   s   u   l   t   V   e   c  \r   m   a   x   R   e
0136640    s   u   l   t   P   o   r   t   s       w   o   r   d  \t   /
0136660    /       m   a   x   i   m   u   m       n   u   m   b   e   r
0136700        o   f       p   o   r   t   s       t   h   a   t       w
0136720    i   l   l       f   i   t       i   n       r   e   s   u   l
0136740    t   V   e   c  \r   t   e   m   p   V   e   c       w   o   r
0136760    d  \t  \t   /   /       -   >       t   e   m   p   o   r   a
0137000    r   y       c   o   p   y       o   f       r   e   s   u   l
0137020    t   V   e   c  \r   n   T   e   m   p   P   o   r   t   s    
0137040    w   o   r   d  \t  \t   / 376 001  \0  \v 377   /       n   u
0137060    m   b   e   r       o   f       p   o   r   t   s       c   u
0137100    r   r   e   n   t   l   y       i   n       t   e   m   p   V
0137120    e   c  \r   ]  \r   m   a   n   i   f   e   s   t       l   e
0137140    n   N   L   S       =       s   i   z   e       N   L   S   /
0137160    1   6  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -
0137200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0137300    -   -   -  \r   l   e   t       N   a   m   e   S   e   r   v
0137320    (   p   b   i   )       b   e  \r   /   /   -   -   -   -   -
0137340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0137440    -   -   -   -   -   -   -  \r   [  \r   E   x 376 001  \0 351
0137460  324   c   h   a   n   g   e   P   o   r   t   s   (   p   b   i
0137500    )  \r   l   e   t       r   e   s       =       e   c   N   a
0137520    m   e   S   e   r   v   e   r   D   i   s   a   b   l   e   d
0137540   \r   s   w   i   t   c   h   o   n       p   b   i   >   >   P
0137560    B   I   .   p   u   p   .   t   y   p   e       i   n   t   o
0137600   \r               [  \r               c   a   s   e       p   t
0137620    N   a   m   e   L   o   o   k   u   p   :      \r            
0137640                [  \r                           i   f       n   s
0137660    >   >   N   S   .   g   l   o   b   a   l   L   o   c   k   s
0137700        e   q       0       t   h   e   n  \r                    
0137720                    [  \r                                       D
0137740    o   u   b   l   e   I   n   c   r   e   m   e   n   t   (   l
0137760    v       n   s   >   >   N   S   .   s   t   a   t   s   .   n
0140000    a   m   e   R   e   q   s   )  \r                            
0140020            l   e   t       n   a   m   e       =       E   x   t
0140040    r   a   c   t   S   u   b   s   t   r   i   n   g   (   l   v
0140060      376 001  \0 330 200   p   b   i   >   >   P   B   I   .   p
0140100    u   p   ,       o   f   f   s   e   t       P   u   p   .   b
0140120    y   t   e   s   /   8   ,  \r                                
0140140            p   b   i   >   >   P   B   I   .   p   u   p   .   l
0140160    e   n   g   t   h   -   3   )  \r                            
0140200            r   e   s       =       N   a   m   e   L   o   o   k
0140220    u   p   (   n   a   m   e   ,       l   v       p   b   i   >
0140240    >   P   B   I   .   p   u   p   .   b   y   t   e   s   ,    
0140260    m   a   x   N   P   o   r   t   s   *   l   e   n   P   o   r
0140300    t   )  \r                                       S   y   s   F
0140320    r   e   e   (   n   a   m   e   )  \r                        
0140340                i   f       r   e   s       l   s       e   c   N
0140360    a   m   e   F   i   r   s   t       t   h   e   n  \r        
0140400                                            [  \r                
0140420                                    C   o   m   p   l   e   t   e
0140440    P   u   p   (   p   b   i   ,       p   t   N   a   m   e   R
0140460    e   p   l   y   ,     376 001  \0   '   g   r   e   s   *   (
0140500    l   e   n   P   o   r   t   *   2   )   +   p   u   p   O   v
0140520    B   y   t   e   s   )  \r                                    
0140540                r   e   t   u   r   n  \r                        
0140560                            ]  \r                                
0140600        ]  \r                           e   n   d   c   a   s   e
0140620   \r                           ]  \r               c   a   s   e
0140640        p   t   A   d   d   r   e   s   s   L   o   o   k   u   p
0140660    :  \r                           [  \r                        
0140700    i   f       n   s   >   >   N   S   .   g   l   o   b   a   l
0140720    L   o   c   k   s       e   q       0       t   h   e   n  \r
0140740                                        [  \r                    
0140760                    D   o   u   b   l   e   I   n   c   r   e   m
0141000    e   n   t   (   l   v       n   s   >   >   N   S   .   s   t
0141020    a   t   s   .   n   a   m   e   R   e   q   s   )  \r        
0141040                                /   /       U   s   e       t   h
0141060    e       r   e   s   t       o   f       t 376 001  \0 260 243
0141100    h   e       p   b   i       a   s       a       r   e   g   i
0141120    o   n       i   n       w   h   i   c   h       t   o       r
0141140    e   t   u   r   n       a       s   t   r   i   n   g  \r    
0141160                                    l   e   t       s   t   r   i
0141200    n   g       =       l   v       p   b   i   >   >   P   B   I
0141220    .   p   u   p   .   w   o   r   d   s   ^   (   l   e   n   P
0141240    o   r   t   +   1   )  \r                                    
0141260    l   e   t       s   s       =       C   r   e   a   t   e   S
0141300    t   r   i   n   g   S   t   r   e   a   m   (   s   t   r   i
0141320    n   g   ,       m   a   x   P   u   p   D   a   t   a   B   y
0141340    t   e   s   -   2   *   l   e   n   P   o   r   t   )  \r    
0141360                                    r   e   s       =       A   d
0141400    d   r   e   s   s   L   o   o   k   u   p   (   s   s   ,    
0141420    l   v       p   b   i   >   >   P   B   I   .   p   u   p   .
0141440    w   o   r   d   s   ^   1   )  \r                            
0141460            C   l   o   s   e   s   (   s   s   )  \r            
0141500  376 001  \0   0 275                           i   f       r   e
0141520