$ od -c -N 50000 [Indigo]<TapeServer>SoftwareSources>TapeServerSources.dm!6
0000000  377  \0  \0   T   S   P   .   d   e   c   l  \0 376 001  \0 223
0000020  003  \r   /   /   t   s   p   .   d   e   c   l               d
0000040    e   c   l   a   r   a   t   i   o   n   s       f   o   r    
0000060    T   a   p   e       S   e   r   v   e   r       P   r   o   t
0000100    o   c   o   l  \r   /   /               G   .       K   r   a
0000120    s   n   e   r       N   o   v   e   m   b   e   r       1   9
0000140    ,       1   9   7   9  \r   /   /               L   a   s   t
0000160        m   o   d   i   f   i   e   d       b   y       T   i   m
0000200        D   i   e   b   e   r   t   ,           J   u   n   e    
0000220    2   ,       1   9   8   0           1   0   :   2   8       A
0000240    M  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r        
0000260        r   w   B   l   o   c   k   L   e   n   g   t   h       =
0000300        1   6   3   8   4       +       4       +       2   0    
0000320                /   /   m   a   x       l   e   n   g   t   h    
0000340    o   f       t   h   i   s       b   l   o   c   k       (   1
0000360    6   K   +   4   w   o   r   d       h   e   a   d   e   r   +
0000400    2   0   w   o   r   d       s   l   o   p       f   o   r    
0000420    u 376 001  \0 202 365   c   o   d   e   )  \r               c
0000440    m   d   B   l   o   c   k   L   e   n   g   t   h       =    
0000460    1   2   8               /   /   m   a   x       l   e   n   g
0000500    t   h       o   f       t   y   p   i   c   a   l       c   m
0000520    d   B   l   o   c   k  \r               m   a   x   S   e   r
0000540    v   e   r   s       =       2                   /   /   m   a
0000560    x       n   u   m   b   e   r       o   f       s   e   r   v
0000600    e   r   s       a   l   l   o   w   e   d  \r               m
0000620    a   x   D   r   i   v   e   s       =       2                
0000640                /   /   m   a   x       n   u   m   b   e   r    
0000660    o   f       d   r   i   v   e   s       a   l   l   o   w   e
0000700    d  \r               l   e   n   S   e   r   v   i   c   e    
0000720    =       9                           /   /   n   i   n   e    
0000740    w   o   r   d   s       i   n       S   e   r   v   i   c   e
0000760        b   l   o   c   k  \r               m   u   c   h   c   o
0001000    r   e       =       #   7   7   0   0   0               /   /
0001020    m   a   x       a   m 376 001  \0 220  \b   o   u   n   t    
0001040    o   f       c   o   r   e  \r               t   a   p   e   S
0001060    o   c   k   e   t       =       #   4   4               /   /
0001100    T   a   p   e       s   e   r   v   e   r       r   e   n   d
0001120    e   z   v   o   u   s       s   o   c   k   e   t      \r   /
0001140    /   V   e   r   s   i   o   n       i   n   f   o   r   m   a
0001160    t   i   o   n  \r               c   u   r   r   e   n   t   V
0001200    e   r   s   i   o   n       =       0               /   /   c
0001220    u   r   r   e   n   t   l   y       v   e   r   s   i   o   n
0001240        0  \r               /   /               w   h   e   n    
0001260    c   h   a   n   g   i   n   g       c   u   r   r   e   n   t
0001300    V   e   r   s   i   o   n   ,       b   e       s   u   r   e
0001320        t   o       a   l   s   o       c   h   a   n   g   e  \r
0001340                /   /               c   u   r   r   e   n   t   V
0001360    e   r   s   i   o   n   S   t   r   i   n   g       i   n    
0001400    t   s   p   s   e   r   v   e   r   .   b   c   p   l  \r   /
0001420    /       c   o   m   m   a   n   d   (   m 376 001  \0 347 242
0001440    e   s   s   a   g   e   )       t   y   p   e   s   :  \r    
0001460            c   m   d   Y   e   s       =       #   1  \r        
0001500        c   m   d   N   o       =       #   2  \r               c
0001520    m   d   V   e   r   s   i   o   n       =       #   3  \r    
0001540            c   m   d   S   e   n   d   T   e   x   t       =    
0001560    #   4  \r               c   m   d   G   e   t   T   e   x   t
0001600        =       #   5  \r               c   m   d   O   p   e   n
0001620    D   r   i   v   e       =       #   6  \r               c   m
0001640    d   C   l   o   s   e   D   r   i   v   e       =       #   7
0001660   \r               c   m   d   R   e   a   d   R   e   c   o   r
0001700    d       =       #   1   0  \r               c   m   d   W   r
0001720    i   t   e   R   e   c   o   r   d       =       #   1   1  \r
0001740                c   m   d   F   w   d   S   p   a   c   e   R   e
0001760    c   o   r   d       =       #   1   2  \r               c   m
0002000    d   B   a   c   k   S   p   a   c   e   R   e   c   o   r   d
0002020        =       #   1   3  \r               c   m   d   F   w   d
0002040  376 001  \0 021 036   S   p   a   c   e   F   i   l   e       =
0002060        #   1   4  \r               c   m   d   B   a   c   k   S
0002100    p   a   c   e   F   i   l   e       =       #   1   5  \r    
0002120            c   m   d   W   r   i   t   e   E   O   F       =    
0002140    #   1   6  \r               c   m   d   W   r   i   t   e   B
0002160    l   a   n   k   T   a   p   e       =       #   1   7  \r    
0002200            c   m   d   R   e   w   i   n   d       =       #   2
0002220    0  \r               c   m   d   U   n   l   o   a   d       =
0002240        #   2   1  \r               c   m   d   G   e   t   S   t
0002260    a   t   u   s       =       #   2   2  \r               c   m
0002300    d   S   e   t   S   t   a   t   u   s       =       #   2   3
0002320   \r               c   m   d   H   e   r   e   I   s   T   e   x
0002340    t       =       #   2   4  \r               c   m   d   H   e
0002360    r   e   I   s   R   e   c   o   r   d       =       #   2   5
0002400   \r               c   m   d   H   e   r   e   I   s   S   t   a
0002420    t   u   s       =       #   2   6  \r   /   /       M   e   s
0002440    s   a   g   e     376 001  \0   b   #   s   e   l   e   c   t
0002460    o   r   s       f   o   r       R   e   p   l   y   N   o  \r
0002500                d   o   n   e   O   p   e   r   a   t   i   o   n
0002520        =       0  \r               n   o   G   o   o   d   M   e
0002540    s   s   a   g   e       =       1  \r               o   p   e
0002560    n   A   l   r   e   a   d   y       =       2  \r            
0002600    d   r   i   v   e   I   n   U   s   e       =       3  \r    
0002620            b   a   d   D   r   i   v   e       =       4  \r    
0002640            b   a   d   D   r   i   v   e   N   o       =       5
0002660   \r               d   r   i   v   e   N   o   t   O   p   e   n
0002700    e   d       =       6  \r               n   o   V   e   r   s
0002720    i   o   n       =       7  \r               b   a   d   S   t
0002740    a   t   u   s   S   e   l   e   c   t   o   r       =       8
0002760   \r               b   a   d   R   e   t   r   y   S   e   t   t
0003000    i   n   g       =       9  \r               w   r   i   t   e
0003020    P   r   o   t   e   c   t   e   d       =       1   0  \r    
0003040            b   a   d   S   p   e   e   d 376 001  \0 025   >   S
0003060    e   t   t   i   n   g       =       1   1  \r   /   /       S
0003100    t   a   t   u   s       s   e   l   e   c   t   o   r   s  \r
0003120                s   e   t   R   e   t   r   i   e   s       =    
0003140    0               /   /   s   e   t       n   u   m   b   e   r
0003160        o   f       r   e   t   r   i   e   s       a   l   l   o
0003200    w   e   d       f   o   r       r   e   a   d   s   /   w   r
0003220    i   t   e   s  \r               s   e   t   S   p   e   e   d
0003240        =       1               /   /   u   n   u   s   e   d    
0003260    f   o   r       n   o   w   ,       c   o   u   l   d       b
0003300    e       s   e   t       s   p   e   e   d       f   o   r    
0003320    d   r   i   v   e  \r   ]  \r  \r   s   t   r   u   c   t   u
0003340    r   e       S   e   r   v   i   c   e   :               /   /
0003360    S   e   r   v   i   c   e       b   l   o   c   k       f   o
0003400    r       S   e   r   v   e   r  \r   [  \r   i   d   n   u   m
0003420    b   e   r               w   o   r   d               /   /   u
0003440    n   i   q   u   e       i   d       f   o   r       t   h 376
0003460  001  \0 002 372   i   s       i   n   s   t   a   n   c   e  \r
0003500    b   s   p   S   o   c                           w   o   r   d
0003520                /   /   B   S   P       s   o   c   k   e   t  \r
0003540    b   s   p   S   t   r                           w   o   r   d
0003560                /   /   B   S   P       s   t   r   e   a   m  \r
0003600    c   m   d   B   l   o   c   k               w   o   r   d    
0003620            /   /   b   l   o   c   k       a   l   l   o   c   a
0003640    t   e   d       f   o   r       c   o   m   m   a   n   d   s
0003660        f   o   r       t   h   i   s       i   n   s   t   a   n
0003700    c   e  \r               /   /   a   b   o   v   e       a   r
0003720    e       a   l   l   o   c   a   t   e   d       b   y       C
0003740    o   n   n   e   c   t   o   r   ,  \r               /   /   b
0003760    e   l   o   w       a   r   e       u   s   e   d       l   o
0004000    c   a   l   l   y       b   y       a       S   e   r   v   e
0004020    r  \r   t   a   p   e               w   o   r   d            
0004040                /   /   p   o   i   n   t   e   r       t   o    
0004060    a       t   a 376 001  \0 224   x   p   e       o   b   j   e
0004100    c   t       (   r   e   t   u   r   n   e   d       b   y    
0004120    O   p   e   n   T   a   p   e   )  \r   b   l   k            
0004140    w   o   r   d                           /   /   c   u   r   r
0004160    e   n   t       b   l   o   c   k       u   s   e   d       (
0004200    e   i   t   h   e   r       c   m   d   B   l   o   c   k    
0004220    o   r       r   w   B   l   o   c   k   )  \r   d   r   i   v
0004240    e                           w   o   r   d               /   /
0004260    c   u   r   r   e   n   t       t   a   p   e       d   r   i
0004300    v   e       n   u   m   b   e   r       o   r       -   1    
0004320    i   f       u   n   o   p   e   n   e   d  \r   r   e   t   r
0004340    i   e   s               w   o   r   d                        
0004360    /   /   n   u   m   b   e   r       o   f       r   e   t   r
0004400    i   e   s       a   l   l   o   w   e   d  \r   s   p   e   e
0004420    d               w   o   r   d                           /   /
0004440    s   p   e   e   d       o   f       t   h   i   s       d   r
0004460    i   v   e       (   I   P   S   4 376 001  \0 252   Z   5   ,
0004500    I   P   S   1   2   5   )  \r   ]  \r  \r   s   t   r   u   c
0004520    t   u   r   e       M   e   s   s   a   g   e   :            
0004540    /   /       g   e   n   e   r   a   l       m   e   s   s   a
0004560    g   e       s   t   r   u   c   t   u   r   e       (   a   l
0004600    s   o       u   s   e   d       b   y       m   s   g   s    
0004620    w   i   t   h       n   o       p   a   r   a   m   s   )  \r
0004640    [  \r   l   e   n   g   t   h       w   o   r   d            
0004660    /   /       l   e   n   g   t   h       i   n       w   o   r
0004700    d   s       i   n   c   l   u   d   i   n   g       o   v   e
0004720    r   h   e   a   d  \r   t   y   p   e       w   o   r   d    
0004740            /   /       c   o   m   m   a   n   d   /   r   e   s
0004760    p   o   n   s   e       t   y   p   e  \r   /   /       c   o
0005000    n   t   e   n   t   s   ^   0   ,   0       w   o   r   d  \r
0005020    ]  \r  \r   s   t   r   u   c   t   u   r   e       G   M   e
0005040    s   s   a   g   e   :               /   /   G   e   n   e   r
0005060    a   l       M   e   s   s   a   g   e       s   t   r 376 001
0005100   \0 205   4   u   c   t   u   r   e  \r   [  \r   @   M   e   s
0005120    s   a   g   e               /   /   l   e   n   g   t   h    
0005140    a   n   d       t   y   p   e  \r   d   a   t   a       w   o
0005160    r   d               /   /   f   i   r   s   t       d   a   t
0005200    a       w   o   r   d  \r   ]  \r  \r   s   t   r   u   c   t
0005220    u   r   e       Y   e   s   N   o   :               /   /   Y
0005240    e   s       a   n   d       N   o       c   o   m   m   a   n
0005260    d   s  \r   [  \r   @   M   e   s   s   a   g   e  \r   c   a
0005300    u   s   e       w   o   r   d               /   /   w   h   a
0005320    t       c   a   u   s   e   d       t   h   i   s       y   e
0005340    s       o   r       n   o  \r   c   o   d   e       w   o   r
0005360    d               /   /   a   n       i   n   t   e   g   e   r
0005400   \r   s   t   r       @   S   t   r   i   n   g               /
0005420    /       a       s   t   r   i   n   g  \r   ]  \r  \r   s   t
0005440    r   u   c   t   u   r   e       V   e   r   s   i   o   n   :
0005460                /   /       V   e   r   s   i   o   n       c   o
0005500    m   m   a 376 001  \0   { 327   n   d  \r   [  \r   @   M   e
0005520    s   s   a   g   e  \r   v   e   r   s   n   o       w   o   r
0005540    d               /   /       a   n       i   n   t   e   g   e
0005560    r  \r   v   e   r   s   t   e   x   t       @   S   t   r   i
0005600    n   g               /   /       B   c   p   l       s   t   r
0005620    i   n   g  \r   ]  \r  \r   s   t   r   u   c   t   u   r   e
0005640        S   e   n   d   T   e   x   t   :               /   /    
0005660    S   e   n   d   T   e   x   t       c   o   m   m   a   n   d
0005700   \r   [  \r   @   M   e   s   s   a   g   e  \r   t   e   x   t
0005720        @   S   t   r   i   n   g  \r   ]  \r  \r   s   t   r   u
0005740    c   t   u   r   e       G   e   t   T   e   x   t   :        
0005760        /   /   G   e   t   T   e   x   t       c   o   m   m   a
0006000    n   d      \r   [  \r   @   M   e   s   s   a   g   e  \r   ]
0006020   \r  \r   s   t   r   u   c   t   u   r   e       O   p   e   n
0006040    D   r   i   v   e   :               /   /       O   p   e   n
0006060    D   r   i   v   e       c   o   m   m   a   n   d  \r   [  \r
0006100    @   M   e   s   s   a   g   e 376 001  \0 224   h  \r   d   r
0006120    i   v   e   N   u   m   b   e   r       w   o   r   d        
0006140        /   /       a   n       i   n   t   e   g   e   r  \r   u
0006160    s   e   r   I   D       @   S   t   r   i   n   g            
0006200    /   /       B   c   p   l       s   t   r   i   n   g  \r   ]
0006220   \r  \r   s   t   r   u   c   t   u   r   e       C   l   o   s
0006240    e   D   r   i   v   e   :               /   /       C   l   o
0006260    s   e       D   r   i   v   e       c   o   m   m   a   n   d
0006300       \r   [  \r   @   M   e   s   s   a   g   e  \r   ]  \r  \r
0006320    s   t   r   u   c   t   u   r   e       R   e   a   d   R   e
0006340    c   o   r   d   :               /   /       R   e   a   d   R
0006360    e   c   o   r   d       c   o   m   m   a   n   d      \r   [
0006400   \r   @   M   e   s   s   a   g   e  \r   ]  \r  \r   s   t   r
0006420    u   c   t   u   r   e       W   r   i   t   e   R   e   c   o
0006440    r   d   :               /   /       W   r   i   t   e   R   e
0006460    c   o   r   d       c   o   m   m   a   n   d  \r   [  \r   @
0006500    M   e   s   s   a   g   e  \r   r   e   c   o   r 376 001  \0
0006520    y 271   d   L   e   n   g   t   h       w   o   r   d        
0006540        /   /       i   n       b   y   t   e   s  \r   r   e   c
0006560    o   r   d   ^   0   ,   0       b   y   t   e  \r   ]  \r  \r
0006600    s   t   r   u   c   t   u   r   e       F   w   d   S   p   a
0006620    c   e   R   e   c   o   r   d   :               /   /       F
0006640    w   d       S   p   a   c   e       R   e   c   o   r   d    
0006660    c   o   m   a   n   d      \r   [  \r   @   M   e   s   s   a
0006700    g   e  \r   ]  \r  \r   s   t   r   u   c   t   u   r   e    
0006720    B   a   c   k   S   p   a   c   e   R   e   c   o   r   d   :
0006740                /   /       B   a   c   k       S   p   a   c   e
0006760        R   e   c   o   r   d       c   o   m   a   n   d      \r
0007000    [  \r   @   M   e   s   s   a   g   e  \r   ]  \r  \r   s   t
0007020    r   u   c   t   u   r   e       F   w   d   S   p   a   c   e
0007040    F   i   l   e   :               /   /       F   w   d       S
0007060    p   a   c   e       F   i   l   e       c   o   m   a   n   d
0007100       \r   [  \r   @   M   e   s   s   a   g   e  \r   ]  \r  \r
0007120    s   t 376 001  \0 276 370   r   u   c   t   u   r   e       B
0007140    a   c   k   S   p   a   c   e   F   i   l   e   :            
0007160    /   /       B   a   c   k       S   p   a   c   e       F   i
0007200    l   e       c   o   m   a   n   d      \r   [  \r   @   M   e
0007220    s   s   a   g   e  \r   ]  \r  \r   s   t   r   u   c   t   u
0007240    r   e       W   r   i   t   e   E   n   d   O   f   F   i   l
0007260    e   :               /   /       W   r   i   t   e       E   n
0007300    d       O   f       F   i   l   e       c   o   m   a   n   d
0007320       \r   [  \r   @   M   e   s   s   a   g   e  \r   ]  \r  \r
0007340    s   t   r   u   c   t   u   r   e       W   r   i   t   e   B
0007360    l   a   n   k   T   a   p   e   :               /   /       W
0007400    r   i   t   e   B   l   a   n   k   T   a   p   e       c   o
0007420    m   m   a   n   d  \r   [  \r   @   M   e   s   s   a   g   e
0007440   \r   g   a   p       w   o   r   d               /   /       i
0007460    n       i   n   c   h   e   s  \r   ]  \r  \r   s   t   r   u
0007500    c   t   u   r   e       R   e   w   i   n   d   :            
0007520    /   /       R   e   w   i 376 001  \0 235   h   n   d       c
0007540    o   m   a   n   d      \r   [  \r   @   M   e   s   s   a   g
0007560    e  \r   ]  \r  \r   s   t   r   u   c   t   u   r   e       U
0007600    n   l   o   a   d   :               /   /       U   n   l   o
0007620    a   d       c   o   m   a   n   d      \r   [  \r   @   M   e
0007640    s   s   a   g   e  \r   ]  \r  \r   s   t   r   u   c   t   u
0007660    r   e       G   e   t   S   t   a   t   u   s   :            
0007700    /   /       G   e   t       S   t   a   t   u   s       c   o
0007720    m   a   n   d      \r   [  \r   @   M   e   s   s   a   g   e
0007740   \r   ]  \r  \r   s   t   r   u   c   t   u   r   e       S   e
0007760    t   S   t   a   t   u   s   :               /   /       S   e
0010000    t   S   t   a   t   u   s       c   o   m   m   a   n   d  \r
0010020    [  \r   @   M   e   s   s   a   g   e  \r   s   e   l   e   c
0010040    t   o   r       w   o   r   d               /   /       s   e
0010060    l   e   c   t   o   r       o   f       w   h   i   c   h    
0010100    p   a   r   a   m   e   t   e   r       t   o       s   e   t
0010120   \r   n   e   w   s   e   t   t   i   n   g     376 001  \0 016
0010140  035   w   o   r   d       /   /       n   e   w       s   e   t
0010160    t   i   n   g       f   o   r       t   h   a   t       s   e
0010200    l   e   c   t   o   r  \r   ]  \r  \r   s   t   r   u   c   t
0010220    u   r   e       H   e   r   e   I   s   T   e   x   t   :    
0010240            /   /       H   e   r   e   I   s   T   e   x   t    
0010260    c   o   m   m   a   n   d  \r   [  \r   @   M   e   s   s   a
0010300    g   e  \r   t   e   x   t       @   S   t   r   i   n   g  \r
0010320    ]  \r  \r   s   t   r   u   c   t   u   r   e       H   e   r
0010340    e   I   s   R   e   c   o   r   d   :               /   /    
0010360    H   e   r   e   I   s   R   e   c   o   r   d       c   o   m
0010400    m   a   n   d  \r   [  \r   @   M   e   s   s   a   g   e  \r
0010420    e   n   d   i   n   g   S   t   a   t   u   s       w   o   r
0010440    d               /   /   t   a   p   e       d   r   i   v   e
0010460        e   n   d   i   n   g       s   t   a   t   u   s  \r   r
0010500    e   c   o   r   d   L   e   n   g   t   h       w   o   r   d
0010520                /   /       i   n       b   y   t   e   s  \r   r
0010540    e 376 001  \0 353 252   c   o   r   d   ^   0   ,   0       b
0010560    y   t   e  \r   ]  \r  \r   s   t   r   u   c   t   u   r   e
0010600        H   e   r   e   I   s   S   t   a   t   u   s   :        
0010620        /   /       H   e   r   e   I   s   S   t   a   t   u   s
0010640        c   o   m   m   a   n   d  \r   [  \r   @   M   e   s   s
0010660    a   g   e  \r   d   r   i   v   e       w   o   r   d        
0010700        /   /   d   r   i   v   e       n   u   m   b   e   r    
0010720    i   f       o   p   e   n   ,       -   1       i   f       n
0010740    o   t  \r   t   s   t   a   t   u   s       w   o   r   d    
0010760            /   /   t   a   p   e       s   t   a   t   u   s    
0011000    b   i   t   s       i   f       o   p   e   n   ,       d   o
0011020    n   t       c   a   r   e       o   t   h   e   r   w   i   s
0011040    e  \r   r   e   t   r   i   e   s       w   o   r   d        
0011060        /   /   n   u   m   b   e   r       o   f       r   e   t
0011100    r   i   e   s       c   u   r   r   e   n   t   l   y       i
0011120    n       f   o   r   c   e   ,       e   l   s   e       d   o
0011140    n   t       c   a   r 376  \0   4 250   [   e  \r   s   p   e
0011160    e   d               w   o   r   d               /   /   t   a
0011200    p   e       s   p   e   e   d   ,       0   =   i   p   s   4
0011220    5   ,       1   =   i   p   s   1   2   5  \r   ]  \r  \r 377
0011240   \0  \0   T   a   p   e   S   e   r   v   e   r   .   b   c   p
0011260    l  \0 376 001  \0 352 034  \r   /   /               t   s   p
0011300    s   e   r   v   e   r   .   b   c   p   l       T   a   p   e
0011320        S   e   r   v   e   r   ,       t   o   p   l   e   v   e
0011340    l      \r   /   /      \r   /   /               g   .       k
0011360    r   a   s   n   e   r           N   o   v   e   m   b   e   r
0011400        1   9   ,       1   9   7   9  \r   /   /           l   a
0011420    s   t       m   o   d   i   f   i   e   d       b   y       T
0011440    i   m       D   i   e   b   e   r   t   ,       J   u   n   e
0011460        2   ,       1   9   8   0           1   0   :   0   2    
0011500    A   M  \r   /   /               t   o       p   r   o   v   i
0011520    d   e       f   o   r       n   e   w       l   o   w       l
0011540    e   v   e   l       s   o   f   t   w   a   r   e      \r   /
0011560    /  \r   g   e   t               "   p   u   p   .   d   e   c
0011600    l   "  \r   g   e   t               "   t   a   p   e   s   .
0011620    d   "  \r   g   e   t               "   a   l   t   o   d   e
0011640    f   s   .   d   "  \r   g   e   t               "   t   s   p
0011660    .   d   e   c   l   "  \r 376 001  \0 372 322  \r   /   /   -
0011700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011760    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   e
0012000    x   t   e   r   n   a   l  \r   /   /   -   -   -   -   -   -
0012020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012100    -   -   -   -   -   -   -   -   -  \r   [  \r   /   /   F   r
0012120    o   m       T   S   P   D   O   s  \r               D   o   O
0012140    p   e   n   D   r   i   v   e   ;       D   o   C   l   o   s
0012160    e   D   r   i   v   e   ;       D   o   R   e   a   d   R   e
0012200    c   o   r   d   ;       D   o   W   r   i   t   e   R   e   c
0012220    o   r   d  \r               D   o   F   w   d   S   p   a   c
0012240    e   R   e   c   o   r   d   ;       D   o   B   a   c   k   S
0012260    p   a   c   e   R   e   c   o   r   d   ;     376 001  \0 021
0012300  262   D   o   F   w   d   S   p   a   c   e   F   i   l   e  \r
0012320                D   o   B   a   c   k   S   p   a   c   e   F   i
0012340    l   e   ;       D   o   W   r   i   t   e   E   O   F   ;    
0012360    D   o   W   r   i   t   e   B   l   a   n   k   T   a   p   e
0012400    ;       D   o   R   e   w   i   n   d  \r               D   o
0012420    U   n   l   o   a   d   ;       D   o   G   e   t   S   t   a
0012440    t   u   s   ;       D   o   S   e   t   S   t   a   t   u   s
0012460    ;       D   o   S   e   n   d   T   e   x   t   ;       D   o
0012500    G   e   t   T   e   x   t  \r               R   e   p   l   y
0012520    N   o  \r   /   /   F   r   o   m       '   S   y   s   t   e
0012540    m   '  \r               G   e   t   s   ;       R   e   s   e
0012560    t   s   ;       L   o   a   d   R   a   m   ;       C   a   l
0012600    l   S   w   a   t   ;       l   v   U   s   e   r   F   i   n
0012620    i   s   h   P   r   o   c   ;       l   v   S   w   a   t   C
0012640    o   n   t   e   x   t   P   r   o   c  \r               F   i
0012660    x   e   d   L   e   f   t   ;       U   s   c   ;       A   d
0012700    d 376 001  \0   H   d   T   o   Z   o   n   e   ;       s   y
0012720    s   Z   o   n   e   ;       G   e   t   F   i   x   e   d   ;
0012740        S   e   t   B   L   V   ;       S   t   a   r   t   I   O
0012760   \r               A   l   l   o   c   a   t   e   ;       I   n
0013000    i   t   i   a   l   i   z   e   Z   o   n   e   ;       E   n
0013020    q   u   e   u   e   ;       I   n   i   t   i   a   l   i   z
0013040    e   C   o   n   t   e   x   t   ;       C   a   l   l   C   o
0013060    n   t   e   x   t   L   i   s   t  \r               B   l   o
0013100    c   k   ;       U   n   q   u   e   u   e   ;       D   e   q
0013120    u   e   u   e   ;       M   o   v   e   B   l   o   c   k   ;
0013140        F   r   e   e   ;       W   s  \r   /   /   F   r   o   m
0013160        T   a   p   e   s  \r               X   M   T   a   p   e
0013200    I   m   a   g   e   ;       T   a   p   e   T   f   s   S   w
0013220    a   t   P   r   o   c   ;       C   l   o   s   e   T   a   p
0013240    e  \r   /   /       T   o       T   a   p   e   s  \r        
0013260        T   a   p   e   W   a   i   t   Q   u   i   e   t  \r   /
0013300    /   F   r   o   m     376 001  \0 345 226   P   u   p  \r    
0013320            I   n   i   t   P   u   p   L   e   v   e   l   1   ;
0013340        O   p   e   n   L   e   v   e   l   1   S   o   c   k   e
0013360    t   ;       O   p   e   n   R   T   P   S   o   c   k   e   t
0013400    ;       C   r   e   a   t   e   B   S   P   S   t   r   e   a
0013420    m  \r               B   S   P   R   e   a   d   B   l   o   c
0013440    k   ;       B   S   P   W   r   i   t   e   B   l   o   c   k
0013460    ;       B   S   P   F   o   r   c   e   O   u   t   p   u   t
0013500    ;       E   x   c   h   a   n   g   e   P   o   r   t   s  \r
0013520                R   e   l   e   a   s   e   P   B   I   ;       C
0013540    o   m   p   l   e   t   e   P   u   p   ;       A   p   p   e
0013560    n   d   S   t   r   i   n   g   T   o   P   u   p   ;       B
0013600    S   P   G   e   t   M   a   r   k  \r   /   /   F   r   o   m
0013620        S   t   r   e   a   m   s      \r               W   o   ;
0013640        E   n   d   o   f   s   ;       C   l   o   s   e   s   ;
0013660        k   e   y   s  \r   /   /   E   x   p   o   r   t   e   d
0013700        G   l   o   b   a   l   s  \r         376 001  \0 336 354
0013720        r   w   B   l   o   c   k   ;       k   b   d   K   e   y
0013740    ;       r   w   K   e   y   ;       u   s   e   d   i   d   n
0013760    o   s   ;       u   s   e   d   d   r   i   v   e   s   ;    
0014000    c   t   x   Q   ;       c   u   r   r   e   n   t   V   e   r
0014020    s   i   o   n   S   t   r   i   n   g  \r   ]  \r  \r   /   /
0014040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0014140    s   t   a   t   i   c  \r   /   /   -   -   -   -   -   -   -
0014160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014240    -   -   -   -   -   -   -   -  \r   [               r   w   B
0014260    l   o   c   k               /   /   s   h   a   r   e   d    
0014300    r   e   a   d   /   w   r   i   t   e       b   l   o   c   k
0014320  376 001  \0 321   O  \r               r   w   K   e   y        
0014340                    /   /   k   e   y       t   o       a   c   c
0014360    e   s   s       t   h   e       b   l   o   c   k  \r        
0014400        k   b   d   K   e   y                           /   /   k
0014420    e   y       t   o       r   e   a   d       f   r   o   m    
0014440    o   p   e   r   a   t   o   r   '   s       k   b   d  \r    
0014460            u   s   e   d   i   d   n   o   s               /   /
0014500    v   e   c   t   o   r       o   f       i   d       n   u   m
0014520    b   e   r   s       u   s   e   d  \r               u   s   e
0014540    d   d   r   i   v   e   s               /   /   v   e   c   t
0014560    o   r       o   f       d   r   i   v   e   s       w   i   t
0014600    h       s   e   r   v   e   r   s  \r               c   t   x
0014620    Q                           /   /   c   o   n   t   e   x   t
0014640        q   u   e   u   e  \r               c   u   r   r   e   n
0014660    t   V   e   r   s   i   o   n   S   t   r   i   n   g        
0014700        /   /   s   t   r   i   n   g       s   e   n   d       w
0014720    i   t   h       [ 376 001  \0   # 264   V   e   r   s   i   o
0014740    n   ]       m   e   s   s   a   g   e  \r               T   a
0014760    p   e   T   r   i   d   e   n   t   U   F   P               /
0015000    /   g   l   o   b   a   l       s   t   r   e   a   m       o
0015020    b   j   e   c   t  \r               b   s   p   S   o   c   k
0015040    e   t   s               /   /   v   e   c   t   o   r       o
0015060    f       a   l   l   o   c   a   t   e   d       b   s   p   S
0015100    o   c   k   e   t   s  \r               s   e   r   v   i   c
0015120    e   B   l   o   c   k   s               /   /   v   e   c   t
0015140    o   r       o   f       a   l   l   o   c   a   t   e   d    
0015160    S   e   r   v   i   c   e       B   l   o   c   k   s  \r    
0015200            s   e   r   v   e   r   C   o   n   t   e   x   t   s
0015220                /   /   v   e   c   t   o   r       o   f       c
0015240    o   n   t   e   x   t   s   ,       o   n   e       p   e   r
0015260        i   n   s   t   a   n   c   e       o   f       S   e   r
0015300    v   e   r  \r               r   v   S   o   c   k   e   t    
0015320            /   /   g   l   o   b   a   l 376 001  \0   ( 030    
0015340    s   o   c   k   e   t       f   o   r       r   e   n   d   e
0015360    z   v   o   u   s   e   s  \r   ]  \r  \r   /   /   -   -   -
0015400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015460    -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t
0015500        S   t   a   r   t   S   e   r   v   i   n   g   (   )    
0015520    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0015540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015620    -   -   -   -  \r   [  \r   /   /       I   n   i   t       t
0015640    h   e       t   r   i   d   e   n   t   /   t   a   p   e    
0015660    m   i   c   r   o   c   o   d   e   ,       s   e   t       u
0015700    p       c   o   d   e       t   o       r   e   t   u   r   n
0015720        t   a   s   k   s       t   o       R   O   M       w 376
0015740  001  \0 240 273   h   e   n       d   o   n   e   .  \r        
0015760        i   f       L   o   a   d   R   a   m   (   X   M   T   a
0016000    p   e   I   m   a   g   e       ,   t   r   u   e   )       n
0016020    e       0       d   o  \r                           C   a   l
0016040    l   S   w   a   t   (   "   L   o   a   d   R   a   m   (   )
0016060        f   a   i   l   e   d   .   "   )  \r               T   a
0016100    p   e   T   r   i   d   e   n   t   U   F   P   =   @   l   v
0016120    U   s   e   r   F   i   n   i   s   h   P   r   o   c  \r    
0016140            @   l   v   U   s   e   r   F   i   n   i   s   h   P
0016160    r   o   c   =   T   a   p   e   T   r   i   d   e   n   t   B
0016200    o   o   t  \r               @   l   v   S   w   a   t   C   o
0016220    n   t   e   x   t   P   r   o   c   =   T   a   p   e   T   f
0016240    s   S   w   a   t   P   r   o   c  \r   /   /       s   e   t
0016260        u   p       s   e   r   v   e   r       v   a   r   i   a
0016300    b   l   e   s  \r               l   e   t       i       =    
0016320    0  \r               r   w   K   e   y       =       -   1    
0016340            /   / 376 001  \0 240   /   n   o   b   o   d   y    
0016360    o   w   n   s       r   w   B   l   o   c   k       y   e   t
0016400   \r               k   b   d   K   e   y       =       -   1    
0016420            /   /   n   o   b   o   d   y       o   w   n   s    
0016440    k   b   d       y   e   t  \r               l   e   t       v
0016460        =       v   e   c       m   a   x   S   e   r   v   e   r
0016500    s                           /   /   v       i   s       t   e
0016520    m   p       v   e   c   t   o   r  \r               u   s   e
0016540    d   i   d   n   o   s       =       v                        
0016560                /   /   v   e   c   t   o   r       o   f       i
0016600    d       n   u   m   b   e   r   s       u   s   e   d  \r    
0016620            l   e   t       v       =       v   e   c       m   a
0016640    x   S   e   r   v   e   r   s               /   /   o   p   e
0016660    n       s   o   c   k   e   t       f   o   r       e   a   c
0016700    h       s   e   r   v   e   r  \r               b   s   p   S
0016720    o   c   k   e   t   s       =       v  \r               l   e
0016740    t       v       =       v   e   c 376 001  \0 024 020       m
0016760    a   x   S   e   r   v   e   r   s  \r               s   e   r
0017000    v   i   c   e   B   l   o   c   k   s       =       v        
0017020                    /   /   a   l   l   o   c   a   t   e       S
0017040    e   r   v   i   c   e       B   l   o   c   k   s  \r        
0017060        l   e   t       v       =       v   e   c       m   a   x
0017100    S   e   r   v   e   r   s  \r               s   e   r   v   e
0017120    r   C   o   n   t   e   x   t   s       =       v            
0017140                /   /   a   n   d       c   o   n   t   e   x   t
0017160    s  \r               l   e   t       v       =       v   e   c
0017200        m   a   x   D   r   i   v   e   s  \r               u   s
0017220    e   d   d   r   i   v   e   s       =       v                
0017240                        /   /   v   e   c   t   o   r       o   f
0017260        d   r   i   v   e   s       w   i   t   h       s   e   r
0017300    v   e   r   s  \r               f   o   r       i       =    
0017320    0       t   o       m   a   x   D   r   i   v   e   s   -   1
0017340        d   o       u   s   e   d   d   r   i   v   e   s 376 001
0017360   \0 027 237   !   i       =       f   a   l   s   e       /   /
0017400    n   o       d   r   i   v   e       w   i   t   h       a   n
0017420    y       s   e   r   v   e   r  \r               c   u   r   r
0017440    e   n   t   V   e   r   s   i   o   n   S   t   r   i   n   g
0017460        =       "   T   a   p   e       S   e   r   v   e   r    
0017500    P   r   o   t   o   c   o   l   ,       V   0   .   3   "  \r
0017520                W   s   (   c   u   r   r   e   n   t   V   e   r
0017540    s   i   o   n   S   t   r   i   n   g   )  \r  \r   /   /    
0017560    s   e   t       u   p       l   a   r   g   e       s   y   s
0017600    Z   o   n   e       r   e   g   i   o   n  \r               v
0017620    =   F   i   x   e   d   L   e   f   t   (   )   -   2   0   0
0017640    0  \r               v       =       (   U   s   c   (   v   ,
0017660        m   u   c   h   c   o   r   e   )       e   q       1   )
0017700        ?       m   u   c   h   c   o   r   e   ,       v  \r    
0017720            A   d   d   T   o   Z   o   n   e   (   s   y   s   Z
0017740    o   n   e   ,       G   e   t   F   i   x   e   d   (   v   )
0017760    ,       v 376 001  \0 241   1   )  \r   /   /       s   e   t
0020000        u   p       r   w   B   l   o   c   k  \r               r
0020020    w   B   l   o   c   k       =       A   l   l   o   c   a   t
0020040    e   (   s   y   s   Z   o   n   e   ,   r   w   B   l   o   c
0020060    k   L   e   n   g   t   h   )  \r   /   /       I   n   i   t
0020100    i   a   l   i   z   e       B   S   P       s   o   c   k   e
0020120    t       (   L   e   v   e   l       1       o   n   l   y   )
0020140   \r               l   e   t       m   y   Z   o   n   e       =
0020160        v   e   c       (   2   0   0   0   *   m   a   x   S   e
0020200    r   v   e   r   s   )  \r                   I   n   i   t   i
0020220    a   l   i   z   e   Z   o   n   e   (   m   y   Z   o   n   e
0020240    ,       (   2   0   0   0   *   m   a   x   S   e   r   v   e
0020260    r   s   )   )  \r               l   e   t       q       =    
0020300    v   e   c       1   ;       c   t   x   Q       =       q   ;
0020320        c   t   x   Q   !   0       =       0  \r                
0020340    I   n   i   t   P   u   p   L   e   v   e   l   1   (   m   y
0020360    Z   o   n   e   ,   c   t   x 376 001  \0 037   F   Q   ,   (
0020400    5   *   m   a   x   S   e   r   v   e   r   s   )   )  \r    
0020420                r   v   S   o   c   k   e   t       =       A   l
0020440    l   o   c   a   t   e   (   s   y   s   Z   o   n   e   ,   l
0020460    e   n   B   S   P   S   o   c   )  \r                   O   p
0020500    e   n   L   e   v   e   l   1   S   o   c   k   e   t   (   r
0020520    v   S   o   c   k   e   t   ,       t   a   b   l   e   [    
0020540    0   ;       0   ;       t   a   p   e   S   o   c   k   e   t
0020560        ]       )       /   /   s   e   t       u   p       t   o
0020600        l   i   s   t   e   n       a   t       s   o   c   k   e
0020620    t       4   4   b  \r   /   /   I   n   i   t   i   a   l   i
0020640    z   e       g   l   o   b   a   l   s       f   o   r       e
0020660    a   c   h       S   e   r   v   e   r       i   n   s   t   a
0020700    n   c   e  \r               f   o   r       i       =       0
0020720        t   o       m   a   x   S   e   r   v   e   r   s   -   1
0020740        d   o      \r               [               u   s   e   d
0020760    i   d   n   o   s   !   i       =       f   a   l 376 001  \0
0021000   \b   r   s   e               /   /   n   o       s   e   r   v
0021020    e   r       w   i   t   h       a   n   y       i   d  \r    
0021040                        b   s   p   S   o   c   k   e   t   s   !
0021060    i       =       A   l   l   o   c   a   t   e   (   s   y   s
0021100    Z   o   n   e   ,   l   e   n   B   S   P   S   o   c   )    
0021120            /   /   a   l   l   o   c   a   t   e       s   o   c
0021140    k   e   t       b   l   o   c   k  \r                        
0021160    s   e   r   v   i   c   e   B   l   o   c   k   s   !   i    
0021200    =       A   l   l   o   c   a   t   e   (   s   y   s   Z   o
0021220    n   e   ,   l   e   n   S   e   r   v   i   c   e   )        
0021240        /   /   a   l   l   o   c   a   t   e       S   e   r   v
0021260    i   c   e       b   l   o   c   k  \r                        
0021300    (   s   e   r   v   i   c   e   B   l   o   c   k   s   !   i
0021320    )   >   >   S   e   r   v   i   c   e   .   b   l   k       =
0021340        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0021360    e   ,   c   m   d   B   l   o   c   k   L   e   n   g   t   h
0021400    )  \r 376 001  \0 357 332                           s   e   r
0021420    v   e   r   C   o   n   t   e   x   t   s   !   i       =    
0021440    A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e
0021460    ,   2   0   0   )               /   /   a   l   l   o   c   a
0021500    t   e       a       c   o   n   t   e   x   t       f   o   r
0021520        S   e   r   v   e   r  \r               ]  \r            
0021540    l   e   t       v       =       v   e   c       3   0   0  \r
0021560                E   n   q   u   e   u   e   (   c   t   x   Q   ,
0021600        I   n   i   t   i   a   l   i   z   e   C   o   n   t   e
0021620    x   t   (   v   ,       3   0   0   ,       C   o   n   n   e
0021640    c   t   o   r   )   )  \r               l   e   t       v    
0021660    =       v   e   c       3   0   0  \r               E   n   q
0021700    u   e   u   e   (   c   t   x   Q   ,       I   n   i   t   i
0021720    a   l   i   z   e   C   o   n   t   e   x   t   (   v   ,    
0021740    3   0   0   ,       D   i   s   C   o   n   n   e   c   t   o
0021760    r   )   )  \r               C   a   l   l   C   o   n   t   e
0022000    x   t   L   i   s   t   ( 376 001  \0 032  \n   c   t   x   Q
0022020    !   0   )       r   e   p   e   a   t  \r   ]      \r  \r   /
0022040    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0022060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0022140   \r   a   n   d       C   o   n   n   e   c   t   o   r   (   )
0022160        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0022200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0022260    -   -   -   -   -  \r   [                   B   l   o   c   k
0022300    (   )               /   /   l   e   t       s   o   m   e   o
0022320    n   e       e   l   s   e       h   a   v   e       a       g
0022340    o  \r               l   e   t       i       =       0   ;    
0022360    l   e   t       s   o   c       =       0               /   /
0022400    t   e   m   p   s  \r               l   e   t 376 001  \0   !
0022420  323       p   b   i       =       D   e   q   u   e   u   e   (
0022440    l   v       r   v   S   o   c   k   e   t   >   >   P   u   p
0022460    S   o   c   .   i   Q   )               /   /   g   e   t    
0022500    p   a   c   k   e   t  \r               u   n   l   e   s   s
0022520        p   b   i       d   o       [       l   o   o   p       ]
0022540   \r               i   f       p   b   i   >   >   P   B   I   .
0022560    p   u   p   .   t   y   p   e       n   e       t   y   p   e
0022600    R   F   C       %       p   b   i   >   >   P   B   I   .   p
0022620    u   p   .   d   P   o   r   t   .   h   o   s   t       e   q
0022640        0       t   h   e   n  \r                           [    
0022660    R   e   l   e   a   s   e   P   B   I   (   p   b   i   )   ;
0022700        l   o   o   p       ]  \r  \r   /   /   d   e   f   a   u
0022720    l   t       n   e   t       f   i   e   l   d       o   f    
0022740    c   o   n   n   e   c   t   i   o   n       p   o   r   t  \r
0022760                i   f       p   b   i   >   >   P   B   I   .   p
0023000    u   p   .   b   y   t   e   s   ^   1       e   q       0    
0023020    t 376 001  \0   f 323   h   e   n  \r                        
0023040    p   b   i   >   >   P   B   I   .   p   u   p   .   b   y   t
0023060    e   s   ^   1       =       p   b   i   >   >   P   B   I   .
0023100    p   u   p   .   s   P   o   r   t   .   n   e   t  \r  \r   /
0023120    /   c   h   e   c   k       e   x   i   s   t   i   n   g    
0023140    s   o   c   k   e   t   s       f   o   r       d   u   p   l
0023160    i   c   a   t   e       e   n   t   r   y  \r               f
0023200    o   r       i       =       0       t   o       m   a   x   S
0023220    e   r   v   e   r   s   -   1       d   o  \r                
0023240            i   f       u   s   e   d   i   d   n   o   s   !   i
0023260        t   h   e   n               /   /   f   o   r       e   a
0023300    c   h       e   x   i   s   t   i   n   g       s   o   c   k
0023320    e   t  \r                           [  \r                    
0023340                    s   o   c       =       b   s   p   S   o   c
0023360    k   e   t   s   !   i  \r                                    
0023400    i   f       s   o   c       n   e       0       &      \r    
0023420                          376 001  \0 324 277                    
0023440    (               (   l   v       s   o   c   >   >   R   T   P
0023460    S   o   c   .   f   r   n   P   o   r   t   )   !   0       e
0023500    q       (   l   v       p   b   i   >   >   P   B   I   .   p
0023520    u   p   .   w   o   r   d   s   )   !   0  \r                
0023540                                                &       (   l   v
0023560        s   o   c   >   >   R   T   P   S   o   c   .   f   r   n
0023600    P   o   r   t   )   !   1       e   q       (   l   v       p
0023620    b   i   >   >   P   B   I   .   p   u   p   .   w   o   r   d
0023640    s   )   !   1  \r                                            
0023660                    &       (   l   v       s   o   c   >   >   R
0023700    T   P   S   o   c   .   f   r   n   P   o   r   t   )   !   2
0023720        e   q       (   l   v       p   b   i   >   >   P   B   I
0023740    .   p   u   p   .   w   o   r   d   s   )   !   2       )  \r
0023760                                        &               (        
0024000        (   l   v       s   o   c   >   >   R   T   P   S   o   c
0024020    .   c   o   n   n   I   D   )   !   0     376 001  \0 357 022
0024040    e   q       (   l   v       p   b   i   >   >   P   B   I   .
0024060    p   u   p   .   i   d   )   !   0  \r                        
0024100                                        &       (   l   v       s
0024120    o   c   >   >   R   T   P   S   o   c   .   c   o   n   n   I
0024140    D   )   !   1       e   q       (   l   v       p   b   i   >
0024160    >   P   B   I   .   p   u   p   .   i   d   )   !   1       )
0024200   \r                                       t   h   e   n        
0024220        /   /   a   t       l   a   s   t   ,       a       d   u
0024240    p   l   i   c   a   t   e  \r                                
0024260        [               S   e   n   d   R   F   C   (   p   b   i
0024300    ,       s   o   c   )   ;       l   o   o   p       ]        
0024320        /   /   s   e   n   d       i   t       b   a   c   k  \r
0024340                            ]  \r  \r   /   /       f   i   n   d
0024360        a   n       o   p   e   n       i   d   n   u   m   b   e
0024400    r  \r               l   e   t       i   d   n   o       =    
0024420    -   1               /   /   i   d       n   u   m   b   e   r
0024440  376 001  \0 233  \f       t   e   m   p  \r               i    
0024460    =       0  \r               w   h   i   l   e       i       l
0024500    s       m   a   x   S   e   r   v   e   r   s       d   o  \r
0024520                [               t   e   s   t       u   s   e   d
0024540    i   d   n   o   s   !   i      \r                           i
0024560    f   n   o   t       [       i   d   n   o       =       i   ;
0024600        i       =       m   a   x   S   e   r   v   e   r   s   +
0024620    1       ]  \r                           i   f   s   o       i
0024640        =       i   +   1              \r               ]  \r   /
0024660    /   i   d   n   o       i   s       -   1       i   f       d
0024700    i   d       n   o   t       f   i   n   d       o   n   e  \r
0024720                i   f       i   d   n   o       l   s       0    
0024740    t   h   e   n      \r               [               p   b   i
0024760    >   >   P   B   I   .   p   u   p   .   w   o   r   d   s   ^
0025000    1       =       0               /   /   d   i   d       n   o
0025020    t       f   i   n   d       o   n   e   ,       s   e   n   d
0025040   \r                 376 001  \0 244   n           A   p   p   e
0025060    n   d   S   t   r   i   n   g   T   o   P   u   p   (   p   b
0025100    i   ,   3   ,   "   T   a   p   e   S   e   r   v   e   r    
0025120    f   u   l   l   ,       t   r   y       l   a   t   e   r   "
0025140    )               /   /   a   b   o   r   t  \r                
0025160            E   x   c   h   a   n   g   e   P   o   r   t   s   (
0025200    p   b   i   )                           /   /   m   e   s   s
0025220    a   g   e  \r                           C   o   m   p   l   e
0025240    t   e   P   u   p   (   p   b   i   ,   t   y   p   e   A   b
0025260    o   r   t   )  \r                           l   o   o   p  \r
0025300                ]  \r  \r   /   /   f   o   u   n   d       o   p
0025320    e   n       i   d   n   u   m   b   e   r   ,       o   p   e
0025340    n       a       B   S   P       c   o   n   n   e   c   t   i
0025360    o   n       f   o   r       i   t  \r               l   e   t
0025400        b   s   p   S   o   c       =       b   s   p   S   o   c
0025420    k   e   t   s   !   i   d   n   o                           /
0025440    /   u   s   e       a   p   p   r   o 376 001  \0 302   '   p
0025460    r   i   a   t   e       s   o   c   k   e   t  \r            
0025500    O   p   e   n   L   e   v   e   l   1   S   o   c   k   e   t
0025520    (   b   s   p   S   o   c   ,       0   ,       l   v       p
0025540    b   i   >   >   P   B   I   .   p   u   p   .   w   o   r   d
0025560    s   )               /   /   a   n   d       o   p   e   n    
0025600    l   e   v   e   l       1       w   i   t   h       p   b   i
0025620        t   h   a   t       c   a   m   e       i   n  \r        
0025640        O   p   e   n   R   T   P   S   o   c   k   e   t   (   b
0025660    s   p   S   o   c   ,       c   t   x   Q   ,       m   o   d
0025700    e   I   m   m   e   d   i   a   t   e   O   p   e   n   ,    
0025720    l   v       p   b   i   >   >   P   B   I   .   p   u   p   .
0025740    i   d   )  \r               S   e   n   d   R   F   C   (   p
0025760    b   i   ,   b   s   p   S   o   c   )                        
0026000    /   /   r   e   p   l   y       t   o       i   t   s       r
0026020    f   c       w   i   t   h       o   n   e       o   f       o
0026040    u   r       o   w   n  \r               I   n   i   t   i 376
0026060  001  \0 300 352   a   l   i   z   e   S   e   r   v   e   r   (
0026100    i   d   n   o   )                           /   /   s   e   t
0026120        u   p       S   e   r   v   i   c   e       b   l   o   c
0026140    k       a   n   d       e   n   q   u   e   u   e       S   e
0026160    r   v   e   r  \r                                            
0026200                                /   /   f   o   r       t   h   i
0026220    s       c   o   n   n   e   c   t   i   o   n  \r   ]       r
0026240    e   p   e   a   t  \r  \r   /   /   -   -   -   -   -   -   -
0026260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026340    -   -   -   -   -   -   -   -  \r   a   n   d       I   n   i
0026360    t   i   a   l   i   z   e   S   e   r   v   e   r   (   i   d
0026400    n   o   )       b   e  \r   /   /   -   -   -   -   -   -   -
0026420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026460    -   -   -   - 376 001  \0   H 253   -   -   -   -   -   -   -
0026500    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0026520                l   e   t       b   s   p   S   o   c       =    
0026540    b   s   p   S   o   c   k   e   t   s   !   i   d   n   o    
0026560            /   /   s   o   c   k   e   t       a   l   r   e   a
0026600    d   y       s   e   t       u   p  \r               l   e   t
0026620        b   s   p   S   t   r       =       C   r   e   a   t   e
0026640    B   S   P   S   t   r   e   a   m   (   b   s   p   S   o   c
0026660    )  \r               W   s   (   "   C   o   n   n   n   e   c
0026700    t   i   o   n       o   p   e   n       "   )   ;       W   o
0026720    (   i   d   n   o   )  \r       /   /   M   a   d   e       c
0026740    o   n   n   e   c   t   i   o   n   ,       s   e   t       u
0026760    p       S   e   r   v   i   c   e       b   l   o   c   k    
0027000    a   n   d       e   n   q   u   e   u   e       i   n   s   t
0027020    a   n   c   e       o   f       S   e   r   v   e   r  \r    
0027040            u   s   e   d   i   d   n   o   s   !   i   d   n   o
0027060        =       t   r   u   e         376 001  \0 255 367        
0027100                /   /   m   a   r   k       t   h   i   s       i
0027120    d   n   o       a   s       b   e   i   n   g       u   s   e
0027140    d  \r               l   e   t       s   e   r       =       s
0027160    e   r   v   i   c   e   B   l   o   c   k   s   !   i   d   n
0027200    o  \r               s   e   r   >   >   S   e   r   v   i   c
0027220    e   .   i   d   n   u   m   b   e   r       =       i   d   n
0027240    o                           /   /   a   n   d       s   e   t
0027260        i   t       u   p  \r               s   e   r   >   >   S
0027300    e   r   v   i   c   e   .   b   s   p   S   o   c       =    
0027320    b   s   p   S   o   c  \r               s   e   r   >   >   S
0027340    e   r   v   i   c   e   .   b   s   p   S   t   r       =    
0027360    b   s   p   S   t   r  \r               s   e   r   >   >   S
0027400    e   r   v   i   c   e   .   t   a   p   e       =       f   a
0027420    l   s   e  \r               s   e   r   >   >   S   e   r   v
0027440    i   c   e   .   b   l   k       =       f   a   l   s   e  \r
0027460                s   e   r   >   >   S   e   r   v   i   c 376 001
0027500   \0   S 036   e   .   d   r   i   v   e       =       -   1  \r
0027520                s   e   r   >   >   S   e   r   v   i   c   e   .
0027540    r   e   t   r   i   e   s       =       4               /   /
0027560    d   e   f   a   u   l   t       t   o       4       r   e   t
0027600    r   i   e   s  \r               s   e   r   >   >   S   e   r
0027620    v   i   c   e   .   s   p   e   e   d       =       I   P   S
0027640    1   2   5               /   /   d   e   f   a   u   l   t    
0027660    t   o       1   2   5       i   p   s  \r               l   e
0027700    t       i       =       s   e   r   v   e   r   C   o   n   t
0027720    e   x   t   s   !   i   d   n   o                           /
0027740    /   p   o   i   n   t       t   o       t   h   i   s       c
0027760    o   n   t   e   x   t  \r               I   n   i   t   i   a
0030000    l   i   z   e   C   o   n   t   e   x   t   (   i   ,   2   0
0030020    0   ,   S   e   r   v   e   r   ,   1   )                    
0030040        /   /   i   n   i   t       c   o   n   t   e   x   t    
0030060    w   i   t   h       o   n   e       p   a   r   a   m   e   t
0030100    e   r  \r 376 001  \0 216 343               i   !   3       =
0030120        s   e   r                           /   /   m   a   k   e
0030140        p   a   r   a   m   e   t   e   r       p   o   i   n   t
0030160        t   o       t   h   i   s       S   e   r   v   i   c   e
0030200        b   l   o   c   k  \r               E   n   q   u   e   u
0030220    e   (   c   t   x   Q   ,   i   )               /   /   s   t
0030240    a   r   t   u   p       S   e   r   v   e   r       i   n   s
0030260    t   a   n   c   e  \r   ]      \r  \r   /   /   -   -   -   -
0030300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030360    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0030400    S   e   n   d   R   F   C   (   p   b   i   ,       s   o   c
0030420    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0030440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030500    -   -   -   -   -   -   -   - 376 001  \0 257 321   -   -   -
0030520    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r        
0030540        M   o   v   e   B   l   o   c   k   (   l   v       p   b
0030560    i   >   >   P   B   I   .   p   u   p   .   w   o   r   d   s
0030600    ,       l   v       s   o   c   >   >   P   u   p   S   o   c
0030620    .   l   c   l   P   o   r   t   ,       l   e   n   P   o   r
0030640    t   )  \r               E   x   c   h   a   n   g   e   P   o
0030660    r   t   s   (   p   b   i   )  \r               C   o   m   p
0030700    l   e   t   e   P   u   p   (   p   b   i   ,       t   y   p
0030720    e   R   F   C   ,       p   u   p   O   v   B   y   t   e   s
0030740    +   6   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0030760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031040    -   -   -   -   -   -   -   -  \r   a   n   d       D   i   s
0031060    C   o   n   n   e   c   t   o   r   (   )       b   e      \r
0031100    /   /   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0031120  302 036   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0031140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031200    -   -   -   -   -   -  \r   [               /   /   C   h   e
0031220    c   k       f   o   r       c   l   o   s   e   d       s   o
0031240    c   k   e   t   s   ,       a   n   d       p   o   o   l    
0031260    t   h   e   i   r       c   o   r   r   e   s   p   o   n   d
0031300    i   n   g       s   t   u   f   f  \r               l   e   t
0031320        i       =       0   ;       l   e   t       v       =    
0031340    0  \r               f   o   r       i       =       0       t
0031360    o       m   a   x   S   e   r   v   e   r   s       -       1
0031400        d   o                   /   /   m   o   n   i   t   o   r
0031420        f   o   r       d   i   s   c   o   n   n   e   c   t   i
0031440    o   n  \r               [               B   l   o   c   k   (
0031460    )  \r                           i   f       (   u   s   e   d
0031500    i   d   n   o   s   !   i   )       &       (   (   b   s   p
0031520    S   o 376 001  \0   K   0   c   k   e   t   s   !   i   )   >
0031540    >   B   S   P   S   o   c   .   s   t   a   t   e       n   e
0031560        s   t   a   t   e   O   p   e   n   )       t   h   e   n
0031600   \r                                       [               /   /
0031620    m   u   s   t       c   l   o   s   e       t   h   i   s    
0031640    u   s   e   d       a   n   d       o   p   e   n       s   o
0031660    c   k   e   t  \r                                            
0031700        W   s   (   "       C   o   n   n   e   c   t   i   o   n
0031720        C   l   o   s   e   d   =   "   )   ;       W   o   (   i
0031740    )  \r                                                   v    
0031760    =       s   e   r   v   i   c   e   B   l   o   c   k   s   !
0032000    i  \r                                                   i   f
0032020        v   >   >   S   e   r   v   i   c   e   .   t   a   p   e
0032040        t   h   e   n       C   l   o   s   e   T   a   p   e   (
0032060    v   >   >   S   e   r   v   i   c   e   .   t   a   p   e   )
0032100   \r                                                   i   f    
0032120    (   v   >   >   S   e   r 376 001  \0 272 232   v   i   c   e
0032140    .   d   r   i   v   e       g   e       0   )       t   h   e
0032160    n       u   s   e   d   d   r   i   v   e   s   !   (   v   >
0032200    >   S   e   r   v   i   c   e   .   d   r   i   v   e   )    
0032220    =       f   a   l   s   e  \r                                
0032240                    U   n   q   u   e   u   e   (   c   t   x   Q
0032260    ,   s   e   r   v   e   r   C   o   n   t   e   x   t   s   !
0032300    i   )  \r                                                   i
0032320    f       r   w   K   e   y       e   q       i       t   h   e
0032340    n       r   w   K   e   y       =       -   1  \r            
0032360                                        i   f       k   b   d   K
0032400    e   y       e   q       i       t   h   e   n       k   b   d
0032420    K   e   y       =       -   1  \r                            
0032440                        C   l   o   s   e   s   (   v   >   >   S
0032460    e   r   v   i   c   e   .   b   s   p   S   t   r   )        
0032500        /   /   c   l   o   s   e       t   h   i   s       B   S
0032520    P       s   t   u   f   f  \r                 376 001  \0   s
0032540    "                                   u   s   e   d   i   d   n
0032560    o   s   !   i       =       f   a   l   s   e  \r            
0032600                            ]  \r               ]  \r   ]       r
0032620    e   p   e   a   t  \r  \r   /   /   -   -   -   -   -   -   -
0032640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0032720    -   -   -   -   -   -   -   -  \r   a   n   d       S   e   r
0032740    v   e   r   (   C   t   x   )       b   e  \r   /   /   -   -
0032760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0033040    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0033060                l   e   t       s   e   r       =       C   t   x
0033100    !   3                           /   /   g   e   t       S   e
0033120    r   v   i   c   e       b   l   o   c   k       f   r   o   m
0033140      376 001  \0 313 263   c   o   n   t   e   x   t  \r        
0033160        s   e   r   >   >   S   e   r   v   i   c   e   .   b   l
0033200    k       =       G   e   t   C   o   m   m   a   n   d   (   s
0033220    e   r   )  \r               l   e   t       b   l   k       =
0033240        s   e   r   >   >   S   e   r   v   i   c   e   .   b   l
0033260    k  \r   /   /       g   e   t       v   e   r   s   i   o   n
0033300        m   e   s   s   a   g   e       f   i   r   s   t  \r    
0033320            w   h   i   l   e       (   b   l   k   >   >   G   M
0033340    e   s   s   a   g   e   .   t   y   p   e       n   e       c
0033360    m   d   V   e   r   s   i   o   n   )       d   o  \r        
0033400        [  \r                           R   e   p   l   y   N   o
0033420    (   s   e   r   ,   n   o   V   e   r   s   i   o   n   )  \r
0033440                            i   f       r   w   K   e   y       e
0033460    q       s   e   r   >   >   S   e   r   v   i   c   e   .   i
0033500    d   n   u   m   b   e   r       t   h   e   n       r   w   K
0033520    e   y       =       -   1  \r                           i   f
0033540        k   b   d   K   e 376 001  \0 235   E   y       e   q    
0033560    s   e   r   >   >   S   e   r   v   i   c   e   .   i   d   n
0033600    u   m   b   e   r       t   h   e   n       k   b   d   K   e
0033620    y       =       -   1  \r                           b   l   k
0033640        =       G   e   t   C   o   m   m   a   n   d   (   s   e
0033660    r   )   ;       s   e   r   >   >   S   e   r   v   i   c   e
0033700    .   b   l   k       =       b   l   k  \r               ]  \r
0033720                R   e   p   l   y   V   e   r   s   i   o   n   (
0033740    s   e   r   )               /   /   s   e   n   d       v   e
0033760    r   s   i   o   n       r   e   p   l   y  \r   /   /       r
0034000    e   p   e   a   t       t   h   i   s       l   o   o   p    
0034020    f   o   r       e   a   c   h       c   o   m   m   a   n   d
0034040    ,       u   n   t   i   l       c   o   n   n   e   c   t   i
0034060    o   n       i   s  \r   /   /       t   e   r   m   i   n   a
0034100    t   e   d       b   y       h   i   g   h   e   r       a   u
0034120    t   h   o   r   i   t   y  \r               l   e   t       c
0034140    m   d       =       0                     376 001  \0 277   :
0034160        /   /   c   o   m   m   a   n   d       t   e   m   p  \r
0034200                w   h   i   l   e       t   r   u   e       d   o
0034220   \r               [               B   l   o   c   k   (   )    
0034240                        /   /       L   e   t       s   o   m   e
0034260    o   n   e       e   l   s   e       h   a   v   e       a    
0034300    g   o  \r                           b   l   k       =       G
0034320    e   t   C   o   m   m   a   n   d   (   s   e   r   )   ;    
0034340    s   e   r   >   >   S   e   r   v   i   c   e   .   b   l   k
0034360        =       b   l   k  \r                           c   m   d
0034400        =       b   l   k   >   >   G   M   e   s   s   a   g   e
0034420    .   t   y   p   e  \r                           s   w   i   t
0034440    c   h   o   n       c   m   d       i   n   t   o  \r        
0034460                    [  \r                           c   a   s   e
0034500        c   m   d   O   p   e   n   D   r   i   v   e   :        
0034520                    D   o   O   p   e   n   D   r   i   v   e   (
0034540    s   e   r   )   ;       e   n   d   c   a   s   e  \r        
0034560  376 001  \0   " 350                   c   a   s   e       c   m
0034600    d   C   l   o   s   e   D   r   i   v   e   :                
0034620            D   o   C   l   o   s   e   D   r   i   v   e   (   s
0034640    e   r   )   ;       e   n   d   c   a   s   e  \r            
0034660                c   a   s   e       c   m   d   R   e   a   d   R
0034700    e   c   o   r   d   :                           D   o   R   e
0034720    a   d   R   e   c   o   r   d   (   s   e   r   )   ;       e
0034740    n   d   c   a   s   e  \r                           c   a   s
0034760    e       c   m   d   W   r   i   t   e   R   e   c   o   r   d
0035000    :                           D   o   W   r   i   t   e   R   e
0035020    c   o   r   d   (   s   e   r   )   ;       e   n   d   c   a
0035040    s   e  \r                           c   a   s   e       c   m
0035060    d   F   w   d   S   p   a   c   e   R   e   c   o   r   d   :
0035100                D   o   F   w   d   S   p   a   c   e   R   e   c
0035120    o   r   d   (   s   e   r   )   ;       e   n   d   c   a   s
0035140    e  \r                           c   a   s   e       c   m   d
0035160    B   a   c   k   S 376 001  \0   >   |   p   a   c   e   R   e
0035200    c   o   r   d   :               D   o   B   a   c   k   S   p
0035220    a   c   e   R   e   c   o   r   d   (   s   e   r   )   ;    
0035240    e   n   d   c   a   s   e  \r                           c   a
0035260    s   e       c   m   d   F   w   d   S   p   a   c   e   F   i
0035300    l   e   :               D   o   F   w   d   S   p   a   c   e
0035320    F   i   l   e   (   s   e   r   )   ;       e   n   d   c   a
0035340    s   e  \r                           c   a   s   e       c   m
0035360    d   B   a   c   k   S   p   a   c   e   F   i   l   e   :    
0035400            D   o   B   a   c   k   S   p   a   c   e   F   i   l
0035420    e   (   s   e   r   )   ;       e   n   d   c   a   s   e  \r
0035440                            c   a   s   e       c   m   d   W   r
0035460    i   t   e   E   O   F   :                           D   o   W
0035500    r   i   t   e   E   O   F   (   s   e   r   )   ;       e   n
0035520    d   c   a   s   e  \r                           c   a   s   e
0035540        c   m   d   W   r   i   t   e   B   l   a   n   k   T   a
0035560    p   e   :               D   o   W   r 376 001  \0 275 331   i
0035600    t   e   B   l   a   n   k   T   a   p   e   (   s   e   r   )
0035620    ;       e   n   d   c   a   s   e  \r                        
0035640    c   a   s   e       c   m   d   R   e   w   i   n   d   :    
0035660                        D   o   R   e   w   i   n   d   (   s   e
0035700    r   )   ;       e   n   d   c   a   s   e  \r                
0035720            c   a   s   e       c   m   d   U   n   l   o   a   d
0035740    :                           D   o   U   n   l   o   a   d   (
0035760    s   e   r   )   ;       e   n   d   c   a   s   e  \r        
0036000                    c   a   s   e       c   m   d   G   e   t   S
0036020    t   a   t   u   s   :                           D   o   G   e
0036040    t   S   t   a   t   u   s   (   s   e   r   )   ;       e   n
0036060    d   c   a   s   e  \r                           c   a   s   e
0036100        c   m   d   S   e   t   S   t   a   t   u   s   :        
0036120                    D   o   S   e   t   S   t   a   t   u   s   (
0036140    s   e   r   )   ;       e   n   d   c   a   s   e  \r        
0036160                    c   a   s   e       c   m   d   S   e   n 376
0036200  001  \0 342   m   d   T   e   x   t   :                        
0036220    D   o   S   e   n   d   T   e   x   t   (   s   e   r   )   ;
0036240        e   n   d   c   a   s   e  \r                           c
0036260    a   s   e       c   m   d   G   e   t   T   e   x   t   :    
0036300                        D   o   G   e   t   T   e   x   t   (   s
0036320    e   r   )   ;       e   n   d   c   a   s   e  \r            
0036340                d   e   f   a   u   l   t   :                    
0036360                    R   e   p   l   y   N   o   (   s   e   r   ,
0036400    n   o   G   o   o   d   M   e   s   s   a   g   e   )   ;    
0036420    e   n   d   c   a   s   e  \r                           ]  \r
0036440                            i   f       r   w   K   e   y       e
0036460    q       s   e   r   >   >   S   e   r   v   i   c   e   .   i
0036500    d   n   u   m   b   e   r       t   h   e   n       r   w   K
0036520    e   y       =       -   1               /   /   r   e   t   u
0036540    r   n       k   e   y  \r                           i   f    
0036560    k   b   d   K   e   y       e   q       s   e   r   >   >   S
0036600    e   r   v   i 376 001  \0  \b 333   c   e   .   i   d   n   u
0036620    m   b   e   r       t   h   e   n       k   b   d   K   e   y
0036640        =       -   1               /   /   r   e   t   u   r   n
0036660        k   e   y  \r               ]  \r   ]  \r  \r   /   /   -
0036700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036760    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0037000    n   d       G   e   t   C   o   m   m   a   n   d   (   s   e
0037020    r   )       =       v   a   l   o   f  \r   /   /   -   -   -
0037040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0037120    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r    
0037140            l   e   t       l   b   y   t       =       G   e   t
0037160    N   o   n   M   a   r   k   (   s   e   r   )   ;       l   e
0037200    t       r   b   y   t       =     376 001  \0 214 270   G   e
0037220    t   N   o   n   M   a   r   k   (   s   e   r   )  \r        
0037240        l   e   t       l   e   n       =       r   b   y   t    
0037260    +       (   l   b   y   t       l   s   h   i   f   t       8
0037300    )  \r               i   f       l   b   y   t       e   q    
0037320    -   1       %       r   b   y   t       e   q       -   1    
0037340    t   h   e   n       l   e   n       =       2               /
0037360    /   b   a   d       l   e   n   g   t   h       =       2  \r
0037400                l   b   y   t       =       G   e   t   N   o   n
0037420    M   a   r   k   (   s   e   r   )   ;       r   b   y   t    
0037440    =       G   e   t   N   o   n   M   a   r   k   (   s   e   r
0037460    )  \r               l   e   t       c   m   d       =       r
0037500    b   y   t       +       (   l   b   y   t       l   s   h   i
0037520    f   t       8   )  \r               i   f       l   b   y   t
0037540        e   q       -   1       %       r   b   y   t       e   q
0037560        -   1       t   h   e   n       c   m   d       =       -
0037600    1               /   /   b   a   d       l   e   n   g 376 001
0037620   \0 212 220   t   h       =       2  \r               l   e   t
0037640        b   l   k       =       s   e   r   >   >   S   e   r   v
0037660    i   c   e   .   c   m   d   B   l   o   c   k  \r            
0037700    l   e   t       m   a   x   l   e   n       =       c   m   d
0037720    B   l   o   c   k   L   e   n   g   t   h  \r               i
0037740    f       c   m   d       e   q       c   m   d   R   e   a   d
0037760    R   e   c   o   r   d       %       c   m   d       e   q    
0040000    c   m   d   W   r   i   t   e   R   e   c   o   r   d       t
0040020    h   e   n  \r               [  \r                           b
0040040    l   k       =       r   w   B   l   o   c   k               /
0040060    /   u   s   e       r   w   B   l   o   c   k       f   o   r
0040100        R   e   a   d   /   W   r   i   t   e   s  \r            
0040120                w   h   i   l   e       r   w   K   e   y       g
0040140    e       0       d   o       B   l   o   c   k   (   )        
0040160        /   /   w   a   i   t       f   o   r       k   e   y  \r
0040200                            r   w   K   e   y       =       s   e
0040220    r   >   > 376 001  \0   3   F   S   e   r   v   i   c   e   .
0040240    i   d   n   u   m   b   e   r               /   /   t   a   k
0040260    e       k   e   y  \r                           m   a   x   l
0040300    e   n       =       r   w   B   l   o   c   k   L   e   n   g
0040320    t   h  \r               ]  \r               i   f       l   e
0040340    n       g   r       m   a   x   l   e   n       t   h   e   n
0040360                /   /   g   i   v   e       b   a   d       c   o
0040400    m   m   a   n   d   ,       d   o   n   '   t       r   e   a
0040420    d       a   n   y       m   o   r   e      \r               [
0040440                c   m   d       =       -   1   ;       l   e   n
0040460        =       2   ;       R   e   s   e   t   s   (   s   e   r
0040500    >   >   S   e   r   v   i   c   e   .   b   s   p   S   t   r
0040520    )               ]      \r               b   l   k   >   >   G
0040540    M   e   s   s   a   g   e   .   l   e   n   g   t   h       =
0040560        l   e   n  \r               b   l   k   >   >   G   M   e
0040600    s   s   a   g   e   .   t   y   p   e       =       c   m   d
0040620   \r   /   /   g   e   t       t 376 001  \0   & 005   h   e    
0040640    b   l   o   c   k       o   f       d   a   t   a   ,       m
0040660    a   r   k       b   y   t   e   s       o   r       o   t   h
0040700    e   r   w   i   s   e       j   u   s   t       e   n   d   s
0040720        b   l   o   c   k   ,  \r   /   /           n   o       c
0040740    h   a   n   g   e       t   o       l   e   n   g   t   h    
0040760    i   s       m   a   d   e       h   e   r   e  \r            
0041000    B   S   P   R   e   a   d   B   l   o   c   k   (   s   e   r
0041020    >   >   S   e   r   v   i   c   e   .   b   s   p   S   t   r
0041040    ,   l   v       b   l   k   >   >   G   M   e   s   s   a   g
0041060    e   .   d   a   t   a   ,   0   ,   l   e   n   +   l   e   n
0041100    -   4   )  \r               r   e   s   u   l   t   i   s    
0041120    b   l   k               /   /   r   e   t   u   r   n       b
0041140    l   o   c   k       p   o   i   n   t   e   r  \r   ]  \r  \r
0041160    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0041200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0041220    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0041240  303   S   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0041260    -   -   -   -   -   -  \r   a   n   d       G   e   t   N   o
0041300    n   M   a   r   k   (   s   e   r   )       =       v   a   l
0041320    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0041340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041420    -   -   -   -  \r   [               /   /   g   e   t       n
0041440    e   x   t       b   y   t   e   ,       -   1       i   f    
0041460    m   a   r   k       b   y   t   e  \r               l   e   t
0041500        v       =       -   1   ;       l   e   t       d   o   n
0041520    e       =       f   a   l   s   e  \r               u   n   t
0041540    i   l       d   o   n   e       d   o  \r               [    
0041560            B   l   o   c   k   (   )  \r                        
0041600    v       =       G   e   t   s   (   s   e   r   >   >   S   e
0041620    r   v   i   c   e   .   b   s   p   S   t   r   )      \r    
0041640          376 001  \0 247 032               i   f       v       e
0041660    q       -   1       &       (   (   s   e   r   >   >   S   e
0041700    r   v   i   c   e   .   b   s   p   S   o   c   )   >   >   B
0041720    S   P   S   o   c   .   m   a   r   k   P   e   n   d   i   n
0041740    g   )       t   h   e   n  \r                           [    
0041760            B   S   P   G   e   t   M   a   r   k   (   s   e   r
0042000    >   >   S   e   r   v   i   c   e   .   b   s   p   S   o   c
0042020    )               /   /   d   e   q   u   e   u   e       t   h
0042040    i   s       m   a   r   k       b   y   t   e  \r            
0042060                            d   o   n   e       =       t   r   u
0042100    e      \r                           ]  \r                    
0042120        i   f       v       g   e       0       t   h   e   n    
0042140    d   o   n   e       =       t   r   u   e               /   /
0042160    g   o   t       b   y   t   e  \r               ]  \r        
0042200        r   e   s   u   l   t   i   s       v  \r   ]  \r  \r   /
0042220    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0042240    -   -   -   -   -   -   - 376 001  \0   H 207   -   -   -   -
0042260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042320    -   -   -   -   -  \r   a   n   d       R   e   p   l   y   V
0042340    e   r   s   i   o   n   (   s   e   r   )       b   e  \r   /
0042360    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0042400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042460   \r   [  \r               l   e   t       b   l   k       =    
0042500    s   e   r   >   >   S   e   r   v   i   c   e   .   b   l   k
0042520                /   /   g   e   t       c   o   m   m   a   n   d
0042540        b   l   o   c   k  \r               b   l   k   >   >   V
0042560    e   r   s   i   o   n   .   t   y   p   e       =       c   m
0042600    d   V   e   r   s   i   o   n  \r               b   l   k   >
0042620    >   V   e   r   s   i   o   n   .   v   e   r   s   n   o    
0042640    =       c   u   r   r   e   n   t   V   e   r 376 001  \0 217
0042660  037   s   i   o   n  \r               l   e   t       s   t   r
0042700        =       c   u   r   r   e   n   t   V   e   r   s   i   o
0042720    n   S   t   r   i   n   g               /   /   m   e   s   s
0042740    a   g   e       f   o   r       v   e   r   s   i   o   n  \r
0042760                l   e   t       i       =       0  \r            
0043000    b   l   k   >   >   V   e   r   s   i   o   n   .   l   e   n
0043020    g   t   h       =       3       +       (   (   s   t   r   >
0043040    >   S   t   r   i   n   g   .   l   e   n   g   t   h       +
0043060        2   )       /       2   )  \r               f   o   r    
0043100    i       =       0       t   o       b   l   k   >   >   V   e
0043120    r   s   i   o   n   .   l   e   n   g   t   h       -       4
0043140        d   o  \r               [               (   l   v       b
0043160    l   k   >   >   V   e   r   s   i   o   n   .   v   e   r   s
0043200    t   e   x   t   )   !   i       =       s   t   r   !   i    
0043220            /   /   c   o   p   y       s   t   r   i   n   g  \r
0043240                ]  \r   /   /               a   n   d       s   e
0043260    n 376 001  \0 316 234   d       b   l   o   c   k       o   u
0043300    t  \r               B   S   P   W   r   i   t   e   B   l   o
0043320    c   k   (   s   e   r   >   >   S   e   r   v   i   c   e   .
0043340    b   s   p   S   t   r   ,   b   l   k   ,   0   ,   2   *   b
0043360    l   k   >   >   V   e   r   s   i   o   n   .   l   e   n   g
0043400    t   h   )  \r               B   S   P   F   o   r   c   e   O
0043420    u   t   p   u   t   (   s   e   r   >   >   S   e   r   v   i
0043440    c   e   .   b   s   p   S   o   c   )  \r   ]  \r  \r   /   /
0043460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0043560    a   n   d       T   a   p   e   T   r   i   d   e   n   t   B
0043600    o   o   t   (   )       b   e  \r   /   /   -   -   -   -   -
0043620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043660    -   -   -   -   -   - 376 001  \0 260 226   -   -   -   -   -
0043700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0043720    [  \r               S   e   t   B   L   V   (   #   1   7   7
0043740    7   7   6   )                           /   /       a   l   l
0043760        b   u   t       t   a   s   k       0       b   a   c   k
0044000        i   n   t   o       R   O   M  \r               S   t   a
0044020    r   t   I   O   (   #   1   0   0   0   0   0   )            
0044040                /   /       b   o   o   t   !  \r               @
0044060    l   v   U   s   e   r   F   i   n   i   s   h   P   r   o   c
0044100    =   T   a   p   e   T   r   i   d   e   n   t   U   F   P  \r
0044120    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0044140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044220    -   -   -   -  \r   a   n   d       T   a   p   e   W   a   i
0044240    t   Q   u   i   e   t   (   )       =       B   l   o   c   k
0044260    (   )  \r   /   /   -   -   -   -   -   - 376  \0   J   ^   r
0044300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044360    -   -   -   -   -   -   -   -   -  \r 032   (   6   3   5   )
0044400   \r  \r 032   (   1   7   9   2   )  \r 377  \0  \0   T   S   P
0044420    D   O   s   .   b   c   p   l  \0 376 001  \0 260   "   /   /
0044440    t   s   p   d   o   s   .   b   c   p   l               T   a
0044460    p   e       S   e   r   v   e   r       D   o   *       c   o
0044500    m   m   a   n   d       p   r   o   c   e   d   u   r   e   s
0044520   \r   /   /               g   .       k   r   a   s   n   e   r
0044540            N   o   v   e   m   b   e   r       1   9   ,       1
0044560    9   7   9  \r   /   /               L   a   s   t       m   o
0044600    d   i   f   i   e   d       b   y       T   i   m       D   i
0044620    e   b   e   r   t   ,       O   c   t   o   b   e   r       1
0044640    0   ,       1   9   8   0           1   1   :   0   0       A
0044660    M  \r   /   /  \r   g   e   t               "   T   a   p   e
0044700    s   .   d   "  \r   g   e   t               "   P   U   P   .
0044720    d   e   c   l   "  \r   g   e   t               "   T   S   P
0044740    .   d   e   c   l   "  \r  \r   /   /   -   -   -   -   -   -
0044760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045020    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0045040   \0 030 006   -   -   -   -   -   -   -   -   -   -   -  \r   e
0045060    x   t   e   r   n   a   l  \r   /   /   -   -   -   -   -   -
0045100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045160    -   -   -   -   -   -   -   -   -  \r   [  \r   /   /   I   m
0045200    p   o   r   t   s  \r               /   /   F   r   o   m    
0045220    T   a   p   e   s              \r                   O   p   e
0045240    n   T   a   p   e   ;       C   l   o   s   e   T   a   p   e
0045260    ;       T   a   p   e   R   e   w   i   n   d   ;       T   a
0045300    p   e   U   n   l   o   a   d   ;       T   a   p   e   E   O
0045320    F  \r                   T   a   p   e   S   t   a   t   u   s
0045340    ;       A   c   t   O   n   T   a   p   e   ;       P   e   r
0045360    f   o   r   m   V   T   C   B  \r                   F   i   l
0045400    e   S   k   i   p   F   w   d   ;       F   i   l   e   S   k
0045420    i   p   R   e   v   ;       R   e   c   S   k   i   p   F   w
0045440    d   ;     376 001  \0 313 216   R   e   c   S   k   i   p   R
0045460    e   v   ;       E   r   a   s   e   I   n   c   h   e   s  \r
0045500                /   /   F   r   o   m       '   S   y   s   t   e
0045520    m   '  \r                   W   s   ;       W   o   ;       E
0045540    n   d   o   f   s   ;       k   e   y   s   ;       B   l   o
0045560    c   k   ;       G   e   t   s   ;       C   a   l   l   S   w
0045600    a   t  \r               /   /   F   r   o   m       B   S   P
0045620   \r                   B   S   P   W   r   i   t   e   B   l   o
0045640    c   k   ;       B   S   P   F   o   r   c   e   O   u   t   p
0045660    u   t  \r   /   /   I   m   p   o   r   t   e   d       G   l
0045700    o   b   a   l   s  \r               r   w   B   l   o   c   k
0045720    ;       r   w   K   e   y   ;       k   b   d   K   e   y   ;
0045740        u   s   e   d   i   d   n   o   s   ;       u   s   e   d
0045760    d   r   i   v   e   s   ;       c   t   x   Q  \r            
0046000    c   u   r   r   e   n   t   V   e   r   s   i   o   n   S   t
0046020    r   i   n   g  \r   /   /   E   x   p   o   r   t   s       (
0046040    t   o       T   S   P   S   e 376 001  \0 265 030   r   v   e
0046060    r   )  \r               R   e   p   l   y   N   o   ;       R
0046100    e   p   l   y   Y   e   s  \r               D   o   O   p   e
0046120    n   D   r   i   v   e   ;       D   o   C   l   o   s   e   D
0046140    r   i   v   e   ;       D   o   R   e   a   d   R   e   c   o
0046160    r   d   ;       D   o   W   r   i   t   e   R   e   c   o   r
0046200    d  \r               D   o   F   w   d   S   p   a   c   e   R
0046220    e   c   o   r   d   ;       D   o   B   a   c   k   S   p   a
0046240    c   e   R   e   c   o   r   d   ;       D   o   F   w   d   S
0046260    p   a   c   e   F   i   l   e  \r               D   o   B   a
0046300    c   k   S   p   a   c   e   F   i   l   e   ;       D   o   W
0046320    r   i   t   e   E   O   F   ;       D   o   W   r   i   t   e
0046340    B   l   a   n   k   T   a   p   e  \r               D   o   R
0046360    e   w   i   n   d   ;       D   o   U   n   l   o   a   d   ;
0046400        D   o   G   e   t   S   t   a   t   u   s   ;       D   o
0046420    S   e   t   S   t   a   t   u   s  \r               D   o   S
0046440    e   n   d   T   e   x   t   ;       D   o   G   e 376 001  \0
0046460    W 247   t   T   e   x   t  \r   ]  \r  \r   /   /            
0046500    C   o   m   m   a   n   d       P   r   o   c   e   s   s   o
0046520    r   s   :       D   o   *   (   )  \r   /   /   T   h   e   s
0046540    e       r   o   u   t   i   n   e   s       h   a   n   d   l
0046560    e       t   h   e       p   r   o   c   e   s   s   i   n   g
0046600        f   o   r       a       r   e   c   e   i   v   e   d    
0046620    c   o   m   m   a   n   d   .           M   o   s   t  \r   /
0046640    /   v   e   r   i   f   y       t   h   a   t       t   h   e
0046660    r   e       i   s       a       d   r   i   v   e       o   p
0046700    e   n       (   S   e   r   v   i   c   e   .   d   r   i   v
0046720    e   s       =       -   1   )   .  \r   /   /   E   r   r   o
0046740    r       r   e   c   o   v   e   r   y       a   n   d       R
0046760    e   p   l   y   i   n   g       a   r   e       a   l   l    
0047000    d   o   n   e       a   t       t   h   i   s       l   e   v
0047020    e   l   .  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0047040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0047060    -   - 376 001  \0 326   X   -   -   -   -   -   -   -   -   -
0047100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0047120    -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t    
0047140    D   o   O   p   e   n   D   r   i   v   e   (   s   e   r   )
0047160        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0047200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047260    -   -   -   -   -  \r   [  \r               l   e   t       b
0047300    l   k       =       s   e   r   >   >   S   e   r   v   i   c
0047320    e   .   b   l   k  \r   /   /       p   r   o   c   e   s   s
0047340        t   h   e       O   p   e   n   D   r   i   v   e       c
0047360    o   m   m   a   n   d   ,       o   p   e   n   i   n   g    
0047400    t   h   e       g   i   v   e   n       d   r   i   v   e    
0047420    i   f       a   l   l   o   w   e   d   .  \r               t
0047440    e   s   t       s   e   r   >   >   S   e   r   v   i   c   e
0047460    .   d   r   i   v   e     376 001  \0 322 326   g   e       0
0047500   \r               i   f   s   o               /   /   t   h   i
0047520    s       S   e   r   v   e   r       h   a   s       a       d
0047540    r   i   v   e       o   p   e   n       a   l   r   e   a   d
0047560    y  \r                           R   e   p   l   y   N   o   (
0047600    s   e   r   ,   o   p   e   n   A   l   r   e   a   d   y   )
0047620   \r               i   f   n   o   t  \r               [  \r    
0047640                        l   e   t       d   r       =       b   l
0047660    k   >   >   O   p   e   n   D   r   i   v   e   .   d   r   i
0047700    v   e   N   u   m   b   e   r  \r                           t
0047720    e   s   t       d   r       l   s       m   a   x   D   r   i
0047740    v   e   s  \r                           i   f   n   o   t    
0047760            R   e   p   l   y   N   o   (   s   e   r   ,   b   a
0050000    d   D   r   i   v   e   N   o   )      \r                    
0050020        i   f   s   o               t   e   s   t       u   s   e
0050040    d   d   r   i   v   e   s   !   d   r  \r                    
0050060                    i   f   s   o               R 376 001  \0 326
0050100  272   e   p   l   y   N   o   (   s   e   r   ,   d   r   i   v
0050120    e   I   n   U   s   e   )  \r                                
0050140        i   f   n   o   t  \r                                    
0050160    [  \r                                                   l   e
0050200    t       t   a   p   e       =       O   p   e   n   T   a   p
0050220    e   (   d   r   ,   s   e   r   >   >   S   e   r   v   i   c
0050240    e   .   s   p   e   e   d   ,   D   o   E   r   r   o   r   P
0050260    r   o   c   )  \r                                            
0050300        t   e   s   t       t   a   p   e  \r                    
0050320                                i   f   n   o   t               R
0050340    e   p   l   y   N   o   (   s   e   r   ,   b   a   d   D   r
0050360    i   v   e   )  \r                                            
0050400        i   f   s   o  \r                                        
0050420            [               /   /   A   l   l       w   e   n   t
0050440        w   e   l   l   !   !  \r                                
0050460                                s   e   r   >   >   S   e   r   v
0050500    i 376 001  \0   I 220   c   e   .   t   a   p   e       =    
0050520    t   a   p   e  \r                                            
0050540                    s   e   r   >   >   S   e   r   v   i   c   e
0050560    .   d   r   i   v   e       =       d   r  \r                
0050600                                                u   s   e   d   d
0050620    r   i   v   e   s   !   d   r       =       t   r   u   e  \r
0050640                                                                R
0050660    e   p   l   y   Y   e   s   (   s   e   r   ,   c   m   d   O
0050700    p   e   n   D   r   i   v   e   )  \r                        
0050720                            ]  \r                                
0050740        ]  \r               ]  \r   ]  \r  \r   /   /   -   -   -
0050760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051040    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0051060        D   o   C   l   o   s   e   D   r   i   v   e   (   s   e
0051100    r   )       b   e  \r 376 001  \0 227 321   /   /   -   -   -
0051120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051200    -   -   -   -   -   -   -   -   -   -   -   -  \r   [        
0051220        i   f       V   e   r   i   f   y   O   p   e   n   (   s
0051240    e   r   )       t   h   e   n               /   /   d   r   i
0051260    v   e       i   s       o   p   e   n   ,       c   l   o   s
0051300    e       i   t  \r               [               l   e   t    
0051320    d   r       =       s   e   r   >   >   S   e   r   v   i   c
0051340    e   .   d   r   i   v   e  \r                           u   s
0051360    e   d   d   r   i   v   e   s   !   d   r       =       f   a
0051400    l   s   e  \r                           C   l   o   s   e   T
0051420    a   p   e   (   s   e   r   >   >   S   e   r   v   i   c   e
0051440    .   t   a   p   e   )  \r                           s   e   r
0051460    >   >   S   e   r   v   i   c   e   .   t   a   p   e       =
0051500        f   a   l   s   e  \r                 376 001  \0   &   #
0051520            s   e   r   >   >   S   e   r   v   i   c   e   .   d
0051540    r   i   v   e       =       -   1  \r                        
0051560    R   e   p   l   y   Y   e   s   (   s   e   r   ,   c   m   d
0051600    C   l   o   s   e   D   r   i   v   e   )  \r               ]
0051620   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0051640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051720    -   -   -   -   -  \r   a   n   d       D   o   R   e   a   d
0051740    R   e   c   o   r   d   (   s   e   r   )       b   e  \r   /
0051760    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052060   \r   [               /   /   R   e   a   d       a       r   e
0052100    c   o   r   d       f   r   o   m       t   a   p   e  \r    
0052120  376 001  \0   t   "           i   f       V   e   r   i   f   y
0052140    O   p   e   n   (   s   e   r   )       t   h   e   n  \r    
0052160            [               /   /   D   o       r   e   a   d   ,
0052200        a   n   d       r   e   t   u   r   n       s   t   a   t
0052220    u   s       a   s       w   e   l   l  \r                    
0052240        l   e   t       b   l   k       =       s   e   r   >   >
0052260    S   e   r   v   i   c   e   .   b   l   k               /   /
0052300    g   e   t       c   o   m   m   a   n   d       b   l   o   c
0052320    k  \r                           l   e   t       c   o   u   n
0052340    t       =       A   c   t   O   n   T   a   p   e   (   s   e
0052360    r   >   >   S   e   r   v   i   c   e   .   t   a   p   e   ,
0052400    R   e   a   d   T   a   p   e   ,   l   v       b   l   k   >
0052420    >   H   e   r   e   I   s   R   e   c   o   r   d   .   r   e
0052440    c   o   r   d   ,   r   w   B   l   o   c   k   L   e   n   g
0052460    t   h   ,   0   ,   0   ,   s   e   r   >   >   S   e   r   v
0052500    i   c   e   .   r   e   t   r   i   e   s   )  \r            
0052520                i   f 376 001  \0   m   ,       c   o   u   n   t
0052540        l   e       0       t   h   e   n       c   o   u   n   t
0052560        =       0  \r                           i   f       c   o
0052600    u   n   t       g   r       r   w   B   l   o   c   k   L   e
0052620    n   g   t   h   -   2   4      \r                            
0052640            t   h   e   n       c   o   u   n   t       =       r
0052660    w   B   l   o   c   k   L   e   n   g   t   h   -   2   4    
0052700            /   /   t   r   u   n   c   a   t   e       t   o    
0052720    f   i   t  \r                           b   l   k   >   >   H
0052740    e   r   e   I   s   R   e   c   o   r   d   .   r   e   c   o
0052760    r   d   L   e   n   g   t   h       =       c   o   u   n   t
0053000   \r                           b   l   k   >   >   H   e   r   e
0053020    I   s   R   e   c   o   r   d   .   e   n   d   i   n   g   S
0053040    t   a   t   u   s       =       (   s   e   r   >   >   S   e
0053060    r   v   i   c   e   .   t   a   p   e   )   >   >   T   C   B
0053100    .   F   l   a   g   s  \r                           b   l   k
0053120    >   >   H   e   r   e   I   s   R   e 376 001  \0 251 330   c
0053140    o   r   d   .   t   y   p   e       =       c   m   d   H   e
0053160    r   e   I   s   R   e   c   o   r   d  \r                    
0053200        b   l   k   >   >   H   e   r   e   I   s   R   e   c   o
0053220    r   d   .   l   e   n   g   t   h       =       4   +   (   c
0053240    o   u   n   t   +   1   )   /   2  \r                        
0053260    c   o   u   n   t       =       2       *       b   l   k   >
0053300    >   H   e   r   e   I   s   R   e   c   o   r   d   .   l   e
0053320    n   g   t   h  \r                           B   S   P   W   r
0053340    i   t   e   B   l   o   c   k   (   s   e   r   >   >   S   e
0053360    r   v   i   c   e   .   b   s   p   S   t   r   ,   b   l   k
0053400    ,   0   ,   c   o   u   n   t   )  \r                        
0053420    B   S   P   F   o   r   c   e   O   u   t   p   u   t   (   s
0053440    e   r   >   >   S   e   r   v   i   c   e   .   b   s   p   S
0053460    o   c   )  \r               ]  \r   ]  \r  \r   /   /   -   -
0053500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0053520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0053540  001  \0 321   2   -   -   -   -   -   -   -   -   -   -   -   -
0053560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0053600    -   -  \r   a   n   d       D   o   W   r   i   t   e   R   e
0053620    c   o   r   d   (   s   e   r   )       b   e  \r   /   /   -
0053640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053720    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0053740                /   /   W   r   i   t   e       a       r   e   c
0053760    o   r   d       t   o       t   a   p   e  \r               i
0054000    f       V   e   r   i   f   y   O   p   e   n   (   s   e   r
0054020    )       t   h   e   n  \r               i   f       O   k   T
0054040    o   W   r   i   t   e   (   s   e   r   )       t   h   e   n
0054060   \r               [               l   e   t       b   l   k    
0054100    =       s   e   r   >   >   S   e   r   v   i   c   e   .   b
0054120    l   k  \r                           i   f       b   l   k   >
0054140    >   W   r   i 376 001  \0 321 254   t   e   R   e   c   o   r
0054160    d   .   r   e   c   o   r   d   L   e   n   g   t   h       g
0054200    r       r   w   B   l   o   c   k   L   e   n   g   t   h   -
0054220    2   4      \r                               t   h   e   n    
0054240    b   l   k   >   >   W   r   i   t   e   R   e   c   o   r   d
0054260    .   r   e   c   o   r   d   L   e   n   g   t   h       =    
0054300    r   w   B   l   o   c   k   L   e   n   g   t   h   -   2   4
0054320   \r                           A   c   t   O   n   T   a   p   e
0054340    (   s   e   r   >   >   S   e   r   v   i   c   e   .   t   a
0054360    p   e   ,   W   r   i   t   e   T   a   p   e   ,   0   ,   0
0054400    ,   l   v       b   l   k   >   >   W   r   i   t   e   R   e
0054420    c   o   r   d   .   r   e   c   o   r   d   ,   b   l   k   >
0054440    >   W   r   i   t   e   R   e   c   o   r   d   .   r   e   c
0054460    o   r   d   L   e   n   g   t   h   ,   s   e   r   >   >   S
0054500    e   r   v   i   c   e   .   r   e   t   r   i   e   s   )  \r
0054520                            R   e   p   l   y   S   t   a   t   u
0054540    s   (   s   e   r   ,   c   m   d 376 001  \0 003   y   W   r
0054560    i   t   e   R   e   c   o   r   d   )  \r               ]  \r
0054600    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0054620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0054700    -   -   -   -  \r   a   n   d       D   o   F   w   d   S   p
0054720    a   c   e   R   e   c   o   r   d   (   s   e   r   )       b
0054740    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0054760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055040    -   -   -  \r   [               i   f       V   e   r   i   f
0055060    y   O   p   e   n   (   s   e   r   )       t   h   e   n  \r
0055100                [               R   e   c   S   k   i   p   F   w
0055120    d   (   s   e   r   >   >   S   e   r   v   i   c   e   .   t
0055140    a   p   e   )               /   /   S   p   a   c   e 376 001
0055160   \0 017   /       F   o   r   w   a   r   d  \r                
0055200            R   e   p   l   y   S   t   a   t   u   s   (   s   e
0055220    r   ,   c   m   d   F   w   d   S   p   a   c   e   R   e   c
0055240    o   r   d   )               /   /   r   e   p   l   y       w
0055260    i   t   h       e   n   d   i   n   g       s   t   a   t   u
0055300    s  \r               ]  \r   ]  \r  \r   /   /   -   -   -   -
0055320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055400    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0055420    D   o   B   a   c   k   S   p   a   c   e   R   e   c   o   r
0055440    d   (   s   e   r   )       b   e  \r   /   /   -   -   -   -
0055460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055540    -   -   -   -   -   -   -   -   -   -   -  \r   [            
0055560    i   f     376 001  \0   {   1   V   e   r   i   f   y   O   p
0055600    e   n   (   s   e   r   )       t   h   e   n  \r            
0055620    [               R   e   c   S   k   i   p   R   e   v   (   s
0055640    e   r   >   >   S   e   r   v   i   c   e   .   t   a   p   e
0055660    )               /   /   S   p   a   c   e       B   a   c   k
0055700   \r                           R   e   p   l   y   S   t   a   t
0055720    u   s   (   s   e   r   ,   c   m   d   B   a   c   k   S   p
0055740    a   c   e   R   e   c   o   r   d   )               /   /   r
0055760    e   p   l   y       w   i   t   h       e   n   d   i   n   g
0056000        s   t   a   t   u   s  \r               ]  \r   ]  \r  \r
0056020    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0056040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056120    -  \r   a   n   d       D   o   F   w   d   S   p   a   c   e
0056140    F   i   l   e   (   s   e   r   )       b   e  \r   /   /   -
0056160    -   -   -   -   -   -   -   - 376 001  \0 320 332   -   -   -
0056200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056260    -   -   -  \r   [               i   f       V   e   r   i   f
0056300    y   O   p   e   n   (   s   e   r   )       t   h   e   n  \r
0056320                [               F   i   l   e   S   k   i   p   F
0056340    w   d   (   s   e   r   >   >   S   e   r   v   i   c   e   .
0056360    t   a   p   e   )               /   /   S   k   i   p       F
0056400    i   l   e       F   o   r   w   a   r   d  \r                
0056420            R   e   p   l   y   S   t   a   t   u   s   (   s   e
0056440    r   ,   c   m   d   F   w   d   S   p   a   c   e   F   i   l
0056460    e   )               /   /   r   e   p   l   y       w   i   t
0056500    h       e   n   d   i   n   g       s   t   a   t   u   s  \r
0056520                ]  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0056540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0056560    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0056600    *   P   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0056620    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0056640    n   d       D   o   B   a   c   k   S   p   a   c   e   F   i
0056660    l   e   (   s   e   r   )       b   e  \r   /   /   -   -   -
0056700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056760    -   -   -   -   -   -   -   -   -   -   -   -  \r   [        
0057000        i   f       V   e   r   i   f   y   O   p   e   n   (   s
0057020    e   r   )       t   h   e   n  \r               [            
0057040    F   i   l   e   S   k   i   p   R   e   v   (   s   e   r   >
0057060    >   S   e   r   v   i   c   e   .   t   a   p   e   )        
0057100        /   /   S   k   i   p       F   i   l   e       B   a   c
0057120    k   w   a   r   d  \r                           R   e   p   l
0057140    y   S   t   a   t   u   s   (   s   e   r   ,   c   m   d   B
0057160    a   c   k   S   p   a   c   e   F   i   l   e   )            
0057200    /   / 376 001  \0   8 001   r   e   p   l   y       w   i   t
0057220    h       e   n   d   i   n   g       s   t   a   t   u   s  \r
0057240                ]  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0057260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057340    -   -   -   -   -   -   -   -   -  \r   a   n   d       D   o
0057360    W   r   i   t   e   E   O   F   (   s   e   r   )       b   e
0057400   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0057420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057500    -   -  \r   [               i   f       V   e   r   i   f   y
0057520    O   p   e   n   (   s   e   r   )       t   h   e   n  \r    
0057540            i   f       O   k   T   o   W   r   i   t   e   (   s
0057560    e   r   )       t   h   e   n  \r               [            
0057600    T   a   p   e   E   O   F 376 001  \0 216   g   (   s   e   r
0057620    >   >   S   e   r   v   i   c   e   .   t   a   p   e   )    
0057640            /   /   W   r   i   t   e       a   n       E   O   F
0057660   \r                           R   e   p   l   y   S   t   a   t
0057700    u   s   (   s   e   r   ,   c   m   d   W   r   i   t   e   E
0057720    O   F   )               /   /   r   e   p   l   y       w   i
0057740    t   h       e   n   d   i   n   g       s   t   a   t   u   s
0057760   \r               ]  \r   ]  \r  \r   /   /   -   -   -   -   -
0060000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060060    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       D
0060100    o   W   r   i   t   e   B   l   a   n   k   T   a   p   e   (
0060120    s   e   r   )       b   e  \r   /   /   -   -   -   -   -   -
0060140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060200    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0 204
0060220    V   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0060240                i   f       V   e   r   i   f   y   O   p   e   n
0060260    (   s   e   r   )       t   h   e   n  \r               i   f
0060300        O   k   T   o   W   r   i   t   e   (   s   e   r   )    
0060320    t   h   e   n  \r               [               l   e   t    
0060340    b   l   k       =       s   e   r   >   >   S   e   r   v   i
0060360    c   e   .   b   l   k  \r                           l   e   t
0060400        i   n   c   h   e   s       =       b   l   k   >   >   W
0060420    r   i   t   e   B   l   a   n   k   T   a   p   e   .   g   a
0060440    p               /   /   g   e   t       g   a   p       s   i
0060460    z   e  \r                           E   r   a   s   e   I   n
0060500    c   h   e   s   (   s   e   r   >   >   S   e   r   v   i   c
0060520    e   .   t   a   p   e   ,   i   n   c   h   e   s   )        
0060540        /   /   W   r   i   t   e       i   n   c   h   e   s    
0060560    o   f       b   l   a   n   k       t   a   p   e  \r        
0060600                    R   e   p   l   y   S   t   a   t   u   s   (
0060620    s 376 001  \0 246 250   e   r   ,   c   m   d   W   r   i   t
0060640    e   B   l   a   n   k   T   a   p   e   )               /   /
0060660    r   e   p   l   y       w   i   t   h       e   n   d   i   n
0060700    g       s   t   a   t   u   s  \r               ]  \r   ]  \r
0060720   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0060740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061020    -   -  \r   a   n   d       D   o   R   e   w   i   n   d   (
0061040    s   e   r   )       b   e  \r   /   /   -   -   -   -   -   -
0061060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061140    -   -   -   -   -   -   -   -   -  \r   [               i   f
0061160        V   e   r   i   f   y   O   p   e   n   (   s   e   r   )
0061200        t   h   e   n  \r               [           P   e   r   f
0061220    o   r   m   V   T   C 376 001  \0   v 205   B   (   s   e   r
0061240    >   >   S   e   r   v   i   c   e   .   t   a   p   e   ,    
0061260    R   e   w   i   n   d   )               /   /   i   n   i   t
0061300    i   a   t   e       r   e   w   i   n   d  \r                
0061320                R   e   p   l   y   Y   e   s   (   s   e   r   ,
0061340    c   m   d   R   e   w   i   n   d   )               /   /   r
0061360    e   p   l   y       b   e   f   o   r   e       r   e   w   i
0061400    n   d       c   o   m   p   l   e   t   e  \r               ]
0061420   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0061440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061520    -   -   -   -   -  \r   a   n   d       D   o   U   n   l   o
0061540    a   d   (   s   e   r   )       b   e  \r   /   /   -   -   -
0061560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061620    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   C   ^
0061640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0061660    -  \r   [               i   f       V   e   r   i   f   y   O
0061700    p   e   n   (   s   e   r   )       t   h   e   n  \r        
0061720        [           P   e   r   f   o   r   m   V   T   C   B   (
0061740    s   e   r   >   >   S   e   r   v   i   c   e   .   t   a   p
0061760    e   ,       U   n   l   o   a   d   )               /   /   i
0062000    n   i   t   i   a   t   e       U   n   l   o   a   d  \r    
0062020                            R   e   p   l   y   Y   e   s   (   s
0062040    e   r   ,   c   m   d   U   n   l   o   a   d   )            
0062060    /   /   r   e   p   l   y       b   e   f   o   r   e       r
0062100    e   w   i   n   d       c   o   m   p   l   e   t   e  \r    
0062120            ]  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0062140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062220    -   -   -   -   -   -   -   -  \r   a   n   d       D   o   G
0062240  376 001  \0 323  \0   e   t   S   t   a   t   u   s   (   s   e
0062260    r   )       b   e  \r   /   /   -   -   -   -   -   -   -   -
0062300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062360    -   -   -   -   -   -   -  \r   [               l   e   t    
0062400    b   l   k       =       s   e   r   >   >   S   e   r   v   i
0062420    c   e   .   b   l   k  \r               l   e   t       t   a
0062440    p   e       =       s   e   r   >   >   S   e   r   v   i   c
0062460    e   .   t   a   p   e  \r               b   l   k   >   >   H
0062500    e   r   e   I   s   S   t   a   t   u   s   .   l   e   n   g
0062520    t   h       =       6  \r               b   l   k   >   >   H
0062540    e   r   e   I   s   S   t   a   t   u   s   .   t   y   p   e
0062560        =       c   m   d   H   e   r   e   I   s   S   t   a   t
0062600    u   s  \r               b   l   k   >   >   H   e   r   e   I
0062620    s   S   t   a   t   u   s   .   d   r   i   v   e       =    
0062640    s   e   r   >   > 376 001  \0 230   j   S   e   r   v   i   c
0062660    e   .   d   r   i   v   e  \r               b   l   k   >   >
0062700    H   e   r   e   I   s   S   t   a   t   u   s   .   r   e   t
0062720    r   i   e   s       =       s   e   r   >   >   S   e   r   v
0062740    i   c   e   .   r   e   t   r   i   e   s  \r               b
0062760    l   k   >   >   H   e   r   e   I   s   S   t   a   t   u   s
0063000    .   s   p   e   e   d       =       s   e   r   >   >   S   e
0063020    r   v   i   c   e   .   s   p   e   e   d  \r               i
0063040    f       s   e   r   >   >   S   e   r   v   i   c   e   .   d
0063060    r   i   v   e       g   e       0       t   h   e   n        
0063100        /   /   o   p   e   n       t   a   p   e  \r            
0063120    [               b   l   k   >   >   H   e   r   e   I   s   S
0063140    t   a   t   u   s   .   t   s   t   a   t   u   s       =    
0063160    T   a   p   e   S   t   a   t   u   s   (   t   a   p   e   )
0063200   \r               ]  \r               /   /   S   e   n   d    
0063220    m   e   s   s   a   g   e  \r               B   S   P   W   r
0063240    i   t   e   B   l   o   c   k   (   s 376 001  \0 322 031   e
0063260    r   >   >   S   e   r   v   i   c   e   .   b   s   p   S   t
0063300    r   ,   b   l   k   ,   0   ,   1   2   )  \r               B
0063320    S   P   F   o   r   c   e   O   u   t   p   u   t   (   s   e
0063340    r   >   >   S   e   r   v   i   c   e   .   b   s   p   S   o
0063360    c   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -
0063400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0063460    -   -   -   -   -   -   -  \r   a   n   d       D   o   S   e
0063500    t   S   t   a   t   u   s   (   s   e   r   )       b   e  \r
0063520    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0063540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0063620    -  \r   [               l   e   t       b   l   k       =    
0063640    s   e   r   >   >   S   e   r   v   i   c   e   .   b   l 376
0063660  001  \0 344   B   k  \r               l   e   t       w   h   i
0063700    c   h       =       b   l   k   >   >   S   e   t   S   t   a
0063720    t   u   s   .   s   e   l   e   c   t   o   r               /
0063740    /   g   e   t       s   e   l   e   c   t   o   r  \r        
0063760        l   e   t       s   e   t       =       b   l   k   >   >
0064000    S   e   t   S   t   a   t   u   s   .   n   e   w   s   e   t
0064020    t   i   n   g  \r               s   w   i   t   c   h   o   n
0064040        w   h   i   c   h       i   n   t   o  \r               [
0064060   \r               c   a   s   e       s   e   t   R   e   t   r
0064100    i   e   s   :  \r                           [       t   e   s
0064120    t       (   s   e   t       g   e       0       &       s   e
0064140    t       l   e       8   )          \r                        
0064160            i   f   s   o               [       s   e   r   >   >
0064200    S   e   r   v   i   c   e   .   r   e   t   r   i   e   s    
0064220    =       s   e   t  \r                                        
0064240        R   e   p   l   y   Y   e   s   (   s   e   r   ,   c   m
0064260    d   S   e   t 376 001  \0 212 217   S   t   a   t   u   s   )
0064300        ]  \r                                   i   f   n   o   t
0064320                R   e   p   l   y   N   o   (   s   e   r   ,   b
0064340    a   d   R   e   t   r   y   S   e   t   t   i   n   g   )  \r
0064360                                    e   n   d   c   a   s   e    
0064400   \r                           ]  \r               c   a   s   e
0064420        s   e   t   S   p   e   e   d   :  \r                    
0064440        [       t   e   s   t       s   e   r   >   >   S   e   r
0064460    v   i   c   e   .   d   r   i   v   e       l   s       0    
0064500                /   /   o   n   l   y       s   e   t       s   p
0064520    e   e   d       i   f       n   o   t       o   p   e   n  \r
0064540                                        i   f   s   o  \r        
0064560                                [       s   w   i   t   c   h   o
0064600    n       s   e   t       i   n   t   o  \r                    
0064620                                [  \r                            
0064640                        c   a   s   e       0   :               s
0064660    e   r   >   >   S   e   r   v   i 376 001  \0 242 021   c   e
0064700    .   s   p   e   e   d       =       I   P   S   4   5   ;    
0064720    R   e   p   l   y   Y   e   s   (   s   e   r   ,   c   m   d
0064740    S   e   t   S   t   a   t   u   s   )   ;       e   n   d   c
0064760    a   s   e  \r                                                
0065000    c   a   s   e       1   :               s   e   r   >   >   S
0065020    e   r   v   i   c   e   .   s   p   e   e   d       =       I
0065040    P   S   1   2   5   ;       R   e   p   l   y   Y   e   s   (
0065060    s   e   r   ,   c   m   d   S   e   t   S   t   a   t   u   s
0065100    )   ;       e   n   d   c   a   s   e  \r                    
0065120                                d   e   f   a   u   l   t   :    
0065140            R   e   p   l   y   N   o   (   s   e   r   ,   b   a
0065160    d   S   p   e   e   d   S   e   t   t   i   n   g   )   ;    
0065200    e   n   d   c   a   s   e  \r                                
0065220                    ]  \r                                       ]
0065240   \r                                       i   f   n   o   t    
0065260    R   e   p   l   y   N   o   (   s   e   r   ,   o   p 376 001
0065300   \0   g 336   e   n   A   l   r   e   a   d   y   )  \r        
0065320                            e   n   d   c   a   s   e      \r    
0065340                        ]  \r               d   e   f   a   u   l
0065360    t   :               R   e   p   l   y   N   o   (   s   e   r
0065400    ,   b   a   d   S   t   a   t   u   s   S   e   l   e   c   t
0065420    o   r   )   ;       e   n   d   c   a   s   e  \r            
0065440    ]  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0065460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065540    -   -   -   -   -   -  \r   a   n   d       D   o   S   e   n
0065560    d   T   e   x   t   (   s   e   r   )       b   e  \r   /   /
0065600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0065700    [         376 001  \0 356   P       /   /   d   i   s   p   l
0065720    a   y       t   e   x   t       s   t   r   i   n   g       t
0065740    o       o   p   e   r   a   t   o   r  \r               l   e
0065760    t       b   l   k       =       s   e   r   >   >   S   e   r
0066000    v   i   c   e   .   b   l   k  \r               W   s   (   l
0066020    v       b   l   k   >   >   S   e   n   d   T   e   x   t   .
0066040    t   e   x   t   )  \r               R   e   p   l   y   Y   e
0066060    s   (   s   e   r   ,   c   m   d   S   e   n   d   T   e   x
0066100    t   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -
0066120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066200    -   -   -   -   -   -   -  \r   a   n   d       D   o   G   e
0066220    t   T   e   x   t   (   s   e   r   )       b   e  \r   /   /
0066240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066300    -   -   -   -   -   -   -   - 376 001  \0 237 252   -   -   -
0066320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0066340    -   -   -   -  \r   [               /   /   G   e   t       a
0066360        l   i   n   e       o   f       T   e   x   t       f   r
0066400    o   m       o   p   e   r   a   t   o   r       (   t   e   r
0066420    m   i   n   a   t   e   d       b   y       c   r   )  \r    
0066440            w   h   i   l   e       k   b   d   K   e   y       g
0066460    e       0       d   o       B   l   o   c   k   (   )        
0066500        /   /   w   a   i   t       f   o   r       k   e   y   b
0066520    o   a   r   d  \r               k   b   d   K   e   y       =
0066540        s   e   r   >   >   S   e   r   v   i   c   e   .   i   d
0066560    n   u   m   b   e   r               /   /   t   a   k   e    
0066600    k   e   y   b   o   a   r   d  \r               W   s   (   "
0066620    *   n   R   e   p   l   y   ?       "   )               /   /
0066640    p   r   o   m   p   t  \r               l   e   t       b   l
0066660    k       =       s   e   r   >   >   S   e   r   v   i   c   e
0066700    .   b   l   k  \r               b   l   k   >   > 376 001  \0
0066720  362 365   H   e   r   e   I   s   T   e   x   t   .   t   y   p
0066740    e       =       c   m   d   H   e   r   e   I   s   T   e   x
0066760    t  \r               l   e   t       s   t   r       =       l
0067000    v       b   l   k   >   >   H   e   r   e   I   s   T   e   x
0067020    t   .   t   e   x   t  \r               l   e   t       e   c
0067040    h   o       =       "   x   "   ;       l   e   t       i    
0067060    =       1   ;       l   e   t       c   h   r       =       0
0067100   \r               u   n   t   i   l       c   h   r       e   q
0067120        1   3       d   o               /   /   u   n   t   i   l
0067140        c   r  \r               [               w   h   i   l   e
0067160        E   n   d   o   f   s   (   k   e   y   s   )       d   o
0067200        B   l   o   c   k   (   )               /   /   w   a   i
0067220    t       f   o   r       k   e   y  \r                        
0067240    c   h   r       =       G   e   t   s   (   k   e   y   s   )
0067260   \r                           i   f       c   h   r       e   q
0067300        8       t   h   e   n  \r                           [    
0067320    i   f 376 001  \0   ) 006       i       g   r       1       t
0067340    h   e   n  \r                                       [        
0067360        /   /   b   a   c   k   s   p   a   c   e   ,       e   c
0067400    h   o       \   <   l   a   s   t   c   h   a   r   >       a
0067420    n   d       b   a   c   k   u   p       i  \r                
0067440                        i       =       i   -   1  \r            
0067460                            e   c   h   o   >   >   S   t   r   i
0067500    n   g   .   c   h   a   r   ^   1       =       $   \   ;   W
0067520    s   (   e   c   h   o   )  \r                                
0067540        e   c   h   o   >   >   S   t   r   i   n   g   .   c   h
0067560    a   r   ^   1       =       s   t   r   >   >   S   t   r   i
0067600    n   g   .   c   h   a   r   ^   i   ;   W   s   (   e   c   h
0067620    o   )  \r                                       ]  \r        
0067640                                l   o   o   p  \r                
0067660            ]  \r                           i   f       i       l
0067700    s       (   c   m   d   B   l   o   c   k   L   e   n   g   t
0067720    h   -   2   )   /   2     376 001  \0 202   V   t   h   e   n
0067740       \r                                       [       s   t   r
0067760    >   >   S   t   r   i   n   g   .   c   h   a   r   ^   i    
0070000    =       c   h   r   ;       i       =       i   +   1  \r    
0070020                                            e   c   h   o   >   >
0070040    S   t   r   i   n   g   .   c   h   a   r   ^   1       =    
0070060    c   h   r   ;   W   s   (   e   c   h   o   )       ]  \r    
0070100            ]  \r               s   t   r   >   >   S   t   r   i
0070120    n   g   .   l   e   n   g   t   h       =       i   -   1  \r
0070140                b   l   k   >   >   H   e   r   e   I   s   T   e
0070160    x   t   .   l   e   n   g   t   h       =       2   +   (   i
0070200    +   1   )   /   2               /   /   f   u   l   l       w
0070220    o   r   d   s       p   l   u   s       h   e   a   d   e   r
0070240   \r               B   S   P   W   r   i   t   e   B   l   o   c
0070260    k   (   s   e   r   >   >   S   e   r   v   i   c   e   .   b
0070300    s   p   S   t   r   ,   b   l   k   ,   0   ,   b   l   k   >
0070320    >   H   e   r   e   I   s   T   e   x   t   . 376 001  \0   7
0070340    s   l   e   n   g   t   h   *   2   )  \r               B   S
0070360    P   F   o   r   c   e   O   u   t   p   u   t   (   s   e   r
0070400    >   >   S   e   r   v   i   c   e   .   b   s   p   S   o   c
0070420    )  \r               W   s   (   "   s   e   n   t   "   )  \r
0070440                k   b   d   K   e   y       =       -   1        
0070460                    /   /   r   e   l   e   a   s   e       b   e
0070500    y   b   o   a   r   d  \r   ]  \r  \r   /   /   -   -   -   -
0070520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070600    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0070620    V   e   r   i   f   y   O   p   e   n   (   s   e   r   )    
0070640    =       v   a   l   o   f  \r   /   /   -   -   -   -   -   -
0070660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070740    - 376 001  \0   d   9   -   -   -   -   -   -   -   -  \r   [
0070760                i   f       s   e   r   >   >   S   e   r   v   i
0071000    c   e   .   d   r   i   v   e       g   e       0       t   h
0071020    e   n       r   e   s   u   l   t   i   s       t   r   u   e
0071040   \r               R   e   p   l   y   N   o   (   s   e   r   ,
0071060    d   r   i   v   e   N   o   t   O   p   e   n   e   d   )  \r
0071100                r   e   s   u   l   t   i   s       f   a   l   s
0071120    e  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0071140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071220    -   -   -   -   -   -  \r   a   n   d       O   k   T   o   W
0071240    r   i   t   e   (   s   e   r   )       =       v   a   l   o
0071260    f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0071300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071340    -   -   -   -   -   - 376 001  \0 270 274   -   -   -   -   -
0071360    -   -   -   -   -   -   -   -  \r   [               l   e   t
0071400        s   t   a   t       =       T   a   p   e   S   t   a   t
0071420    u   s   (   s   e   r   >   >   S   e   r   v   i   c   e   .
0071440    t   a   p   e   )               /   /   t   a   p   e       m
0071460    u   s   t       b   e       o   p   e   n   !   !  \r        
0071500        u   n   l   e   s   s       s   t   a   t   <   <   S   t
0071520    a   t   u   s   .   F   P   T       t   h   e   n       r   e
0071540    s   u   l   t   i   s       t   r   u   e  \r               R
0071560    e   p   l   y   N   o   (   s   e   r   ,   w   r   i   t   e
0071600    P   r   o   t   e   c   t   e   d   )  \r               r   e
0071620    s   u   l   t   i   s       f   a   l   s   e  \r   ]  \r  \r
0071640    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071740    -  \r   a   n   d       R   e   p   l   y 376 001  \0 275 265
0071760    Y   e   s   (   s   e   r   ,   c   o   d   e   )       b   e
0072000   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0072020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072100    -   -  \r   [               /   /   S   e   n   d   s       b
0072120    a   c   k       Y   e   s       r   e   p   l   y   ,       n
0072140    o   t       s   w   i   t   c   h   o   n       c   o   d   e
0072160        f   o   r       s   t   r   i   n   g       y   e   t  \r
0072200                l   e   t       b   l   k       =       s   e   r
0072220    >   >   S   e   r   v   i   c   e   .   b   l   k            
0072240    /   /   g   e   t       c   o   m   m   a   n   d       b   l
0072260    o   c   k  \r               b   l   k   >   >   Y   e   s   N
0072300    o   .   t   y   p   e       =       c   m   d   Y   e   s  \r
0072320                b   l   k   >   >   Y   e   s   N   o   .   c   a
0072340    u   s   e       =       d   o   n   e   O   p   e   r   a   t
0072360  376 001  \0 371 363   i   o   n  \r               l   e   t    
0072400    s   t   a   t       =       (   s   e   r   >   >   S   e   r
0072420    v   i   c   e   .   t   a   p   e   )   >   >   T   C   B   .
0072440    F   l   a   g   s               /   /   g   e   t       t   a
0072460    p   e       s   t   a   t   u   s  \r               b   l   k
0072500    >   >   Y   e   s   N   o   .   c   o   d   e       =       s
0072520    t   a   t  \r               l   e   t       s   t   r       =
0072540        "   G   o   o   d       C   o   m   m   a   n   d   "  \r
0072560                Y   e   s   N   o   M   e   s   s   a   g   e   (
0072600    b   l   k   ,   s   t   r   ,   s   e   r   )               /
0072620    /   s   e   t       u   p       s   t   r   i   n   g       a
0072640    n   d       s   e   n   d       o   u   t  \r   ]  \r  \r   /
0072660    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0072700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072760   \r   a   n   d     376 001  \0   M   '   R   e   p   l   y   N
0073000    o   (   s   e   r   ,   c   o   d   e   )       b   e  \r   /
0073020    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0073040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0073120   \r   [               /   /   S   e   n   d   s       b   a   c
0073140    k       N   o       b   l   o   c   k   ,       w   i   t   h
0073160        c   o   r   r   e   c   t       s   t   r   i   n   g  \r
0073200                l   e   t       s   t   r       =       "       "
0073220   \r               s   w   i   t   c   h   o   n       c   o   d
0073240    e       i   n   t   o  \r               [  \r               c
0073260    a   s   e       n   o   V   e   r   s   i   o   n   :        
0073300                    s   t   r       =       "   V   e   r   s   i
0073320    o   n       C   h   e   c   k       U   n   m   a   d   e   "
0073340    ;       e   n   d   c   a   s   e  \r               c   a   s
0073360    e       n   o   G   o   o   d   M   e 376 001  \0 221 370   s
0073400    s   a   g   e   :               s   t   r       =       "   I
0073420    l   l   e   g   a   l       C   o   m   m   a   n   d   "   ;
0073440        e   n   d   c   a   s   e  \r               c   a   s   e
0073460        o   p   e   n   A   l   r   e   a   d   y   :            
0073500    s   t   r       =       "   D   r   i   v   e       A   l   r
0073520    e   a   d   y       O   p   e   n   "   ;       e   n   d   c
0073540    a   s   e  \r               c   a   s   e       d   r   i   v
0073560    e   I   n   U   s   e   :                           s   t   r
0073600        =       "   D   r   i   v   e       I   n       U   s   e
0073620    "   ;       e   n   d   c   a   s   e  \r               c   a
0073640    s   e       b   a   d   D   r   i   v   e   :                
0073660            s   t   r       =       "   D   r   i   v   e       B
0073700    a   d   "   ;       e   n   d   c   a   s   e  \r            
0073720    c   a   s   e       b   a   d   D   r   i   v   e   N   o   :
0073740                s   t   r       =       "   B   a   d       D   r
0073760    i   v   e       N   u   m   b   e   r   "   ;       e   n 376
0074000  001  \0   Y   U   d   c   a   s   e  \r               c   a   s
0074020    e       d   r   i   v   e   N   o   t   O   p   e   n   e   d
0074040    :                           s   t   r       =       "   D   r
0074060    i   v   e       N   o   t       O   p   e   n   "   ;       e
0074100    n   d   c   a   s   e  \r               c   a   s   e       b
0074120    a   d   S   t   a   t   u   s   S   e   l   e   c   t   o   r
0074140    :               s   t   r       =       "   C   a   n   n   o
0074160    t       s   e   t       t   h   a   t       S   t   a   t   u
0074200    s   "   ;       e   n   d   c   a   s   e  \r               c
0074220    a   s   e       b   a   d   R   e   t   r   y   S   e   t   t
0074240    i   n   g   :               s   t   r       =       "   B   a
0074260    d       S   e   t   t   i   n   g       f   o   r       R   e
0074300    t   r   i   e   s   "   ;       e   n   d   c   a   s   e  \r
0074320                c   a   s   e       w   r   i   t   e   P   r   o
0074340    t   e   c   t   e   d   :               s   t   r       =    
0074360    "   T   a   p   e       W   r   i   t   e       P   r   o   t
0074400    e   c   t   e 376 001  \0 001 212   d   "   ;       e   n   d
0074420    c   a   s   e  \r               c   a   s   e       b   a   d
0074440    S   p   e   e   d   S   e   t   t   i   n   g   :            
0074460    s   t   r       =       "   I   l   l   e   g   a   l       S
0074500    p   e   e   d       S   e   t   t   i   n   g   "   ;       e
0074520    n   d   c   a   s   e  \r               d   e   f   a   u   l
0074540    t   :                                       s   t   r       =
0074560        "   I   l   l   e   g   a   l       C   o   m   m   a   n
0074600    d   "   ;       e   n   d   c   a   s   e  \r               ]
0074620   \r               l   e   t       b   l   k       =       s   e
0074640    r   >   >   S   e   r   v   i   c   e   .   b   l   k        
0074660        /   /   g   e   t       c   o   m   m   a   n   d       b
0074700    l   o   c   k  \r               b   l   k   >   >   Y   e   s
0074720    N   o   .   t   y   p   e       =       c   m   d   N   o  \r
0074740                b   l   k   >   >   Y   e   s   N   o   .   c   a
0074760    u   s   e       =       c   o   d   e  \r               l   e
0075000    t       s   t   a   t       =     376 001  \0   W   Q   (   s
0075020    e   r   >   >   S   e   r   v   i   c   e   .   t   a   p   e
0075040    )   >   >   T   C   B   .   F   l   a   g   s               /
0075060    /   g   e   t       t   a   p   e       s   t   a   t   u   s
0075100   \r               b   l   k   >   >   Y   e   s   N   o   .   c
0075120    o   d   e       =       s   t   a   t  \r               Y   e
0075140    s   N   o   M   e   s   s   a   g   e   (   b   l   k   ,   s
0075160    t   r   ,   s   e   r   )               /   /   s   e   t    
0075200    u   p       s   t   r   i   n   g       a   n   d       s   e
0075220    n   d       o   u   t  \r   ]  \r  \r   /   /   -   -   -   -
0075240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0075320    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0075340    R   e   p   l   y   S   t   a   t   u   s   (   s   e   r   ,
0075360    c   m   d   )       b   e  \r   /   /   -   -   -   -   -   -
0075400    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0075420   \0 217   *   -   -   -   -   -   -   -   -   -   -   -   -   -
0075440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0075460    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0075500                /   /   S   e   n   d       b   a   c   k       t
0075520    h   e       e   n   d   i   n   g       s   t   a   t   u   s
0075540        o   f       t   h   e       t   a   p   e       d   r   i
0075560    v   e      \r               /   /       u   s   e   d       b
0075600    y       m   o   s   t       a   c   t   i   o   n       c   o
0075620    m   m   a   n   d   s  \r               l   e   t       b   l
0075640    k       =       s   e   r   >   >   S   e   r   v   i   c   e
0075660    .   b   l   k  \r               l   e   t       s   t   a   t
0075700        =       (   s   e   r   >   >   S   e   r   v   i   c   e
0075720    .   t   a   p   e   )   >   >   T   C   B   .   F   l   a   g
0075740    s               /   /   g   e   t       t   a   p   e       s
0075760    t   a   t   u   s  \r               b   l   k   >   >   Y   e
0076000    s   N   o   .   c   a   u   s   e       =       d   o   n   e
0076020    O   p   e 376 001  \0 244 277   r   a   t   i   o   n  \r    
0076040            b   l   k   >   >   Y   e   s   N   o   .   c   o   d
0076060    e       =       s   t   a   t                           /   /
0076100    r   e   t   u   r   n       s   t   a   t   u   s       b   i
0076120    t   s  \r               b   l   k   >   >   Y   e   s   N   o
0076140    .   t   y   p   e       =       c   m   d   Y   e   s        
0076160        /   /   a   s   s   u   m   e       Y   e   s  \r        
0076200        /   /               a   l   w   a   y   s       n   o    
0076220    i   f       n   o   t       o   n   l   i   n   e       o   r
0076240        n   o   t       r   e   a   d   y       o   r       e   r
0076260    r   o   r  \r               u   n   l   e   s   s       s   t
0076300    a   t   <   <   S   t   a   t   u   s   .   R   D   Y       t
0076320    h   e   n       b   l   k   >   >   Y   e   s   N   o   .   t
0076340    y   p   e       =       c   m   d   N   o  \r               u
0076360    n   l   e   s   s       s   t   a   t   <   <   S   t   a   t
0076400    u   s   .   O   N   L       t   h   e   n       b   l   k   >
0076420    >   Y   e   s   N   o   .   t 376 001  \0   (   L   y   p   e
0076440        =       c   m   d   N   o  \r               l   e   t    
0076460    e   r   r   o   r       =       s   t   a   t       &       T
0076500    a   p   e   E   r   r  \r               i   f       e   r   r
0076520    o   r       t   h   e   n       b   l   k   >   >   Y   e   s
0076540    N   o   .   t   y   p   e       =       c   m   d   N   o  \r
0076560                s   w   i   t   c   h   o   n       c   m   d    
0076600    i   n   t   o               /   /   o   t   h   e   r       c
0076620    h   a   n   g   e   s       t   o       N   o       d   e   p
0076640    e   n   d       o   n       c   o   m   m   a   n   d  \r    
0076660            [  \r               c   a   s   e       c   m   d   W
0076700    r   i   t   e   R   e   c   o   r   d   :  \r                
0076720            [               /   /   N   o       i   f       w   r
0076740    i   t   e       p   r   o   t   e   c   t   e   d      \r    
0076760                                    i   f       s   t   a   t   <
0077000    <   S   t   a   t   u   s   .   F   P   T           t   h   e
0077020    n       b   l   k   >   >   Y   e   s   N   o   . 376 001  \0
0077040    W 332   t   y   p   e       =       c   m   d   N   o  \r    
0077060                                    e   n   d   c   a   s   e    
0077100    ]  \r               c   a   s   e       c   m   d   F   w   d
0077120    S   p   a   c   e   R   e   c   o   r   d   :  \r            
0077140                [               /   /   N   o       s   p   e   c
0077160    i   a   l       n   o  \r                                    
0077200    e   n   d   c   a   s   e       ]  \r               c   a   s
0077220    e       c   m   d   B   a   c   k   S   p   a   c   e   R   e
0077240    c   o   r   d   :  \r                           [            
0077260    /   /   N   o       s   p   e   c   i   a   l       n   o  \r
0077300                                        e   n   d   c   a   s   e
0077320        ]  \r               c   a   s   e       c   m   d   F   w
0077340    d   S   p   a   c   e   F   i   l   e   :  \r                
0077360            [               /   /   N   o       s   p   e   c   i
0077400    a   l       n   o  \r                                       e
0077420    n   d   c   a   s   e       ]  \r               c   a   s   e
0077440        c 376 001  \0 266   ;   m   d   B   a   c   k   S   p   a
0077460    c   e   F   i   l   e   :  \r                           [    
0077500            /   /   N   o       s   p   e   c   i   a   l       n
0077520    o  \r                                       e   n   d   c   a
0077540    s   e       ]  \r               c   a   s   e       c   m   d
0077560    W   r   i   t   e   E   O   F   :  \r                        
0077600    [               /   /   N   o       i   f       n   o   t    
0077620    E   O   F      \r                                       u   n
0077640    l   e   s   s       s   t   a   t   <   <   S   t   a   t   u
0077660    s   .   E   O   F       t   h   e   n       b   l   k   >   >
0077700    Y   e   s   N   o   .   t   y   p   e       =       c   m   d
0077720    N   o  \r                                       e   n   d   c
0077740    a   s   e       ]  \r               c   a   s   e       c   m
0077760    d   W   r   i   t   e   B   l   a   n   k   T   a   p   e   :
0100000   \r                           [               /   /   N   o    
0100020    s   p   e   c   i   a   l       n   o  \r                    
0100040                    e   n   d 376 001  \0 300 350   c   a   s   e
0100060        ]  \r               ]  \r               /   /   p   u   t
0100100        i   n       s   t   r   i   n   g       o   f       g   o
0100120    o   d       o   r       b   a   d       o   p   e   r   a   t
0100140    i   o   n  \r               l   e   t       s   t   r       =
0100160        "   G   o   o   d       O   p   e   r   a   t   i   o   n
0100200    "  \r               i   f       b   l   k   >   >   Y   e   s
0100220    N   o   .   t   y   p   e       e   q       c   m   d   N   o
0100240        t   h   e   n       s   t   r       =       "   B   a   d
0100260        E   n   d   i   n   g       S   t   a   t   u   s   "  \r
0100300                Y   e   s   N   o   M   e   s   s   a   g   e   (
0100320    b   l   k   ,   s   t   r   ,   s   e   r   )               /
0100340    /   s   e   t       u   p       s   t   r   i   n   g       a
0100360    n   d       s   e   n   d       o   u   t  \r   ]  \r  \r   /
0100400    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100440    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0 260
0100460    x   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0100500    -   -   -   -   -  \r   a   n   d       Y   e   s   N   o   M
0100520    e   s   s   a   g   e   (   b   l   k   ,   s   t   r   ,   s
0100540    e   r   )       b   e  \r   /   /   -   -   -   -   -   -   -
0100560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100640    -   -   -   -   -   -   -   -  \r   [               l   e   t
0100660        i       =       0  \r               b   l   k   >   >   Y
0100700    e   s   N   o   .   l   e   n   g   t   h       =       5    
0100720    +       (   (   s   t   r   >   >   S   t   r   i   n   g   .
0100740    l   e   n   g   t   h       +       2   )       /       2   )
0100760   \r               f   o   r       i       =       0       t   o
0101000        b   l   k   >   >   Y   e   s   N   o   .   l   e   n   g
0101020    t   h       -       4       d   o  \r               [        
0101040        (   l   v       b   l   k   >   >   Y   e   s   N   o   .
0101060    s 376 001  \0 023 212   t   r   )   !   i       =       s   t
0101100    r   !   i               /   /   c   o   p   y       s   t   r
0101120    i   n   g  \r               ]  \r   /   /               a   n
0101140    d       s   e   n   d       b   l   o   c   k       o   u   t
0101160   \r               B   S   P   W   r   i   t   e   B   l   o   c
0101200    k   (   s   e   r   >   >   S   e   r   v   i   c   e   .   b
0101220    s   p   S   t   r   ,   b   l   k   ,   0   ,   2   *   b   l
0101240    k   >   >   Y   e   s   N   o   .   l   e   n   g   t   h   )
0101260   \r               B   S   P   F   o   r   c   e   O   u   t   p
0101300    u   t   (   s   e   r   >   >   S   e   r   v   i   c   e   .
0101320    b   s   p   S   o   c   )  \r   ]  \r  \r  \r   /   /   -   -
0101340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101420    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0101440    d       D   o   E   r   r   o   r   P   r   o   c   (   s   t
0101460    r   )       b   e  \r 376  \0   Q 326 246   /   /   -   -   -
0101500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101560    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r    
0101600            W   s   (   s   t   r   )  \r   ]  \r 377  \0  \0   T
0101620    a   p   e   S   e   r   v   e   r   .   b   r  \0 376 001  \0
0101640  001 200 002 002  \b 025  \0  \0  \0 017  \0  \0 002 220  \0  \0
0101660  002 247  \0  \0  \a 303  \0  \0  \b 024  \0  \0  \0  \0  \0  \0
0101700   \0   P  \0      \0  \0  \a   r   w   B   l   o   c   k  \0    
0101720   \0  \0 005   r   w   K   e   y  \0      \0  \0 006   k   b   d
0101740    K   e   y  \0  \0      \0  \0  \t   u   s   e   d   i   d   n
0101760    o   s  \0      \0  \0  \n   u   s   e   d   d   r   i   v   e
0102000    s  \0  \0      \0  \0 004   c   t   x   Q  \0  \0      \0  \0
0102020  024   c   u   r   r   e   n   t   V   e   r   s   i   o   n   S
0102040    t   r   i   n   g  \0  \0   !  \0  \0 016   T   a   p   e   T
0102060    r   i   d   e   n   t   U   F   P  \0  \0   !  \0  \0  \n   b
0102100    s   p   S   o   c   k   e   t   s  \0  \0   !  \0  \0  \r   s
0102120    e   r   v   i   c   e   B   l   o   c   k   s  \0   !  \0  \0
0102140  016   s   e   r   v   e   r   C   o   n   t   e   x   t   s  \0
0102160   \0   !  \0  \0  \b   r   v   S   o   c   k   e   t  \0  \0   A
0102200   \0 001  \f   S   t   a   r   t   S   e   r   v   i   n   g  \0
0102220   \0   A  \0 002  \t   C   o   n   n   e   c   t   o   r  \0   A
0102240   \0 003 376 001  \0 262 203 020   I   n   i   t   i   a   l   i
0102260    z   e   S   e   r   v   e   r  \0  \0   A  \0 004  \a   S   e
0102300    n   d   R   F   C  \0   A  \0 005  \f   D   i   s   C   o   n
0102320    n   e   c   t   o   r  \0  \0   A  \0 006 006   S   e   r   v
0102340    e   r  \0  \0   A  \0  \a  \n   G   e   t   C   o   m   m   a
0102360    n   d  \0  \0   A  \0  \b  \n   G   e   t   N   o   n   M   a
0102400    r   k  \0  \0   A  \0  \t  \f   R   e   p   l   y   V   e   r
0102420    s   i   o   n  \0  \0   A  \0  \n 017   T   a   p   e   T   r
0102440    i   d   e   n   t   B   o   o   t  \0   @  \0  \v  \r   T   a
0102460    p   e   W   a   i   t   Q   u   i   e   t  \0  \0  \0  \0  \a
0102500    L   o   a   d   R   a   m  \0  \0  \0  \0  \v   X   M   T   a
0102520    p   e   I   m   a   g   e  \0  \0  \0  \0  \b   C   a   l   l
0102540    S   w   a   t  \0  \0  \0  \0  \0 020   l   v   U   s   e   r
0102560    F   i   n   i   s   h   P   r   o   c  \0  \0  \0  \0  \0 021
0102600    l   v   S   w   a   t   C   o   n   t   e   x   t   P   r   o
0102620    c  \0  \0  \0  \0 017   T   a   p   e   T   f   s   S   w   a
0102640    t   P   r   o   c  \0  \0 376 001  \0 251 324  \0  \0 002   W
0102660    s  \0  \0  \0  \0  \0  \t   F   i   x   e   d   L   e   f   t
0102700   \0  \0  \0  \0 003   U   s   c  \0  \0  \0  \0  \t   A   d   d
0102720    T   o   Z   o   n   e  \0  \0  \0  \0  \a   s   y   s   Z   o
0102740    n   e  \0  \0  \0  \0  \b   G   e   t   F   i   x   e   d  \0
0102760   \0  \0  \0  \0  \b   A   l   l   o   c   a   t   e  \0  \0  \0
0103000   \0  \0 016   I   n   i   t   i   a   l   i   z   e   Z   o   n
0103020    e  \0  \0  \0  \0  \0  \r   I   n   i   t   P   u   p   L   e
0103040    v   e   l   1  \0  \0  \0  \0 020   O   p   e   n   L   e   v
0103060    e   l   1   S   o   c   k   e   t  \0  \0  \0  \0  \0  \a   E
0103100    n   q   u   e   u   e  \0  \0  \0  \0 021   I   n   i   t   i
0103120    a   l   i   z   e   C   o   n   t   e   x   t  \0  \0  \0  \0
0103140  017   C   a   l   l   C   o   n   t   e   x   t   L   i   s   t
0103160   \0  \0  \0  \0 005   B   l   o   c   k  \0  \0  \0  \0  \a   D
0103200    e   q   u   e   u   e  \0  \0  \0  \0  \n   R   e   l   e   a
0103220    s   e   P   B   I  \0  \0  \0  \0  \0 021   A   p   p   e   n
0103240    d   S   t   r   i   n   g   T   o   P   u   p 376 001  \0   z
0103260  273  \0  \0  \0  \0  \r   E   x   c   h   a   n   g   e   P   o
0103300    r   t   s  \0  \0  \0  \0  \v   C   o   m   p   l   e   t   e
0103320    P   u   p  \0  \0  \0  \0  \r   O   p   e   n   R   T   P   S
0103340    o   c   k   e   t  \0  \0  \0  \0 017   C   r   e   a   t   e
0103360    B   S   P   S   t   r   e   a   m  \0  \0  \0  \0 002   W   o
0103400   \0  \0  \0  \0  \0  \t   M   o   v   e   B   l   o   c   k  \0
0103420   \0  \0  \0  \t   C   l   o   s   e   T   a   p   e  \0  \0  \0
0103440   \0  \a   U   n   q   u   e   u   e  \0  \0  \0  \0 006   C   l
0103460    o   s   e   s  \0  \0  \0  \0  \0  \a   R   e   p   l   y   N
0103500    o  \0  \0  \0  \0  \v   D   o   O   p   e   n   D   r   i   v
0103520    e  \0  \0  \0  \0  \f   D   o   C   l   o   s   e   D   r   i
0103540    v   e  \0  \0  \0  \0  \0  \f   D   o   R   e   a   d   R   e
0103560    c   o   r   d  \0  \0  \0  \0  \0  \r   D   o   W   r   i   t
0103600    e   R   e   c   o   r   d  \0  \0  \0  \0 020   D   o   F   w
0103620    d   S   p   a   c   e   R   e   c   o   r   d  \0  \0  \0  \0
0103640   \0 021   D   o   B   a   c   k   S   p   a   c   e   R   e   c
0103660    o 376 001  \0   2   |   r   d  \0  \0  \0  \0 016   D   o   F
0103700    w   d   S   p   a   c   e   F   i   l   e  \0  \0  \0  \0  \0
0103720  017   D   o   B   a   c   k   S   p   a   c   e   F   i   l   e
0103740   \0  \0  \0  \0  \n   D   o   W   r   i   t   e   E   O   F  \0
0103760   \0  \0  \0  \0 020   D   o   W   r   i   t   e   B   l   a   n
0104000    k   T   a   p   e  \0  \0  \0  \0  \0  \b   D   o   R   e   w
0104020    i   n   d  \0  \0  \0  \0  \0  \b   D   o   U   n   l   o   a
0104040    d  \0  \0  \0  \0  \0  \v   D   o   G   e   t   S   t   a   t
0104060    u   s  \0  \0  \0  \0  \v   D   o   S   e   t   S   t   a   t
0104100    u   s  \0  \0  \0  \0  \n   D   o   S   e   n   d   T   e   x
0104120    t  \0  \0  \0  \0  \0  \t   D   o   G   e   t   T   e   x   t
0104140   \0  \0  \0  \0 006   R   e   s   e   t   s  \0  \0  \0  \0  \0
0104160   \f   B   S   P   R   e   a   d   B   l   o   c   k  \0  \0  \0
0104200   \0  \0 004   G   e   t   s  \0  \0  \0  \0  \0  \n   B   S   P
0104220    G   e   t   M   a   r   k  \0  \0  \0  \0  \0  \r   B   S   P
0104240    W   r   i   t   e   B   l   o   c   k  \0  \0  \0  \0 016   B
0104260    S   P   F   o   r   c 376 001  \0 267 373   e   O   u   t   p
0104300    u   t  \0  \0  \0  \0  \0 006   S   e   t   B   L   V  \0  \0
0104320   \0  \0  \0  \a   S   t   a   r   t   I   O  \0  \v  \0  \r  \0
0104340  001  \0 016 001   +  \0 017 002   5  \0 020 002 235  \0 021 002
0104360  266  \0 022 003   5  \0 023 004 004  \0 024 004   ~  \0 025 004
0104400  257  \0 026 004 375  \0 027 005 016 005 033 005 033   Z 001  \f
0104420  370 022   !  \f 367   %   > 254  \0   i   =  \0 002 202  \r 001
0104440  016  \t  \n 021   L   o   a   d   R   a   m   (   )       f   a
0104460    i   l   e   d   . 342  \0   i   X  \0 001   =   W   ;  \0   ]
0104500    V   %   V   =   S   C  \0   %   T   =   T   C  \0 375  \0   Z
0104520  004 374  \0   ]   P 374  \0   ]   O   !   O 306  \0   B 005   :
0104540  005   ]   L   !   L 306  \0   B 006   : 006   ]   I   !   I 306
0104560   \0   B  \a   :  \a   ]   F   !   F 306  \0   B  \b   :  \b   ]
0104600    H   !   H 306  \0   B  \t   :  \t   ]   E 375  \0   Z  \n 001
0104620   \v  \0  \0  \0  \0 205  \0   *  \n   =   = 276  \0   C  \0   "
0104640   \n 203  \0   B  \n   "  \n 375   P 344   J 001 365  \t 017 032
0104660    T   a   p   e       S   e   r   v   e   r 376 001  \0 274 276
0104700        P   r   o   t   o   c   o   l   ,       V   0   .   3  \0
0104720    ]   \   %   [   i   [  \0 001   i   Z  \0  \0   9   Y 345  \0
0104740    B  \t   "  \t   )   V   i   V  \0 002 001 020  \0  \0  \0  \0
0104760   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 025  \0  \0
0105000   \0 030  \0  \0  \0 033  \0  \0  \0 036 375   P 345  \f 001 006
0105020    !   @ 001 006  \0  \0  \0   !  \0  \0   "  \t 001 001   B  \t
0105040    =   =   Z  \v   "  \t   i   _  \0 001   :  \t   Z 003 212  \0
0105060    "  \v   i   Z  \0 003   %   2   )   X   i   X  \0 002   E   W
0105100    !   W 306  \0   B  \n   "  \n   )   T   i   T  \0 002   !   S
0105120  306  \0   B  \v   :  \v   ]   P 205  \0   =   N   C  \0   9   M
0105140    Z 003   "  \n   -   I   i   J  \0 003   % 030   )   H   i   >
0105160   \0 002   E   f  \t 004  \0  \0  \0  \0  \0   $ 342  \0 212  \0
0105200    %   _   i   _  \0 002 001  \a  \0  \0  \0  \0  \0  \0  \a 320
0105220    ~  \0  \0  \0 375  \0   Z  \f 001   :  \0  \0 205  \0   *  \f
0105240    = 257 276  \0   C  \0   % 372   )   *   i      \0 002   *  \f
0105260    = 251 276  \0   C  \0   % 362   )   T   i 030  \0 002   *  \f
0105300  376 001  \0  \r 232   = 243 276  \0   C  \0   % 352   )   M   i
0105320  020  \0 002   *  \f   = 233 276  \0   +  \0 272  \0   C 005   %
0105340  340   )   Y   i 006  \0 002 001 016  \0  \0  \0  \0   @ 030  \0
0105360   \0  \0  \0  \0   $ 017 240  \0  \0 017 305  \0  \0  \0  \n  \0
0105400   \0  \0   G   *  \f   = 212 276  \0   C  \0   "  \f 203  \0   B
0105420   \f   "  \f 375   P 344   J 001 305   !   O 306  \0   B  \f   =
0105440  356   Z 016   =   K   Z 003   "  \f   )   I   i   I  \0 003 212
0105460   \0   " 016   i   F  \0 002   !   E 306  \0   B  \r   = 337   Z
0105500  017 001 003  \0  \0  \0  \0   =   Q   Z 003   "  \r   )   7   i
0105520    7  \0 003 212  \0   " 017   i   4  \0 002   = 320   #  \0   i
0105540    F  \0 001 001 374  \0  \t  \0 200  \f 366   Z 001  \f 370  \0
0105560  017  \f 367   i   `  \0  \0 375  \0   Z 004 375  \0   Z 005   %
0105600  342   9   Z 346  \0   i   Y  \0 001   B 006   : 006 372  \f 001
0105620  003 001 361  \0 310   : 006   #  \n   9   P 347  \0   9   O 345
0105640   \f 001  \a   : 006   #  \r   9   I 347  \0 202  \f 001  \v   "
0105660  006   i   F  \0 001 001 337 017 307  \0  \0 001   ,  \0  \0  \0
0105700   \0 020 364   : 006 376 001  \0 353 301   # 023   9   e 347 300
0105720  202  \f 001  \v   : 006   # 020   9   _ 347 300   * 006   9   ]
0105740  356  \0 202 300  \f 360 377  \0 375  \0   Z  \a 001   g  \0  \0
0105760   \0  \0   "  \a   =   U 236  \0   #  \0 202  \r 001   \   "  \a
0106000    =   R 236  \0   #  \0   B 005   " 005 202  \r 001   T   " 005
0106020    9 030 346  \0 232  \0   #  \0   * 006   9   ? 356  \0 272  \0
0106040    +  \0 245  \f 001   H   " 005   9  \f 346  \0 232  \0   # 001
0106060    * 006   9   3 356  \0 001  \a  \0  \0  \0  \v  \0  \0  \0 377
0106100   \0  \b  \0  \0 272  \0   + 001 245  \f 001   5   " 005   9 371
0106120  346  \0 232  \0   # 002   * 006   9     356  \0 272  \0   + 002
0106140  245  \f 001   )   " 005   9   h 346  \0 232  \0   #  \0   * 006
0106160    9 345 356  \0 272  \0   +  \0 245  \f 001 035   " 005   9   \
0106200  346  \0 232  \0   # 001   * 006   9 331 356  \0 272  \0   + 001
0106220  245  \f 001 021 001  \v 377  \0  \0 023  \f 355  \0 017  \0   w
0106240   \f 355  \0  \t  \0   y  \f 355  \0 006   " 006   * 005   i   F
0106260   \0 002 001 001   "  \a 203  \0   B  \a   "  \a 375   P 344   J
0106300  001 231 374  \0   Z  \a 375  \0   Z 004 376 001  \0 314 212 001
0106320  017   " 004   = 350 236  \0   #  \0 202  \r 001 005   " 004 203
0106340   \0   B 004 001 005   : 004   Z  \a   9   M   Z 004   " 004   9
0106360    K 345   J 001 357   "  \a 202   K 001   $ 205  \0   : 006   C
0106400  023  \t 017 032   T   a   p   e   S   e   r   v   e   r       f
0106420    u   l   l   ,       t   r   y       l   a   t   e   r  \0 342
0106440   \0   B 003   " 006   )   /   i   _  \0 003   " 006   i   ]  \0
0106460  001   " 006   )   [   i   [  \0 002 001 002  \0 017 001   X  \0
0106500   \0   "  \a   = 263 236  \0   #  \0   B  \b   " 006   9 250 346
0106520   \0   B 003   "  \b 255  \0   i   M  \0 003   9   L   Z  \f   "
0106540  006   9   J 346  \0   B  \r   9   A   Z 003   "  \b   -   g   i
0106560    g  \0 004   " 006   *  \b   i 344  \0 002   "  \a   i   a  \0
0106600  001 001   6  \0 003  \0 002  \f 366   Z 001  \f 370  \0 017  \f
0106620  367   " 004   = 213 236  \0   #  \0   B 005   " 005   i   R  \0
0106640  001   B 006  \t  \n 021   C   o   n   n   n   e   c   t   i   o
0106660    n       o   p   e   n     342  \0   i   M  \0 001   " 004   i
0106700    K  \0 001 204  \0   * 004   =   H 276  \0   C  \0   " 004 376
0106720  001  \0   / 223   =   ] 236  \0   #  \0   B  \a   " 004   :  \a
0106740    C  \0   " 005   :  \a   C 001 001  \n  \0  \0  \0  \0  \0  \t
0106760   \0  \0  \f 355 376 307 001 030  \0 004  \0  \v   " 006   :  \a
0107000    C 002 205  \0   :  \a   C 004 205  \0   :  \a   C 005 204  \0
0107020    :  \a   C 006   ! 362   :  \a   C  \a 205   P   :  \a   C  \b
0107040    " 004   =   b 236  \0   #  \0   B  \b   =   _   Z  \f 375   P
0107060    Z  \r   9 336   Z 003   "  \b   )   Y   i   Y  \0 004 001 005
0107100   \0 363  \0  \0  \0  \0  \0  \0   "  \a   :  \b   C 003   % 371
0107120    *  \b   i   N  \0 002  \f 366  \0 275  \0  \0 001 302   Z 001
0107140   \f 370  \0  \v  \f 367   " 004   9   D 346  \0   * 005   9   c
0107160  356  \0   9 213   Z 003   i   `  \0 003   " 004   i 270  \0 001
0107200    9   \   Z 003   " 004   )   Z   i 264  \0 003  \f 366  \0   {
0107220    Z 001  \f 370  \0  \v  \f 367 375  \0   Z 004 375  \0   Z 005
0107240  375  \0   Z 006 001   k   i   M  \0  \0   " 006   = 330 236  \0
0107260    #  \0 202  \r 001   `   " 006   =   f 236  \0   #  \0 232  \0
0107300    # 016   9   b 347  \0   9   a 345  \r 001   U  \t  \v 023    
0107320    C   o   n   n 376 001  \0 214   ,   e   c   t   i   o   n    
0107340    C   l   o   s   e   d   = 342  \0 001  \a  \0 202  \0  \0  \0
0107360  310 001   T 001   U  \0 023   i 263  \0 001   " 006   i 261  \0
0107400  001   " 006   = 310 236  \0   #  \0   B 005   : 005   ; 004 372
0107420   \r 001 005   : 005   # 004   i   N  \0 001   : 005   # 006 202
0107440    J 001  \a 205  \0   : 005   + 006   =   F 276  \0   C  \0   "
0107460  006   = 335 236  \0   #  \0 001  \b  \0 005  \0  \0  \0 034  \0
0107500   \b  \f 355  \0 036 001 217 212  \0   %   [   i   [  \0 002   %
0107520    Z   : 006 345  \f 001 003 374  \0   ]   U   %   U   : 006 345
0107540   \f 001 003 374  \0   ]   P   : 005   # 002   i   N  \0 001 205
0107560   \0   * 006   =   K 276  \0   C  \0   " 006 203  \0   B 006   "
0107600  006 375   P 344   J 001 223 001 004 001 305  \0 377  \0 003 001
0107620  207  \f 366   Z 001  \f 370  \0  \f  \f 367   : 004   ; 003   Z
0107640  005   " 005   i   E  \0 001   : 005   C 005   : 005   ; 005   Z
0107660  006 001 034  \0  \0  \0 204   " 005   )   C   i   G  \0 002   %
0107700    "   : 005   ;  \0 345  \f 001 003 374  \0   ] 034   % 034   :
0107720  005   ;  \0 345  \f 001 003 374  \0 376 001  \0   &   p   ] 026
0107740    " 005   i   (  \0 001   B 006   " 006   : 005   C 005   : 006
0107760    # 001   9 320 345  \f 001 343   " 005   i   ?  \0 001 375  \0
0110000    Z  \a 001   @ 002 216  \0  \0  \0   t  \0   u  \0  \0 002 234
0110020    i 235  \0  \0   " 005   i 016  \0 001   B 006   " 006   : 005
0110040    C 005   : 006   ; 001   Z  \a 001   U   " 005   i   ?  \0 001
0110060  001   s  \0  \0   " 005   i   A  \0 001 001   n   " 005   i   B
0110100   \0 001 001   j  \0  \a   " 005   i   C  \0 001 001   e  \0  \0
0110120    " 005   i   B  \0 001 001   `   " 005   i   ?  \0 001 001   \
0110140    " 005   i   <  \0 001 001   X   " 005   i   9  \0 001 001   T
0110160    " 005   i   6  \0 001 001   P  \0  \0   " 005   i   2  \0 001
0110200  001   K  \f 355  \0   W   " 005   i   -  \0 001 001   E   " 005
0110220    i   *  \0 001 001   A   " 005   i   '  \0 001 001   =   " 005
0110240    i   $  \0 001 001   9  \f 355  \0 025  \0  \0   " 005   i 036
0110260   \0 001 001   2  \f 355  \0   0  \0  \0   " 005   i 030  \0 001
0110300  001   +  \0  \0   " 005 255   P   i 303  \0 002 001   %  \0  \0
0110320  001   #   "  \a 001  \r  \0  \0  \0  \0  \0  \0  \0  \0 376 001
0110340   \0 030   N  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0110360   \0  \0  \0  \f 350  \0 023  \0 020 377 325 377 320 377 313 377
0110400  306 377 277 377 271 377 264 377 257 377 252 377 245 377 237 377
0110420  231 377 224 377 216 377 325 377 315 001 330   %   P   : 005   ;
0110440   \0 345  \f 001 003 374  \0   ]   J   %   J   : 005   ;  \0 345
0110460   \f 001 003 374  \0   ]   D 001   D  \f 366   Z 001  \f 370  \0
0110500  021  \f 367   " 004   i   f  \0 001   B 005   " 004   i   b  \0
0110520  001   B 006   " 005   9   _ 347 300   * 006 216  \0   J  \a   "
0110540  005 200  \r 001 004   " 006 200  \f 001 003   9   U   Z  \a   "
0110560  004   i   P  \0 001   B 005   " 004   i   L  \0 001   B 006   "
0110600  005   9   I 347 300   * 006 216  \0   J  \b   " 005 200  \r 001
0110620  004   " 006 200  \f 001 003 374  \0   Z  \b   : 004   ; 003   Z
0110640   \t   9   E   Z  \n   "  \b   9   M 345  \r 001 005   "  \b   9
0110660    J 345  \f 001 022   =   H   Z  \t 001  \a 003   m 003   n  \f
0110700  355 377   *   i   c  \0  \0   % 372 202   K 001 374   : 004   ;
0110720   \0   ] 365   9   \   Z  \n   "  \a   :  \n 344   J 001  \t 374
0110740   \0   Z  \b 376 001  \0 215 303   9 031   Z  \a   : 004   # 002
0110760    i   Q  \0 001   "  \a   :  \t   C  \0   "  \b   :  \t   C 001
0111000    "  \t   9  \f 346  \0 375  \0   Z 016   *  \a   :  \a 356  \0
0111020    9   h 355  \0 001 004  \0  \0  \0 377  \0 002   J 017   9   b
0111040    Z 003 212  \0   : 004   # 002   i   ^  \0 004   "  \t 001 002
0111060   \0 200  \f 366   Z 001  \f 370  \0  \n  \f 367 374  \0   Z 005
0111100  375  \0   Z 006 001      \0  \b  \0  \t  \0 356   i   !  \0  \0
0111120    : 004   # 002   i   J  \0 001   B 005   " 005 200  \f 001 016
0111140    : 004   ; 001   #   2 202   @ 205   p 202  \r 001  \a   : 004
0111160    # 001   i   _  \0 001 374  \0   Z 006   " 005 202   J 001 003
0111200  374  \0   Z 006   : 006 372  \r 001 342   " 005 001 004 003 016
0111220    @ 030  \0  \0  \f 366   Z 001  \f 370  \0 016  \f 367   : 004
0111240    ; 005   Z 005   !   U   : 005   C 001 205  \0   : 005   C 002
0111260    =   P   Z 006 375  \0   Z  \a   : 006   #  \0   9   K 347 300
0111300    9 255 346  \0   ) 253  \f 344   9   C 356  \0   : 005   K  \0
0111320  375  \0   Z  \b   : 005   #  \0   9 004 345  \0   B  \t 001 004
0111340   \0 004  \0  \v  \0  \0 001 017 376 001  \0   " 236  \0  \0   "
0111360   \b   : 006 236  \0   #  \0   * 005   9   - 356  \0   :  \b 276
0111400   \0   C  \0   "  \b 203  \0   B  \b   "  \b   :  \t 344   J 001
0111420  360 375  \0   Z  \v   : 005   #  \0 202   P   B  \f   9 227   Z
0111440  003   : 004   # 002   * 005   i      \0 004   : 004   # 001   i
0111460  035  \0 001  \f 366  \0  \0   Z 001  \f 370  \0  \a  \f 367 204
0111500    P   i 025  \0 001 205 220   i 023  \0 001   % 022   = 022   C
0111520   \0  \f 366  \0 003  \0 274 377  \0   Z 001  \f 370  \0 006  \f
0111540  367   i 231  \0  \0  \f 366  \0  \0  \0  \0  \0  \0  \0  \0  \0
0111560    p  \0   o  \0   P 004 211 004   D 004   E 003   p 003   F 003
0111600    k 005  \f 005 031 003   0 002 265 002 341 001 027  \0  \0 001
0111620    R 002 220 002 020 001   j 002 342 003 202 004   o 003 245  \0
0111640    q  \0  \0  \0   D  \0   C  \0   n 005 032  \0   s  \0   r 002
0111660  232  \0 276  \0 301  \0 353  \0 305  \0 352  \0 355  \0 361  \0
0111700  365 002   i 002 345 002 344 001   k 004 253 001 221 001 224 002
0111720    c 002   d 002   f 002 217 002 221 002 233 003  \t 003   E 003
0111740    l 003   o 003 220 003 276 003 305 003 312 003 320 376  \0   *
0111760    V  \r 003 324 003 325 003 326 003 327 003 330 003 331 003 332
0112000  003 333 003 334 003 335 003 336 003 337 004 255 004 326 004 330
0112020  004 374 005 025 005 026 005 027 005 030  \0  \0 377  \0  \0   T
0112040    S   P   D   O   s   .   b   r  \0 376 001  \0 245 336 002 002
0112060  006 275  \0  \0  \0 017  \0  \0 001   _  \0  \0 001 216  \0  \0
0112100  006 220  \0  \0 006 274  \0  \0  \0  \0  \0  \0  \0   +  \0   @
0112120   \0 001  \v   D   o   O   p   e   n   D   r   i   v   e  \0   @
0112140   \0 002  \f   D   o   C   l   o   s   e   D   r   i   v   e  \0
0112160   \0   @  \0 003  \f   D   o   R   e   a   d   R   e   c   o   r
0112200    d  \0  \0   @  \0 004  \r   D   o   W   r   i   t   e   R   e
0112220    c   o   r   d  \0   @  \0 005 020   D   o   F   w   d   S   p
0112240    a   c   e   R   e   c   o   r   d  \0  \0   @  \0 006 021   D
0112260    o   B   a   c   k   S   p   a   c   e   R   e   c   o   r   d
0112300   \0   @  \0  \a 016   D   o   F   w   d   S   p   a   c   e   F
0112320    i   l   e  \0  \0   @  \0  \b 017   D   o   B   a   c   k   S
0112340    p   a   c   e   F   i   l   e  \0   @  \0  \t  \n   D   o   W
0112360    r   i   t   e   E   O   F  \0  \0   @  \0  \n 020   D   o   W
0112400    r   i   t   e   B   l   a   n   k   T   a   p   e  \0  \0   @
0112420   \0  \v  \b   D   o   R   e   w   i   n   d  \0  \0   @  \0  \f
0112440   \b   D   o   U   n   l   o   a   d  \0  \0   @  \0  \r 376 001
0112460   \0   { 362  \v   D   o   G   e   t   S   t   a   t   u   s  \0
0112500    @  \0 016  \v   D   o   S   e   t   S   t   a   t   u   s  \0
0112520    @  \0 017  \n   D   o   S   e   n   d   T   e   x   t  \0  \0
0112540    @  \0 020  \t   D   o   G   e   t   T   e   x   t  \0   A  \0
0112560  021  \n   V   e   r   i   f   y   O   p   e   n  \0  \0   A  \0
0112600  022  \t   O   k   T   o   W   r   i   t   e  \0   @  \0 023  \b
0112620    R   e   p   l   y   Y   e   s  \0  \0   @  \0 024  \a   R   e
0112640    p   l   y   N   o  \0   A  \0 025  \v   R   e   p   l   y   S
0112660    t   a   t   u   s  \0   A  \0 026  \f   Y   e   s   N   o   M
0112700    e   s   s   a   g   e  \0  \0   A  \0 027  \v   D   o   E   r
0112720    r   o   r   P   r   o   c  \0  \0  \0  \0  \n   u   s   e   d
0112740    d   r   i   v   e   s  \0  \0  \0  \0  \0  \b   O   p   e   n
0112760    T   a   p   e  \0  \0  \0  \0  \0  \t   C   l   o   s   e   T
0113000    a   p   e  \0  \0  \0  \0  \t   A   c   t   O   n   T   a   p
0113020    e  \0  \0  \0  \0  \r   B   S   P   W   r   i   t   e   B   l
0113040    o   c   k  \0  \0  \0  \0 016   B   S   P   F   o   r   c   e
0113060    O   u   t 376 001  \0 307 327   p   u   t  \0  \0  \0  \0  \0
0113100   \n   R   e   c   S   k   i   p   F   w   d  \0  \0  \0  \0  \0
0113120   \n   R   e   c   S   k   i   p   R   e   v  \0  \0  \0  \0  \0
0113140   \v   F   i   l   e   S   k   i   p   F   w   d  \0  \0  \0  \0
0113160   \v   F   i   l   e   S   k   i   p   R   e   v  \0  \0  \0  \0
0113200   \a   T   a   p   e   E   O   F  \0  \0  \0  \0  \v   E   r   a
0113220    s   e   I   n   c   h   e   s  \0  \0  \0  \0  \v   P   e   r
0113240    f   o   r   m   V   T   C   B  \0  \0  \0  \0  \n   T   a   p
0113260    e   S   t   a   t   u   s  \0  \0  \0  \0  \0 002   W   s  \0
0113300   \0  \0  \0  \0 006   k   b   d   K   e   y  \0  \0  \0  \0  \0
0113320  005   B   l   o   c   k  \0  \0  \0  \0 006   E   n   d   o   f
0113340    s  \0  \0  \0  \0  \0 004   k   e   y   s  \0  \0  \0  \0  \0
0113360  004   G   e   t   s  \0  \0 027  \0 001  \0 001  \0 002  \0   H
0113400   \0 003  \0   m  \0 004  \0 313  \0 005 001 002  \0 006 001 026
0113420   \0  \a 001   )  \0  \b 001   ;  \0  \t 001   O  \0  \n 001   i
0113440   \0  \v 001 215  \0  \f 001 241  \0  \r 001 266  \0 016 001 362
0113460   \0 017 002   b  \0 020 002   s 376 001  \0 375   ;  \0 021 003
0113500  022  \0 022 003   $  \0 023 003   >  \0 024 003   f  \0 025 004
0113520    4  \0 026 004 265  \0 027 004 362 005 001 005 001   Z 001  \f
0113540  370  \0  \f  \f 367   : 004   ; 005   Z 005   : 004   # 006 202
0113560    J 001 006   " 004   )   [   i   [  \0 002 001   7   : 005   ;
0113600  002   Z 006   " 006   9   S 345   K 001   ,   " 006   =   Q 236
0113620   \0   #  \0 202  \r 001 006   " 004   )   L   i   I  \0 002 001
0113640        =   I   Z 003   " 006   : 004   +  \b   i   f  \0 003   B
0113660   \a   :  \a 372  \r 001 021   "  \a   : 004   C 004   " 006   :
0113700  004   C 006 204  \0   * 006   =   4 276  \0   C  \0   " 004   )
0113720    U   i   U  \0 002 001 005   " 004   )   R   i   )  \0 002 001
0113740  005   " 004   )   N   i   $  \0 002  \f 366   Z 001  \f 370  \0
0113760   \n  \f 367   " 004   i   i  \0 001 202  \r 001 027   : 004   ;
0114000  006   Z 005 205  \0   * 005   = 024 276  \0   C  \0   : 004   #
0114020  004   i   \  \0 001 205  \0   : 004   C 004 204  \0   : 004   C
0114040  006   " 004   )   T   i   +  \0 002  \f 366  \0 002  \0  \0  \0
0114060   \0  \0 003  \0  \0   Z 001  \f 370  \0 017  \f 367 376 001  \0
0114100    x 225   " 004   i   D  \0 001 202  \r 001   T   : 004   ; 005
0114120    Z 005   " 005   9 027 346  \0   B  \t   9   M   Z  \n 375  \0
0114140    Z  \v 375  \0   Z  \f   : 004   ;  \a   Z  \r   9  \t   Z 003
0114160    : 004   # 004   ) 336   i   h  \0  \a 001 006  \0  \0  \0 006
0114200   \0  \0  \0 004  \0 005   B 006   " 006 201   J 001 003 375  \0
0114220    Z 006   " 006   9   Z 344   J 001 003   9   W   Z 006   " 006
0114240    : 005   C 003   : 004   ; 004   #  \v   : 005   C 002   !   N
0114260    : 005   C 001   " 006 203  \0   ) 274  \f 344   9 343 356  \0
0114300    : 005   K  \0   : 005   #  \0 202   P 001 004  \0  \0  \0  \0
0114320   \0  \a   B 006 375  \0   Z  \n   : 006   Z  \v   9 372   Z 003
0114340    : 004   # 002   * 005   i   Q  \0 004   : 004   # 001   i   N
0114360   \0 001  \f 366   @ 030   Z 001  \f 370  \0 017  \f 367   " 004
0114400    i 346  \0 001 202  \r 001   .   " 004   i   S  \0 001 202  \r
0114420  001   )   : 004   ; 005   Z 005   : 005   # 002   9 026 344   J
0114440  001 004   ! 023   : 005   C 002 375  \0   Z  \t 375  \0   Z  \n
0114460    " 005   9 202 346  \0   B  \v   : 005   ; 002   Z  \f   : 004
0114500    ;  \a 376 001  \0 246 243   Z  \r 001 004  \0  \0   @  \0  \0
0114520  025   9 231   Z 003   : 004   # 004   ) 227   i 370  \0  \a   "
0114540  004   )   O   i   O  \0 002  \f 366   Z 001  \f 370  \0  \t  \f
0114560  367   " 004   i 257  \0 001 202  \r 001  \t   : 004   # 004   i
0114600    Y  \0 001   " 004   )   W   i   =  \0 002  \f 366  \0  \0  \0
0114620   \0   Z 001  \f 370  \0  \t  \f 367   " 004   i 233  \0 001 202
0114640   \r 001  \t   : 004   # 004   i   G  \0 001   " 004   )   c   i
0114660    )  \0 002  \f 366  \0  \0   Z 001  \f 370  \0  \t  \f 367   "
0114700  004   i 210  \0 001 202  \r 001  \t   : 004   # 004   i   T  \0
0114720  001   " 004   )   R   i 026  \0 002  \f 366   Z 001  \f 370  \0
0114740   \t  \f 367   " 004   i   J  \0 001 202  \r 001  \t   : 004   #
0114760  004   i   E  \0 001   " 004   )   W   i 004  \0 002  \f 366  \0
0115000   \t  \0  \0   Z 001  \f 370  \0  \t  \f 367   " 004   i   6  \0
0115020  001 202  \r 001 016   " 004   i 317  \0 001 202  \r 001  \t   :
0115040  004   # 004   i   U  \0 001   " 004   )   S   i 353  \0 002  \f
0115060  366  \0  \0  \0  \n  \0  \0   Z 001  \f 370  \0  \v  \f 367   "
0115100  004   i 034  \0 001 202  \r 376 001  \0 310   m 001 033   " 004
0115120    i 265  \0 001 202  \r 001 026   : 004   ; 005   Z 005   : 005
0115140    ; 002   Z 006   : 004   # 004   * 006   i   g  \0 002   " 004
0115160    )   e   i 312  \0 002 001 006  \0  \v  \0  \0  \0  \f  \0 266
0115200   \0  \0  \f 366   Z 001  \f 370  \0  \t  \f 367   " 004   i 370
0115220   \0 001 202  \r 001  \n   : 004   # 004   )   Q   i   Q  \0 002
0115240    " 004   )   O   i   O  \0 002  \f 366  \0  \r   Z 001  \f 370
0115260   \0  \t  \f 367   " 004   i 344  \0 001 202  \r 001  \n   : 004
0115300    # 004   ) 241   i   =  \0 002   " 004   )   P   i   ;  \0 002
0115320   \f 366  \0  \0  \0 016   Z 001  \f 370  \0  \r  \f 367   : 004
0115340    ; 005   Z 005   : 004   ; 004   Z 006   !   P   : 005   C  \0
0115360    !   N   : 005   C 001   : 004   # 006   : 005   C 002   : 004
0115400    #  \a   : 005   C 004   : 004   #  \b   : 005   C 005   : 004
0115420    # 006 202   J 001 006   " 006   i   E  \0 001   : 005   C 003
0115440  375  \0   Z  \n   9 254   Z  \v   9   F   Z 003   : 004   # 002
0115460    * 005   i   B  \0 004 001  \a  \0  \0  \0 017  \0  \b  \0  \0
0115500   \0 020  \0 220   : 004   # 001   i   E  \0 001 376 001  \0 242
0115520  304  \f 366   Z 001  \f 370  \0  \f  \f 367   : 004   ; 005   Z
0115540  005   : 005   ; 002   Z 006   : 005   ; 003   Z  \a 001   X  \0
0115560  021   "  \a 202   J 001 017   "  \a   9 344 344   K 001  \v   "
0115600   \a   : 004   C  \a   " 004   )   .   i 337  \0 002 001  \a  \0
0115620  006  \0 026   " 004   )   (   i   (  \0 002 001   K   : 004   #
0115640  006 202   K 001   2 001 033  \0  \0 205  \0   : 004   C  \b   "
0115660  004   ) 031   i 312  \0 002 001   '  \0  \a 001 024 205   P   :
0115700  004   C  \b   " 004   ) 017   i 300  \0 002 001 035   " 004   )
0115720  023   i  \v  \0 002 001 030 001 025 001 026   "  \a 001  \r  \f
0115740  355  \0 036  \0 023  \0  \t  \0   i  \f 355  \0   #  \f 355  \0
0115760   \f  \f 355  \0  \t  \0  \v  \f 351  \0 002  \0 001 377 340  \0
0116000   \0 377 324 001 345 001 005   " 004   )  \f   i 356  \0 002 001
0116020  021   " 004   ) 227   i 351  \0 002 001  \f 001  \v   " 006 001
0116040  002  \0 002  \f 351  \0 002  \0 001 377 272  \0  \0 377 242 001
0116060  361  \f 366   Z 001  \f 370  \0  \n  \f 367   : 004   ; 005   Z
0116100  005   " 005   9 357 346  \0   i   Y  \0 001   " 004   )   W   i
0116120    W 376 001  \0   M 030  \0 002  \f 366   Z 001  \f 370  \0 020
0116140   \f 367 001 003   i   P  \0  \0   %   O 202   K 001 374   : 004
0116160    ;  \0   ]   J  \t 006  \b  \r   R   e   p   l   y   ?      \0
0116200  342  \0   i   >  \0 001   : 004   ; 005   Z 005   !   g   : 005
0116220    C 001   " 005   9 311 346  \0   B 006  \t 002 001   x 342  \0
0116240    B  \a 375   P   Z  \b 375  \0   Z  \t 001   B 001 003   i   +
0116260   \0  \0   %   U   i   U  \0 001 202  \f 001 372   %   P   i   Q
0116300   \0 001   B  \t   "  \t   9   N 345  \f 001 037   "  \b 375   P
0116320  344   J 001 025   "  \b 375   P 345  \0   B  \b   !   ]   *  \a
0116340   \f 360  \0 377   "  \a   i  \f  \0 001   " 006   *  \b  \f 362
0116360    *  \a  \f 360  \0 377   "  \a   i 003  \0 001 001 031  \0  \0
0116400   \0 004 001 354  \0  \0  \0  \0   "  \b   9   Q 345   K 001 020
0116420    :  \t   Z 003   " 006   *  \b  \f 364   "  \b 203  \0   B  \b
0116440    "  \t   *  \a  \f 360  \0 377   "  \a   i 352  \0 001   "  \t
0116460    9   W 345  \f 001 274   "  \b 375   P 345  \0   * 006 202 300
0116500   \f 360 377  \0   "  \b 203  \0   )   L  \f 344   9   J 356  \0
0116520    : 005   K  \0 375  \0 376 001  \0   Z 206   Z  \r 001 006  \0
0116540  024  \0  \0  \0  \0  \0  \0  \0  \b   : 005   #  \0 202   P   B
0116560  016   9   g   Z 003   : 004   # 002   * 005   i   c  \0 004   :
0116600  004   # 001   i   `  \0 001  \t 004 004   s   e   n   t  \0 342
0116620   \0   i 271  \0 001 374  \0   ] 272  \f 366  \0   \   Z 001  \f
0116640  370  \0  \t  \f 367   : 004   # 006 202   J 001 004 204  \0 001
0116660   \b  \0   ?   " 004   )   Q   i   Q  \0 002 205  \0 001 001  \f
0116700  366   Z 001  \f 370  \0  \n  \f 367   : 004   # 004   i   U  \0
0116720  001   B 005   " 005   9   R 347 004 205   P 202  \f 001 005 204
0116740   \0 001  \t  \0  \r  \0 002   " 004   )   +   i   7  \0 002 205
0116760   \0 001 001  \f 366   Z 001  \f 370  \0 016  \f 367   : 004   ;
0117000  005   Z 006 205   P   : 006   C 001 205  \0   : 006   C 002   :
0117020  004   ; 004   #  \v   B  \a   "  \a   : 006   C 003  \t  \b  \f
0117040    G   o   o   d       C   o   m   m   a   n   d  \0 342  \0   B
0117060   \b   : 004   Z 003   " 006   *  \b   i   K  \0 003  \f 366  \0
0117100   \n 002   & 002   4   Z 001  \f 370  \0 016  \f 367  \t 002 001
0117120      342  \0   B 006 001   U  \0 006 002   < 376 001  \0 327   x
0117140   \t  \f 024   V   e   r   s   i   o   n       C   h   e   c   k
0117160        U   n   m   a   d   e  \0   Z 006 001   V 002 034 020  \0
0117200   \t  \t 017   I   l   l   e   g   a   l       C   o   m   m   a
0117220    n   d   Z 006 001   I  \t  \v 022   D   r   i   v   e       A
0117240    l   r   e   a   d   y       O   p   e   n  \0   Z 006 001   <
0117260   \t  \b  \f   D   r   i   v   e       I   n       U   s   e  \0
0117300    Z 006 001   {  \t 006  \t   D   r   i   v   e       B   a   d
0117320    Z 006 001   s  \0  \0  \t  \n 020   B   a   d       D   r   i
0117340    v   e       N   u   m   b   e   r  \0   Z 006 001   f  \t  \t
0117360  016   D   r   i   v   e       N   o   t       O   p   e   n  \0
0117400    Z 006 001   [  \f 355  \0   I  \t  \r 026   C   a   n   n   o
0117420    t       s   e   t       t   h   a   t       S   t   a   t   u
0117440    s  \0   Z 006 001   J  \f 355  \0   H  \t  \r 027   B   a   d
0117460        S   e   t   t   i   n   g       f   o   r       R   e   t
0117500    r   i   e   s   Z 006 001   9  \t  \f 024   T   a   p   e    
0117520    W   r   i   t   e       P   r   o   t   e   c   t   e   d  \0
0117540  376 001  \0 274 024   Z 006 001   +  \t  \f 025   I   l   l   e
0117560    g   a   l       S   p   e   e   d       S   e   t   t   i   n
0117600    g   Z 006 001 035  \t  \t 017   I   l   l   e   g   a   l    
0117620    C   o   m   m   a   n   d   Z 006 001 022 001 021   " 005  \f
0117640  350  \0  \v  \0  \v 377 342 377 323 377 303 377 261 377   \ 377
0117660  242 377 225 377 213 377 200 377   r 377   f 001 345   : 004   ;
0117700  005   Z  \a   !   N   :  \a   C 001   " 005   :  \a   C 002   :
0117720  004   ; 004   #  \v   B  \b   "  \b   :  \a   C 003   : 004   Z
0117740  003   "  \a   * 006   i   L  \0 003  \f 366   Z 001  \f 370  \0
0117760  017  \f 367   : 004   ; 005   Z 006   : 004   ; 004   #  \v   B
0120000   \a 205  \0   : 006   C 002   "  \a   : 006   C 003 205   P   :
0120020  006   C 001   "  \a 202   @ 205   p 202  \f 001 004   !   !   :
0120040  006   C 001   "  \a   9   1 347 004 205   P 202  \f 001 004   !
0120060  030   : 006   C 001   "  \a   9   ) 347  \0   B  \b   :  \b 372
0120100   \r 001 004   ! 016   : 006   C 001 001 035   "  \a   9 037 347
0120120  004 205   P 202  \r 001 004   ! 004   : 006   C 001 001   &  \0
0120140  002 001   $ 001   # 376 001  \0 250 320 001   " 001   !   "  \a
0120160    9 023 347 004 205   P 202  \f 001 004   ! 365   : 006   C 001
0120200  001 027 003 253 001 025 001 024   " 005 001  \a   @  \0  \0 374
0120220  020  \0  \f 355  \0  \r 002  \0  \f 350  \0 017  \0  \a 377 363
0120240  377 347 377 345 377 343 377 341 377 337 377 323 001 001  \t  \t
0120260  016   G   o   o   d       O   p   e   r   a   t   i   o   n  \0
0120300  342  \0   B  \t   : 006   # 001   9 316 345  \f 001  \f  \t  \n
0120320  021   B   a   d       E   n   d   i   n   g       S   t   a   t
0120340    u   s   Z  \t   : 004   Z 003   " 006   *  \t   i 313  \0 003
0120360   \f 366   Z 001  \f 370  \0 016  \f 367 375  \0   Z  \a   : 005
0120400    #  \0   9   = 347 300   9 257 346  \0   ) 255  \f 344   9   8
0120420  356  \0   : 004   K  \0 375  \0   Z  \b   : 004   #  \0   9   1
0120440  345  \0   B  \t 001 016   "  \b   : 005 236  \0   #  \0   * 004
0120460    9   ( 356  \0   :  \b 276  \0   C  \0   "  \b 203  \0   B  \b
0120500    "  \b   :  \t 344   J 001 360 375  \0   Z  \v   : 004   #  \0
0120520  202   P   B  \f   9 027   Z 003   : 006   # 002   * 004   i 023
0120540   \0 004   : 006   # 001   i 020  \0 001 376  \0   z   `   J  \f
0120560  366   Z 001  \f 370  \0  \b  \f 367   " 004   i  \t  \0 001  \f
0120600  366 377  \0  \0 005  \0 004  \0  \b 003   d 003   e 002 305  \0
0120620    +  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0120640   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0120660   \0 001 212 001   ( 002 307 003   p 001   N 004   }  \0   l  \0
0120700    j  \0 216  \0 267  \0 363 004 376 004 377 001   f 001   h 001
0120720  210 001 213 001 264 001 347 001 352 003 177 005  \0 002 311 002
0120740  310 002 365 002 364 002 366  \0  \0 377  \0  \0   L   i   n   k
0120760    T   a   p   e   S   e   r   v   e   r   .   c   m  \0 376 001
0121000   \0 177 001   b   l   d   r   /   f       4   7   0   /   w    
0121020    T   a   p   e   S   e   r   v   e   r       T   S   P   D   O
0121040    s       T   a   p   e   I   O       L   o   a   d   R   a   m
0121060        T   a   p   e   T   f   s   S   w   a   t       P   u   p
0121100    1   b       P   u   p   1   I   n   i   t       P   u   p   1
0121120    O   p   e   n   C   l   o   s   e       P   u   p   A   l   1
0121140    a       P   u   p   A   l   E   t   h   a       P   u   p   A
0121160    l   E   t   h   b       P   u   p   A   l   E   t   h   I   n
0121200    i   t       A   l   t   o   B   y   t   e   B   l   t       A
0121220    l   t   o   Q   u   e   u   e       A   l   t   o   T   i   m
0121240    e   r       P   u   p   B   S   P   a       P   u   p   B   S
0121260    P   B   l   o   c   k       P   u   p   B   S   P   O   p   e
0121300    n   C   l   o   s   e       P   u   p   B   S   P   P   r   o
0121320    t       P   u   p   B   S   P   S   t   r   e   a   m   s    
0121340    C   o   n   t   e   x   t       C   o   n   t   e   x   t   I
0121360    n   i   t       P   u   p   D   u   m   m   y   G   a   t   e
0121400        I   n 376  \0   V 205   z   t   e   r   r   u   p   t    
0121420    I   n   t   e   r   r   u   p   t   I   n   i   t       P   u
0121440    p   N   a   m   e   L   o   o   k   u   p       P   u   p   R
0121460    o   u   t   e       P   u   p   R   T   P       P   u   p   R
0121500    T   P   O   p   e   n   C   l   o   s   e       T   a   p   e
0121520    M   i   c   r   o   c   o   d   e   X   M          \r 377  \0
0121540   \0   D   u   m   p   T   a   p   e   S   e   r   v   e   r   S
0121560    o   u   r   c   e   s   .   c   m  \0 376  \0 266 263 334   f
0121600    t   p       i   v   y       c   o   n   n   /   c       T   a
0121620    p   e   S   e   r   v   e   r       d   i   r   /   c       >
0121640    S   o   f   t   w   a   r   e   S   o   u   r   c   e   s   >
0121660        d   u   m   p   /   c       T   a   p   e   S   e   r   v
0121700    e   r   S   o   u   r   c   e   s   .   d   m       T   S   P
0121720    .   d   e   c   l       T   a   p   e   S   e   r   v   e   r
0121740    .   b   c   p   l       T   S   P   D   O   s   .   b   c   p
0121760    l       T   a   p   e   S   e   r   v   e   r   .   b   r    
0122000    T   S   P   D   O   s   .   b   r       L   i   n   k   T   a
0122020    p   e   S   e   r   v   e   r   .   c   m       D   u   m   p
0122040    T   a   p   e   S   e   r   v   e   r   S   o   u   r   c   e
0122060    s   .   c   m  \r 374                                        
0122066